if ($right) { $n['value'] = Sequence::set($n['value'], $right, $item['value']); //Новость осталась но она включает устанавливаемые данные } return $r; }); if ($r) { $del = new Fix('del'); return $del; } $r = null; return $r; }); } } if ($list) { if (!$session_id) { $pass = md5(print_r($list, true) . time() . rand()); $pass = substr($pass, 0, 8); $sql = 'insert into `ses_sessions`(`password`) VALUES(?)'; $stmt = $db->prepare($sql); $stmt->execute(array($pass)); $session_id = $db->lastInsertId(); View::setCookie('infra_session_id', $session_id); View::setCookie('infra_session_pass', md5($pass)); } Session::writeNews($list, $session_id); //$ans['news']=array_merge($news,$list); } return Ans::ret($ans); /**/
/** * Записывает в сессию session_id или email имя и значение. * * @param string|int $email Может быть $session_id * @param string|string[] $short Может быть $right путь до значения в объекте * @param mixed $value Значение для записи. Любое значение записывается даже null, которое по факту приводит к удалению значения * * @return void|string Строка-ошибка */ public static function user_set($email, $short = array(), $value = null) { $user = Session::getUser($email); if (!$user) { return 'Email Not Found'; } $obj =& Session::user_init($email); $right = Sequence::right($short); Sequence::set($obj, $right, $value); $list = array(); $list['name'] = $right; $list['value'] = $value; $list['time'] = time(); Session::writeNews($list, $user['session_id']); }