Помощь Помогите с переносом сообщений в DLE Forum

Тема в разделе "DLE", создана пользователем Sam_XTL, 12 мар 2009.

Информация :
Актуальная версия DataLife Engine 11.1
( Final Release v.11.1 | Скачать DataLife Engine | Скачать 11.1 demo )
Нужно ли обновляться | Как обновиться | Изменения в шаблонах
> Нет русских символов <
[Приватная тема DLE (Все подробности в ЛС к модератору раздела)]

Версии 10.0 и ниже - уязвимы!

Локализации | F.A.Q. | Внешний вид
Правила раздела | Правила форума
Обсуждение хайда карается баном!
В каждом сообщении указывайте версию DLE, которого они касаются!
Статус темы:
Закрыта.
Модераторы: killoff
  1. Sam_XTL

    Sam_XTL Создатель

    Регистр.:
    8 июн 2006
    Сообщения:
    32
    Симпатии:
    14
    В этом чудо форуме есть перенос всей темы, но нет переноса сообщения юзера,
    Может есть гуру которым не будет сложно помочь, вопрос критичен :(

    Вот код переноса темы: может его можно передалть для Сообщения...

    Код:
    // ********************************************************************************
    // MOVE TOPIC
    // ********************************************************************************
            case "05":
            
            if ($selectedtids and is_moderation(0, $selectedtids, 0))
            {
                if (!moderator_value('move_topic', $is_mod['forum_id'], $m_member)) die();
    
                $move_fid = $_REQUEST['move_fid'];
                
                if (!$subaction)
                {
                    $topic_action_add = "{$a_forum_url}act=moderation&code=05&subaction=move&selected_id=$selectedtids";
                    
                    $tpl->load_template($tpl_dir.'movetopic.tpl');
                    
                    $tpl->set('{topic_title}', $topic_title);
                    $tpl->set('{forum}', $is_forum_name);
                    $tpl->set('{forum_list}', forum_list());
                    
                    $tpl->copy_template = "<form  method=\"post\" name=\"dle-comments-form\" id=\"dle-comments-form\" action=\"{$topic_action_add}\">".$tpl->copy_template."</form>";
                    
                    $tpl->compile('dle_forum');
                    $tpl->clear();
                }
                
                if ($subaction == "move" and $selectedtids and $move_fid)
                {
                    $tid = $selectedtids;
                    
                    $selectedtids = explode(",",$selectedtids);
                    
                    $new_post_count = 0;
                    
                    foreach ($selectedtids as $topic_id)
                    {
                        $db->query("UPDATE " . PREFIX . "_forum_topics SET forum_id = '$move_fid' WHERE tid = '$topic_id'");
                        $tid_count++;
                        
                        $post = $db->super_query("SELECT COUNT(*) as count FROM " . PREFIX . "_forum_posts WHERE topic_id = '$topic_id'");
                        
                        $post_count = $post_count + $post['count'];
                    }
                    
                    if (!$forum_config['set_topic_post'])
                    {
                        $post_count = $post_count - $tid_count;
                    }
                    
                    if ($forum_config['topic_sort']) $sort_type = "last_date";
                    else $sort_type = "tid";
                    
                    $row1 = $db->super_query("SELECT * FROM ". PREFIX ."_forum_topics WHERE forum_id = '{$is_mod['forum_id']}' ORDER by $sort_type DESC");
                    
                    $row2 = $db->super_query("SELECT * FROM ". PREFIX ."_forum_topics WHERE forum_id = '$move_fid' ORDER by $sort_type DESC");
                    
                    $db->query("UPDATE " . PREFIX . "_forum_forums SET posts = posts-$post_count, topics = topics-$tid_count, f_last_tid = '$row1[tid]', f_last_title = '$row1[title]', f_last_date ='$row1[last_date]', f_last_poster_name = '$row1[last_poster_name]' WHERE id = '{$is_mod['forum_id']}'");
                    
                    $db->query("UPDATE " . PREFIX . "_forum_forums SET posts = posts+$post_count, topics = topics+$tid_count, f_last_tid = '$row2[tid]', f_last_title = '$row2[title]', f_last_date ='$row2[last_date]', f_last_poster_name = '$row2[last_poster_name]' WHERE id = '$move_fid'");
                    
                    if ($forum_config['mod_rewrite'])
                    {
                        $topic_location = "{$forum_url}/topic_$tid";
                        
                        $forum_location = "{$forum_url}/forum_$move_fid";
                    }
                    else
                    {
                        $topic_location = "{$forum_url}showtopic=$tid";
                        
                        $forum_location = "{$forum_url}showforum=$move_fid";
                    }
                    
                    if ($tid_count > 1)
                    {
                        header("Location: $forum_location");
                    }
                    else 
                    {
                        header("Location: $topic_location");
                    }
                }
                
                $bbr_app = "Перемещение темы";
            }
            
            break;
    
    
    Заранее благодарю
     
  2. FORMAT

    FORMAT

    Регистр.:
    9 май 2008
    Сообщения:
    210
    Симпатии:
    45
    Вам нужно хак написать для форума или единоразово переместить?
    в последнем случае можно сделать средствами phpmyadmin %)
     
  3. Sam_XTL

    Sam_XTL Создатель

    Регистр.:
    8 июн 2006
    Сообщения:
    32
    Симпатии:
    14
    Хак нужен, так как часто стала появляться такая необходимость.

    Спасибо за такую идею,я что-то не сообразил
     
Статус темы:
Закрыта.