]> www.wagner.pp.ru Git - oss/stilllife.git/blobdiff - templates/basicset/page.js
Some polishing of forum template.
[oss/stilllife.git] / templates / basicset / page.js
diff --git a/templates/basicset/page.js b/templates/basicset/page.js
new file mode 100644 (file)
index 0000000..3bd4e75
--- /dev/null
@@ -0,0 +1,71 @@
+// Библиотека стандартных функций, используемых на страницах форума
+//
+// Извлекает из кук имя текущего пользователя и возвращает его 
+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);
+       return unescape(value);
+}
+//
+// Добывает с сервера информацию о модераторах данного форума и
+// возвращает user, moderator или admin в зависисмости от статуса
+// указанного пользователя.  
+//
+function getUserRights(user) {
+
+}
+// Обработчик body onLoad
+//  Пробегается по странице и прячет все элементы
+// управления, которые не разрешены данному пользователю
+//
+function hideDeniedOperations() {
+    var user =getUserName();
+       var rights;
+       if (user) {     
+               rights = getUserRights;
+       }
+       if (rights == "admin") {
+               // Админу можно все
+               return;
+       } else if (rights == "moderator") {
+               // Убираем только администраторскую функцию setrights
+       } else if (user) {
+           // Убираем модераторские функции move и newforum
+               
+               // Пробегаемся по всем репликам и там, где автор != user
+               // убираем edit и delete
+    } else {
+           // Убираем вообще все, включая reply
+       }        
+       
+}
+
+//
+//  Показывает встроенную в страницу форму под текущей ссылкой
+//  Использование  <a href="forum?operation=1&id=id" //  onClick="showform(this,operation)">
+function showForm(link, formName) {
+   var linktext=link.href;
+   // Разобрать параметры, получить значение id
+   var start =linktext.indexOf("id=");
+   var id;
+   if (start!=-1) {
+               start+=3;
+               var end = linktext.indexOf("&",start);
+               if (end==-1) end=linktext.length;
+               id = linktext.substring(start,end);
+   }   
+   var f=document.forms[formName];
+   if (id) {
+      f.elements["id"].value=id;
+   }
+   f.style.display="block";
+   // позиционируем форму под текущей ссылкой.
+   return false;       
+}