Gönderen Konu: SMF 1.x Mesaja Kimin Alıntı Yaptığını Gösterme Modu  (Okunma sayısı 2857 defa)

HS-Abdullah

  • Administrator
  • Newbie
  • *****
  • İleti: 45
    • Profili Görüntüle
    • E-Posta
Merhaba Arkadaşlar,

Hostingsiteniz.NET olarak SMF  1.X forum sistemi  için geçerli olan ufak bir modül yazdık.

Modül ile ilgili olarak:

Özellikleri

- Alıntı yapan kişinin kimliği mesaj sahibine gider
- Alıntıya verilen cevap mesaj sahibine gider
- Şayet mesajda birden fazla alıntı varsa alıntı sahiplerine ayrı ayrı özel mesaj gider.Örneğin bir alıntı hostingsiteniz nickli üyeye aynı mesajda bir diğer alıntı ise smf nickli kullanıcı aitse alıntıların konumları önemsenmeksizin (iç içe veya ayrı ayrı) her bir şahsa ayrı ayrı bilgilendirme mesajı gider.
- Bir kişiye ait birden fazla alıntı yapılmışsa örneğin hostingsiteniz nickli kişiye ait 6 adet alıntı yapılmışsa yanlızca 1 adet özel mesaj formatında ilgili şahsa bilgilendirme mesajı gider.
- Bilgilendirme mesajını "Haber Botu" diye betimlenen hayali bir üye atar. Bu sebeple geri yanıtlanamaz.
- Bir mesaj için maksimum 4 adet özel bilgilendirme mesajı atılabilir. Bu özellik veritabanının gereksiz yere şişmemesi için konulmuştur. 4 limiti arttırılıp azaltılabilir.


Kurulum:

Forum Dizini/Sources/Subs-Post.php Açınız

Bulunuz
Kod: [Seç]
// Something went wrong creating the message...
Üstüne ekleyiniz:
Kod: [Seç]
// POST HOSTINGSITENIZ
$veri=$msgOptions[body];
preg_match_all("/\[quote author=(.*?) link/",$veri,$dizi);
$dizi= array_reverse($dizi);


$sayi=count($dizi[0]);
$play_post=0;
if($dizi[0][0]!=""){

$hs_max_post=count($dizi[0]);
if($hs_max_post<5){
while($play_post < $sayi){

if(!ereg($dizi[0][$play_post],$veri_kisi)){
$veri_kisi=$veri_kisi.";".$dizi[0][$play_post];
$sql_inform_member=db_query("select `unreadMessages`,`ID_MEMBER` from {$db_prefix}members where `memberName` = '".$dizi[0][$play_post]."'");
$inform_member=mysql_fetch_array($sql_inform_member);
    $count_unread=$inform_member['unreadMessages']+1;
$member_id_mod=$inform_member['ID_MEMBER'];
$link = "http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'];
db_query("
INSERT INTO {$db_prefix}personal_messages (`ID_MEMBER_FROM`,`deletedBySender`,`fromName`,`msgtime`,`subject`,`body`) VALUES ('0','1','Haber Botu','" . time() . "','Konunuz Alinti Yapildi','Mesajiniza ".$posterOptions[name]." Tarafindan Yanit Verilmistir. Verilen Yanit Sekildeki Gibidir.<br/>Konu linki: ".$link."?topic=".$topicOptions[id].".msg".$msgOptions['id']."#msg".$msgOptions['id']."<br/><br/>".$veri."')");
$_id_pm=mysql_insert_id();
db_query("
INSERT INTO {$db_prefix}pm_recipients (`ID_PM`,`ID_MEMBER`,`labels`) VALUES ('".$_id_pm."','".$member_id_mod."','-1')");

db_query("
UPDATE {$db_prefix}members SET `unreadMessages`='".$count_unread."' where `ID_MEMBER`='".$member_id_mod."'");

$play_post=$play_post+1;

}
$play_post++;
}}
}

    // Veri Sonu

Maksimum Veri Limitini Arttırmak İçin üstteki kodda " if($hs_max_post<5) " kırmızı işaretli 5 değerlini arttırınız örneğin 100 yazarsanız 99 adet limit verecektir.

« Son Düzenleme: Ocak 23, 2011, 08:02:22 ÖS Gönderen: HS-Abdullah »