Гости [DLE 8.3 — 9.x]

Гости [DLE 8.3 — 9.x]

Название: Гости — кто посещал ваш профиль пользователя
Версия движка 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="Гости профиля &raquo; ".$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}

Всё, установка закончена!