public function init() { if ($this->getIsInitialized()) { return false; } global $oDb, $oSm, $oSecurity; $this->errors =& Errors::i(); $this->security =& $oSecurity; $this->db =& $oDb; $this->sm =& $oSm; $this->input =& CInputCleaner::i(); $this->setIsInitialized(); }
public static function i() { if (isset(self::$oInstance) and self::$oInstance instanceof self) { } else { self::$oInstance = new self(); } return self::$oInstance; }
function getUID($json = true, $checkInput = false) { $key = 'bff_table'; $uid_sess = $this->getSESSION($key); //берем из входящих данных если необходимо и не пусто if ($checkInput !== false) { $uid_input = CInputCleaner::i()->{$checkInput}('uid', TYPE_STR); if (!empty($uid_input)) { $uid = $uid_input; //если в сессии не пусто и переданное не соответствует тому что в сессии, берем из сессии if (!empty($uid_sess) && $uid_sess != $uid) { $uid = $uid_sess; } return $json ? func::php2js(array('r' => $uid, 'ce' => false)) : $uid; } } $uid = 0; $uid_cookie = func::getCOOKIE($key); if (empty($uid_cookie)) { if (!empty($uid_sess)) { $uid = $uid_sess; // берем из сессии, если там есть $uid_cookie = 1; // помечаем что куки не пустые } else { // генерируем новый UID $uid = md5(uniqid(mt_rand(), true)) . '_' . substr(md5(!empty($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : mt_rand(1, 10000)), 0, 8); $this->setSESSION($key, $uid); } func::setCOOKIE($key, $uid, time() + 3600 * 24 * 730); // 2 года } else { // берем из куков $uid = $uid_cookie; // если в сессии пусто или в куках не то, что в сессии => перезаписываем в сессии, то что взяли из куков if (empty($uid_sess) || $uid != $uid_sess) { $this->setSESSION($key, $uid); } } return $json ? func::php2js(array('r' => $uid, 'ce' => empty($uid_cookie))) : $uid; }
<?php require '..' . DIRECTORY_SEPARATOR . 'func.php'; require '..' . DIRECTORY_SEPARATOR . 'input.php'; require 'file.logs.php'; $aParams = CInputCleaner::i()->postm(array('e' => TYPE_STR, 'f' => TYPE_STR, 'l' => TYPE_STR)); $logger = new CFileLogger('..' . DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR . 'files' . DIRECTORY_SEPARATOR . 'logs', 'js.log'); $logger->log(join('; ', array_values($aParams))); echo 1; exit;