phpKF - php Kolay Forum     
Hakkında  |  Sürümler  |  indirme  |  Telif  |  Kurulum  |  Tema  |  Eklenti  |  Mod  |  Ekip  ]
Forum  |  Portal  |  Yardım  |  Üyeler  |  Arama  |  Giriş  |  Kayıt
 
Forum Ana Sayfası  »  phpKF MOD - Ek Özellik Bölümü  »  Yasaklama Modları
 »  Gereksiz büyük harfleri engelleme..

Yeni Başlık  Cevap Yaz
Toplam 2 Sayfa:   [1]   2   >   son» 
Gereksiz büyük harfleri engelleme..           (gösterim sayısı: 1.719)
Yazan Konu içeriği

boşluk

esoyun
[Hakan]

Kayıt Tarihi: 05.07.2008
İleti Sayısı: 36
Şehir: Eskişehir
Durum: Forumda Değil

E-Posta Gönder
Web Adresi
Özel ileti Gönder

Konu Tarihi: 12.07.2008- 14:06
Alıntı yaparak cevapla  


Bu eklentide, Mesaj içeriğinde veya mesaj başlığında gereksiz kullanılan büyük harfleri engelleme amaçlanmıştır.

Değişiklikleri yapmadan evvel, değişiklik yapılacak dosyalarınızın yedeklerini alınız.

Değişiklik yapılacak dosyalar,

gerecler.php
mesaj_yaz_yap.php


Önce gerecler.php dosyasını açın ve en altta,


 Kod Çizelgesi     Dil Seçin: Hepsini Seç
?>



bulun ve alttaki kod ile değiştirin..


 Kod Çizelgesi     Dil Seçin: Hepsini Seç
function BuyukHarfKontrolEt($yazi) {
   
   $sinir = 30; //  %30 oranında büyük harfe izin verir.Fazlasında hepsini küçük harfe dönüştürür.İstediğiniz oranı yazabilirsiniz...
   
   $turkce_buyuk_harflerin_kucukleri = array('İ'=>'i', 'I'=>'ı', 'Ş'=>'ş', 'Ü'=>'ü', 'Ö'=>'ö', 'Ğ'=>'ğ', 'Ç'=>'ç');
   preg_match_all("([a-z])",$yazi, $sayi,PREG_SET_ORDER);
      $yazi_karakter = strlen($yazi);
      $bulunan_kucuk_harf = count($sayi);
      $yuzde = ceil(($bulunan_kucuk_harf*100)/$yazi_karakter);
      if ($yuzde>$sinir) {
         return $yazi;
      } else {
         $yazi = strtr($yazi, $turkce_buyuk_harflerin_kucukleri);
         $yazi = strtolower($yazi);
         $first_space = '';
         $first_word = '';
         $first_space = strpos($yazi, ' ');
         $first_word = substr($$yazi, 0, $first_space - 1);
         $yazi = str_replace($first_word, ucfirst($first_word), $yazi);
         return $yazi;
      }
   }
?>




sonra dosyayı kaydedip kapatın.


Şimdi, mesaj_yaz_yap.php dosyasını açın ve,


 Kod Çizelgesi     Dil Seçin: Hepsini Seç
// ZARARLI KODLAR TEMİZLENİYOR //



bulun ve hemen bir satır altına,




 Kod Çizelgesi     Dil Seçin: Hepsini Seç
if ($_POST['mesaj_baslik'] == '') $_POST['mesaj_baslik'] = 'Cvp:';

	$_POST['mesaj_baslik'] = BuyukHarfKontrolEt($_POST['mesaj_baslik']);
	$_POST['mesaj_icerik'] = BuyukHarfKontrolEt($_POST['mesaj_icerik']);



ekleyin, dosyayı kaydedin ve kapatın.

Bu yaptıklarımız sadece foruma gönderilen ilk mesajlar içindir.İsterseniz bunu özel mesajlar için de kullanabilirsiniz.


www.esoyun.com
www.forumtix.com
__________________

Bu ileti en son esoyun tarafından 12.07.2008- 18:09 tarihinde, toplamda 6 kez değiştirilmiştir.

Cvp:
Yazan Cevap içeriği

boşluk

PRNRMLWBMSTR
[MuhammeT]
Forum Yardımcısı

Kullanıcı Resmi

Kayıt Tarihi: 06.06.2008
İleti Sayısı: 673
Şehir: İstanbul
Durum: Forumda Değil

E-Posta Gönder
Özel ileti Gönder

Cevap Tarihi: 12.07.2008- 15:14
Alıntı yaparak cevapla  


hmm güzel eklenti
teşekkürler

Tatil Gibisi Yok   (h)
Cvp:
Yazan Cevap içeriği

boşluk

yonetici
[Adem YILMAZ]
phpKF Ekip Başkanı

