Bu modun eklentisi de var.
Mod Adı: Aynı Konuya Arka Arkaya Cevap Yazılmasını Yasaklama
Mod Yapımcısı: Adem YILMAZ
Açıklama: Bu mod; yönetici ve yardımcılar hariç, aynı konuya arka arkaya cevap yazılmasını süreli olarak yasaklamak içindir.
Ayrıca konuyu açan kişinin, hemen arkasına bir cevap yazmasını da yasaklamaktadır.
mesaj_yaz_yap.php dosyasını açın
şunu bulun:
// KONUNUN KİLİT DURUMUNA BAKILIYOR
$strSQL = "SELECT kilitli FROM $tablo_mesajlar WHERE id='$_POST[mesaj_no]' AND silinmis='0' LIMIT 1";
şu şekide değiştirin:
// KONUNUN KİLİT DURUMUNA BAKILIYOR
$strSQL = "SELECT kilitli,mesaj_baslik,yazan,cevap_sayi,tarih FROM $tablo_mesajlar WHERE id='$_POST[mesaj_no]' AND silinmis='0' LIMIT 1";
Yine
mesaj_yaz_yap.php içinde
şunu bulun:
elseif ($_POST['kip'] == 'cevapla')
{
altına şunu ekleyin:
// ARKA ARKAYA CEVAP YAZMA YASAĞI //
if ( ($kullanici_kim['yetki'] != 1) AND ($kullanici_kim['yetki'] != 2) )
{
$strSQL = "SELECT id,cevap_yazan,tarih FROM $tablo_cevaplar WHERE hangi_basliktan='$_POST[mesaj_no]' ORDER BY tarih DESC LIMIT 1";
$soncevap_sonuc = mysql_db_query($cfgdbisim,$strSQL) or die ('<h2>sorgu başarısız</h2>');
$soncevap = mysql_fetch_array($soncevap_sonuc);
if ($kilit_satir['cevap_sayi'] == 0)
{
if ($kilit_satir['yazan'] == $kullanici_kim['kullanici_adi'])
{
if ( ($kilit_satir['tarih'] + 21600 ) > $tarih )
{
header('Location: hata.php?hata=2201');
exit();
}
}
}
else
{
if ($soncevap['cevap_yazan'] == $kullanici_kim['kullanici_adi'])
{
if ( ($soncevap['tarih'] + 21600 ) > $tarih )
{
header('Location: hata.php?hata=2201');
exit();
}
}
}
}
Son olarak
hata.php dosyasını açın
şunu bulun:
// HATA İLETİLERİ - SONU //
üstüne şunu ekleyin:
$hata_no[2201] = '6 saat içinde aynı konuya arka arkaya cevap yazılması yasaklanmıştır ! <p>En son yazınız üzerinde düzenleme yapın, <br>ya da başka birinin cevap yazmasını bekleyin, <br>ya da son cevabınızın üzerinden 6 saat geçmesini bekleyin.';
Burada verdiğim örnekte arka arkaya cevap yazma
6 saat ile sınırlandırılmıştır.
6 saat yerine farklı bir süre girmek isterseniz, ikinci kodda geçen (en büyük kod)
21600 rakamları yerine (iki yerde geçiyor) istediğiniz farklı bir rakam (saniye) girin.
Zaman saniye cinsindendir (6 saat x 60 dakika x 60 saniye =
21600 saniye)
Ayrıca hata mesajında yazılan
6 saat ifadesini de girdiğiniz zamana göre değiştirin.