Користувачі, що брали участь в експериментах

Попередження

Користуйтеся тільки слідуючи вказівкам, якщо ви знаєте, що робите … «Керівництво не несе відповідальності за будь-який випадок […]»: D

Пристосування до вашого графіку

Якщо ви вмієте працювати з таблицями стилів CSS, ви можете пристосувати Galette CSS під свої власні кольори. Для цього настійно не пораджено редагувати файли Galette CSS, а краще використовувати спеціальний механізм, призначений для цього. Створіть файл galette_local.css у вашому каталозі webroot/themes/default зі своїми стилями, їх буде автоматично увімкнено.

Постарайтеся зробити все якомога простіше. Наприклад, якщо ви хочете змінити колір назви товариства (відображається під заголовками сторінок), ви знайдете в Galette CSS-правило #asso_name, яке визначає кілька параметрів, включно з кольором. Потім, у вашій таблиці стилів, вам знадобиться тільки наступне:

#asso_name {
    color: red;
}

Цього буде достатньо для показу назви вашого товариства червоним кольором. Запримітьте, що локальний CSS файл і всі проблеми, які він може викликати, не будуть прийняті до уваги командою Galette, підтримка не буде надана.

Ви також можете перевизначити таблицю стилів друку, просто створіть файл galette_print_local.css.

Додавання та змінення рядків

За необхідності можна налаштувати перекладені рядки в Galette - без змінення будь-якого вихідного файлу Galette. Просто створіть файл galette_ {mylang} _local_lang.php (де {mylang} повинен бути замінений на мову, наприклад fr_FR.utf8 або` en_US`) в каталозі `` lang``. Цей файл повинен містити простий PHP-масив з вихідним рядком (тим, що у вихідному коді Galette) в якості індексу.

Наприклад, ми хочемо змінити рядок «Password» на сторінці входу в систему українською мовою, перекладену як Пароль:. Оригінальний рядок - Password: (див. Galette / templates / default / index.tpl), його український переклад - Пароль: і ми хочемо замінити його на Гасло: `; тому ми створимо `` galette_fr_FR.utf8_local_lang.php`` з наступним змістом:

<?php
$lang['Password:'] = 'Secret&nbsp;:';
return $lang;

Оскільки Galette використовує систему кешування для перекладів, зміни можуть бути видні не відразу; можливо, вам доведеться перезапустити PHP (або очистити кеш). Важливо сприймати вихідний рядок дослівно, включаючи пунктуацію, і стежити за тим, щоб у всіх рядках були одинарні лапки (зі зворотною скісною рискою).

Ви також можете перевизначити мови для розширень, використовуючи метод sam, просто помістіть файл в каталог plugins lang і назвіть його {plugin}_{mylang}_local_lang.php де {plugin} - назва маршруту, яку ви можете знайти в файлі _define.php.

Примітка

Це буде працювати тільки за використання функцій перекладу Galette, але не за використання рідного gettext.

Зміна тривалості сеансу

За замовчуванням Galette створить сеанс із тривалістю життя за замовчуванням (і, здається, у цьому випадку браузери діють інакше). Ви все одно можете визначити константу під назвою GALETTE_TIMEOUT, щоб змінити тривалість сеансу за допомогою :ref:конфігурації поведінки<behavior> :

<?php
//see https://www.php.net/manual/en/session.configuration.php#ini.session.cookie-lifetime
define('GALETTE_TIMEOUT', 0);

Запис IP-адрес за проксі-сервером

Якщо ваш зразок Galette знаходиться за проксі-сервером, IP-адреса, збережена в історії, буде проксі-адресою, а не призначеною для користувача :(

Щоб це виправити, використовуйте конфігурацію поведінки <behavior> `, щоб створити константу з назвою ``GALETTE_X_FORWARDED_FOR_INDEX`, наприклад:

<?php
define('GALETTE_X_FORWARDED_FOR_INDEX', 1);

Кожен проксі-сервер додаватиме свою власну адресу в список, приклад вище працюватиме тільки якщо є тільки один проксі-сервер.

Попередження

З метою безпеки не використовуйте це, якщо ваш зразок не знаходиться за проксі-сервером!

Зовнішня статистика

Нове в версії 0.9.

Багато статистичних платформ покладаються на додатковий блок JavaScript для роботи. Ви можете створити файл tracking.js у каталозі webroot/themes/default, його буде автоматично включено.

Для роботи Galette використовує Javascript. Якщо код, який ви додасте в файл tracking.js, буде неправильним, це може привести до зламання Galette!

Експорти CSV

Змінено в версії 1.0.0: Ви можете налаштувати експорт параметрів за допомогою `YAML<https://yaml.org/> `_ замість файлу XML.

