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

Совместимость Bullet Energy и DLE 11.3 + LogicBoard 5.1

  1. Оффлайн

    wylek

    Посетители

    Сообщений: 48

    Поставил в дополнение к сайту форум Bullet Energy. У меня уже стоит форум LogicBoard 5.1, совместимость у него нормальная, но задалбливает авторизация. Автор не спешит исправлять этот баг - слетает то на сайте то на форуме. Как то мимо в свое время прошел я в поиске форума, когда уходил с юкоза. Bullet Energy установился на хостинг нормально, два форума работают без проблем. Хочу сказать спасибо Grey за помощь в освоении этого продукта. Немного об установке по другому пути - в процессе установки вам предложат скопировать в .htaccess, после этого поменяйте путь и в файле engine.php.
    Репутация на сайте и форуме LogicBoard 5.1 стоит от ShapeShifter, установил и на форум Bullet Energy - все работает wink


    Вот для DLE 11.3 установка

    1. Откройте файл /endine/modules/main.php и после 
    AND !$tpl->result['info'] 
    добавьте:
    AND !class_exists('Bullet_Energy_Main')
     
    
    В этом же файле после строки 
    $tpl->load_template ( 'main.tpl' ); 
    добавьте:
    $tpl->set('{forumStyle}', require_once ROOT_DIR . '/engine/bullet_energy/modules/load_style.php');
     
    
    2. Откройте файл engine.php и после строки 
    switch ( $do ) { 
    добавьте:
    case "forum": include ENGINE_DIR . '/bullet_energy/index.php'; break;   (если путь установки другой, например forum123, замените "forum" на "forum123")
     
    
    3. Откройте файл engine/modules/banned.php и найдите в нём строку:
    
    if( $row['users_id'] ) $db->query( "UPDATE " . USERPREFIX . "_users SET banned='' WHERE user_id = '{$row['users_id']}'" );
    Замените её на:
    
    if($row['users_id']) {
          $db->query("UPDATE " . USERPREFIX . "_users SET banned='' WHERE user_id = '{$row['users_id']}'");
          $forumInfoUser = $db->super_query("SELECT forum_warning FROM " . PREFIX . "_users WHERE user_id = '{$row['users_id']}'");
          if($forumInfoUser['forum_warning'] == 100) {
             $db->query("INSERT INTO " . PREFIX . "_be_user_warning (id, moderator_id, post_id, date, description, id_user, date_out, action, type, ball) VALUES (NULL, '1', '0', '{$this_time}', 'Понижение уровня предупреждений после блокировки.', '{$row['users_id']}', '0', 'down', 'message', '10')");
             $db->query("UPDATE " . PREFIX . "_users SET forum_warning = forum_warning - 10 WHERE user_id = {$row['users_id']} LIMIT 1");
          }
    }
     
    
    4. Откройте файл /engine/init.php и после строки 
    include_once ENGINE_DIR . '/modules/rssinform.php'; 
    добавьте:
    require_once ('engine/bullet_energy/api/bullet_api.class.php');
     
    
    5. Откройте файл engine/inc/editusers.php и после строки: 
    $db->query( "UPDATE " . PREFIX . "_images SET author='{$editlogin}' WHERE author='{$row['name']}'" );
     
    Добавьте:
    $db->query("UPDATE " . PREFIX . "_be_attachment SET attachment_user_name = '{$editlogin}' WHERE attachment_user_name = '{$row['name']}'") ;
    $db->query("UPDATE " . PREFIX . "_be_complaint SET ct_from = '{$editlogin}' WHERE ct_from = '{$row['name']}'") ;
    $db->query("UPDATE " . PREFIX . "_be_message SET message_autor = '{$editlogin}' WHERE message_autor = '{$row['name']}'") ;
    $db->query("UPDATE " . PREFIX . "_be_moderator SET moderator_name = '{$editlogin}' WHERE moderator_name = '{$row['name']}'");
    $db->query("UPDATE " . PREFIX . "_be_topic SET autor = '{$editlogin}' WHERE autor = '{$row['name']}'") ;
     
    В этом же файле после строки: 
    $db->query( "DELETE FROM " . USERPREFIX . "_pm WHERE user='{$id}'" );
     Добавьте:
    $db->query("DELETE FROM " . PREFIX . "_be_complaint WHERE ct_from = '{$row['name']}'") ;
    $db->query("DELETE FROM " . PREFIX . "_be_feed WHERE id_user ='{$id}'") ;
    $db->query("DELETE FROM " . PREFIX . "_be_message WHERE autors_id ='{$id}'") ;
    $db->query("DELETE FROM " . PREFIX . "_be_moderator WHERE moderator_id ='{$id}'") ;
    $db->query("DELETE FROM " . PREFIX . "_be_thanks WHERE thanks_id_user = '{$id}'") ;
    $db->query("DELETE FROM " . PREFIX . "_be_topic WHERE autor_id = '{$id}'") ;
     
    В этом же файле ПЕРЕД строкой: 
    {$output}
     Добавьте: 
    <tr><td colspan="3"><hr></td></tr><tr><td style="padding:4px;">Удалить все сообщения и темы на форуме</td><td colspan="2"><input type="checkbox" name="del_post_forum" value="yes" /></td></tr>
     
    В этом же файле ПЕРЕД строкой: 
    if( $_POST['del_comments'] ) {
     Добавьте:
     if($_POST['del_post_forum']) {   $result = $db->query("SELECT COUNT(*) as count, id_topic FROM " . PREFIX . "_be_message WHERE autors_id='{$id}' GROUP BY id_topic") ;
        while ($row = $db->get_array($result)) {
          $db->query("UPDATE " . PREFIX . "_be_topic SET reply_count=reply_count-{$row['count']} where id='{$row['id_topic']}'") ;
        }
        $db->free($result) ;
        $db->query("DELETE FROM " . PREFIX . "_be_topic WHERE autor_id = '{$id}'") ;
        $db->query("DELETE FROM " . PREFIX . "_be_message WHERE autors_id = '{$id}'") ;
        $db->query("UPDATE " . USERPREFIX . "_users set forum_post_count='0',forum_topic_count='0' where user_id ='{$id}'") ;
      }
     
    Инструкции идущие дальше подойдут только для CMS версии 9.6 +, если Ваша версия CMS ниже ознакомтесь с темой на форуме.
    
    В общих настройках CMS в пункте "Включить поддержку статуса 'Онлайн' для пользователей на сайте", должно стоять "Да" Если этого не сделать, то возможна неправильная работа функции e-mail уведомлений (Данной настройки нету в DLE 9.6, поэтому можно выполнять инструкции ниже).
    
    6. Откройте файл engine/modules/sitelogin.php, найдите в нем строку:
    $db->query( "UPDATE LOW_PRIORITY " . USERPREFIX . "_users SET lastdate='{$_TIME}' WHERE user_id='{$member_id['user_id']}'" );
    После нее добавьте:
    $db->query("DELETE FROM " . PREFIX . "_be_event_log WHERE id_user = {$member_id['user_id']}") ;
    
    
    В этом же файле найдите:
    if( $config['log_hash'] ) {
    Замените на следующие:
     if($config['log_hash']) {
       $db->query("DELETE FROM " . PREFIX . "_be_event_log WHERE id_user = {$member_id['user_id']}") ;
    
    
    В этом же файле найдите строки:
    $db->query( "UPDATE LOW_PRIORITY " . USERPREFIX . "_users SET {$new_pass_hash}lastdate='{$_TIME}', hash='{$hash}', logged_ip='{$_IP}' WHERE user_id='{$member_id['user_id']}'" );
    добавьте ниже:
    $db->query("DELETE FROM " . PREFIX . "_be_event_log WHERE id_user = '{$member_id['user_id']}'") ;
    
    Сообщение отредактировал wylek 23 октября 2017 - 15:19
    23 октября 2017 - 15:18 / #1
Модераторы форума: greyPowered by Bullet Energy Forum