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

Обратный тег [ not-logged ] или как скрыть код от самого себя


     15.07.2013    Все вопросы » Общие вопросы по PHP    5878

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

Ответил: Webmaster


Сделайте для определённых групп, к примеру только для администратора или модератора.
Спрячьте то что надо в эти теги:
[group=1,2]Где 1 и 2 это группа которой можно просматривать инфу...[/group]

Также в админке настройте права для групп и читайте документацию по движку и тегам тут.

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

Gopr
Юзер

Gopr - 15 июля 2013 19:58 -

Я знаю про эти теги, это совсем не то. Вы предлагаете скрыть "инфу" от всех, кроме групп 1 и 2.
А нужно чтобы "инфа" была скрыта таким образом:
Есть пользователи.
У каждого соответственно своя личная страница с аватаркой и другой инфой.
Сейчас так:
Если User-1 заходит к себе на страницу то видит: Текст №1 и Текст №2
Если User-1 заходит на чужую страницу например к User-2 то видит тоже самое: Текст №1 и Текст №2
А надо так:
Если User-1 заходит к себе на страницу то видит: Текст №1
Если User-1 заходит на чужую страницу например к User-2 то видит: Текст №1 и Текст №2
Короче тег [ NOT-LOGGED ] но наоборот, показывает всем кроме хозяина страницы :)

Webmaster
Юзер

Webmaster - 15 июля 2013 23:26 -

Gopr,
Что-то я не пойму, у меня вроде всё работает как надо...
Надо учесть что если Вы администратор, то Вам можно просматривать и редактировать всех пользователей, соответственно и информация полная. Если же Вы простой пользователь, то при просмотре другого пользователя у Вас не будет выводится лишняя информация, или же у Вас что-то не так с настройками скрипта...
Это если я Вас правильно понял...
Вот здесь демо видео...

Gopr
Юзер

Gopr - 16 июля 2013 00:43 -

Давайте как пример заострим внимание на одной строке - Дата регистрации.
В видео Администратор видит дату, как на своей странице, так и на странице пользователя с логином Test.
Зайдя пользователем Test мы не видим дату не на свой странице, не на странице администратора.
А нужно что бы администратор заходя к себе на страницу не видел дату своей регистрации, а заходя к Test видел дату.
При этом не важно какая группа 1,2,3,4,5 без разницы всегда один эффект - хозяин страницы не должен видеть свою, дату регистрации, но при этом он должен видеть чужие даты.

Еще раз заикнусь про тег [ not-logged ][ /not-logged ].
Если написать [ not-logged ]дата регистрации[ /not-logged ] то эту дату будет видеть только хозяин страницы.
А нужен обратный тег не знаю как назвать пусть будет так:[ new-not-logged ]дата регистрации[ /new-not-logged ]
Как то так.

Webmaster
Юзер

Webmaster - 16 июля 2013 01:08 -

Gopr,
Я Вас понял, ну это Ваша личная такая заморочка, честно говоря не совсем понимаю зачем так заморачиваться по поводу даты регистрации, админ если захочет и через БД поменяет свою дату хоть на 1917 г. и будет этаким детём революции... :)
Будет время подумаю ещё над этим вопросом...

Gopr
Юзер

Gopr - 16 июля 2013 01:16 -

Webmaster, дата регистрации это как пример, чтобы ясно было) На деле совсем другой код и в других количествах.

Sander
PHP-developer

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

Я вас огорчу, но он сможет поставить максимум 1970-01-01.
unixtime берет отсчет именно с этой даты.

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

Telegram: @sandev
Skype: Sander8804

DaivZ
Юзер

DaivZ - 17 августа 2013 14:30 -

Может полезное что возьмете себе : http://www.rips.su/hacks/2833-zapret-prosmotra-profilya-v2.html

Bender
Юзер

Bender - 9 июня 2017 09:07 -

может кому пригодится

if( $is_logged and ($member_id['user_id'] != $row['user_id']) ) {
$tpl->set( '[else-not-logged]', "" );
$tpl->set( '[/else-not-logged]', "" );
} else {
$tpl->set_block( "'\\[else-not-logged\\](.*?)\\[/else-not-logged\\]'si", "<!-- profile -->" );
}

Апельсин
Юзер

Апельсин - 9 июня 2018 23:47 -

Подниму тему. Кнопка отправления личных сообщений самому себе есть в каждом профиле. Нужен такой тег, что бы кнопка была видна всем, КРОМЕ владельца страницы профиля.

Выше есть код, но не понятно куда его вставить, что бы получить результат. Заранее всем спасибо.

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

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

наверх