Модуль гости позволяет просматривать посетителей вашей странички
Делаем SQL запрос в PHPmyADMIN
ALTER TABLE `vii_users` ADD `see_guests` text
Открыть файл: ./system/modules/profile.php
$row = $db->super_query("SELECT user_id, user_search_pref, user_country_city_name, user_birthday, user_xfields, user_xfields_all, user_city, user_country, user_group, user_photo, user_friends_num, user_notes_num, user_subscriptions_num, user_wall_num, user_albums_num, user_last_visit, user_videos_num, user_status, user_privacy, user_sp, user_sex, user_gifts, user_public_num, user_audio, user_delet, user_ban_date, xfields, user_doc_num FROM `".PREFIX."_users` WHERE user_id = '{$id}'");
Заменить на:
$row = $db->super_query("SELECT user_id, user_search_pref, user_country_city_name, user_birthday, user_xfields, user_xfields_all, user_city, user_country, user_group, user_photo, user_friends_num, user_notes_num, user_subscriptions_num, user_wall_num, user_albums_num, user_last_visit, user_videos_num, user_status, user_privacy, user_sp, user_sex, user_gifts, user_public_num, user_audio, user_delet, user_ban_date, xfields, user_doc_num, see_guests FROM `".PREFIX."_users` WHERE user_id = '{$id}'");
Найти:
//Если есть такой, юзер то продолжаем выполнение скрипта
if($row){Ниже добавить:
$row_guests = $db->super_query("SELECT user_privacy FROM `".PREFIX."_users` WHERE user_id = '{$user_id}'");
$guests_privacy = xfieldsdataload($row_guests['user_privacy']);
// Проверка настроек приватности пользователя
if($user_id != $id AND $guests['val_guests2'] != 3)
{
$db->query("UPDATE LOW_PRIORITY `".PREFIX."_users` SET see_guests = '{$row['see_guests']}|{$user_id}|' WHERE user_id = '{$id}'");
mozg_clear_cache_file('user_'.$id.'/profile_'.$id);
mozg_clear_cache();
}Найти:
//################### Друзья на сайте ###################//
ВЫШЕ добавить:
//################### Гости ###################//
if($row['see_guests']){
$guests_arr = array_unique(explode('|',$row['see_guests']));
foreach($guests_arr as $guest_id) {$tpl->load_template('profile_friends.tpl');
$sql_guests = $db->super_query("SELECT SQL_CALC_FOUND_ROWS user_id, user_country_city_name, user_search_pref, user_birthday, user_photo FROM `".PREFIX."_users` WHERE user_id = '{$guest_id}' ORDER by rand() DESC LIMIT 0, 6", 1);
$tpl->load_template('profile_friends.tpl');
foreach($sql_guests as $row_guests){
$friend_info_online = explode(' ', $row_guests['user_search_pref']);
$tpl->set('{user-id}', $row_guests['user_id']);
$tpl->set('{name}', $friend_info_online[0]);
$tpl->set('{last-name}', $friend_info_online[1]);
if($row_guests['user_photo'])
$tpl->set('{ava}', $config['home_url'].'uploads/users/'.$row_guests['user_id'].'/50_'.$row_guests['user_photo']);
else
$tpl->set('{ava}', '{theme}/images/no_ava_50.png');
$tpl->compile('all_guests_friends');
}}
}Найти:
$tpl->set('{friends-num}', $row['user_friends_num']);
ВЫШЕ добавить:
$tpl->set('{gram-name}', gramatikName($author_info[0]));
$guests_num = count(array_unique(explode('|',$row['see_guests']))) - 1;
$tpl->set('{guests-num}', $guests_num);Найти:
//Кол-во подписок и Если есть друзья, то выводим
ВЫШЕ добавить:
//Если есть гости, то выводим
if($guests_num){
$tpl->set('[guests]', '');
$tpl->set('[/guests]', '');
$tpl->set('{guests}', $tpl->result['all_guests_friends']);
} else
$tpl->set_block("'\\[guests\\](.*?)\\[/guests\\]'si","");Найти:
//Cover
$rrw = $db->super_query("SELECT user_cover, user_cover_pos FROM `".PREFIX."_users` WHERE user_id = '{$id}'");ВЫШЕ добавить:
//Приватность гости
if($user_privacy['val_guests1'] == 1 OR $user_privacy['val_guests1'] == 2 AND $check_friend OR $user_id == $id){
$tpl->set('[privacy-guests]', '');
$tpl->set('[/privacy-guests]', '');
} else
$tpl->set_block("'\\[privacy-guests\\](.*?)\\[/privacy-guests\\]'si","");Открыть файл: ./templates/Default/profile.tpl
Найти:
[friends]<div class="albtitle">Друзья <span>{friends-num}</span><div><a href="/friends/{user-id}" onClick="Page.Go(this.href); return false"><div class="mono_ico" onmouseover="myhtml.title('1', 'Показать всех друзей', 'newBBlockl')" id="newBBlockl1"></div></a></div></div>
<div class="newmesnobg" style="padding:0px;padding-top:10px;">{friends}<div class="clear"></div>
</div>[/friends]ВЫШЕ добавить:
[privacy-guests]
[guests]<div class="albtitle">Гости <span>{guests-num}</span><div><a href="/guests/{user-id}" onClick="Page.Go(this.href); return false"><div class="mono_ico" onmouseover="myhtml.title('1', 'Показать всех гостей', 'newBBlockl')" id="newBBlockl1"></div></a></div></div>
<div class="newmesnobg" style="padding:0px;padding-top:10px;">{guests}<div class="clear"></div>
</div>[/guests]
[/privacy-guests]В файл: ./system/mod.php
Добавить:// Гости
case "guests" :
include ENGINE_DIR . '/modules/guests.php';
break;В файл: .htaccess
# Guests
RewriteRule ^guests/clear(/?)+$ index.php?go=guests&act=clear [L]
RewriteRule ^guests(/?)+$ index.php?go=guests [L]
RewriteRule ^guests/([0-9]+)(/?)+$ index.php?go=guests&user_id=$1 [L]
RewriteRule ^guests/([0-9]+)/page/([0-9]+)(/?)+$ index.php?go=guests&user_id=$1&page=$2 [L]В файле: ./system/modules/register.php
Находим:
'val_msg|1||val_wall1|1||val_wall2|1||val_wall3|1||val_info|1||')");
Меняем на:
'val_msg|1||val_wall1|1||val_wall2|1||val_wall3|1||val_info|1||val_guests1|1||val_guests2|1||')");
И в PHPmyADMIN выполняем запрос:
UPDATE `vii_users` SET user_privacy = 'val_msg|1||val_wall1|1||val_wall2|1||val_wall3|1||val_info|1||val_guests1|1||val_guests2|1||'
Скачать:
Теги: viiengine,моды,модули,гости