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

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

Üye: 1
Ziyaretçi: 6

waltermu, devamı...
Ziyaretçi Sayısı
Bugün : 6666
Dün : 143143143
Toplam : 6950069500695006950069500
Alexa
Ana sayfa / xoopshocasi.com / Web Programlama Dersleri / Linkler için üyelik zorunluluğu koymak

Linkler için üyelik zorunluluğu koymak

Heh heh heh..bundan sonra xoops sitelerimize üye olmayanlara yağmurlu havada su yok..çok hain bir ders oldu bu

Bundan sonra forumda vb. modüllerde verilen linkleri sadece üyelerinizin görmesini sağlayabileceksiniz..hafiften vbulletindeki saklı içerik tarzı bir şey yani..konuyu uzatmadan hemen işleme geçelim

Değişikliğin yapılacağı dosya: class/module.textsanitizer.php

toplamda iki fonksiyonda değişiklik yapacağız önce aşağıdaki kod bloğunu bulun ve tamamen silin

 
function makeClickable(&$text)
{
$patterns = array("/(^|[^]_a-z0-9-=\"'\/])([a-z]+?):\/\/([^, \r\n\"\(\)'<>]+)/i", "/(^|[^]_a-z0-9-=\"'\/])www\.([a-z0-9\-]+)\.([^, \r\n\"\(\)'<>]+)/i", "/(^|[^]_a-z0-9-=\"'\/])ftp\.([a-z0-9\-]+)\.([^, \r\n\"\(\)'<>]+)/i", "/(^|[^]_a-z0-9-=\"'\/:\.])([a-z0-9\-_\.]+?)@([^, \r\n\"\(\)'<>\[\]]+)/i");
$replacements = array("\\1<a href=\"\\2://\\3\" target=\"_blank\">\\2://\\3</a>", "\\1<a href=\"http://www.\\2.\\3\" target=\"_blank\">www.\\2.\\3</a>", "\\1<a href=\"ftp://ftp.\\2.\\3\" target=\"_blank\">ftp.\\2.\\3</a>", "\\1<a href=\"mailto:\\2@\\3\">\\2@\\3</a>");
return preg_replace($patterns, $replacements, $text);
}



sildiğimiz yerleri boş bırakmıyoruz tabiki..sildiğinizde boş kalan alana aşağıdaki kod bloğunu yapıştırın

 
function &makeClickable(&$text)
{
$patterns = array(
"/(^|[^]_a-z0-9-=\"'\/])([a-z]+?):\/\/([^, \r\n\"\(\)'<>]+)/i", 
"/(^|[^]_a-z0-9-=\"'\/])www\.([a-z0-9\-]+)\.([^, \r\n\"\(\)'<>]+)/i", 
"/(^|[^]_a-z0-9-=\"'\/])ftp\.([a-z0-9\-]+)\.([^, \r\n\"\(\)'<>]+)/i", 
"/(^|[^]_a-z0-9-=\"'\/:\.])([a-z0-9\-_\.]+?)@([^, \r\n\"\(\)'<>\[\]]+)/i"
);
if($_SESSION['xoopsUserId']) {
$replacements = array(
"\\1<a href=\"\\2://\\3\" target=\"_blank\">\\2://\\3</a>", 
"\\1<a href=\"http://www.\\2.\\3\" target=\"_blank\">http://www.\\2.\\3</a>", 
"\\1<a href=\"ftp://ftp.\\2.\\3\" target=\"_blank\">ftp://ftp.\\2.\\3</a>", 
"\\1<a href=\"mailto:\\2@\\3\">\\2@\\3</a>"
);
}
else {
$replacements = "<a href=".XOOPS_URL."/register.php>LINKI GÖRMEK IÇIN ÜYE OLMALISINIZ!</a>";
}
return preg_replace($patterns, $replacements, $text);
}



linki görmek için üye olmalısınız yazısını istediğiniz gibi düzenleyebilirsiniz..bu fonksiyondaki değişiklik direk olarak yazılan adreslerin üye olmayanlara gösterilmemesini sağlayacak

