| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244 | 
							- <?php
 
- /**
 
-  * Elgg UTF-8 string functions
 
-  *
 
-  * @package Elgg
 
-  * @subpackage Core
 
-  */
 
- /**
 
-  * Parses a string using mb_parse_str() if available.
 
-  * NOTE: This differs from parse_str() by returning the results
 
-  * instead of placing them in the local scope!
 
-  *
 
-  * @param string $str The string
 
-  *
 
-  * @return array
 
-  * @since 1.7.0
 
-  */
 
- function elgg_parse_str($str) {
 
- 	if (is_callable('mb_parse_str')) {
 
- 		mb_parse_str($str, $results);
 
- 	} else {
 
- 		parse_str($str, $results);
 
- 	}
 
- 	return $results;
 
- }
 
- /**
 
-  * Wrapper function for mb_split(). Falls back to split() if
 
-  * mb_split() isn't available.  Parameters are passed to the
 
-  * wrapped function in the same order they are passed to this
 
-  * function.
 
-  *
 
-  * @return string
 
-  * @since 1.7.0
 
-  */
 
- function elgg_split() {
 
- 	$args = func_get_args();
 
- 	if (is_callable('mb_split')) {
 
- 		return call_user_func_array('mb_split', $args);
 
- 	}
 
- 	return call_user_func_array('split', $args);
 
- }
 
- /**
 
-  * Wrapper function for mb_stristr(). Falls back to stristr() if
 
-  * mb_stristr() isn't available.  Parameters are passed to the
 
-  * wrapped function in the same order they are passed to this
 
-  * function.
 
-  *
 
-  * @return string
 
-  * @since 1.7.0
 
-  */
 
- function elgg_stristr() {
 
- 	$args = func_get_args();
 
- 	if (is_callable('mb_stristr')) {
 
- 		return call_user_func_array('mb_stristr', $args);
 
- 	}
 
- 	return call_user_func_array('stristr', $args);
 
- }
 
- /**
 
-  * Wrapper function for mb_strlen(). Falls back to strlen() if
 
-  * mb_strlen() isn't available.  Parameters are passed to the
 
-  * wrapped function in the same order they are passed to this
 
-  * function.
 
-  *
 
-  * @return string
 
-  * @since 1.7.0
 
-  */
 
- function elgg_strlen() {
 
- 	$args = func_get_args();
 
- 	if (is_callable('mb_strlen')) {
 
- 		return call_user_func_array('mb_strlen', $args);
 
- 	}
 
- 	return call_user_func_array('strlen', $args);
 
- }
 
- /**
 
-  * Wrapper function for mb_strpos(). Falls back to strpos() if
 
-  * mb_strpos() isn't available.  Parameters are passed to the
 
-  * wrapped function in the same order they are passed to this
 
-  * function.
 
-  *
 
-  * @return string
 
-  * @since 1.7.0
 
-  */
 
- function elgg_strpos() {
 
- 	$args = func_get_args();
 
- 	if (is_callable('mb_strpos')) {
 
- 		return call_user_func_array('mb_strpos', $args);
 
- 	}
 
- 	return call_user_func_array('strpos', $args);
 
- }
 
- /**
 
-  * Wrapper function for mb_strrchr(). Falls back to strrchr() if
 
-  * mb_strrchr() isn't available.  Parameters are passed to the
 
-  * wrapped function in the same order they are passed to this
 
-  * function.
 
-  *
 
-  * @return string
 
-  * @since 1.7.0
 
-  */
 
- function elgg_strrchr() {
 
- 	$args = func_get_args();
 
- 	if (is_callable('mb_strrchr')) {
 
- 		return call_user_func_array('mb_strrchr', $args);
 
- 	}
 
- 	return call_user_func_array('strrchr', $args);
 
- }
 
- /**
 
-  * Wrapper function for mb_strripos(). Falls back to strripos() if
 
-  * mb_strripos() isn't available.  Parameters are passed to the
 
-  * wrapped function in the same order they are passed to this
 
-  * function.
 
-  *
 
-  * @return int
 
-  * @since 1.7.0
 
-  */
 
- function elgg_strripos() {
 
- 	$args = func_get_args();
 
- 	if (is_callable('mb_strripos')) {
 
- 		return call_user_func_array('mb_strripos', $args);
 
- 	}
 
- 	return call_user_func_array('strripos', $args);
 
- }
 
