phpKF - php Kolay Forum  
 [  Hakkında  |  Sürüm Kaydı  |  Telif  |  Bildir  |  Kurulum Klavuzu - Video  |  Temalar  |  Ekip  ] 
Forum  |  Portal  |  Yardım  |  Üyeler  |  Giriş  |  Kayıt
 
 phpKF Nedir ?
phpKF Nedir ?
    php Kolay Forum; php ve MySQL destekli, kullanımı kolay, yönetim masası üzerinden birçok özelliği kontrol edilebilen, açık kaynaklı ve tamamen ücretsiz bir forum uygulamasıdır.
    Tamamiyle sıfırdan geliştirilmiş, başka hiçbir foruma benzemeyen, %100 Türk yapımı bir sistemdir.

- Güncel Sürümler -
phpKF v1.50 çıktı  (29.09.2008)    -    phpKF-Portal v1.10  (21.07.2008)

Önemli Uyarı

Yaptığınız modları sadece nasıl yapıldığını anlatarak paylaşabilirsiniz.
Temalar klasörü dışındaki forum veya portal dosyalarının dağıtımı yasaktır.


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


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

esoyun
[Hakan]

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

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

Konu Tarihi: 12.07.2008- 13:06
  


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
__________________

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

Cvp:
Cevap: 1  
Yazan Cevap içeriği

PRNRMLWBMSTR
[PaRaNoRMaLWeBMasTeR]

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

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

Cevap Tarihi: 12.07.2008- 14:14
  


hmm güzel eklenti
teşekkürler

Cvp:
Cevap: 2  
Yazan Cevap içeriği

yonetici
[Adem YILMAZ]
phpKF Ekip Başkanı

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

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

Cevap Tarihi: 12.07.2008- 14:17
  


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:
Cevap: 3  
Yazan Cevap içeriği

esoyun
[Hakan]

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

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

Cevap Tarihi: 12.07.2008- 14:34
  


Haklısınız..

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

PRNRMLWBMSTR
[PaRaNoRMaLWeBMasTeR]

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

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

Cevap Tarihi: 12.07.2008- 15:00
  


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

Cvp:
Cevap: 5  
Yazan Cevap içeriği

esoyun
[Hakan]

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

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

Cevap Tarihi: 12.07.2008- 15:14
  


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
__________________

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

Cvp:
Cevap: 6  
Yazan Cevap içeriği

yonetici
[Adem YILMAZ]
phpKF Ekip Başkanı

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

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

Cevap Tarihi: 12.07.2008- 15:51
  


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- 15:54 tarihinde, toplamda 1 kez değiştirilmiştir.

Cvp:
Cevap: 7  
Yazan Cevap içeriği

esoyun
[Hakan]

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

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

Cevap Tarihi: 12.07.2008- 16:30
  


"$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
__________________

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

Cvp:
Cevap: 8  
Yazan Cevap içeriği

yonetici
[Adem YILMAZ]
phpKF Ekip Başkanı

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

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

Cevap Tarihi: 12.07.2008- 16:33
  


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- 16: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ü
 »  Gereksiz büyük harfleri engelleme..

Forum Ana Sayfası
    Forum Teması:
     

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

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