From: Thomas Mueller Date: Fri, 4 Jan 2013 22:00:51 +0000 (+0100) Subject: OC_Helper::is_function_enabled() added to find out if a function is available X-Git-Tag: v5.0.0alpha1~259^2~4 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=dfc8d757b5dd7e5d7bf54a32b9f11f0798905d4a;p=nextcloud-server.git OC_Helper::is_function_enabled() added to find out if a function is available And some documentation adjusted on the way --- diff --git a/lib/helper.php b/lib/helper.php index be4e4e52677..1aba2a38100 100644 --- a/lib/helper.php +++ b/lib/helper.php @@ -31,8 +31,9 @@ class OC_Helper { /** * @brief Creates an url using a defined route * @param $route - * @param $parameters - * @param $args array with param=>value, will be appended to the returned url + * @param array $parameters + * @return + * @internal param array $args with param=>value, will be appended to the returned url * @returns the url * * Returns a url to the given app and file. @@ -128,6 +129,7 @@ class OC_Helper { /** * @brief Creates an absolute url for remote use * @param string $service id + * @param bool $add_slash * @return string the url * * Returns a absolute url to the given service. @@ -139,6 +141,7 @@ class OC_Helper { /** * @brief Creates an absolute url for public use * @param string $service id + * @param bool $add_slash * @return string the url * * Returns a absolute url to the given service. @@ -450,12 +453,14 @@ class OC_Helper { } /** - * detect if a given program is found in the search PATH - * - * @param string $program name - * @param string $optional search path, defaults to $PATH - * @return bool true if executable program found in path - */ + * detect if a given program is found in the search PATH + * + * @param $name + * @param bool $path + * @internal param string $program name + * @internal param string $optional search path, defaults to $PATH + * @return bool true if executable program found in path + */ public static function canExecute($name, $path = false) { // path defaults to PATH from environment if not set if ($path === false) { @@ -676,16 +681,16 @@ class OC_Helper { } /** - * @brief replaces a copy of string delimited by the start and (optionally) length parameters with the string given in replacement. - * - * @param string $input The input string. .Opposite to the PHP build-in function does not accept an array. - * @param string $replacement The replacement string. - * @param int $start If start is positive, the replacing will begin at the start'th offset into string. If start is negative, the replacing will begin at the start'th character from the end of string. - * @param int $length Length of the part to be replaced - * @param string $encoding The encoding parameter is the character encoding. Defaults to UTF-8 - * @return string - * - */ + * @brief replaces a copy of string delimited by the start and (optionally) length parameters with the string given in replacement. + * + * @param $string + * @param string $replacement The replacement string. + * @param int $start If start is positive, the replacing will begin at the start'th offset into string. If start is negative, the replacing will begin at the start'th character from the end of string. + * @param int $length Length of the part to be replaced + * @param string $encoding The encoding parameter is the character encoding. Defaults to UTF-8 + * @internal param string $input The input string. .Opposite to the PHP build-in function does not accept an array. + * @return string + */ public static function mb_substr_replace($string, $replacement, $start, $length = null, $encoding = 'UTF-8') { $start = intval($start); $length = intval($length); @@ -758,4 +763,24 @@ class OC_Helper { } return $str; } + + /** + * Checks if a function is available + * @param string $function_name + * @return bool + */ + public static function is_function_enabled($function_name) { + if (!function_exists($function_name)) { + return false; + } + $disabled = explode(', ', ini_get('disable_functions')); + if (in_array($function_name, $disabled)) { + return false; + } + $disabled = explode(', ', ini_get('suhosin.executor.func.blacklist')); + if (in_array($function_name, $disabled)) { + return false; + } + return true; + } }