sabri ünal 20.05.2006, 15:31
- Kod: Tümünü seç
##############################################################
## MOD Adı: Simple subforum için mysql dışı desteği kaldırmak
## MOD Yazarı: yakusha (sabri ünal) <yakusha@tnn.net> (http://www.canver.net)
## Mod Versiyon: 1.0.0
## Mod Türü: fix
## Mod işlevi: sayfa işlemlerini hızlandırmaya katkıda bulunur
## Mod Açıklama: Simple subforuda, mysql dışı db lere destek için konulmuş olan swich döngüsünü kaldırır.
##
## Kurulum Seviyesi: Orta
## Kurulum Süresi : 5 Dakika
##
## İşlenecek Dosya: (1)
## - viewforum.php
## Yüklenecek Dosya: (0)
##
######################################################################################
##
## Destek ve Yardım : http://www.canver.net
## Telif Hakkı : Copyleft © - canver|net, canver|soft - www.canversoft.com
## Lisans : GNU Public License v2 http://opensource.org/licenses/gpl-license.php
##
######################################################################################
## Güvenlik Uyarısı:
##
## Modun son sürümü için lütfen http://www.canver.net adresini kontrol ediniz.
## Modu başka siteden indirdiyseniz, içinde art niyetli kod olmadığını garanti edemeyiz.
## Modu eklemeden önce, güvenlik kopyası amacıyla lütfen dosyalarınızın yedeğini alınız.
##
#####################################################################################
## Yazar Notları:
##
## Bu modun çalışması için, forumunuzda simple subforum modunun kurulu olması gerekmektedir.
## Sonuçta bu, ilgili mod için bir fix. :)
##
######################################################################################
## Mod Geçmişi:
##
## 20.05.2006 - versiyon: 1.0.0
## - Deneme amaçlı ilk sürüm
## - BETA
##
######################################################################################
#
#-----[ AÇ ]------------------------------------------
#
viewforum.php
#
#-----[ BUL ]------------------------------------------
#
// Begin Simple Subforums MOD
switch(SQL_LAYER)
{
case 'postgresql':
$sql = "SELECT f.*, p.post_time, p.post_username, u.username, u.user_id
FROM " . FORUMS_TABLE . " f, " . POSTS_TABLE . " p, " . USERS_TABLE . " u
WHERE p.post_id = f.forum_last_post_id
AND u.user_id = p.poster_id
AND f.forum_parent = '{$forum_id}'
UNION (
SELECT f.*, NULL, NULL, NULL, NULL
FROM " . FORUMS_TABLE . " f
WHERE NOT EXISTS (
SELECT p.post_time
FROM " . POSTS_TABLE . " p
WHERE p.post_id = f.forum_last_post_id
)
)
ORDER BY cat_id, forum_order";
break;
case 'oracle':
$sql = "SELECT f.*, p.post_time, p.post_username, u.username, u.user_id
FROM " . FORUMS_TABLE . " f, " . POSTS_TABLE . " p, " . USERS_TABLE . " u
WHERE p.post_id = f.forum_last_post_id(+)
AND u.user_id = p.poster_id(+)
AND f.forum_parent = '{$forum_id}'
ORDER BY f.cat_id, f.forum_order";
break;
default:
$sql = "SELECT f.*, p.post_time, p.post_username, u.username, u.user_id
FROM (( " . FORUMS_TABLE . " f
LEFT JOIN " . POSTS_TABLE . " p ON p.post_id = f.forum_last_post_id )
LEFT JOIN " . USERS_TABLE . " u ON u.user_id = p.poster_id )
WHERE f.forum_parent = '{$forum_id}'
ORDER BY f.cat_id, f.forum_order";
break;
}
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not query subforums information', '', __LINE__, __FILE__, $sql);
}
#
#-----[ BUNUNLA DEĞİŞTİR ]------------------------------------------
#
// Begin Simple Subforums MOD
$sql = "SELECT f.*, p.post_time, p.post_username, u.username, u.user_id
FROM (( " . FORUMS_TABLE . " f
LEFT JOIN " . POSTS_TABLE . " p ON p.post_id = f.forum_last_post_id )
LEFT JOIN " . USERS_TABLE . " u ON u.user_id = p.poster_id )
WHERE f.forum_parent = '{$forum_id}'
ORDER BY f.cat_id, f.forum_order";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not query subforums information', '', __LINE__, __FILE__, $sql);
}
#
#-----[ KAYDET - KAPAT ]------------------------------------------
#
Mutluyum, biraz komedi takılıyorum! sakın kızmayın yakında geçer, sebebini ben de bilmiyorum! yeni bir aşk da bulmuş değilim!