Simple Machines Community Forum

SMF Support => Türkçe Bölümü (Turkish) => Language Specific Support => Dokümantasyon => Topic started by: [SiNaN] on May 21, 2008, 10:34:43 AM

Title: SSI Dersleri - İleri Seviye
Post by: [SiNaN] 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 (http://www.simplemachines.org/community/index.php?topic=240521.0)'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.

<?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:

<?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 (http://www.simplemachines.org/community/index.php?topic=13205.0), Tomer (http://www.simplemachines.org/community/index.php?action=profile;u=1176) tarafından yazılmıştır.
Title: Re: SSI Dersleri - İleri Seviye
Post by: yakup efe 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.
Title: Re: SSI Dersleri - İleri Seviye
Post by: [SiNaN] on May 25, 2008, 03:14:02 AM
PHP tagları arasına eklediğinize emin misiniz?
Title: Re: SSI Dersleri - İleri Seviye
Post by: madturk41 on May 25, 2008, 07:16:21 AM
Biz bu üyenin avatarını portalda nasıl gösterebiliriz ?
Title: Re: SSI Dersleri - İleri Seviye
Post by: [SiNaN] 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.
Title: Re: SSI Dersleri - İleri Seviye
Post by: yakup efe on May 25, 2008, 02:10:57 PM
SSI_php'de en baştaki "<?php" kodundan hemen sonra ekledim..
Title: Re: SSI Dersleri - İleri Seviye
Post by: [SiNaN] on May 26, 2008, 02:45:01 AM
Onlar ayarların ne şekilde ayarlanabileceğini gösteriyor. Düzenleyip koymalısınız. Örnek:

$ssi_gzip = false;
$ssi_ban = true;
$ssi_theme = '2';
$ssi_layers = array('main');
Title: Re: SSI Dersleri - İleri Seviye
Post by: TECHKENDO 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....
Title: Re: SSI Dersleri - İleri Seviye
Post by: Hoochie Coochie Man 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.. :-\
Title: Re: SSI Dersleri - İleri Seviye
Post by: [SiNaN] 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:

$row['body'] .= '...';

Değiştir:

$row['body'] .= '<br /><a href="' . $scripturl . '?topic=' . $row['ID_TOPIC'] . '.0">Haberin devamı...</a>';

Resimler için biraz uğraşmam gerekiyor.
Title: Re: SSI Dersleri - İleri Seviye
Post by: Hoochie Coochie Man 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
Title: Re: SSI Dersleri - İleri Seviye
Post by: [SiNaN] on June 06, 2008, 06:52:12 AM
Nasıl kesmesi gerekiyor ki HCM?
Title: Re: SSI Dersleri - İleri Seviye
Post by: Hoochie Coochie Man 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
Title: Re: SSI Dersleri - İleri Seviye
Post by: [SiNaN] on June 06, 2008, 07:00:27 AM
İmkansız değil de, biraz zor. Peki, sorununu çözdüysen sorun yok.
Title: Re: SSI Dersleri - İleri Seviye
Post by: sazan 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?
Title: Re: SSI Dersleri - İleri Seviye
Post by: [SiNaN] on June 07, 2008, 02:22:12 AM
Hayır. Sunucunun desteklemesi gerek sanırım.
Title: Re: SSI Dersleri - İleri Seviye
Post by: Hoochie Coochie Man 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 :)
Title: Re: SSI Dersleri - İleri Seviye
Post by: [SiNaN] on June 19, 2008, 06:52:23 AM
Sorgulara bağlı. boardNews() ve recentPosts biraz ağır olabilir sadece.
Title: Re: SSI Dersleri - İleri Seviye
Post by: Hoochie Coochie Man on June 19, 2008, 07:10:17 AM
Quote from: [SiNaN] on June 19, 2008, 06:52:23 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
Title: Re: SSI Dersleri - İleri Seviye
Post by: [SiNaN] on June 19, 2008, 07:11:59 AM
Hoşbulduk. Farkettim, ısınmaya çalışıyorum şu an hala. :)
Title: Re: SSI Dersleri - İleri Seviye
Post by: Fussilet on July 19, 2008, 06:03:29 PM
hocam aşağıdaki kod: download modulunde son gönderilen dosyaları gösteriyor

popüler dosyaların görünmesi için ne yapmalıyız acaba?

global $db_prefix, $scripturl;

