Приемы работы с $AUTH_USER_ID и $UserID в NetCat

Пара слов об API CMS NetCat. А конкретно о работе с id-шниками юзеров. Практически все собрано с оффорума. Некоторые вещи могут быть устаревшими.

  1. $AUTH_USER_ID не работает в режиме просмотра (должно по мануалу выдавать id авторизовавшегося юзера а выдает 0). Решение: использовать $PHP_AUTH_USER для работы в обоих режимах.
  2. Как дать пользователю отправить данные в форме один раз? Решение:
    ".opt($check='".listQuery("SELECT User_ID FROM Message68 WHERE User_ID=$AUTH_USER_ID LIMIT 1","\$data[User_ID]")."',"")."
    ".opt_case($check,"форма добавления НЕ показывается","форма показывается")."
  3. Как скрыть разделы для неавторизованных? Решения:
    - ".( $AUTH_USER_ID ? s_browse_sub(xxx, yyy) : "" )."
    - если выводить 10 разделов с помощью функции s_browse_sub, и среди этих 10 есть разделы, которые надо скрыть, то проверку $AUTH_USER_ID надо прописать в переменных $browse_sub[active] и т.д.
    - Добавить поле, указывающее на то, что раздел скрыт, и проверив с помощью функции opt() значения созданного поля и $AUTH_USER_ID в шаблоне вывода навигации.
    - Настроить доступ к разделу в админке )).

  4. Как запретить показ объвлений (в режиме редактирования), созданные не текущим юзером, а также не показывать ему чужие $f_AdminButtons? Решение: ".( $AUTH_USER_ID && $AUTH_USER_ID == $f_UserID ? $f_AdminButtons : '').".
  5. Как показать товары только авторизованным пользователям? Решение: ".opt($AUTH_USER_ID>0,"показываем")."
  6. Как показать только объекты добавленные mtreobv пользователем? Решение: использовать системную настроку компонента -- $ingore_user – если 1, игнорирует выборку объектов по текущему пользователю (по умолчанию 1).
  7. Чтобы в админ-режиме показывать "плашку" только для своих объктов, то можно воспользоваться той же конструкцией:
    ".( $AUTH_USER_ID && $AUTH_USER_ID == $f_UserID ? $f_AdminButtons : "")."

Добавление комментария:

Вы можете использовать эти теги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="">