Закрыть ссылку проыиля для гостей

Автор Sp, 13 ноября 2016, 03:43:43

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Sp

Привет, уважаемые!

Установил мод Avatars on Board http://custom.simplemachines.org/mods/index.php?mod=4107

Всё прекрасно работает.
Аватары аккаунтов имеют ссылки на профили. Эти ссылки видны и гостям и зарегистрированным пользователям.
Я хочу убрать ссылки для гостей.

Для этого, в файле abm_code.php я добавил глобальную переменную $user_info, в строку 135 и добавил условие в строках 198-200 if (!isset($user_info['is_guest']))

if (($modSettings['abm_messageindex'] == 'first') || ($modSettings['abm_messageindex'] == 'both'))
{
// first post первый пост автора топика в листинге сообщений
if ($row['id_member_started']) { //member
if (!isset($user_info['is_guest'])) {
$context['topics'][$row['id_topic']]['first_post']['icon_url'] = '<a href="' . $scripturl . '?action=profile;u=' . $row['id_member_started'] . '"><img class="avatar img-circle" alt="abm_id='.$row['id_member_started'].'" /></a><img src="'.$context['topics'][$row['id_topic']]['first_post']['icon_url'].'" alt="" />';
} else {
$context['topics'][$row['id_topic']]['first_post']['icon_url'] = '<img class="avatar img-circle" alt="abm_id='.$row['id_member_started'].'" /><img src="'.$context['topics'][$row['id_topic']]['first_post']['icon_url'].'" alt="" />';
}
} else {//guest or deleted account
$context['topics'][$row['id_topic']]['first_post']['icon_url'] = '<img class="avatar img-circle" alt="abm_id='.$row['id_member_started'].'" /><img src="'.$context['topics'][$row['id_topic']]['first_post']['icon_url'].'" alt="" />';
}
// close div p small
$context['topics'][$row['id_topic']]['pages'] = $context['topics'][$row['id_topic']]['pages'].'</small></p>';
}



Но условие на работает, ссылку видят все.

Можете подсказать как правильно добавить условие?

digger®

#1
У гостей, вроде бы, нет $user_info. Проверяйте $context['user']['is_guest']
И проверять надо не !isset(), а empty()
Или просто в правах доступа уберите у них "Просмотр профилей пользователей"

Sp

empty($context['user']['is_guest']) работает отлично.

Спасибо, за подсказку.

Yarik

ИМХО лучше у гостей убрать просмотр профилей пользователей.Ибо потом в поиске будут валяться все юзерские профили что Гугл накопытить сможет.

Sp

Для гостей и так убран просмотр профилей, но ссылка на профиль же есть везде.
Вот эти ссылки нужно поубирать совсем. Это мусор для поисковиков.
Гостям и поисковикам никаких лишних ссылок не должно быть.

GeorG

Цитата: Sp от 13 ноября 2016, 05:01:29Вот эти ссылки нужно поубирать совсем. Это мусор для поисковиков.
Поисковик смотрит как гость, и если от гостей в правах скрыть профили пользователей, то он их видеть тоже не будет.
Чтобы он и по ссылкам не лез (не замечал их), в файл robots.txt нужно вставить правило:
Disallow: /*actionВ этом случае он не только в профиль дорогу забудет, но и на все служебные страницы форума, которые начинаются с http://ваш форум/index.php?action=
Верстка тем по шаблону, их доработка/переработка, переделка тем с версии smf 1.1 на smf 2.0. Примеры работ - insidestyle.ru
Установка модов (заточка под ваш форум); Моды под заказ; Обновление форума; Правильный перенос; Удаление/лечение вирусов; Устранения ошибок.
Обращаться в ЛС
Мой форум
Модуль анти-спама CleanTalk, сам пользуюсь
Сервера которыми сам пользуюсь - cadedic.ru

Sp