public static function clear() { $db =& Db::pdo(); if (!$db) { return; } $session_id = Session::getId(); if (!$session_id) { return; } global $infra_session_data; $safe = $infra_session_data['safe']; //Удалить всё и сделать запись '', null и safe $sql = 'delete from `ses_records` where `session_id`=?'; $stmt = $db->prepare($sql); $r = $stmt->execute(array($session_id)); $infra_session_data = array(); if ($safe) { Session::set('safe', $safe); } }
namespace infrajs\infra; use infrajs\access\Access; use infrajs\event\Event; use infrajs\ans\Ans; use infrajs\path\Path; use infrajs\session\Session; if (!is_file('vendor/autoload.php')) { chdir(explode('vendor/', __DIR__)[0]); require_once 'vendor/autoload.php'; } Access::admin(true); $ans = array(); if (isset($_GET['get'])) { $name = Ans::REQ('name'); $ans['id'] = Session::getId(); $ans['data'] = Session::get($name); } else { if (isset($_GET['clear'])) { Session::clear(); } else { if (isset($_GET['set'])) { $ans = array(); $name = Path::toutf($_REQUEST['name']); $val = Path::toutf($_REQUEST['val']); Session::set($name, $val); } } } return Ans::ret($ans);
if (!$conf['db']) { $ans['class'] = 'bg-warning'; return Ans::ret($ans, 'db.conf.db=false Нет разрешения на использование базы данных'); } $db =& Db::pdo(); if (!$db) { return Ans::err($ans, 'Не удалось соединиться с базой данных'); } $val = Session::get('test'); $conf = Config::get(); if (!$conf['session']['sync']) { $ans['class'] = 'bg-warning'; return Ans::ret($ans, 'Сессия не синхронизируется с сервером session.sync:false'); } if (!class_exists('PDO')) { return Ans::err($ans, 'class PDO is required'); } $db =& Db::pdo(); if (!$db) { return Ans::err($ans, 'ERROR нет базы данных'); } $val = Session::get('test'); $val = (int) $val + 1; Session::set('test', $val); $d = Session::get(); $ans['test'] = $d['test']; if ($d['test'] > 1) { return Ans::ret($ans, 'PASS'); } else { return Ans::err($ans, 'ERROR нажмите 1 раз F5'); }