Check Linkout for Discuz 7.0
แก้ไขล่าสุดโดย Special_kak เมื่อ 2010-1-30 19:12แก้ไขล่าสุดโดย Special_kak เมื่อ 2010-1-30 19:11
เช็คลิงก์ตัวนี้สามารถใส่โดเมนที่ไม่ต้องการเช็คได้ เช่นถ้าผมใส่โดเมน google.com เมื่อมีลิงก์ google.com/xxx มันก็ไม่เช็คมันจะไปเลย -*- ตัวอย่าง
http://www.i7forums.com/attachment/month_0908/0908251635ca05793acca80fff.jpg
demo :: http://www.i7forums.com/read-htm-tid-493.html
การติดตั้งครับ เปิดไฟล์ /include/discuzcode.func.php หาfunction parseurl($url, $text) {
if(!$url && preg_match("/((https?|ftp|gopher|news|telnet|rtsp|mms|callto|bctp|ed2k|thunder|synacast){1}:\/\/|www\.)[^\[\"']+/i", trim($text), $matches)) {
$url = $matches;
$length = 65;
if(strlen($url) > $length) {
$text = substr($url, 0, intval($length * 0.5)).' ... '.substr($url, - intval($length * 0.3));
}
return '<a href="'.(substr(strtolower($url), 0, 4) == 'www.' ? 'http://'.$url : $url).'" target="_blank">'.$text.'</a>';
} else {
$url = substr($url, 1);
if(substr(strtolower($url), 0, 4) == 'www.') {
$url = 'http://'.$url;
}
return '<a href="'.$url.'" target="_blank">'.$text.'</a>';
}
}แทนด้วยโค้ดนี้function parseurl($url, $text) {
preg_match("/.*\.(.+?)\.(.+?)$/",$_SERVER['HTTP_HOST'], $matches);
$localurl=$matches.'.'.$matches;
if ($_SERVER['SERVER_NAME']=='localhost') $localurl='localhost';
if(!$url && preg_match("/((https?|ftp|gopher|news|telnet|rtsp|mms|callto|bctp|ed2k|thunder|synacast){1}:\/\/|www\.)[^\[\"']+/i", trim($text), $matches)) {
$url = $matches;
$length = 65;
if(strlen($url) > $length) {
$text = substr($url, 0, intval($length * 0.5)).' ... '.substr($url, - intval($length * 0.3));
}
if (!strpos($url,$localurl) && linkcheck($url)){
return '<a href="'.(substr(strtolower($url), 0, 4) == 'www.' ? 'http://'.$url : $url).'" onClick="return extendurl(this)" target="_blank">'.$text.'</a>';
}
else{
return '<a href="'.(substr(strtolower($url), 0, 4) == 'www.' ? 'http://'.$url : $url).'" target="_blank">'.$text.'</a>';
}
} else {
$url = substr($url, 1);
if(substr(strtolower($url), 0, 4) == 'www.') {
$url = 'http://'.$url;
}
if (!strpos($url,$localurl) && linkcheck($url)){
return '<a href="'.$url.'" onClick="return extendurl(this)" target="_blank">'.$text.'</a>';
}
else{
return '<a href="'.$url.'" target="_blank">'.$text.'</a>';
}
}
}
function linkcheck($url){
$whitelist=array();
if(substr(strtolower($url), 0, 4) == 'www.') {
$url = 'http://'.$url;
}
require './linklist.php';
$urldomain=explode("/",$url);
$urldomain=explode(".",$urldomain);
$urldomain=$urldomain.'.'.$urldomain;
if (in_array($urldomain,$whitelist)){
return 0;
}else return 1;
}เปิดไฟล์ /include/js/common.js
เพิ่มโค้ดนี้บรรทัดสุดท้ายfunction extendurl(obj){
var turl=obj.href;
var title=turl.substr(0,30)+'....';
floatwin('open_confirm', -1, 350, 120);
$('floatwin_confirm_title').innerHTML = title;
$('floatwin_confirm_content').innerHTML = '<font color=red>กรุณาคัดลอกลิงก์ไปวางที่แอดเดรสบาร์์</color>' + '<br /><br /><a href="'+ turl +'" target="_blank" onclick=floatwin(\'close_confirm\')><font color=green>เข้าชมเว็บนี้</font></a> <a href="javascript:;" onclick="floatwin(\'close_confirm\')">ปิด</a>';
return false;
}อัพโหลดไฟล์ linklist.php ไปวางที่ตำแหน่งติดตั้ง dz นะจบ
ขอบคุณครับ <?php
//ใส่โดเมนที่ไม่ต้องเซ้ค เช่น
//'google.com',
$whitelist=array(
'discuzthai.com',
'google.com',
);
ตรงนี้อ่า ใส่ไงหรอครับ แง่ง ทำไมไ่ด้ แต่ก็ขอบคุณครับ วันนี้รู้สึกจะเริ่มมึน ๆ กับ php แระ
การบ้าน จาวา ก็ยังไม่ได้ทำเลย ตายแน่ ๆๆๆ :'( ขอบคุณครับ
หน้า:
[1]