DLE Country Filter v2.0

Категория: Модули DLE » Модуль для DLE 11.2, 11.1, 11.0, 10.6, 10.5, 10.4, 10.3, 10.2, 10.1, 10.0, 9.8, 9.7, 9.6, 9.5, 9.4, 9.3, 9.2, 9.0
DLE Country Filter v2.0
Представляем модуль для DLE Country Filter v2.0 - для добавления новых тегов фильтрации контента по IP-адреса в зависимости от страны посетителя. Фильтрация выполняется на основе базы данных IP адресов. Модуль Country Filter для DLE позволяет скрыть или показывать информацию на сайте пользователям по адресам IP. К примеру для пользователей из Украины не будет доступна информация в полной или краткой новости, а их РФ будет.

Требования: версия PHP 5.1 и выше



Режим отладки/проверки работы модуля
DLE Country Filter v2.0

Файл: /engine/modules/sitelogin.php
Что бы отладить/проверить работу модуля Country Filter v2.0, в самом начале этого файла заменить:

$_IP = get_ip();


на нужный IP, например:

$_IP = "192.168.0.1";


Внимание! В целях безопасности не стоит это делать на общедоступном сайте!

Для проверки определённой страны, нужно в файле: /engine/modules/show.full.php
Перед правками вставленными по инструкции установки модуля добавить:

echo $member_id['user_country'];


и если вверху страницы полной новости выведется не страна для которой скрывается, в данном случае RU, то надо перелогинится на сайт, или если отлаживалось подменой IP, как описано выше, то удалить эту отладку, либо наоборот, в случае локальной проверки, вписать IP нужной страны.
DLE Country Filter v2.0

Удалить правки что вносились по инструкции установки модуля в файл: /engine/classes/templates.class.php
Создать доп.поле:
Название: country
Описание: Скрыть от стран
Тип: одна строка
Использовать при желании (можно оставить поле пустым)

В новости указать символьный код страны, или стран через запятую от которых надо скрыть часть контента
Пример использования в шаблоне
[url=http://www.dle9.com/]дле[/url]


[xfgiven_country][not-country=[xfvalue_country]] доп.поле не пустое, видят все, кроме [xfvalue_country] [/not-country][/xfgiven_country]
[xfnotgiven_country] доп.поле пустое, видят все [/xfnotgiven_country]


Внимание! Теги модуля после этого будут работать только в текстах и шаблонах краткой, полной и кустом новостей, в остальных шаблонах сайта теги модуля не будут отработаны.

Пример удаления тегов attachment с текста полной новости со списком стран через доп.поле

Доп.поле используется созданное в прошлом примере.
Файл: /engine/modules/show.full.php
Перед правками вставленными по инструкции установки модуля добавить:

#****** Country Filter *** remove attachment ******#
		if( $xfieldsdata['country'] != "" ) {
			if( in_array( $member_id['user_country'], explode( ",", $xfieldsdata['country'] ) ) ) {
				$tpl->result['content'] = preg_replace( "#\[attachment=(.+?)\]#is", "", $tpl->result['content'] );
			}
		}


Модуль Country Filter v2.0 добавляет в DLE функционал фильтрации контента в зависимости от страны посетителя.

Модуль Country Filter добавляет для текста новостей и шаблонов теги:

[country=RU] отображать блок только для посетителей с России [/country]
[country=RU,UA] отображать блок только для посетителей с России и Украины [/country]
[not-country=RU] скрыть блок от посетителей из России [/not-country]
[not-country=RU,UA] скрыть блок от посетителей из России и Украины [/not-country]


и т.д. можно задавать код любой из стран или их список через запятую

Данные теги можно использовать как непосредственно в тексте новостей(краткой, полной и выводимых тегом custom) так и в файлах шаблона дле.

Совместимая версия DataLife Engine : 8.3- DLE 10.4, возможно будет работать на DLE 10.5
Автор: MSW источник

Скачать модули для дле, а также подробное описание модуля Country Filter v2.0 :
  • 80
Рубрика: DLE модули » Бесплатные
Ранее » DLE Billing + МегаКасса« Далее OneDLE Управление сайтом через Android
Добавление комментарияОставить комментарий
  • № :1
  • 26 июля 2015 19:39
Hello,How can use the Country Filter under xfiles?

e.g:

[xfgiven_iframe]
<div style="position:relative;padding-bottom:56.25%;padding-top:25px;
height:0;width:100%;min-width:100%"> <div id="player_box"> <iframe src="[xfvalue_iframe]" frameborder="0" allowfullscreen style="position:absolute;top:0;left:0;width:100%;height:
100%"></iframe> </div> </div> [/xfgiven_iframe]