:: JustUsers.net ::

:: คนทำเว็บ :: => Simple Machines Forum [SMF] => ข้อความที่เริ่มโดย: touronthai ที่ 19 กันยายน 2555, 17:00:41 น.

หัวข้อ: mod ลายเซ็นต์กับ smf 2.0.1 (*ขออภัย จำกัดสิทธิ์การใส่ Link-URL ในลายเซ็น*)
เริ่มหัวข้อโดย: touronthai ที่ 19 กันยายน 2555, 17:00:41 น.
ขอรบกวนทุกท่านครับ ใครเจอเหมือนผมบ้างหรือเปล่า

ผมได้เข้ามาอ่านกระทู้ข้างล่าง พอจะเข้าไปทำตาม ผมมีปัญหาดังนี้ครับ

ในไฟล์ ./Sources/Profile.php

ผมหา


โค๊ด: [เลือก]
preparsecode($_POST['signature']);
ไม่เจอ

ในโฟลเดอร์ ./Sources/ มันไม่มี ModSettings.php


แบบนี้เป็นเพราะอะไรครับ http://touronthai.com/forum/ (http://touronthai.com/forum/)

คือพวกนี้ จะเป็นพวกรับทำเสียว ดันกูเกิลเพจแรงค์ (PR)  เว็บไหนที่มีคนเข้าเยอะเพจแรงค์ดีๆ พวกนี้จะเข้าไปสมัคร สร้างลายเซ็นที่ตัวเองต้องการดันแร๊ง ไปตั้ง-ตอบกระทู้ไว้ 10-15 กระทู้ เพื่อให้บอทกูเกิลมาเก็บคีย์เวิด+ไต่ลิงก์   

สำหรับบางเว็บบอร์ดถึงแม้จะไม่ผิดกฎร้ายแรง แต่พวกนี้ก็เหมือนสแปมกระทู้  ตอบแฝงแบบเนียนๆ แต่ก็เพิ่มภาระขยะบอร์ด

ตัวอย่าง  ลายเซ็น:
sbobet แทงบอลออนไลน์ แทงบอล
games ทีวีออนไลน์travelBlue screenHome Refinancing1080p hdtv store



ม็อดที่ใช้
Prevent Adding Signature Images And Links
[url]http://custom.simplemachines.org/mods/index.php?mod=1242[/url] ([url]http://custom.simplemachines.org/mods/index.php?mod=1242[/url])


เมนวล

themedir/Profile.template.php
ค้นหา
โค๊ด: [เลือก]
// If there is a limit at all!
if (!empty($context['max_signature_length']))
วางก่อนค้นหา
โค๊ด: [เลือก]
echo '<span class="smalltext">';
// signature images information
if (!empty($modSettings['enablesignatureimages'])) {
if(!empty($modSettings['signatureimagesminposts'])) {
echo $modSettings['signatureimagesminposts'].' '.$txt['postsrequiredforsignatureimages'].'<br />';
} else {
echo $txt['signatureimagesenabled'].'<br />';
}
} else {
echo $txt['signatureimagesdisabled'].'<br />';
}
// signature images information
if (!empty($modSettings['enablesignaturelinks'])) {
if(!empty($modSettings['signaturelinksminposts'])) {
echo $modSettings['signaturelinksminposts'].' '.$txt['postsrequiredforsignaturelinks'].'<br />';
} else {
echo $txt['signaturelinksenabled'].'<br />';
}
} else {
echo $txt['signaturelinksdisabled'].'<br />';
}
echo '</span>';


sourcedir/Profile.php
ค้นหา
โค๊ด: [เลือก]
preparsecode($_POST['signature']);วางต่อจากค้นหา
โค๊ด: [เลือก]
// start of enable disable added if signature images/links mod
// admins are excluded.
if (!$context['user']['is_admin']) {
// if signature images are disabled or you don't have enough posts
if((!$modSettings['enablesignatureimages']) || ($user_info['posts'] < $modSettings['signatureimagesminposts'])) {
$_POST['signature'] = preg_replace("~\[img([^\]]*?)\](.*?)\[\/img\]~is", $txt['imagesremoved'], $_POST['signature']);
}
// if signature images are disabled or you don't have enough posts
if((!$modSettings['enablesignaturelinks']) || ($user_info['posts'] < $modSettings['signaturelinksminposts'])) {
// remove any links bbcoded
$_POST['signature'] = preg_replace("~\[url(.*?)\[\/url\]~is", $txt['linksremoved'], $_POST['signature']);
// but smf will convert anything which looks like a url
// so make a copy of the signature and convert it to bbcode
$sig = $_POST['signature'];
$sig = parse_bbc($sig, false);
// now match all links to create an array of any.all links we need to remove
if(preg_match_all('~<a href="([^"]*?)"([^\>]*?)>(.*?)</a>~is', $sig, $out, PREG_SET_ORDER)) {
foreach($out as $a) {
$_POST['signature'] = str_replace($a[1], $txt['linksremoved'] ,$_POST['signature']);
// some www. links without http might manages to slip though
if($a[1] === "http://".$a[3]) {
$_POST['signature'] = str_replace($a[3], $txt['linksremoved'] ,$_POST['signature']);
}
}
}
// tidy up
unset($out,$sig,$a);
}
}
// end of enable disable signature images/links mod


