Subscribe Preview модуль на DLE 10.1

Категория: Модули 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
Subscribe Preview модуль на DLE 10.1
Сегодня представляем вам новенький модуль на dle 10.1 Subscribe Preview - предназначен пользователям, которые желают подписываться на пользователей добавляющие интересную информацию. Это возможность будет хорошо реализована на ресурсах с большим количеством людей у которых есть материал и новость уникального свойства, на которые хотят подписываться пользователи. Стоит отметить, что модуль DataLife Engine Subscribe Preview работает в режиме AJAX. Хотя перед вами тестовая версия, по заверению автора она работает. А о всех ошибках, багах и недочетах, которые обнаружится в результате тестирования можно сообщить и со временем они будут исправлены.

Установка:
1. Файл "subscribe.php" поместить в папку "engine/ajax/"
2. Файл "subscribe.tpl" поместить в папку "templates/ВАШ ШАБЛОН/"
3. Открывает файл "engine/modules/functions.php", перед "?>" вставляем:

/* START Subscribe Preview */
function subscribe($id) {
	global $db,$config;
	$id = $id.'0';
	if($id != '0') {
		$tpl = new dle_template();
		$tpl->dir = TEMPLATE_DIR;				
		$tpl->load_template('subscribe.tpl');
		$db->query("SELECT name, foto FROM " . PREFIX . "_users WHERE user_id IN({$id})");
		while($row = $db->get_row()) {
			if($row['foto'] AND (file_exists(ROOT_DIR.'/uploads/fotos/'.$row['foto']))) {
				$tpl->set('{foto}', $config['http_home_url'].'uploads/fotos/'.$row['foto']);
			} else $tpl->set('{foto}', '{THEME}/dleimages/noavatar.png');
			$name = $config['http_home_url'] . "user/" . urlencode( $row['name'] ) . "/";
			$name = "onclick=\"ShowProfile('" . urlencode( $row['name'] ) . "', '" . htmlspecialchars( $name, ENT_QUOTES, $config['charset'] ) . "', '" . $user_group[$member_id['user_group']]['admin_editusers'] . "'); return false;\"";
			$tpl->set( '{name}', "<a {$name} class=\"pm_list\" href=\"" . $config['http_home_url'] . "user/" . urlencode( $row['name'] ) . "/\">" . $row['name'] . "</a>");
			$tpl->compile('subscribe');
		}
		$tpl->clear();
		$db->free();
	} else $tpl->result['subscribe'] = 'Empty:(';
	return $tpl->result['subscribe'];
}
/* END Subscribe Preview */


4. Открывает файл "engine/modules/profile.php", перед:

if( $row['land'] ) {


Вставляем:

/* START Subscribe Preview */
	$tpl->set( '{user-id}', $row['user_id'] );
	if($member_id['user_id'] != $row['user_id']) {
		$allow_subscribe = false;
		$subscribe = explode(',', $member_id['subscribe']);
		$count_subscribe = count($subscribe);
		for($i = 0;$i < $count_subscribe;$i++) {
			if($subscribe[$i] == $row['user_id']) {
				$allow_subscribe = true;
				break;
			}
		}
		if(!$allow_subscribe) {
			$tpl->set('[subscribe]', "");
			$tpl->set('[/subscribe]', "");
			$tpl->set_block( "'\\[not-subscribe\\](.*?)\\[/not-subscribe\\]'si", "");
		} else {
			$tpl->set_block("'\\[subscribe\\](.*?)\\[/subscribe\\]'si", "");
			$tpl->set('[not-subscribe]', "" );
			$tpl->set('[/not-subscribe]', "" );
		}
	} else {
		$tpl->set_block( "'\\[not-subscribe\\](.*?)\\[/not-subscribe\\]'si", "");
		$tpl->set_block("'\\[subscribe\\](.*?)\\[/subscribe\\]'si", "");
	}

	$tpl->set( '{subscribe}', subscribe($row['subscribe']));
/* END Subscribe Preview */


5. В userinfo.tpl в нужном вам месте пишем:

<!-- START Subscribe Preview -->
<br><b>Интересные страницы</b><hr>
<style type="text/css">
.subscribe {
max-width:60px;
height:75px;
display:inline-block;
text-align:center;
float:left;
}
.subscribe img {
width:50px;
height:50px;
}
.subscribe_content {
width:300px;
}
</style>
<div class="subscribe_content">{subscribe}</div>
<script type="text/javascript">
function subscribe(type, user) {
ShowLoading();
$.get(dle_root+"engine/ajax/subscribe.php", {type:type, user:user}, function(data) {
HideLoading();
if(data == 'normal') {
$('#subscribe-but').removeAttr('onclick');
var text;
if(type == '1') {
type = '0';
text = 'Отписаться';
} else {
type = '1';
text = 'Подписаться';
}
$('#subscribe-but').attr('onclick', 'subscribe('+type+', '+user+');return false;').fadeOut('fase', function() {
$(this).text(text).fadeIn('fast');
});
} else {
if(data == 'member') {
DLEalert('Вы не можете подписаться на себя.','Уведоление');
} else {
if(type == '1') {
DLEalert('Невозможно подписаться на пользователя, возможно вы уже подписаны.','Уведоление');
} else {
DLEalert('Невозможно отписаться от пользователя, возможно вы на него не подписаны.','Уведомление');
}
}
}
});
}
</script>
<!-- END Subscribe Preview -->


6. В этом же файле (пункт 5) в нужное вам место вставляем:

[subscribe]<a id="subscribe-but" href="javascript://" onclick="subscribe('1', '{user-id}');return false;">Подписаться</a>[/subscribe]
[not-subscribe]<a id="subscribe-but" href="javascript://" onclick="subscribe('0', '{user-id}');return false;">Отписаться</a>[/not-subscribe]


7. Делаем запрос к базе данных:

ALTER TABLE `dle_users` ADD `subscribe` text NOT NULL DEFAULT '';


Если вы не знаете как сделать запрос Базы Данных, то об этом вы можете прочитать в следующей статье

Скачать у нас модули для dle, как модуль для DLE 10.1 (UTF-8) Subscribe Preview скачать
  • 80
Рубрика: DLE модули » Бесплатные
Ранее » Модуль для DLE 10.1 UTOP 5.1 Топ пользователей« Далее Модуль DLE Апдейты Яндекс и Google
Добавление комментарияОставить комментарий