]> www.wagner.pp.ru Git - oss/stilllife.git/commitdiff
хГЛЕМЕМХЪ Б ЬЮАКНМЕ
authorIrene Emelyanova <irene@wagner.pp.ru>
Tue, 7 Oct 2008 10:16:41 +0000 (10:16 +0000)
committerIrene Emelyanova <irene@wagner.pp.ru>
Tue, 7 Oct 2008 10:16:41 +0000 (10:16 +0000)
21 files changed:
templates/belstyle/1x1.gif [new file with mode: 0644]
templates/belstyle/TODO [new file with mode: 0644]
templates/belstyle/basic.css [new file with mode: 0644]
templates/belstyle/belstyle.css [new file with mode: 0644]
templates/belstyle/common.js [new file with mode: 0644]
templates/belstyle/edit_forum.html [new file with mode: 0644]
templates/belstyle/edit_message.html [new file with mode: 0644]
templates/belstyle/edit_topic.html [new file with mode: 0644]
templates/belstyle/error.html [new file with mode: 0644]
templates/belstyle/form.js [new file with mode: 0644]
templates/belstyle/forum.html [new file with mode: 0644]
templates/belstyle/login.html [new file with mode: 0644]
templates/belstyle/newforum.html [new file with mode: 0644]
templates/belstyle/newtopic.html [new file with mode: 0644]
templates/belstyle/page.js [new file with mode: 0644]
templates/belstyle/register.html [new file with mode: 0644]
templates/belstyle/reply.html [new file with mode: 0644]
templates/belstyle/setrights.html [new file with mode: 0644]
templates/belstyle/topic.html [new file with mode: 0644]
templates/belstyle/user.html [new file with mode: 0644]
templates/belstyle/userlist.html [new file with mode: 0644]

