Исполнение cgi-скрипта должно начинаться с вызова функции startup модуля Olymp: my (%query) = Olymp::startup;
При этом происходит следующее:
аутентификация пользователя через cookies (с использованием модуля Auth.pm )
иницаилизация эксземпляра класса Global, содержащего информацию о привелегиях пользователя
Разбор параметров Get-запросе, которые возвращаются в виде хеша этим методом
Устаревшая проверка прав доступа к этой странице. Чтобы пропустить проверку, необходимо передать 'no auth' в качестве параметра.
Замечание 1: проверку доступа к странице (функция Permission::may_user_open_this_page) можно перенести в этот метод, вместо вызова в каждом cgi-скрипте
Отрисовка хедера страницы. Если хедер не нужен, свледует передать 'no header' (см. код) в качестве параметра.
Проверка прав на просмотр страницы: Error::printPermissionDeniedHtml() and exit unless Permission::may_user_open_this_page( PAGE );
Проверка выбранности тура : Error::printTourNotSelected() and exit unless Permission::has_user_selected_tour();
(см. Замечание 1)
Перед выполнением операций в системе необходимо проверить права доступа пользователя для соответствующих операций.
Функции для проверки находятся в модуле Permission.pm.
Сообщения об ошибках в модуле Error.pm.