]> www.wagner.pp.ru Git - oss/stilllife.git/blob - templates/basicset/page.js
fd43ccdf0985ecb553117fbc46257b04792f5b42
[oss/stilllife.git] / templates / basicset / page.js
1 // Библиотека стандартных функций, используемых на страницах форума
2 //
3 // Извлекает из кук имя текущего пользователя и возвращает его 
4 function getUserName() {
5         var cookietext =document.cookie;
6         var pos = cookietext.indexOf("sluser=");
7         if (pos == -1)  {
8                 return undefined;
9         }
10         var start = pos+7;
11         var end = cookietext.indexOf(";",start);
12         if (end == -1) end=cookietext.length;
13         var value= cookietext.substring(start,end);
14         return unescape(value);
15 }
16 function showUser(username) {
17         if (!username) {
18                 return ;
19         }       
20         var links=document.getElementsByTagName("a");
21         for (i=0;i<links.length;i++) {
22                 if (links[i].className == "userurl") {
23                         while (links[i].childNodes.length>0) {
24                                 links[i].removeChild(links[i].childNodes[0]);
25                         }       
26                         links[i].appendChild(document.createTextNode(username));
27                 }
28         }       
29 }
30 //
31 // Добывает с сервера информацию о модераторах данного форума и
32 // возвращает user, moderator или admin в зависисмости от статуса
33 // указанного пользователя.  
34 //
35 function getUserRights(user) {
36
37 }
38 // Обработчик body onLoad
39 //  Пробегается по странице и прячет все элементы
40 // управления, которые не разрешены данному пользователю
41 //
42 function hideDeniedOperations() {
43     var user =getUserName();
44         var rights;
45         if (user) {     
46                 rights = getUserRights;
47         }
48         if (rights == "admin") {
49                 // Админу можно все
50                 return;
51         } else if (rights == "moderator") {
52                 // Убираем только администраторскую функцию setrights
53         } else if (user) {
54             // Убираем модераторские функции move и newforum
55                 
56                 // Пробегаемся по всем репликам и там, где автор != user
57                 // убираем edit и delete
58     } else {
59             // Убираем вообще все, включая reply
60         }        
61         
62 }
63
64 //
65 //  Показывает встроенную в страницу форму под текущей ссылкой
66 //  Использование  <a href="forum?operation=1&id=id" //  onClick="showform(this,operation)">
67 function showForm(link, formName) {
68    var linktext=link.href;
69    // Разобрать параметры, получить значение id
70    var start =linktext.indexOf("id=");
71    var id;
72    if (start!=-1) {
73                 start+=3;
74                 var end = linktext.indexOf("&",start);
75                 if (end==-1) end=linktext.length;
76                 id = linktext.substring(start,end);
77    }    
78    var f=document.forms[formName];
79    if (id) {
80       f.elements["id"].value=id;
81    }
82    f.style.display="block";
83    // позиционируем форму под текущей ссылкой.
84    return false;        
85 }