/data/plugins/translations/inc/hacks/missing-php-functions.php
PHP | 305 lines | 205 code | 41 blank | 59 comment | 73 complexity | d7de63dfd3d091b5891e4aa950307de0 MD5 | raw file
Possible License(s): Apache-2.0, GPL-3.0, MIT
- <?php
- // json_decode
- if ( !function_exists('json_decode') ){
- include_once ICL_PLUGIN_PATH . '/lib/JSON.php';
- function json_decode($data, $bool) {
- if ($bool) {
- $json = new Services_JSON(SERVICES_JSON_LOOSE_TYPE);
- } else {
- $json = new Services_JSON();
- }
- return( $json->decode($data) );
- }
- }
- if(!function_exists('_cleanup_header_comment')){
- function _cleanup_header_comment($str) {
- return trim(preg_replace("/\s*(?:\*\/|\?>).*/", '', $str));
- }
- }
- /* remove this when we stop supporting LJMC versions below 3.0 */
- if(!function_exists('ljmc_get_mu_plugins')){
- function ljmc_get_mu_plugins() {
- $mu_plugins = array();
- if ( !is_dir( LJMCMU_PLUGIN_DIR ) )
- return $mu_plugins;
- if ( ! $dh = opendir( LJMCMU_PLUGIN_DIR ) )
- return $mu_plugins;
- while ( ( $plugin = readdir( $dh ) ) !== false ) {
- if ( substr( $plugin, -4 ) == '.php' )
- $mu_plugins[] = LJMCMU_PLUGIN_DIR . '/' . $plugin;
- }
- closedir( $dh );
- sort( $mu_plugins );
- return $mu_plugins;
- }
- }
- if(!function_exists('money_format')):
- /*
- That it is an implementation of the function money_format for the
- platforms that do not it bear.
- The function accepts to same string of format accepts for the
- original function of the PHP.
- (Sorry. my writing in English is very bad)
- The function is tested using PHP 5.1.4 in Windows XP
- and Apache WebServer.
- */
- function money_format($format, $number)
- {
- $regex = '/%((?:[\^!\-]|\+|\(|\=.)*)([0-9]+)?'.
- '(?:#([0-9]+))?(?:\.([0-9]+))?([in%])/';
- if (setlocale(LC_MONETARY, 0) == 'C') {
- setlocale(LC_MONETARY, '');
- }
- $locale = localeconv();
- preg_match_all($regex, $format, $matches, PREG_SET_ORDER);
- foreach ($matches as $fmatch) {
- $value = floatval($number);
- $flags = array(
- 'fillchar' => preg_match('/\=(.)/', $fmatch[1], $match) ?
- $match[1] : ' ',
- 'nogroup' => preg_match('/\^/', $fmatch[1]) > 0,
- 'usesignal' => preg_match('/\+|\(/', $fmatch[1], $match) ?
- $match[0] : '+',
- 'nosimbol' => preg_match('/\!/', $fmatch[1]) > 0,
- 'isleft' => preg_match('/\-/', $fmatch[1]) > 0
- );
- $width = trim($fmatch[2]) ? (int)$fmatch[2] : 0;
- $left = trim($fmatch[3]) ? (int)$fmatch[3] : 0;
- $right = trim($fmatch[4]) ? (int)$fmatch[4] : $locale['int_frac_digits'];
- $conversion = $fmatch[5];
- $positive = true;
- if ($value < 0) {
- $positive = false;
- $value *= -1;
- }
- $letter = $positive ? 'p' : 'n';
- $prefix = $suffix = $cprefix = $csuffix = $signal = '';
- $signal = $positive ? $locale['positive_sign'] : $locale['negative_sign'];
- switch (true) {
- case $locale["{$letter}_sign_posn"] == 1 && $flags['usesignal'] == '+':
- $prefix = $signal;
- break;
- case $locale["{$letter}_sign_posn"] == 2 && $flags['usesignal'] == '+':
- $suffix = $signal;
- break;
- case $locale["{$letter}_sign_posn"] == 3 && $flags['usesignal'] == '+':
- $cprefix = $signal;
- break;
- case $locale["{$letter}_sign_posn"] == 4 && $flags['usesignal'] == '+':
- $csuffix = $signal;
- break;
- case $flags['usesignal'] == '(':
- case $locale["{$letter}_sign_posn"] == 0:
- $prefix = '(';
- $suffix = ')';
- break;
- }
- if (!$flags['nosimbol']) {
- $currency = $cprefix .
- ($conversion == 'i' ? $locale['int_curr_symbol'] : $locale['currency_symbol']) .
- $csuffix;
- } else {
- $currency = '';
- }
- $space = $locale["{$letter}_sep_by_space"] ? ' ' : '';
- $value = number_format($value, $right, $locale['mon_decimal_point'],
- $flags['nogroup'] ? '' : $locale['mon_thousands_sep']);
- $value = @explode($locale['mon_decimal_point'], $value);
- $n = strlen($prefix) + strlen($currency) + strlen($value[0]);
- if ($left > 0 && $left > $n) {
- $value[0] = str_repeat($flags['fillchar'], $left - $n) . $value[0];
- }
- $value = implode($locale['mon_decimal_point'], $value);
- if ($locale["{$letter}_cs_precedes"]) {
- $value = $prefix . $currency . $space . $value . $suffix;
- } else {
- $value = $prefix . $value . $space . $currency . $suffix;
- }
- if ($width > 0) {
- $value = str_pad($value, $width, $flags['fillchar'], $flags['isleft'] ?
- STR_PAD_RIGHT : STR_PAD_LEFT);
- }
- $format = str_replace($fmatch[0], $value, $format);
- }
- return $format;
- }
- endif;
- if(!defined('E_DEPRECATED')){ define('E_DEPRECATED', 8192); }
- if(!function_exists('esc_textarea')):
-
- function esc_textarea( $text ) {
- $safe_text = esc_html( $text );
- return apply_filters( 'esc_textarea', $safe_text, $text );
- }
-
- endif;
- if ( ! function_exists( 'ljmcml_is_ajax' ) ) {
- /**
- * ljmcml_is_ajax - Returns true when the page is loaded via ajax.
- *
- * @since 3.1.5
- *
- * @return bool
- */
- function ljmcml_is_ajax() {
- if ( defined( 'DOING_AJAX' ) ) {
- return true;
- }
- return ( isset( $_SERVER[ 'HTTP_X_REQUESTED_WITH' ] ) && mb_strtolower( $_SERVER[ 'HTTP_X_REQUESTED_WITH' ] ) == 'xmlhttprequest' ) ? true : false;
- }
- }
- if ( ! function_exists( 'is_ajax' ) ) {
- /**
- * is_ajax - Returns true when the page is loaded via ajax.
- *
- * @deprecated Deprecated since 3.1.5
- *
- * @return bool
- */
- function is_ajax() {
- // Deprecation notice will be added in a next release
- // _deprecated_function( "Languages " . __FUNCTION__, "3.1.5", "ljmcml_is_ajax" );
- if ( defined( 'DOING_AJAX' ) ) {
- return true;
- }
- return ( isset( $_SERVER[ 'HTTP_X_REQUESTED_WITH' ] ) && mb_strtolower( $_SERVER[ 'HTTP_X_REQUESTED_WITH' ] ) == 'xmlhttprequest' ) ? true : false;
- }
- }
- /**
- * This file is part of the array_column library
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- *
- * @copyright Copyright (c) 2013 Ben Ramsey <http://benramsey.com>
- * @license http://opensource.org/licenses/MIT MIT
- */
- if (!function_exists('array_column')) {
- /**
- * Returns the values from a single column of the input array, identified by
- * the $columnKey.
- *
- * Optionally, you may provide an $indexKey to index the values in the returned
- * array by the values from the $indexKey column in the input array.
- *
- * @param array $input A multi-dimensional array (record set) from which to pull
- * a column of values.
- * @param mixed $columnKey The column of values to return. This value may be the
- * integer key of the column you wish to retrieve, or it
- * may be the string key name for an associative array.
- * @param mixed $indexKey (Optional.) The column to use as the index/keys for
- * the returned array. This value may be the integer key
- * of the column, or it may be the string key name.
- * @return array
- */
- function array_column($input = null, $columnKey = null, $indexKey = null)
- {
- // Using func_get_args() in order to check for proper number of
- // parameters and trigger errors exactly as the built-in array_column()
- // does in PHP 5.5.
- $argc = func_num_args();
- $params = func_get_args();
- if ($argc < 2) {
- trigger_error("array_column() expects at least 2 parameters, {$argc} given", E_USER_WARNING);
- return null;
- }
- if (!is_array($params[0])) {
- trigger_error('array_column() expects parameter 1 to be array, ' . gettype($params[0]) . ' given', E_USER_WARNING);
- return null;
- }
- if (!is_int($params[1])
- && !is_float($params[1])
- && !is_string($params[1])
- && $params[1] !== null
- && !(is_object($params[1]) && method_exists($params[1], '__toString'))
- ) {
- trigger_error('array_column(): The column key should be either a string or an integer', E_USER_WARNING);
- return false;
- }
- if (isset($params[2])
- && !is_int($params[2])
- && !is_float($params[2])
- && !is_string($params[2])
- && !(is_object($params[2]) && method_exists($params[2], '__toString'))
- ) {
- trigger_error('array_column(): The index key should be either a string or an integer', E_USER_WARNING);
- return false;
- }
- $paramsInput = $params[0];
- $paramsColumnKey = ($params[1] !== null) ? (string) $params[1] : null;
- $paramsIndexKey = null;
- if (isset($params[2])) {
- if (is_float($params[2]) || is_int($params[2])) {
- $paramsIndexKey = (int) $params[2];
- } else {
- $paramsIndexKey = (string) $params[2];
- }
- }
- $resultArray = array();
- foreach ($paramsInput as $row) {
- $key = $value = null;
- $keySet = $valueSet = false;
- if ($paramsIndexKey !== null && array_key_exists($paramsIndexKey, $row)) {
- $keySet = true;
- $key = (string) $row[$paramsIndexKey];
- }
- if ($paramsColumnKey === null) {
- $valueSet = true;
- $value = $row;
- } elseif (is_array($row) && array_key_exists($paramsColumnKey, $row)) {
- $valueSet = true;
- $value = $row[$paramsColumnKey];
- }
- if ($valueSet) {
- if ($keySet) {
- $resultArray[$key] = $value;
- } else {
- $resultArray[] = $value;
- }
- }
- }
- return $resultArray;
- }
- }