Ответ
agat 01.12.2006 15:48
код вам не даст ничего. Если вас интересует принцип, то я его опишу.
Есть таблица новостей. Новостей много - каждый день добавляется по 30-50 (агентство работает с апреля). По умолчанию на сайте агентства предоставляются только заголовки новостей плюс уменьшеные скрины медиа материала по новости. Если зарегистрированый пользователь сайта хочет приобрести новость, или материал - он делает заказ (запись в корзине). После оформления заказа пользователем, заказ передается в центр обработки заказов, где человек, отвечающий за финансовую часть выставляет цены на те или иные заказы - т.е. фиксированых цен нет (т.к. сегодня новость "горячая" - стоит 100 баксов, а через неделю она уже "попса" и за нее и 10 баксов хорошо).
Теперь, зарегистрированый пользователь заходит на сайт (логается) и ему, как и любому посетителю - открывается список новостей (в данный момент по 10 на регион. регионов сейчас 3 - Мир, Крым, Украина). В отличии от незарегистрированного посетителя, которому доступны только заголовки нововстей, для зарегистрированного юзера нужно рядом с каждым заголовком вывести иконку, соответствующую его праву доступа к данной новости.
Вот и вся задача. Т.е. проверка права доступа осуществляется только для зарегистрированного и логнутого юзера и только то тем новостям, заголовки которых выводятся в данный момент на экран.
В данный момент я склонился к [поиску в БД] [права доступа текущего логнутого юзера] к [каждой выводимой новости] с кешированием СКЛ-запроса. Вроде шустро работает.