За замовчуванням в 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)
дозволяє обійтися без цього.