Forumların iç içe girmesi?

phpBB 3.0.x çalıştırılması ve kurulumu ile ilgili yardımı buradan alabilirsiniz. Lütfen MODlar ile ilgili sorunlarınızı buraya yazmayın.
Forum kuralları
- Yeni bir başlık açarken lütfen konu başlığına "Acil yardım", "Acele yardım" tarzlarında içerisinde "yardım" kelimesi geçen cümleler yazmayınız. Bu tip başlıklara kesinlikle cevap verilmeyecektir. Lütfen konu başlığına içeriği en iyi özetleyen anlaşılabilir bir cümle yazınız.

- Ayrıca yeni başlıklarınızı kesinlikle ilgili forumlara açınız. Örneğin, phpBB3 kurulum ve çalıştırması hakkında bir sorununuz varsa "3.0.x Destek Forumu" forumuna başlık açınız; phpBB3 temasından kaynaklı bir sorunuz varsa "3.0.x Stil/Tema Geliştirme & Tartışma & Yardım" forumuna başlık açınız; phpBB3 mod/eklentileriyle ilgili sorununuz varsa "3.0.x MOD Destek" forumuna başlık açınız. Bu kurala uymayan kullanıcıların başlıkları silinebilir ve kullanıcı uyarı alabilir ya da süresiz uzaklaştırılabilir.

- Site kurallarımızı okumadan kesinlikle forumlarımıza herhangi bir katılım yapmayınız.
Kilitli
Dreamz
Kayıtlı Kullanıcı
Mesajlar: 20
Kayıt: 04.01.2009, 14:47

Forumların iç içe girmesi?

Mesaj gönderen Dreamz »

Arkadaşlar sitemdeki forumların yerlerini değiştirirken forumlar birbirlerinin içine girdi ve bozukluklar oldu. Silip tekrar koydum fakat yine aynı sorunla karşılaştım. bunun sebebini bulamadım. phpbb 3.0.3 kullanıyorum. bu database ten kaynaklanan bir olay mı? yoksa phpbb yle ilgili mi bir sorun? Yardımcı olabilirseniz sevinirim..
Kullanıcı avatarı
RoyaLKing
Kayıtlı Kullanıcı
Mesajlar: 195
Kayıt: 11.08.2009, 16:49
Konum: Konya
İletişim:

Re: Forumların iç içe girmesi?

Mesaj gönderen RoyaLKing »

resim koyabilirmisiniz acaba?
Dreamz
Kayıtlı Kullanıcı
Mesajlar: 20
Kayıt: 04.01.2009, 14:47

Re: Forumların iç içe girmesi?

Mesaj gönderen Dreamz »

[ resmi görüntülemek için tıklayın ]

forumları yönet bölümünden film kategorisine giriyorum. sonra yerli diziler e bastığım zaman böyle iç içeymiş gibi gösteriyor. Normalde burası


Pano Anasayfası -> Film -> Yerli Diziler


olması lazım.Düzeltmek için Yerli Diziler forumunu silip tekrar oluşturdum fakat yine aynı sorunla karşı karşıya kaldım. Nasıl düzeltebilirim acaba?
Kullanıcı avatarı
VSaBaH
Kayıtlı Kullanıcı
Mesajlar: 2493
Kayıt: 09.02.2006, 16:58
Konum: Denizli
İletişim:

Re: Forumların iç içe girmesi?

Mesaj gönderen VSaBaH »

Merhaba,

Hangi işlem sonrası bu durum gerçekleşti? Aktif forumlarda mı gözleniyor bu sorun yoksa yeni bir forum açarken mi yaşıyorsunuz?
Dreamz
Kayıtlı Kullanıcı
Mesajlar: 20
Kayıt: 04.01.2009, 14:47

Re: Forumların iç içe girmesi?

Mesaj gönderen Dreamz »

Sitem normal bir şekilde çalışıyordu. Herhangi bir mod falan kurmadım. Forumları aşağı yukarı taşırken birbirlerinin içine girdiler. Silip tekrar koyuyorum fakat böyle iç içeymiş gibi gösteriyor yönetim panelinde. Normal görünümde sorun yok. Fakat ileride problem olabilir diye düşünüyorum.
Kullanıcı avatarı
VSaBaH
Kayıtlı Kullanıcı
Mesajlar: 2493
Kayıt: 09.02.2006, 16:58
Konum: Denizli
İletişim:

Re: Forumların iç içe girmesi?

Mesaj gönderen VSaBaH »

Dreamz yazdı:Sitem normal bir şekilde çalışıyordu. Herhangi bir mod falan kurmadım. Forumları aşağı yukarı taşırken birbirlerinin içine girdiler. Silip tekrar koyuyorum fakat böyle iç içeymiş gibi gösteriyor yönetim panelinde. Normal görünümde sorun yok. Fakat ileride problem olabilir diye düşünüyorum.
Sadece tek bir alt forumda mı var o sorun?
Dreamz
Kayıtlı Kullanıcı
Mesajlar: 20
Kayıt: 04.01.2009, 14:47

Re: Forumların iç içe girmesi?

Mesaj gönderen Dreamz »

3-4 tanesinde vardı. Diğerleri düzeldi. Sadece bu bölüm kaldı.
Dreamz
Kayıtlı Kullanıcı
Mesajlar: 20
Kayıt: 04.01.2009, 14:47

Re: Forumların iç içe girmesi?

Mesaj gönderen Dreamz »

http://www.ktuk.net/phpBB3/viewtopic.ph ... =hierarchy

Sorunumu çözdüm.Bu sorunu yaşabilecek arkadaşlar için bende anlatıyım tekrardan. Çünkü linkte ingilizce açıklama var.

