Advertisement:

Author Topic: SSI Dersleri - İleri Seviye  (Read 62829 times)

Offline [SiNaN]

  • SMF Super Hero
  • *******
  • Posts: 11,524
  • Young and Foolish
    • SimplePortal
SSI Dersleri - İleri Seviye
« on: May 21, 2008, 10:34:43 AM »
SSI Dersleri – İleri Seviye

SSI Dersleri - İleri Seviye’ye hoş geldiniz. Bu konuda ‘SSI.php’nin birkaç bilinmeyen yönünü göstermeye çalışacağız. Takdir edersiniz ki bu konudakiler tamamen sizlerin SSI Dersleri – Orta Seviye’yi okuduğunuzu varsayarak yazılmıştır. Herhangi bir soru sormak ya da yorum yapmak isterseniz lütfen bu mesajın altından devam edin.

***LÜTFEN ‘SSI.PHP’ DOSYANIZDA DEĞİŞİKLİK YAPMAYINIZ***
Bu derslerde gösterilen her şey ‘SSI.php’ dosyası düzenlenmeden yapılmıştır.


Herhangi bir üyenin, belirlediğim bir gruba dahil olup olmadığını nasıl kontrol edebilirim?

Daha önce bir kullanıcının üye, ziyaretçi veya yönetici olup olmadığını nasıl kontrol edebileceğinizi göstermiştik. Şimdi de herhangi bir grup için bunu nasıl yapabileceğinize bakalım:

Örnek:

Forumdan bağımsız şekilde çalışan sitenizde sadece forumda belirli bir gruba dahil üyelerin görmesini istediğiniz bir sayfa var. Bunu kontrol edecek, eğer üye istediğiniz gruba dahil değilse hata mesajı görüntülenmesini sağlayacaksınız.

Öncelikle grubun IDsini öğrenmemiz gerekmekte. Yönetim Panelinizde “Üye Grupları” bölümünde istediğiniz üye grubunun yanındaki “Değiştir” bağlantısına tıklayın. Yönlendiğiniz sayfanın adresine baktığınızda buna benzer bir şey görüyor olmalısınız: 'action=membergroups;sa=edit;id=#'. # sembolü yerinde gördüğünüz numara üye grubunun IDsi olacaktır.

Üye grubunun IDsini öğrendiğinize göre kullanacağımız kodu yazalım:

Örnek için üye grubu IDsi 9 olarak alınmıştır, sadece bu örnek için geçerlidir.

Code: [Select]
<?php

if (in_array(9$user_info['groups']))
   {
       echo 
'Evet, ben 9 numaralı gruptayım. :)';
   }
else
   {
       echo 
'Erişim engellendi! Bu sayfayı görmeye yetkiniz bulunmuyor.';
   }

?>

Böylece bu sayfayı sadece özel üye grubunuzun görebilmesini sağladınız. Bundan sonrası sizin hayal gücünüz ve kodlama bilginize kalmış.

SSI hakkında öğrenmediğimiz bir şey kaldı mı?

Sorduğunuz iyi oldu, çünkü son olarak da SSI’ın bazı ileri düzey ayarlarını inceleyeceğiz. Değiştirebileceğiniz ayalar:

$ssi_gzip = 'true/false';
$ssi_ban = 'true/false';
$ssi_theme = 'themeID#';
$ssi_layers = array('main');

Bu kodları ‘SSI.php’yi sayfamıza dahil etmeden, yani ‘require…’ kodundan önce ekliyoruz.

Örnek:

Code: [Select]
<?php

$ssi_gzip 
false;
$ssi_ban true;
$ssi_theme '2';
$ssi_layers = array('main');

ob_start();

require(
"/SSI.php");

?>

Hemen bu ayarların ne işe yaradığına bakalım:

$ssi_gzip = false; gzip sıkıştırma özelliğinin kapatıp açabilmeyi sağlar
$ssi_ban = true; forumda yasaklanan üyenin bu sayfada erişiminin engellenmesini sağlar
$ssi_theme = '2'; sayfanın IDsini girdiğiniz tema ile gösterilmesini sağlar [gösterilmesi için $ssi_layers ayarlanmalı]
$ssi_layers = array('main'); main_above ve main_below alt temalarının yüklenmesini sağlar
ob_start(); hata almamak için eklenir
require("/SSI.php"); ayarlardan sonra ama sayfanızın içeriğinden önce olması gerekir

Eğer anlamakta zorlanırsanız üzülmeyiniz, neticede bu İleri Düzey bir ders. Birkaç deneme ile daha kolay anlayabilirsiniz.

Bu cümlelerle de hem İleri Düzey dersimizin, hem de SSI Dersleri üçlememizin sonuna geldik. Belki ileride bir sonraki düzeye geçilebilir, şu an için 3 seviye olarak kalacak.

Lütfen anlamakta zorluk çektiğiniz noktaları sormaktan çekinmeyiniz. Bu dersin kapsadığı bütün özellikler hakkında soru ve sorunlarınızı bu konu altına yazabilirsiniz.

