Использование тега leech
Тег [leech] позволяет скрыть URL той или иной ссылки на сайте, а также препятствует ее индексации. Но вся загвоздка в том, что этот тег работает только в краткой и полной новостях. Для использования его в других файлах шаблонов поможет хак.
Установка:
1. Открыть engine/modules/main.php и найти:
echo $tpl->result['main'];
Добавить выше:
/*
Использование тега [leech] ([leech_template]) в шаблоне сайта
Автор: Артем Малков
URL: https://www.pandoge.com/haki/ispolzovanie-tega-leech-v-shablone-v-dle
*/
function check_home_leech_template($url) {
global $config;
$url = strtolower(@parse_url($url, PHP_URL_HOST));
$value = strtolower(@parse_url($config["http_home_url"], PHP_URL_HOST));
if(!$value) {
$value = $_SERVER["HTTP_HOST"];
}
if(!$url) {
return true;
}
if($url != $value) {
return false;
} else {
return true;
}
}
function leech_template($url) {
global $config;
$url = strip_tags(trim(stripslashes(html_entity_decode($url, ENT_QUOTES, $config["charset"]))));
$url = str_replace('\"', '"', $url);
$url = str_replace("'", "", $url);
$url = str_replace('"', "", $url);
$url = str_replace("o", "o", $url);
$url = preg_replace("/jаvascript(.*?):/i", "javascript:", $url);
$url = preg_replace("/dаta(.*?):/i", "data:", $url);
$url = htmlspecialchars($url, ENT_QUOTES, $config['charset']);
$url_array = parse_url($url);
if($url_array["scheme"] && !in_array($url_array["scheme"], array("http", "https", "mailto", "ftp", "nntp", "news", "tel"))) {
return "";
}
if(stripos($url, "engine/go.php") !== false || (check_home_leech_template($url) && stripos($url, "do=go") !== false)) {
return "";
}
$url = str_replace("&", "&", $url);
$url = str_ireplace("document.cookie", "document.cookie", $url);
$url = str_replace(" ", "%20", $url);
$url = str_replace("<", "<", $url);
$url = str_replace(">", ">", $url);
$url = str_replace(array("{", "}", "[", "]"), array("%7B", "%7D", "%5B", "%5D"), $url);
$url = preg_replace("/javascript:/i", "jаvascript:", $url);
$url = preg_replace("/data:/i", "dаta:", $url);
if(stripos($url, $config["admin_path"] ) !== false) {
return $url;
}
if(stripos($url, "engine/go.php") !== false || (check_home_leech_template($url) && stripos($url, "do=go") !== false)) {
return $url;
}
if(!preg_match("#^(http|https|ftp|nntp|news)://#", $url) && !preg_match("#^(tel):#", $url) && $url[0] != "/" && $url[0] != "#") {
$url = "http://".$url;
}
if($url == "http://") {
return $url;
}
return $config["http_home_url"]."index.php?do=go&url=".rawurlencode(base64_encode($url));
}
$tpl->result["main"] = preg_replace_callback(
"#\[(leech_template)\](\S.+?)\[/leech_template\]#i", function($match) {
return leech_template($match[2]);
},
$tpl->result["main"]
);
2. В нужное место любого шаблона добавить [leech_template], например:
<a href="[leech_template]http://site.ru[/leech_template]" rel="nofollow" target="_blank">Ссылка leech</a>
Готово!
• Автор: Артём Мáлков
• Источник
Посетители, находящиеся в группе Гость, не могут оставлять комментарии к данной публикации.