Kullanıcı Resmi

Kayıt Tarihi: 30.11.2006
İleti Sayısı: 3.006
Şehir: İstanbul
Durum: Gizli

E-Posta Gönder
Web Adresi
Özel ileti Gönder

Cevap Tarihi: 12.07.2008- 15:17
Alıntı yaparak cevapla  


Teşekkürler, fakat bu kodları denediniz mi, şu hatayı veriyor:

Warning: Division by zero in C:\AppServ\www\phpkf\gerecler.php on line 295

Ayrıca // YENİ BAŞLIK VERİTABANINA GİRİLİYOR // altına eklendiğinde sadece yeni başlık açıldığında bu geçerli olur, cevaplara uygulanmaz.

hem yeni konu açarken, hem de cevap yazarken işlemesi için
// ZARARLI KODLAR TEMİZLENİYOR //
altına girilmesi gerekiyor.

Ve mesajların değiştirilme olasılığını da düşünerek, aynı kodun mesaj_degistir.php dosyasında da uygulanması lazım.

Cvp:
Yazan Cevap içeriği

boşluk

esoyun
[Hakan]

Kayıt Tarihi: 05.07.2008
İleti Sayısı: 36
Şehir: Eskişehir
Durum: Forumda Değil

E-Posta Gönder
Web Adresi
Özel ileti Gönder

Cevap Tarihi: 12.07.2008- 15:34
Alıntı yaparak cevapla  


Haklısınız..

www.esoyun.com
www.forumtix.com
Cvp:
Yazan Cevap içeriği

boşluk

PRNRMLWBMSTR
[MuhammeT]
Forum Yardımcısı

Kullanıcı Resmi

Kayıt Tarihi: 06.06.2008
İleti Sayısı: 673
Şehir: İstanbul
Durum: Forumda Değil

E-Posta Gönder
Özel ileti Gönder

Cevap Tarihi: 12.07.2008- 16:00
Alıntı yaparak cevapla  


ewt şimdi bende denedim bendede aynı hatayı verdi ..


Tatil Gibisi Yok   (h)
Cvp:
Yazan Cevap içeriği

boşluk

esoyun
[Hakan]

Kayıt Tarihi: 05.07.2008
İleti Sayısı: 36
Şehir: Eskişehir
Durum: Forumda Değil

E-Posta Gönder
Web Adresi
Özel ileti Gönder

Cevap Tarihi: 12.07.2008- 16:14
Alıntı yaparak cevapla  


Sorun şu ki bende hata vermiyor.Zaten hatayı bende verse buraya baştan eklemezdim.

Benim forumumda, büyük harf kontrolünü sadece konu açılırken yaptırıyorum ve hiçbir sorunla karşılaşmadım.

Belki kendime yaptığım diğer modlarla alakası olabilir diye, sıfırdan bir Phpkf kurup kendi anlattığım şekilde değişikliği yaptım ve gene hiçbir sorunla karşılaşmadım.

Gayet güzel çalışıyor.

Adem beyin bahsettiği hatada,

Warning: Division by zero in C:\AppServ\www\phpkf\gerecler.php on line 295

bu 295.   satırı görebilirsek belki hatayı çözebiliriz.Bende ki 295. satır ile sizinki muhtemelen aynı değildir.


www.esoyun.com
www.forumtix.com
__________________

Bu ileti en son esoyun tarafından 12.07.2008- 16:15 tarihinde, toplamda 1 kez değiştirilmiştir.

Cvp:
Yazan Cevap içeriği

boşluk

yonetici
[Adem YILMAZ]
phpKF Ekip Başkanı

Kullanıcı Resmi

Kayıt Tarihi: 30.11.2006
İleti Sayısı: 3.006
Şehir: İstanbul
Durum: Gizli

E-Posta Gönder
Web Adresi
Özel ileti Gönder

Cevap Tarihi: 12.07.2008- 16:51
Alıntı yaparak cevapla  


Hatadaki satırda şu var:


 Kod Çizelgesi     Dil Seçin: Hepsini Seç
$yuzde = ceil(($bulunan_kucuk_harf*100)/$yazi_karakter);



Ama esas sorun $yazi_karakter değişkeninden gelen veride.


__________________

Bu ileti en son yonetici tarafından 12.07.2008- 16:54 tarihinde, toplamda 1 kez değiştirilmiştir.

Cvp:
Yazan Cevap içeriği

boşluk

esoyun
[Hakan]

Kayıt Tarihi: 05.07.2008
İleti Sayısı: 36
Şehir: Eskişehir
Durum: Forumda Değil

E-Posta Gönder
Web Adresi
Özel ileti Gönder

Cevap Tarihi: 12.07.2008- 17:30
Alıntı yaparak cevapla  


