Trước khi đi vào phần hướng dẫn, mình xin lưu ý 1 chút: Mình được biết hiện tại có nhiều bạn sử dụng chức năng kiểm duyệt từ mặc định trên diễn đàn để ẩn (thay thế) địa chỉ website muốn cấm. Thế nhưng chức năng mặc định này chỉ có tác dụng khi người viết chèn link dạng URL mà thôi, nếu chèn link theo kiểu Anchor text thì xem như không tác dụng.
Hướng dẫn
Bước 1: Mở file adm/style/acp_words.html, tìm (bấm Ctrl+F):
<dl>Chèn vào SAU đoạn mã vừa tìm được bằng đoạn mã bên dưới:
<dt><label for="replacement">{L_REPLACEMENT}</label></dt>
<dd><input id="replacement" type="text" name="replacement" value="{REPLACEMENT}" maxlength="255" /></dd>
</dl>
<dl>Bước 2: Mở file includes/acp/acp_words.php, tìm:
<dt><label for="block">{L_BLOCK_WORD}</label></dt>
<dd><input id="block" type="button" value="{L_BLOCK}" class="button1" /></dd>
</dl>
<script type="text/javascript">
window.onload = function() {
document.getElementById('block').onclick = function() {
this.onclick = '';
this.value = '{LA_SEND_CONFIRM}';
this.className = this.className.replace('button1','');
document.getElementById('replacement').value = '{LA_BLOCK_CODE}';
}
}
</script>
$cache->destroy('_word_censors');Chèn vào SAU đoạn mã vừa tìm được bằng đoạn mã bên dưới:
$cache->purge();Bước 3: Mở file includes/cache.php, tìm:
/**Chèn vào TRƯỚC đoạn mã vừa tìm được bằng đoạn mã bên dưới:
* Obtain list of naughty words and build preg style replacement arrays for use by the
* calling script
*/
/**Bước 4: Mở file posting.php, tìm:
* Obtain list of blacklisted sites and build preg style for use by the calling script
*/
function obtain_site_blacklist()
{
global $db;
if (($all_site_blacklist = $this->get('_site_blacklist')) === false)
{
$sql = 'SELECT word, replacement
FROM ' . WORDS_TABLE ."
WHERE replacement = 'blacklisted_site'";
$result = $db->sql_query($sql);
$site_blacklist = array();
while ($row = $db->sql_fetchrow($result))
{
$site_blacklist[] = '(' . str_replace('\*', '\w*?', preg_quote($row['word'], '/')) . ')';
}
$db->sql_freeresult($result);
$all_site_blacklist = implode('|', $site_blacklist);
$all_site_blacklist = '/' . $all_site_blacklist . '/';
$this->put('_site_blacklist', $all_site_blacklist);
}
return $all_site_blacklist;
}
// Store message, sync countersChèn vào TRƯỚC đoạn mã vừa tìm được bằng đoạn mã bên dưới:
// Blacklisted sites checkBước 5: Mở file language/vi/posting.php, tìm:
$site_censor_data = $cache->obtain_site_blacklist();
if (sizeof($site_censor_data))
{
preg_match_all($site_censor_data, utf8_normalize_nfc(request_var('message', '', true)), $word);
$remove_duplicate_item = array_unique($word[0]);
$blacklisted_sites = implode(',', $remove_duplicate_item);
if ($blacklisted_sites != '')
{
$error[] = sprintf($user->lang['CANNOT_POST_BLACKLISTED_SITE'], $blacklisted_sites);
}
}
'CANNOT_POST_ANNOUNCE' => 'Xin lỗi, bạn không thể tạo thông báo.',Chèn vào SAU đoạn mã vừa tìm được bằng đoạn mã bên dưới:
'CANNOT_POST_BLACKLISTED_SITE' => 'Xin lỗi!, bạn không thể gửi bài viết có chèn %s.',Bước 6: Mở file language/vi/acp/posting.php, tìm:
'REPLACEMENT' => 'Từ thay thế',Chèn vào SAU đoạn mã vừa tìm được bằng đoạn mã bên dưới:
'BLOCK_WORD' => 'Chặn',Bước 7: LƯU tất cả các file lại. Sau đó Dọn sạch bộ nhớ đệm nữa là xong!
'BLOCK' => 'Chặn site này',
'BLOCK_CODE' => 'blacklisted_site',
'SEND_CONFIRM' => 'Bấm "Chấp nhận" để chặn site này',
Cách thêm địa chỉ website vào Danh sách đen.
- Bạn vào theo đường dẫn: Bảng điều khiển của Quản trị viên »» Gửi bài viết »» Kiểm duyệt từ »» bấm chọn Thêm từ kiểm duyệt mới.
- Lúc này bạn sẽ thấy chỗ kiểm duyệt từ đã có thêm phần Chặn website.
Bạn hãy nhập domain website cần chặn vào ô Từ kiểm duyệt (1), sau đó bấm Chặn site này (2), cuối cùng bấm Chấp nhận (3) để hoàn thành.
Ví dụ minh họa: Nếu tôi muốn chặn website dophuquy.com, tôi sẽ thực hiện theo thứ tự như các bước minh họa bên dưới.
Và đây là kết quả: Hệ thống sẽ báo lỗi "Không thể gửi bài viết" bởi vì tôi đã chèn website dophuquy.com.
____________________________
Lưu ý:
- Bài viết này DoPhuQuy dịch và trình bày theo MOD Advanced Block Blacklisted Sites (1.0.1) của tác giả Dugi (Homepage: http://www.IMGit.org)
- Hoan nghênh các bạn ghi rõ nguồn www.dophuquy.com khi sử dụng lại bài viết.
cảm ơn bạn Q đã hướng dẫn rất chi tiết.