$request = db_query("SELECT f.ID_FILE, f.ID_MEMBER, f.date, f.ID_CAT, f.title AS ftitle, f.totaldownloads,
c.title, m.realName, m.ID_MEMBER AS mID_MEMBER
FROM {$db_prefix}down_file AS f, {$db_prefix}down_cat AS c, {$db_prefix}members AS m
WHERE f.ID_CAT = c.ID_CAT
AND f.approved = '1'
AND f.ID_MEMBER = m.ID_MEMBER
ORDER BY f.ID_FILE DESC
LIMIT 35",__FILE__,__LINE__);
while($row = mysql_fetch_assoc($request)) {
echo '<table width="100%" cellpadding="2" cellspacing="0">
<tr>
<td valign="top" class="smalltext"> <a href="',$scripturl,'?action=downloads;sa=view;id=',$row['ID_FILE'],'">',$row['ftitle'],'</a></td>
<td valign="top" class="smalltext" align="right">',$row['totaldownloads'],'</td>
</tr>
</table>';
}
Title: Re: SSI Dersleri - İleri Seviye
Post by: husmen73 (Gulhin) on July 20, 2008, 10:30:18 AM
fussilet şunu bul
ORDER BY f.ID_FILE
Şununla değiştir
ORDER BY totaldownloads
Title: Re: SSI Dersleri - İleri Seviye
Post by: Fussilet on July 20, 2008, 04:05:48 PM
hocam çok teşekkür ederim , Çok sağol ;)
Title: Re: SSI Dersleri - İleri Seviye
Post by: Fussilet on July 21, 2008, 08:51:19 PM
aklıma bir şey daha geldi....

Her kategori için popüler dosyalar , son gönderilen dosyalar bloğunu aynı şekilde oluşturmak mümkün mü acaba, eger bu mümkünse çok süper olacak...

saygılarımla...
Title: Re: SSI Dersleri - İleri Seviye
Post by: [SiNaN] on July 22, 2008, 02:45:12 AM
Bütün kategoriler için mi?
Title: Re: SSI Dersleri - İleri Seviye
Post by: Fussilet on July 22, 2008, 03:42:00 AM
bende 4 kategori var bu dört kategori için ayrı ayrı yapılabilir mi acaba?
Title: Re: SSI Dersleri - İleri Seviye
Post by: [SiNaN] on July 22, 2008, 06:05:25 AM
Biraz aceleyle yazdım, daha önce bu modu kurmadım bile, umarım çalışır.

global $db_prefix, $scripturl;

