e($__Data, $_Params, $_Key); } } else $_Data[$__Key] = xHtmlSpecialCharsDecode($__Data, $_Params, $_Key); } return $_Data; } function xHtmlSpecialChars($_Data, $_Params = array(), $_Key = array()) { if (!is_array($_Data)) { return htmlspecialchars($_Data, ENT_QUOTES, 'cp1251'); } if (!is_array($_Key)) $_Key = array($_Key); foreach ($_Data as $__Key => $__Data) { if (count($_Key) && !is_array($__Data)) { if (in_array($__Key, $_Key)) { $_Data[$__Key] = xHtmlSpecialChars($__Data, $_Params, $_Key); } } else $_Data[$__Key] = xHtmlSpecialChars($__Data, $_Params, $_Key); } return $_Data; } function xEscSQL($_Data, $_Params = array(), $_Key = array()) { if (!is_array($_Data)) { return mysql_real_escape_string($_Data); } if (!is_array($_Key)) $_Key = array($_Key); foreach ($_Data as $__Key => $__Data) { if (count($_Key) && !is_array($__Data)) { if (in_array($__Key, $_Key)) { $_Data[$__Key] = xEscSQL($__Data, $_Params, $_Key); } } else $_Data[$__Key] = xEscSQL($__Data, $_Params, $_Key); } return $_Data; } function xEscapeSQLstring($_Data, $_Params = array(), $_Key = array()) { return xEscSQL($_Data, $_Params, $_Key); } function xSaveData($_ID, $_Data, $_TimeControl = 0) { if (!session_is_registered('_xSAVE_DATA')) { session_register('_xSAVE_DATA'); $_SESSION['_xSAVE_DATA'] = array(); } if (intval($_TimeControl)) { $_SESSION['_xSAVE_DATA'][$_ID] = array($_ID . '_DATA' => $_Data, $_ID . '_TIME_CTRL' => array('timetag' => time(), 'timelimit' => $_TimeControl,),); } else { $_SESSION['_xSAVE_DATA'][$_ID] = $_Data; } } function xPopData($_ID) { if (!isset($_SESSION['_xSAVE_DATA'][$_ID])) { return null; } if (is_array($_SESSION['_xSAVE_DATA'][$_ID])) { if (isset($_SESSION['_xSAVE_DATA'][$_ID][$_ID . '_TIME_CTRL'])) { if (($_SESSION['_xSAVE_DATA'][$_ID][$_ID . '_TIME_CTRL']['timetag'] + $_SESSION['_xSAVE_DATA'][$_ID][$_ID . '_TIME_CTRL']['timelimit']) < time()) { return null; } else { $Return = $_SESSION['_xSAVE_DATA'][$_ID][$_ID . '_DATA']; unset($_SESSION['_xSAVE_DATA'][$_ID]); return $Return; } } } $Return = $_SESSION['_xSAVE_DATA'][$_ID]; unset($_SESSION['_xSAVE_DATA'][$_ID]); return $Return; } function xDataExists($_ID) { if (!isset($_SESSION['_xSAVE_DATA'][$_ID])) return 0; if (is_array($_SESSION['_xSAVE_DATA'][$_ID])) { if (isset($_SESSION['_xSAVE_DATA'][$_ID][$_ID . '_TIME_CTRL'])) { if (($_SESSION['_xSAVE_DATA'][$_ID][$_ID . '_TIME_CTRL']['timetag'] + $_SESSION['_xSAVE_DATA'][$_ID][$_ID . '_TIME_CTRL']['timelimit']) >= time()) { return 1; } else { return 0; } } else { return 1; } } else { return 1; } } function xGetData($_ID) { if (!isset($_SESSION['_xSAVE_DATA'][$_ID])) { return null; } if (is_array($_SESSION['_xSAVE_DATA'][$_ID])) { if (isset($_SESSION['_xSAVE_DATA'][$_ID][$_ID . '_TIME_CTRL'])) { if (($_SESSION['_xSAVE_DATA'][$_ID][$_ID . '_TIME_CTRL']['timetag'] + $_SESSION['_xSAVE_DATA'][$_ID][$_ID . '_TIME_CTRL']['timelimit']) < time()) { return null; } else { $Return = $_SESSION['_xSAVE_DATA'][$_ID][$_ID . '_DATA']; return $Return; } } } $Return = $_SESSION['_xSAVE_DATA'][$_ID]; return $Return; } function generateRndCode($_RndLength, $_RndCodes = 'qwertyuiopasdfghjklzxcvbnm0123456789') { $l_name = ''; $top = strlen($_RndCodes) - 1; srand((double)microtime() * 1000000); for ($j = 0; $j < $_RndLength; $j++) $l_name .= $_RndCodes{rand(0, $top)}; return $l_name; } function endsWith($haystack, $needle) { return $needle === "" || substr($haystack, -strlen($needle)) === $needle; } function startsWith($haystack, $needle) { return $needle === "" || strpos($haystack, $needle) === 0; } ?>