viewonline.php'de iyileştirme

Eklenti geliştirme bölümü.

viewonline.php'de iyileştirme

İleti

butterflyT
31.03.2007, 12:38

Selam,
Eminim çoğunuzun viewonline.php'si düzgün çalışmıyordur. Çünkü phpBB üzerine bir sürü MOD ekliyoruz. Dolayısıyla ister makale sayfası olsun isterse haber ya da bir başkası bu MOD'larla beraber gelen sayfaları da viewonline.php'ye tanıtmak gerek. Çoğu MOD nedense bunu es geçmiş ya da eklemek için verdiği kodları eksik vermiş. Bu yüzden ziyaretçi aslında haber sayfasına baksa ya da bir makale okusa bile biz viewonline.php ile baktığımızda onu Forum ana sayfasına bakıyor şeklinde görüyoruz. Oysa ziyaretçi sitenin kimbilir neresinde. Hem kendimiz yanıltıyoruz hem de diğer ziyaretçilerimizi yanıltıyoruz.

Bir çok MOD ve onlarla beraber gelen içerik sayfası var. Tek tek bunları anlatmam mümkün değil. Ben sadece portal.php'yi (EzPortal) temel alarak anlatacağım. Sizler de kurduğunuz MOD'a göre düzenlemeleri yaparsınız.

Not: MOD içinde gelen bütün sayfaları viewonline.php'ye tanıtmanıza gerek yok. Bunu acemi arkadaşlar için söylüyorum. MOD'lar ile gelen bir çok sayfa arka planda çalışması için hazırlanmıştır. Çalıştırıldığında ekrana birşeyler yazmaz ama arka planda kendisine verilen görevi yapar. Mesela makale modifikasyonu KB MOD için kb.php ve kb_search.php'yi viewonline.php'ye tanıtmanız yeterli olacaktır. Çünkü kullanıcı ancak bu sayfalara tıkladığı zaman ekranda bir içerik görebilir.

Kod: Tümünü seç
###########################
# viewonline.php'de iyileştirme
# Açıklama: Harici modifikasyonlarla gelen sayfalar viewonline.php'ye tanıtılır. Böylece ziyaretçinin
# sitenin neresinde gezdiğini daha sağlıklı takip edebilirsiniz.
#
# Yazan:  ButterflyT  ~ www.canver.net
#
# Düzenlenecek dosyalar (5):
#                                        viewonline.php
#                                        portal.php
#                                        includes/constants.php
#                                        language/lang_turkish/lang_main.php
#                                        admin/index.php
#
####
# MOD kurmadan önce düzenleyeceğiniz dosyaların yedeklerini almayı sakın unutmayınız.
####
#
#-----[ AÇ ]---------------------------------------------
#

viewonline.php

#
#-----[ BUL ]---------------------------------------------
#

case PAGE_FAQ:
               $location = $lang['Viewing_FAQ'];
               $location_url = "faq.$phpEx";
               break;
#
#-----[ SONRASINA EKLE ]---------------------------------------------
#

case PAGE_MAIN:
               $location = $lang['Viewing_Portal'];
               $location_url = "portal.$phpEx";
               break;

#
#-----[ AÇ ]---------------------------------------------
#

portal.php

#
#-----[ BUL ]---------------------------------------------
#

//
// Start session management
//
$userdata = session_pagestart($user_ip, PAGE_INDEX);
init_userprefs($userdata);
//
// End session management
//

#
#-----[ BULDUĞUN SATIR(LAR) İÇİNDE TEKRAR BUL ]---------------------------------------------
#

PAGE_INDEX

#
#-----[ İLE DEĞİŞTİR ]---------------------------------------------
#

PAGE_MAIN

#
#-----[ AÇ ]---------------------------------------------
#

includes/constants.php

#
#-----[ BUL ]---------------------------------------------
#

define('PAGE_TOPIC_OFFSET', 5000);

#
#-----[ ÖNCESİNE EKLE ]---------------------------------------------
# Bir önceki satır -11 ile bitiyorsa -12 yapın. Ya da son numaraya
# göre sabitinizi belirleyin.

define('PAGE_MAIN', -12);

#
#-----[ AÇ ]---------------------------------------------
#

language/lang_turkish/lang_main.php

#
#-----[ BUL ]---------------------------------------------
#

$lang['Viewing_FAQ']

#
#-----[ SONRASINA EKLE ]---------------------------------------------
#

$lang['Viewing_Portal']      = 'Ana sayfaya bakıyor';

#
#-----[ AÇ ]---------------------------------------------
#

admin/index.php

#
#-----[ BUL ]---------------------------------------------
#

case PAGE_FAQ:
               $location = $lang['Viewing_FAQ'];
               $location_url = "index.$phpEx?pane=right";
               break;

#
#-----[ SONRASINA EKLE ]---------------------------------------------
#

case PAGE_MAIN:
               $location = $lang['Viewing_Portal'];
               $location_url = "index.$phpEx?pane=right";
               break;

#
#-----[ BUL ]---------------------------------------------
#

case PAGE_FAQ:
               $location = $lang['Viewing_FAQ'];
               $location_url = "index.$phpEx?pane=right";
               break;