$request = db_query("
SELECT ID_CAT, title
FROM {$db_prefix}down_cat", __FILE__, __LINE__);
$categories = array();
while ($row = mysql_fetch_assoc($request)) {
$categories[] = array(
'id' => $row['ID_CAT'],
'title' => $row['title'],
);
}
mysql_free_result($request);

if(empty($categories))
return false;

$files = array();

foreach($categories as $category) {

$request = db_query("
SELECT f.ID_FILE, f.ID_MEMBER, f.date, f.ID_CAT, f.title AS ftitle,
f.totaldownloads, c.title, m.realName, m.ID_MEMBER AS mID_MEMBER
FROM {$db_prefix}down_file AS f
LEFT JOIN {$db_prefix}members AS m ON (m.ID_MEMBER = f.ID_MEMBER)
LEFT JOIN {$db_prefix}down_cat AS c ON (c.ID_CAT = f.ID_CAT)
WHERE f.ID_CAT = $category[id]
AND f.approved = '1'
ORDER BY f.totaldownloads
LIMIT 35", __FILE__, __LINE__);
while ($row = mysql_fetch_assoc($request)) {
$files[$category['id']][] = array(
'id' => $row['ID_FILE'],
'title' => $row['ftitle'],
'downloads' => $row['totaldownloads'],
'category' => $row['title'],
'member' => $row['realName'],
);
}
mysql_free_result($request);
}

if(empty($files))
return false;

foreach($categories as $category) {
echo '
<table width="100%" cellpadding="2" cellspacing="0">
<tr>
<td valign="top" class="smalltext" colspan="2">', $category['title'], '</td>
</tr>';

foreach($files[$category['id']] as $file) {
echo '
<tr>
<td valign="top" class="smalltext"> <a href="', $scripturl ,'?action=downloads;sa=view;id=', $file['id'], '">', $file['ftitle'], '</a></td>
<td valign="top" class="smalltext" align="right">', $file['downloads'], '</td>
</tr>';
}

echo '
</table>
<br />';
}
Title: Re: SSI Dersleri - İleri Seviye
Post by: Fussilet on July 22, 2008, 07:00:21 AM
hocam kategoriler göründü ve bu kategorilerin mesajları görünmedi, birde bir tek blok halinde bu yaptığınız, ayrı ayrı bloklar halinde olamaz mı?

ekten resim gönderilmiyor yoksa gönderecektim :)
Title: Re: SSI Dersleri - İleri Seviye
Post by: [SiNaN] on July 23, 2008, 03:40:24 AM
O zaman sadece şu kodda BÖLÜM yerine bölümün IDsini yazarak kullanabilirsiniz:

global $db_prefix, $scripturl;

$request = db_query("SELECT f.ID_FILE, f.ID_MEMBER, f.date, f.ID_CAT, f.title AS ftitle, f.totaldownloads,
c.title, m.realName, m.ID_MEMBER AS mID_MEMBER
FROM {$db_prefix}down_file AS f, {$db_prefix}down_cat AS c, {$db_prefix}members AS m
WHERE f.ID_CAT = c.ID_CAT
AND f.ID_CAT = BÖLÜM
AND f.approved = '1'
AND f.ID_MEMBER = m.ID_MEMBER
ORDER BY f.ID_FILE DESC
LIMIT 35",__FILE__,__LINE__);
while($row = mysql_fetch_assoc($request)) {
echo '<table width="100%" cellpadding="2" cellspacing="0">
<tr>
<td valign="top" class="smalltext"> <a href="',$scripturl,'?action=downloads;sa=view;id=',$row['ID_FILE'],'">',$row['ftitle'],'</a></td>
<td valign="top" class="smalltext" align="right">',$row['totaldownloads'],'</td>
</tr>
</table>';
}
Title: Re: SSI Dersleri - İleri Seviye
Post by: Fussilet on July 31, 2008, 03:04:48 PM
BUNU blok olarak eklediğimde hiçbir şey çıkmıyor hocam
Title: Re: SSI Dersleri - İleri Seviye
Post by: [SiNaN] on July 31, 2008, 07:50:02 PM
Bölüm IDsini yazdınız mı?
Title: Re: SSI Dersleri - İleri Seviye
Post by: Fussilet on August 01, 2008, 09:19:51 PM
'1'  olarak yazdım olmadı, 1 olarak yazdım gne olmadı , benmi yanlış yapıyorum acaba?
Title: Re: SSI Dersleri - İleri Seviye
Post by: [SiNaN] on August 02, 2008, 07:11:28 AM
Kategori IDsinin 1 olduğuna emin misiniz peki?
Title: Re: SSI Dersleri - İleri Seviye
Post by: Fussilet on August 02, 2008, 09:13:46 AM
evet eminim ,
  şöyle yaptım gene olmadı

$db_prefix, $scripturl;

$request = db_query("SELECT f.ID_FILE, f.ID_MEMBER, f.date, f.ID_CAT, f.title AS ftitle, f.totaldownloads,
c.title, m.realName, m.ID_MEMBER AS mID_MEMBER
FROM {$db_prefix}down_file AS f, {$db_prefix}down_cat AS c, {$db_prefix}members AS m
WHERE f.ID_CAT = c.ID_CAT
AND f.ID_CAT = '3'
AND f.approved = '1'
AND f.ID_MEMBER = m.ID_MEMBER
ORDER BY f.ID_FILE DESC
LIMIT 35",__FILE__,__LINE__);
while($row = mysql_fetch_assoc($request)) {
echo '<table width="100%" cellpadding="2" cellspacing="0">
<tr>
<td valign="top" class="smalltext"> <a href="',$scripturl,'?action=downloads;sa=view;id=',$row['ID_FILE'],'">',$row['ftitle'],'</a></td>
<td valign="top" class="smalltext" align="right">',$row['totaldownloads'],'</td>
</tr>
</table>';
}
Title: Re: SSI Dersleri - İleri Seviye
Post by: [SiNaN] on August 02, 2008, 09:33:41 AM
Pardon, şunu dener misiniz?

global $db_prefix, $scripturl;

$request = db_query("SELECT f.ID_FILE, f.ID_MEMBER, f.date, f.ID_CAT, f.title AS ftitle, f.totaldownloads,
c.title, m.realName, m.ID_MEMBER AS mID_MEMBER
FROM {$db_prefix}down_file AS f, {$db_prefix}down_cat AS c, {$db_prefix}members AS m
WHERE f.ID_CAT = c.ID_CAT
AND c.ID_CAT = BÖLÜM
AND f.approved = '1'
AND f.ID_MEMBER = m.ID_MEMBER
ORDER BY f.ID_FILE DESC
LIMIT 35",__FILE__,__LINE__);
while($row = mysql_fetch_assoc($request)) {
echo '<table width="100%" cellpadding="2" cellspacing="0">
<tr>
<td valign="top" class="smalltext"> <a href="',$scripturl,'?action=downloads;sa=view;id=',$row['ID_FILE'],'">',$row['ftitle'],'</a></td>
<td valign="top" class="smalltext" align="right">',$row['totaldownloads'],'</td>
</tr>
</table>';
}
Title: Re: SSI Dersleri - İleri Seviye
Post by: Fussilet on August 02, 2008, 10:23:58 AM
evet aradığım şey buydu, sağol sinan hocam, minnettarım ;)
Title: Re: SSI Dersleri - İleri Seviye
Post by: grafitus on August 13, 2008, 11:22:11 AM
Quote from: [SiNaN] 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.

Sian abi avatar göstermiyor :s bu  kod
Title: Re: SSI Dersleri - İleri Seviye
Post by: [SiNaN] on August 13, 2008, 11:38:20 AM
Ne şekilde eklediğinizi görebilir miyim?
Title: Re: SSI Dersleri - İleri Seviye
Post by: grafitus on August 13, 2008, 11:55:48 AM
$context['user']['avatar']['image']   böyle ekledim olmadı,

<?php $context['user']['avatar']['image']() ; ?>  bide böyle
Title: Re: SSI Dersleri - İleri Seviye
Post by: BuЯЯЯЯaK on August 13, 2008, 12:01:54 PM
' , $context['user']['avatar']['image'], '

Böyle dene .
Title: Re: SSI Dersleri - İleri Seviye
Post by: grafitus on August 13, 2008, 12:04:48 PM
Quote from: Burak ™ on August 13, 2008, 12:01:54 PM
' , $context['user']['avatar']['image'], '

Böyle dene .

olmadı !
Title: Re: SSI Dersleri - İleri Seviye
Post by: BuЯЯЯЯaK on August 13, 2008, 12:05:40 PM
Denediğin dosyayı buraya eklemende sakınca yoksa eklermisin .
Title: Re: SSI Dersleri - İleri Seviye
Post by: grafitus on August 13, 2008, 12:08:37 PM
Buyur

http://www.uploadyeri.com/230144 (http://www.uploadyeri.com/230144)
Title: Re: SSI Dersleri - İleri Seviye
Post by: BuЯЯЯЯaK on August 13, 2008, 12:10:55 PM
<?php ' ,$context['user']['avatar']['image'], ' ?>

Bunu dene .
Title: Re: SSI Dersleri - İleri Seviye
Post by: grafitus on August 13, 2008, 12:20:35 PM

Parse error: syntax error, unexpected T_STRING in /home/ikariam/public_html/index.php on line 52


bu hatayı verdi
Title: Re: SSI Dersleri - İleri Seviye
Post by: BuЯЯЯЯaK on August 13, 2008, 03:54:31 PM
<?php echo'' ,$context['user']['avatar']['image'], ''; ?>

Sanırım bu olacaktır .
Title: Re: SSI Dersleri - İleri Seviye
Post by: grafitus on August 13, 2008, 04:28:55 PM
Quote from: Burak ™ on August 13, 2008, 03:54:31 PM
<?php echo'' ,$context['user']['avatar']['image'], ''; ?>

Sanırım bu olacaktır .

Oldu valla saol.BurAk abi
Title: Re: SSI Dersleri - İleri Seviye
Post by: BuЯЯЯЯaK on August 13, 2008, 04:29:25 PM
Önemli değil .
Title: Re: SSI Dersleri - İleri Seviye
Post by: kaanfakili on September 13, 2008, 03:16:35 PM
Merhaba, çok güzel açıklamalarda bulunmuşsunuz ancak benim için tam olarak yeterli değil. Gerekli bilgileri bulamıyorum. Eğer bana yardımcı olursanız sevinirim.

Öncelikle php ile basit bir edebiyat sitesi yaptım. Yorumların, şiirlerin, haberlerin, kitap tanıtımlarının falan olduğu bir site. Bir de SMF forum var. Şimdi benim isteğim SMF ile sitenin entegreli bir şekilde çalışması. Maddeleyecek olursam,

1. Kullanıcı site üzerinden üye girişi yaptığında hem SMF'de hem de sitedeki kullanıcı bloğunda giriş yaptı gözükmeli.
2. Yorum gönderirken ya da içerik önerirken kullanıcı eğer üye girişi yapmış ise bunları gönderebilmeli.
3. Ben SM'nin members tablosundan başka bir tabloda da kullanıcı hakkında daha fazla bilgiyi saklamak istiyorum. Bunun için bir üye yönetim paneli yaptım. Yani kullanıcının kullanıcı adı, şifre, eposta gibi SMF ile ilgili bilgilerini members tablosundan alacak, ili, ilçesi, okulu, hakkında bilgi gibi diğer kısımları da benim hazırladığım başka bir tablodan alacak. Bunu nasıl sağlayabilirim. Yani birisi site üzerinden üye girişi yaptığı zaman hem sitede ve forumda bağlı gözükecek hem de giriş yaptığı blokta yeni bağlantılar olacak şu şekilde:

Kişisel Bilgilerim (SMF)
Tanıtıcı Bilgilerim (Site)
Önerdiğim Şiirler
Yorumlarım
Önerdiğim Haberler

vs. Bu sistemi mutlaka yapmalıyım. Çünkü bir sonraki aşamada kullanıcının eklediği şiirleri ya da yorumları vs. düzenleyebilmesi lazım.

Cevabınızı sabırsızlıkla bekliyorum arkadaşlar.

Title: Re: SSI Dersleri - İleri Seviye
Post by: [SiNaN] on September 14, 2008, 12:53:30 PM
1) SSI.php'yi çağırın.
2) $context['user'] ve $user_info içinde size gereken bütün bilgiler bulunur.
3) smf_members tablosuna yeni alanlar ekleyebilirsiniz, SMF'e zararı olmaz. Ama ayrı tutmak isterseniz ID_MEMBER index olacak şekilde yeni bir tablo oluşturun. Kullanırken LEFT JOIN ve INNER JOIN ile bilgileri birleştirebilirsiniz.
Title: Re: SSI Dersleri - İleri Seviye
Post by: kaanfakili on September 15, 2008, 05:06:23 AM
Cevapların için teşekkür ederim Sinan. Kendi yaptığım üyelik için daha evvel neden aklıma gelmediğine anlam veremediğim bir şey denedim. SMF çerez ile çalışıyor. Benim üyelik ise Session ile. Ben session oluştururken SMF'nin kullanıcı adı ve şifresini çağırdım. Pekala da çalıştı. :) Sadece ikisine de giriş yapmış gibi olmuyor ancak üyelikler birleşti bu şekilde. SMF tablosuna yeni alanlar ekleyebilirim ama bu güncellemelerde zedelenmez mi?
Title: Re: SSI Dersleri - İleri Seviye
Post by: estremo on September 18, 2008, 09:11:43 AM
Bende şunu sorayım boş bir php sayfasına işte login ekranı search yeni mesajları ekledim ozaman arkplan sadece beyaz oluyor arka planı forumdan birşey ekleyebilirmiyiz yoksa kendimizmi yapicaz.
Title: Re: SSI Dersleri - İleri Seviye
Post by: rampimp on September 22, 2008, 04:20:30 PM
selam portalda üyenin resmini nasil gösteririz yane konular olduguyerde Üyenin resmi hangi üye yolladi diye
Title: Re: SSI Dersleri - İleri Seviye
Post by: Linkin park on September 23, 2008, 10:50:12 AM
Elinize saglık gzl olmuş.
Title: Re: SSI Dersleri - İleri Seviye
Post by: CyberAngel on October 24, 2008, 08:16:00 AM
Hocam sisi ile son konuları başarlı bir şekilde başka sayfaya çekmişim.Ama birşey farkettim

