Название: Гости — кто посещал ваш профиль пользователя
Версия движка DLE: 8.3 — 9.x
Модуль тестировался на DLE: 9.0 — 9.3
Автор: ShapeShifter
Описание:
Данный хак позволяет увидеть кто из пользователей зарегистрированных просматривал ваш профиль, тем самым делает возможность как на форумах видеть кому вы были интересны.
Установка:
Запрос к БД (префикс к таблице по умолчанию указан dle)
CREATE TABLE dle_profile_guest ( `id` int(10) unsigned NOT NULL auto_increment, `date` varchar(20) default NULL, `profile` mediumint(8) NOT NULL, `user_id` mediumint(8) NOT NULL, `user_name` varchar(40) NOT NULL default '', PRIMARY KEY (`id`), KEY `date` (`date`,`profile`,`user_id`,`user_name`), KEY `profile` (`profile`), KEY `user_id` (`user_id`), KEY `user_name` (`user_name`) ) ENGINE=MyISAM;
Открыть .htaccess
Найти:
RewriteEngine On
Добавить ниже:
# Гости - ShapeShifterRewriteRule ^user/([^/]*)/guests(/?)$ index.php?do=pguests&user=$1 [L]RewriteRule ^user/([^/]*)/guests/page([0-9]+)(/?)$ index.php?do=pguests&user=$1&cstart=$2 [L]
Открыть engine/modules/profile.php
Найти (если версия движка 8.3 и ниже):
$tpl->set( '{edituser}', "" );
Найти (если версия движка 8.5 и выше):
} else { $tpl->set( '{edituser}', "" ); $tpl->set_block( "'\\[not-logged\\](.*?)\\[/not-logged\\]'si", "<!-- profile -->" ); }
Добавить ниже:
if($config['allow_alt_url'] == "yes") $tpl->set( '{myguest}', "<a href=\"".$config['http_home_url']."user/".urlencode($row['name'])."/guests/\">Гости профиля</a>" );else $tpl->set( '{myguest}', "<a href=\"".$config['http_home_url']."index.php?do=pguests&user=".urlencode($row['name'])."\">Гости профиля</a>" );if($is_logged AND $row['user_id'] != $member_id['user_id']){ $time = time()+($config['date_adjust']*60); $guest = $db->super_query("SELECT * FROM " . PREFIX . "_profile_guest where profile = '$row[user_id]' AND user_id = '$member_id[user_id]' ORDER By date DESC LIMIT 1"); if ($guest['profile']) { if (($guest['date'] + 600) <= $time) $db->query("INSERT INTO " . PREFIX . "_profile_guest (date, profile, user_id, user_name) values ('$time', '$row[user_id]', '$member_id[user_id]', '$member_id[name]')"); } else $db->query("INSERT INTO " . PREFIX . "_profile_guest (date, profile, user_id, user_name) values ('$time', '$row[user_id]', '$member_id[user_id]', '$member_id[name]')"); }
Открыть engine/engine.php
Найти:
case "pm" : include ENGINE_DIR . '/modules/pm.php'; break;
Добавить ниже:
case "pguests" : include ENGINE_DIR.'/modules/profile_guests.php'; break;
Найти:
elseif ($do == 'tags') $nam_e = $tag;
Добавить ниже:
elseif ($do == 'pguests') $nam_e="Гости профиля » ".$user;
Открыть engine/modules/cron.php
Найти:
if( $cron == 2 ) {
Добавить ниже:
$guest_time = $_TIME - 2592000;$db->query("DELETE FROM `" . PREFIX . "_profile_guest` WHERE date <= '{$guest_time}'");
Открыть userinfo.tpl
Добавить в нужное место:
{myguest}
Всё, установка закончена!