|
İçerik Arama
Son üyeler
Temalar Ziyaretçi Sayısı
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
Yorumlardan yazarları sorumludur.
|