Çift-Aynı Konuları Silme Öncelikle vBulletin'in çift konu anlayışı şudur:
1. Başlık aynı olacak.
2. Konuyu açan üye aynı olacak.
3. Bunlar aynı anda açılmış olacak.
4. Aynı forumda olacak.
5. Birbirlerinin idleri farklı olacak.
Bu yüzden admincp/misc.php dosyasında aşağıdaki satırı düzenlemeniz gerekir.
PHP- Kodu:
WHERE title = '" . $db->escape_string($thread['title']) . "' AND
forumid = $thread[forumid] AND
postusername = '" . $db->escape_string($thread['postusername']) . "' AND
dateline = $thread[dateline] AND
threadid > $thread[threadid]
Bu kodların Türkçe meali yukarıda yazdığım maddelerdir.
Bu yazımda bu kodları nasıl daha işlevsel hale getirebiliriz onu göstermeye çalışacağım.
Başlığı aynı olan konuları ayırır. Olmazsa olmaz parametrelerden biridir.
PHP- Kodu:
forumid = $thread[forumid]
İki konunun da aynı forumda olup olmadığını denetleyen parametre.
PHP- Kodu:
postusername = '" . $db->escape_string($thread['postusername']) . "'
Konuyu açan üyeleri karşılaştırır.
PHP- Kodu:
dateline = $thread[dateline]
İkisinin de tam olarak aynı zamanda açılıp açılmadını kontrol eder. (Salisesine kadar ) Çift konuların silinmemesinin en büyük nedeni budur.
PHP- Kodu:
threadid > $thread[threadid]
Benzer konulardan ilk bulunan konunun silinmemesi için gereken kod. Dolayısıyla bu da olmazsa olmazlardan biridir.
Örnek kullanımlar:
Aşağıda vereceğim kodları en başta verdiğim kodlarla değiştirin.
1. Farklı zamanda açılan çift konular
PHP- Kodu:
WHERE title = '" . $db->escape_string($thread['title']) . "' AND
forumid = $thread[forumid] AND
postusername = '" . $db->escape_string($thread['postusername']) . "' AND
threadid > $thread[threadid]
2. Farklı üyeler tarafından açılan çift konular
PHP- Kodu:
WHERE title = '" . $db->escape_string($thread['title']) . "' AND
forumid = $thread[forumid] AND
dateline = $thread[dateline] AND
threadid > $thread[threadid]
3. Farklı forumlarda bulunan çift konular
PHP- Kodu:
WHERE title = '" . $db->escape_string($thread['title']) . "' AND
postusername = '" . $db->escape_string($thread['postusername']) . "' AND
dateline = $thread[dateline] AND
threadid > $thread[threadid]
Değişiklikleri kaydettikten sonra:
Admincp >> Bakım >> Güncelleme Sayacı >> Çift konuları sil
Lütfen sayacı çalıştırmadan önce yedek alın.
Not: Eğer php sorgularında bir hata yaparsanız sayacı çalıştırdığınızda database hatası verir. Hiç telaş yapmanıza gerek yok orjinal kodlarla değiştirip yeniden deneyebilirsiniz hiç bir veri kaybımız olmaz.
1. Başlık aynı olacak.
2. Konuyu açan üye aynı olacak.
3. Bunlar aynı anda açılmış olacak.
4. Aynı forumda olacak.
5. Birbirlerinin idleri farklı olacak.
Bu yüzden admincp/misc.php dosyasında aşağıdaki satırı düzenlemeniz gerekir.
PHP- Kodu:
WHERE title = '" . $db->escape_string($thread['title']) . "' AND
forumid = $thread[forumid] AND
postusername = '" . $db->escape_string($thread['postusername']) . "' AND
dateline = $thread[dateline] AND
threadid > $thread[threadid]
Bu kodların Türkçe meali yukarıda yazdığım maddelerdir.
Bu yazımda bu kodları nasıl daha işlevsel hale getirebiliriz onu göstermeye çalışacağım.
Başlığı aynı olan konuları ayırır. Olmazsa olmaz parametrelerden biridir.
PHP- Kodu:
forumid = $thread[forumid]
İki konunun da aynı forumda olup olmadığını denetleyen parametre.
PHP- Kodu:
postusername = '" . $db->escape_string($thread['postusername']) . "'
Konuyu açan üyeleri karşılaştırır.
PHP- Kodu:
dateline = $thread[dateline]
İkisinin de tam olarak aynı zamanda açılıp açılmadını kontrol eder. (Salisesine kadar ) Çift konuların silinmemesinin en büyük nedeni budur.
PHP- Kodu:
threadid > $thread[threadid]
Benzer konulardan ilk bulunan konunun silinmemesi için gereken kod. Dolayısıyla bu da olmazsa olmazlardan biridir.
Örnek kullanımlar:
Aşağıda vereceğim kodları en başta verdiğim kodlarla değiştirin.
1. Farklı zamanda açılan çift konular
PHP- Kodu:
WHERE title = '" . $db->escape_string($thread['title']) . "' AND
forumid = $thread[forumid] AND
postusername = '" . $db->escape_string($thread['postusername']) . "' AND
threadid > $thread[threadid]
2. Farklı üyeler tarafından açılan çift konular
PHP- Kodu:
WHERE title = '" . $db->escape_string($thread['title']) . "' AND
forumid = $thread[forumid] AND
dateline = $thread[dateline] AND
threadid > $thread[threadid]
3. Farklı forumlarda bulunan çift konular
PHP- Kodu:
WHERE title = '" . $db->escape_string($thread['title']) . "' AND
postusername = '" . $db->escape_string($thread['postusername']) . "' AND
dateline = $thread[dateline] AND
threadid > $thread[threadid]
Değişiklikleri kaydettikten sonra:
Admincp >> Bakım >> Güncelleme Sayacı >> Çift konuları sil
Lütfen sayacı çalıştırmadan önce yedek alın.
Not: Eğer php sorgularında bir hata yaparsanız sayacı çalıştırdığınızda database hatası verir. Hiç telaş yapmanıza gerek yok orjinal kodlarla değiştirip yeniden deneyebilirsiniz hiç bir veri kaybımız olmaz.