Son konularin gösterildiği sayfayı da ziyaretçiler

Notice: Undefined index: no_view_links in /var/www/vhosts/teori-z.com/httpdocs/forum/Sources/Subs.php on line 1325

Notice: Undefined index: no_view_links in /var/www/vhosts/teori-z.com/httpdocs/forum/Sources/Subs.php on line 1331

Notice: Undefined index: no_view_links in /var/www/vhosts/teori-z.com/httpdocs/forum/Sources/Subs.php on line 1587

Notice: Undefined index: no_view_links in /var/www/vhosts/teori-z.com/httpdocs/forum/Sources/Subs.php on line 1593



Notice uyari mesajlarinin ekrana basilmasini istemiyorum bir türlü yapamadim.Nasıl olcak substaki error_reporting de değişiklik yapiyorum sorun çözülmüyor.Yardim edermisiniz gerçekten ciddi bir problem
Title: Re: SSI Dersleri - İleri Seviye
Post by: Evo™ on October 24, 2008, 08:24:15 AM
Sorunun registered links modu ile ilgili sanırım o modun yaptığı değişiklikleri tekrar gözden geçir.
Title: Re: SSI Dersleri - İleri Seviye
Post by: CyberAngel on October 24, 2008, 09:07:26 AM
Quote from: єνσℓυтιση™ on October 24, 2008, 08:24:15 AM
Sorunun registered links modu ile ilgili sanırım o modun yaptığı değişiklikleri tekrar gözden geçir.

