Предоставляем срочную помощь по DLE, пишем эксклюзивные модули для вашего проекта, парсеры грабберы, исправляем базу данных, удаляем вирусы редиректы, обновляем скрипты, помощь с переездом на другой хостинг, перенос домена, большой опыт работы с высоконагруженными проектами, защита ddos атаки, ботов и спама, оптимизация модулей и серверов дле, более 10 лет работы, тысячи модификаций и доработок, короткие сроки, дорого, качественно. telegram: @histoo

[Решено] Ошибка в модуле предупреждений приводит к разбану любого пользователя

  1. Онлайн

    Grey

    Администраторы

    Сообщений: 2130

    [Проблема] Забаненные пользователи странным образом разбаниваются.

    [Решено] Если администратор, модер или группа у которой разрешен "просмотр уровеня предупреждений" смотрит предупреждения забанненого пользователя - бан снимается

    Редактировать будем файл: /engine/bullet_energy/action/site/warning.php

    Найти функцию:
    
      private function _userBanned($userID = 0)
      {
        $option = array() ;
        if(empty(parent::$config['BE']['widget_warning_bann'])) {
          $option['time'] = 0 ;
        } else {
          $option['time'] = parent::$timeParameters['time'] + (intval(parent::$config['BE']['widget_warning_bann']) * 86400) ;
        }
        $option['row'] = parent::$db->super_query("SELECT forum_warning,user_id FROM " . DBNAME . "." . PREFIX . "_users WHERE user_id = {$userID} LIMIT 1") ;
        if($option['row']['forum_warning'] >= parent::$config['BE']['widget_warning_count']) {
          parent::$db->query("SELECT * FROM " . DBNAME . "." . PREFIX . "_banned WHERE users_id = {$userID} LIMIT 1") ;
          if(parent::$db->num_rows()) {
            return false ;
          }
          parent::$db->query("UPDATE " . DBNAME . "." . PREFIX . "_users SET banned = 'yes' WHERE user_id = {$userID} LIMIT 1") ;
          parent::$db->query("INSERT " . DBNAME . "." . PREFIX . "_banned (id, users_id, descr, date, days, ip) VALUES (NULL, {$userID}, '" . parent::$bullet_energy_lang['msg_58'] . "', {$option['time']}, " . parent::$config['BE']['widget_warning_bann'] . ", '')") ;
        } else {
          parent::$db->query("DELETE FROM " . DBNAME . "." . PREFIX . "_banned WHERE users_id = {$userID} LIMIT 1") ;
          parent::$db->query("UPDATE " . DBNAME . "." . PREFIX . "_users SET banned = '' WHERE user_id = {$userID} LIMIT 1") ;
        }
        @unlink(ENGINE_DIR . '/cache/system/banned.php') ;
        return $option['row']['forum_warning'] ;
      }
    


    Заменить на:
    
      private function _userBanned($userID = 0)
      {
        $option = array() ;
        
        if(empty(parent::$config['BE']['widget_warning_bann'])) {
          $option['time'] = 0 ;
        } else {
          $option['time'] = parent::$timeParameters['time'] + (intval(parent::$config['BE']['widget_warning_bann']) * 86400) ;
        }
        
        $option['row'] = parent::$db->super_query("SELECT forum_warning,user_id FROM " . PREFIX . "_users WHERE user_id = '{$userID}' LIMIT 1") ;
        
        if($option['row']['forum_warning'] != 0 AND $option['row']['forum_warning'] >= parent::$config['BE']['widget_warning_count']) {
          parent::$db->query("SELECT * FROM " . PREFIX . "_banned WHERE users_id = '{$userID}' LIMIT 1") ;
          
          if(parent::$db->num_rows()) {
            return false ;
          }
          
          parent::$db->query("UPDATE " . PREFIX . "_users SET banned = 'yes' WHERE user_id = '{$userID}' LIMIT 1") ;
          parent::$db->query("INSERT " . PREFIX . "_banned (id, users_id, descr, date, days, ip) VALUES (NULL, '{$userID}', '" . parent::$bullet_energy_lang['msg_58'] . "', '{$option['time']}', " . parent::$config['BE']['widget_warning_bann'] . ", '')") ;
          @unlink(ENGINE_DIR . '/cache/system/banned.php') ;
        }
            
        return $option['row']['forum_warning'] ;
      }
    


    Теперь никто не будет разбанивать пользователей.

    Вложения:

    1. warn.fix.txt

      Размер файла:
      3,04 Kb
      Скачиваний:
      532
    OTM_tm, kppava нравится это сообщение.
    Сообщение отредактировал Grey 29 октября 2013 - 00:39

    сделаю любой модуль dle на заказ, если вам нужны услуги по dle
    скaйп rdn-team.com
    телегрaм @histoo

    29 октября 2013 - 00:15 / #1
Модераторы форума: greyPowered by Bullet Energy Forum