/", $string, $m) != 0; } public static function convertDataUnit($datalimit, $unit = 'MB') { $unit = strtoupper($unit); if ($unit == 'KB') { return $datalimit * 1024; } elseif ($unit == 'MB') { return $datalimit * 1048576; } elseif ($unit == 'GB') { return $datalimit * 1073741824; } elseif ($unit == 'TB') { return $datalimit * 1099511627776; } else { return $datalimit; } } // echo Json array to text public static function jsonArray2text($array, $start = '', $result = '') { foreach ($array as $k => $v) { if (is_array($v)) { $result .= self::jsonArray2text($v, "$start$k.", ''); } else { $result .= "$start$k = " . strval($v) . "\n"; } } return $result; } public static function jsonArray21Array($array){ $text = self::jsonArray2text($array); $lines = explode("\n", $text); $result = []; foreach($lines as $line){ $parts = explode(' = ', $line); if(count($parts) == 2){ $result[trim($parts[0])] = trim($parts[1]); } } return $result; } public static function url(...$data){ global $config; $url = implode("", $data); if ($config['url_canonical'] == 'yes') { $u = str_replace('?_route=', '', U); $pos = strpos($url, '&'); if ($pos === false) { return $u . $url; } else { return $u . substr($url, 0, $pos) . '?' . substr($url, $pos + 1); } } else { return U . $url; } } }