Все для DataLife Engine / DLE модули / Бесплатные / Subscribe Preview модуль на DLE 10.1

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}', '/templates/Default/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 скачать

Modul-DLE-Subscribe-preview.rar [23,66 Kb] (cкачиваний: 158)
  • 80
Добавить комментарий

Оставить комментарий

    • bowtiesmilelaughingblushsmileyrelaxedsmirk
      heart_eyeskissing_heartkissing_closed_eyesflushedrelievedsatisfiedgrin
      winkstuck_out_tongue_winking_eyestuck_out_tongue_closed_eyesgrinningkissingstuck_out_tonguesleeping
      worriedfrowninganguishedopen_mouthgrimacingconfusedhushed
      expressionlessunamusedsweat_smilesweatdisappointed_relievedwearypensive
      disappointedconfoundedfearfulcold_sweatperseverecrysob
      joyastonishedscreamtired_faceangryragetriumph
      sleepyyummasksunglassesdizzy_faceimpsmiling_imp
      neutral_faceno_mouthinnocent