Этот объект является основным объектом сайта. Он содержит как функции для вывода на экран, так и переменные и функции, необходимые для корректной работы других модулей сайта. Находится полностью в модуле 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(); }