/**
  *	Позволяет суперадмину производить
  *	операции от лица клиента с заданным идентификатором.
  *	Данные получаются из $_POST массива, если они есть.
  *	Чтобы вызвать эту функцию, необходимо отправить форму pretend-to-be
  *	на любую страницу портала.
  *	
  *	@author Anthony Boutinov
  */
 private function pretendToBe()
 {
     if (isset($_POST['form-name']) && $_POST['form-name'] == 'pretend-to-be' && isset($_POST['pretend-to-be'])) {
         $_SESSION['pretend-to-be'] = $_POST['pretend-to-be'];
     }
     if (isset($_SESSION['pretend-to-be']) && $this->is_superadmin()) {
         if (CommonFunctions::startsWith('/superadmin-', "{$_SERVER['REQUEST_URI']}")) {
             unset($_SESSION['pretend-to-be']);
         } else {
             $this->id_db_user = $_SESSION['pretend-to-be'];
         }
     }
 }
Esempio n. 2
0
    }
    ///	Получить массив сообщений
    /**
     *	@author Anthony Boutinov
     *	@retval array		Массив в виде `array[kind => message (string)]`
     */
    public static function getMessages()
    {
        return Notification::$message;
    }
    ///	Вывести уведомление на следующей странице, которая будет загружена
    /**
     *	@author Anthony Boutinov
     *	
     *	@param string $msg		Сообщение
     *	@param string $kind		(Опционально) Тип сообщения. По умолчанию, `'warning'`
     */
    public static function addNextPage($msg, $kind = 'warning')
    {
        $_SESSION['Notification-' . $kind] = (isset($_SESSION['Notification-' . $kind]) ? $_SESSION['Notification-warning'] . '<br>' : '') . $msg;
    }
}
// Добавляет $_SESSION Notification данные
if (isset($_SESSION)) {
    foreach ($_SESSION as $key => $value) {
        if (CommonFunctions::startsWith(Notification::SESSION_VAR_PREFIX, $key)) {
            Notification::add($value, substr($key, strlen(Notification::SESSION_VAR_PREFIX)));
            unset($_SESSION[$key]);
        }
    }
}