/** * Позволяет суперадмину производить * операции от лица клиента с заданным идентификатором. * Данные получаются из $_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']; } } }
} /// Получить массив сообщений /** * @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]); } } }