Скрыть ссылки от незарегистрированных пользователей

Проблемы с установкой или работой phpBB 3.0.x? Получите помощь здесь!
С 1 января 2017 года phpBB Group прекращает поддержку phpBB версии 3.0.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.0 до 1 июля 2017 года.
Подробнее: Окончание поддержки phpBB 3.0.
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Деметра
phpBB 1.4.0
Сообщения: 33
Стаж: 13 лет 7 месяцев
Откуда: Магнитогорск
Благодарил (а): 10 раз

Скрыть ссылки от незарегистрированных пользователей

Сообщение Деметра »

Здравствуйте, уважаемые пользователи!

Через поиск не нашла ответа. ((
Подскажите, пожалуйста, есть ли возможность сделать что бы гости не могли видеть ссылки и проходить по ним?
Пробовала в правах доступа сделать - ничего не выходит. Ни спойлер не помогает, ни тег url, все равно, можно нажать и перейти по ссылке.

Спасибо.
Аватара пользователя
владимир1983
phpBB 3.2.6
Сообщения: 5954
Стаж: 16 лет 4 месяца
Откуда: Сергиев Посад
Благодарил (а): 373 раза
Поблагодарили: 727 раз

Скрыть ссылки от незарегистрированных пользователей

Сообщение владимир1983 »

За ваши деньги решу ваши проблемы. Стучи в ЛС.
Нет человека - нет проблемы. (c)
Деметра
phpBB 1.4.0
Сообщения: 33
Стаж: 13 лет 7 месяцев
Откуда: Магнитогорск
Благодарил (а): 10 раз

Скрыть ссылки от незарегистрированных пользователей

Сообщение Деметра »

владимир1983, спасибо большое.
Вот если бы я понимала по английски (((
Аватара пользователя
владимир1983
phpBB 3.2.6
Сообщения: 5954
Стаж: 16 лет 4 месяца
Откуда: Сергиев Посад
Благодарил (а): 373 раза
Поблагодарили: 727 раз

Re: Скрыть ссылки от незарегистрированных пользователей

Сообщение владимир1983 »

Открыть viewtopic.php
Найти

Код: Выделить всё

$user_cache[$poster_id]['sig'] = censor_text($user_cache[$poster_id]['sig']);
Добавить перед

Код: Выделить всё

    // MOD : MSSTI Hide links (V1.0.2) - Start
            if ($user->data['user_id'] == ANONYMOUS)
            {
                $user_cache[$poster_id]['sig'] = hide_link($user_cache[$poster_id]['sig'], $user_cache[$poster_id]['sig_bbcode_uid'], 'sig');
            }
    // MOD : MSSTI Hide links (V1.0.2) - End
Найти

Код: Выделить всё

	// Second parse bbcode here
Добавить перед

Код: Выделить всё

    // MOD : MSSTI Hide links (V1.0.2) - Start
       if ($user->data['user_id'] == ANONYMOUS)
       {
          $message = hide_link($message, $row['bbcode_uid']);
       }
    // MOD : MSSTI Hide links (V1.0.2) - End
Открыть includes/function.php
Найти Добавить перед

Код: Выделить всё

    // MOD : MSSTI Hide links (V1.0.2) - Start
    function hide_link($text, $uid = '', $mode = 'post')
    {
       if (!defined('IN_HIDE'))
       {
          define('IN_HIDE', true);

          define('IN_SIGNATURE',      false);   // Hide links on signatures ?            default false
          define('IN_LINE_URL',      true);   // Hide in-line links ?                  default true
          define('IN_BBCODE_URL',      true);   // Hide links into the bbcode [url][/url]   default true   
          define('IN_BBCODE_IMG',      false);   // Hide links into the bbcode [img][/img]   default false
          define('IN_BBCODE_CODE',   true);   // Hide links into the bbcode [code]
default true
}

if ($mode == 'sig' && !IN_SIGNATURE)
{
return $text;
}

global $user, $phpbb_root_path, $phpEx;
global $forum_id, $topic_id, $post_id;

$redirect = array();
if ($forum_id)
{
$redirect['f'] = $forum_id;
}
if ($topic_id)
{
$redirect['t'] = $topic_id;
}
if ($post_id)
{
$redirect['p'] = $post_id;
}

$hidelink_redirect = append_sid("{$phpbb_root_path}ucp.$phpEx", "mode=login&redirect=" . urlencode(str_replace('&', '&', append_sid("{$phpbb_root_path}viewtopic.$phpEx", $redirect))));
$hidelink_search = array();
$hidelink_replace = '<span class="hidelink"><a href="' . $hidelink_redirect . '">'. $user->lang['LOGIN_EXPLAIN_VIEW'] . '</a></span>';

if (IN_BBCODE_CODE)
{
if (IN_LINE_URL)
{
// we need to turn the entities back into their original form
$entities = array("[code:$uid]", '&#46;', '&#58;', '&#058;');
$characters = array("[code:$uid]\n", '.', ':', ':');
$text = str_replace($entities, $characters, $text);
$text = make_clickable($text, generate_board_url());
}

if (IN_BBCODE_URL)
{
$hidelink_search[] = "#\&\#91;url\&\#93;(.*?)\&\#91;\/url\&\#93;#is";
$hidelink_search[] = "#\&\#91;url(=(.*?))\&\#91;\/url\&\#93;#si";
$hidelink_search[] = "#\[url(=(.*))?\]([\]].*)\[/url\]#si";
}

if (IN_BBCODE_IMG)
{
$hidelink_search[] = "#\&\#91;img\&\#93;(.*?)\&\#91;\/img\&\#93;#is";
$hidelink_search[] = "#\[img\]([\]].*)\[/img\]#si";
}
}

// OK
if (IN_LINE_URL)
{
$hidelink_search[] = '#<!-- ([lmwe]) --><a class=\"(postlink|postlink-local)\" href=\"(.*?)\">(.*?)</a><!-- ([lmwe]) -->#si';
}

// OK
if (IN_BBCODE_URL)
{
$hidelink_search[] = "/\[url:$uid\](.*?)\[\/url:$uid\]/is";
$hidelink_search[] = "/\[url\=(.*?):$uid\](.*?)\[\/url:$uid\]/is";
}

// OK
if (IN_BBCODE_IMG)
{
$hidelink_search[] = "#\[img:$uid\](.*?)\[/img:$uid\]#s";
$hidelink_search[] = "#\[img\=(.*?):$uid\](.*?)\[/img:$uid\]#s";
}

$text = preg_replace ($hidelink_search, $hidelink_replace, $text);

return $text;
}
// MOD : MSSTI Hide links (V1.0.2) - End[/code]
Открыть language/ru/common.php
Найти

Код: Выделить всё

	'LOG_ME_IN'							=> 'Автоматически входить при каждом посещении',
Добавить после

Код: Выделить всё

// MOD : MSSTI Hide links (V1.0.1) - Start
       'LOGIN_EXPLAIN_VIEW'      => 'Чтобы видеть ссылки войдите на конференцию или зарегестрируйтесь.',
    // MOD : MSSTI Hide links (V1.0.1) - End
Открыть styles/prosilver/theme/colours.css
Найти

Код: Выделить всё

Colours and backgrounds for links.css
Добавить перед

Код: Выделить всё

    /* MOD : MSSTI Hide links (V1.0.2) - Start */
    code .hidelink { line-height: 2em; }
    .hidelink a { border: 1px solid #cccccc; border-collapse: collapse; padding: 1px 2px; color:#ff0000; background-color: #ffffff; font-weight: normal; text-decoration: none; font-size: 1em; line-height: 1.2em;}
    /* MOD : MSSTI Hide links (V1.0.2) - End */ 
За ваши деньги решу ваши проблемы. Стучи в ЛС.
Нет человека - нет проблемы. (c)
Деметра
phpBB 1.4.0
Сообщения: 33
Стаж: 13 лет 7 месяцев
Откуда: Магнитогорск
Благодарил (а): 10 раз

Re: Скрыть ссылки от незарегистрированных пользователей

Сообщение Деметра »

Владимир1983, спасибо большое!

Встречный вопрос. Если я viewtopic.php не могу открыть (я арендую форум). Получается я сама не смогу сделать?
Доступ в управлении хостингом есть, но вот ни открывается "это" у меня. ((

Спасибо.
Аватара пользователя
владимир1983
phpBB 3.2.6
Сообщения: 5954
Стаж: 16 лет 4 месяца
Откуда: Сергиев Посад
Благодарил (а): 373 раза
Поблагодарили: 727 раз

Re: Скрыть ссылки от незарегистрированных пользователей

Сообщение владимир1983 »

Деметра
Если у вас нет доступа к файлам по FTP, и вы не можете внести правки в файл, то это проблема.
За ваши деньги решу ваши проблемы. Стучи в ЛС.
Нет человека - нет проблемы. (c)
Аватара пользователя
southklad
phpBB 3.1.0 RC4
Сообщения: 3467
Стаж: 14 лет 8 месяцев
Благодарил (а): 871 раз
Поблагодарили: 200 раз

Re: Скрыть ссылки от незарегистрированных пользователей

Сообщение southklad »

А как сделать, чтобы ссылки были и для новых пользователей недоступны ???
Изображение
Аватара пользователя
sdakasadist
phpBB 2.0.0
Сообщения: 236
Стаж: 13 лет 9 месяцев
Благодарил (а): 62 раза
Поблагодарили: 20 раз

Re: Скрыть ссылки от незарегистрированных пользователей

Сообщение sdakasadist »

Скажите пожалуйста , а выше указанное скрывает BBCODE или нет? Если нет то может есть на это решение?

Добавлено спустя 44 минуты 33 секунды:
Спасибо за мод, сделал правки и всё испытал, действидельно скрывает ссылки и даже BBCode ,
владимир1983 благодарен за пояснения!!!!
Изображение
Аватара пользователя
MIT
Former team member
Сообщения: 2500
Стаж: 17 лет 6 месяцев
Откуда: 56°20′02″ с. ш. 36°42′45″ в. д.
Благодарил (а): 3 раза
Поблагодарили: 351 раз

Re: Скрыть ссылки от незарегистрированных пользователей

Сообщение MIT »

igorbond, замени

Код: Выделить всё

    // MOD : MSSTI Hide links (V1.0.2) - Start
       if ($user->data['user_id'] == ANONYMOUS)
на

Код: Выделить всё

    // MOD : MSSTI Hide links (V1.0.2) - Start
       if ($user->data['user_id'] == ANONYMOUS || $user->data['group_id'] == 7)
Условие сработает, только если группа «Новые пользователи» назначается группой по-умолчанию.
Аватара пользователя
southklad
phpBB 3.1.0 RC4
Сообщения: 3467
Стаж: 14 лет 8 месяцев
Благодарил (а): 871 раз
Поблагодарили: 200 раз

Re: Скрыть ссылки от незарегистрированных пользователей

Сообщение southklad »

Скажите , а как скрыть ссылки еще и от ботов, а то все ссылке через поисковиков доступны ???
Изображение
Аватара пользователя
MIT
Former team member
Сообщения: 2500
Стаж: 17 лет 6 месяцев
Откуда: 56°20′02″ с. ш. 36°42′45″ в. д.
Благодарил (а): 3 раза
Поблагодарили: 351 раз

Re: Скрыть ссылки от незарегистрированных пользователей

Сообщение MIT »

Код: Выделить всё

    // MOD : MSSTI Hide links (V1.0.2) - Start
       if ($user->data['user_id'] == ANONYMOUS || $user->data['group_id'] == 7 || $user->data['group_id'] == 6)
rovinat
phpBB 1.2.0
Сообщения: 18
Стаж: 13 лет 5 месяцев
Благодарил (а): 4 раза

Re: Скрыть ссылки от незарегистрированных пользователей

Сообщение rovinat »

владимир1983 Скажите а можно ещё сделать правило, к примеру в разделе "Здоровье" все ссылки скрывались, для незарегистрированных пользователей. А к примеру в разделе "Спорт" были доступны для всех. Тогда моду вообще цены не будет !
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 19 лет 7 месяцев
Откуда: Калининград не Кенигсберг
Благодарил (а): 54 раза
Поблагодарили: 2756 раз

Re: Скрыть ссылки от незарегистрированных пользователей

Сообщение Sheer »

Можно. Создать соответствующее локальное право. Tutorial.Permissions
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
rovinat
phpBB 1.2.0
Сообщения: 18
Стаж: 13 лет 5 месяцев
Благодарил (а): 4 раза

Re: Скрыть ссылки от незарегистрированных пользователей

Сообщение rovinat »

Sheer Может вы знаете какую версию на русском языке, я в английском не силён ! Заранее спасибо
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 19 лет 7 месяцев
Откуда: Калининград не Кенигсберг
Благодарил (а): 54 раза
Поблагодарили: 2756 раз

Re: Скрыть ссылки от незарегистрированных пользователей

Сообщение Sheer »

Существуют on-line переводчики и другие способы. Chrome например предлагает перевести страницу.
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.

Вернуться в «Поддержка phpBB 3.0.х»