evet onunla ilgili defalarca gözden geçirdim linkleri ziharetçilerden gizleyince bu uyarılar çıkıyor . ben bu uyarıların ekrana yansımasını istemiyorum . bi çözümü yokmu ?
Title: Re: SSI Dersleri - İleri Seviye
Post by: CyberAngel on October 24, 2008, 12:48:18 PM
Arkaşlar çok acil diye tekrar yazıyorum cevap gelmedi bilen biri yokmu ?
Title: Re: SSI Dersleri - İleri Seviye
Post by: Fussilet on November 30, 2008, 11:16:44 AM

hocam aşağıdaki kod: download modulunde son gönderilen dosyaları gösteriyor

blok olarak Rastgele bir dosyanın görünmesi için ne yapmak lazım hocam?

daha doğrusu belirli bir kategorinin rastgele bir dosyası...

mesela : Multimedia kategorisinden rastgele 1 dosya görünmesi olayı...

saygılarımla...

global $db_prefix, $scripturl;

$request = db_query("SELECT f.ID_FILE, f.ID_MEMBER, f.date, f.ID_CAT, f.title AS ftitle, f.totaldownloads,
c.title, m.realName, m.ID_MEMBER AS mID_MEMBER
FROM {$db_prefix}down_file AS f, {$db_prefix}down_cat AS c, {$db_prefix}members AS m
WHERE f.ID_CAT = c.ID_CAT
AND f.approved = '1'
AND f.ID_MEMBER = m.ID_MEMBER
ORDER BY f.ID_FILE DESC
LIMIT 35",__FILE__,__LINE__);
while($row = mysql_fetch_assoc($request)) {
echo '<table width="100%" cellpadding="2" cellspacing="0">
<tr>
<td valign="top" class="smalltext"> <a href="',$scripturl,'?action=downloads;sa=view;id=',$row['ID_FILE'],'">',$row['ftitle'],'</a></td>
<td valign="top" class="smalltext" align="right">',$row['totaldownloads'],'</td>
</tr>
</table>';
}

Title: Re: SSI Dersleri - İleri Seviye
Post by: [SiNaN] on November 30, 2008, 11:22:15 AM
Bul:

ORDER BY f.ID_FILE DESC

Değiştir:

AND f.ID_CAT = 'CATEGORİ_IDSİ'
ORDER BY RAND()
Title: Re: SSI Dersleri - İleri Seviye
Post by: Fussilet on November 30, 2008, 02:48:59 PM
hocam çok teşekkür ederim, çok güzel oldu...

saygılarımla...
Title: Re: SSI Dersleri - İleri Seviye
Post by: Balaban on March 06, 2009, 03:09:39 PM
kavradım sayılır . fakat bir sorum olacak .
bir html tasarımda ssi fonksiyonunu kullanabilir miyiz ?
eğer kullanabilirsek , forumda belli bir bölüm haricindeki(Arşiv bölümü,eski konular felan) son konuları çekebilir miyiz ?
Title: Re: SSI Dersleri - İleri Seviye
Post by: Yağız... on March 06, 2009, 03:34:56 PM
Quote from: justblbn99 on March 06, 2009, 03:09:39 PM
kavradım sayılır . fakat bir sorum olacak .
bir html tasarımda ssi fonksiyonunu kullanabilir miyiz ?
eğer kullanabilirsek , forumda belli bir bölüm haricindeki(Arşiv bölümü,eski konular felan) son konuları çekebilir miyiz ?
.shtml uzantısıyla kullanabilirsiniz. Benim pek bilgim yok fakat Google'a sorarsanız size cevap vereceğinden eminim.
Title: Re: SSI Dersleri - İleri Seviye
Post by: Balaban on March 06, 2009, 03:47:49 PM
denedim :=) .. google , benden bile daha az şey biliyor :D
.shtml uzantısı yaptığımda da  çalışmadı :(
artık entegre çalışan sistemlere kaldım (joomla!,mambo ? ) .
neyse yine de bilen  varsa cevaplarsa bilgilenmiş oluruz. hm bende ssi portalımı yapar başka bir yerde kullanırım :D
Title: Re: SSI Dersleri - İleri Seviye
Post by: Yağız... on March 06, 2009, 03:52:40 PM
HTML'de sadece iframe ile kullanabilirsiniz, söylemeyi unutmuşum :)
Title: Re: SSI Dersleri - İleri Seviye
Post by: Balaban on March 06, 2009, 04:15:08 PM
tam olarak nasıl ?
iframe_name="" şeklinde mi ?
ya , bu smf'den konuları başka bir yöntemle çekemiyor muyuz ya :D
Title: Re: SSI Dersleri - İleri Seviye
Post by: Yağız... on March 06, 2009, 04:54:27 PM
Quotetam olarak nasıl ?
iframe_name="" şeklinde mi ?
http://www.w3schools.com/TAGS/tag_iframe.asp
Quote
ya , bu smf'den konuları başka bir yöntemle çekemiyor muyuz ya :D
Malesef, yok.
Title: Re: SSI Dersleri - İleri Seviye
Post by: koftee on April 10, 2009, 11:20:27 PM
merhaba öncelikle çok güzel makaleleriniz için teşekkür ederim. ben forum sayfamdan ayrı çalışan bir .php sayfamda o anda forumda olan ziyaretçi ve online üyeleri bu yöntemle çekip çalıştırabilirmiyim. eğer bu mümkünse nasıl yapabilirim. şimdiden tşk ederim.
Title: Re: SSI Dersleri - İleri Seviye
Post by: Balaban on April 11, 2009, 06:48:30 AM
tabi koftee...aşağıdaki fonksiyon ile istediğini gerçekleştirebiirsin.

<?php ssi_whosOnline(); ?>
Title: Re: SSI Dersleri - İleri Seviye
Post by: Evo™ on April 11, 2009, 08:10:44 AM
koftee öncelikle http://www.simplemachines.org/community/index.php?topic=47018.0 (http://www.simplemachines.org/community/index.php?topic=47018.0) burdaki konudan Bölüm 2: Kullanım kısmındaki değişikliklere göre aşağıdaki içeriği değiştirir ve bir php dosyası olarak kayıt edersen farklı bir sayfada sorunsuz gösterebilirsin.
<?php require("e:program fileseasyphp1-8wwwsmf_2-0-rc1_installSSI.php"); 
echo
'
<table width="100%" class="tborder" border="0" cellspacing="1" cellpadding="4">
<tr><td class="catbg"><span class="smalltext"><center>Online Üyeler</center></span></td></tr>
<td>'
;
ssi_whosOnline();
echo 
'</td></table>';                           
?>

veya justblbn99 dediği gibi aşağıdaki gibide gösterebilirsin.
<?php require("e:program fileseasyphp1-8wwwsmf_2-0-rc1_installSSI.php"); ?>
<?php ssi_whosOnline(); ?>

veya bu şekilde
<?php 
require("e:program fileseasyphp1-8wwwsmf_2-0-rc1_installSSI.php"); 
ssi_whosOnline();
?>


Hepsi aynı kapıya çıkar hangisi kolayına gelirse. Değiştirmen gereken alan sadece aşağıdaki kısım.
e:program fileseasyphp1-8wwwsmf_2-0-rc1_installSSI.php
Title: Re: SSI Dersleri - İleri Seviye
Post by: Balaban on April 11, 2009, 09:55:44 AM
he ben hazır bir sayfa var ona ekleyeceksiniz sanmıstım..Kusura bakmayın o yüzden sadece fonksiyonu vermiştim...
Title: Re: SSI Dersleri - İleri Seviye
Post by: Balaban on August 02, 2009, 02:21:25 PM
[SiNaN]   loadMemberContext() fonksiyonunun kullanımı biraz acar mısın..mesela fonksiyonu kullanarak ,üye bilgilerini çeken,yeni bir ssi fonksiyonu nasıl oluşturabiliriz ?
Title: Re: SSI Dersleri - İleri Seviye
Post by: XxN!N3 on August 05, 2009, 11:23:15 AM
Sinan Yazın Çok Faydalı Olmuş Teşekkürler :)