#
#-----[ SONRASINA EKLE ]---------------------------------------------
#

case PAGE_MAIN:
               $location = $lang['Viewing_Portal'];
               $location_url = "index.$phpEx?pane=right";
               break;

#
#-----[ TÜM DOSYALARI KAYDET ve KAPA ]---------------------------------------------
#########


Diğer MOD'larla gelen sayfalar nasıl tanıtılacak:

phpBB ile biraz uğraşmışsanız yukardaki kodları takip ederek benzer şekilde diğer sayfalara da uygulayabilirsiniz. Ben yine de kısaca bahsedeyim. Eklemek istediğimiz dosyanın kendisi de (ör: kb.php vs.) dahil olmak üzere toplam 5 adet dosya düzenleyeceğiz.

- Önce viewonline.php'yi açarak BUL dediğim yeri bulduktan sonra aşağıdaki kalıba benzer satırlar eklemeliniz.

case PAGE_MAIN:
$location = $lang['Viewing_Portal'];
$location_url = "portal.$phpEx";
break;

case, durum bildirir. Anlamı şu:
Eğer ziyaretçi PAGE_MAIN'de ise
dil dosyasından Viewing_Portal'a karşı gelen cümleyi ekrana yaz.
url olarak da ziyaretçiyi portal.php sayfasına yönlendir.

Mesela diyelimki siz kendinize özel bir ziyaretçi sayfası hazırladınız. Adı da ziyaretci.php olsun. Mesela şöyle birşey olabilir,

case PAGE_ZIYARETCI:
$location = $lang['Viewing_Ziyaretci'];
$location_url = "ziyaretci.$phpEx";
break;

- Eklemek istediğimiz ziyaretci.php'yi açıyoruz.
// Start session management
...
// End session management
satırları arasındaki yeri buluyoruz ve uygun yere PAGE_ZIYARETCI'yi ekliyoruz.

$userdata = session_pagestart($user_ip, PAGE_ZIYARETCI);
init_userprefs($userdata);

Eğer "Start/End session management" yoksa bu satırları olduğu ekleyebilirsiniz. Genelde sayfa başında geçen include satırlarının bittiği yerden sonra ekleyebilirsiniz. Misal

// Start session management
//
$userdata = session_pagestart($user_ip, PAGE_ZIYARETCI);
init_userprefs($userdata);
//
// End session management

- Şimdi includes/constants.php'de PAGE_ZIYARETCI'ye karşı gelen global sabit değerini belirleyelim.

define('PAGE_TOPIC_OFFSET', 5000);
satırının üzerine

define('PAGE_ZIYARETCI', -12);
ekleyelim. -12 değerini son satırdan bir önceki satırda -11 yazdığı için yazdım. Eğer sizde misal -15 yazıyorsa o zaman -12 yerine -16 yazın.

- Şimdi dil dosyamızı (lang_main.php) düzenliyoruz.

$lang['Viewing_FAQ']

bu satrın sonrasına
$lang['Viewing_Ziyaretci'] = 'Ziyaretçiler sayfasına bakıyor';
ekliyoruz. Hatırlanacağı gibi "$lang['Viewing_Ziyaretci']" değişkenini viewonline.php'de kullanmıştık. O yüzden aynı değişken adını lang_main.php içinde de kullandık.

- Son olarak admin panalinde de kimin nerede olduğu görebilmek için viewonline.php'de yaptğımız işlemlere benzer eklemeleri admin/index.php'de yapıyoruz. Tüm dosyalarımızı kaydedip kapatıktan sonra test ediyoruz.

Hespi bu kadar, kolay gelsin.

ButterflyT
Kullanıcı avatarı
butterflyT
Kıdemli Üye
Kıdemli Üye
 
İleti: 144
Kayıt: 14.12.2005, 18:48

Re: viewonline.php'de iyileştirme

İleti baris 03.11.2007, 09:14

üstat benim sitede hep 1 misafir sayıyor, bu sorunun çözümünü hangi dosyalarda aramalıyım ? ben yakusha kullanıyorum, yakushadaki viewonline.php yi sıfır phpbb2 ye atınca sorun yokmus gibi misafirleri sayıyor. Ama yakushada hep 1 :S sorun viewonline.php de değil yani. Başka hangi dosyalardan kaynaklanabilir?
baris
Üye
Üye
 
İleti: 11
Kayıt: 15.02.2007, 09:47

Re: viewonline.php'de iyileştirme

İleti NEFRİT 24.12.2007, 00:32

bildiğim kadarı ile yakuşha nın birden fazla versiyonu vardı farklı bir versiyonu nu kullanmayı dene
Kullanıcı avatarı
NEFRİT
Üye
Üye
 
İleti: 287
Kayıt: 17.03.2006, 01:14
Konum: Tekirdağ

Re: viewonline.php'de iyileştirme

İleti KarGoManiA 24.01.2008, 18:13

gerçekten güzel anlatmışsın , tebrik ederim
KarGoManiA
Üye
Üye
 
İleti: 46
Kayıt: 11.10.2005, 23:54


Eklenti Geliştirme



Kimler çevrimiçi

Bu forumu görüntüleyenler: Kayıtlı kullanıcı yok ve 0 misafir

cron