From fba9edc7881c5311224fcc9899336afcef7ece94 Mon Sep 17 00:00:00 2001 From: Victor Wagner Date: Thu, 20 Mar 2008 16:26:55 +0000 Subject: [PATCH] *** empty log message *** --- doc/config.txt | 35 ++++++++++---- doc/templates.txt | 45 ++++++++++++------ templates/basicset/error.html | 9 ++++ templates/basicset/form.js | 18 ++++++++ templates/basicset/forum.html | 76 +++++++++++++++++++++++++++++++ templates/basicset/login.html | 33 ++++++++++++++ templates/basicset/register.html | 43 ++++++++++++++++++ templates/basicset/reply.html | 39 ++++++++++++++++ templates/basicset/topic.html | 78 ++++++++++++++++++++++++++++++++ 9 files changed, 351 insertions(+), 25 deletions(-) create mode 100644 templates/basicset/error.html create mode 100644 templates/basicset/form.js create mode 100644 templates/basicset/forum.html create mode 100644 templates/basicset/login.html create mode 100644 templates/basicset/register.html create mode 100644 templates/basicset/reply.html create mode 100644 templates/basicset/topic.html diff --git a/doc/config.txt b/doc/config.txt index 7b2768f..a36e25f 100644 --- a/doc/config.txt +++ b/doc/config.txt @@ -11,27 +11,35 @@ templates = имя-директории-на-сервере Место расположения используемого набора шаблонов. Может быть (но не - обязано) быть за пределами DocumentRoot. + обязано) быть за пределами DocumentRoot. Правда, в последнем случае + необходимо перенести в другое место библиотеки javascript и + графические элементы, которые в стандартном наборе шаблонов хранятся + там же, где и сами шаблоны + +templatesurl = url + Ссылка которую надо использовать для доступа к директории templates + по http. Используется в тех случаях, когда скрипт не может + автоматически правильно вычислить ссылку на каталог templates по + известной ему информации об URL forum-а. userdir = имя-директории-на-сервере - Место, куда складываются аватары пользователей + Место, куда складываются аватары пользователей. Должна быть в пределах + DocumentRoot userurl = url - Имя под которым эта директория видна по http + Имя под которым эта директория видна по http (если скрипт не может + этого правильно вычислить сам) -passwd = имя-файла-на-сервере +datadir = имя-директории на сервере - Место расположения базы информации о пользователях. Должно быть - имя файла в недоступной по http директории (за пределами DocumentRoot + Место расположения базы информации о пользователях, сессиях и другой + служебной информации, которая не должна уходить за пределы сервера. + Должно быть недоступной по http директорией (за пределами DocumentRoot или в крайнем случае, запрещенной для доступа через .htaccess) к которой cgi-скрипты имеют доступ на запись. -sessions= имя-файла-на-сервере - - База активных пользовательских сессий. Те же требования - authperiod - время жизни пользовательской сессии. Формат число единица измерения, где единица измерения может быть m (минута) @@ -46,3 +54,10 @@ renewtime - время автоматического продления сес проверки его сессии (постинг комментария, редактирование профиля) его сессия продлевается на authperiod. По умолчанию 86400. +replies_per_page - число реплик на странице форума. + По умолчанию 50 + +forbid_tags=список-html-тэгов, запрещенных в сообщении. + + + 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/ +Ошибка + +

Тестовый форум Still Life

+

Произошла неустранимая ошибка

+
+ + diff --git a/templates/basicset/form.js b/templates/basicset/form.js new file mode 100644 index 0000000..d3127a2 --- /dev/null +++ b/templates/basicset/form.js @@ -0,0 +1,18 @@ +// Библиотека стандартных функций, используемых в формах форумного +// скрипта +// + +// Запрещает поле password в текущей форме если значение value текущего +// элемента не пусто. Используется в качестве обработчика onChange +// для поля openid_site. Пример использования +// + +Сайт на котором вы зарегистрированы +Пароль: + Только с этого IP-адреса + + + + + +
+

Корень форума

+ +
+ +
+

Подфорумы

+
+

+Название форума Создан:
+

аннотация форума
+ +
+ + + + + +
+

+
+
+
+

Темы

+
+

+Название темы Создана:
+

аннотация темы
+ +
+ + + + + +
+

+ +
+ + diff --git a/templates/basicset/login.html b/templates/basicset/login.html new file mode 100644 index 0000000..7377883 --- /dev/null +++ b/templates/basicset/login.html @@ -0,0 +1,33 @@ + + +Still Life - Вход + + +

Тестовый форум Still Life

+
+Зарегистрироватьcя + + + + + + +
Имя пользователя: +
Сайт на котором вы зарегистрированы
Пароль:
Только с этого IP-адреса +
+
+ +
+ + + diff --git a/templates/basicset/register.html b/templates/basicset/register.html new file mode 100644 index 0000000..3153744 --- /dev/null +++ b/templates/basicset/register.html @@ -0,0 +1,43 @@ + + +Still Life - регистрация пользователя + + +

Тестовый форум Still Life

+
+
+Имя: + +
+Пароль: + Только с этого IP-адреса +
+
+ +

Регистрация нового пользователя

+
+
+ + + + + + + + +
Имя
Пароль
Адрес E-Mail
Комментарий
АватарURL:
Или загрузить:
+
+ +
+ + + diff --git a/templates/basicset/reply.html b/templates/basicset/reply.html new file mode 100644 index 0000000..e975fde --- /dev/null +++ b/templates/basicset/reply.html @@ -0,0 +1,39 @@ + + +Still Life - Высказаться + + +

Тестовый форум Still Life

+
+ + + + + + + + + + + +
Пользователь: Зарегистрироваться
+
Пароль:
Только с этого IP-адреса +
Тема:
Текст:
Формат:
Картинка
+
+ +
+ + + diff --git a/templates/basicset/topic.html b/templates/basicset/topic.html new file mode 100644 index 0000000..28d3767 --- /dev/null +++ b/templates/basicset/topic.html @@ -0,0 +1,78 @@ + + +Still Life - Форум + + +Зарегистрироваться Войти +Создать тему +Создать форум +

Тестовый форум Still Life

+ +

Корень форума

+
+ +
+ +
+ +
+

Подфорумы

+
+

+Название форума Создан:
+

аннотация форума
+ +
+ + + + + +
+

+
+
+
+

Темы

+
+

+Название темы Создана:
+

аннотация темы
+ +
+ + + + + +
+

+ +
+ + -- 2.39.5