Galette надає систему експорту CSV з параметрами. Надається тільки один параметричний експорт, але ви можете додати свій власний в файл config / exports.yaml.

Примітка

Застарілий файл конфігурації XML все ще підтримується; якщо знайдено повторюваний ідентифікатор, пріоритет має файл YAML.

Давайте розглянемо існуючий параметризований експорт «cotisations»:

- cotisations:
  # Model: List all cotisations amounts, begin and end dates with adherent name and town
  name: Cotisations
  description: Export de l'état des cotisations pour l'ensemble des adhérents
  filename: galette_cotisations.csv
  query: |-
    SELECT nom_adh, prenom_adh, ville_adh, montant_cotis, date_debut_cotis, date_fin_cotis
      FROM galette_cotisations
      INNER JOIN galette_adherents
        ON (galette_cotisations.id_adh=galette_adherents.id_adh)
  headers:
    - Name
    - Surname
    - Town
    - Amount
    - Begin date
    - End date
  separator: ;
  quote: \"
  • кожен запис масиву є унікальним ідентифікатором, малими літерами без пробілів або спеціальних символів

  • name та description є обов’язковими для відображення кожного параметрованого експорту в інтерфейсі користувача

  • filename встановлює назву файлу для вихідного файлу

  • query – це запит для виконання, він є обов’язковим. Немає жодних інших обмежень, окрім обмежень механізму SQL, очікуйте, що ви не можете надіслати їм жодних параметрів

  • headers керує заголовками стовпців:

    • як у наведеному вище прикладі, масив власних заголовків стовпців

    • якщо їх немає, імена полів Galette будуть експортовані. Ви можете використовувати іменовані стовпці у своєму запиті SQL (SELECT nom_adh AS "Column title" FROM ...)

    • встановіть значення false (headers: false), щоб вимкнути виведення заголовків стовпців

  • separator – це роздільник CSV, який буде використано. Можливі значення:

    • крапка з комою (;) - за замовчуванням

    • кома (,)

    • символ таблиці (\t)

  • quote або подвійна лапка (за замовчуванням) або простий символ лапки

  • щоб вимкнути експорт, ви можете додати inactive: true

Засоби адміністрування

Попередження

Всі засоби адміністратора є небезпечними, використовуйте їх з обережністю, і ** переконайтеся, що ви зробили резервну копію бази даних** перед використанням!

Для адміністратора Galette передбачено кілька засобів, що дозволяють:

  • повторна ініціалізація вмістів розсилань поверне вміст всіх листів до типових значень,

  • повторна ініціалізація конфігурацій полів скине всі поля ядра членів в типові значення. Це не включає динамічні поля,

  • повторна ініціалізація моделей PDF скине моделі PDF до типових значень,

  • утворити порожні логіни і паролі ці дані необхідні для підвищення безпеки, але іноді відсутні (наприклад, при імпорті CSV). Ця функція встановить випадкові значення в поля логіна і пароля, які будуть порожніми в базі даних.

  • Виправити формат дат динамічних полів перетворить усі дати динамічних полів у новий формат (див. dynamic fields).

Режими Галетта

У Galette передбачено декілька режимів, які можна налаштувати за допомогою константи GALETTE_MODE (:ref:`див. Налаштування поведінки Galette<behavior> `). Ця директива може приймати такі значення:

  • PROD: робочий режим (невиробничий екземпляр має бути в іншому режимі). Це режим за замовчуванням для випусків, але він може змінитися в розробці.

  • DEMO: демонстраційний режим, такий самий, як PROD, але з вимкненими деякими функціями, як-от надсилання електронних листів, зміна даних суперадміністратора, …

  • TEST: зарезервовано для модульних тестів.

  • MAINT: режим обслуговування. Лише суперадміністратор зможе увійти.

Налагодження Galette

Нове в версії 1.1.0.

Щоб увімкнути режим налагодження, можна використовувати спеціальну постійну назву GALETTE_DEBUG. При включеному режимі:

  • нестабільні/недороблені частини будуть активовані,

  • деякі дані не зберігатимуться в сесії,

  • рівень журналу за замовчуванням встановлено на DEBUG,

  • новини не будуть кешуватися,

  • перевірка версії бази даних не проводитиметься.

Конфігурація поведінки

Можна змінити деякі поведінки Galette:

  • GALETTE_DEBUG: :ref:`див. налагодження Galette<debug> `;

  • ви знайдете у відповідній частині документації, яку можна використовувати для деяких інших цілей (наприклад, параметрів карток PDF, тривалості сеансу тощо).

Ви можете додати ці директиви, оголосивши константи в galette/config/behavior.inc.php.

Наприклад:

<?php
define('GALETTE_DEBUG', true);