Пример #1
0
 /**
  * Получение системного сообщения
  * @return string - текст сообщения
  */
 public static function get()
 {
     $_s = session_id();
     if (!joosCore::is_admin() && empty($_s)) {
         session_name(joosSession::session_cookie_name());
         session_start();
     }
     $message = joosRequest::session('joostina.mosmsg', false);
     if ($message != '' && joosString::strlen($message) > 300) {
         // выводим сообщения не длинее 300 символов
         $message = joosString::substr($message, 0, 300);
     }
     /**
             @var $_SESSION array */
     unset($_SESSION['joostina.mosmsg']);
     return $message ? '<div class="b-system_message">' . $message . '</div>' : '';
 }
Пример #2
0
 /**
  * Создание сессии для юзера, для которого уже был ранее найден токен
  *
  */
 public function create_session()
 {
     if (!$this->_search_token_result) {
         return false;
     }
     $session = new modelUsersSession();
     $session->time = time();
     $session->guest = 0;
     $session->user_name = $this->_search_token_result->user_name;
     $session->user_id = $this->_search_token_result->user_id;
     $session->is_admin = 0;
     // сгенерием уникальный ID, захеширем его через sessionCookieValue и запишем в базу
     $session->generate_id();
     // записываем в базу данные о авторизованном пользователе и его сессии
     if (!$session->store()) {
         return false;
     }
     // формируем и устанавливаем пользователю куку что он авторизован
     $sessionCookieName = joosSession::session_cookie_name();
     // в значении куки - НЕ хешированное session_id из базы
     //setcookie($sessionCookieName, $session->get_cookie(), false, '/', JPATH_COOKIE);
     joosCookie::set($sessionCookieName, $session->get_cookie(), array('expires' => '+1 day'));
     //обновляем время последнего доступа к токену
     $query = "UPDATE #__users_tokens SET updated_at = '" . JCURRENT_SERVER_TIME . "' WHERE token=" . joosDatabase::instance()->get_quoted($this->_search_token_result->token);
     joosDatabase::instance()->set_query($query)->query();
     //запоминаем ID
     $this->_last_user_id = $this->_search_token_result->user_id;
     //иногда удаляем старые токены
     $this->delete_old_tokens();
     return true;
 }