Konudışı: Spnin ana dosyasıyla ssi.php benziyor :D
Title: Re: SSI Dersleri - İleri Seviye
Post by: HasR on August 15, 2009, 05:12:37 PM
  Merhaba  Arkadaşlar SSI  Gerçekten Güzel Şeylere sebep oluyormuş. 
kolay  orta  ve  ileri düzey tüm konularıcı cevaplarla okuduğum halde  Bi konuda  kanaat  edemedim.

HTML de iframe  ile çalışıyor  güzel.

Ama Şöyle bir Şey olur mu?.  Aynı resellerdeki bir Forum sitesini Diğer Forum sitesi olmayan tamamen Html  ile çalışan siteye (veya sitelere) sitelerin  sayfalarının Başına bir php Kodu ekleyerek   sitede sadece üyelik Hizmeti Alamazmıyız Bu SSI'dan. Üye oluncada Siteden çıkmayacak şekilde ayarlansa olur mu. Yani forumdan Habersiz bir üyelik hizmeti gibi bir şey. 
üyeliğin görüneceği .html     Sayfaları     .php ye  çevirsek veya  Varmı Böyle Bir  Çözüm.?

Merakla Bekliyorum  Saygılar
Title: Re: SSI Dersleri - İleri Seviye
Post by: sempoo on August 20, 2009, 09:13:26 AM
function ssi_harita()
{
global $db_prefix, $context, $user_info;
global $scripturl, $category;

// Find the boards/cateogories they can see.
$request = db_query("
SELECT c.name AS catName, c.ID_CAT, b.ID_BOARD, b.name AS boardName, b.numTopics, b.childLevel
FROM {$db_prefix}boards AS b
LEFT JOIN {$db_prefix}categories AS c ON (c.ID_CAT = b.ID_CAT)
WHERE $user_info[query_see_board]", __FILE__, __LINE__);
$context['jump_to'] = array();
$this_cat = array('id' => -1);
while ($row = mysql_fetch_assoc($request))
{
if ($this_cat['id'] != $row['ID_CAT'])
{
$this_cat = &$context['jump_to'][];
$this_cat['id'] = $row['ID_CAT'];
$this_cat['name'] = $row['catName'];
$this_cat['boards'] = array();
}

$this_cat['boards'][] = array(
'id' => $row['ID_BOARD'],
'name' => $row['boardName'],
'child_level' => $row['childLevel'],
'is_current' => isset($context['current_board']) && $row['ID_BOARD'] == $context['current_board'],
'topics' => $row['numTopics']
);
}
mysql_free_result($request);

foreach ($context['jump_to'] as $category)
{
// edit the following line if you want to change the style of the category text.

echo '<img src="pimages/arrow.gif" alt="', $txt['sp-arrow'], '" /><span style="line-height: 10px; font-weight: bold;" class="normaltext" ><b>', strtoupper($category['name']), '</b></span><br />';


foreach ($category['boards'] as $board)
{

    /*if (!$board['child_level'])
{
//edit the following line for the regular board text
echo '<a href="' , $scripturl , '?board='. $board['id']. '">'. $board['name']. '</a><br />';
}
else{
//this line you can edit to change the child board text
echo '<a class="normaltext" style="margin-left: 20px;" href="' . $scripturl . '?board=', $board['id'], '">', $board['name'],'</a><br />';
}*/
         

}
}
}



Portalım SSI tabanlı ve localde çalışıyorum. Bahsettiğim ssi fonksiyonu bu. İçerik olarak kalabalık olan bir forumda bunu portala koydukmu baya bir uzun liste çıkıyor. Bunun engellenmesi için açılır menü yapmayı amaçladım ama beceremdim Smiley sizden yadım beklıyorum.
İstediğim menu kodlarıyla bırlıkte verecegım lınkte mevcut

http://www.dynamicdrive.com/dynamicindex1/drilldownmenu.htm

şimdiden sağolun.
anlatıma yardımcı olmak ıcın bır resım
(https://www.simplemachines.org/community/proxy.php?request=http%3A%2F%2Fimg11.imageshack.us%2Fimg11%2F7799%2Fhatairo.jpg&hash=d2bd981e999266ad31809f402ea92b2e4f1962a7)
Title: Re: SSI Dersleri - İleri Seviye
Post by: 01usagi01 on March 10, 2011, 01:31:50 PM
paylaşım için tşk sinan

arkadaşlar

portala temayı çektim ama title gittti ve title yok şuanda nasıl bi öneriniz olur ayrıyeten <title></title> var ama title hala gözükmü
Title: Re: SSI Dersleri - İleri Seviye
Post by: grafitus on March 10, 2011, 02:08:25 PM
Portal dosyanızı açın. <?php'den sonra aşağıdaki kodu düzenleyip ekleyin:
$context['page_title'] = 'Portal';
Title: Re: SSI Dersleri - İleri Seviye
Post by: 01usagi01 on March 11, 2011, 11:52:45 AM
@grafitus
saol grafitus oldu