Этот объект является основным объектом сайта. Он содержит как функции для вывода на экран, так и переменные и функции, необходимые для корректной работы других модулей сайта. Находится полностью в модуле index.php
Синтаксис | Описание |
---|---|
mixed input | Объект, содержащий все переменные, введенные пользователем (как с помощью метода GET, так и POST). Смотрите подробнее: класс input |
array user | Текущий пользователь сайта. |
string skin | Текущий скин (шкура) сайта. (В SiteSource 1.3 используется класс skinmanager) |
string logo, dir |
Значения не имеют. Для будущего использования. |
string body | Содержит весь текст, который будет выводится пользователю в главной области. |
string pagename | Название текущей станицы |
string pagecat | Название текущей категории страницы |
string backlink, fwdlink, homelink | HREF ссылок на соответствующие страницы. backlink и fwdlink в данный момент не используются |
string site_links, site_news, site_poll, site_stat | Содержит текст, который будет выведен пользователю в соответствующих полях: links – ссылки, news – новостная лента, poll – голосование, stat - статистика |
int templatesused | Всего использовано шаблонов |
Синтаксис | Описание |
---|---|
sta_site() | Конструктор |
void build_last_news() | Заполняет переменную site_news новостной лентой |
void build_poll() | Помещает в site_poll информацию о текущем голосовании |
void build_statistics() | Собирает статистику и помещает в site_stat |
void build_categories() | Создает дерево категорий и выводит его в переменную site_links |
array get_categories() | Получает из БД список всех разделов сайта. Возвращает таблицу разделов. |
string build_cat_tree_branch (array b, int l) | Создает HTML-код для категории b, находящейся на глубине l рекурсивно, таким образом охватывая все дочерние категории |
array build_categories_tree() | Строит дерево разделов на основе таблицы get_categories. Возвращает массив-дерево |
void check_login() | Проверяет логин пользователя (использует cookies). Если логин неверный, входит как гость. Использует функцию login_as в качестве заполняющей массив user |
Все эти функции используются внутри самого класса sta_site. Крайне не рекомендуется вызывать их из других модулей.
string parse_template (string f, array v) | Загружает шаблон f и заполняет его переменными v. Возвращает итоговый HTML-текст. |
void error(string e) | Сообщает об ошибке e |
void output() | Окончательный вывод. После вызова этой функции какие-либо дальнейшие действия невозможны. |
void home(string c) | Переносит на домашнюю страницу, сообщая пользователю причину (в параметре c) |
void redir(string c, string p) | Аналогично home, переносит пользователя на страницу |
Массив user содержит три поля: uid – номер пользователя в БД name – имя пользователя (не логин!) group – группа: 0 – гость, 1 – простой пользователь, 2 – администратор
Дерево, возвращаемое функцией build_categories_tree, является ассоциативным массивом, где ключами являются соответствующие номера в БД, а значениями – тоже ассоциативные массивы, где один из ключей – data – список значений данного раздела, а также есть ключи, опять же являющиеся номерами в БД дочерних категорий.
Итак, рассмотрим следующий код:
function test_site() { global $DB, $SITE; $DB->query('SELECT * FROM sta_users WHERE gid=2'); //Если произошла ошибка if($DB->successful==0) { $SITE->error('Ошибка БД'); } //Считываем все полученные строки while($DB->allow_get_rows==true) { //Добавляем в тело документа еще один шаблон //Все переменные в нем будут замещены соответствующими //значениями, полученными из БД $SITE->body .= $SITE->parse_template('user_link.htm',$DB->row); //Следующая строка $DB->next_row(); } //Вывод $SITE->pagename = 'Список администраторов сайта'; $SITE->output(); }