Thứ Bảy, 31 tháng 1, 2015

URL Ti?ng Vi?t kh�ng d?u cho XenForo



1. C�ch 1
B�?c 1: M? file /library/XenForo/Link.php
B�?c 2: T?m

if ($romanize)
{
$title = utf8_romanize(utf8_deaccent($title));
}
Th�m xu?ng d�?i

$aPattern = array (
"a" => "�|�|?|?|?|�|?|?|?|?|?|�|?|?|?|?|?|�|�|?|?|?|�|?|?|?|?|?|�|?|?|?|?|?",
"o" => "�|?|?|?|?|�|?|?|?|?|?|�|?|?|?|?|?|�|?|?|?|?|�|?|?|?|?|?|�|?|?|?|?|?",
"e" => "�|�|?|?|?|�|?|?|?|?|?|�|�|?|?|?|�|?|?|?|?|?",
"u" => "�|�|?|?|?|�|?|?|?|?|?|�|�|?|?|?|�|?|?|?|?|?",
"i" => "�|?|?|?|?|�|?|?|?|?",
"y" => "?|?|?|?|?|?|?|?|?|?",
"d" => "�|�",
);
while(list($key,$value) = each($aPattern))
{
$title = @ereg_replace($value, $key, $title);
}

 2. C�ch 2