Herhangi bir dosya oluşturup ismine fix.php yazın.Sonra içine aşağıdaki kodları yazın ve kaydedin.

Kod: Tümünü seç

    <?php
    /**
    *
    * @package phpBB3
    * @version $Id: index.php,v 1.176 2007/10/05 14:30:06 acydburn Exp $
    * @copyright (c) 2005 phpBB Group
    * @license http://opensource.org/licenses/gpl-license.php GNU Public License
    *
    */

    /**
    */

    /**
    * @ignore
    */
    define('IN_PHPBB', true);
    $phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
    $phpEx = substr(strrchr(__FILE__, '.'), 1);
    include($phpbb_root_path . 'common.' . $phpEx);
    include($phpbb_root_path . 'includes/functions_admin.' . $phpEx);

    // Start session management
    $user->session_begin();
    $auth->acl($user->data);
    $user->setup('viewforum');

    recalc_btree('forum_id' , FORUMS_TABLE);
    echo "Done";

    function recalc_btree($sql_id, $sql_table, $module_class = '')
    {
        global $db;

        if (!$sql_id || !$sql_table)
        {
            return;
        }

        $sql_where = ($module_class) ? " WHERE module_class = '" . $db->sql_escape($module_class) . "'" : '';

        // Reset to minimum possible left and right id
        $sql = "SELECT MIN(left_id) as min_left_id, MIN(right_id) as min_right_id
            FROM $sql_table
            $sql_where";
        $result = $db->sql_query($sql);
        $row = $db->sql_fetchrow($result);
        $db->sql_freeresult($result);

        $substract = (int) (min($row['min_left_id'], $row['min_right_id']) - 1);

        if ($substract > 0)
        {
            $sql = "UPDATE $sql_table
                SET left_id = left_id - $substract, right_id = right_id - $substract
                $sql_where";
            $db->sql_query($sql);
        }

        $sql = "SELECT $sql_id, parent_id, left_id, right_id
            FROM $sql_table
            $sql_where
            ORDER BY left_id ASC, parent_id ASC, $sql_id ASC";
        $f_result = $db->sql_query($sql);

        while ($item_data = $db->sql_fetchrow($f_result))
        {
            if ($item_data['parent_id'])
            {
                $sql = "SELECT left_id, right_id
                    FROM $sql_table
                    $sql_where " . (($sql_where) ? 'AND' : 'WHERE') . "
                        $sql_id = {$item_data['parent_id']}";
                $result = $db->sql_query($sql);

                if (!$row = $db->sql_fetchrow($result))
                {
                    $sql = "UPDATE $sql_table SET parent_id = 0 WHERE $sql_id = " . $item_data[$sql_id];
                    $db->sql_query($sql);

                    continue;    
                }
                $db->sql_freeresult($result);

                $sql = "UPDATE $sql_table
                    SET left_id = left_id + 2, right_id = right_id + 2
                    $sql_where " . (($sql_where) ? 'AND' : 'WHERE') . "
                        left_id > {$row['right_id']}";
                $db->sql_query($sql);

                $sql = "UPDATE $sql_table
                    SET right_id = right_id + 2
                    $sql_where " . (($sql_where) ? 'AND' : 'WHERE') . "
                        {$row['left_id']} BETWEEN left_id AND right_id";
                $db->sql_query($sql);

                $item_data['left_id'] = $row['right_id'];
                $item_data['right_id'] = $row['right_id'] + 1;
            }
            else
            {
                $sql = "SELECT MAX(right_id) AS right_id
                    FROM $sql_table
                    $sql_where";
                $result = $db->sql_query($sql);
                $row = $db->sql_fetchrow($result);
                $db->sql_freeresult($result);

                $item_data['left_id'] = $row['right_id'] + 1;
                $item_data['right_id'] = $row['right_id'] + 2;
            }
        
            $sql = "UPDATE $sql_table
                SET left_id = {$item_data['left_id']}, right_id = {$item_data['right_id']}
                WHERE $sql_id = " . $item_data[$sql_id];
            $db->sql_query($sql);
        }
        $db->sql_freeresult($f_result);
    }

    ?>
Sonra bu dosyayı roota atın(config.php dosyasının yanına yani) ve tarayıcınızla "http://www.siteadi.com/fix.php" yi açın. Biraz bekledikten sonra "Done" yazısı geliyor ve sorun düzeliyor.
Kullanıcı avatarı
VSaBaH
Kayıtlı Kullanıcı
Mesajlar: 2493
Kayıt: 09.02.2006, 16:58
Konum: Denizli
İletişim:

Re: Forumların iç içe girmesi?

Mesaj gönderen VSaBaH »

Sorunun çözümünü açıkladığınız için teşekkürler.

Ben de ilk kez karşılaştım bu sorunla ve öğrenmiş oldum. :wink:
Selimbasak
Kayıtlı Kullanıcı
Mesajlar: 3
Kayıt: 25.02.2007, 21:48
İletişim:

Re: Forumların iç içe girmesi?

Mesaj gönderen Selimbasak »

Bu sabah başıma geldi. İyiki bu soruna bir çözüm bulmuş ve buraya yazmışsınız, teşekkürler.

Başına gelenler için bişeyler daha ekliyim. fix.php 'yi çalıştırdıktan sonra bazı mesaj sayıları "0" gözüküyordu. ACP'den bu yanlış olanları tek tek senkronize ettim, düzeldi.
Kilitli

“3.0.x Destek Forumu” sayfasına dön

Kimler çevrimiçi

Bu forumu görüntüleyen kullanıcılar: Hiç bir kayıtlı kullanıcı yok ve 1 misafir