DMRY.NET’e Hoşgeldiniz
Nerdeyim? GirişPhp › Forumlarınızda Tamamen Büyük Harf Yazanlara Son!

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.

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

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

##############################################################
## MOD Başlık:		Dmry Büyük Harf Kontrol Eklentisi
## MOD Yazar:		Hakan Demiray (dmRy) http://www.dmry.net
## MOD Açıklama:	Forum mesaj ve başlıklarında gereğinden fazla büyük harf kullanımını engeller.
## MOD Sürüm:		1.0.0
##
## Kurulum zorluğu: Kolay
## Kurulum süresi:  1 Dakika
## Düzenlenecek dosyalar:      1
##	includes/functions_post.php
##
## Yüklenecek dosyalar:     N/A
##############################################################
## Yazar notları:
##
##	$sinir = 30; değeri büyük harf yazmadaki sınırdır. Şöyle ki;
##	Eğer kullanılan küçük harf sayısı, mesajdaki toplam karakter
##	sayısının %30 'dan az ise, tüm harfler küçültülmelidir.
##
##############################################################
## Bu modu eklemeden önce lütfen dosyaların yedeğini alınız.
##############################################################
#
#-----[ Aç ]------------------------------------------------
#
includes/functions_post.php

#
#-----[ Bul ]------------------------------------------------
#

	$unhtml_specialchars_replace = array('>', '<', '"', '&');

#
#-----[ Sonrasına Ekle ]------------------------------------------
#

	// Dmry büyük harf kontrol
	function BuyukHarfKontrol($yazi) {

	$sinir = 30;

	$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;
		}
	}
	// Dmry büyük harf kontrol

#
#-----[ Bul ]------------------------------------------------
#

	//
	// Clean up the message
	//
	$message = trim($message);

#
#-----[ Sonrasına Ekle ]------------------------------------------
#       

	// Dmry büyük harf kontrol
	$message = BuyukHarfKontrol($message);
	// Dmry büyük harf kontrol

#
#-----[ Bul ]------------------------------------------------
#

$subject = htmlspecialchars(trim($subject));

#
#-----[ Sonrasına Ekle ]------------------------------------------
# 

// Dmry büyük harf kontrol
$subject = BuyukHarfKontrol($subject);
// Dmry büyük harf kontrol

#
#-----[ Kaydet ve Kapat ]---------------------------------
#
# Eklentinin Sonu

Bu kadar! Haydi geçmiş olsun…

Eklentiyi indir

Bu yazı 2 Ocak 2006, 08:42 tarihinde yazılmış olup bu zamana kadar 5,093 kez görüntülenmiştir
En son ise 27 Ekim 2008, 23:38 tarihinde güncellenmiştir

Bu yazı 33 adet yorum almıştır ve bunların son 10 adeti görüntülenmektedir. Bu yazıya yapılan tüm yorumları görmek için arşivi görüntüleyiniz. TÜM YORUMLARI OKUMAK İÇİN TIKLAYINIZ.

#33 – 02 Kasım 2008 , 12:27

bu kadar olacağını sanmıyordum =)

yalnız smileylerde büyük harfle kullanılan smiley varsa çalışmıyor sanırım…

  • Yorumlar: 1
  • İlk Yorum:
    02 Kas. 2008
#32 – 12 Haziran 2008 , 14:49

SMF içinde bu mod var zaten .

Badboy isimli arkadaşımız resmi sitede yayınlamıştı.

  • Yorumlar: 1
  • İlk Yorum:
    12 Haz. 2008
#31 – 11 Haziran 2008 , 23:19

Abi süpersin ne güzel düşünülmüş smf içinde isteriz :)

  • Yorumlar: 46
  • İlk Yorum:
    10 Haz. 2007
#30 – 29 Eylül 2007 , 20:05

alper

oldukca kullanısli dogrusu. isime yarayan bir uygulama.

  • Yorumlar: 1
  • İlk Yorum:
    29 Eyl. 2007
#29 – 22 Ağustos 2007 , 21:33

Mantıklı geliyor.

  • Yorumlar: 1
  • İlk Yorum:
    22 Ağu. 2007
#28 – 07 Nisan 2007 , 20:38

Kenan

vBulletinde bu şekilde çalışan bir ajax fonksiyonu var fakat Türkçe karakter problemi olduğu için kullanamıyoruz.

  • Yorumlar: 1
  • İlk Yorum:
    07 Nis. 2007
#27 – 20 Mart 2007 , 13:03

Eline emegine saglik.

Uyeleri bu buyk harf konusunda uyarmaktan skilmisdim acikcasi. Hatta bu yuzden 2 3 kisiyi banlamak zorunda bile kaldim:(

Oto kontrol dedikleri bu olsa gerek :mrgreen:

Sagol

  • Yorumlar: 1
  • İlk Yorum:
    20 Mar. 2007
#26 – 29 Aralık 2006 , 19:00

Emuman

Güzel bir mod fakat ilk harf küçük olarak çıkıyor malesef :cry:

  • Yorumlar: 1
  • İlk Yorum:
    29 Ara. 2006
#25 – 09 Temmuz 2006 , 19:26

Hemen kurayim :mrgreen:

  • Yorumlar: 1
  • İlk Yorum:
    09 Tem. 2006
#24 – 08 Temmuz 2006 , 11:30

çok teşekkürler…

  • Yorumlar: 1
  • İlk Yorum:
    08 Tem. 2006
YAZIYI BEĞENDİN Mİ?

Yazını çok beğendim. Yeni yazılarının e-posta adresime gelmesini istiyorum :)

Haberler RSS Yorumlar RSS

© 2009 Tüm hakları dmRy.net'e aittir.
Kullanım şartları yerine getirilmeden hiçbir şekilde kopyala-yapıştır yapılamaz, yazılar ve bilgiler kullanılamaz.