- /**
 
-  * Wrapper function for mb_strrpos(). Falls back to strrpos() if
 
-  * mb_strrpos() isn't available.  Parameters are passed to the
 
-  * wrapped function in the same order they are passed to this
 
-  * function.
 
-  *
 
-  * @return int
 
-  * @since 1.7.0
 
-  */
 
- function elgg_strrpos() {
 
- 	$args = func_get_args();
 
- 	if (is_callable('mb_strrpos')) {
 
- 		return call_user_func_array('mb_strrpos', $args);
 
- 	}
 
- 	return call_user_func_array('strrpos', $args);
 
- }
 
- /**
 
-  * Wrapper function for mb_strstr(). Falls back to strstr() if
 
-  * mb_strstr() isn't available.  Parameters are passed to the
 
-  * wrapped function in the same order they are passed to this
 
-  * function.
 
-  *
 
-  * @return bool
 
-  * @since 1.7.0
 
-  */
 
- function elgg_strstr() {
 
- 	$args = func_get_args();
 
- 	if (is_callable('mb_strstr')) {
 
- 		return call_user_func_array('mb_strstr', $args);
 
- 	}
 
- 	return call_user_func_array('strstr', $args);
 
- }
 
- /**
 
-  * Wrapper function for mb_strtolower(). Falls back to strtolower() if
 
-  * mb_strtolower() isn't available.  Parameters are passed to the
 
-  * wrapped function in the same order they are passed to this
 
-  * function.
 
-  *
 
-  * @return string
 
-  * @since 1.7.0
 
-  */
 
- function elgg_strtolower() {
 
- 	$args = func_get_args();
 
- 	if (is_callable('mb_strtolower')) {
 
- 		return call_user_func_array('mb_strtolower', $args);
 
- 	}
 
- 	return call_user_func_array('strtolower', $args);
 
- }
 
- /**
 
-  * Wrapper function for mb_strtoupper(). Falls back to strtoupper() if
 
-  * mb_strtoupper() isn't available.  Parameters are passed to the
 
-  * wrapped function in the same order they are passed to this
 
-  * function.
 
-  *
 
-  * @return string
 
-  * @since 1.7.0
 
-  */
 
- function elgg_strtoupper() {
 
- 	$args = func_get_args();
 
- 	if (is_callable('mb_strtoupper')) {
 
- 		return call_user_func_array('mb_strtoupper', $args);
 
- 	}
 
- 	return call_user_func_array('strtoupper', $args);
 
- }
 
- /**
 
-  * Wrapper function for mb_substr_count(). Falls back to substr_count() if
 
-  * mb_substr_count() isn't available.  Parameters are passed to the
 
-  * wrapped function in the same order they are passed to this
 
-  * function.
 
-  *
 
-  * @return int
 
-  * @since 1.7.0
 
-  */
 
- function elgg_substr_count() {
 
- 	$args = func_get_args();
 
- 	if (is_callable('mb_substr_count')) {
 
- 		return call_user_func_array('mb_substr_count', $args);
 
- 	}
 
- 	return call_user_func_array('substr_count', $args);
 
- }
 
- /**
 
-  * Wrapper function for mb_substr(). Falls back to substr() if
 
-  * mb_substr() isn't available.  Parameters are passed to the
 
-  * wrapped function in the same order they are passed to this
 
-  * function.
 
-  *
 
-  * @return string
 
-  * @since 1.7.0
 
-  */
 
- function elgg_substr() {
 
- 	$args = func_get_args();
 
- 	if (is_callable('mb_substr')) {
 
- 		return call_user_func_array('mb_substr', $args);
 
- 	}
 
- 	return call_user_func_array('substr', $args);
 
- }
 
- return function(\Elgg\EventsService $events, \Elgg\HooksRegistrationService $hooks) {
 
- 	// if mb functions are available, set internal encoding to UTF8
 
- 	if (is_callable('mb_internal_encoding')) {
 
- 		mb_internal_encoding("UTF-8");
 
- 		if (version_compare('5.6.0', PHP_VERSION, '<')) {
 
- 			if (ini_get("mbstring.internal_encoding")) {
 
- 				ini_set("mbstring.internal_encoding", 'UTF-8');
 
- 			}
 
- 		}
 
- 	}
 
- };
 
 
  |