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