153 lines
5.4 KiB
PHP
153 lines
5.4 KiB
PHP
|
|
<?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 WP versions below 3.0 */
|
||
|
|
if(!function_exists('wp_get_mu_plugins')){
|
||
|
|
function wp_get_mu_plugins() {
|
||
|
|
$mu_plugins = array();
|
||
|
|
if ( !is_dir( WPMU_PLUGIN_DIR ) )
|
||
|
|
return $mu_plugins;
|
||
|
|
if ( ! $dh = opendir( WPMU_PLUGIN_DIR ) )
|
||
|
|
return $mu_plugins;
|
||
|
|
while ( ( $plugin = readdir( $dh ) ) !== false ) {
|
||
|
|
if ( substr( $plugin, -4 ) == '.php' )
|
||
|
|
$mu_plugins[] = WPMU_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 = htmlspecialchars( $text, ENT_QUOTES );
|
||
|
|
return apply_filters( 'esc_textarea', $safe_text, $text );
|
||
|
|
}
|
||
|
|
|
||
|
|
endif;
|
||
|
|
?>
|