Объединенный Открытый Проект - Сайт для Настоящих Компьютерщиков

Объединенный Открытый Проект

Сайт для Настоящих Компьютерщиков

; Логин:
  Пароль:
Обычный
Безопасный
Запомнить пользователя



Зарегистрироваться
Забыли пароль?
 
 
 
Объединенный Открытый Проект »   Русский IkonBoard »   Хаки для Ikonboard »   Хак - Доступ модераторов к отдельным функциям Админцентра
RSS

Хак - Доступ модераторов к отдельным функциям Админцентра

И деление модераторов на уровни

Текущий рейтинг темы: Нет

<<Назад  Вперед>>Модератор: GramПечать
 
BlackWolf
Новичок


Откуда: Петрозаводск
Всего сообщений: 32
Рейтинг пользователя: 0





Дата регистрации на форуме:
19 июня 2003
В новом форуме есть ссылка на админцентр ? Что то я не нашел.. :(
И где там выставлять время за которое он считает пользователей ?
А так же раньше было последняя запись Вова тема такая то.. А тепероь просто псоледняя запись от Вова и все...
А так супер !

(Сообщение отредактировал BlackWolf 19 июня 2003 15:19)


---
Иих сила в варварских законах ...их знамя шкуры серой блеск..их воля в древних темных кронах....из мрака созидавших лес
BlackWolf
Новичок


Откуда: Петрозаводск
Всего сообщений: 32
Рейтинг пользователя: 0





Дата регистрации на форуме:
19 июня 2003
И в догонку где постаить размер отображения аваторов в форумах ? А то картинка 100х100 а показывает где то 35х35 ?

---
Иих сила в варварских законах ...их знамя шкуры серой блеск..их воля в древних темных кронах....из мрака созидавших лес
4X_Pro
Руководитель Проекта
Настоящий Компьютерщик

Откуда: Москва
Всего сообщений: 2994
Рейтинг пользователя: 79





Дата регистрации на форуме:
29 сен. 2001
1. Ссылка на АдминЦентр есть в Release 4 Final, она находится на главной странице внизу и видна только в том случае, если вы войдете на форум с администраторским логином. Впрочем, всегда можно войти в Центр Администрирования напрямую (это файл admincenter.cgi).
2. Время, за которое форум считает пользователей (если я правильно понял, о чем идет речь) фиксировано, и равно 15 минутам. Если надо, то в следующем выпуске (который планируется в начале июля) я сделаю это время изменяемым, а пока его можно исправить только вручную (где-то в процедуре whosonline файла ikon.lib).
3. Это называется last-post hack. Ни в оригинальной английской, ни в моей русской версии этого нет и в том виде, в котором он есть в Рубоард-версии, никогда не будет (хотя в следующий выпуск я включу его некий аналог).
4. Размер аватаров задается в Центре Администрирования, раздел "Дополнительные возможности".

---
Каждый человек всегда может найти, чем он может быть полезен окружающим. Проблема только в одном: слишком многие не хотят это искать.
JESUS
Новичок

JESUS
Откуда: Минск
Всего сообщений: 249
Рейтинг пользователя: 0





Дата регистрации на форуме:
10 сен. 2003
есть возможность выложить хак по делению модеров на уровни... первый уровень имеет доступ к некоторым возможностям админцентра... если надо - могу выложить....
нашел этот хак в базе IBHackers... однако он там совершенно недоработанный и глючный... я переделал и сделал легко настраиваемым...

если надо - пишите, выложу!
у меня все пашет без глюков и модеры довольны ;)


Igor
Долгожитель форума

Igor
Откуда: Раменское
Всего сообщений: 311
Рейтинг пользователя: 1





Дата регистрации на форуме:
8 апр. 2003
JESUS, выкладывай ;)

---
FYI  AKA  Shatun
JESUS
Новичок

JESUS
Откуда: Минск
Всего сообщений: 249
Рейтинг пользователя: 0





Дата регистрации на форуме:
10 сен. 2003
[B]Igor [/B]
в понедельник - там писать дофигища.... ;)

JESUS
Новичок

JESUS
Откуда: Минск
Всего сообщений: 249
Рейтинг пользователя: 0





Дата регистрации на форуме:
10 сен. 2003
Итак, обещанный хак... Два в одном ;)
Слова народные (идея - некто quzax),
исправления и дополнения мои ;)
----------------------------------------------------------
- Уровни модераторов
- Доступ модераторов к отдельным функциям Админцентра
----------------------------------------------------------
!!!!! СОВЕТУЮ ПРОЧИТАТЬ ВНИМАТЕЛЬНО!!!!!
!!!!!     ОТ ЭТОГО ЗАВИСИТ НАПРЯМУЮ      !!!!!
!!!!!          БЕЗОПАСНОСТЬ ФОРУМА           !!!!!

НЕ ЗАБЫВАЙТЕ СДЕЛАТЬ КОПИИ РЕДАКТИРУЕМЫХ ФАЙЛОВ!
----------------------------------------------------------
[B]admincenter.cgi[/B]
----------------------------------------------------------


