Forumlarınızda Tamamen Büyük Harf Yazanlara Son!

02 Ocak 2006, 08:42 tarihinde yazılmış olup, 4,624 kez okunmuş ve 32 yorum almış

Sitemi takip edenler bilirlerki geçenler de arkadaşlarımın sorusu üzerine “PhpBB Forum Mesaj ve Başlıklarında Büyük Harfleri Engelleme” eklentisi yazmıştım. Dün Cem ile konuşurken aslında bunun kendileri için yeterli olmadığını öğrendim. Sağolsunlar bir problem yarattılar bana ve sıkı bir soruydu :D Fakat çözdüm. Alın size 2006 ‘a girişteki en iyi phpbb eklentisi ! Yok yok kendim yazdım diye demiyorum. Özelliğini okuyun hak vereceksiniz.

3.50


Problem Neydi?

Problem phpbb forum mesaj ve başlıklarında gereğinden fazla kullanılanan büyük harflerdi. Önceki eklenti ile tüm büyük harfler küçültülebiliyordu. Fakat daha sonra bazı mesajlarda zorunlu olarak büyük harf kullanılabileceğini farkettik. Ama eklenti bunları da ufaltıyordu. İşte problem buydu.

Çözüm yolu ve mantığı nedir?

Benim bulduğum çözüm şöyle. Eklenti öncelikle mesaj ya da başlık v.b. içeriğini kontrol etmeli. Mesaj içerisinde kullanılmış olan küçük harf sayısını bulmalı. Eğer kullanılan küçük harf sayısı, mesajdaki toplam karakter sayısının belli bir yüzdesinden az ise, tüm harfler küçültülmeli. Bu uygulanabilecek en iyi mantıktır zira bir nevi fonksiyonunuza düşünme yetkisi veriyor ve belli bir yüzdelik değer ile gereğinden fazla kullanılan büyük harf miktarını bulduruyorsunuz.

PhpBB için Dmry Büyük Harf Kontrol Eklentisi

PHP:
  1. ##############################################################
  2. ## MOD Başlık:        Dmry Büyük Harf Kontrol Eklentisi
  3. ## MOD Yazar:      Hakan Demiray (dmRy) http://www.dmry.net
  4. ## MOD Açıklama:  Forum mesaj ve başlıklarında gereğinden fazla büyük harf kullanımını engeller.
  5. ## MOD Sürüm:  1.0.0
  6. ##
  7. ## Kurulum zorluğu: Kolay
  8. ## Kurulum süresi:  1 Dakika
  9. ## Düzenlenecek dosyalar:      1
  10. ##  includes/functions_post.php
  11. ##
  12. ## Yüklenecek dosyalar:     N/A
  13. ##############################################################
  14. ## Yazar notları:
  15. ##
  16. ##  $sinir = 30; değeri büyük harf yazmadaki sınırdır. Şöyle ki;
  17. ##  Eğer kullanılan küçük harf sayısı, mesajdaki toplam karakter
  18. ##  sayısının %30 'dan az ise, tüm harfler küçültülmelidir.
  19. ##
  20. ##############################################################
  21. ## Bu modu eklemeden önce lütfen dosyaların yedeğini alınız.
  22. ##############################################################
  23. #
  24. #-----[ Aç ]------------------------------------------------
  25. #
  26. includes/functions_post.php
  27.  
  28. #
  29. #-----[ Bul ]------------------------------------------------
  30. #
  31.  
  32.     $unhtml_specialchars_replace = array('>', '<', '"', '&');
  33.  
  34. #
  35. #-----[ Sonrasına Ekle ]------------------------------------------
  36. #
  37.  
  38.     // Dmry büyük harf kontrol
  39.     function BuyukHarfKontrol($yazi) {
  40.    
  41.     $sinir = 30;
  42.    
  43.     $turkce_buyuk_harflerin_kucukleri = array('İ'=>'i', 'I'=>'ı', 'Ş'=>'ş', 'Ü'=>'ü', 'Ö'=>'ö', 'Ğ'=>'ğ', 'Ç'=>'ç');
  44.     preg_match_all("([a-z])",$yazi, $sayi,PREG_SET_ORDER);
  45.         $yazi_karakter = strlen($yazi);
  46.         $bulunan_kucuk_harf = count($sayi);
  47.         $yuzde = ceil(($bulunan_kucuk_harf*100)/$yazi_karakter);
  48.         if ($yuzde>$sinir) {
  49.             return $yazi;
  50.         } else {
  51.             $yazi = strtr($yazi, $turkce_buyuk_harflerin_kucukleri);
  52.             $yazi = strtolower($yazi);
  53.             $first_space = '';
  54.             $first_word = '';
  55.             $first_space = strpos($yazi, ' ');
  56.             $first_word = substr($$yazi, 0, $first_space - 1);
  57.             $yazi = str_replace($first_word, ucfirst($first_word), $yazi);
  58.             return $yazi;
  59.         }
  60.     }
  61.     // Dmry büyük harf kontrol
  62.  
  63. #
  64. #-----[ Bul ]------------------------------------------------
  65. #
  66.  
  67.     //
  68.     // Clean up the message
  69.     //
  70.     $message = trim($message);
  71.        
  72. #
  73. #-----[ Sonrasına Ekle ]------------------------------------------
  74. #       
  75.  
  76.     // Dmry büyük harf kontrol
  77.     $message = BuyukHarfKontrol($message);
  78.     // Dmry büyük harf kontrol
  79.  
  80. #
  81. #-----[ Bul ]------------------------------------------------
  82. #
  83.  
  84. $subject = htmlspecialchars(trim($subject));
  85.  
  86. #
  87. #-----[ Sonrasına Ekle ]------------------------------------------
  88. #
  89.  
  90. // Dmry büyük harf kontrol
  91. $subject = BuyukHarfKontrol($subject);
  92. // Dmry büyük harf kontrol
  93.  
  94. #
  95. #-----[ Kaydet ve Kapat ]---------------------------------
  96. #
  97. # Eklentinin Sonu

Bu kadar! Haydi geçmiş olsun...

Eklentiyi indir

Wordpress.Org Lisans Kullanım Şartları Dmry.net Hakkında

Kullanım şartları yerine getirilmeden hiçbir şekilde kopyala-yapıştır yapılamaz.
eXTReMe Tracker