Orijinal konu Expert SSI FAQ, Tomer tarafından yazılmıştır.
Former SMF Core Developer | My Mods | SimplePortal

Offline yakup efe

  • Semi-Newbie
  • *
  • Posts: 39
Re: SSI Dersleri - İleri Seviye
« Reply #1 on: May 24, 2008, 01:15:29 PM »
$ssi_gzip = 'true/false';
$ssi_ban = 'true/false';
$ssi_theme = 'themeID#';
$ssi_layers = array('main');


Bunları aynen SSI_php'ye anlatıldığı yükledim. fakat

Parse error: syntax error, unexpected T_VARIABLE in /home/ygonul/public_html/forums/SSI.php on line 1


Bu uyarıyı aldım. sizce neden olabilir?

Bunu eklemeden önce anasayfamdan ssi-php ile bir kaç tane özellik çalıştırıyorum.

Bu arada bu konu hakkında emeği geçenlerden Allah razı olsun.

Offline [SiNaN]

  • SMF Super Hero
  • *******
  • Posts: 11,524
  • Young and Foolish
    • SimplePortal
Re: SSI Dersleri - İleri Seviye
« Reply #2 on: May 25, 2008, 03:14:02 AM »
PHP tagları arasına eklediğinize emin misiniz?
Former SMF Core Developer | My Mods | SimplePortal

Offline madturk41

  • Semi-Newbie
  • *
  • Posts: 15
  • Gender: Male
Re: SSI Dersleri - İleri Seviye
« Reply #3 on: May 25, 2008, 07:16:21 AM »
Biz bu üyenin avatarını portalda nasıl gösterebiliriz ?

Offline [SiNaN]

  • SMF Super Hero
  • *******
  • Posts: 11,524
  • Young and Foolish
    • SimplePortal
Re: SSI Dersleri - İleri Seviye
« Reply #4 on: May 25, 2008, 08:46:02 AM »
$context['user']['avatar']['image'] kodu ile üyenin avatarını gösterebilirsiniz.

Ayrıca loadMemberContext() fonksiyonu ile istediğiniz üyenin bütün bilgilerini bir dizinin içerisine alabilirsiniz.
Former SMF Core Developer | My Mods | SimplePortal

Offline yakup efe

  • Semi-Newbie
  • *
  • Posts: 39
Re: SSI Dersleri - İleri Seviye
« Reply #5 on: May 25, 2008, 02:10:57 PM »
SSI_php'de en baştaki "<?php" kodundan hemen sonra ekledim..

Offline [SiNaN]

  • SMF Super Hero
  • *******
  • Posts: 11,524
  • Young and Foolish
    • SimplePortal
Re: SSI Dersleri - İleri Seviye
« Reply #6 on: May 26, 2008, 02:45:01 AM »
Onlar ayarların ne şekilde ayarlanabileceğini gösteriyor. Düzenleyip koymalısınız. Örnek:

Code: [Select]
$ssi_gzip = false;
$ssi_ban = true;
$ssi_theme = '2';
$ssi_layers = array('main');
Former SMF Core Developer | My Mods | SimplePortal

Offline TECHKENDO

  • Semi-Newbie
  • *
  • Posts: 79
Re: SSI Dersleri - İleri Seviye
« Reply #7 on: May 26, 2008, 03:56:07 AM »
Sinan ellerine sağlık çok işime yaradı, ne kadar php kodlamadan anlasakta, smf nin çekirdek kodlarını bilmek lazım.

Saygılarımla....

Offline Hoochie Coochie Man

  • SMF Hero
  • ******
  • Posts: 5,135
  • Gender: Male
    • İstanblues.org
Re: SSI Dersleri - İleri Seviye
« Reply #8 on: June 03, 2008, 11:12:30 AM »
Ana Sayfaya çağırdığımız haberleri "özet" şeklinde kısa kesip.. "haberin devamı" linki ekleyebilir miyiz?

ve de ana sayfaya çağırdığımız haberlerdeki resimlei göstermemek..?

Rica etsem.. :-\
« Last Edit: June 03, 2008, 11:46:17 AM by Hoochie Coochie Man »
İnadına SMF 1.1.X

Offline [SiNaN]

  • SMF Super Hero
  • *******
  • Posts: 11,524
  • Young and Foolish
    • SimplePortal
Re: SSI Dersleri - İleri Seviye
« Reply #9 on: June 03, 2008, 02:17:33 PM »
ssi_boardNews($board, $limit, $start, $length, $output_method);

Bu şekilde kullandığınız kodda $length yerine, gösterilecek haberin kaç karakter ile sınırlandırılması gerektiğini yazmalısınız.

Sonuna Haberin Devamı linki eklemek için:

SSI.php

Bul:

Code: [Select]
$row['body'] .= '...';
Değiştir:

Code: [Select]
$row['body'] .= '<br /><a href="' . $scripturl . '?topic=' . $row['ID_TOPIC'] . '.0">Haberin devamı...</a>';
Resimler için biraz uğraşmam gerekiyor.
Former SMF Core Developer | My Mods | SimplePortal

Offline Hoochie Coochie Man

  • SMF Hero
  • ******
  • Posts: 5,135
  • Gender: Male
    • İstanblues.org
