Модуль referer

Тема в разделе "DLE", создана пользователем DIMAZRU, 16 мар 2008.

Информация :
Актуальная версия DataLife Engine 12.0
( Final Release v.12.0 | Скачать DataLife Engine | Скачать 12.0 demo )
Нужно ли обновляться | Как обновиться | Изменения в шаблонах
> Нет русских символов <
[Приватная тема DLE (Все подробности в ЛС к модератору раздела)]

Версии 11.3 и ниже - уязвимы!

Локализации | F.A.Q. | Внешний вид
Правила раздела | Правила форума
Обсуждение хайда карается баном!
В каждом сообщении указывайте версию DLE, которого они касаются!
Статус темы:
Закрыта.
Модераторы: killoff
  1. DIMAZRU

    DIMAZRU Создатель

    Регистр.:
    4 фев 2008
    Сообщения:
    22
    Симпатии:
    1
    Модуль выдергивает словосочетание, по которому юзер пришел на сайт.

    Для чего это нужно. Я использую для вывода рекламы на .us сайте при помощи фида, тоесть по этому слову подбирается реклама, в итоге увеличение ctr :)

    1) Создаём файл /engine/modules/mod.php со следующим кодом

    Код:
    <?
    if(!defined('DATALIFEENGINE'))
    {
    die("Hacking attempt!");
    }
    
    if (!$refer) {
    $alt_keyword = "auto"; // будет использоваться этот киворд, если не удалось вырезать из referer
    
    //end of config
    
    
    //--------------------------------------------------------------------
    function RefKey() {
    	global $alt_keyword;
    	if (!$keyword = get_se_keyword())
    		$keyword = $alt_keyword;
    	$keyword = str_replace(' ', '+', $keyword);
    	$keyword = str_replace('"', '', $keyword);
    	$keyword = str_replace('\'', '', $keyword);
    	$keyword = str_replace('\\', '', $keyword);
    return $keyword;
    }
    
    function get_se_keyword () {
    	if (isset($_SERVER['HTTP_REFERER']) && $_SERVER['HTTP_REFERER'])
    		$ref = $_SERVER['HTTP_REFERER'];
    	else
    		return "";
    	$url_array = parse_url($ref);
    	$domain = $url_array['host'];
    	$varmix = $url_array['query'];
    	parse_str($varmix);
    	if (eregi("google.", $domain))         { $keyword = $q; }
    	else if (eregi("yahoo.", $domain))    { $keyword = $p; }
    	else if (eregi("msn.", $domain))       { $keyword = $q; }
    	else if (eregi("live.", $domain))       { $keyword = $q; }	
    	else { $keyword = $q; }
    	
    	if ($keyword) return $keyword;
    	else return "";
    }
    
    
    $refer=RefKey();
    }
    
    ?>
    2) В /engine/init.php

    Перед

    ?>

    Вставляем

    include_once ENGINE_DIR.'/modules/mod.php';

    3) В index.php ищем

    $tpl->set('{login}',$login_panel);

    Добавляем после

    $tpl->set('{refer}',$refer);

    4) В шаблоне выводится при помощи {refer}

    Сильно не бейте, первый модуль :)
     
Статус темы:
Закрыта.