Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Общие вопросы по PHP » Обратный тег [ not-logged ]

Обратный тег [ not-logged ]


     17.08.2013    Все вопросы » Общие вопросы по PHP    5563

вопрос
Здравствуйте, знаю вопрос поднимался, но ответа не было.
Очень нужен обратный тег [ not-logged ], помогите его написать! Пожалуйста!

На личной странице теги [ not-logged ][ /not-logged ] скрывают код от всех пользователей кроме владельца личной страницы.
Пример: личные настройки. Но есть несколько элементов которые нужно скрыть от хозяина личной страницы, так чтобы остальные пользователи заходя на не свою страницу видели эти элементы.
Пример: кнопка отправления личных сообщений.

Ответил: Sander


Открыть файл engine/modules/profile.php
Найти строку:
if( $is_logged and ($member_id['user_id'] == $row['user_id'] OR $member_id['user_group'] == 1) ) {

ПЕРЕД ней вставить:
if( $is_logged AND $member_id['user_id'] == $row['user_id']  ) $tpl->set_block( "'\\[logged\\](.*?)\\[/logged\\]'si", "" );
else{
    $tpl->set( '[logged]', "" );
    $tpl->set( '[/logged]', "" );
}

8 комментариев

Gopr
Юзер

Gopr - 17 августа 2013 12:06 -

Ого слово в слово скопировали вопрос. Нужного ответа действительно не было, да же таких вариантов не было: "Пишите в личку сделаю за оплату" Видимо очень трудоемкий хак.

Sander
PHP-developer

Sander - 17 августа 2013 13:01 -

Я бы сказал, что скорее просто лень открыть файл profile.php и потом еще инструкцию писать.
За деньги... да за что тут деньги брать?
Бесплатно, было влом :)

SanDev.pro - мой блог.

Telegram: @sandev
Skype: Sander8804

Ayk
Юзер

Ayk - 17 августа 2013 13:08 -

Спасибо большое, работает!!!!!! :)

Gopr
Юзер

Gopr - 17 августа 2013 13:21 -

Sander, Спасибо! Вам памятники ставить надо хотя бы за то, что не лень!
Единственное, группа администраторов не видит заключенную в теги [logged]текст[/logged] информацию, как на свой странице так и на остальных. У других групп пользователей все как надо.

Gopr
Юзер

Gopr - 17 августа 2013 13:55 -

Дело наверное в этой строке:
if( $is_logged and ($member_id['user_id'] == $row['user_id'] OR $member_id['user_group'] == 1) ) {
Если в ['user_group'] == 1 поменять значение с 1 на 2, то и для администраторов теги [logged][/logged] работают так же как для пользователей. Единственное я не уверен в правильности данного решения :)

Sander
PHP-developer

Sander - 17 августа 2013 14:04 -

Исправил ответ.

SanDev.pro - мой блог.

Telegram: @sandev
Skype: Sander8804

Gopr
Юзер

Gopr - 17 августа 2013 14:19 -

Еще раз спасибо :)

Kane
Юзер

Kane - 2 октября 2013 10:44 -

Спасибо пригодилось!

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы

наверх