
Хак для dle позволяет увидеть кто из пользователей зарегистрированных просматривал Ваш профиль, тем самым делает возможность как на форумах видеть кому вы были интересны.
Хаки dle Гости - кто посещал ваш профиль пользователя
Установка:
Запрос к БД (префикс к таблице по умолчанию указан 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}'");
Для DLE 10.1 если возникает ошибка как в комментариях установить лучше будет
$guest_time = $_TIME - 2592000;
$db->query( "DELETE FROM " . USERPREFIX . "_profile_guest` WHERE date <= '{$guest_time}'");
Открыть userinfo.tpl
Добавить в нужное место:
{myguest}
Все установка закончена !
Модуль тестировался на DLE 9.0-9.3
Автор ShapeShifter
Наш dle9.com рекомендует (haks) Гости - кто посещал ваш профиль пользователя