sourcedir/ModSettings.php
ค้นหา
โค๊ด: [เลือก]
'',
// Width/Height image reduction.
array('int', 'max_image_width'),
array('int', 'max_image_height'),
'',
วางต่อจากค้นหา
โค๊ด: [เลือก]
array('check', 'enablesignatureimages'),
array('int', 'signatureimagesminposts'),
array('check', 'enablesignaturelinks'),
array('int', 'signaturelinksminposts'),
'',


languagedir/Modifications.english.php  *ไทย  *ไทย-ยูทีเอฟ8
ค้นหา
โค๊ด: [เลือก]
?>วางก่อนค้นหา
โค๊ด: [เลือก]
// **** แปลไทยโดย เซียวเหล่งนึ่ง[แอท]www.justusers.net  ****
$txt['imagesremoved'] = ' *ขออภัย จำกัดสิทธิ์การใส่รูปภาพในลายเซ็น* ';
$txt['linksremoved'] = ' *ขออภัย จำกัดสิทธิ์การใส่ Link-URL ในลายเซ็น* ';
$txt['postsrequiredforsignaturelinks'] = 'กระทู้ขึ้นไป จึงสามารถใส่ Link-URL ได้';
$txt['signaturelinksenabled'] = 'อนุญาตให้ใส่ Links';
$txt['signaturelinksdisabled'] = 'ไม่อนุญาตให้ใส่ Links';
$txt['postsrequiredforsignatureimages'] = 'กระทู้ขึ้นไป จึงสามารถใส่รูปภาพได้';
$txt['signatureimagesenabled'] = 'อนุญาตให้ใส่รูปภาพ';
$txt['signatureimagesdisabled'] = 'ไม่อนุญาตให้ใส่รูปภาพ';
$txt['enablesignatureimages'] = 'เปิดใช้งาน อนุญาตให้ใส่รูปภาพ';
$txt['signatureimagesminposts'] = 'ต้องมีกระทู้อย่างน้อย <br /><div class="smalltext">(หากไม่จำกัดใส่ 0 หรือว่างไว้ )</div>';
$txt['enablesignaturelinks'] = 'เปิดใช้งาน อนุญาตให้ใส่ Links';
$txt['signaturelinksminposts'] = 'ต้องมีกระทู้อย่างน้อย <br /><div class="smalltext">(หากไม่จำกัดใส่ 0 หรือว่างไว้ )</div>';


จากนั้นสร้างฐานข้อมูล
ก็อบปี้ไฟล์  install.php  (จากในไฟล์ม็อด หรือดาวน์โหลดจากไฟล์แนบ)
ไปวางไว้ที่เดียวกับไฟล์ SSI.php บนโฮสต์

เข้าโปรแกรมเบราว์เซอร์แล้วพิมพ์ 
[url]http://www[/url] ([url]http://www[/url]).เว็บคุณ.com/ไดเร็คทอรี่บอร์ด/install.php   เอ็นเทอร์

ถ้าขี้นข้อความ Database changes are complete!  นั่นคือกระบวนการแอดเสร็จสมบูรณ์



เปิดการใช้งาน
ส่วนปรับแต่งค่าการใช้งาน /    ความสามารถขั้นพื้นฐาน    /
ตัวอย่างตามรูป  01- 02

ข้อควรจำ
1.ต้องเปิดการใช้งาน เปลี่ยนข้อความ URL เป็นลิ้งค์: (เช็คถูก)
ผู้ดูแล / กระทู้หัวข้อ / รหัสบอร์ดประกาศทั่วไป (BBC)   
2.ม็อดนี้สามาใช้งานได้ทั้ง  www.  และ http://
3.ม็อดจะไม่สามารถใช้กับลายเซ็นที่ทำไว้ก่อนการลงม็อด  เพราะต้องใช้การบันทึกฐานข้อมูลของม็อด
4.ม็อดนี้ยกเว้นในกรณีผู้ดูแล

หัวข้อ: Re: mod ลายเซ็นต์กับ smf 2.0.1
เริ่มหัวข้อโดย: revenge ที่ 19 กันยายน 2555, 18:44:55 น.
2.x.x  ไม่มี modsetting หรอก

1.x.x.ถึงจะมี
หัวข้อ: Re: mod ลายเซ็นต์กับ smf 2.0.1
เริ่มหัวข้อโดย: เซียวเหล่งนึ่งฯ ที่ 19 กันยายน 2555, 19:15:12 น.
บทความนี้มันเป็นของ 1.1 นะท่าน

2.0 มีม็อดควบคุมลายเซ็นให้เลือกใช้เยอะเลย 
ดี-ยืดหยุ่นกว่าตัวที่ทำนี่อีก  ที่ใช้ Prevent Adding Signature ก็เพราะบอร์ดเป็น 1.1 แค่นั้นแหละครับ 

อย่างตัวนี้
[url]http://custom.simplemachines.org/mods/index.php?mod=2279[/url] ([url]http://custom.simplemachines.org/mods/index.php?mod=2279[/url])
ลองค้นดูตัวอื่นๆ
[url]http://custom.simplemachines.org/mods/index.php?action=search;basic_search=Signature[/url] ([url]http://custom.simplemachines.org/mods/index.php?action=search;basic_search=Signature[/url])