Фотоальбомы недоступные для гостей.

Нужна помощ.

 
Посетитель
small user social cms
Медаль
Сообщений: 120
Доброго всем.
Друзья подскажите где копнуть...
Стоит задача сделать так, что б при просмотре фотоальбомов, неавторизированный пользователь получал сообщение что "нужно войти".
Например если гость пытается посмотреть профиль пользователя, выскакивает сообщение что "вы должны быть авторизированы" и форма ввода логина и пароля.
А вот при просмотре фотоальбома пользователя, такого нет. Ссылки я попрятал от гостей, но если просто вбить адрес типо www.сайт.ру/albums/номер альбома-title.html, альбом приспокойно открывается.
В каком файле нужно поставить проверку на права пользователя и в краце хотя бы, как?

Буду очень признателен за помощь. Неделю бьюсь уже cry
Hostis humanus generis
Посетитель
small user social cms
МедальКубок зрительских симпатийАвторитет форума
Сообщений: 1164
Какая версия InstantCMS?
Реклама
cms
Посетитель
small user social cms
Медаль
Сообщений: 120
Val:

Какая версия InstantCMS?

Ох.. опять забыл написать. ICMS 2.1.1
Hostis humanus generis
Посетитель
small user social cms
МедальКубок зрительских симпатийАвторитет форума
Сообщений: 1164
Код PHP:
  1. if (!cmsUser::getInstance()->isLogged()) { cmsCore::error404(); }
Посетитель
small user social cms
Медаль
Сообщений: 120
Val:

Код PHP:
  1. if (!cmsUser::getInstance()->isLogged()) { cmsCore::error404(); }

Оу.. благодарю. А в каком файле прописывать сию строчку не подскажете? Явно не в шаблоне ведь?
Hostis humanus generis
Посетитель
small user social cms
МедальКубок зрительских симпатийАвторитет форума
Сообщений: 1164
Можно и через шаблон ловить))
Просто не рендерить полученные данные, например в templates\default\content\albums_list.tpl.php, если к уже имеющемуся условию, добавляем проверку на залогинненость пользователя, то пока он не авторизуется будет лицезреть "Нет элементов для отображения" (если надо, можно послать его еще дальше - cmsCore::error404(); joke ). Конечно, при этом остается возможность просмотра картинок по прямой ссылке...

Далее, смотрим адрес ссылок этих картинок: http://sitename.ru/photos/view/id, т.е. контроллер photos -> экшен view. Ищем что там рендериться на выходе... templates\default\controllers\photos\view.tpl.php

Собственно, тут вставляем в начале шаблона наше условие, с добавлением выхода из php-скрипта:
Код PHP:
  1. if (!cmsUser::getInstance()->isLogged()) { cmsCore::error404(); exit(); }
Но и теперь, прямая ссылка на сам файл картинки доступен: sitename.ru/upload/000/u1/001/3e90feff.jpg <- у вас будет своя абракадабра. Возможно вопрос решается правкой .htaccess, а может есть и другие способы, сходу не скажу)) В любом случае, среди обычных пользователей экстрасенсов не много - угадать название картинки слегка затруднительно.
Посетитель
small user social cms
Медаль
Сообщений: 120
Val:

Можно и через шаблон ловить))
Здорово! Всё работает! Теперь выкидывает на страницу 404 dance

А можно как то сделать вот эту строчку:
Код PHP:
  1. if (!cmsUser::getInstance()->isLogged()) { cmsCore::error404(); exit(); }
что б вместо
Код PHP:
  1. { cmsCore::error404(); exit(); }
Перекидывало на форму входа?
Типо как сделано на пользователях. Гостей при попытке посмотреть профиль юзера перекидывает на страницу входа. Сейчас пытаюсь сам отыскать это условие в шаблонах, пока безрезультатно.

И может быть вы знаете... возможно ли поставить проверку на группу пользователей? Ну например что б группа "новички" не могла видеть то, что может видеть группа "пользователи"...
Проверка типо такой вот:
Код PHP:
  1. if (!cmsUser::getInstance()->Группа "Гости" или "новички"()) { cmsCore::error404(); exit(); } Иначе всё показывается.
  2.  
ПРобовал делать по id группы юзеров из базы данных... что то не получается =(
Редактировалось: 1 раз (Последний: 13 ноября 2014 в 22:31)
Hostis humanus generis
Посетитель
small user social cms
МедальКубок зрительских симпатийАвторитет форума
Сообщений: 1164
Блицкриг:
Перекидывало на форму входа?
попробуйте <?php if (!cmsUser::getInstance()->isLogged()) { cmsCore::getController('auth')->redirectToAction('login'); exit(); } ?>

про группу пользователей сходу сказать не могу, надо копать и разбираться)) но ничего невозможного тут нет))
Редактировалось: 2 раз (Последний: 13 ноября 2014 в 22:52)
Посетитель
small user social cms
МедальКубок зрительских симпатийАвторитет форума
Сообщений: 1164
Вообще конечно не по феншую в шаблоне логику писать)). MVC категорически против! но главное никому не показывать =)
Посетитель
small user social cms
Медаль
Сообщений: 120
Val:

Вообще конечно не по феншую в шаблоне логику писать)). MVC категорически против! но главное никому не показывать =)

А то.. фен-шуй в ярости, но хоть какой то результат. Большое спасибо вам за помощь.
Hostis humanus generis
В начало страницы
Предыдущая темаСледующая тема Перейти на форум:
Быстрый ответ
Чтобы писать на форуме, зарегистрируйтесь или авторизуйтесь.