C� th? l�m c�ch sau n?u c�ch tr�n b? l?i
B�?c 1: M? file /library/XenForo/Link.php
B�?c 2: T?m
return strtr($title, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz');

Th�m ph�a tr�n �o?n code sau

$aPattern = array (
"a" => "�|�|?|?|?|�|?|?|?|?|?|�|?|?|?|?|?|�|�|?|?|?|�|?|?|?|?|?|�|?|?|?|?|?",
"o" => "�|?|?|?|?|�|?|?|?|?|?|�|?|?|?|?|?|�|?|?|?|?|�|?|?|?|?|?|�|?|?|?|?|?",
"e" => "�|�|?|?|?|�|?|?|?|?|?|�|�|?|?|?|�|?|?|?|?|?",
"u" => "�|�|?|?|?|�|?|?|?|?|?|�|�|?|?|?|�|?|?|?|?|?",
"i" => "�|?|?|?|?|�|?|?|?|?",
"y" => "?|?|?|?|?|?|?|?|?|?",
"d" => "�|�",
);
while(list($key,$value) = each($aPattern))
{
$title = preg_replace('/'.$value.'/i', $key, $title);
}

URL Tiếng Việt không dấu cho XenForo



1. Cách 1
Bước 1: Mở file /library/XenForo/Link.php
Bước 2: Tìm

if ($romanize)
{
$title = utf8_romanize(utf8_deaccent($title));
}
Thêm xuống dưới

$aPattern = array (
"a" => "á|à|ạ|ả|ã|ă|ắ|ằ|ặ|ẳ|ẵ|â|ấ|ầ|ậ|ẩ|ẫ|Á|À|Ạ|Ả|Ã|Ă|Ắ|Ằ|Ặ|Ẳ|Ẵ|Â|Ấ|Ầ|Ậ|Ẩ|Ẫ",
"o" => "ó|ò|ọ|ỏ|õ|ô|ố|ồ|ộ|ổ|ỗ|ơ|ớ|ờ|ợ|ở|ỡ|Ó|Ò|Ọ|Ỏ|Õ|Ô|Ố|Ồ|Ộ|Ổ|Ỗ|Ơ|Ớ|Ờ|Ợ|Ở|Ỡ",
"e" => "é|è|ẹ|ẻ|ẽ|ê|ế|ề|ệ|ể|ễ|É|È|Ẹ|Ẻ|Ẽ|Ê|Ế|Ề|Ệ|Ể|Ễ",
"u" => "ú|ù|ụ|ủ|ũ|ư|ứ|ừ|ự|ử|ữ|Ú|Ù|Ụ|Ủ|Ũ|Ư|Ứ|Ừ|Ự|Ử|Ữ",
"i" => "í|ì|ị|ỉ|ĩ|Í|Ì|Ị|Ỉ|Ĩ",
"y" => "ý|ỳ|ỵ|ỷ|ỹ|Ý|Ỳ|Ỵ|Ỷ|Ỹ",
"d" => "đ|Đ",
);
while(list($key,$value) = each($aPattern))
{
$title = @ereg_replace($value, $key, $title);
}

 2. Cách 2
Có thể làm cách sau nếu cách trên bị lỗi
Bước 1: Mở file /library/XenForo/Link.php
Bước 2: Tìm
return strtr($title, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz');

Thêm phía trên đoạn code sau

$aPattern = array (
"a" => "á|à|ạ|ả|ã|ă|ắ|ằ|ặ|ẳ|ẵ|â|ấ|ầ|ậ|ẩ|ẫ|Á|À|Ạ|Ả|Ã|Ă|Ắ|Ằ|Ặ|Ẳ|Ẵ|Â|Ấ|Ầ|Ậ|Ẩ|Ẫ",
"o" => "ó|ò|ọ|ỏ|õ|ô|ố|ồ|ộ|ổ|ỗ|ơ|ớ|ờ|ợ|ở|ỡ|Ó|Ò|Ọ|Ỏ|Õ|Ô|Ố|Ồ|Ộ|Ổ|Ỗ|Ơ|Ớ|Ờ|Ợ|Ở|Ỡ",
"e" => "é|è|ẹ|ẻ|ẽ|ê|ế|ề|ệ|ể|ễ|É|È|Ẹ|Ẻ|Ẽ|Ê|Ế|Ề|Ệ|Ể|Ễ",
"u" => "ú|ù|ụ|ủ|ũ|ư|ứ|ừ|ự|ử|ữ|Ú|Ù|Ụ|Ủ|Ũ|Ư|Ứ|Ừ|Ự|Ử|Ữ",
"i" => "í|ì|ị|ỉ|ĩ|Í|Ì|Ị|Ỉ|Ĩ",
"y" => "ý|ỳ|ỵ|ỷ|ỹ|Ý|Ỳ|Ỵ|Ỷ|Ỹ",
"d" => "đ|Đ",
);
while(list($key,$value) = each($aPattern))
{
$title = preg_replace('/'.$value.'/i', $key, $title);
}

Th�m rel="nofollow" v�o link t?i b�i vi?t cho xenforo



M? file /library/XenForo/Helper/ String.php t?m

public static function getLinkClassTarget($url)
{
$target = '_blank';
$class = 'externalLink';
$type = 'external';

$urlInfo = @parse_url($url);
if ($urlInfo)
{
$host = $urlInfo['host'] . (!empty($urlInfo['port']) ? ":$urlInfo[port]" : '');
if ($host == XenForo_Application::$host)
{
$target = '';
$class = 'internalLink';
$type = 'internal';
}
}

return array($class, $target, $type);
}

Thay b?ng

public static function getLinkClassTarget($url)
{
$target = '_blank';
$class = 'externalLink" rel="nofollow '; 
$type = 'external';

$urlInfo = @parse_url($url);
if ($urlInfo)
{
$host = $urlInfo['host'] . (!empty($urlInfo['port']) ? ":$urlInfo[port]" : '');
if ($host == XenForo_Application::$host) # ��y l� check t�n mi?n �ang s? d?ng, kh�ng c?n thay �?i.
{
$target = '';
$class = 'internalLink';
$type = 'internal';
}
# ��y l� t�y bi?n, n?u b?n mu?n cho ph�p 1 t�n mi?n n�o �� ��?c Google theo link, v� th�m target="_blank" �? m? 1 c?a s? m?i.
if ($host == "powernet.vn")
{
$target = '_blank ';
$class = 'internalLink';
$type = 'internal';
}
}

return array($class, $target, $type);
}

Thêm rel="nofollow" vào link tại bài viết cho xenforo



Mở file /library/XenForo/Helper/ String.php tìm

public static function getLinkClassTarget($url)
{
$target = '_blank';
$class = 'externalLink';
$type = 'external';

$urlInfo = @parse_url($url);
if ($urlInfo)
{
$host = $urlInfo['host'] . (!empty($urlInfo['port']) ? ":$urlInfo[port]" : '');
if ($host == XenForo_Application::$host)
{
$target = '';
$class = 'internalLink';
$type = 'internal';
}
}

return array($class, $target, $type);
}

Thay bằng

public static function getLinkClassTarget($url)
{
$target = '_blank';
$class = 'externalLink" rel="nofollow '; 
$type = 'external';

$urlInfo = @parse_url($url);
if ($urlInfo)
{
$host = $urlInfo['host'] . (!empty($urlInfo['port']) ? ":$urlInfo[port]" : '');
if ($host == XenForo_Application::$host) # Đây là check tên miền đang sử dụng, không cần thay đổi.
{
$target = '';
$class = 'internalLink';
$type = 'internal';
}
# Đây là tùy biến, nếu bạn muốn cho phép 1 tên miền nào đó được Google theo link, và thêm target="_blank" để mở 1 cửa số mới.
if ($host == "powernet.vn")
{
$target = '_blank ';
$class = 'internalLink';
$type = 'internal';
}
}

return array($class, $target, $type);
}

C�i �?t Email cho xenforo

V�o:  Home => Option => Email option

C�c b?n c�i �?t theo h?nh sau, ? ��y Email l� d�ng Email Google cho T�n mi?n, b?n c?ng c� th? d�ng Email Gmail n?u ch�a c� Email Google cho T�n mi?n



L�u ? : Thay port 587 n?u d�ng TLS

Ch�c b?n th�nh c�ng.

Ghi ch�: N?u c� l?i b?n ki?m tra t?i: admin.php?logs/server-error xem l?i g? ( Th�?ng l� l?i server kh�ng m? Port OUT 465

Cài đặt Email cho xenforo

Vào:  Home => Option => Email option

Các bạn cài đặt theo hình sau, ở đây Email là dùng Email Google cho Tên miền, bạn cũng có thể dùng Email Gmail nếu chưa có Email Google cho Tên miền



Lưu ý : Thay port 587 nếu dùng TLS

Chúc bạn thành công.

Ghi chú: Nếu có lỗi bạn kiểm tra tại: admin.php?logs/server-error xem lỗi gì ( Thường là lỗi server không mở Port OUT 465

Thứ Sáu, 23 tháng 1, 2015

Kh?c ph?c l?i Replay c?a Live HTTP Headers

fix-replay-live-http-headers
Kh?c ph?c l?i Replay c?a Live HTTP Headers
Live HTTP Headers l� m?t add-on gi�p ch�ng ta xem "header" c?a trang web trong khi �ang duy?t. Ngo�i ra, n� c?n c� th? Replay - t�i t?o l?i truy v?n b?t k? v� cho ph�p b?n ch?nh s?a c�c th�ng tin header c?ng nh� n?i dung, d? li?u c?a truy v?n �� tr�?c khi g?i �i.

Tuy nhi�n, t? khi Firefox c?p nh?t l�n phi�n b?n 32.0 th? ch?c n�ng Replay c?a Live HTTP Headers kh�ng c?n ho?t �?ng ��?c. M� ch? m?i kh�ng th?y c� b?n c?p nh?t m?i n�n h�m nay Juno_okyo s? h�?ng d?n c�c b?n c�ch kh?c ph?c l?i n�y.


Read More

Thứ Bảy, 10 tháng 1, 2015

H�?ng d?n th�m n�t Reply cho Facebook c� nh�n

�em t�nh n�ng tr? l?i t?ng b?nh lu?n v�o Facebook c� nh�n v?i extension d�nh cho Chrome.

Ra m?t k? t? �?u n�m ngo�i, t�nh n�ng Reply (tr? l?i) d�nh cho t?ng b?nh lu?n tr�n Facebook ch? ��?c �p d?ng cho c�c Page v� th? nghi?m v?i c�c trang c� nh�n t?i m?t s? n�?c nh� New Zealand. Kh�ng ch? gi�p nh�m c�c b?nh lu?n l?i g?n g�ng, t�nh n�ng n�y c?n gi�p ng�?i d�ng m?ng x? h?i n�y c� th? tr? l?i cho t?ng comment ri�ng bi?t m?t c�ch d? d�ng h�n.

Th�m n�t Replay cho Facebook c� nh�n
Ch?c n�ng tr? l?i trong t?ng b?nh lu?n tr�n Facebook

�? c� th? �em t�nh n�ng n�y l�n Facebook c� nh�n, b?n �?c c� th? s? d?ng m?t ti?n �ch d�nh cho tr?nh duy?t Chrome (c�i �?t t?i ��y). Ti?n �ch n�y s? t? �?ng l�m m?i th? c?n l�m �? trang Facebook c� nh�n c?a ng�?i d�ng c� th? ��ng c�c tr?ng th�i c� t�ch h?p n�t Reply, thay cho vi?c �?i IP th? c�ng kh� ph?c t?p. M?t l�u ? nh? l� ch? c�c b�i ��ng ��?c th?c hi?n tr�n m�y t�nh m?i c� th�m n�t Reply n�y.

Theo: GenK.