Находим:
<br>if (($membercode eq "ad") && ($inpassword eq $password) && ($inmembername eq $membername)) {<br>

и заменяем на:
<br>if (($membercode eq "ad" || $membercode eq "m1" || $membercode eq "m2") && ($inpassword eq $password) && ($inmembername eq $membername)) {<br>
здесь m1 и m2 - уровни модераторов (не забываем, что в настоящее время уровень mo - так что если не менять ничего в других скриптах, то уровня становится три)

------------------------------------------------------
[B]setmembers.cgi[/B]
------------------------------------------------------
Заменяем:
<br>if (($membercode eq "ad") && ($inpassword eq $password) && ($inmembername eq $membername)) {<br>
на:
<br>if (($membercode eq "ad" || $membercode eq "m1" || $membercode eq "m2") && ($inpassword eq $password) && ($inmembername eq $membername)) {<p>if ($membercode eq "ad") {$admintestpassed = "true";}<br>
в этом случае дается доступ ко всем настройкам участников в админке модерам первого и второго класса... мой совет делать немного не так и выделить конкретные процедуры, к которым дать доступ (например не стоит модерам участников удалять......
для этого нужно поставить (кроме указанного выше) код
<br> if (($membercode eq "ad") && ($inpassword eq $password) && ($inmembername eq $membername)) { <br>
на каждую процедуру, к которой дается доступ (не забыть добавить
<br>   }<br>      else{<br>                print qq~<br><tr><td bgcolor=#333333 colspan=2><font face=verdana size=3 color=#FFFFFF><b>Нет прав доступа к процедуре:</b></td></tr><br><tr><td bgcolor=#EEEEEE valign=middle align=center colspan=2><font face=verdana color=#333333 size=3><b>Данное действие разрешено только Администраторам!</b></td></tr></table></td></tr></table><br>                ~;<br>}<br>
перед фигурной скобкой в конце процедуры (каждой разрешаемой)...

Далее:

<br>$memberstateoutput = qq~<select name="membercode"><option value="me">Участник<option value="banned">Изгнанный<option value="ad">Администратор<option value="mo">Модератор</select>~;<br>   <p>$memberstateoutput =~ s/value=\"$membercode\"/value=\"$membercode\" selected/g;<br>
в оригинале хака было предложено заменить на:
<br>if ($admintestpassed eq "true") {      <br>    $memberstateoutput = qq~<select name="membercode"><option value="me">Участник<option value="banned">Изгнанный<option value="ad">Администратор<option value="mo">Модератор<option value="m1">Модератор 1<option value="m2">Модератор 2</select>~;<p>    $memberstateoutput =~ s/value=\"$membercode\"/value=\"$membercode\" selected/g;<br>} else {<br> $memberstateoutput = $membercode;<br>}<br>
однако, после того, как я сделал это, модераторы, которым разрешен доступ к редактированию профилей участников стали после редактирования обнулять их или свой статус до "Участник"... что особо неприятно для самих модераторов ;)
(если кто подскажет, почему так происходит - рассказывайте)

А для остальных:
делаем по-другому....
<br>$memberstateoutput = qq~<select name="membercode"><option value="me">Участник<option value="banned">Изгнанный<option value="ad">Администратор<option value="mo">Модератор</select>~;<br>   <p>$memberstateoutput =~ s/value=\"$membercode\"/value=\"$membercode\" selected/g;<p>

не удаляем, а просто добавляем в него еще два уровня модераторов.... т.е. код:
<br><option value="m1">Модератор 1<option value="m2">Модератор 2<br>
и после этого самое главное....
если все оставить, как есть модераторы двух уровней получат доступ ко всей инфе о юзверях, в том числе к паролям!!!, а также смогут сменить себе статус вплоть до админского...
так что некоторую информацию немешало бы все-таки скрыть....
Мой выход (может, есть и попроще, но я не монстр в перле... причем совершенно не монстр):

Вместо кода:
<br><tr><br>    <td bgcolor=#FFFFFF><font face=verdana color=#333333 size=1><b>Пароль:</b></td><br>    <td bgcolor=#FFFFFF><input type=text size=20 name="password" value="$password"></td><br>    </tr><br>

добавить проверку:
<br>   ~;<br> if (($membercode eq "ad") && ($inpassword eq $password) && ($inmembername eq $membername)) {<br> print qq~ <br><tr><br>    <td bgcolor=#FFFFFF><font face=verdana color=#333333 size=1><b>Пароль:</b></td><br>    <td bgcolor=#FFFFFF><input type=text size=20 name="password" value="$password"></td><br></tr> <br>~;<br>}<br>else {<br><tr><br>    <td bgcolor=#FFFFFF style="visibility: hidden;"><font face=verdana color=#333333 size=1><b>Пароль:</b></td><br>    <td bgcolor=#FFFFFF><input type=text size=20 name="password" value="$password"></td><br></tr> <br>~;<br>}<br>
то есть скрываем строку таблицы в случае, если статус не админский....
точно также необходимо поступить и со строкой таблицы, выводящей статусы участников... и др. информацию, которую нужно скрыть от модеров...


--------------------------------------------------------
[B]setforums.cgi[/B]
--------------------------------------------------------
код...
<br>if (($membercode eq "ad") && ($inpassword eq $password) && ($inmembername eq $membername)) {<br>
если есть желание дать модерам первого уровня доступ к настройкам форумов, заменить на этот:
<br>if (($membercode eq "ad" || $membercode eq "m1") && ($inpassword eq $password) && ($inmembername eq $membername)) {<br>
-----------------------
принцип по-моему понятен... можно открывать и другие разделы админки... например бан по айпишнику....

Вроде все выложил правильно....
Если че не так - пишите сюды....
у меня все работает...

------------------
ПС... не забудьте добавить в topic.cgi новые уровни, кроме уже имеющегося mo... иначе модераторы первого и второго уровня не будут отображаться в топиках соответствующим образом... думаю это просто и разжевывать не стоит.... ;)

(Сообщение отредактировал JESUS 3 нояб. 2003 14:45)


<<Назад  Вперед>>Модератор: GramПечать
Объединенный Открытый Проект »   Русский IkonBoard »   Хаки для Ikonboard »   Хак - Доступ модераторов к отдельным функциям Админцентра
RSS
Быстрый переход в раздел:


Время выполнения скрипта: 0.0259. Количество выполненных запросов: 18, время выполнения запросов 0.0124