X-Git-Url: http://wagner.pp.ru/gitweb/?a=blobdiff_plain;f=doc%2Ftemplates.txt;h=bc3b56f8bc85ecfdfc0c1821154d95e849dcd82d;hb=72f28e20daf17094faf0ff40a35c0a458a94902e;hp=c7d5baf3d6555114c0c3d11e99e2b5c5b776f28f;hpb=9da2924d0b8a5544b68c662eb71ad4f71f1418f9;p=oss%2Fstilllife.git diff --git a/doc/templates.txt b/doc/templates.txt index c7d5baf..bc3b56f 100644 --- a/doc/templates.txt +++ b/doc/templates.txt @@ -5,6 +5,16 @@ форм с определенными именами. Скрипты форума вставляют в эти файлы информацию руководствуясь классами элементов и именами полей форм. +Во всех шаблонах производится правка относительных 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 +94,42 @@ mreply - ссылка на скрипт ответа. Атрибут href буд Клиент-сайд скрипт должен уметь скрывать кнопку move, если пользователь не является модератором, а также кнопки edit и delete, если пользователь не является автором сообщения, т.е. значение куки - forum_author не совпадает с содержимым скрытого поля author + sluser не совпадает с содержимым скрытого поля author + + Определять какие кнопки и ссылки являются ссылками на форумный скрипт + и должны скрываться и показываться в зависимости от прав доступа, + следует по атрибуту href ссылки и атрибуту action формы в сочетании с + атрибутом name у соответствующей кнопки. (кнопкой считаются input + type=submit и input type=image). + + В разделе head у шаблона должен присутствовать тэг link вида + + По общим правилам подстановки серверный скрипт при обработке шаблона + заменит href этого элемента на собственную url. + Соответственно формы с action равной этой URL следует рассматривать + как подлежащие обработке и искать в них кнопки с именами, + соответствующими именам операций. И ссылки с href=эта url?параметры + В ссылке следует искать параметр вида имя-операции. - Для того чтобы определить, является ли пользователь модератором данной - страницы, нужно включить в html следующий элемент - - Полученый по этой url скрипт выставляет две глобальные переменные - moderator - и administrator в значение true, если пользователь имеет соответствущие - права на данную тему и false, если не имеет. - Кроме того этот скрипт выставляет глобальную переменную author, которая - имеет значение идентификатора автора, что избавляет client-side cкрипт - от самостоятельного анализа cookies. + Для того чтобы узнать является ли текущий пользователь модератором + данного форума, нужно запросить с сервера (через XmlHttpRequest) + файл .moderators лежащий рядом с текущим файлом и далее вверх по + иерархии. Эти файлы представляют собой простые текстовые файлы с именем + пользователя в каждой строке. - Манипулирование формами должно производиться из обработчика body onLoad - чтобы скрипт getrights успел загрузиться. + В корне форума имеется аналогичный файл .admins. - Если кука FORUM_AUTHOR или глобальная переменная author не определены, + Можно также запросить файл .banned. + + Все эти действия являются необязательными. Если на клиентской стороне + они не будут выполнены и у пользователя появится возможность нажать на + кнопку выполнения операции, на которую у него нет прав, операция будет + заблокирована на сервере. + + + + Если кука sluser не определена, то желательно также скрыть кнопку reply и ссылку с классом mreply. Кроме того на странице могут присутствовать элементы a с классами @@ -163,6 +191,10 @@ POST-запроса уже содержащего требуемые данны В случае если во введенных данных произошла ошибка, сообщение об ошибке скрипт вписывает в элемент с классом error вместо его innerHtml +Во всем шаблоне формы производится подстановка информации о текущем +пользователе, аналогично тому, как она производится в элементе с классом +message в шаблоне темы. + Как правило, все скрипты получают следующую информацию 1. Поле с именем операции и произвольным непустым значением Возможные операции @@ -259,7 +291,7 @@ Cкрипт просмотра списка пользователей (опци Встраивание служебных форм непосредственно в страницы форума Форма, содержащая вышеперечиленные поля, имеющая метод POST и имеющая в поле - action="/cgi-bin/forum/