X-Git-Url: http://www.wagner.pp.ru/gitweb/?a=blobdiff_plain;f=doc%2Ftemplates.txt;fp=doc%2Ftemplates.txt;h=52e662be8a5972b8c86945a812b22ec9ef9b0531;hb=fba9edc7881c5311224fcc9899336afcef7ece94;hp=c7d5baf3d6555114c0c3d11e99e2b5c5b776f28f;hpb=e2d67c4d89df7b485bbfc8cf74fdb4f550892e76;p=oss%2Fstilllife.git diff --git a/doc/templates.txt b/doc/templates.txt index c7d5baf..52e662b 100644 --- a/doc/templates.txt +++ b/doc/templates.txt @@ -5,6 +5,15 @@ форм с определенными именами. Скрипты форума вставляют в эти файлы информацию руководствуясь классами элементов и именами полей форм. +Во всех шаблонах производится правка относительных URL в элементах +img src, a href, link href, form action. +В URL начинающихся со слова templates заменяются на значение templateurl +из конфигурации форума, URL, начинающиеся со слова users - на userurl, +со слова forum - на путь к скрипту форума. Остальные относительные (т.е. +не начинающиеся c http: или / url дополняются путем к корневому каталогу +форума. Cсылки вида forum?параметры будут заменены на +url-скрипта/url-страницы?параметры + Шаблоны страниц: 1. Страница темы @@ -84,24 +93,26 @@ mreply - ссылка на скрипт ответа. Атрибут href буд Клиент-сайд скрипт должен уметь скрывать кнопку move, если пользователь не является модератором, а также кнопки edit и delete, если пользователь не является автором сообщения, т.е. значение куки - forum_author не совпадает с содержимым скрытого поля author + sluser не совпадает с содержимым скрытого поля author + + Для того чтобы узнать является ли текущий пользователь модератором + данного форума, нужно запросить с сервера (через XmlHttpRequest) + файл .moderators лежащий рядом с текущим файлом и далее вверх по + иерархии. Эти файлы представляют собой простые текстовые файлы с именем + пользователя в каждой строке. + В корне форума имеется аналогичный файл .admins. - Для того чтобы определить, является ли пользователь модератором данной - страницы, нужно включить в html следующий элемент - - Полученый по этой url скрипт выставляет две глобальные переменные - moderator - и administrator в значение true, если пользователь имеет соответствущие - права на данную тему и false, если не имеет. - Кроме того этот скрипт выставляет глобальную переменную author, которая - имеет значение идентификатора автора, что избавляет client-side cкрипт - от самостоятельного анализа cookies. + Можно также запросить файл .banned. - Манипулирование формами должно производиться из обработчика body onLoad - чтобы скрипт getrights успел загрузиться. + Все эти действия являются необязательными. Если на клиентской стороне + они не будут выполнены и у пользователя появится возможность нажать на + кнопку выполнения операции, на которую у него нет прав, операция будет + заблокирована на сервере. - Если кука FORUM_AUTHOR или глобальная переменная author не определены, + + + Если кука sluser не определена, то желательно также скрыть кнопку reply и ссылку с классом mreply. Кроме того на странице могут присутствовать элементы a с классами @@ -163,6 +174,10 @@ POST-запроса уже содержащего требуемые данны В случае если во введенных данных произошла ошибка, сообщение об ошибке скрипт вписывает в элемент с классом error вместо его innerHtml +Во всем шаблоне формы производится подстановка информации о текущем +пользователе, аналогично тому, как она производится в элементе с классом +message в шаблоне темы. + Как правило, все скрипты получают следующую информацию 1. Поле с именем операции и произвольным непустым значением Возможные операции @@ -259,7 +274,7 @@ Cкрипт просмотра списка пользователей (опци Встраивание служебных форм непосредственно в страницы форума Форма, содержащая вышеперечиленные поля, имеющая метод POST и имеющая в поле - action="/cgi-bin/forum/