[Проблема] Забаненные пользователи странным образом разбаниваются.
[Решено]
Если администратор, модер или группа у которой разрешен "просмотр уровеня предупреждений" смотрит предупреждения забанненого пользователя - бан снимаетсяРедактировать будем файл: /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'] ;
}
Теперь никто не будет разбанивать пользователей.
, нравится это сообщение.
Сообщение отредактировал 29 октября 2013 - 00:39