%PDF- %PDF-
Direktori : /www/varak.net/mail2.varak.net_old/adminpanel/core/ |
Current File : //www/varak.net/mail2.varak.net_old/adminpanel/core/utils.php |
<?php /* * Copyright 2004-2014, AfterLogic Corp. * Licensed under AGPLv3 license or AfterLogic license * if commercial version of the product was purchased. * See the LICENSE file for a full license statement. */ class ap_Utils { /** * @return float */ public static function Microtime() { return microtime(true); } /** * @param array $aArray * @param string $sKey * @param mixed $mDefault * @return mixed */ public static function ArrayValue($aArray, $sKey, $mDefault) { return (isset($aArray[$sKey])) ? $aArray[$sKey] : $mDefault; } /** * @param string $sValue * @return string */ public static function AttributeQuote($sValue) { return str_replace('\'', ''', str_replace('"', '"', $sValue)); } /** * @param string $sValue * @return string */ public static function EncodeSpecialXmlChars($sValue) { return str_replace('>', '>', str_replace('<', '<', str_replace('&', '&', $sValue))); } /** * @param string $sValue * @return string */ public static function DecodeSpecialXmlChars($sValue) { return str_replace('&', '&', str_replace('<', '<', str_replace('>', '>', $sValue))); } /** * @param string $sJsDesc * @param string $sDeq = null * @return string */ public static function ReBuildStringToJavaScript($sJsDesc, $sDeq = null) { $sJsDesc = self::ClearStringValue($sJsDesc, $sDeq); return str_replace(array("\r", "\n", "\t"), array('\r', '\n', '\t'), trim($sJsDesc)); } /** * @param string $sDesc * @param string $sDeq = null * @return string */ public static function ClearStringValue($sDesc, $sDeq = null) { $sDesc = str_replace('\\', '\\\\', $sDesc); if ($sDeq !== null && strlen($sDeq) == 1) { $sDesc = str_replace($sDeq, '\\'.$sDeq, $sDesc); } return $sDesc; } /** * @param string $sPath * @param string $sPrefix = null * @return string */ public static function GetFullPath($sPath, $sPrefix = null) { if ($sPrefix !== null && !@is_dir(realpath($sPath))) { if (!self::IsFullPath($sPath)) { $sPath = $sPrefix.'/'.$sPath; } } if (@is_dir($sPath)) { $sPath = rtrim(str_replace('\\', '/', realpath($sPath)), '/'); } return $sPath; } /** * @param string $sPpath * @return bool */ public static function IsFullPath($sPpath) { if (strlen($sPpath) > 0) { return (($sPpath{0} == '/' || $sPpath{0} == '\\') || (strlen($sPpath) > 1 && self::IsWin() && $sPpath{1} == ':')); } return false; } /** * @return bool */ public static function IsWin() { return ('WIN' === strtoupper(substr(PHP_OS, 0, 3))); } /** * @param array $aArray * @param string $sType * @return array */ public static function SetTypeArrayValue($aArray, $sType) { $aResult = array(); foreach ($aArray as $mValue) { settype($mValue, $sType); $aResult[] =$mValue; } return $aResult; } /** * @param string $sPrefix * @return string */ public static function ClearPrefix($sPrefix) { $sNewPrefix = preg_replace('/[^a-z0-9_]/i', '_', $sPrefix); if ($sNewPrefix !== $sPrefix) { $sNewPrefix = preg_replace('/[_]+/', '_', $sNewPrefix); } return $sNewPrefix; } /** * @staticvar array $aMapping * @param int $iCodePage * @return string */ public static function GetCodePageName($iCodePage) { static $aMapping = array( 0 => 'default', 51936 => 'euc-cn', 936 => 'gb2312', 950 => 'big5', 946 => 'euc-kr', 50225 => 'iso-2022-kr', 50220 => 'iso-2022-jp', 932 => 'shift-jis', 65000 => 'utf-7', 65001 => 'utf-8', 1250 => 'windows-1250', 1251 => 'windows-1251', 1252 => 'windows-1252', 1253 => 'windows-1253', 1254 => 'windows-1254', 1255 => 'windows-1255', 1256 => 'windows-1256', 1257 => 'windows-1257', 1258 => 'windows-1258', 20866 => 'koi8-r', 28591 => 'iso-8859-1', 28592 => 'iso-8859-2', 28593 => 'iso-8859-3', 28594 => 'iso-8859-4', 28595 => 'iso-8859-5', 28596 => 'iso-8859-6', 28597 => 'iso-8859-7', 28598 => 'iso-8859-8' ); return (isset($aMapping[$iCodePage])) ? $aMapping[$iCodePage] : ''; } /** * @staticvar array $aMapping * @param string $sCodePageName * @return int */ public static function GetCodePageNumber($sCodePageName) { static $aMapping = array( 'default' => 0, 'euc-cn' => 51936, 'gb2312' => 936, 'big5' => 950, 'euc-kr' => 949, 'iso-2022-kr' => 50225, 'iso-2022-jp' => 50220, 'shift-jis' => 932, 'utf-7' => 65000, 'utf-8' => 65001, 'windows-1250' => 1250, 'windows-1251' => 1251, 'windows-1252' => 1252, 'windows-1253' => 1253, 'windows-1254' => 1254, 'windows-1255' => 1255, 'windows-1256' => 1256, 'windows-1257' => 1257, 'windows-1258' => 1258, 'koi8-r' => 20866, 'iso-8859-1' => 28591, 'iso-8859-2' => 28592, 'iso-8859-3' => 28593, 'iso-8859-4' => 28594, 'iso-8859-5' => 28595, 'iso-8859-6' => 28596, 'iso-8859-7' => 28597, 'iso-8859-8' => 28598 ); return (isset($aMapping[$sCodePageName])) ? $aMapping[$sCodePageName] : 0; } }