Сайт сообщества | Клуб пользователей | О проекте

Имя
Пароль
ПравилаРегистрацияСправка
Сообщения за деньПоиск

Вернуться   Клуб пользователей портальной системы RUNCMS > Опен Ресурс > Разработчикам > Готовые хаки

Ответ
 
Опции темы Опции просмотра
LARK вне форума LARK
[исход]

Аватар для LARK

| Цитировать Старый #11 06-03-2005, 22:01

Ok, только несколько предложений. Не делать это в рамках класса Permissions (так как мы получаем лишние запросы и на других страницах, помимо post.php), а просто сделать эту же проверку в post.php, можно в виде отдельной функции.

ПО поводу же $newbbConfig['antiflud_time'] - надо $newbbConfig глобальной объявить

Цитата:
function loadPermissions($forum_id)
{
global $db, $bbTable, $xoopsUser, $xoopsModule, $newbbConfig;
Но все же лучше это сделать не в классе Permissions


Правила нашего Форума :: О клубе пользователей RUNCMS :: Рекомендации по публикации сообщений :: Прежде чем задать вопрос воспользуйтесь Поиском
-------------------------------------------------------------------
Если что-то не работает, задавая вопрос, ! ОБЯЗАТЕЛЬНО ! пишите версию RUNCMS/модуля/PHP/MySQL и текст самой ошибки.
Посетить домашнюю страницу LARK
  Сообщения: 4,185 c 20.09.2003 | Репутация: 223
2San вне форума 2San
Участник

Аватар для 2San

| Цитировать Старый #12 06-04-2005, 12:08

LARK*За подсказку спасибо!

По поводу переделать: все упростилось вообще до безобразия класс permissions оставляем в покое (т.е. такой как он есть в дистрибе), а в post.php перед
PHP код:
        $sql "SELECT * FROM ".$bbTable['forums']." WHERE forum_id = ".$HTTP_POST_VARS['forum']."";
        if (!
$result $db->query($sql)) {
            
redirect_header("index.php"2_MD_CANTGETFORUM);
            exit();
        }
    
$forumdata $db->fetch_array($result); 
вставляем это:
PHP код:
    $anti_flud 0;
    
$userid 0;
    if ( 
$xoopsUser $userid $xoopsUser->getVar("uid");
    if ( !
$xoopsUser || !($xoopsUser->isAdmin($xoopsModule->mid()) || is_moderator($HTTP_POST_VARS['forum'], $userid))){
        
$at time() - $newbbConfig['antiflud_time'];
        
$sql "SELECT * FROM ".$bbTable['posts']." WHERE (post_time>".$at.") AND ";
        if ( 
$userid != ){
            
$sql .= "(uid = $userid)";
        }else{
            
$sql .= "(poster_ip='"._REMOTE_ADDR."')";
        }

        if (
$result $db->query($sql)) {
            if (
$row $db->fetch_object($result)) {
                
$anti_flud $row->post_time $at;
                }
            }

        if (
$anti_flud != 0){
            
redirect_header("viewforum.php?order=".$HTTP_POST_VARS['order']."&viewmode=".$HTTP_POST_VARS['viewmode']."&forum=".$HTTP_POST_VARS['forum']."",2,sprintf(_MD_ANTIFLUD$anti_flud));
            exit();
        }
    } 
в newbb_plus\language\russian\main.php добавить:
PHP код:
define("_MD_ANTIFLUD""Сработала защита антифлуда!<BR>Вы cможете добавить следующий ответ на форум или создать новую тему только через %s секунд."); 
в newbb_plus\language\russian\admin.php добавить:
PHP код:
define("_MD_A_ANTIFLUD_TIME","Время антифлуд-фильтра"); 
в newbb_plus\admin\forum_config.php после
PHP код:
$content .= "\$newbbConfig['similar_threads'] = ".intval($HTTP_POST_VARS['similar_threads']).";\r\n";; 
добавляем:
PHP код:
$content .= "\$newbbConfig['antiflud_time'] = ".intval($HTTP_POST_VARS['antiflud_time']).";\r\n"
там же после
PHP код:
$cfg_form->addElement(new XoopsFormLabel(_MD_A_WOL_OPTS.":"));
$cfg_form->addElement(new XoopsFormRadioYN(_MD_A_WOL_ENABLE,'wol_enabled',$newbbConfig['wol_enabled']));
$cfg_form->addElement(new XoopsFormText(_MD_A_WOL_ADMIN_COL,'wol_admin_col',10,10,$newbbConfig['wol_admin_col']));
$cfg_form->addElement(new XoopsFormText(_MD_A_WOL_MOD_COL,'wol_mod_col',10,10,$newbbConfig['wol_mod_col'])); 
добавляем:
PHP код:
// Antiflud time options
$cfg_form->addElement(new XoopsFormLabel(_MD_A_ANTIFLUD_TIME));
$cfg_form->addElement(new XoopsFormText(_DBG_SECONDS,'antiflud_time',10,10,$newbbConfig['antiflud_time'])); 
ВСЕ! заходим в настройки форума, вводим время в секундах и... теперь точно все!

Последний раз редактировалось 2San, 06-16-2005 в 19:19
Причина: Ошибка в описании

  Сообщения: 144 c 23.02.2005 | Репутация: 26
LARK вне форума LARK
[исход]

Аватар для LARK

| Цитировать Старый #13 06-04-2005, 14:30

2San Думаю это надо оформит в виде готового хаки и выложить в архив

Тему перенес в форум Готовые хаки


Правила нашего Форума :: О клубе пользователей RUNCMS :: Рекомендации по публикации сообщений :: Прежде чем задать вопрос воспользуйтесь Поиском
-------------------------------------------------------------------
Если что-то не работает, задавая вопрос, ! ОБЯЗАТЕЛЬНО ! пишите версию RUNCMS/модуля/PHP/MySQL и текст самой ошибки.
Посетить домашнюю страницу LARK
  Сообщения: 4,185 c 20.09.2003 | Репутация: 223
Sponsor вне форума Sponsor
Старичок

Аватар для Sponsor

| Цитировать Старый #14 06-05-2005, 11:55

Очень полезная вещь!!
Спасибо!!


Человечество - вот главный вирус !!! Matrix
Посетить домашнюю страницу Sponsor
  Сообщения: 510 c 18.05.2004 | Репутация: 20
clog вне форума clog
Зам старшего участника

Аватар для clog

| Цитировать Старый #15 06-05-2005, 12:28

Может кто нибудь выложит нужные файлы?

ТОлько для оптемезированого форума...что бы кол-во запросов осталось прежнее.

  Сообщения: 470 c 01.10.2004 | Репутация: 3
clog вне форума clog
Зам старшего участника

Аватар для clog

| Цитировать Старый #16 06-05-2005, 13:39

в newbb_plus\admin\forum_config.php после
PHP код:
$content .= "\$newbbConfig['similar_threads'] = ".intval($HTTP_POST_VARS['similar_threads']).";\r\n";; 
добавляем:
PHP код:
$content .= "\$newbbConfig['antiflud_time'] = ".intval($HTTP_POST_VARS['antiflud_time']).";\r\n"
там же после
PHP код:
$cfg_form->addElement(new XoopsFormLabel(_MD_A_WOL_OPTS.":"));
$cfg_form->addElement(new XoopsFormRadioYN(_MD_A_WOL_ENABLE,'wol_enabled',$newbbConfig['wol_enabled']));
$cfg_form->addElement(new XoopsFormText(_MD_A_WOL_ADMIN_COL,'wol_admin_col',10,10,$newbbConfig['wol_admin_col']));
$cfg_form->addElement(new XoopsFormText(_MD_A_WOL_MOD_COL,'wol_mod_col',10,10,$newbbConfig['wol_mod_col'])); 
добавляем:
PHP код:
// Antiflud time options
$cfg_form->addElement(new XoopsFormLabel(_MD_A_ANTIFLUD_TIME));
$cfg_form->addElement(new XoopsFormText(_DBG_SECONDS,'antiflud_time',10,10,$newbbConfig['antiflud_time'])); 
ВСЕ! заходим в настройки форума, вводим время в секундах и... теперь точно все![/quote]


Не получаеться эта строчка. Выдает ошибку. Посмотри еще раз плиз...

  Сообщения: 470 c 01.10.2004 | Репутация: 3
2San вне форума 2San
Участник

Аватар для 2San

| Цитировать Старый #17 06-05-2005, 14:27

Цитата:
Не получаеться эта строчка. Выдает ошибку. Посмотри еще раз плиз...
Какая ошибка напиши.

  Сообщения: 144 c 23.02.2005 | Репутация: 26
clog вне форума clog
Зам старшего участника

Аватар для clog

| Цитировать Старый #18 06-05-2005, 14:44

ТОчно не помню...уже удалил хак. Ну там что то на 100-101 строчке.

  Сообщения: 470 c 01.10.2004 | Репутация: 3
2San вне форума 2San
Участник

Аватар для 2San

| Цитировать Старый #19 06-05-2005, 14:48

Цитата:
clog:
ТОчно не помню...уже удалил хак. Ну там что то на 100-101 строчке.
Мдя... пойдти туда не помню точно куда....

  Сообщения: 144 c 23.02.2005 | Репутация: 26
2San вне форума 2San
Участник

Аватар для 2San

| Цитировать Старый #20 06-05-2005, 15:01

Кажеться нашел. В последней строчке написано:
PHP код:
$  newbbConfig['antiflud_time'
надо конечно без пробелов:
PHP код:
$newbbConfig['antiflud_time'
ps
почему-то код в тегах [ PHP ] и [ CODE ] не коректно обрабатываеться в vBulletin.
Просьба к админам: проверьте сообщение. Вставлял без пробелов работающий код. А при выводе он порезан в произвольных местах пробелами.

Последний раз редактировалось 2San, 06-05-2005 в 15:13

  Сообщения: 144 c 23.02.2005 | Репутация: 26
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Рейтинг@Mail.ru Хостинг провайдер Majordomo. Powered by: vBulletin Version 3.0
Copyright ©2000-2024, Jelsoft Enterprises Ltd.
Все разделы прочитаны - Руководство форума - Архив - Вверх
Rambler's Top100
Output: 106.22 Kb. compressed to 98.77 Kb. by saving 7.45 Kb. (7.02%)
Page generated in 0.08307 seconds with 10 queries