Üye Girişi    
 + Üye ol
  • Main navigation
İçerik
Son üyeler
daPhNe 2010/9/6
epolattuna 2010/9/4
Carlo4566 2010/9/2
hillthomps 2010/9/2
waltermu 2010/8/29
Temalar

(2 Tema)
Kimler sitede
9 kişi online (5 üye Yazılar bölümünde geziyor)

Üye: 0
Ziyaretçi: 9

devamı...
Ziyaretçi Sayısı
Bugün : 6767
Dün : 104104104
Toplam : 6924669246692466924669246
Alexa
Ana sayfa / xoopshocasi.com / Web Programlama Dersleri / Modüllerin Adını Değiştirmek ve Kısaltmak

Modüllerin Adını Değiştirmek ve Kısaltmak

Bu konu bugüne kadar en çok sorulan sorulardan birisi olmuştur. Haliyle her Türk xoops kullanıcısı sitesinde newbb yerine forum, mydownloads yerine dosyalar, mylinks yerine linkler yazmasını ister. Daha önce bu konu için hep modüllerin ismini değiştirmeyi önerdim ancak artık bu iş için daha kolay bir yol olduğunu görmüş bulunuyorum ve bunu hemen sizinle paylaşacağım. Siz de XoopSHoCasI.CoM sitesinin bir üyesi olmanın ayrıcalığını yaşarak yeni Türkçe modüllerinizle mutlu mesut yaşayacaksınız. Hadi bakalım fazla uzatmadan konumuza girelim.

Bir önceki makalede modules klasörünün adını bilesenler'e çevirmeyi anlatmıştım..bu seferki işlem ona göre biraz daha karmaşık görünebilir..ancak dikkatle uygulandığında pek de zor olmadığını göreceksiniz..toplamda 2 dosyada değişiklik yapacağız biri .htaccess dosyası ki burada önemli bir uyarıda bulunayım, .htaccess dosyaları Windows üzerinde çalışan serverlarda çalışmayacaktır ayrıca bu dosyaları hazırlamak da büyük bir özen ister eğer dosyada fazladan boşluk veya hatalı bir kod varsa siteniz 500 Internal Server hatası verecektir..böyle bir durumda panik olmadan .htaccess dosyasını silin ve dikkatlice yeniden oluşturun..demek ki neymiş bu işlemden önce hem mainfile.php hem de önceden varsa .htaccess dosyalarımızı yedekliyoruz

Dosya: mainfile.php
İşlem: aşağıdaki kodları dosyayı bir metin editöründe açarak üstlere bir yere ekleyin
 
//////////////////////////////////////////////////////////////
// Bu kod XoopSHoCasI.CoM sitesinden indirilmiştir.
// Bora Canbula - xoopshocasi@xoopshocasi.com 
//////////////////////////////////////////////////////////////
$GLOBALS['_rewriteRulesFrom'] = array(
'/forum/',
'/dosyalar/',
'/linkler/',
'/galeri/',
);
$GLOBALS['_rewriteRulesTo'] = array(
'/modules/newbbex/',
'/modules/mydownloads/',
'/modules/mylinks/',
'/modules/myalbum/',
);
 
$GLOBALS['_abs_offset'] = preg_replace('/https?:\/\/'.$_SERVER["HTTP_HOST"].'/','',XOOPS_URL);
$GLOBALS['_rewriteRulesTo1'] = preg_replace('/^(.*)$/e','"!('.XOOPS_URL.'|\"".$GLOBALS["_abs_offset"]."|\'".$GLOBALS["_abs_offset"].")".preg_quote("\1","!")."!"', $GLOBALS['_rewriteRulesTo']);
$GLOBALS['_rewriteRulesFrom1'] = preg_replace('/^(.*)$/','\\\1\1',$GLOBALS['_rewriteRulesFrom']);
 
function modul_turkcelestirici( $s ) {
$s = preg_replace($GLOBALS['_rewriteRulesTo1'],$GLOBALS['_rewriteRulesFrom1'], $s);
while($i<=count($GLOBALS['_rewriteRulesFrom'])) {
$s = preg_replace( '/('.preg_quote(XOOPS_URL,'/').'|"|\')'.preg_quote($GLOBALS['_rewriteRulesTo'][$i],'/').'/' ,"\\1".$GLOBALS['_rewriteRulesFrom'][$i] , $s ) ;
$i++;
}
return $s;
}
if (empty($_SERVER['REDIRECT_URL']) || ($_SERVER['REDIRECT_URL'] == $_SERVER['REQUEST_URI'])) {
if (empty($_SERVER['REDIRECT_REDIRECT_STATUS'])) {
if (($_changer_url=modul_turkcelestirici('"'.$_SERVER['REQUEST_URI'].'"')) != '"'.$_SERVER['REQUEST_URI'].'"') {
header('Location: ' . str_replace('"','',$_changer_url));
}
}
}
$_SERVER['REQUEST_URI'] = str_replace( $GLOBALS['_rewriteRulesFrom'],$GLOBALS['_rewriteRulesTo'], @$_SERVER['REQUEST_URI'] ) ;
$_SERVER['HTTP_REFERER'] = str_replace($GLOBALS['_rewriteRulesFrom'], $GLOBALS['_rewriteRulesTo'], @$_SERVER['HTTP_REFERER'] ) ;
 
ob_start( 'modul_turkcelestirici' ) ;
//////////////////////////////////////////////////////////////
// Bu kod XoopSHoCasI.CoM sitesinden indirilmiştir. 
// Bize güvendiğiniz için teşekkür ederiz. ;)
//////////////////////////////////////////////////////////////


ben örnek olarak sadece 4 modül ekledim..benim yazdığım modülleri değiştirebilir veya ekleme/çıkarma yapabilirsiniz..sadece kodların en üst bölümünü değiştirin yeter..tabi yaptığınız değişiklikleri .htaccess dosyasına da yansıtmalısınız..yoksa bir işe yaramazlar..şimdi gelelim .htaccess dosyasına;

Dosya: .htaccess
İşlem: Aşağıda verdiğim kodları mevcut .htaccess dosyanıza ekleyin..eğer .htaccess dosyanız yoksa bir tane oluşturun..eğer hostunuz .htaccess dosyalarına izin vermiyorsa bu işlemi burada bırakın ve mainfile.php'de yaptığınız değişikliği de geri alın
RewriteEngine on
RewriteRule ^forum/(.*)$ /modules/newbbex$1 [L]
RewriteRule ^dosyalar/(.*)$ /modules/mydownloads/$1 [L]
RewriteRule ^linkler/(.*)$ /modules/mylinks/$1 [L]
RewriteRule ^galeri/(.*)$ /modules/myalbum/$1 [L]


benim hazırladığım kodlarda değişiklik yapmak isterseniz hem mainfile.php hem de .htaccess dosyasında değişiklik yapmayı unutmayın..bu işlemden önce mutlaka yedek alın..herhangi bir sorunla karşılaştığınızda her iki dosyanın da yedeğini yükleyip sitenizi eski haline döndürebilirsiniz

bu arada bir çok konuda olduğu gibi bu işlemi de Türkiye'de ilk başaran XoopSHoCasI.CoM sitesi oldu..umarım kıymetimiz bilinir..

NOT: Benim örnek göstermek amaçlı kullandığım modüller sitenizde olmayabilir..linkleri değiştiriverin..

Bora Canbula ----------- xoopshocasi@xoopshocasi.com


Ayrıca bakınız
Bu sayfayı bir arkadaşınıza tavsiye edin! Bu sayfayı yazdırmak üzere hazırlayın


Yorumlardan yazarları sorumludur.