#SESSION

#SESSION виводить інформацію, збережену в сесії, окремо для кожного відвідувача сайту. Забезпечує доступ до інформації, пов’язаної з перевіркою достовірності відвідувача, і дозволяє диференціювати кеш залежно від відвідувача.

  • Apparu en : SPIP 2.0

За замовчуванням в SPIP сесії зберігаються наступні значення:

  • id_auteur: унікальний ідентифікатор користувача
  • nom: ім’я користувача (#NOM)
  • bio: біографія (текст про себе) (#BIO)
  • email: e-mail автора
  • nom_site: назва сайту користувача
  • url_site: URL сайту користувача
  • login: логін
  • statut: група користувача - 0minirezo (адміністратори та обмежені адміністратори), 1comite (автори), 6forum (відвідувачі)
  • webmestre: ’oui’, якщо користувач є веб-майстром
  • maj: час і дата останнього оновлення профілю користувача (будь-яка модифікація даних автора, що містяться в spip_auteurs, таких як дата і час останнього з’єднання, чи були надіслані внутрішні повідомлення, оновлення файлу особистих даних тощо)
  • pgp: PGP ключ автора
  • en_ligne: час і дата попереднього входу користувача в систему
  • imessage: ’oui’, якщо користувач відправив приватне повідомлення
  • messagerie:
  • prefs: налаштування користувача для адміністративної частини
    • couleur => від 1 до 6 - номер кольорової схеми інтерфейсу
    • display => 1 (тільки текст); 2 (іконки і текст); 3 (лише іконки)
    • cnx => порожнє значення або ’perma’ (якщо активовано «запам’ятати на декілька днів»)
  • cookie_oubli: hash of the replacement cookie sent of forgotten (хеш cookie ключа заміни коду для відновлення забутого паролю, якщо його було відправлено) або порожнє значення
  • source: ’spip’ або ’ldap’ - джерело аутентифікації
  • lang: мова адміністративної частини сайту
  • extra: список додаткових полів для профілю автора
  • auth: тип аутентифікації (spip, ldap)
  • cookie: ’oui’, якщо користувач авторизований за допомогою куки, та значення не існує, якщо інший тип підключення (incl. PHP_AUTH_USER)
  • hash_env: внутрішній хеш - ідентифікує сесію користувача
  • ip_change: FALSE до тих пір, поки IP користувача не змінився. TRUE якщо IP змінився. SPIP перестворює нову сесію, якщо підключений користувач змінив свою адресу.

Приклади

Показати певний текст тільки адміністратору:

  • [(#SESSION{statut}|=={0minirezo}|oui)  Цей текст побачать лише адміністратори або обмежені адміністратори]

Така ж техніка дозволяє нам показувати певні поля певній групі користувачів:

  • [(#SESSION{statut}|=={0minirezo}|oui)  #DESCRIPTIF]

Якщо обсяг коду великий або є необхідність викликати цикл, то цей код виносять в окремий файл, наприклад в reserved.html :

  • [(#SESSION{statut}|=={0minirezo}|oui)  <INCLURE{fond=reserved, env}>]

Робота з іншими тегами

  • Тег добре працює у зв’язці з #AUTORISER.
  • Ви можете зберігати свої значення в сесію за допомогою тега #SESSION_SET

Побудова умов за допомогою плагіна Bonux

Чудовий плагін SPIP Bonux дозволяє нам використовувати синтаксис циклу для запису умов.

Припустимо, що нам необхідно вивести назва розділу в шаблоні article.html тільки для авторизованих користувачів (адміністратор, редакторів і просто відвідувачів). Код буде виглядати наступним чином:

<BOUCLE_test(CONDITION) {si #SESSION{statut} IN 0minirezo,1comite,6forum} >
    <BOUCLE_titre(RUBRIQUES) {id_article}> #TITRE</BOUCLE_titre>
</BOUCLE_test

При традиційному запису нам би довелося створити додатковий файл для циклу _titre, але чим більше файлів, тим складніше управляти проектом далі. Використання циклу (CONDITION) дозволяє обійтися без цього.

Автор olly Publié le :

Traductions : عربي, català, English, Español, français, Nederlands, русский, українська