ikinci bölümde ise bbcode ile verilen linklerin önünü keseceğiz..şimdi aşağıdaki kod bloğunu buluyor ve siliyorsunuz..az önce sildiğiniz biraz altında olmalı

 
function &xoopsCodeDecode(&$text, $allowimage = 1)
{
$patterns = array();
$replacements = array();
$patterns[] = "/\[siteurl=(['\"]?)([^\"'<>]*)\\1](.*)\[\/siteurl\]/sU";
$replacements[] = '<a href="'.XOOPS_URL.'/\\2">\\3</a>';
$patterns[] = "/\[url=(['\"]?)(http[s]?:\/\/[^\"'<>]*)\\1](.*)\[\/url\]/sU";
$replacements[] = '<a href="\\2" target="_blank">\\3</a>';
$patterns[] = "/\[url=(['\"]?)(ftp?:\/\/[^\"'<>]*)\\1](.*)\[\/url\]/sU";
$replacements[] = '<a href="\\2" target="_blank">\\3</a>';
$patterns[] = "/\[url=(['\"]?)([^\"'<>]*)\\1](.*)\[\/url\]/sU";
$replacements[] = '<a href="http://\\2" target="_blank">\\3</a>';
$patterns[] = "/\[color=(['\"]?)([a-zA-Z0-9]*)\\1](.*)\[\/color\]/sU";
$replacements[] = '<span style="color: #\\2;">\\3</span>';
$patterns[] = "/\[size=(['\"]?)([a-z0-9-]*)\\1](.*)\[\/size\]/sU";
$replacements[] = '<span style="font-size: \\2;">\\3</span>';
$patterns[] = "/\[font=(['\"]?)([^;<>\*\(\)\"']*)\\1](.*)\[\/font\]/sU";
$replacements[] = '<span style="font-family: \\2;">\\3</span>';
$patterns[] = "/\[email]([^;<>\*\(\)\"']*)\[\/email\]/sU";
$replacements[] = '<a href="mailto:\\1">\\1</a>';
$patterns[] = "/\[b](.*)\[\/b\]/sU";
$replacements[] = '<b>\\1</b>';
$patterns[] = "/\[i](.*)\[\/i\]/sU";
$replacements[] = '<i>\\1</i>';
$patterns[] = "/\[u](.*)\[\/u\]/sU";
$replacements[] = '<u>\\1</u>';
$patterns[] = "/\[d](.*)\[\/d\]/sU";
$replacements[] = '<del>\\1</del>';
//$patterns[] = "/\[li](.*)\[\/li\]/sU";
//$replacements[] = '<li>\\1</li>';
$patterns[] = "/\[img align=(['\"]?)(left|center|right)\\1]([^\"\(\)\?\&'<>]*)\[\/img\]/sU";
$patterns[] = "/\[img]([^\"\(\)\?\&'<>]*)\[\/img\]/sU";
$patterns[] = "/\[img align=(['\"]?)(left|center|right)\\1 id=(['\"]?)([0-9]*)\\3]([^\"\(\)\?\&'<>]*)\[\/img\]/sU";
$patterns[] = "/\[img id=(['\"]?)([0-9]*)\\1]([^\"\(\)\?\&'<>]*)\[\/img\]/sU";
if ($allowimage != 1) {
$replacements[] = '<a href="\\3" target="_blank">\\3</a>';
$replacements[] = '<a href="\\1" target="_blank">\\1</a>';
$replacements[] = '<a href="'.XOOPS_URL.'/image.php?id=\\4" target="_blank">\\4</a>';
$replacements[] = '<a href="'.XOOPS_URL.'/image.php?id=\\2" target="_blank">\\3</a>';
} else {
$replacements[] = '<img src="\\3" align="\\2" alt="" />';
$replacements[] = '<img src="\\1" alt="" />';
$replacements[] = '<img src="'.XOOPS_URL.'/image.php?id=\\4" align="\\2" alt="\\4" />';
$replacements[] = '<img src="'.XOOPS_URL.'/image.php?id=\\2" alt="\\3" />';
}
$patterns[] = "/\[quote]/sU";
$replacements[] = _QUOTEC.'<div class="xoopsQuote"><blockquote>';
//$replacements[] = 'Quote: <div class="xoopsQuote"><blockquote>';
$patterns[] = "/\[\/quote]/sU";
$replacements[] = '</blockquote></div>';
$text = str_replace( "\x00", "", $text );
$c = "[\x01-\x1f]*";
$patterns[] = "/j{$c}a{$c}v{$c}a{$c}s{$c}c{$c}r{$c}i{$c}p{$c}t{$c}:/si";
$replacements[] = "(script removed)";
$patterns[] = "/a{$c}b{$c}o{$c}u{$c}t{$c}:/si";
$replacements[] = "about :";
$text = preg_replace($patterns, $replacements, $text);
return $text;
}