diff --git a/templates/belstyle/1x1.gif b/templates/belstyle/1x1.gif
new file mode 100644 (file)
index 0000000..ef1e9ec
Binary files /dev/null and b/templates/belstyle/1x1.gif differ
diff --git a/templates/belstyle/TODO b/templates/belstyle/TODO
new file mode 100644 (file)
index 0000000..68eb83a
--- /dev/null
@@ -0,0 +1,17 @@
+  Roadmap для client-side скриптов и дизайна
++  1. Нормальный полноценный CSS и более приличные шаблоны темы и форума.
++  2. Скрипт который по нажатию ссылки reply открывает форму прямо на
+       странице (находящуюся в <div id="reply">). 
+       Форма должна открываться непосредственно под текущей ссылкой. vitus
+
+-  3. Аналогичный скрипт для ссылки login. (нафиг не надо)
++ 4. client-side проверка прав доступа done, safir
++  5  скрытие элементов управления,
+       недоступных текущему пользователю. done, vitus
+  6. Шаблоны остальных операций - по мере реализации оных. 
+  7. Операция цитирования реплики, на которую отвечаешь (вероятно, с
+       server-side поддержкой)
++  8. Скрипт который при заполнении очередного поля аплоада картинки в
+  форме реплики, добавляет следующее пустое поле.      vitus
+       9 Скрипт подтверждения при нажатии на кнопку delete
+       (всплывающий div с кнопками да/нет как в ЖЖ)
diff --git a/templates/belstyle/basic.css b/templates/belstyle/basic.css
new file mode 100644 (file)
index 0000000..f602027
--- /dev/null
@@ -0,0 +1,16 @@
+/* Базовые элементы сообщений, ссылок на темы etc */ 
+body {background-color: #ccffcc;}
+div.topic {background-color: #ffffcc; padding: 10px;
+margin: 5px; border: 1px solid #777777;}
+div.forum {background-color: #ffddcc; padding: 10px; margin: 10px; border: 1px solid #777777;}
+div.message {background-color: #ffffcc; padding: 10px; margin:   10px; border: 1px solid #777777;}
+div#replyform {background-color: #ccffcc; padding: 10px; border: 1px solid #777777;margin-top: 10px;} 
+/* Ссылки на пользователей разных классов */
+a.admin {color: #ff7777;}
+a.moderator {color: #22aa22;}
+a.user {color: #2222aa;}
+.title {text-align: center;}
+.fineprint {font-size: 8pt;}
+q {font-style: italic;}
+a.title {font-size: 150%; font-weight: bold; }
+
diff --git a/templates/belstyle/belstyle.css b/templates/belstyle/belstyle.css
new file mode 100644 (file)
index 0000000..b2ec48b
--- /dev/null
@@ -0,0 +1,260 @@
+P {FONT-FAMILY: Verdana, Geneva, Arial, Helvetica, sans-serif;
+       FONT-SIZE: 12px; color : black; text-align: justify;
+}
+
+li {FONT-FAMILY: Verdana, Geneva, Arial, Helvetica, sans-serif;
+       FONT-SIZE: 12px; color : black; text-align: justify;
+}
+
+.violettext {color: #9c30ce; FONT-WEIGHT: bold;
+}
+
+.redtext {color: red; FONT-WEIGHT: bold;
+}
+
+.greentext {color: green; FONT-WEIGHT: bold;
+}
+
+.bluetext {color: blue; FONT-WEIGHT: bold;
+}
+
+.email:before {content: "@ "; color: red;
+font-size: 18px;
+}
+
+.email {font-weight: normal;
+}
+
+.icq:before {content: url("images/icq.gif") " ";}
+
+.icq {font-weight: normal;
+}
+
+.skype:before {content: url("images/skype.gif") " ";}
+
+.skype {font-weight: normal;
+}
+
+.mailagent:before {content: url("images/mailagent.gif") " ";}
+
+.mailagent {font-weight: normal;
+}
+
+P.just {TEXT-ALIGN: justify;}
+
+.parchtable {border-collapse: collapse; border: 0px;
+border-color: black; border-style: solid;}
+
+.parchtable tr td {padding: 10pt; background: url("http://www.belorya-rpg.ru/template/parchment.png")}
+
+.parchtable tr th {padding: 0pt;  }
+
+
+.chartable {border-collapse: collapse; border: 0px;
+border-color: #522816; border-style: solid;}
+
+.chartable tr td {padding-right: 12px; padding-top: 3px; padding-bottom: 3px; padding-left: 12px; border-collapse: collapse; border: 0px; border-style: solid; FONT-FAMILY: Monotype Corsiva, serif;
+       FONT-SIZE: 17px; 
+COLOR: #324237; font-weight: normal; }
+
+.chartable tr th {padding: 0pt; border-collapse: collapse; border: 0px;  border-style: solid;}
+
+.bigtable{border-collapse: collapse; border: 1px;
+border-color: black; border-style: solid;}
+
+.bigtable tr td {padding: 0px; border-collapse: collapse; border: 1px;
+border-color: black; border-style: solid;}
+
+.bigtable tr th {padding: 0px;}
+
+.zagtable {border-collapse: collapse; }
+
+.zagtable tr td {height: 110px; width: auto; TEXT-ALIGN: justify; font-family: Arial, Helvetica,
+sans-serif; font-size: 12px; padding: 0pt;  background: url("template/zagcenter1.png")}
+
+.zagtable tr th {width: 25px; height: 110px; TEXT-ALIGN: justify; font-family: Arial, Helvetica,
+sans-serif; font-size: 12px; padding: 0pt; font-weight: bold;}
+
+A:link {TEXT-DECORATION: none; FONT-WEIGHT: bold; COLOR: #1d6f36; }
+
+A:visited {TEXT-DECORATION: none; FONT-WEIGHT: bold; COLOR: #522816; }
+
+A:active {TEXT-DECORATION: none; FONT-WEIGHT: bold;
+}
+
+A:hover {
+       TEXT-DECORATION: underline; FONT-WEIGHT: bold;
+}
+
+.Text {
+    font-family: Arial, Helvetica, sans-serif;
+       FONT-SIZE: 12px;
+       COLOR: #FFFFFF;
+       TEXT-ALIGN: justify;
+       margin-top : 5px;
+       margin-bottom : 5px;
+}
+
+.Text:link {
+       FONT-FAMILY: Arial;
+       FONT-SIZE: 12px;
+       COLOR: #CA7A53;
+       TEXT-ALIGN: justify;
+}
+
+.Text:hover {
+       FONT-FAMILY: Arial;
+       FONT-SIZE: 12px;
+       COLOR: #CA7A53;
+       TEXT-ALIGN: justify;
+}
+
+.Text:visited {
+       FONT-FAMILY: Arial;
+       FONT-SIZE: 12px;
+       COLOR: #CA7A53;
+       TEXT-ALIGN: justify;
+}
+
+.Text:active {
+       FONT-FAMILY: Arial;
+       FONT-SIZE: 12px;
+       COLOR: #D04B4B;
+       TEXT-ALIGN: justify;
+}
+
+.shadowbox {position: relative; font-size: 28px; text-align: center;}
+.headertext {font-size: 14px; font-family: Arial, Helvetica, sans-serif;
+font-weight: bold; position: relative; top: 0; left: 0; color:
+#ff7902;z-index: 2; TEXT-ALIGN: left;}
+.headershadow {font-size: 14px; font-family: Arial, Helvetica,
+sans-serif; font-weight: bold; position: absolute; top: 1px; left: 1px;
+color: #666666; z-index: 1; TEXT-ALIGN: left;}
+
+.beltable {TEXT-ALIGN: justify; font-family: Arial, Helvetica,
+sans-serif; font-size: 12px; border-collapse: collapse; border: 1px;
+border-color: black; border-style: solid; }
+
+.beltable tr td {TEXT-ALIGN: justify; font-family: Arial, Helvetica,
+sans-serif; font-size: 12px; padding: 5pt; border-collapse: collapse; border: 1px;
+border-color: black; border-style: solid;}
+
+.beltable tr th {TEXT-ALIGN: justify; font-family: Arial, Helvetica,
+sans-serif; font-size: 12px; padding: 5pt; border-collapse: collapse; border: 1px;
+border-color: black; border-style: solid; font-weight: bold;}
+
+.topmenu {width: 160px; height: 30px; background: url("template/button2.png") no-repeat;}  
+
+.topmenu a:link {display: block; padding-left: 7px; padding-right: 7px;
+padding-top: 6px; padding-bottom: 7px;
+    FONT-SIZE: 17px; FONT-FAMILY:  Monotype Corsiva, serif ; 
+       COLOR: #324237;
+       font-weight: bold; 
+       TEXT-DECORATION: none;
+       
+}
+
+.topmenu a:visited {display: block; padding-left: 7px; padding-right: 7px; padding-top: 6px; padding-bottom: 7px;
+    FONT-SIZE: 17px; FONT-FAMILY:  Monotype Corsiva, serif ; 
+       COLOR: #324237;
+       font-weight: bold; 
+       TEXT-DECORATION: none;
+}
+
+.topmenu a:hover {display: block; padding-left: 7px; padding-right: 7px;
+padding-top: 6px; padding-bottom: 7px;
+       FONT-SIZE: 17px; FONT-FAMILY:  Monotype Corsiva, serif ; 
+       COLOR: #324237;
+       font-weight: bold; 
+       TEXT-DECORATION: underline;
+}
+
+.topmenu a:active {display: block; padding-left: 7px; padding-right: 7px;
+padding-top: 6px; padding-bottom: 7px;
+       FONT-SIZE: 17px; FONT-FAMILY:  Monotype Corsiva, serif ; 
+       COLOR: #324237;
+       font-weight: bold; 
+       TEXT-DECORATION: none;
+}
+
+
+
+
+.submenu {margin-left: 160px; background-color: #cccccc; padding-top: 7px; padding-bottom: 7px; border: solid 2px; border-color: #dd9f64; float: right; position: absolute; background: url("template/green.png"); width: 215px;}
+.submenu a:link {FONT-FAMILY: Arial, Helvetica, sans-serif ; FONT-SIZE: 12px;
+color: #e1d3b9; padding-left: 20px; padding-right: 20px; TEXT-DECORATION: none; }
+
+.submenu a:visited {FONT-FAMILY: Arial, Helvetica, sans-serif ; FONT-SIZE: 12px;
+color: #e1d3b9; padding-left: 20px; padding-right: 20px; TEXT-DECORATION: none; }
+
+.submenu a:hover {FONT-FAMILY: Arial, Helvetica, sans-serif ; FONT-SIZE: 12px;
+color: #e1d3b9; padding-left: 20px; padding-right: 20px; TEXT-DECORATION: underline; }
+
+.submenu a:active {FONT-FAMILY: Arial, Helvetica, sans-serif ; FONT-SIZE: 12px;
+color: #e1d3b9; padding-left: 20px; padding-right: 20px; TEXT-DECORATION: none; }
+
+
+
+P.head1 {color: #522816; FONT-FAMILY: Monotype Corsiva, serif ; FONT-SIZE: 22px; padding: 0 0 0 0; TEXT-ALIGN: center; FONT-WEIGHT: normal;}
+
+P.pagetitle{color: #522816; FONT-FAMILY: Monotype Corsiva, serif ; FONT-SIZE: 40px; TEXT-ALIGN: center; margin: 0px 0px 0px 0px ; FONT-WEIGHT: normal;}
+
+body {background: url("http://www.belorya-rpg.ru/template/green.png");}
+
+p.copyright {FONT-FAMILY: Arial, Helvetica, sans-serif ; FONT-SIZE: 10px; FONT-STYLE: italic; COLOR: #dd9f64; text-align: right;  
+}
+
+p.center {TEXT-ALIGN: center;}
+
+h1 {color: #522816; FONT-FAMILY: Monotype Corsiva, serif ; FONT-SIZE: 28pt; TEXT-ALIGN: center; font-weight: normal; margin: 0px 0px 0px 0px ;}
+
+p.line {text-align: center;}
+
+.hand { FONT-FAMILY: Monotype Corsiva, serif ; FONT-SIZE: 12pt; COLOR: #324237; FONT-WEIGHT: normal;}
+
+.up {FONT-FAMILY: Monotype Corsiva, serif ; FONT-SIZE: 12pt; COLOR: #324237; FONT-WEIGHT: normal; TEXT-ALIGN: right; TEXT-DECORATION: underline;}
+
+.up a {FONT-FAMILY: Monotype Corsiva, serif ; FONT-SIZE: 12pt; COLOR: #324237; FONT-WEIGHT: normal; TEXT-ALIGN: right; TEXT-DECORATION: underline;}
+
+.up a:visited {FONT-FAMILY: Monotype Corsiva, serif ; FONT-SIZE: 12pt; COLOR: #324237; FONT-WEIGHT: normal; TEXT-ALIGN: right; TEXT-DECORATION: underline;}
+
+.up a:hover {FONT-FAMILY: Monotype Corsiva, serif ; FONT-SIZE: 12pt; COLOR: #324237; FONT-WEIGHT: normal; TEXT-ALIGN: right; TEXT-DECORATION: underline;}
+
+.up a:active {FONT-FAMILY: Monotype Corsiva, serif ; FONT-SIZE: 12pt; COLOR: #324237; FONT-WEIGHT: normal; TEXT-ALIGN: right; TEXT-DECORATION: underline;}
+
+.left {ALIGN: left;}
+
+/* ??, ??? ????????? ? ?????? ?????? */ 
+
+
+.topic {background-color: #ffffcc; padding: 10px;
+margin: 5px; border: 1px solid #777777; background: url("http://www.belorya-rpg.ru/template/parchment.png")}
+div.forum {background-color: #ffddcc; padding: 10px; margin: 10px; border: 1px solid #777777;}
+div.message {padding: 0px; margin: 0px; }
+div#replyform {background-color: #ccffcc; padding: 10px; border: 1px solid #777777;margin-top: 10px;} 
+/* ?????? ?? ????????????? ?????? ??????? */
+a.admin {color: #ff7777;}
+a.moderator {color: #22aa22;}
+a.user {color: #2222aa;}
+.title {color: #522816; FONT-FAMILY: Monotype Corsiva, serif ; FONT-SIZE: 40px;margin: 0px 0px 0px 0px ; FONT-WEIGHT: normal;}
+.fineprint {font-size: 8pt;}
+q {font-style: italic;}
+a.title {font-size: 150%; font-weight: bold; }
+.messagelist {padding: 0px 0px 0px 0px;}
+.abstract{text-align: center;}
+.userurl{width: 160px; height: 30px; background: url("http://www.belorya-rpg.ru/template/button2.png") no-repeat; border:1}
+.author {FONT-FAMILY: Monotype Corsiva, serif ; FONT-SIZE: 18px; FONT-WEIGHT: bold;}
+.user {FONT-FAMILY: Monotype Corsiva, serif ; FONT-SIZE: 21px; FONT-WEIGHT: normal; color: #2222aa; margin: 0px 0px 10px 0px;}
+
+
+.forumtable {border-collapse: collapse; border: 3px;
+border-color: #522816; border-style: solid; margin-bottom: 4pt;}
+
+.forumtable tr td {padding: 10pt; background: url("http://www.belorya-rpg.ru/template/parchment.png");}
+
+.forumtable tr th {TEXT-ALIGN: justify; font-weight: bold;
+border-collapse: collapse; border: 2px; border-style: solid; border-top:
+none; border-bottom: none; padding: 10pt; background: url("http://www.belorya-rpg.ru/template/parchment.png"); border-color: #522816; }
+
+
+/* ????? ????????? ??, ??? ????????? ? ?????? ?????? */ 
diff --git a/templates/belstyle/common.js b/templates/belstyle/common.js
new file mode 100644 (file)
index 0000000..be32d7a
--- /dev/null
@@ -0,0 +1,52 @@
+// Библиотека стандартных функций, используемых как в формах в форумного
+// скрипта так и на страницах форума.  
+
+
+// Запрещает поле password в текущей форме если значение value текущего
+// элемента не пусто. Используется в качестве обработчика onChange
+// для поля openidsite. Пример использования
+//     <select name="openidsite" onChange="selectSite(this)">
+    
+function selectSite( element) {
+   var form = element.form;
+   var password_field = form["password"];
+   if (element.value != "") {
+       password_field.disabled=1;
+  } else {
+       password_field.disabled=0;
+  }    
+}
+//
+// Вызывается при заполнении очередного поля аплоада картинки и
+// добавляет еще одно такое же.
+//
+function addPictureInput(tag) {
+       // Ищем вверх по дереву элемент с классом pictureinput
+       while (tag.className != "pictureinput") {
+               if (!tag.parentNode) {
+                       // Не нашли
+                       break;
+               }
+               tag=tag.parentNode;
+       }
+       // Теперь пошли вниз по сиблингам искать, есть ли пустое поле
+       var prev=tag;
+       while (tag && tag.className == "pictureinput") {
+               prev = tag;
+               tag=tag.nextSibling;
+       }
+       var inputs = prev.getElementsByTagName("input");
+       if (!inputs[0].value) {
+               // Последний элемент еще не заполнен. Новый не нужен.
+               return;
+       }       
+       var copy = prev.cloneNode(true);
+       inputs = copy.getElementsByTagName("input"); 
+       inputs[0].value = "";
+       inputs[0].name="image"+(parseInt(inputs[0].name.substring(5,
+               inputs[0].name.length))+1);
+       inputs[0].title = inputs[0].name;       
+       prev.parentNode.insertBefore(copy,tag);
+       return;
+}      
+// 
diff --git a/templates/belstyle/edit_forum.html b/templates/belstyle/edit_forum.html
new file mode 100644 (file)
index 0000000..e84f2f8
--- /dev/null
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD>
+<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
+<TITLE>Still Life - Создать форум</TITLE>
+<script type="text/javascript" language="JavaScript" src="templates/form.js"></script>
+<script type="text/javascript" language="JavaScript" src="templates/common.js"></script>
+<link rel="forum-script" href="forum">
+<link rel="forum-user-list" href="forum">
+<link rel="stylesheet" type="text/css" href="templates/basic.css">
+</HEAD><BODY>
+<H3>Тестовый форум Still Life</h3>
+<h2>Редактирование подфорума</h2>
+<form method="POST"  enctype="multipart/form-data" action="forum"
+name="edit_forum">
+<table border=0>
+<tr><td>Название</td><td><input type=text name="title" size=30>
+</td></tr>
+<tr><td>Имя в URL</td><td><span class="urlname"></span></td></tr>
+<tr><td>Аннотация</td><td><textarea name="abstract" rows=5 cols=50></textarea></td></tr>
+<tr><td>Формат</td><td><select name="abstract_format"><option
+value="text">Текст без разметки</option>
+<option value="bbcode">BBCode</option>
+<option value="html">Html</option>
+</select></td></tr>
+<tr><td>Картинка</td><td><input type="file" name="logo"><br>
+<div class="picture">
+<img src="#" width=1 height=1 class="logo"><br clear=all">
+Удалить <input type="checkbox" name="delpicture" value=""></div>
+</td></tr>
+<tr><td colspan=2  class="error"></td></tr>
+<tr><td colspan=2 align="right"><input type=submit name="edit"
+value="Сохранить">
+</table>
+
+</form>
+
+</BODY>
+</HTML>
diff --git a/templates/belstyle/edit_message.html b/templates/belstyle/edit_message.html
new file mode 100644 (file)
index 0000000..c65e9f6
--- /dev/null
@@ -0,0 +1,41 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD>
+<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
+<TITLE>Still Life - Высказаться</TITLE>
+<script type="text/javascript" src="templates/form.js"></script>
+<script type="text/javascript" src="templates/common.js"></script>
+<link rel="forum-script" href="forum">
+<link rel="forum-user-list" href="forum">
+<link rel="stylesheet" type="text/css" href="templates/basic.css">
+</HEAD><BODY>
+<H3>Тестовый форум Still Life</h3>
+<H1>Редактирование сообщения</H1>
+<form method="POST" enctype="multipart/form-data" name="edit_message" action="forum">
+<input type="hidden" name="id" value="">
+<table border=0>
+<tr><td colspan=2  class="error"></td></tr>
+<tr><td>Тема: </td><td><input name="subject" size="40"></td></tr>
+<tr><td>Текст:</td><td><textarea name="text" rows=10
+cols=72></textarea></td></tr> 
+<tr><td>Формат:</td><td><select name="text_format"><option value="text"
+selected>Без разметки</option>
+<option value="bbcode">BBCode</option>
+<option value="html">Html</option></select></td></tr>
+<tr class="pictureinput"><td>Картинка</td> <td><input onchange="addPictureInput(this);" type=file name="image1"></td></tr>
+<tr><td colspan=2">
+<div class="picturelist" style="display: none;">
+<h3>Существующие картинки</h3>
+(пометтье чекбокс под картинкой для удаления)
+<div class="picture">
+<img src="#" width=1 height=1 class="msgpicture"><br clear=all> 
+<span class="filename"></span> <input type="checkbox" name="delpicture"
+value=""></div> 
+</td></tr>
+<tr><td colspan=2 align=right><input type=submit name="edit"
+value="Сохранить">
+</table>
+
+</form>
+
+</BODY>
+</HTML>
diff --git a/templates/belstyle/edit_topic.html b/templates/belstyle/edit_topic.html
new file mode 100644 (file)
index 0000000..d2644e1
--- /dev/null
@@ -0,0 +1,33 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD>
+<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
+<TITLE>Still Life - Создать тему</TITLE>
+<script type="text/javascript" language="JavaScript" src="templates/form.js"></script>
+<script type="text/javascript" language="JavaScript" src="templates/common.js"></script>
+<link rel="forum-script" href="forum">
+<link rel="forum-user-list" href="forum">
+<link rel="stylesheet" type="text/css" href="templates/basic.css">
+</HEAD><BODY>
+<H3>Тестовый форум Still Life</h3>
+<form method="POST"  enctype="multipart/form-data" action="forum"
+name="edit_topic">
+<table border=0>
+<tr><td>Название</td><td><input type=text name="title" size=30>
+</td></tr>
+<tr><td>Имя в URL</td><td><span class="urlname" ></span></td></tr>
+<tr><td>Аннотация</td><td><textarea name="abstract" rows=5 cols=50></textarea></td></tr>
+<tr><td>Формат</td><td><select name="abstract_format"><option
+value="text">Текст без разметки</option>
+<option value="bbcode">BBCode</option>
+<option value="html">Html</option>
+</select>
+<tr><td colspan=2  class="error"></td></tr>
+<tr><td align=left><input type=submit name="closetopic" value="Закрыть
+тему"><td  align="right"><input type=submit name="edit"
+value="Сохранить">
+</table>
+
+</form>
+
+</BODY>
+</HTML>
diff --git a/templates/belstyle/error.html b/templates/belstyle/error.html
new file mode 100644 (file)
index 0000000..9dbb3a7
--- /dev/null
@@ -0,0 +1,13 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD>
+<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
+<TITLE>Ошибка</TITLE>
+<link rel="forum-script" href="forum">
+<link rel="forum-user-list" href="forum">
+<link rel="stylesheet" type="text/css" href="templates/basic.css">
+</HEAD><BODY>
+<H3>Тестовый форум Still Life</h3>
+<h1>Произошла неустранимая ошибка</h1>
+<div class="error"></div>
+</BODY>
+</HTML>
diff --git a/templates/belstyle/form.js b/templates/belstyle/form.js
new file mode 100644 (file)
index 0000000..4528b61
--- /dev/null
@@ -0,0 +1,4 @@
+// Библиотека стандартных функций, используемых в формах форумного
+// скрипта
+//
+
diff --git a/templates/belstyle/forum.html b/templates/belstyle/forum.html
new file mode 100644 (file)
index 0000000..2bf1aed
--- /dev/null
@@ -0,0 +1,70 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD>
+<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
+<META NAME="description" CONTENT="">
+<TITLE>Still Life - Форум</TITLE>
+<script type="text/javascript" language="JavaScript" src="templates/page.js"></script>
+<script type="text/javascript" language="JavaScript" src="templates/common.js"> </script>
+<link rel="forum-script" href="forum">
+<link rel="forum-user-list" href="forum">
+<link rel="stylesheet" type="text/css" href="templates/basic.css">
+</HEAD><BODY onload="customizePage()">
+<a class="userurl" href="forum?register=1">Зарегистрироваться</a> <a
+class="login" href="forum?login=1">Войти</a> 
+<a href="forum?newtopic=1">Создать тему</a>
+<a href="forum?newforum=1">Создать форум</a>
+<a href="forum?edit=1">Редактировать</a>
+<a href="forum?setrights=1">Права доступа</a>
+<a href="..">Уровень выше</a>
+<a href="//">В начало</a>
+<a href="//recent.html">Свежие сообщения</a>
+<a href="forum?profile=1">Профиль</a>
+<a href="users">Пользователи</a>
+<H3>Тестовый форум Still Life</h3>
+<div class="annotation">
+<h2 class="title">Корень форума</h2>
+<table border=0><tr><td width="30%"><img src="logo.png" width=1 height=1 alt=""
+class="logo"></td><td>Создан <span class="date"></span><br>
+<div class="abstract"></div></td></tr></table></div>
+<br>
+<div class="forumlist">
+<h2>Подфорумы</h2>
+<div class="forum">
+<p>
+<table border="0">
+<tr><td colspan="2">
+<a href="#" class=title>Название форума</a> Создан: <span
+class="date"></span><br></td></tr>
+<tr><td width="30%"><img class="logo" src="#" width="1" height="1"
+alt=""></td><td> 
+<div class="abstract">аннотация форума</div>
+<form class="foruminfo" action="forum" method="GET">
+<input type="submit" name="edit" value="Редакт">
+<input type="submit" name="move" value="Переместить">
+<input type="submit" name="delete" value="Удалить">
+<input type="submit" name="setrights" value="Доступ">
+</form>
+</td></tr></table>
+</div>
+</div>
+<div class="topiclist">
+<h2>Темы</h2>
+<div class="topic" >
+<a href="#" class=title>Название темы</a> Создана: <span class="date"></span><br>
+<a class="author" href="#">#</a>
+<a class="tlink" name=""></a>
+<br>
+<div class="abstract">аннотация темы</div>
+Количество сообщений <span class="msgcount"></span> (<span
+class="last-updated"></span>)
+<form class="topicinfo" action="forum" method="GET">
+<input name=author type="hidden">
+<input type="submit" name="edit" value="Редакт">
+<input type="submit" name="move" value="Переместить">
+<input type="submit" name="delete" value="Удалить">
+<input type="submit" name="reply" value="Высказаться">
+</form>
+</div>
+</div>
+</BODY>
+</HTML>
diff --git a/templates/belstyle/login.html b/templates/belstyle/login.html
new file mode 100644 (file)
index 0000000..93e75db
--- /dev/null
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD>
+<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
+<TITLE>Still Life - Вход</TITLE>
+<script type="text/javascript" language="JavaScript" src="templates/form.js"></script>
+<script type="text/javascript" language="JavaScript" src="templates/common.js"></script>
+<link rel="forum-script" href="forum">
+<link rel="forum-user-list" href="forum">
+<link rel="stylesheet" type="text/css" href="templates/basic.css">
+</HEAD><BODY bgcolor="#ccffcc">
+<H3>Тестовый форум Still Life</h3>
+<form method="POST" action="forum" name="login">
+<a class="author" href="forum?register=1">Зарегистрироватьcя</a> 
+<table border=0>
+<tr><td>Имя пользователя:</td><td><input type=text name="user" size=30>
+</td></tr>
+<tr><td>Сайт на котором вы зарегистрированы</td><td> <select
+name="openidsite" onChange="selectSite(this)">
+<option selected value="">Этот сайт</option>
+<option value="http://livejournal.com/users/%s">LiveJournal.com</option>
+<option value="http://diary.ru/~%s">Diary.ru</option>
+<option value="http://lj.rossia.org/users/%s">LJ.Rossija.org</option>
+<option value="http://%s">Другой Open-ID сайт</option> 
+</select></td></tr>
+<tr><td>Пароль:</td><td><input type="password" name="password"
+size=20></td></tr>
+<tr><td></td><td><input type="checkbox" name="bindip" value="1"> Только с этого IP-адреса
+</td></tr>
+<tr><td colspan=2  class="error"></td></tr>
+<tr><td colspan=2 align=right><input type=submit name="login"
+value="Вoйти"></td></tr>
+</table>
+
+</form>
+
+</BODY>
+</HTML>
diff --git a/templates/belstyle/newforum.html b/templates/belstyle/newforum.html
new file mode 100644 (file)
index 0000000..68482da
--- /dev/null
@@ -0,0 +1,33 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD>
+<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
+<TITLE>Still Life - Создать форум</TITLE>
+<script type="text/javascript" language="JavaScript" src="templates/form.js"></script>
+<script type="text/javascript" language="JavaScript" src="templates/common.js"></script>
+<link rel="forum-script" href="forum">
+<link rel="forum-user-list" href="forum">
+<link rel="stylesheet" type="text/css" href="templates/basic.css">
+</HEAD><BODY>
+<H3>Тестовый форум Still Life</h3>
+<h2>Создание подфорума</h2>
+<form method="POST"  enctype="multipart/form-data" action="forum" name="newforum">
+<table border=0>
+<tr><td>Название</td><td><input type=text name="title" size=30>
+</td></tr>
+<tr><td>Имя в URL</td><td><input type=text name="urlname" size=30></td></tr>
+<tr><td>Аннотация</td><td><textarea name="abstract" rows=5 cols=50></textarea></td></tr>
+<tr><td>Формат</td><td><select name="abstract_format"><option
+value="text">Текст без разметки</option>
+<option value="bbcode">BBCode</option>
+<option value="html">Html</option>
+</select></td></tr>
+<tr><td>Картинка</td><td><input type="file" name="logo"></td></tr>
+<tr><td colspan=2  class="error"></td></tr>
+<tr><td colspan=2 align="right"><input type=submit name="newforum"
+value="Создать">
+</table>
+
+</form>
+
+</BODY>
+</HTML>
diff --git a/templates/belstyle/newtopic.html b/templates/belstyle/newtopic.html
new file mode 100644 (file)
index 0000000..62516ef
--- /dev/null
@@ -0,0 +1,31 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD>
+<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
+<TITLE>Still Life - Создать тему</TITLE>
+<script type="text/javascript" language="JavaScript" src="templates/form.js"></script>
+<script type="text/javascript" language="JavaScript" src="templates/common.js"></script>
+<link rel="forum-script" href="forum">
+<link rel="forum-user-list" href="forum">
+<link rel="stylesheet" type="text/css" href="templates/basic.css">
+</HEAD><BODY>
+<H3>Тестовый форум Still Life</h3>
+<form method="POST"  enctype="multipart/form-data" action="forum" name="newtopic">
+<table border=0>
+<tr><td>Название</td><td><input type=text name="title" size=30>
+</td></tr>
+<tr><td>Имя в URL</td><td><input type=text name="urlname" size=30></td></tr>
+<tr><td>Аннотация</td><td><textarea name="abstract" rows=5 cols=50></textarea></td></tr>
+<tr><td>Формат</td><td><select name="abstract_format"><option
+value="text">Текст без разметки</option>
+<option value="bbcode">BBCode</option>
+<option value="html">Html</option>
+</select>
+<tr><td colspan=2  class="error"></td></tr>
+<tr><td colspan=2 align="right"><input type=submit name="newtopic"
+value="Создать">
+</table>
+
+</form>
+
+</BODY>
+</HTML>
diff --git a/templates/belstyle/page.js b/templates/belstyle/page.js
new file mode 100644 (file)
index 0000000..f321c31
--- /dev/null
@@ -0,0 +1,276 @@
+// Библиотека стандартных функций, используемых на страницах форума
+//
+// Извлекает из кук имя текущего пользователя и возвращает его, а также
+// сохраняет в глобальной переменной forumUser;
+var forumUser;
+var userStatus;
+function getUserName() {
+       var cookietext =document.cookie;
+       var pos = cookietext.indexOf("sluser=");
+       if (pos == -1)  {
+               return undefined;
+       }
+       var start = pos+7;
+       var end = cookietext.indexOf(";",start);
+       if (end == -1) end=cookietext.length;
+       var value= cookietext.substring(start,end);
+       forumUser = decodeURIComponent(value);
+       return forumUser;
+}
+//
+// Шаблон страницы содержит два специальных тэга link с rel=forum-script
+// и rel=forum-user-list
+// Эта функция извлекает их в глобальные переменные forumScriptUrl
+// и userListUrl;
+var forumScriptUrl;
+var userListUrl;
+function getBaseURLs() {
+       var links=document.getElementsByTagName("link");
+       for (i=0;i<links.length;i++) {
+               if (links[i].rel == "forum-script") {
+                       forumScriptUrl = links[i].href;
+               } else if (links[i].rel == "forum-user-list") {
+                       userListUrl = links[i].href;
+               }
+       }       
+}
+function showUser(username) {
+       if (!username) {
+               // Прячем ссылку на профиль 
+               var links=document.getElementsByTagName("a");
+               for (i=0;i<links.length;i++) {
+                       if (links[i].href.substring(0,forumScriptUrl.length)==
+                       forumScriptUrl && links[i].href.indexOf("profile=")!=-1) {
+                               while (links[i].childNodes.length>0) {
+                                       links[i].removeChild(links[i].childNodes[0]);
+                               }       
+                       }       
+               }
+               return ;
+       }
+       userStatus = getUserRights(username);
+       var links=document.getElementsByTagName("a");
+       for (i=0;i<links.length;i++) {
+               if (links[i].className == "userurl") {
+                       while (links[i].childNodes.length>0) {
+                               links[i].removeChild(links[i].childNodes[0]);
+                       }       
+                       if (username.substring(0,7) == "http://") {
+                               links[i].href=username;
+                               username=username.substring(7,username.length);
+                       } else {
+                               links[i].href=userListUrl+"/" + username;
+                       }       
+                       links[i].appendChild(document.createTextNode(username));
+                       links[i].className = userStatus;
+               } else if (links[i].href.substring(0,forumScriptUrl.length)==
+                       forumScriptUrl && links[i].href.indexOf("login=")!=-1) {
+                       while (links[i].childNodes.length>0) {
+                               links[i].removeChild(links[i].childNodes[0]);
+                       }       
+                       links[i].appendChild(document.createTextNode("Выйти"));
+                       links[i].href=forumScriptUrl+"?logout=1";
+               }               
+       }       
+}
+
+//
+// Добывает с сервера информацию о модераторах данного форума и
+// возвращает user, moderator или admin в зависисмости от статуса
+// указанного пользователя.  
+//
+function getUserRights(user) {
+    var status="user";
+    var xhr=getXMLHttpRequest();
+    if(!xhr) return status;
+       // Strip http:// prefix from OpenID url
+       if (user.substring(0,7) == "http://") {
+               user=user.substring(7,user.length);
+       } 
+    var hr=location.href.match(/^\w+:\/\/[^/]*\/([^?#]+)/);
+    if(hr==null) return status;
+    var depth=hr[1].split(/\//).length;
+    var re=new RegExp("\n\\\[\s*(admins|moderators|banned)\s*\\\]\s*[^[]*\n"+user+"\n","m");
+    for(var path="",i=0;i<depth;path+="../",i++) {
+       xhr.open("GET", path+"perms.txt",false);
+       xhr.send("");
+       if(xhr.status!=200) continue;
+       
+       var perms=("\n"+xhr.responseText+"\n").match(re);
+       if(perms!=null) {
+           if(perms[1]=="banned") return "banned";
+           if(perms[1]=="admins") return "admin";
+           status="moderator";
+
+       }
+       
+       xhr.open("GET", path+".forum",false);
+       xhr.send("");
+       if(xhr.status==403 || xhr.status==200) break;
+    }
+    return status;
+}
+
+// Обработчик body onLoad
+//  Пробегается по странице и прячет все элементы
+// управления, которые не разрешены данному пользователю
+//
+function customizePage() {
+       getBaseURLs();
+       showUser(getUserName());
+       hideDeniedOperations();
+}
+// Заготовка на будущее
+function hideDeniedOperations() {
+
+    var user = forumUser;
+       var rights = userStatus;
+       if (user && user.indexOf("http://")==0) {
+               user=user.substring(7,user.length);
+       }
+       if (rights == "admin") {
+               // Админу можно все
+               return;
+       } 
+       var links=document.getElementsByTagName("a");
+       var forms=document.getElementsByTagName("form");
+       // Убираем только администраторскую функцию setrights
+       for (i=0;i<links.length;i++) {
+               if (links[i].href.indexOf("setrights=") != -1) {
+                       links[i].style.display="none";
+               }       
+       }
+       for (i=0;i<forms.length;i++) {
+               if (forms[i].className == "foruminfo") {
+                       var inputs = forms[i].getElementsByTagName("input");
+                       for (j=0;j<inputs.length;j++) {
+                               if (inputs[j].name == "setrights") {
+                                       inputs[j].style.display="none";
+                               }
+                       }       
+               }
+       }       
+       if (rights == "moderator") {
+               return;
+       }
+       for (i=0;i<forms.length;i++) {
+               if (forms[i].className == "foruminfo") {
+                       forms[i].style.display="none";
+               } else if (forms[i].className == "msginfo"||
+                       forms[i].className=="topicinfo") {
+                       if (rights=="banned") {
+                               forms[i].style.display="none";
+                       } else {
+                               var inputs = forms[i].getElementsByTagName("input"); 
+                               var my_item = false;
+                               for (j=0;j<inputs.length;j++) {
+                                       if (inputs[j].name == "move") {
+                                               inputs[j].style.display="none";
+                                       }
+                               }       
+                               if (user) {
+                                       for (j=0;j<inputs.length;j++) {
+                                               if (inputs[j].name == "author") {
+                                                       my_item = inputs[j].value == user;
+                                                       break;
+                                               }       
+                                       }
+                               }
+                               if (!my_item) {
+                                       for (j=0;j<inputs.length;j++) {
+                                               if (inputs[j].name == "edit" ||
+                                                       inputs[j].name == "delete") {
+                                                       inputs[j].style.display="none";
+                                               }
+                                       }
+                               }       
+                       } 
+               }          
+       }       
+       // Убираем все модераторские операции из ссылок
+       for (i=0;i<links.length;i++) {
+               if (links[i].href.indexOf("newforum=")!=-1 ||
+                               links[i].href.indexOf("move=")!=-1) {
+                       links[i].style.display="none";
+               }       
+               
+       }       
+       if (!forumUser || rights == "banned") {
+       for (i=0;i<links.length;i++) {
+               if (links[i].href.indexOf("newtopic=")!=-1 ||
+                       links[i].href.indexOf("edit=")!=-1 ||
+                       links[i].href.indexOf("delete=")!=-1||
+                       (rights == "banned" && links[i].href.indexOf("reply=")!=-1)) {
+                               links[i].style.display="none";
+               }               
+       }       
+       return; 
+       }
+       // Убираем операции edit и delete для тех объектов, где юзер не
+       // автор
+
+       
+}
+
+//
+//  Показывает встроенную в страницу форму под текущей ссылкой
+//  Использование  <a href="forum?operation=1&id=id" //  onClick="showform(this,operation)">
+function showForm(link, formName) {
+       var id;
+       var action;
+   if (link.form) {
+       link = link.form;
+       id = link.elements["id"].value;
+       action = link.action;
+   } else {    
+       var linktext=link.href;
+       // Разобрать параметры, получить значение id
+       var start =linktext.indexOf("id=");
+       if (start!=-1) {
+                       start+=3;
+                       var end = linktext.indexOf("&",start);
+                       if (end==-1) end=linktext.length;
+                       id = linktext.substring(start,end);
+       }       
+       start=linktext.indexOf("?");
+       action=linktext.substring(0,start);
+   }
+   var block = document.getElementById(formName);
+   var         f       = block.getElementsByTagName("form")[0];
+       f.action=action;
+   if (id) {
+      f.elements["id"].value=id;
+   }
+   window.setTimeout(function() {f.elements["text"].focus();},250);            
+   linktext = document.location.href;
+   var anchor = linktext.indexOf("#");
+   if (anchor!=-1) {
+         linktext=linktext.substring(0,anchor);
+   }   
+   document.location.href=linktext+"#replyform";
+   return false;
+}
+function hideForm(formId) {
+       var block = document.getElementById(formId);
+       block.style.display = "none";
+}
+/**
+* Создаёт объект XMLHttpRequest, предварительно уничтожая существующий,
+* если такой существует.
+*/
+function getXMLHttpRequest()
+{
+    try {
+        return xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
+    } catch (e) {
+        try {
+            return new ActiveXObject("Microsoft.XMLHTTP");
+        } catch (E) {
+           if (typeof XMLHttpRequest!='undefined')
+               return new XMLHttpRequest();
+        }
+    }
+
+    return false;
+}
+
diff --git a/templates/belstyle/register.html b/templates/belstyle/register.html
new file mode 100644 (file)
index 0000000..419c7b5
--- /dev/null
@@ -0,0 +1,63 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD>
+<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
+<TITLE>Still Life - регистрация пользователя</TITLE>
+<script type="text/javascript" src="templates/form.js"></script> 
+<script type="text/javascript" src="templates/common.js"></script> 
+<link rel="forum-script" href="forum">
+<link rel="forum-user-list" href="forum">
+<link rel="stylesheet" type="text/css" href="templates/basic.css">
+</HEAD><BODY>
+<H3>Тестовый форум Still Life</h3>
+<div style="border: 1px solid; border-color: #777777; padding: 5px;">
+<form method="POST" name="login" action="forum">
+Имя: <input type=text name="user" size=30> 
+<select name="openidsite" onchange="selectSite(this)">
+<option selected value="">Этот сайт</option>
+<option value="http://livejournal.com/users/%s">LiveJournal.com</option>
+<option value="http://diary.ru/~%s">Diary.ru</option>
+<option value="http://lj.rossia.org/users/%s">LJ.Rossia.org</option>
+<option value="http://%s">Другой Open-ID сайт</option> 
+</select>
+<input type=submit name=login value="Войти"><br>
+Пароль: <input type="password" name="password">
+<input type="checkbox" name="bindip" value="1"> Только с этого IP-адреса
+</form>
+</div>
+
+<h1>Регистрация нового пользователя</h1>
+<div class="error"></div>
+<form name="register" method="POST" action="forum" enctype="multipart/form-data">
+<table border=0>
+<tr><td>Имя</td><td><input name="user" size="32"></td></tr>
+<tr><td rowspan=2>Пароль</td><td><input name="pass1" type="password"></td></tr>
+<tr><td><input name="pass2" type="password"></td></tr>
+<tr><td>Адрес E-Mail</td><td><input name="email" size="40"></td></tr>
+<tr><td>Адрес ICQ</td><td><input name="icq" size="12"></td></tr>
+<tr><td>Адрес Jabber</td><td><input name="jabber" size="40"></td></tr>
+<tr><td>Пол</td><td><select name="gender"><option>Мужской</option><option >Женский</option><option selected>Не
+афишируется</option></select></td></tr>
+<tr><td>Потолок<br><span class="fineprint">(в метрах)</span></td><td><input name="ceiling" size="8"></td></tr>
+<tr><td>Комментарий<br><span class="fineprint">(виден только<br>на странице<br>
+пользователя)</span></td><td><textarea name="comment" rows=5
+cols=60></textarea><br><select name="comment_format"><option
+value="text">Без разметки</option><option
+value="bbcode">BBCode</option><option
+value="html">Html</option></select></td></tr> 
+<tr><td rowspan=2>Аватар</td><td>URL: <input name="avatar"
+size=50></td></tr>
+<tr><td>Или загрузить: <input type=file name="avatarfile"></td></tr>
+<tr><td>Подпись<br><span class="fineprint">(добавляется<br>ко всем<br>
+сообщениям)</span></td><td><textarea name="signature" rows=5
+cols=60></textarea><br><select name="signature_format"><option
+value="text">Без разметки</option><option
+value="bbcode">BBCode</option><option
+value="html">Html</option></select></td></tr> 
+<tr><td colspan=2 align=center><input type=submit name="register"
+value="Зарегистрироваться"></td></tr>
+</table>
+
+</form>
+
+</BODY>
+</HTML>
diff --git a/templates/belstyle/reply.html b/templates/belstyle/reply.html
new file mode 100644 (file)
index 0000000..d1ed9dd
--- /dev/null
@@ -0,0 +1,44 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD>
+<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
+<TITLE>Still Life - Высказаться</TITLE>
+<script type="text/javascript" src="templates/form.js"></script>
+<script type="text/javascript" src="templates/common.js"></script>
+<link rel="forum-script" href="forum">
+<link rel="forum-user-list" href="forum">
+<link rel="stylesheet" type="text/css" href="templates/basic.css">
+</HEAD><BODY>
+<H3>Тестовый форум Still Life</h3>
+<form method="POST" enctype="multipart/form-data" name="reply" action="forum">
+<input type="hidden" name="id" value="">
+<table border=0>
+<tr><td rowspan=2>Пользователь:</td><td> <a class="author" href="forum?register=1">Зарегистрироваться</a><br></td></tr>
+<tr><td><input type=text name="user" size=30> 
+<select name="openidsite" onchange="selectSite(this)">
+<option selected value="">Этот сайт</option>
+<option value="http://livejournal.com/users/%s">LiveJournal.com</option>
+<option value="http://diary.ru/~%s">Diary.ru</option>
+<option value="http://lj.rossia.org/users/%s">LJ.Rossija.org</option>
+<option value="http://%s">Другой Open-ID сайт</option> 
+</select></td></tr>
+<tr> <td rowspan=2>Пароль:</td><td><input type="password" name
+="password"></td></tr>
+<tr><td><input type="checkbox" name="bindip" value="1"> Только с этого IP-адреса
+</td></tr>
+<tr><td colspan=2  class="error"></td></tr>
+<tr><td>Тема: </td><td><input name="subject" size="40"></td></tr>
+<tr><td>Текст:</td><td><textarea name="text" rows=10
+cols=72></textarea></td></tr> 
+<tr><td>Формат:</td><td><select name="text_format"><option value="text"
+selected>Без разметки</option>
+<option value="bbcode">BBCode</option>
+<option value="html">Html</option></select></td></tr>
+<tr class="pictureinput"><td>Картинка</td> <td><input onchange="addPictureInput(this);" type=file name="image1"></td></tr>
+<tr><td colspan=2 align=right><input type=submit name="reply"
+value="Высказаться">
+</table>
+
+</form>
+
+</BODY>
+</HTML>
diff --git a/templates/belstyle/setrights.html b/templates/belstyle/setrights.html
new file mode 100644 (file)
index 0000000..7ae096a
--- /dev/null
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD>
+<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
+<TITLE>Установка прав доступа</TITLE>
+<link rel="forum-script" href="forum">
+<link rel="forum-user-list" href="forum">
+<link rel="stylesheet" type="text/css" href="templates/basic.css">
+</HEAD><BODY>
+<h1>Права доступа</h1>
+<div class="dirlist">
+<h3>Права на вышележащие разделы:</h3>
+<table width="100%" class="dir" border=1 cellspacing=0>
+<tr><td colspan="2" align=left><a class="dirlink" href=#></a></td>
+<td align=right><a class="rights" href="#">Права</a></td>
+</tr>
+<tr align=center><th>Администраторы</th><th>Модераторы</th><th>Запрещен доступ</th></tr>
+<tr align=center valign=top><td class="admins"></td><td class="moderators"></td><td
+class="banned"></td></tr>
+</table>
+</div>
+<form name="setrights" method=POST>
+<H3>Права на данный раздел:<a class="dirlink"></a></h3>
+<span class="error"></span>
+<table width="100%" >
+<tr><th>Администраторы</th><th>Модераторы</th><th>Запрещен доступ</th></tr>
+<tr><td><textarea cols=30 rows=10 name="admins"></textarea></td>
+<td><textarea cols=30 rows=10 name="moderators"></textarea></td>
+<td><textarea cols=30 rows=10 name="banned"></textarea></td>
+<tr><td colspan=3 align="right"><input type="submit" name="setrights"
+value="Сохранить">
+</table>
+</form>
+
+</BODY>
+</HTML>
diff --git a/templates/belstyle/topic.html b/templates/belstyle/topic.html
new file mode 100644 (file)
index 0000000..446091a
--- /dev/null
@@ -0,0 +1,146 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD>
+<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
+<META NAME="description" CONTENT="">
+<TITLE>Белория RPG - Форум</TITLE>
+<script type="text/javascript" language="JavaScript" src="page.js"></script>
+<script type="text/javascript" language="JavaScript" src="common.js"></script>
+<link rel="forum-script" href="forum">
+<link rel="forum-user-list" href="forum">
+<link rel="stylesheet" type="text/css" href="belstyle.css">
+</HEAD><BODY onload="customizePage();">
+<center>
+<table width=95% cellpadding=5 cellspacing=0 border=0>
+<tr>
+<td valign=absmiddle width=160 height=135>
+<img src="http://www.belorya-rpg.ru/template/logo8.png">
+</td>
+<td>
+<p class=center><img src=http://www.belorya-rpg.ru/template/zaglavie6.gif>
+</td>
+<td valign=absmiddle width=160 height=135>
+</td>
+
+<tr>
+<td colspan=3>
+<p><a class="userurl" href="forum?register=1">Зарегистрироваться</a> <a
+class="login" href="forum?login=1">Войти</a> 
+<a href="forum?edit=1">Редактировать</a>
+<a href=".">К списку тем</a>
+<!--H3>Тестовый форум Still Life</h3-->
+<center>
+<table width=100% class=forumtable>
+<tr>
+<td valign=top>
+
+<p class=title>Тестовая тема</p>
+<p>Создана <a class="author">Irene</a> <span class="date">06.05.2008</span>
+<div class="abstract">
+<p>Это такая тестовая тема
+</div>
+<a href="forum?reply=1" onClick="return showForm(this,'replyform');">Высказаться</a>
+</td>
+</tr>
+</table>
+
+<div class="messagelist">
+<div class="message">
+
+<table width=100% class=forumtable border=0>
+<tr>
+<th rowspan=3 width=200 valign="top">
+<a href="#"><div class="user">Автор</div></a>
+<div class="avatar"><img alt=""
+src="http://www.belorya-rpg.ru/template/logo8.png"></div>
+<div class="forumstatus">Статус: <span class="ap-status">Тест</span></div>
+<div class="forumemail">Email: <span
+class="ap-email">test@test.ru</span></div>
+</td>
+<td><a class="manchor"></a><span class="mdate">21.03.2008 17:02</span> 
+<span class="subject">Тема сообщения</span> (<a class="mlink">ссылка</a>) <a
+class="mparent">(в ответ на)</a>
+</td>
+</tr>
+<tr>
+<td valign="top">
+<div class="mtext">Это очень-очень-очень длинный текст сообщения P.head1 {color: #522816; FONT-FAMILY: Monotype Corsiva, serif ; FONT-SIZE: 22px; padding: 0 0 0 0; TEXT-ALIGN: center; FONT-WEIGHT: normal;}
+
+P.pagetitle{color: #522816; FONT-FAMILY: Monotype Corsiva, serif ; FONT-SIZE: 40px; TEXT-ALIGN: center; margin: 0px 0px 0px 0px ; FONT-WEIGHT: normal;}
+
+body {background: url("http://www.belorya-rpg.ru/template/green.png");}
+
+p.copyright {FONT-FAMILY: Arial, Helvetica, sans-serif ; FONT-SIZE: 10px; FONT-STYLE: italic; COLOR: #dd9f64; text-align: right;  
+}
+
+p.center {TEXT-ALIGN: center;}
+
+h1 {color: #522816; FONT-FAMILY: Monotype Corsiva, serif ; FONT-SIZE: 28pt; TEXT-ALIGN: center; font-weight: normal; margin: 0px 0px 0px 0px ;}
+
+p.line {text-align: center;}
+
+.hand { FONT-FAMILY: Monotype Corsiva, serif ; FONT-SIZE: 12pt; COLOR: #324237; FONT-WEIGHT: normal;}
+
+.up {FONT-FAMILY: Monotype Corsiva, serif ; FONT-SIZE: 12pt; COLOR: #324237; FONT-WEIGHT: normal; TEXT-ALIGN: right; TEXT-DECORATION: underline;}
+
+.up a {FONT-FAMILY: Monotype Corsiva, serif ; FONT-SIZE: 12pt; COLOR: #324237; FONT-WEIGHT: normal; TEXT-ALIGN: right; TEXT-DECORATION: underline;}
+
+.up a:visited {FONT-FAMILY: Monotype Corsiva, serif ; FONT-SIZE: 12pt; COLOR: #324237; FONT-WEIGHT: normal; TEXT-ALIGN: right; TEXT-DECORATION: underline;}
+
+.up a:hover {FONT-FAMILY: Monotype Corsiva, serif ; FONT-SIZE: 12pt; COLOR: #324237; FONT-WEIGHT: normal; TEXT-ALIGN: right; TEXT-DECORATION: underline;}
+</div>
+</td>
+</td>
+</tr>
+<tr>
+<td valign="top">
+<form class="msginfo" action="forum" method="GET">
+<input name=id type="hidden">
+<input name=author type="hidden">
+<input type="submit" name="edit" value="Редакт">
+<input type="submit" name="move" value="Переместить">
+<input type="submit" name="delete" value="Удалить">
+<input type="submit" name="reply" value="Высказаться"
+onClick="return showForm(this,'replyform');">
+</form>
+</td>
+</tr>
+</table>
+</div>
+</div>
+<div id="replyform">
+<form method="POST" enctype="multipart/form-data" name="reply" action="forum">
+<input type="hidden" name="id" value="">
+<table border=0>
+<tr><td rowspan=2>Пользователь:</td><td> <a class="userurl" href="forum?register=1">Зарегистрироваться</a><br></td></tr>
+<tr><td><input type=text name="user" size=30> 
+<select name="openidsite" onchange="selectSite(this)">
+<option selected value="">Этот сайт</option>
+<option value="http://livejournal.com/users/%s">LiveJournal.com</option>
+<option value="http://diary.ru/~%s">Diary.ru</option>
+<option value="http://lj.rossia.org/users/%s">LJ.Rossija.org</option>
+<option value="http://%s">Другой Open-ID сайт</option> 
+</select></td></tr>
+<tr> <td rowspan=2>Пароль:</td><td><input type="password" name
+="password"></td></tr>
+<tr><td><input type="checkbox" name="bindip" value="1"> Только с этого IP-адреса
+</td></tr>
+<tr><td colspan=2  class="error"></td></tr>
+<tr><td>Тема: </td><td><input name="subject" size="40"></td></tr>
+<tr><td>Текст:</td><td><textarea name="text" rows=10
+cols=72></textarea></td></tr> 
+<tr><td>Формат:</td><td><select name="text_format"><option value="text"
+selected>Без разметки</option>
+<option value="bbcode">BBCode</option>
+<option value="html">Html</option></select></td></tr>
+<tr class="pictureinput"><td>Картинка</td> <td><input onchange="addPictureInput(this);" type=file name="image1"></td></tr>
+<tr><td colspan=2 align="right">
+<input type="button" value="Отмена" onclick="return hideForm('replyform');">
+<input type=submit name="reply" value="Высказаться"></td></tr>
+</table>
+</form>
+</div>
+</td>
+</tr>
+</table>
+</BODY>
+</HTML>
diff --git a/templates/belstyle/user.html b/templates/belstyle/user.html
new file mode 100644 (file)
index 0000000..a8d3f67
--- /dev/null
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD>
+<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
+<TITLE>Still Life - Вход</TITLE>
+<script type="text/javascript" language="JavaScript" src="templates/form.js"></script>
+<script type="text/javascript" language="JavaScript" src="templates/common.js"></script>
+<link rel="forum-script" href="forum">
+<link rel="forum-user-list" href="forum">
+<link rel="stylesheet" type="text/css" href="templates/basic.css">
+</HEAD><BODY bgcolor="#ccffcc">
+<H3>Тестовый форум Still Life</h3>
+<H2>Пользователь <a href="#" class="author"></a></H2>
+<img src="#" alt="" class="avatar">
+<a href="forum?profile=1">Редактировать</a><br clear="all">
+
+<table border=1 cellspacing=0 width="500" cellpadding=10>
+<tr><td>Статус</td><td width="400"><span class="ap-status"></span></td></tr>
+<tr><td>Зарегистрирован</td><td><span class="ap-registered"></span></td></tr>
+<tr><td>Адрес E-Mail</td><td><span class="ap-email"></span></td></tr>
+<tr><td>Адрес ICQ</td><td><span class="ap-icq"></span></td></tr>
+<tr><td>Адрес Jabber</td><td><span class="ap-jabber"></span></td></tr>
+<tr><td>Пол</td><td><span class="ap-gender"></span></td></tr>
+<tr><td>Потолок<br><span class="fineprint">(в
+метрах)</span></td><td><span class="ap-ceiling"></span></td></tr>
+<tr><td>Комментарий<br><span class="fineprint">(виден только<br>на странице<br>
+пользователя)</span></td><td><div class="ap-comment"> </div></td></tr> 
+<tr><td>Подпись<br><span class="fineprint">(добавляется<br>ко всем<br>
+сообщениям)</span></td><td><div class="ap-signature"> </div></td></tr> 
+<tr><td>Сообщений</td><td><span class="ap-messages"></span>(последнее 
+<span class="ap-last_message"></span>)</td></tr> 
+<tr><td>Тем</td><td><span class="ap-topics"></span>(последняя 
+<span class="ap-last-topic"></span>)</td></tr> 
+</table>
+</BODY>
+</HTML>
diff --git a/templates/belstyle/userlist.html b/templates/belstyle/userlist.html
new file mode 100644 (file)
index 0000000..7b69b2d
--- /dev/null
@@ -0,0 +1,22 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD>
+<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
+<TITLE>Still Life - Список пользователей</TITLE>
+<script type="text/javascript" language="JavaScript" src="templates/form.js"></script>
+<script type="text/javascript" language="JavaScript" src="templates/common.js"></script>
+<link rel="forum-script" href="forum">
+<link rel="forum-user-list" href="forum">
+<link rel="stylesheet" type="text/css" href="templates/basic.css">
+</HEAD><BODY bgcolor="#ccffcc">
+<H3>Тестовый форум Still Life</h3>
+<H2>Список пользователей</H2>
+
+<table border=1 cellpadding=2>
+<tr><th>Пользователь</th><th>Статус</th><th>Зарегистрирован</th><th>Сообщений</th><th>Последнее</th></tr>
+<tr class="userinfo"><td><a class="author" href="#"></a></td><td
+class="ap-status"></td><td class="ap-registered"></td><td
+class="ap-messages"></td><td class="ap-last-message"></td><td><a
+href="forum?profile=1">Редактировать</a></td></tr>
+</table>
+</BODY>
+</HTML>