Re: SSI Dersleri - İleri Seviye
« Reply #10 on: June 03, 2008, 02:25:58 PM »
Bu kadarı bile kafi, uğraşmana gerek yok Sinancım, teşekkürler..




Edit: bu $length olayı biraz garip değilmi.. şimdi atıyorum limiti 500 koydum diyelim..

500. karakterde kesiliyo yazı.. ama bu şekilde kesiliyo

Ör: 15. Uluslararası İstanbul Caz Festi----(kesildi)

yazının orjinali..

15. Uluslararası İstanbul Caz Festivali kapsamında 15 Temmuz’da Sepetçiler Kasrı’nda gerçekleşecek
« Last Edit: June 05, 2008, 05:46:38 AM by Hoochie Coochie Man »
İnadına SMF 1.1.X

Offline [SiNaN]

  • SMF Super Hero
  • *******
  • Posts: 11,524
  • Young and Foolish
    • SimplePortal
Re: SSI Dersleri - İleri Seviye
« Reply #11 on: June 06, 2008, 06:52:12 AM »
Nasıl kesmesi gerekiyor ki HCM?
Former SMF Core Developer | My Mods | SimplePortal

Offline Hoochie Coochie Man

  • SMF Hero
  • ******
  • Posts: 5,135
  • Gender: Male
    • İstanblues.org
Re: SSI Dersleri - İleri Seviye
« Reply #12 on: June 06, 2008, 06:58:42 AM »
Yani demek istediğim, limiti koyduktan sonra herhangi bir kelimenin ortasına denk geliyor. ve o kelime tam ortadan kesiliyor. Çok abes bir görüntü oluşuyor. Benim bahsettiğim ne bilim, 1 kıta bitimnde noktayı koyduktan sonra falan. ki bu da imkansız. ama neyse ben sorunumu başka bir şekilde hallettim
İnadına SMF 1.1.X

Offline [SiNaN]

  • SMF Super Hero
  • *******
  • Posts: 11,524
  • Young and Foolish
    • SimplePortal
Re: SSI Dersleri - İleri Seviye
« Reply #13 on: June 06, 2008, 07:00:27 AM »
İmkansız değil de, biraz zor. Peki, sorununu çözdüysen sorun yok.
Former SMF Core Developer | My Mods | SimplePortal

Offline sazan

  • Full Member
  • ***
  • Posts: 632
  • Gender: Male
Re: SSI Dersleri - İleri Seviye
« Reply #14 on: June 06, 2008, 10:46:08 PM »
Bu "gzip" bende çalışmıyor iniyor ama 0kb bir zip geliyor :) SSI ile alakası varmıdır?

Offline [SiNaN]

  • SMF Super Hero
  • *******
  • Posts: 11,524
  • Young and Foolish
    • SimplePortal
Re: SSI Dersleri - İleri Seviye
« Reply #15 on: June 07, 2008, 02:22:12 AM »
Hayır. Sunucunun desteklemesi gerek sanırım.
Former SMF Core Developer | My Mods | SimplePortal

Offline Hoochie Coochie Man

  • SMF Hero
  • ******
  • Posts: 5,135
  • Gender: Male
    • İstanblues.org
Re: SSI Dersleri - İleri Seviye
« Reply #16 on: June 19, 2008, 05:17:41 AM »
Bir sayfada bir çok SSI sorgusu çalıştırmak, o sayfayı ağırlaştırır mı?

Yani 1 sayfada yaklaşık 12 adet sorgu çalışıyor.!!

Edit: neyse sorguları üçe düşürdüm, şimdi hızlı artık :)
« Last Edit: June 19, 2008, 06:20:53 AM by Hoochie Coochie Man »
İnadına SMF 1.1.X

Offline [SiNaN]

  • SMF Super Hero
  • *******
  • Posts: 11,524
  • Young and Foolish
    • SimplePortal
Re: SSI Dersleri - İleri Seviye
« Reply #17 on: June 19, 2008, 06:52:23 AM »
Sorgulara bağlı. boardNews() ve recentPosts biraz ağır olabilir sadece.
Former SMF Core Developer | My Mods | SimplePortal

Offline Hoochie Coochie Man

  • SMF Hero
  • ******
  • Posts: 5,135
  • Gender: Male
    • İstanblues.org
Re: SSI Dersleri - İleri Seviye
« Reply #18 on: June 19, 2008, 07:10:17 AM »
Sorgulara bağlı. boardNews() ve recentPosts biraz ağır olabilir sadece.
Zaten çoğu onlardı, Saolasın..
Bu arada hoşgeldin :) Kitlenecek çok konu var :P
İnadına SMF 1.1.X

Offline [SiNaN]

  • SMF Super Hero
  • *******
  • Posts: 11,524
  • Young and Foolish
    • SimplePortal
Re: SSI Dersleri - İleri Seviye
« Reply #19 on: June 19, 2008, 07:11:59 AM »
Hoşbulduk. Farkettim, ısınmaya çalışıyorum şu an hala. :)
Former SMF Core Developer | My Mods | SimplePortal