sildiğiniz alana aşağıdaki kod bloğunu yapıştırın

 
function &xoopsCodeDecode(&$text, $allowimage = 1)
{
$patterns = array();
$replacements = array();
$patterns[] = "/\[siteurl=(['\"]?)([^\"'<>]*)\\1](.*)\[\/siteurl\]/sU";
$replacements[] = '<a href="'.XOOPS_URL.'/\\2" target="_blank">\\3</a>';
$patterns[] = "/\[url=(['\"]?)(http[s]?:\/\/[^\"'<>]*)\\1](.*)\[\/url\]/sU";
if($_SESSION['xoopsUserId']) {
$replacements[] = '<a href="\\2" target="_blank">\\3</a>';
}
else {
$replacements[] = "<a href=".XOOPS_URL."/register.php>LINKI GÖRMEK IÇIN ÜYE OLMALISINIZ!</a>";
}
$patterns[] = "/\[url=(['\"]?)(ftp?:\/\/[^\"'<>]*)\\1](.*)\[\/url\]/sU";
if($_SESSION['xoopsUserId']) {
$replacements[] = '<a href="\\2" target="_blank">\\3</a>';
}
else {
$replacements[] = "<a href=".XOOPS_URL."/register.php>LINKI GÖRMEK IÇIN ÜYE OLMALISINIZ!</a>";
}
$patterns[] = "/\[url=(['\"]?)([^\"'<>]*)\\1](.*)\[\/url\]/sU";
if($_SESSION['xoopsUserId']) {
$replacements[] = '<a href="http://\\2" target="_blank">\\3</a>';
}
else {
$replacements[] = "<a href=".XOOPS_URL."/register.php>LINKI GÖRMEK IÇIN ÜYE OLMALISINIZ!</a>";
}
$patterns[] = "/\[color=(['\"]?)([a-zA-Z0-9]*)\\1](.*)\[\/color\]/sU";
$replacements[] = '<span style="color: #\\2;">\\3</span>';
$patterns[] = "/\[size=(['\"]?)([a-z0-9-]*)\\1](.*)\[\/size\]/sU";
$replacements[] = '<span style="font-size: \\2;">\\3</span>';
$patterns[] = "/\[font=(['\"]?)([^;<>\*\(\)\"']*)\\1](.*)\[\/font\]/sU";
$replacements[] = '<span style="font-family: \\2;">\\3</span>';
$patterns[] = "/\[email]([^;<>\*\(\)\"']*)\[\/email\]/sU";
$replacements[] = '<a href="mailto:\\1">\\1</a>';
$patterns[] = "/\[b](.*)\[\/b\]/sU";
$replacements[] = '<b>\\1</b>';
$patterns[] = "/\[i](.*)\[\/i\]/sU";
$replacements[] = '<i>\\1</i>';
$patterns[] = "/\[u](.*)\[\/u\]/sU";
$replacements[] = '<u>\\1</u>';
$patterns[] = "/\[d](.*)\[\/d\]/sU";
$replacements[] = '<del>\\1</del>';
//$patterns[] = "/\[li](.*)\[\/li\]/sU";
//$replacements[] = '<li>\\1</li>';
$patterns[] = "/\[img align=(['\"]?)(left|center|right)\\1]([^\"\(\)\?\&'<>]*)\[\/img\]/sU";
$patterns[] = "/\[img]([^\"\(\)\?\&'<>]*)\[\/img\]/sU";
$patterns[] = "/\[img align=(['\"]?)(left|center|right)\\1 id=(['\"]?)([0-9]*)\\3]([^\"\(\)\?\&'<>]*)\[\/img\]/sU";
$patterns[] = "/\[img id=(['\"]?)([0-9]*)\\1]([^\"\(\)\?\&'<>]*)\[\/img\]/sU";
if ($allowimage != 1) {
$replacements[] = '<a href="\\3" target="_blank">\\3</a>';
$replacements[] = '<a href="\\1" target="_blank">\\1</a>';
$replacements[] = '<a href="'.XOOPS_URL.'/image.php?id=\\4" target="_blank">\\4</a>';
$replacements[] = '<a href="'.XOOPS_URL.'/image.php?id=\\2" target="_blank">\\3</a>';
} else {
$replacements[] = '<img src="\\3" align="\\2" alt="" />';
$replacements[] = '<img src="\\1" alt="" />';
$replacements[] = '<img src="'.XOOPS_URL.'/image.php?id=\\4" align="\\2" alt="\\4" />';
$replacements[] = '<img src="'.XOOPS_URL.'/image.php?id=\\2" alt="\\3" />';
}
$patterns[] = "/\[quote]/sU";
$replacements[] = _QUOTEC.'<div class="xoopsQuote"><blockquote>';
//$replacements[] = 'Quote: <div class="xoopsQuote"><blockquote>';
$patterns[] = "/\[\/quote]/sU";
$replacements[] = '</blockquote></div>';
$patterns[] = "/javascript:/si";
$replacements[] = "java script:";
$patterns[] = "/about:/si";
$replacements[] = "about :";
return preg_replace($patterns, $replacements, $text);
}



işte bu kadar..hadi hayırlı olsun..birazdan da saklı içerik (hidden content) olayını çözüyorum..eylemlerimiz devam edecek merakla bekleyin

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.