"$yazi" değişkeni fonksiyona atanmadığı için veya "$yazi_karakter" değişkenine veri aktarımı olmadığı için sıfıra bölme hatası oluştuğu görülüyor.Ama bu hataya ne sebep oluyor onu anlayabilmiş değilim.Aynı kodlar bende nasıl çalışıyor onuda anlayamadım.

Paylaşalım derken daha ilk eklentide böyle bir sorun çıktı.Anlaşılan o ki, diğer eklentilerimde de benzer veya farklı başka sorunlar çıkabilir.

Hata verebilecek bir eklenti için kimse boş yere uğraşmasın baabında bu konuyu silerseniz sevinirim Adem bey.

Teşekkürler,

www.esoyun.com
www.forumtix.com
__________________

Bu ileti en son esoyun tarafından 12.07.2008- 17:32 tarihinde, toplamda 1 kez değiştirilmiştir.

Cvp:
Yazan Cevap içeriği

boşluk

yonetici
[Adem YILMAZ]
phpKF Ekip Başkanı

Kullanıcı Resmi

Kayıt Tarihi: 30.11.2006
İleti Sayısı: 3.006
Şehir: İstanbul
Durum: Gizli

E-Posta Gönder
Web Adresi
Özel ileti Gönder

Cevap Tarihi: 12.07.2008- 17:33
Alıntı yaparak cevapla  


Sorunu anladım, cevap yazarken cevap başlığının boş olduğu durumlarda oluyor.
Başlık olmadığı için
$yazi_karakter = strlen($yazi);
sıfır döndürüyor ve ceil yuvarlama fonksiyonu hata veriyor.

Normalde sadece cevaplarda başlık girilme zorunluluğu yok. Ama cevaba başlık girilmediği zaman daha aşağıda Cvp: ekleniyor.
Fakat biz bunun daha üstünde fonksiyonu çalıştırdığımız için boş başlıkta hata aldık.

O kodu şöyle değiştirdiğinizde sorun çözülecektir:


 Kod Çizelgesi     Dil Seçin: Hepsini Seç
	if ($_POST['mesaj_baslik'] == '') $_POST['mesaj_baslik'] = 'Cvp:';

	$_POST['mesaj_baslik'] = BuyukHarfKontrolEt($_POST['mesaj_baslik']);
	$_POST['mesaj_icerik'] = BuyukHarfKontrolEt($_POST['mesaj_icerik']);



Yukarıdaki kodu ekler ve mesaj_degistir.php sayfasına da uyarlama kodunu eklerseniz, kullanmak isteyenler için güzel bir mod olacaktır.

Yalnız fonksiyon iletinin içinde abartılı derece büyük harf varsa istisnasız hepsini küçültüyor, bazılarına izin verse daha güzel olurdu.

Modu silmeye gerek yok eminim sorunu çözeceksiniz, bu ufak sorun sizi caydırmasın.
Sizden başka güzel modlarda bekliyoruz :)

Teşekkürler...



__________________

Bu ileti en son yonetici tarafından 12.07.2008- 17:47 tarihinde, toplamda 4 kez değiştirilmiştir.

Yeni Başlık  Cevap Yaz
Toplam 2 Sayfa:   [1]   2   >   son» 



Forum Ana Sayfası  »  phpKF MOD - Ek Özellik Bölümü  »  Yasaklama Modları
 »  Gereksiz büyük harfleri engelleme..

Forum Ana Sayfası


Benzer konular
Başlık Yazan Cevap Gösterim Son ileti
Konu Klasör Yüklemeye çalıştığınız resim 35 kilobayt`dan büyük ! sanallord 11 353 05.04.2010- 17:42
Konu Klasör Konu sayfasında büyük bir boşluk oluştu hero_ 1 97 16.03.2010- 20:36
Konu Klasör Kullanıcı engelleme gültay 3 622 22.10.2008- 18:40
Konu Klasör üyeler bölümünü engelleme yosata 1 292 29.03.2009- 22:12
Konu Klasör Sitenizden Kopyalama Yapmalarını Engelleme Nicholas 12 1371 26.07.2010- 19:01
Konu Klasör istenilen üyelerin imza eklemesini engelleme Fahrenheit 3 541 31.05.2009- 16:50
Konu Klasör yöneticilerin yönetim masasına girmesini engelleme bebeto59 3 235 08.11.2009- 10:50

Etiketler   Gereksiz,   büyük,   harfleri,   engelleme

    Forum Teması:
     

php Kolay Forum (phpKF)   Telif - Copyright © 2007 - 2010   phpKF Ekibi


- PHP KOLAY FORUM -
 RSS Beslemesini Görmek için Tıklayın   RSS Beslemesini Google Sayfama Ekle   RSS Beslemesini Yahoo Sayfama Ekle