From 129160be4ce47f566214b7be6479df26e7e94c55 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?E=CC=81ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Fri, 6 Oct 2023 18:44:31 +0200 Subject: [PATCH 01/71] cleaning --- conf/config.local.php | 2 +- conf/nginx.conf | 11 +++++------ scripts/install | 39 +++++++++++++++++++++++---------------- 3 files changed, 29 insertions(+), 23 deletions(-) diff --git a/conf/config.local.php b/conf/config.local.php index 8fb3a75..6e2ac6c 100644 --- a/conf/config.local.php +++ b/conf/config.local.php @@ -1,7 +1,7 @@ Date: Fri, 6 Oct 2023 18:51:05 +0200 Subject: [PATCH 02/71] Update config.local.user.php --- conf/config.local.user.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/conf/config.local.user.php b/conf/config.local.user.php index 04b8d27..dbcdf62 100644 --- a/conf/config.local.user.php +++ b/conf/config.local.user.php @@ -2,7 +2,7 @@ /** * Ce fichier représente un exemple des constantes de configuration - * disponibles pour Garradin. + * disponibles pour Paheko. * * Modifiez ce fichier à votre guise, il ne sera pas modifié lors des mises à jour. * Consultez le fichier config.dist.php pour disposer d'un exemple. @@ -10,4 +10,4 @@ */ // Nécessaire pour situer les constantes dans le bon namespace -namespace Garradin; +namespace Paheko; From 58969cc47cf3160b443b5f48b9f436e87e9afb3c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?E=CC=81ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Fri, 6 Oct 2023 18:56:13 +0200 Subject: [PATCH 03/71] Update config.local.yunohost.php --- conf/config.local.yunohost.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conf/config.local.yunohost.php b/conf/config.local.yunohost.php index 3cd4e76..ecc707a 100644 --- a/conf/config.local.yunohost.php +++ b/conf/config.local.yunohost.php @@ -10,7 +10,7 @@ */ // Nécessaire pour situer les constantes dans le bon namespace -namespace Garradin; +namespace Paheko; /** * Clé secrète, doit être unique à chaque instance de Garradin From 06327a7d02ba811953b5b3d9c1fe6925449ab1a9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?E=CC=81ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Fri, 6 Oct 2023 19:06:25 +0200 Subject: [PATCH 04/71] cleaning --- conf/config.local.php | 920 +++++++++++++++++++++++++++++++++++++++++- scripts/install | 14 +- 2 files changed, 923 insertions(+), 11 deletions(-) diff --git a/conf/config.local.php b/conf/config.local.php index 6e2ac6c..b59da7d 100644 --- a/conf/config.local.php +++ b/conf/config.local.php @@ -1,9 +1,921 @@ ['_name' => 'bohwaz'], + * 'permissions' => ['users' => 9, 'config' => 9] + * ]; + * + * Défault : null (connexion automatique désactivée) + */ + +//const LOCAL_LOGIN = null; + +/** + * Autoriser (ou non) l'import de sauvegarde qui a été modifiée ? + * + * Si mis à true, un avertissement et une confirmation seront demandés + * Si mis à false, tout fichier SQLite importé qui ne comporte pas une signature + * valide (hash SHA1) sera refusé. + * + * Ceci ne s'applique qu'à la page "Sauvegarde et restauration" de l'admin, + * il est toujours possible de restaurer une base de données non signée en + * la recopiant à la place du fichier association.sqlite + * + * Défaut : true + */ + +//const ALLOW_MODIFIED_IMPORT = true; + +/** + * Répertoire où se situe le code source de Paheko + * + * Défaut : répertoire racine de Paheko (__DIR__) + */ + +const ROOT = __INSTALL_DIR__; + +/** + * Répertoire où sont situées les données de Paheko + * (incluant la base de données SQLite, les sauvegardes, le cache, les fichiers locaux et les plugins) + * + * Défaut : sous-répertoire "data" de la racine + */ + +const DATA_ROOT = ROOT . '__DATA_DIR__'; + +/** + * Répertoire où est situé le cache, + * exemples : graphiques de statistiques, templates Brindille, etc. + * + * Défaut : sous-répertoire 'cache' de DATA_ROOT + */ + +//const CACHE_ROOT = DATA_ROOT . '/cache'; + +/** + * Répertoire où est situé le cache partagé entre instances + * Paheko utilisera ce répertoire pour stocker le cache susceptible d'être partagé entre instances, comme + * le code PHP généré à partir des templates Smartyer. + * + * Défaut : sous-répertoire 'shared' de CACHE_ROOT + */ + +//const SHARED_CACHE_ROOT = CACHE_ROOT . '/shared'; + +/** + * Motif qui détermine l'emplacement des fichiers de cache du site web. + * + * Le site web peut créer des fichiers de cache pour les pages et catégories. + * Ensuite le serveur web (Apache) servira ces fichiers directement, sans faire + * appel au PHP, permettant de supporter beaucoup de trafic si le site web + * a une vague de popularité. + * + * Certaines valeurs sont remplacées : + * %host% = hash MD5 du hostname (utile en cas d'hébergement de plusieurs instances) + * %host.2% = 2 premiers caractères du hash MD5 du hostname + * + * Utiliser NULL pour désactiver le cache. + * + * Défault : CACHE_ROOT . '/web/%host%' + * + * @var null|string + */ + +//const WEB_CACHE_ROOT = CACHE_ROOT . '/web/%host%'; + +/** + * Emplacement du fichier de base de données de Paheko + * + * Défaut : DATA_ROOT . '/association.sqlite' + */ + +const DB_FILE = DATA_ROOT . '__DATA_DIR__/association.sqlite'; + +/** + * Emplacement de stockage des plugins + * + * Défaut : DATA_ROOT . '/plugins' + */ + +//const PLUGINS_ROOT = DATA_ROOT . '/plugins'; + +/** + * Signaux système + * + * Permet de déclencher des signaux sans passer par un plugin. + * Le fonctionnement des signaux système est strictment identique aux signaux des plugins. + * Les signaux système sont exécutés en premier, avant les signaux des plugins. + * + * Format : pour chaque signal, un tableau comprenant une seule clé et une seule valeur. + * La clé est le nom du signal, et la valeur est la fonction. + * + * Défaut: [] (tableau vide) + */ +//const SYSTEM_SIGNALS = [['files.delete' => 'MyNamespace\Signals::deleteFile'], ['entity.Accounting\Transaction.save.before' => 'MyNamespace\Signals::saveTransaction']]; + +/** + * Adresse URI de la racine du site Paheko + * (doit se terminer par un slash) + * + * Défaut : découverte automatique à partir de SCRIPT_NAME + */ + +//const WWW_URI = '/asso/'; + +/** + * Adresse URL HTTP(S) publique de Paheko + * + * Défaut : découverte automatique à partir de HTTP_HOST ou SERVER_NAME + WWW_URI + * @var null|string + */ + +//const WWW_URL = 'http://paheko.chezmoi.tld' . WWW_URI; + +/** + * Adresse URL HTTP(S) de l'admin Paheko + * + * Note : il est possible d'avoir un autre domaine que WWW_URL. + * + * Défaut : WWW_URL + 'admin/' + * @var null|string + */ + +//const ADMIN_URL = 'https://admin.paheko.chezmoi.tld/'; + +/** + * Affichage des erreurs + * Si "true" alors un message expliquant l'erreur et comment rapporter le bug s'affiche + * en cas d'erreur. Sinon rien ne sera affiché. + * + * Défaut : TRUE (pour aider le debug de l'auto-hébergement) + * + * Il est fortement conseillé de mettre cette valeur à FALSE en production ! + */ + +//const SHOW_ERRORS = false; + +/** + * Envoi des erreurs par e-mail + * + * Si renseigné, un email sera envoyé à l'adresse indiquée à chaque fois qu'une erreur + * d'exécution sera rencontrée. + * Si "false" alors aucun email ne sera envoyé. + * Note : les erreurs sont déjà toutes loguées dans error.log à la racine de DATA_ROOT + * + * Défaut : false + */ + +//const MAIL_ERRORS = false; + +/** + * Envoi des erreurs à une API compatible AirBrake/Errbit/Paheko + * + * Si renseigné avec une URL HTTP(S) valide, chaque erreur système sera envoyée + * automatiquement à cette URL. + * + * Si laissé à null, aucun rapport ne sera envoyé. + * + * Paheko accepte aussi les rapports d'erreur venant d'autres instances. + * + * Pour cela utiliser l'URL https://login:password@paheko.site.tld/api/errors/report + * (voir aussi API_USER et API_PASSWORD) + * + * Les erreurs seront ensuite visibles dans + * Configuration -> Fonctions avancées -> Journal d'erreurs + * + * Défaut : null + */ + +//const ERRORS_REPORT_URL = null; + +/** + * Template HTML d'erreur personnalisé (en production) + * + * Si SHOW_ERRORS est à FALSE un message d'erreur générique (sans détail technique) + * est affiché. Il est possible de personnaliser ce message avec cette constante. + * + * Voir include/init.php pour le template par défaut. + */ + +// const ERRORS_TEMPLATE = null; + +/** + * Loguer / envoyer par mail les erreurs utilisateur ? + * + * Si positionné à 1, *toutes* les erreurs utilisateur (champ mal rempli dans un formulaire, + * formulaire dont le token CSRF a expiré, etc.) seront loguées et/ou envoyées par mail + * (selon le réglage choisit ci-dessus). + * + * Si positionné à 2, alors l'exception sera remontée dans la stack, *et* loguée/envoyée. + * + * Utile pour le développement. + * + * Défaut : 0 (ne rien faire) + * @var int + */ + +// const REPORT_USER_EXCEPTIONS = 0; + +/** + * Activation des détails techniques (utile en auto-hébergement) : + * - version de PHP + * - page permettant de visualiser les erreurs présentes dans le error.log + * - permettre de migrer d'un stockage de fichiers à l'autre + * - vérification de nouvelle version (sur la page configuration) + * + * Ces infos ne sont visibles que par les membres ayant accès à la configuration. + * + * Défaut : true + * (Afin d'aider au rapport de bugs des instances auto-hébergées) + */ + +//const ENABLE_TECH_DETAILS = true; + +/** + * Activation du log SQL (option de développement) + * + * Si cette constante est renseignée par un chemin de fichier SQLite valide, + * alors *TOUTES* les requêtes SQL et leur contenu sera logué dans la base de données indiquée. + * + * Cette option permet ensuite de parcourir les requêtes via l'interface dans + * Configuration -> Fonctions avancées -> Journal SQL pour permettre d'identifier + * les requêtes qui mettent trop de temps, et comment elles pourraient + * être améliorées. Visualiser les requêtes SQL nécessite d'avoir également activé + * ENABLE_TECH_DETAILS. + * + * ATTENTION : cela signifie que des informations personnelles (mot de passe etc.) + * peuvent se retrouver dans le log. Ne pas utiliser à moins de tester en développement. + * Cette option peut significativement ralentir le chargement des pages. + * + * Défaut : null (= désactivé) + * @var string|null + */ +// const SQL_DEBUG = __DIR__ . '/debug_sql.sqlite'; + +/** +/** + * Mode de journalisation de SQLite + * + * Paheko recommande le mode 'WAL' de SQLite, qui permet à SQLite + * d'être extrêmement rapide. + * + * Cependant, sur certains hébergeurs utilisant NFS, ce mode peut + * provoquer dans certains cas une corruption de la base de données. + * + * Pour éviter un souci de corruption, depuis la version 1.2.4 'TRUNCATE' est + * le mode par défaut. + * + * Celui-ci ne présente pas de risque, mais la base de données est alors plus + * lente. + * + * Si votre hébergement n'utilise pas NFS, il est recommandé de mettre 'WAL' + * ici, cela rendra Paheko beaucoup plus rapide. + * + * @see https://www.sqlite.org/pragma.html#pragma_journal_mode + * @see https://www.sqlite.org/wal.html + * @see https://stackoverflow.com/questions/52378361/which-nfs-implementation-is-safe-for-sqlite-database-accessed-by-multiple-proces + * + * Défaut : 'TRUNCATE' + * @var string + */ +//const SQLITE_JOURNAL_MODE = 'TRUNCATE'; + +/** + * Activation du log HTTP (option de développement) + * + * Si cette constante est renseignée par un fichier texte, *TOUTES* les requêtes HTTP + * ainsi que leur contenu y sera enregistré. + * + * C'est surtout utile pour débuguer les problèmes de WebDAV par exemple. + * + * ATTENTION : cela signifie que des informations personnelles (mot de passe etc.) + * peuvent se retrouver dans le log. Ne pas utiliser à moins de tester en développement. + * + * Default : null (= désactivé) + * @var string|null + */ +// const HTTP_LOG_FILE = __DIR__ . '/http.log'; + +/** + * Activer la possibilité de faire une mise à jour semi-automatisée + * depuis fossil.kd2.org. + * + * Si mis à TRUE, alors un bouton sera accessible depuis le menu "Configuration" + * pour faire une mise à jour en deux clics. + * + * Il est conseillé de désactiver cette fonctionnalité si vous ne voulez pas + * permettre à un utilisateur de casser l'installation ! + * + * Si cette constante est désactivée, mais que ENABLE_TECH_DETAILS est activé, + * la vérification de nouvelle version se fera quand même, mais plutôt que de proposer + * la mise à jour, Paheko proposera de se rendre sur le site officiel pour + * télécharger la mise à jour. + * + * Défaut : true + * + * @var bool + */ + +//const ENABLE_UPGRADES = true; + +/** + * Utilisation de cron pour les tâches automatiques + * + * Si "true" on s'attend à ce qu'une tâche automatisée appelle + * les scripts suivants: + * - scripts/cron.php toutes les 24 heures (envoi des rappels de cotisation, + * création des sauvegardes) + * - scripts/emails.php toutes les 5 minutes environ (envoi des emails en attente) + * + * Si "false", les actions de scripts/cron.php seront effectuées quand une personne + * se connecte. Et les emails seront envoyés instantanément (ce qui peut ralentir ou + * planter si un message a beaucoup de destinataires). + * + * Défaut : false + */ + +//const USE_CRON = false; + +/** + * Activation de l'envoi de fichier directement par le serveur web. + * (X-SendFile) + * + * Permet d'améliorer la rapidité d'envoi des fichiers. + * Supporte les serveurs web suivants : + * - Apache avec mod_xsendfile (paquet libapache2-mod-xsendfile) + * - Lighttpd + * + * N'activer que si vous êtes sûr que le module est installé et activé (sinon + * les fichiers ne pourront être vus ou téléchargés). + * Nginx n'est PAS supporté, car X-Accel-Redirect ne peut gérer que des fichiers + * qui sont *dans* le document root du vhost, ce qui n'est pas le cas ici. + * + * Pour activer X-SendFile mettre dans la config du virtualhost de Paheko: + * XSendFile On + * XSendFilePath /var/www/paheko + * + * (remplacer le chemin par le répertoire racine de Paheko) + * + * Détails : https://tn123.org/mod_xsendfile/ + * + * Défaut : false + */ + +//const ENABLE_XSENDFILE = false; + +/** + * Serveur NTP utilisé pour les connexions avec TOTP + * (utilisé seulement si le code OTP fourni est faux) + * + * Désactiver (false) si vous êtes sûr que votre serveur est toujours à l'heure. + * + * Défaut : fr.pool.ntp.org + */ + +//const NTP_SERVER = 'fr.pool.ntp.org'; + +/** + * Désactiver l'envoi d'e-mails + * + * Si positionné à TRUE, l'envoi d'e-mail ne sera pas proposé, et il ne sera + * pas non plus possible de récupérer un mot de passe perdu. + * Les parties de l'interface relatives à l'envoi d'e-mail seront cachées. + * + * Ce réglage est utilisé pour la version autonome sous Windows, car Windows + * ne permet pas l'envoi d'e-mails. + * + * Défaut : false + * @var bool + */ + +//const DISABLE_EMAIL = false; + + +/** + * Hôte du serveur SMTP, mettre à false (défaut) pour utiliser la fonction + * mail() de PHP + * + * Défaut : false + */ + +//const SMTP_HOST = false; + +/** + * Port du serveur SMTP + * + * 25 = port standard pour connexion non chiffrée (465 pour Gmail) + * 587 = port standard pour connexion SSL + * + * Défaut : 587 + */ + +//const SMTP_PORT = 587; + +/** + * Login utilisateur pour le server SMTP + * + * mettre à null pour utiliser un serveur local ou anonyme + * + * Défaut : null + */ + +//const SMTP_USER = 'paheko@monserveur.com'; + +/** + * Mot de passe pour le serveur SMTP + * + * mettre à null pour utiliser un serveur local ou anonyme + * + * Défaut : null + */ + +//const SMTP_PASSWORD = 'abcd'; + +/** + * Sécurité du serveur SMTP + * + * NONE = pas de chiffrement + * SSL = connexion SSL native + * TLS = connexion TLS native (le plus sécurisé) + * STARTTLS = utilisation de STARTTLS (moyennement sécurisé) + * + * Défaut : STARTTLS + */ + +//const SMTP_SECURITY = 'STARTTLS'; + +/** + * Nom du serveur utilisé dans le HELO SMTP + * + * Si NULL, alors le nom renseigné comme SERVER_NAME (premier nom du virtual host Apache) + * sera utilisé. + * + * Defaut : NULL + * + * @var null|string + */ + +//const SMTP_HELO_HOSTNAME = 'mail.domain.tld'; + +/** + * Adresse e-mail destinée à recevoir les erreurs de mail + * (adresses invalides etc.) — Return-Path + * + * Si laissé NULL, alors l'adresse e-mail de l'association sera utilisée. + * En cas d'hébergement de plusieurs associations, il est conseillé + * d'utiliser une adresse par association. + * + * Voir la documentation de configuration sur des exemples de scripts + * permettant de traiter les mails reçus à cette adresse. + * + * Défaut : null + */ + +//const MAIL_RETURN_PATH = 'returns@monserveur.com'; + + +/** + * Adresse e-mail expéditrice des messages (Sender) + * + * Si vous envoyez des mails pour plusieurs associations, il est souhaitable + * de forcer l'adresse d'expéditeur des messages pour passer les règles SPF et DKIM. + * + * Dans ce cas l'adresse de l'association sera indiquée en "Reply-To", et + * l'adresse contenue dans MAIL_SENDER sera dans le From. + * + * Si laissé NULL, c'est l'adresse de l'association indiquée dans la configuration + * qui sera utilisée. + * + * Défaut : null + */ + +//const MAIL_SENDER = 'associations@monserveur.com'; + +/** + * Mot de passe pour l'accès à l'API permettant de gérer les mails d'erreur + * (voir MAIL_RETURN_PATH) + * + * Cette adresse HTTP permet de gérer un bounce email reçu en POST. + * C'est utile si votre serveur de mail est capable de faire une requête HTTP + * à la réception d'un message. + * + * La requête bounce doit contenir un paramètre "message", contenant l'intégralité + * de l'email avec les entêtes. + * + * Si on définit 'abcd' ici, il faudra faire une requête comme ceci : + * curl -F 'message=@/tmp/message.eml' https://bounce:abcd@monasso.com/admin/handle_bounce.php + * + * En alternative le serveur de mail peut aussi appeler le script + * 'scripts/handle_bounce.php' + * + * Défaut : null (l'API handlebounce est désactivée) + * + * @type string|null + */ + +//const MAIL_BOUNCE_PASSWORD = null; + +/** + * Couleur primaire de l'interface admin par défaut + * (peut être personnalisée dans la configuration) + * + * Défaut : #20787a + */ + +//const ADMIN_COLOR1 = '#20787a'; + +/** + * Couleur secondaire de l'interface admin + * Défaut : #85b9ba + */ + +//const ADMIN_COLOR2 = '#85b9ba'; + +/** + * Image de fond par défaut de l'interface admin + * + * Cette URL doit être absolue (http://...) ou relative à l'admin (/admin/static...) + * + * Attention si l'image est sur un domaine différent vous devrez activer l'entête CORS: + * Access-Control-Allow-Origin "*" + * + * sinon la personnalisation des couleurs ne fonctionnera pas + * + * Défaut : [ADMIN_URL]static/bg.png + */ + +//const ADMIN_BACKGROUND_IMAGE = 'https://mon-asso.fr/fond_paheko.png'; + +/** + * Forcer l'image de fond et couleurs dans l'interface d'administration + * + * Si positionné à TRUE, les couleurs et l'image de fond définies dans la configuration + * seront ignorés. + * + * Utile pour s'assurer qu'on est sur une instance de test par exemple. + * + * Défault : false + * @var bool + */ +//const FORCE_CUSTOM_COLORS = false; + +/** + * Désactiver le formulaire d'installation + * + * Si TRUE, alors le formulaire d'installation renverra une erreur. + * + * Utile pour une installation multi-associations. + * + * Défaut : false + * @var bool + */ +//const DISABLE_INSTALL_FORM = false; + +/** + * Stockage des fichiers + * + * Indiquer ici le nom d'une classe de stockage de fichiers + * (parmis celles disponibles dans lib/Paheko/Files/Backend) + * + * Indiquer NULL si vous souhaitez stocker les fichier dans la base + * de données SQLite (valeur par défaut). + * + * Classes de stockage possibles : + * - SQLite : enregistre dans la base de données (défaut) + * - FileSystem : enregistrement des fichiers dans le système de fichier + * + * ATTENTION : activer FileSystem ET ne pas utiliser de sous-domaine (vhost dédié) + * ferait courir de graves risques de piratage à votre serveur web si vous ne protégez + * pas correctement le répertoire de stockage des fichiers ! + * + * Défaut : null + */ + +//const FILE_STORAGE_BACKEND = null; + +/** + * Configuration du stockage des fichiers + * + * Indiquer dans cette constante la configuration de la classe de stockage + * des fichiers. + * + * Valeurs possibles : + * - SQLite : aucune configuration possible + * - FileSystem : (string) chemin du répertoire où doivent être stockés les fichiers + * + * Pour migrer d'un stockage de fichiers à l'autre, + * voir Configuration > Avancé (accessible uniquement si ENABLE_TECH_DETAILS est à true) + * + * Défaut : null + */ + +//const FILE_STORAGE_CONFIG = null; + +/** + * Forcer le quota disponible pour les fichiers + * + * Si cette constante est renseignée (en octets) alors il ne sera + * pas possible de stocker plus que cette valeur. + * Tout envoi de fichier sera refusé. + * + * Défaut : null (dans ce cas c'est le stockage qui détermine la taille disponible, donc généralement l'espace dispo sur le disque dur !) + */ + +//const FILE_STORAGE_QUOTA = 10*1024*1024; // Forcer le quota alloué à 10 Mo, quel que soit le backend de stockage + +/** + * FILE_VERSIONING_POLICY + * Forcer la politique de versionnement des fichiers. + * + * null: laisser le choix de la politique (dans la configuration) + * 'none': ne rien conserver + * 'min': conserver 5 versions (1 minute, 1 heure, 1 jour, 1 semaine, 1 mois) + * 'avg': conserver 20 versions + * 'max': conserver 50 versions + * + * Note : indiquer 'none' fait qu'aucune nouvelle version ne sera créée, + * mais les versions existantes sont conservées. + * + * Si ce paramètre n'est pas NULL, alors il faudra aussi définir FILE_VERSIONING_MAX_SIZE. + * + * Défaut : null (laisser le choix dans la configuration) + * + * @var null|string + */ + +//const FILE_VERSIONING_POLICY = 'min'; + +/** + * FILE_VERSIONING_MAX_SIZE + * Forcer la taille maximale des fichiers à versionner (en Mio) + * + * N'a aucun effet si le versionnement de fichiers est désactivé. + * + * Défaut : null (laisser le choix de la taille dans la configuration) + * + * @var int|null + */ + +//const FILE_VERSIONING_MAX_SIZE = 10; + +/** + * Adresse de découverte d'un client d'édition de documents (WOPI) + * (type OnlyOffice, Collabora, MS Office) + * + * Cela permet de savoir quels types de fichiers sont éditables + * avec l'éditeur web. + * + * Si NULL, alors l'édition de documents est désactivée. + * + * Défaut : null + */ + +//const WOPI_DISCOVERY_URL = 'http://localhost:9980/hosting/discovery'; + +/** + * PDF_COMMAND + * Commande qui sera exécutée pour créer un fichier PDF à partir d'un HTML. + * + * Si laissé sur 'auto', Paheko essaiera de détecter une solution entre + * PrinceXML, Chromium, wkhtmltopdf ou weasyprint (dans cet ordre). + * Si aucune solution n'est disponible, une erreur sera affichée. + * + * Il est possible d'indiquer NULL pour désactiver l'export en PDF. + * + * Il est possible d'indiquer uniquement le nom du programme : + * 'chromium', 'prince', 'weasyprint', ou 'wkhtmltopdf'. + * Dans ce cas, Paheko utilisera les paramètres par défaut de ce programme. + * + * Alternativement, il est possible d'indiquer la commande complète avec + * les options, par exemple '/usr/bin/chromium --headless --print-to-pdf=%2$s %1$s' + * Dans ce cas : + * - %1$s sera remplacé par le chemin du fichier HTML existant, + * - %2$s sera remplacé par le chemin du fichier PDF à créer. + * + * Si vous utilisez une extension pour générer les PDF (comme DomPDF), alors + * laisser cette constante sur 'auto'. + * + * Exemples : + * 'weasyprint' + * 'wkhtmltopdf -q --print-media-type --enable-local-file-access %s %s' + * + * Si vous utilisez Prince, un message mentionnant l'utilisation de Prince + * sera joint aux e-mails utilisant des fichiers PDF, conformément à la licence : + * https://www.princexml.com/purchase/license_faq/#non-commercial + * + * Défaut : 'auto' + * @var null|string + */ +//const PDF_COMMAND = 'auto'; + +/** + * PDF_USAGE_LOG + * Chemin vers le fichier où enregistrer la date de chaque export en PDF + * + * Ceci est utilisé notamment pour estimer le prix de la licence PrinceXML. + * + * Défaut : NULL + * @var null|string + */ +//const PDF_USAGE_LOG = null; + +/** + * CALC_CONVERT_COMMAND + * Outil de conversion de formats de tableur vers un format propriétaire + * + * Paheko gère nativement les exports en ODS (OpenDocument : LibreOffice) + * et CSV, et imports en CSV. + * + * En indiquant ici le nom d'un outil, Paheko autorisera aussi + * l'import en XLSX, XLS et ODS, et l'export en XLSX. + * + * Pour cela il procédera simplement à une conversion entre les formats natifs + * ODS/CSV et XLSX ou XLS. + * + * Note : installer ces commandes peut introduire des risques de sécurité sur le serveur. + * + * Les outils supportés sont : + * - ssconvert (apt install gnumeric) (plus rapide) + * - unoconv (apt install unoconv) (utilise LibreOffice) + * - unoconvert (https://github.com/unoconv/unoserver/) en spécifiant l'interface + * + * Défault : null (= fonctionnalité désactivée) + * @var string|null + */ +//const CALC_CONVERT_COMMAND = 'unoconv'; +//const CALC_CONVERT_COMMAND = 'ssconvert'; +//const CALC_CONVERT_COMMAND = 'unoconvert --interface localhost --port 2022'; + +/** + * DOCUMENT_THUMBNAIL_COMMANDS + * Indique les commandes à utiliser pour générer des miniatures pour les documents + * (LibreOffice, OOXML, PDF, SVG, etc.) + * + * Les options possibles sont (par ordre de rapidité) : + * - mupdf : les miniatures PDF/SVG/XPS/EPUB sont générées avec mutool + * (apt install mupdf-tools) + * - collabora : les miniatures sont générées par le serveur Collabora, via + * l'API dont l'URL est indiquée dans WOPI_DISCOVERY_URL + * - unoconvert : les miniatures des documents Office/LO sont générées + * avec unoconvert + * + * Il est conseillé d'utiliser mupdf en priorité pour les PDF, il est plus rapide et léger. + * + * Note : cette option créera de nombreux fichiers de cache, et risque d'augmenter + * la charge serveur de manière importante. + * + * Défaut : null (fonctionnalité désactivée) + * @var null|array + */ + +//const DOCUMENT_THUMBNAIL_COMMANDS = ['mupdf', 'collabora']; + +/** + * PDFTOTEXT_COMMAND + * Outil de conversion de PDF au format texte. + * + * Utilisé pour indexer un fichier PDF pour pouvoir rechercher dans son contenu + * parmi les documents. + * + * Il est possible de spécifier ici la commande suivante : + * - mupdf (apt install mupdf-tools) + * + * Toute autre commande sera ignorée. + * + * Défaut : null (= fonctionnalité désactivée) + */ +//const PDFTOTEXT_COMMAND = 'pdftotext'; + +/** + * API_USER et API_PASSWORD + * Login et mot de passe système de l'API + * + * Une API est disponible via l'URL https://login:password@paheko.association.tld/api/... + * Voir https://fossil.kd2.org/paheko/wiki?name=API pour la documentation + * + * Ces deux constantes permettent d'indiquer un nom d'utilisateur + * et un mot de passe pour accès à l'API. + * + * Cet utilisateur est distinct de ceux définis dans la page de gestion des + * identifiants d'accès à l'API, et aura accès à TOUT en écriture/administration. + * + * Défaut: null + */ +//const API_USER = 'coraline'; +//const API_PASSWORD = 'thisIsASecretPassword42'; + +/** + * DISABLE_INSTALL_PING + * + * Lors de l'installation, ou d'une mise à jour, la version installée de Paheko, + * ainsi que celle de PHP et de SQLite, sont envoyées à Paheko.cloud. + * + * Cela permet de savoir quelles sont les versions utilisées, et également de compter + * le nombre d'installations effectuées. + * + * Aucune donnée personnelle n'est envoyée. Un identifiant anonyme est envoyé, + * permettant d'identifier l'installation et éviter les doublons. + * (voir le code dans lib/.../Install.php) + * + * Le code de stockage des statistiques est visible à : + * https://paheko.cloud/ping/ + * + * Pour désactiver cet envoi il suffit de placer cette constante à TRUE. + * + * Défaut : false + */ +//const DISABLE_INSTALL_PING = false; + +/** + * Clé de licence + * + * Cette clé permet de débloquer certaines fonctionnalités dans des extensions officielles. + * + * Pour l'obtenir il faut se créer un compte sur Paheko.cloud + * et faire une contribution financière. + * La clé apparaîtra ensuite en dessous des informations + * de l'association dans la page "Mon abonnement Paheko.cloud". + * + * Il faut recopier cette clé dans le fichier config.local.php + * dans la constante CONTRIBUTOR_LICENSE. + * + * Merci de ne pas essayer de contourner cette licence et de contribuer au + * financement de notre travail :-) + */ +//const CONTRIBUTOR_LICENSE = 'XXXXX'; + +/** + * Informations légale sur l'hébergeur + * + * Ce texte (HTML) est affiché en bas de la page "mentions légales" + * (.../admin/legal.php) + * + * S'il est omis, l'association sera indiquée comme étant auto-hébergée. + * + * Défaut : null + * + * @var string|null + */ +//const LEGAL_HOSTING_DETAILS = 'OVH
5 rue de l'hébergement
ROUBAIX'; + +/** + * Message d'avertissement + * + * Sera affiché en haut de toutes les pages de l'administration. + * + * Code HTML autorisé. + * Utiliser NULL pour désactiver le message. + * + * Défaut : null + * + * @var null|string + */ +//const ALERT_MESSAGE = 'Ceci est un compte de test.'; diff --git a/scripts/install b/scripts/install index 468c388..5c9fa13 100644 --- a/scripts/install +++ b/scripts/install @@ -43,16 +43,16 @@ ynh_script_progression --message="Adding a configuration file..." --weight=5 # Install configuration files ynh_add_config --template="../conf/config.local.php" --destination="$install_dir/config.local.php" -chmod 400 "$install_dir/config.local.php" +chmod 650 "$install_dir/config.local.php" chown $app:$app "$install_dir/config.local.php" -ynh_add_config --template="../conf/config.local.yunohost.php" --destination="$install_dir/config.local.yunohost.php" -chmod 400 "$install_dir/config.local.yunohost.php" -chown $app:$app "$install_dir/config.local.yunohost.php" +#ynh_add_config --template="../conf/config.local.yunohost.php" --destination="$install_dir/config.local.yunohost.php" +#chmod 400 "$install_dir/config.local.yunohost.php" +#chown $app:$app "$install_dir/config.local.yunohost.php" -ynh_add_config --template="../conf/config.local.user.php" --destination="$install_dir/data/config.local.user.php" -chmod 400 "$install_dir/data/config.local.user.php" -chown $app:$app "$install_dir/data/config.local.user.php" +#ynh_add_config --template="../conf/config.local.user.php" --destination="$install_dir/data/config.local.user.php" +#chmod 400 "$install_dir/data/config.local.user.php" +#chown $app:$app "$install_dir/data/config.local.user.php" # Permissions on files and directories From 8a7571e4717afd88702bb03e1bccdce8e813c91b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?E=CC=81ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Fri, 6 Oct 2023 19:13:26 +0200 Subject: [PATCH 05/71] cleaning --- conf/config.local.php | 6 ++-- conf/config.local.user.php | 13 ------- conf/config.local.yunohost.php | 64 ---------------------------------- conf/extra_php-fpm.conf | 4 +-- conf/nginx.conf | 2 +- manifest.toml | 2 ++ scripts/backup | 7 ++++ scripts/change_url | 7 ++-- scripts/install | 9 ----- scripts/restore | 29 ++++++++++----- 10 files changed, 39 insertions(+), 104 deletions(-) delete mode 100644 conf/config.local.user.php delete mode 100644 conf/config.local.yunohost.php diff --git a/conf/config.local.php b/conf/config.local.php index b59da7d..0ceb6af 100644 --- a/conf/config.local.php +++ b/conf/config.local.php @@ -168,7 +168,7 @@ const DB_FILE = DATA_ROOT . '__DATA_DIR__/association.sqlite'; * Défaut : découverte automatique à partir de SCRIPT_NAME */ -//const WWW_URI = '/asso/'; +const WWW_URI = '__PATH__/'; /** * Adresse URL HTTP(S) publique de Paheko @@ -326,7 +326,7 @@ const DB_FILE = DATA_ROOT . '__DATA_DIR__/association.sqlite'; * Défaut : 'TRUNCATE' * @var string */ -//const SQLITE_JOURNAL_MODE = 'TRUNCATE'; +const SQLITE_JOURNAL_MODE = 'WAL'; /** * Activation du log HTTP (option de développement) @@ -364,7 +364,7 @@ const DB_FILE = DATA_ROOT . '__DATA_DIR__/association.sqlite'; * @var bool */ -//const ENABLE_UPGRADES = true; +const ENABLE_UPGRADES = false; /** * Utilisation de cron pour les tâches automatiques diff --git a/conf/config.local.user.php b/conf/config.local.user.php deleted file mode 100644 index dbcdf62..0000000 --- a/conf/config.local.user.php +++ /dev/null @@ -1,13 +0,0 @@ - Date: Fri, 6 Oct 2023 19:15:57 +0200 Subject: [PATCH 06/71] Update backup --- scripts/backup | 1 - 1 file changed, 1 deletion(-) diff --git a/scripts/backup b/scripts/backup index c565227..62ffbee 100644 --- a/scripts/backup +++ b/scripts/backup @@ -25,7 +25,6 @@ ynh_backup --src_path="$install_dir" # BACKUP THE DATA DIR #================================================= -# Only relevant if there is a "data_dir" resource for this app ynh_backup --src_path="$data_dir" --is_big #================================================= From 585aea1d63910c014a948d187ea6834b137ffbe4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?E=CC=81ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Fri, 6 Oct 2023 19:20:15 +0200 Subject: [PATCH 07/71] cleaning --- scripts/change_url | 2 +- scripts/install | 10 ------- scripts/restore | 13 -------- scripts/upgrade | 75 +++------------------------------------------- 4 files changed, 5 insertions(+), 95 deletions(-) diff --git a/scripts/change_url b/scripts/change_url index 414cc1c..eb922bb 100644 --- a/scripts/change_url +++ b/scripts/change_url @@ -1,7 +1,7 @@ #!/bin/bash #================================================= -# GENERIC STARTING +# GENERIC START #================================================= # IMPORT GENERIC HELPERS #================================================= diff --git a/scripts/install b/scripts/install index 4d37886..ac7cbfc 100644 --- a/scripts/install +++ b/scripts/install @@ -46,16 +46,6 @@ ynh_add_config --template="../conf/config.local.php" --destination="$install_dir chmod 650 "$install_dir/config.local.php" chown $app:$app "$install_dir/config.local.php" -# Permissions on files and directories - -#find "$install_dir" -type d -exec chmod 550 {} + -#find "$install_dir" -type f -exec chmod 440 {} + -#find "$install_dir/data" -type d -exec chmod 770 {} + -#find "$install_dir/data" -type f -exec chmod 660 {} + -#chmod 440 "$install_dir/config.local.php" -#chmod 440 "$install_dir/config.local.yunohost.php" -#chmod 660 "$install_dir/data/config.local.user.php" - #================================================= # END OF SCRIPT #================================================= diff --git a/scripts/restore b/scripts/restore index 9879a3d..2102651 100644 --- a/scripts/restore +++ b/scripts/restore @@ -21,7 +21,6 @@ ynh_restore_file --origin_path="$install_dir" chmod -R o-rwx "$install_dir" chown -R $app:www-data "$install_dir" - #================================================= # RESTORE THE DATA DIRECTORY #================================================= @@ -29,18 +28,6 @@ ynh_script_progression --message="Restoring the data directory..." --weight=1 ynh_restore_file --origin_path="$data_dir" --not_mandatory -# (Same as for install dir) -# chown -R $app:www-data "$data_dir" -# find "$install_dir" -type d -exec chmod 550 {} + -# find "$install_dir" -type f -exec chmod 440 {} + -# find "$install_dir/data" -type d -exec chmod 770 {} + -# find "$install_dir/data" -type f -exec chmod 660 {} + -# chmod 440 "$install_dir/config.local.php" -# chmod 440 "$install_dir/config.local.yunohost.php" -# if [[ -f "$install_dir/config.local.user.php" ]]; then -# chmod 660 "$install_dir/config.local.user.php" -# fi - #================================================= # RESTORE SYSTEM CONFIGURATIONS #================================================= diff --git a/scripts/upgrade b/scripts/upgrade index e2f7aea..75db7bc 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -29,23 +29,6 @@ if [[ -z "${secret_key:-}" ]]; then ynh_app_setting_set --app=$app --key=secret_key --value=$secret_key fi -#================================================= -# BACKUP SQLITE DATABASE AND DATAS -#================================================= -ynh_script_progression --message="Backup of the DB in temporary file...." --weight=5 - -# copy data directory backup -tmp_data_backup=$(mktemp -d) -rsync -a $install_dir/data/ $tmp_data_backup/ - -if [[ -f "$install_dir/config.local.user.php" ]]; then - cp -a $install_dir/config.local.user.php $tmp_data_backup/ -fi - -if [[ $(grep "Garradin" "$tmp_data_backup/config.local.user.php") ]] ; then - ynh_replace_string --match_string="namespace Garradin;" --replace_string="namespace Paheko;" --target_file="$tmp_data_backup/config.local.user.php" -fi - #================================================= # DOWNLOAD, CHECK AND UNPACK SOURCE #================================================= @@ -78,61 +61,11 @@ ynh_add_nginx_config #================================================= ynh_script_progression --message="Updating a configuration file..." --weight=5 -if ynh_compare_current_package_version --comparison lt --version 1.1.15~ynh1; then - chmod 750 "$install_dir/data/config.local.user.php" - ynh_add_config --template="config.local.user.php" --destination="$install_dir/data/config.local.user.php" -fi +# Install configuration files +ynh_add_config --template="../conf/config.local.php" --destination="$install_dir/config.local.php" -# NOTE: Don't overwrite config.local.user.php -ynh_add_config --template="config.local.php" --destination="$install_dir/config.local.php" -ynh_add_config --template="config.local.yunohost.php" --destination="$install_dir/config.local.yunohost.php" - -#================================================= -# RESTORE BACKUP SQLITE DATABASE AND DATAS -#================================================= -ynh_script_progression --message="Restore datas..." --weight=5 - -# Sync data directory backup -rsync -a $tmp_data_backup/ $install_dir/data/ - -#================================================= -# FIX PERMISSIONS -#================================================= -ynh_script_progression --message="Fix permissions..." --weight=2 - -# Permissions on files and directories -chmod -R o-rwx "$install_dir" -chown -R $app:www-data "$install_dir" -find "$install_dir" -type d -exec chmod 550 {} + -find "$install_dir" -type f -exec chmod 440 {} + -find "$install_dir/data" -type d -exec chmod 770 {} + -find "$install_dir/data" -type f -exec chmod 660 {} + -chmod 440 "$install_dir/config.local.php" -chmod 440 "$install_dir/config.local.yunohost.php" -chmod 660 "$install_dir/data/config.local.user.php" - -#================================================= -# FINALISE UPGRADE -#================================================= -ynh_script_progression --message="Finalise upgrade" --weight=1 - -ynh_local_curl "/admin/index.php" -sleep 5 -ynh_local_curl "/index.php" -sleep 5 - -# remove data directory backup -ynh_secure_remove --file="$tmp_data_backup" - -# clean duplicate folder if exist -if [[ -d "$install_dir/data/data" ]]; then - ynh_secure_remove --file="$install_dir/data/data" -fi - -# clean unused file if exist -if [[ -f "$install_dir/config.local.user.php" ]]; then - ynh_secure_remove --file="$install_dir/config.local.user.php" -fi +chmod 650 "$install_dir/config.local.php" +chown $app:$app "$install_dir/config.local.php" #================================================= # END OF SCRIPT From 59077c4e015155df1e688fd31469f8ab3c537016 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?E=CC=81ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Fri, 6 Oct 2023 19:20:30 +0200 Subject: [PATCH 08/71] Update install --- scripts/install | 1 + 1 file changed, 1 insertion(+) diff --git a/scripts/install b/scripts/install index ac7cbfc..202c7b4 100644 --- a/scripts/install +++ b/scripts/install @@ -43,6 +43,7 @@ ynh_script_progression --message="Adding a configuration file..." --weight=5 # Install configuration files ynh_add_config --template="../conf/config.local.php" --destination="$install_dir/config.local.php" + chmod 650 "$install_dir/config.local.php" chown $app:$app "$install_dir/config.local.php" From 811112cd112572d316f9dc993c784275014b66a9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?E=CC=81ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Fri, 6 Oct 2023 19:20:50 +0200 Subject: [PATCH 09/71] Update config.local.php --- conf/config.local.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conf/config.local.php b/conf/config.local.php index 0ceb6af..51e4848 100644 --- a/conf/config.local.php +++ b/conf/config.local.php @@ -80,7 +80,7 @@ const SECRET_KEY = '__SECRET_KEY__'; * Défaut : répertoire racine de Paheko (__DIR__) */ -const ROOT = __INSTALL_DIR__; +const ROOT = '__INSTALL_DIR__'; /** * Répertoire où sont situées les données de Paheko From 391168108d779adc711688a0da8dca3130e4b4d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?E=CC=81ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Fri, 6 Oct 2023 19:45:43 +0200 Subject: [PATCH 10/71] Update config.local.php --- conf/config.local.php | 38 ++------------------------------------ 1 file changed, 2 insertions(+), 36 deletions(-) diff --git a/conf/config.local.php b/conf/config.local.php index 51e4848..b55bed4 100644 --- a/conf/config.local.php +++ b/conf/config.local.php @@ -77,7 +77,7 @@ const SECRET_KEY = '__SECRET_KEY__'; /** * Répertoire où se situe le code source de Paheko * - * Défaut : répertoire racine de Paheko (__DIR__) + * Défaut : répertoire racine de Paheko (DIR) */ const ROOT = '__INSTALL_DIR__'; @@ -279,26 +279,7 @@ const WWW_URI = '__PATH__/'; //const ENABLE_TECH_DETAILS = true; -/** - * Activation du log SQL (option de développement) - * - * Si cette constante est renseignée par un chemin de fichier SQLite valide, - * alors *TOUTES* les requêtes SQL et leur contenu sera logué dans la base de données indiquée. - * - * Cette option permet ensuite de parcourir les requêtes via l'interface dans - * Configuration -> Fonctions avancées -> Journal SQL pour permettre d'identifier - * les requêtes qui mettent trop de temps, et comment elles pourraient - * être améliorées. Visualiser les requêtes SQL nécessite d'avoir également activé - * ENABLE_TECH_DETAILS. - * - * ATTENTION : cela signifie que des informations personnelles (mot de passe etc.) - * peuvent se retrouver dans le log. Ne pas utiliser à moins de tester en développement. - * Cette option peut significativement ralentir le chargement des pages. - * - * Défaut : null (= désactivé) - * @var string|null - */ -// const SQL_DEBUG = __DIR__ . '/debug_sql.sqlite'; + /** /** @@ -328,21 +309,6 @@ const WWW_URI = '__PATH__/'; */ const SQLITE_JOURNAL_MODE = 'WAL'; -/** - * Activation du log HTTP (option de développement) - * - * Si cette constante est renseignée par un fichier texte, *TOUTES* les requêtes HTTP - * ainsi que leur contenu y sera enregistré. - * - * C'est surtout utile pour débuguer les problèmes de WebDAV par exemple. - * - * ATTENTION : cela signifie que des informations personnelles (mot de passe etc.) - * peuvent se retrouver dans le log. Ne pas utiliser à moins de tester en développement. - * - * Default : null (= désactivé) - * @var string|null - */ -// const HTTP_LOG_FILE = __DIR__ . '/http.log'; /** * Activer la possibilité de faire une mise à jour semi-automatisée From 3f0e67728c0eebd05bc75689501a9c4bf3c92891 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?E=CC=81ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Fri, 6 Oct 2023 21:07:20 +0200 Subject: [PATCH 11/71] Update upgrade --- scripts/upgrade | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/scripts/upgrade b/scripts/upgrade index 75db7bc..674c1dd 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -24,11 +24,16 @@ upgrade_type=$(ynh_check_app_version_changed) ynh_script_progression --message="Ensuring downward compatibility..." --weight=1 # If secret_key doesn't exist, create it -if [[ -z "${secret_key:-}" ]]; then +if [ -z "${secret_key:-}" ]; then secret_key=$(ynh_string_random --length=50) ynh_app_setting_set --app=$app --key=secret_key --value=$secret_key fi +if [ -d "$install_dir/data" ]; then + ynh_print_warn "Migrating data directory to $data_dir..." + mv "$install_dir/data" "$data_dir" +fi + #================================================= # DOWNLOAD, CHECK AND UNPACK SOURCE #================================================= From e1b3ffc582d2cacb44733f9b8980873b863981b6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?E=CC=81ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Fri, 6 Oct 2023 21:11:07 +0200 Subject: [PATCH 12/71] Update change_url --- scripts/change_url | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/change_url b/scripts/change_url index eb922bb..414cc1c 100644 --- a/scripts/change_url +++ b/scripts/change_url @@ -1,7 +1,7 @@ #!/bin/bash #================================================= -# GENERIC START +# GENERIC STARTING #================================================= # IMPORT GENERIC HELPERS #================================================= From 2bfe80a4d7d98307ccf2efe38a7bc268844bd0f0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?E=CC=81ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Fri, 6 Oct 2023 21:16:58 +0200 Subject: [PATCH 13/71] Update manifest.toml --- manifest.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifest.toml b/manifest.toml index fa7be60..9aa5dec 100644 --- a/manifest.toml +++ b/manifest.toml @@ -53,4 +53,4 @@ ram.runtime = "50M" main.url = "/" [resources.apt] - packages = "php8.2-sqlite3, php8.2-gd, php8.2-intl, php8.2-cli, php8.2-gnupg, php8.2-mbstring" + packages = "sqlite3, php8.2-sqlite3, php8.2-gd, php8.2-intl, php8.2-cli, php8.2-gnupg, php8.2-mbstring" From 42dc677393b442f1fb81ca1bdd53d1e98ee3bb30 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?E=CC=81ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Fri, 6 Oct 2023 21:26:21 +0200 Subject: [PATCH 14/71] Update config.local.php --- conf/config.local.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conf/config.local.php b/conf/config.local.php index b55bed4..9c5177d 100644 --- a/conf/config.local.php +++ b/conf/config.local.php @@ -137,7 +137,7 @@ const DATA_ROOT = ROOT . '__DATA_DIR__'; * Défaut : DATA_ROOT . '/association.sqlite' */ -const DB_FILE = DATA_ROOT . '__DATA_DIR__/association.sqlite'; +//const DB_FILE = DATA_ROOT . '__DATA_DIR__/association.sqlite'; /** * Emplacement de stockage des plugins From d00c10624a26c8838a3173c68f03c8e351b13e1d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?E=CC=81ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Fri, 6 Oct 2023 21:28:37 +0200 Subject: [PATCH 15/71] Update config.local.php --- conf/config.local.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conf/config.local.php b/conf/config.local.php index 9c5177d..70ca1a9 100644 --- a/conf/config.local.php +++ b/conf/config.local.php @@ -137,7 +137,7 @@ const DATA_ROOT = ROOT . '__DATA_DIR__'; * Défaut : DATA_ROOT . '/association.sqlite' */ -//const DB_FILE = DATA_ROOT . '__DATA_DIR__/association.sqlite'; +//const DB_FILE = DATA_ROOT . '/association.sqlite'; /** * Emplacement de stockage des plugins From 4505fbc2cd5867c1dba64fabdbddbc5714f4d856 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?E=CC=81ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Fri, 6 Oct 2023 21:46:56 +0200 Subject: [PATCH 16/71] Update nginx.conf --- conf/nginx.conf | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/conf/nginx.conf b/conf/nginx.conf index e51cbbd..9ca9db2 100644 --- a/conf/nginx.conf +++ b/conf/nginx.conf @@ -7,13 +7,14 @@ location __PATH__/ { index index.php /_route.php; # Increase size limit - client_max_body_size 50M; + client_max_body_size 2M; - #try_files $uri $uri/ __PATH__/__PATH__/_route.php?$query_string; - try_files $uri $uri/ __PATH__/_route.php?$query_string; - - location ~ [^/]\.php(/|$) { - fastcgi_split_path_info ^(.+?\.php)(/.*)$; + try_files $uri $uri/ __PATH__/__PATH__/_route.php?$query_string; + location ~ \.php$ { + if (!-e $request_filename) { + rewrite ^__PATH__/?(.*)$ __PATH__/_route.php?/$1 last; + break; + } fastcgi_pass unix:/var/run/php/php__PHPVERSION__-fpm-__NAME__.sock; fastcgi_index index.php; From 548379dbc5ca812bc78b2c0d5bdacb6ace67a9dd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?E=CC=81ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Fri, 6 Oct 2023 22:00:30 +0200 Subject: [PATCH 17/71] Update config.local.php --- conf/config.local.php | 60 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) diff --git a/conf/config.local.php b/conf/config.local.php index 70ca1a9..18f58e0 100644 --- a/conf/config.local.php +++ b/conf/config.local.php @@ -58,6 +58,66 @@ const SECRET_KEY = '__SECRET_KEY__'; //const LOCAL_LOGIN = null; +const LDAP_HOST = 'localhost'; +const LDAP_DN = 'cn=%s,ou=users,dc=yunohost,dc=org'; + +session_start(); + +if (empty($_SESSION['ldap_user']) && !empty($_POST['ldap_login']) && !empty($_POST['ldap_password'])) { + $l = ldap_connect(LDAP_HOST) || die('Connexion impossible'); + ldap_set_option($l, LDAP_OPT_PROTOCOL_VERSION, 3); + ldap_set_option($l, LDAP_OPT_REFERRALS, 0); + ldap_set_option($l, LDAP_OPT_NETWORK_TIMEOUT, 10); + + $login = trim($_POST['ldap_login']); + + if (ldap_bind($l, sprintf(LDAP_DN, $login), $_POST['ldap_password'])) { + $_SESSION['ldap_user'] = $login; + } + + ldap_close($l); +} + +if (empty($_SESSION['ldap_user'])) { + echo ' + + +
'; + + if (!empty($_POST['ldap_login'])) { + echo '

Identifiants invalides

'; + } + + echo ' +
+ Connexion +
+
Login
+
+
Mot de passe
+
+
+

+
+
+ + '; + exit; +} + +define('Garradin\LOCAL_LOGIN', [ + 'user' => [ + '_name' => $_SESSION['ldap_user'], + ], + 'permissions' => [ + 'users' => 9, + 'accounting' => 9, + 'web' => 9, + 'documents' => 9, + 'config' => 9, + ], +]); + /** * Autoriser (ou non) l'import de sauvegarde qui a été modifiée ? * From 0d6fed4707d8305e7731b3ed5a1583f5351ce61a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?E=CC=81ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Fri, 6 Oct 2023 22:05:17 +0200 Subject: [PATCH 18/71] fix --- conf/config.local.php | 53 +++---------------------------------------- manifest.toml | 3 +++ 2 files changed, 6 insertions(+), 50 deletions(-) diff --git a/conf/config.local.php b/conf/config.local.php index 18f58e0..a71362d 100644 --- a/conf/config.local.php +++ b/conf/config.local.php @@ -58,56 +58,9 @@ const SECRET_KEY = '__SECRET_KEY__'; //const LOCAL_LOGIN = null; -const LDAP_HOST = 'localhost'; -const LDAP_DN = 'cn=%s,ou=users,dc=yunohost,dc=org'; - -session_start(); - -if (empty($_SESSION['ldap_user']) && !empty($_POST['ldap_login']) && !empty($_POST['ldap_password'])) { - $l = ldap_connect(LDAP_HOST) || die('Connexion impossible'); - ldap_set_option($l, LDAP_OPT_PROTOCOL_VERSION, 3); - ldap_set_option($l, LDAP_OPT_REFERRALS, 0); - ldap_set_option($l, LDAP_OPT_NETWORK_TIMEOUT, 10); - - $login = trim($_POST['ldap_login']); - - if (ldap_bind($l, sprintf(LDAP_DN, $login), $_POST['ldap_password'])) { - $_SESSION['ldap_user'] = $login; - } - - ldap_close($l); -} - -if (empty($_SESSION['ldap_user'])) { - echo ' - - -
'; - - if (!empty($_POST['ldap_login'])) { - echo '

Identifiants invalides

'; - } - - echo ' -
- Connexion -
-
Login
-
-
Mot de passe
-
-
-

-
-
- - '; - exit; -} - -define('Garradin\LOCAL_LOGIN', [ +const LOCAL_LOGIN = [ 'user' => [ - '_name' => $_SESSION['ldap_user'], + '_name' => '__ADMIN__', ], 'permissions' => [ 'users' => 9, @@ -116,7 +69,7 @@ define('Garradin\LOCAL_LOGIN', [ 'documents' => 9, 'config' => 9, ], -]); +]; /** * Autoriser (ou non) l'import de sauvegarde qui a été modifiée ? diff --git a/manifest.toml b/manifest.toml index 9aa5dec..719d550 100644 --- a/manifest.toml +++ b/manifest.toml @@ -38,6 +38,9 @@ ram.runtime = "50M" type = "group" default = "visitors" + [install.admin] + type = "user" + [resources] [resources.sources.main] url = "https://fossil.kd2.org/paheko/uv/paheko-1.3.0.tar.gz" From 4e15a75461fbd2c099a18aead8c75c3c62c00121 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?E=CC=81ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Fri, 6 Oct 2023 22:09:33 +0200 Subject: [PATCH 19/71] Update manifest.toml --- manifest.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifest.toml b/manifest.toml index 9aa5dec..dd2fbb3 100644 --- a/manifest.toml +++ b/manifest.toml @@ -53,4 +53,4 @@ ram.runtime = "50M" main.url = "/" [resources.apt] - packages = "sqlite3, php8.2-sqlite3, php8.2-gd, php8.2-intl, php8.2-cli, php8.2-gnupg, php8.2-mbstring" + packages = "sqlite3, php8.2-sqlite3, php8.2-gd, php8.2-intl, php8.2-cli, php8.2-gnupg, php8.2-mbstring, php8.2-ldap" From 1957ddacf00313b667fb4315b1dd7867c67dcfd0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?E=CC=81ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Fri, 6 Oct 2023 22:14:32 +0200 Subject: [PATCH 20/71] fix --- conf/config.local.php | 60 ------------------------------------------- manifest.toml | 2 +- 2 files changed, 1 insertion(+), 61 deletions(-) diff --git a/conf/config.local.php b/conf/config.local.php index 18f58e0..70ca1a9 100644 --- a/conf/config.local.php +++ b/conf/config.local.php @@ -58,66 +58,6 @@ const SECRET_KEY = '__SECRET_KEY__'; //const LOCAL_LOGIN = null; -const LDAP_HOST = 'localhost'; -const LDAP_DN = 'cn=%s,ou=users,dc=yunohost,dc=org'; - -session_start(); - -if (empty($_SESSION['ldap_user']) && !empty($_POST['ldap_login']) && !empty($_POST['ldap_password'])) { - $l = ldap_connect(LDAP_HOST) || die('Connexion impossible'); - ldap_set_option($l, LDAP_OPT_PROTOCOL_VERSION, 3); - ldap_set_option($l, LDAP_OPT_REFERRALS, 0); - ldap_set_option($l, LDAP_OPT_NETWORK_TIMEOUT, 10); - - $login = trim($_POST['ldap_login']); - - if (ldap_bind($l, sprintf(LDAP_DN, $login), $_POST['ldap_password'])) { - $_SESSION['ldap_user'] = $login; - } - - ldap_close($l); -} - -if (empty($_SESSION['ldap_user'])) { - echo ' - - -
'; - - if (!empty($_POST['ldap_login'])) { - echo '

Identifiants invalides

'; - } - - echo ' -
- Connexion -
-
Login
-
-
Mot de passe
-
-
-

-
-
- - '; - exit; -} - -define('Garradin\LOCAL_LOGIN', [ - 'user' => [ - '_name' => $_SESSION['ldap_user'], - ], - 'permissions' => [ - 'users' => 9, - 'accounting' => 9, - 'web' => 9, - 'documents' => 9, - 'config' => 9, - ], -]); - /** * Autoriser (ou non) l'import de sauvegarde qui a été modifiée ? * diff --git a/manifest.toml b/manifest.toml index dd2fbb3..9aa5dec 100644 --- a/manifest.toml +++ b/manifest.toml @@ -53,4 +53,4 @@ ram.runtime = "50M" main.url = "/" [resources.apt] - packages = "sqlite3, php8.2-sqlite3, php8.2-gd, php8.2-intl, php8.2-cli, php8.2-gnupg, php8.2-mbstring, php8.2-ldap" + packages = "sqlite3, php8.2-sqlite3, php8.2-gd, php8.2-intl, php8.2-cli, php8.2-gnupg, php8.2-mbstring" From 04eeff0974eed42768b9676d73e15764bf6e8705 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?E=CC=81ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Fri, 6 Oct 2023 22:27:41 +0200 Subject: [PATCH 21/71] Update config.local.php --- conf/config.local.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conf/config.local.php b/conf/config.local.php index 70ca1a9..2b3b66e 100644 --- a/conf/config.local.php +++ b/conf/config.local.php @@ -89,7 +89,7 @@ const ROOT = '__INSTALL_DIR__'; * Défaut : sous-répertoire "data" de la racine */ -const DATA_ROOT = ROOT . '__DATA_DIR__'; +const DATA_ROOT = '__DATA_DIR__'; /** * Répertoire où est situé le cache, From 73934d0e7d69f285ecf2c239bdf8deee275a8e0e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?E=CC=81ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Fri, 6 Oct 2023 22:38:34 +0200 Subject: [PATCH 22/71] cron --- conf/config.local.php | 2 +- conf/cron | 2 ++ scripts/backup | 6 ++++++ scripts/install | 4 ++++ scripts/remove | 3 +++ scripts/restore | 4 ++++ scripts/upgrade | 4 ++++ 7 files changed, 24 insertions(+), 1 deletion(-) create mode 100644 conf/cron diff --git a/conf/config.local.php b/conf/config.local.php index 2b3b66e..25e80d0 100644 --- a/conf/config.local.php +++ b/conf/config.local.php @@ -348,7 +348,7 @@ const ENABLE_UPGRADES = false; * Défaut : false */ -//const USE_CRON = false; +const USE_CRON = true; /** * Activation de l'envoi de fichier directement par le serveur web. diff --git a/conf/cron b/conf/cron new file mode 100644 index 0000000..4a4c95f --- /dev/null +++ b/conf/cron @@ -0,0 +1,2 @@ +@daily __APP__ /usr/bin/php__PHPVERSION__ __INSTALL_DIR__/scripts/cron.php +* * * * * __APP__ /usr/bin/php__PHPVERSION__ __INSTALL_DIR__/scripts/emails.php \ No newline at end of file diff --git a/scripts/backup b/scripts/backup index 62ffbee..3d4fbfa 100644 --- a/scripts/backup +++ b/scripts/backup @@ -39,6 +39,12 @@ ynh_backup --src_path="/etc/nginx/conf.d/$domain.d/$app.conf" ynh_backup --src_path="/etc/php/$phpversion/fpm/pool.d/$app.conf" +#================================================= +# BACKUP VARIOUS FILES +#================================================= + +ynh_backup --src_path="/etc/cron.d/$app" + #================================================= # END OF SCRIPT #================================================= diff --git a/scripts/install b/scripts/install index 202c7b4..fd51e6c 100644 --- a/scripts/install +++ b/scripts/install @@ -34,6 +34,10 @@ ynh_add_fpm_config # Create a dedicated NGINX config ynh_add_nginx_config +ynh_add_config --template="../conf/cron" --destination="/etc/cron.d/$app" +chown root: "/etc/cron.d/$app" +chmod 644 "/etc/cron.d/$app" + #================================================= # SPECIFIC SETUP #================================================= diff --git a/scripts/remove b/scripts/remove index 5b17c2d..b88f6a3 100644 --- a/scripts/remove +++ b/scripts/remove @@ -20,6 +20,9 @@ ynh_remove_nginx_config # Remove the dedicated PHP-FPM config ynh_remove_fpm_config +# Remove a cron file +ynh_secure_remove --file="/etc/cron.d/$app" + #================================================= # END OF SCRIPT #================================================= diff --git a/scripts/restore b/scripts/restore index 2102651..640730b 100644 --- a/scripts/restore +++ b/scripts/restore @@ -39,6 +39,10 @@ ynh_restore_file --origin_path="/etc/php/$phpversion/fpm/pool.d/$app.conf" ynh_restore_file --origin_path="/etc/nginx/conf.d/$domain.d/$app.conf" +ynh_restore_file --origin_path="/etc/cron.d/$app" +chown root: "/etc/cron.d/$app" +chmod 644 "/etc/cron.d/$app" + #================================================= # GENERIC FINALIZATION #================================================= diff --git a/scripts/upgrade b/scripts/upgrade index 674c1dd..8580bdb 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -59,6 +59,10 @@ ynh_add_fpm_config # Create a dedicated NGINX config ynh_add_nginx_config +ynh_add_config --template="../conf/cron" --destination="/etc/cron.d/$app" +chown root: "/etc/cron.d/$app" +chmod 644 "/etc/cron.d/$app" + #================================================= # SPECIFIC UPGRADE #================================================= From 651ccaeaffaf276999ff1f7c6131bcce9b722282 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?E=CC=81ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Fri, 6 Oct 2023 22:44:09 +0200 Subject: [PATCH 23/71] Update manifest.toml --- manifest.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifest.toml b/manifest.toml index 9aa5dec..9f221f8 100644 --- a/manifest.toml +++ b/manifest.toml @@ -53,4 +53,4 @@ ram.runtime = "50M" main.url = "/" [resources.apt] - packages = "sqlite3, php8.2-sqlite3, php8.2-gd, php8.2-intl, php8.2-cli, php8.2-gnupg, php8.2-mbstring" + packages = "wkhtmltopdf, sqlite3, php8.2-sqlite3, php8.2-gd, php8.2-intl, php8.2-cli, php8.2-gnupg, php8.2-mbstring" From 9be932fefef266a6a151dd02cc623446216f71d7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?E=CC=81ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Fri, 6 Oct 2023 22:51:19 +0200 Subject: [PATCH 24/71] Update manifest.toml --- manifest.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifest.toml b/manifest.toml index 9f221f8..040e855 100644 --- a/manifest.toml +++ b/manifest.toml @@ -53,4 +53,4 @@ ram.runtime = "50M" main.url = "/" [resources.apt] - packages = "wkhtmltopdf, sqlite3, php8.2-sqlite3, php8.2-gd, php8.2-intl, php8.2-cli, php8.2-gnupg, php8.2-mbstring" + packages = "weasyprint, sqlite3, php8.2-sqlite3, php8.2-gd, php8.2-intl, php8.2-cli, php8.2-gnupg, php8.2-mbstring" From 4d8d35a2f25f1f11b3d16abb8a8b9afc3eda4d24 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?E=CC=81ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Fri, 6 Oct 2023 22:53:45 +0200 Subject: [PATCH 25/71] Update manifest.toml --- manifest.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifest.toml b/manifest.toml index 040e855..f3b6492 100644 --- a/manifest.toml +++ b/manifest.toml @@ -53,4 +53,4 @@ ram.runtime = "50M" main.url = "/" [resources.apt] - packages = "weasyprint, sqlite3, php8.2-sqlite3, php8.2-gd, php8.2-intl, php8.2-cli, php8.2-gnupg, php8.2-mbstring" + packages = "mupdf-tools, weasyprint, sqlite3, php8.2-sqlite3, php8.2-gd, php8.2-intl, php8.2-cli, php8.2-gnupg, php8.2-mbstring" From 83278938d830a11abc85aa1a335f0c7817be58d9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?E=CC=81ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Fri, 6 Oct 2023 22:56:49 +0200 Subject: [PATCH 26/71] Update manifest.toml --- manifest.toml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/manifest.toml b/manifest.toml index f3b6492..9f35384 100644 --- a/manifest.toml +++ b/manifest.toml @@ -51,6 +51,10 @@ ram.runtime = "50M" [resources.permissions] main.url = "/" + api.url = "/api" + api.allowed = "visitors" + api.show_tile = false + api.protected = true [resources.apt] - packages = "mupdf-tools, weasyprint, sqlite3, php8.2-sqlite3, php8.2-gd, php8.2-intl, php8.2-cli, php8.2-gnupg, php8.2-mbstring" + packages = "sqlite3, php8.2-sqlite3, php8.2-gd, php8.2-intl, php8.2-cli, php8.2-gnupg, php8.2-mbstring" From 2e1b6fb7578ae560648ea8b25c1b95d78dfd2394 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?E=CC=81ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Mon, 9 Oct 2023 09:00:38 +0200 Subject: [PATCH 27/71] Update upgrade --- scripts/upgrade | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/scripts/upgrade b/scripts/upgrade index 8580bdb..0c9acdf 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -42,7 +42,7 @@ if [ "$upgrade_type" == "UPGRADE_APP" ] then ynh_script_progression --message="Upgrading source files..." --weight=5 # Download, check integrity, uncompress and patch the source from app.src - ynh_setup_source --dest_dir="$install_dir" --full_replace=1 + ynh_setup_source --dest_dir="$install_dir" --keep="config.local.php" #--full_replace=1 fi chmod -R o-rwx "$install_dir" @@ -68,13 +68,13 @@ chmod 644 "/etc/cron.d/$app" #================================================= # UPDATE A CONFIG FILE #================================================= -ynh_script_progression --message="Updating a configuration file..." --weight=5 +#ynh_script_progression --message="Updating a configuration file..." --weight=5 # Install configuration files -ynh_add_config --template="../conf/config.local.php" --destination="$install_dir/config.local.php" +#ynh_add_config --template="../conf/config.local.php" --destination="$install_dir/config.local.php" -chmod 650 "$install_dir/config.local.php" -chown $app:$app "$install_dir/config.local.php" +#chmod 650 "$install_dir/config.local.php" +#chown $app:$app "$install_dir/config.local.php" #================================================= # END OF SCRIPT From 07a1fb5279184af6d17eabd80c5f866b2f4224a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?E=CC=81ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Mon, 9 Oct 2023 20:53:43 +0200 Subject: [PATCH 28/71] Update manifest.toml --- manifest.toml | 3 --- 1 file changed, 3 deletions(-) diff --git a/manifest.toml b/manifest.toml index 25176d1..9f35384 100644 --- a/manifest.toml +++ b/manifest.toml @@ -38,9 +38,6 @@ ram.runtime = "50M" type = "group" default = "visitors" - [install.admin] - type = "user" - [resources] [resources.sources.main] url = "https://fossil.kd2.org/paheko/uv/paheko-1.3.0.tar.gz" From 7cab77b43a8240db168c1735a6d2b1a416e99947 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?E=CC=81ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Mon, 9 Oct 2023 21:02:59 +0200 Subject: [PATCH 29/71] Update upgrade --- scripts/upgrade | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/scripts/upgrade b/scripts/upgrade index 0c9acdf..eb7444b 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -42,7 +42,7 @@ if [ "$upgrade_type" == "UPGRADE_APP" ] then ynh_script_progression --message="Upgrading source files..." --weight=5 # Download, check integrity, uncompress and patch the source from app.src - ynh_setup_source --dest_dir="$install_dir" --keep="config.local.php" #--full_replace=1 + ynh_setup_source --dest_dir="$install_dir" #--keep="config.local.php" fi chmod -R o-rwx "$install_dir" @@ -68,13 +68,17 @@ chmod 644 "/etc/cron.d/$app" #================================================= # UPDATE A CONFIG FILE #================================================= -#ynh_script_progression --message="Updating a configuration file..." --weight=5 +ynh_script_progression --message="Updating a configuration file..." --weight=5 + +# remove old configuration files +ynh_secure_remove --file="$install_dir/config.local.user.php" +ynh_secure_remove --file="$install_dir/config.local.yunohost.php" # Install configuration files -#ynh_add_config --template="../conf/config.local.php" --destination="$install_dir/config.local.php" +ynh_add_config --template="../conf/config.local.php" --destination="$install_dir/config.local.php" -#chmod 650 "$install_dir/config.local.php" -#chown $app:$app "$install_dir/config.local.php" +chmod 650 "$install_dir/config.local.php" +chown $app:$app "$install_dir/config.local.php" #================================================= # END OF SCRIPT From 056a74ea4c7b7df729ef44fa98abfdc38d164468 Mon Sep 17 00:00:00 2001 From: Robles Rodolphe Date: Mon, 9 Oct 2023 21:28:28 +0200 Subject: [PATCH 30/71] Update config.local.php place of the datas --- conf/config.local.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conf/config.local.php b/conf/config.local.php index 25e80d0..ee3ffb9 100644 --- a/conf/config.local.php +++ b/conf/config.local.php @@ -89,7 +89,7 @@ const ROOT = '__INSTALL_DIR__'; * Défaut : sous-répertoire "data" de la racine */ -const DATA_ROOT = '__DATA_DIR__'; +const DATA_ROOT = '__DATA_DIR__/data'; /** * Répertoire où est situé le cache, From f7713ee2304fba5f392a9de51d7f1568b7f4e474 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?E=CC=81ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Mon, 9 Oct 2023 21:34:58 +0200 Subject: [PATCH 31/71] Update upgrade --- scripts/upgrade | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/scripts/upgrade b/scripts/upgrade index eb7444b..73c534f 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -31,7 +31,10 @@ fi if [ -d "$install_dir/data" ]; then ynh_print_warn "Migrating data directory to $data_dir..." - mv "$install_dir/data" "$data_dir" + + # remove old configuration files + ynh_secure_remove --file="$install_dir/data/config.local.user.php" + mv "$install_dir/data" "$data_dir" fi #================================================= @@ -45,6 +48,8 @@ then ynh_setup_source --dest_dir="$install_dir" #--keep="config.local.php" fi +ynh_secure_remove --file="$install_dir/config.local.yunohost.php" + chmod -R o-rwx "$install_dir" chown -R $app:www-data "$install_dir" @@ -70,10 +75,6 @@ chmod 644 "/etc/cron.d/$app" #================================================= ynh_script_progression --message="Updating a configuration file..." --weight=5 -# remove old configuration files -ynh_secure_remove --file="$install_dir/config.local.user.php" -ynh_secure_remove --file="$install_dir/config.local.yunohost.php" - # Install configuration files ynh_add_config --template="../conf/config.local.php" --destination="$install_dir/config.local.php" From cb48ab7b0d63e5202156a825f041f4acbd91ba51 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?E=CC=81ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Mon, 9 Oct 2023 22:24:37 +0200 Subject: [PATCH 32/71] Update manifest.toml --- manifest.toml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/manifest.toml b/manifest.toml index 9f35384..23a2cd2 100644 --- a/manifest.toml +++ b/manifest.toml @@ -55,6 +55,10 @@ ram.runtime = "50M" api.allowed = "visitors" api.show_tile = false api.protected = true + admin.url = "/admin" + admin.auth_header = false + admin.allowed = ["admins"] + admin.show_tile = false [resources.apt] packages = "sqlite3, php8.2-sqlite3, php8.2-gd, php8.2-intl, php8.2-cli, php8.2-gnupg, php8.2-mbstring" From 2d403405da647c412e280dca5b49a1226f32918f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?E=CC=81ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Mon, 9 Oct 2023 22:58:02 +0200 Subject: [PATCH 33/71] Update upgrade --- scripts/upgrade | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/scripts/upgrade b/scripts/upgrade index 73c534f..fe23a1f 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -29,14 +29,6 @@ if [ -z "${secret_key:-}" ]; then ynh_app_setting_set --app=$app --key=secret_key --value=$secret_key fi -if [ -d "$install_dir/data" ]; then - ynh_print_warn "Migrating data directory to $data_dir..." - - # remove old configuration files - ynh_secure_remove --file="$install_dir/data/config.local.user.php" - mv "$install_dir/data" "$data_dir" -fi - #================================================= # DOWNLOAD, CHECK AND UNPACK SOURCE #================================================= @@ -44,12 +36,21 @@ fi if [ "$upgrade_type" == "UPGRADE_APP" ] then ynh_script_progression --message="Upgrading source files..." --weight=5 + + if [ -d "$install_dir/data" ]; then + ynh_print_warn "Migrating data directory to $data_dir..." + + # remove old configuration files + ynh_secure_remove --file="$install_dir/data/config.local.user.php" + mv "$install_dir/data" "$data_dir" + fi + + ynh_secure_remove --file="$install_dir/config.local.yunohost.php" + # Download, check integrity, uncompress and patch the source from app.src ynh_setup_source --dest_dir="$install_dir" #--keep="config.local.php" fi -ynh_secure_remove --file="$install_dir/config.local.yunohost.php" - chmod -R o-rwx "$install_dir" chown -R $app:www-data "$install_dir" From 35ad0d05f41aa2cebf8896294a7adbc7b931a792 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?E=CC=81ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Mon, 9 Oct 2023 22:59:17 +0200 Subject: [PATCH 34/71] Update upgrade --- scripts/upgrade | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/upgrade b/scripts/upgrade index fe23a1f..56f100f 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -37,7 +37,7 @@ if [ "$upgrade_type" == "UPGRADE_APP" ] then ynh_script_progression --message="Upgrading source files..." --weight=5 - if [ -d "$install_dir/data" ]; then + if [ ! -d "$data_dir/data" ]; then ynh_print_warn "Migrating data directory to $data_dir..." # remove old configuration files @@ -46,7 +46,7 @@ then fi ynh_secure_remove --file="$install_dir/config.local.yunohost.php" - + # Download, check integrity, uncompress and patch the source from app.src ynh_setup_source --dest_dir="$install_dir" #--keep="config.local.php" fi From 78419bbcfd2d44600997865e95c10d68e54e3a47 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?E=CC=81ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Mon, 9 Oct 2023 23:00:06 +0200 Subject: [PATCH 35/71] Update upgrade --- scripts/upgrade | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/upgrade b/scripts/upgrade index 56f100f..d2f483d 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -42,11 +42,11 @@ then # remove old configuration files ynh_secure_remove --file="$install_dir/data/config.local.user.php" + ynh_secure_remove --file="$install_dir/config.local.yunohost.php" + mv "$install_dir/data" "$data_dir" fi - ynh_secure_remove --file="$install_dir/config.local.yunohost.php" - # Download, check integrity, uncompress and patch the source from app.src ynh_setup_source --dest_dir="$install_dir" #--keep="config.local.php" fi From a7fa887f3c1f68318f3ddf428bdf775b13ede5fb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?E=CC=81ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Tue, 10 Oct 2023 10:27:14 +0200 Subject: [PATCH 36/71] Update manifest.toml --- manifest.toml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/manifest.toml b/manifest.toml index 23a2cd2..ee6e574 100644 --- a/manifest.toml +++ b/manifest.toml @@ -55,10 +55,10 @@ ram.runtime = "50M" api.allowed = "visitors" api.show_tile = false api.protected = true - admin.url = "/admin" - admin.auth_header = false - admin.allowed = ["admins"] - admin.show_tile = false + #admin.url = "/admin" + #admin.auth_header = false + #admin.allowed = ["admins"] + #admin.show_tile = false [resources.apt] packages = "sqlite3, php8.2-sqlite3, php8.2-gd, php8.2-intl, php8.2-cli, php8.2-gnupg, php8.2-mbstring" From 411f1e5ac96a8ac1d4e2ab63f9d2718bc75a40fe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?E=CC=81ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Tue, 10 Oct 2023 12:47:34 +0200 Subject: [PATCH 37/71] cleaning --- doc/ADMIN.md | 2 +- doc/ADMIN_fr.md | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/doc/ADMIN.md b/doc/ADMIN.md index 58773d8..2094e6a 100644 --- a/doc/ADMIN.md +++ b/doc/ADMIN.md @@ -1 +1 @@ -If you wish, you can add custom configurations inside `__INSTALL_DIR__/config.local.user.php`. To see the possibilities, you can read the `__INSTALL_DIR__/config.dist.php` file first. +If you wish, you can add custom configurations inside `__INSTALL_DIR__/config.local.php`. \ No newline at end of file diff --git a/doc/ADMIN_fr.md b/doc/ADMIN_fr.md index 457fcbe..adf99ef 100644 --- a/doc/ADMIN_fr.md +++ b/doc/ADMIN_fr.md @@ -1,2 +1 @@ -Vous pouvez si vous le souhaitez ajouter des configurations personnelles en éditant le fichier `__INSTALL_DIR__/config.local.user.php`. -Pour voir les possibilités vous pouvez lire auparavant le fichier `__INSTALL_DIR__/config.dist.php`. +Vous pouvez si vous le souhaitez ajouter des configurations personnelles en éditant le fichier `__INSTALL_DIR__/config.local.php`. From 43829221c08640ef24ac7ca8d4c9fa7a4dcb6c50 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?E=CC=81ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Tue, 10 Oct 2023 12:49:48 +0200 Subject: [PATCH 38/71] Update restore --- scripts/restore | 1 - 1 file changed, 1 deletion(-) diff --git a/scripts/restore b/scripts/restore index 640730b..c778d29 100644 --- a/scripts/restore +++ b/scripts/restore @@ -17,7 +17,6 @@ ynh_script_progression --message="Restoring the app main directory..." --weight= ynh_restore_file --origin_path="$install_dir" -# Restore permissions on app files chmod -R o-rwx "$install_dir" chown -R $app:www-data "$install_dir" From 2d536d5c84b9645da6bfeb75b6e02b133c70a0bc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?E=CC=81ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Tue, 10 Oct 2023 12:52:43 +0200 Subject: [PATCH 39/71] Update config.local.php --- conf/config.local.php | 1 - 1 file changed, 1 deletion(-) diff --git a/conf/config.local.php b/conf/config.local.php index ee3ffb9..932ac0b 100644 --- a/conf/config.local.php +++ b/conf/config.local.php @@ -280,7 +280,6 @@ const WWW_URI = '__PATH__/'; //const ENABLE_TECH_DETAILS = true; - /** /** * Mode de journalisation de SQLite From d28633fb97bca86574c5156c5f24451f5fb99db8 Mon Sep 17 00:00:00 2001 From: Robles Rodolphe Date: Tue, 10 Oct 2023 15:20:49 +0200 Subject: [PATCH 40/71] Update install move data folder on correct place --- scripts/install | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/scripts/install b/scripts/install index fd51e6c..a857994 100644 --- a/scripts/install +++ b/scripts/install @@ -51,6 +51,14 @@ ynh_add_config --template="../conf/config.local.php" --destination="$install_dir chmod 650 "$install_dir/config.local.php" chown $app:$app "$install_dir/config.local.php" +#================================================= +# ADD Data folder +#================================================= +ynh_script_progression --message="Adding a data folder..." --weight=5 + +# move data folder +mv $install_dir/data $data_dir/ + #================================================= # END OF SCRIPT #================================================= From f7bdd1c669d6dc03b51ba8040525d151b24d6e61 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?E=CC=81ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Tue, 10 Oct 2023 17:11:50 +0200 Subject: [PATCH 41/71] Update config.local.php --- conf/config.local.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conf/config.local.php b/conf/config.local.php index 932ac0b..8242810 100644 --- a/conf/config.local.php +++ b/conf/config.local.php @@ -145,7 +145,7 @@ const DATA_ROOT = '__DATA_DIR__/data'; * Défaut : DATA_ROOT . '/plugins' */ -//const PLUGINS_ROOT = DATA_ROOT . '/plugins'; +const PLUGINS_ROOT = '__INSTALL_DIR__/data/plugins'; /** * Signaux système From 6f338c4e39967e72929c93bd902cce9378f3b567 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?E=CC=81ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Tue, 10 Oct 2023 17:12:42 +0200 Subject: [PATCH 42/71] add mail --- manifest.toml | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/manifest.toml b/manifest.toml index ee6e574..68133c3 100644 --- a/manifest.toml +++ b/manifest.toml @@ -44,6 +44,7 @@ ram.runtime = "50M" sha256 = "2b5552db642a05edabb21a7187027c3cf3b2e0ec3cfb5921106de99a9453755c" [resources.system_user] + allow_email [resources.install_dir] @@ -55,10 +56,6 @@ ram.runtime = "50M" api.allowed = "visitors" api.show_tile = false api.protected = true - #admin.url = "/admin" - #admin.auth_header = false - #admin.allowed = ["admins"] - #admin.show_tile = false [resources.apt] packages = "sqlite3, php8.2-sqlite3, php8.2-gd, php8.2-intl, php8.2-cli, php8.2-gnupg, php8.2-mbstring" From 9c7bf743fa1b57d67cc939191ee2cf3198c190c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?E=CC=81ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Tue, 10 Oct 2023 17:13:30 +0200 Subject: [PATCH 43/71] Update upgrade --- scripts/upgrade | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/upgrade b/scripts/upgrade index d2f483d..07f4d5c 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -48,7 +48,7 @@ then fi # Download, check integrity, uncompress and patch the source from app.src - ynh_setup_source --dest_dir="$install_dir" #--keep="config.local.php" + ynh_setup_source --dest_dir="$install_dir" --keep="config.local.php" fi chmod -R o-rwx "$install_dir" From ec068061ec4bbd7ffa3487cfdbbe2edda452f6aa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?E=CC=81ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Tue, 10 Oct 2023 17:13:48 +0200 Subject: [PATCH 44/71] Update install --- scripts/install | 8 -------- 1 file changed, 8 deletions(-) diff --git a/scripts/install b/scripts/install index a857994..fd51e6c 100644 --- a/scripts/install +++ b/scripts/install @@ -51,14 +51,6 @@ ynh_add_config --template="../conf/config.local.php" --destination="$install_dir chmod 650 "$install_dir/config.local.php" chown $app:$app "$install_dir/config.local.php" -#================================================= -# ADD Data folder -#================================================= -ynh_script_progression --message="Adding a data folder..." --weight=5 - -# move data folder -mv $install_dir/data $data_dir/ - #================================================= # END OF SCRIPT #================================================= From 78d240d74eb38eb5ef62d27d6d78fa901cbe7e65 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?E=CC=81ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Tue, 10 Oct 2023 17:18:42 +0200 Subject: [PATCH 45/71] Update upgrade --- scripts/upgrade | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/upgrade b/scripts/upgrade index 07f4d5c..64b0fcc 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -48,7 +48,7 @@ then fi # Download, check integrity, uncompress and patch the source from app.src - ynh_setup_source --dest_dir="$install_dir" --keep="config.local.php" + ynh_setup_source --dest_dir="$install_dir" --keep="config.local.php data/plugins" fi chmod -R o-rwx "$install_dir" From 5f677cb67b1593a189d54400fe8f8e0b430bb4c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?E=CC=81ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Tue, 10 Oct 2023 17:59:34 +0200 Subject: [PATCH 46/71] Update config.local.php --- conf/config.local.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/conf/config.local.php b/conf/config.local.php index 8242810..c213a95 100644 --- a/conf/config.local.php +++ b/conf/config.local.php @@ -411,7 +411,7 @@ const USE_CRON = true; * Défaut : false */ -//const SMTP_HOST = false; +//const SMTP_HOST = true; /** * Port du serveur SMTP @@ -432,7 +432,7 @@ const USE_CRON = true; * Défaut : null */ -//const SMTP_USER = 'paheko@monserveur.com'; +//const SMTP_USER = 'paheko@__DOMAIN__'; /** * Mot de passe pour le serveur SMTP @@ -442,7 +442,7 @@ const USE_CRON = true; * Défaut : null */ -//const SMTP_PASSWORD = 'abcd'; +//const SMTP_PASSWORD = '__MAIL_PWD__'; /** * Sécurité du serveur SMTP From f8e8f38481aa2bef3432c8b487004956bef0d2cf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?E=CC=81ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Tue, 10 Oct 2023 17:59:46 +0200 Subject: [PATCH 47/71] Update manifest.toml --- manifest.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifest.toml b/manifest.toml index 68133c3..9ac1b7a 100644 --- a/manifest.toml +++ b/manifest.toml @@ -44,7 +44,7 @@ ram.runtime = "50M" sha256 = "2b5552db642a05edabb21a7187027c3cf3b2e0ec3cfb5921106de99a9453755c" [resources.system_user] - allow_email + allow_email = true [resources.install_dir] From 29b0a4e3b2836ff11d19307861bd3bad2d3458a5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?E=CC=81ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Thu, 12 Oct 2023 11:44:25 +0200 Subject: [PATCH 48/71] Update config.local.php --- conf/config.local.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/conf/config.local.php b/conf/config.local.php index c213a95..d6fd1b5 100644 --- a/conf/config.local.php +++ b/conf/config.local.php @@ -432,7 +432,7 @@ const USE_CRON = true; * Défaut : null */ -//const SMTP_USER = 'paheko@__DOMAIN__'; +//const SMTP_USER = '__APP__@__DOMAIN__'; /** * Mot de passe pour le serveur SMTP @@ -484,7 +484,7 @@ const USE_CRON = true; * Défaut : null */ -//const MAIL_RETURN_PATH = 'returns@monserveur.com'; +//const MAIL_RETURN_PATH = 'returns@__DOMAIN__'; /** @@ -502,7 +502,7 @@ const USE_CRON = true; * Défaut : null */ -//const MAIL_SENDER = 'associations@monserveur.com'; +//const MAIL_SENDER = 'associations@__DOMAINE__'; /** * Mot de passe pour l'accès à l'API permettant de gérer les mails d'erreur From d7fe797735fab0ea91e9752fdc907fd0999df198 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?E=CC=81ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Thu, 12 Oct 2023 12:23:34 +0200 Subject: [PATCH 49/71] Update config.local.php --- conf/config.local.php | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/conf/config.local.php b/conf/config.local.php index d6fd1b5..cfb8818 100644 --- a/conf/config.local.php +++ b/conf/config.local.php @@ -411,7 +411,7 @@ const USE_CRON = true; * Défaut : false */ -//const SMTP_HOST = true; +const SMTP_HOST = true; /** * Port du serveur SMTP @@ -422,7 +422,7 @@ const USE_CRON = true; * Défaut : 587 */ -//const SMTP_PORT = 587; +const SMTP_PORT = 25; /** * Login utilisateur pour le server SMTP @@ -432,7 +432,7 @@ const USE_CRON = true; * Défaut : null */ -//const SMTP_USER = '__APP__@__DOMAIN__'; +const SMTP_USER = '__APP__'; /** * Mot de passe pour le serveur SMTP @@ -442,7 +442,7 @@ const USE_CRON = true; * Défaut : null */ -//const SMTP_PASSWORD = '__MAIL_PWD__'; +const SMTP_PASSWORD = '__MAIL_PWD__'; /** * Sécurité du serveur SMTP @@ -455,7 +455,7 @@ const USE_CRON = true; * Défaut : STARTTLS */ -//const SMTP_SECURITY = 'STARTTLS'; +const SMTP_SECURITY = 'NONE'; /** * Nom du serveur utilisé dans le HELO SMTP @@ -484,7 +484,7 @@ const USE_CRON = true; * Défaut : null */ -//const MAIL_RETURN_PATH = 'returns@__DOMAIN__'; +const MAIL_RETURN_PATH = 'returns@__DOMAIN__'; /** @@ -502,7 +502,7 @@ const USE_CRON = true; * Défaut : null */ -//const MAIL_SENDER = 'associations@__DOMAINE__'; +const MAIL_SENDER = 'associations@__DOMAINE__'; /** * Mot de passe pour l'accès à l'API permettant de gérer les mails d'erreur From a1fcd1cfcea81b2692d1758b29fa9d161979bc55 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?E=CC=81ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Thu, 12 Oct 2023 12:32:55 +0200 Subject: [PATCH 50/71] Update config.local.php --- conf/config.local.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conf/config.local.php b/conf/config.local.php index cfb8818..9c655a8 100644 --- a/conf/config.local.php +++ b/conf/config.local.php @@ -502,7 +502,7 @@ const MAIL_RETURN_PATH = 'returns@__DOMAIN__'; * Défaut : null */ -const MAIL_SENDER = 'associations@__DOMAINE__'; +const MAIL_SENDER = 'associations@__DOMAIN__'; /** * Mot de passe pour l'accès à l'API permettant de gérer les mails d'erreur From 021e68d3903ba8031b9da637dd03c3d77447fdd5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?E=CC=81ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Thu, 12 Oct 2023 14:20:23 +0200 Subject: [PATCH 51/71] Update config.local.php --- conf/config.local.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conf/config.local.php b/conf/config.local.php index 9c655a8..8c7d486 100644 --- a/conf/config.local.php +++ b/conf/config.local.php @@ -468,7 +468,7 @@ const SMTP_SECURITY = 'NONE'; * @var null|string */ -//const SMTP_HELO_HOSTNAME = 'mail.domain.tld'; +const SMTP_HELO_HOSTNAME = '__DOMAIN__'; /** * Adresse e-mail destinée à recevoir les erreurs de mail From 6ae01ab4d51fe982a9a235473cf178ab8229383f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?E=CC=81ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Sat, 14 Oct 2023 23:10:12 +0200 Subject: [PATCH 52/71] cleaning --- conf/config.local.php | 2 +- conf/extra_php-fpm.conf | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/conf/config.local.php b/conf/config.local.php index 8c7d486..ea98fdd 100644 --- a/conf/config.local.php +++ b/conf/config.local.php @@ -634,7 +634,7 @@ const MAIL_SENDER = 'associations@__DOMAIN__'; * Défaut : null (dans ce cas c'est le stockage qui détermine la taille disponible, donc généralement l'espace dispo sur le disque dur !) */ -//const FILE_STORAGE_QUOTA = 10*1024*1024; // Forcer le quota alloué à 10 Mo, quel que soit le backend de stockage +const FILE_STORAGE_QUOTA = 10*1024*1024; // Forcer le quota alloué à 10 Mo, quel que soit le backend de stockage /** * FILE_VERSIONING_POLICY diff --git a/conf/extra_php-fpm.conf b/conf/extra_php-fpm.conf index 700c37c..c27cac6 100644 --- a/conf/extra_php-fpm.conf +++ b/conf/extra_php-fpm.conf @@ -1,4 +1,4 @@ ; Additional php.ini defines, specific to this pool of workers. -php_admin_value[upload_max_filesize] = 50M -php_admin_value[post_max_size] = 50M +php_admin_value[upload_max_filesize] = 2M +php_admin_value[post_max_size] = 2M From 8830824572a2381a2929e30850fe662014679d82 Mon Sep 17 00:00:00 2001 From: Robles Rodolphe Date: Mon, 16 Oct 2023 23:46:59 +0200 Subject: [PATCH 53/71] Update LICENSE correct GNU AFFERO license --- LICENSE | 141 +++++++++++++++++++++++++------------------------------- 1 file changed, 64 insertions(+), 77 deletions(-) diff --git a/LICENSE b/LICENSE index f288702..be3f7b2 100644 --- a/LICENSE +++ b/LICENSE @@ -1,5 +1,5 @@ - GNU GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 + GNU AFFERO GENERAL PUBLIC LICENSE + Version 3, 19 November 2007 Copyright (C) 2007 Free Software Foundation, Inc. Everyone is permitted to copy and distribute verbatim copies @@ -7,17 +7,15 @@ Preamble - The GNU General Public License is a free, copyleft license for -software and other kinds of works. + The GNU Affero General Public License is a free, copyleft license for +software and other kinds of works, specifically designed to ensure +cooperation with the community in the case of network server software. The licenses for most software and other practical works are designed to take away your freedom to share and change the works. By contrast, -the GNU General Public License is intended to guarantee your freedom to +our General Public Licenses are intended to guarantee your freedom to share and change all versions of a program--to make sure it remains free -software for all its users. We, the Free Software Foundation, use the -GNU General Public License for most of our software; it applies also to -any other work released this way by its authors. You can apply it to -your programs, too. +software for all its users. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you @@ -26,44 +24,34 @@ them if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs, and that you know you can do these things. - To protect your rights, we need to prevent others from denying you -these rights or asking you to surrender the rights. Therefore, you have -certain responsibilities if you distribute copies of the software, or if -you modify it: responsibilities to respect the freedom of others. + Developers that use our General Public Licenses protect your rights +with two steps: (1) assert copyright on the software, and (2) offer +you this License which gives you legal permission to copy, distribute +and/or modify the software. - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must pass on to the recipients the same -freedoms that you received. You must make sure that they, too, receive -or can get the source code. And you must show them these terms so they -know their rights. + A secondary benefit of defending all users' freedom is that +improvements made in alternate versions of the program, if they +receive widespread use, become available for other developers to +incorporate. Many developers of free software are heartened and +encouraged by the resulting cooperation. However, in the case of +software used on network servers, this result may fail to come about. +The GNU General Public License permits making a modified version and +letting the public access it on a server without ever releasing its +source code to the public. - Developers that use the GNU GPL protect your rights with two steps: -(1) assert copyright on the software, and (2) offer you this License -giving you legal permission to copy, distribute and/or modify it. + The GNU Affero General Public License is designed specifically to +ensure that, in such cases, the modified source code becomes available +to the community. It requires the operator of a network server to +provide the source code of the modified version running there to the +users of that server. Therefore, public use of a modified version, on +a publicly accessible server, gives the public access to the source +code of the modified version. - For the developers' and authors' protection, the GPL clearly explains -that there is no warranty for this free software. For both users' and -authors' sake, the GPL requires that modified versions be marked as -changed, so that their problems will not be attributed erroneously to -authors of previous versions. - - Some devices are designed to deny users access to install or run -modified versions of the software inside them, although the manufacturer -can do so. This is fundamentally incompatible with the aim of -protecting users' freedom to change the software. The systematic -pattern of such abuse occurs in the area of products for individuals to -use, which is precisely where it is most unacceptable. Therefore, we -have designed this version of the GPL to prohibit the practice for those -products. If such problems arise substantially in other domains, we -stand ready to extend this provision to those domains in future versions -of the GPL, as needed to protect the freedom of users. - - Finally, every program is threatened constantly by software patents. -States should not allow patents to restrict development and use of -software on general-purpose computers, but in those that do, we wish to -avoid the special danger that patents applied to a free program could -make it effectively proprietary. To prevent this, the GPL assures that -patents cannot be used to render the program non-free. + An older license, called the Affero General Public License and +published by Affero, was designed to accomplish similar goals. This is +a different license, not a version of the Affero GPL, but Affero has +released a new version of the Affero GPL which permits relicensing under +this license. The precise terms and conditions for copying, distribution and modification follow. @@ -72,7 +60,7 @@ modification follow. 0. Definitions. - "This License" refers to version 3 of the GNU General Public License. + "This License" refers to version 3 of the GNU Affero General Public License. "Copyright" also means copyright-like laws that apply to other kinds of works, such as semiconductor masks. @@ -549,35 +537,45 @@ to collect a royalty for further conveying from those to whom you convey the Program, the only way you could satisfy both those terms and this License would be to refrain entirely from conveying the Program. - 13. Use with the GNU Affero General Public License. + 13. Remote Network Interaction; Use with the GNU General Public License. + + Notwithstanding any other provision of this License, if you modify the +Program, your modified version must prominently offer all users +interacting with it remotely through a computer network (if your version +supports such interaction) an opportunity to receive the Corresponding +Source of your version by providing access to the Corresponding Source +from a network server at no charge, through some standard or customary +means of facilitating copying of software. This Corresponding Source +shall include the Corresponding Source for any work covered by version 3 +of the GNU General Public License that is incorporated pursuant to the +following paragraph. Notwithstanding any other provision of this License, you have permission to link or combine any covered work with a work licensed -under version 3 of the GNU Affero General Public License into a single +under version 3 of the GNU General Public License into a single combined work, and to convey the resulting work. The terms of this License will continue to apply to the part which is the covered work, -but the special requirements of the GNU Affero General Public License, -section 13, concerning interaction through a network will apply to the -combination as such. +but the work with which it is combined will remain governed by version +3 of the GNU General Public License. 14. Revised Versions of this License. The Free Software Foundation may publish revised and/or new versions of -the GNU General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to +the GNU Affero General Public License from time to time. Such new versions +will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the -Program specifies that a certain numbered version of the GNU General +Program specifies that a certain numbered version of the GNU Affero General Public License "or any later version" applies to it, you have the option of following the terms and conditions either of that numbered version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of the -GNU General Public License, you may choose any version ever published +GNU Affero General Public License, you may choose any version ever published by the Free Software Foundation. If the Program specifies that a proxy can decide which future -versions of the GNU General Public License can be used, that proxy's +versions of the GNU Affero General Public License can be used, that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Program. @@ -635,40 +633,29 @@ the "copyright" line and a pointer to where the full notice is found. Copyright (C) This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by + it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. + GNU Affero General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Affero General Public License along with this program. If not, see . Also add information on how to contact you by electronic and paper mail. - If the program does terminal interaction, make it output a short -notice like this when it starts in an interactive mode: - - Copyright (C) - This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, your program's commands -might be different; for a GUI interface, you would use an "about box". + If your software can interact with users remotely through a computer +network, you should also make sure that it provides a way for users to +get its source. For example, if your program is a web application, its +interface could display a "Source" link that leads users to an archive +of the code. There are many ways you could offer source, and different +solutions will be better for different programs; see section 13 for the +specific requirements. You should also get your employer (if you work as a programmer) or school, if any, to sign a "copyright disclaimer" for the program, if necessary. -For more information on this, and how to apply and follow the GNU GPL, see +For more information on this, and how to apply and follow the GNU AGPL, see . - - The GNU General Public License does not permit incorporating your program -into proprietary programs. If your program is a subroutine library, you -may consider it more useful to permit linking proprietary applications with -the library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. But first, please read -. From 26d7111b68f9122e0db175c79cc1234c3a247629 Mon Sep 17 00:00:00 2001 From: Robles Rodolphe Date: Thu, 26 Oct 2023 23:01:45 +0200 Subject: [PATCH 54/71] Update manifest.toml release 1.3.1 --- manifest.toml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/manifest.toml b/manifest.toml index 9ac1b7a..6635777 100644 --- a/manifest.toml +++ b/manifest.toml @@ -5,7 +5,7 @@ name = "Paheko" description.en = "Software to manage association" description.fr = "Logiciel libre de gestion d'association" -version = "1.3.0~ynh1" +version = "1.3.1~ynh1" maintainers = ["rodinux"] @@ -40,8 +40,8 @@ ram.runtime = "50M" [resources] [resources.sources.main] - url = "https://fossil.kd2.org/paheko/uv/paheko-1.3.0.tar.gz" - sha256 = "2b5552db642a05edabb21a7187027c3cf3b2e0ec3cfb5921106de99a9453755c" + url = "https://fossil.kd2.org/paheko/uv/paheko-1.3.1.tar.gz" + sha256 = "0b82c47a084282db2b3df5737bc4834690ba5dc9d06e07512439487753b45ebb" [resources.system_user] allow_email = true From 7c2a9f20df420a0e2cc4a4828bf8c027762f0568 Mon Sep 17 00:00:00 2001 From: yunohost-bot Date: Thu, 26 Oct 2023 21:01:48 +0000 Subject: [PATCH 55/71] Auto-update README --- README.md | 3 ++- README_fr.md | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 1986546..e15b02d 100644 --- a/README.md +++ b/README.md @@ -19,7 +19,7 @@ If you don't have YunoHost, please consult [the guide](https://yunohost.org/#/in Paheko (a word from the Māori language meaning "to cooperate", illustrating the purpose of the software: to improve together the daily management of an association) is software for associative management. It is the tool of choice for managing an association, a sports club, an NGO, etc. It is designed to meet the needs of a small to medium-sized structure: management of members, accounting, website, note-taking in meetings, archiving and sharing of the association's operating documents, discussion between members. -**Shipped version:** 1.3.0~ynh1 +**Shipped version:** 1.3.1~ynh1 **Demo:** https://paheko.cloud/essai/ @@ -32,6 +32,7 @@ Paheko (a word from the Māori language meaning "to cooperate", illustrating the * Official app website: * Official admin documentation: * Upstream app code repository: +* YunoHost Store: * Report a bug: ## Developer info diff --git a/README_fr.md b/README_fr.md index 83acdf2..0c00e06 100644 --- a/README_fr.md +++ b/README_fr.md @@ -19,7 +19,7 @@ Si vous n’avez pas YunoHost, regardez [ici](https://yunohost.org/#/install) po Paheko (mot de la langue Māori qui signifie « coopérer », illustrant le but du logiciel : améliorer ensemble le quotidien de la gestion d'une association) est un logiciel de gestion associative. Il est l'outil de prédilection pour gérer une association, un club sportif, une ONG, etc. Il est conçu pour répondre aux besoins d'une structure de petite à moyenne taille : gestion des adhérents, comptabilité, site web, prise de notes en réunion, archivage et partage des documents de fonctionnement de l'association, discussion entre adhérents. -**Version incluse :** 1.3.0~ynh1 +**Version incluse :** 1.3.1~ynh1 **Démo :** https://paheko.cloud/essai/ @@ -32,6 +32,7 @@ Paheko (mot de la langue Māori qui signifie « coopérer », illustrant le but * Site officiel de l’app : * Documentation officielle de l’admin : * Dépôt de code officiel de l’app : +* YunoHost Store: * Signaler un bug : ## Informations pour les développeurs From a36e424502971802910e8ec0ffa2a0ad685ed1ba Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Sun, 29 Oct 2023 08:23:47 +0100 Subject: [PATCH 56/71] cleaning --- conf/config.local.php | 2 +- conf/extra_php-fpm.conf | 4 ++-- conf/nginx.conf | 2 +- manifest.toml | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/conf/config.local.php b/conf/config.local.php index ea98fdd..7f03d15 100644 --- a/conf/config.local.php +++ b/conf/config.local.php @@ -797,7 +797,7 @@ const FILE_STORAGE_QUOTA = 10*1024*1024; // Forcer le quota alloué à 10 Mo, qu * * Défaut : null (= fonctionnalité désactivée) */ -//const PDFTOTEXT_COMMAND = 'pdftotext'; +const PDFTOTEXT_COMMAND = 'mupdf'; /** * API_USER et API_PASSWORD diff --git a/conf/extra_php-fpm.conf b/conf/extra_php-fpm.conf index c27cac6..700c37c 100644 --- a/conf/extra_php-fpm.conf +++ b/conf/extra_php-fpm.conf @@ -1,4 +1,4 @@ ; Additional php.ini defines, specific to this pool of workers. -php_admin_value[upload_max_filesize] = 2M -php_admin_value[post_max_size] = 2M +php_admin_value[upload_max_filesize] = 50M +php_admin_value[post_max_size] = 50M diff --git a/conf/nginx.conf b/conf/nginx.conf index 9ca9db2..34c5fb3 100644 --- a/conf/nginx.conf +++ b/conf/nginx.conf @@ -7,7 +7,7 @@ location __PATH__/ { index index.php /_route.php; # Increase size limit - client_max_body_size 2M; + client_max_body_size 50M; try_files $uri $uri/ __PATH__/__PATH__/_route.php?$query_string; location ~ \.php$ { diff --git a/manifest.toml b/manifest.toml index 6635777..32af3ec 100644 --- a/manifest.toml +++ b/manifest.toml @@ -58,4 +58,4 @@ ram.runtime = "50M" api.protected = true [resources.apt] - packages = "sqlite3, php8.2-sqlite3, php8.2-gd, php8.2-intl, php8.2-cli, php8.2-gnupg, php8.2-mbstring" + packages = "wkhtmlopdf, mupdf-tools, sqlite3, php8.2-sqlite3, php8.2-gd, php8.2-intl, php8.2-cli, php8.2-gnupg, php8.2-mbstring, php8.2-zip" From f183be04824586e5d06311b530e97e146708ed61 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Sun, 29 Oct 2023 08:26:05 +0100 Subject: [PATCH 57/71] Update config.local.php --- conf/config.local.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conf/config.local.php b/conf/config.local.php index 7f03d15..8d4a609 100644 --- a/conf/config.local.php +++ b/conf/config.local.php @@ -468,7 +468,7 @@ const SMTP_SECURITY = 'NONE'; * @var null|string */ -const SMTP_HELO_HOSTNAME = '__DOMAIN__'; +const SMTP_HELO_HOSTNAME = 'localhost'; /** * Adresse e-mail destinée à recevoir les erreurs de mail From 908eea9c2f31721fe26d453c37fb904369f116a8 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Sun, 29 Oct 2023 08:36:59 +0100 Subject: [PATCH 58/71] cleaning --- doc/PRE_INSTALL.md | 1 - doc/PRE_INSTALL_fr.md | 1 - manifest.toml | 4 ++-- scripts/change_url | 2 +- scripts/install | 4 ++-- scripts/upgrade | 4 ++-- 6 files changed, 7 insertions(+), 9 deletions(-) delete mode 100644 doc/PRE_INSTALL.md delete mode 100644 doc/PRE_INSTALL_fr.md diff --git a/doc/PRE_INSTALL.md b/doc/PRE_INSTALL.md deleted file mode 100644 index 4ce1f05..0000000 --- a/doc/PRE_INSTALL.md +++ /dev/null @@ -1 +0,0 @@ -The SSO is not implemented for this app and YunoHost is not sure for hundred of users... diff --git a/doc/PRE_INSTALL_fr.md b/doc/PRE_INSTALL_fr.md deleted file mode 100644 index cc33de3..0000000 --- a/doc/PRE_INSTALL_fr.md +++ /dev/null @@ -1 +0,0 @@ -Le SSO n'est pas implémenté pour cette application et YunoHost n'est pas sûr pour une centaine d'utilisateurs... diff --git a/manifest.toml b/manifest.toml index 32af3ec..fa8b57e 100644 --- a/manifest.toml +++ b/manifest.toml @@ -2,8 +2,8 @@ packaging_format = 2 id = "paheko" name = "Paheko" -description.en = "Software to manage association" -description.fr = "Logiciel libre de gestion d'association" +description.en = "Association management software" +description.fr = "Logiciel de gestion d'association" version = "1.3.1~ynh1" diff --git a/scripts/change_url b/scripts/change_url index 414cc1c..4b41c0d 100644 --- a/scripts/change_url +++ b/scripts/change_url @@ -25,7 +25,7 @@ ynh_change_url_nginx_config #================================================= ynh_script_progression --message="Updating a configuration file..." --weight=1 -ynh_add_config --template="../conf/config.local.php" --destination="$install_dir/config.local.php" +ynh_add_config --template="config.local.php" --destination="$install_dir/config.local.php" chmod 650 "$install_dir/config.local.php" chown $app:$app "$install_dir/config.local.php" diff --git a/scripts/install b/scripts/install index fd51e6c..34521fc 100644 --- a/scripts/install +++ b/scripts/install @@ -34,7 +34,7 @@ ynh_add_fpm_config # Create a dedicated NGINX config ynh_add_nginx_config -ynh_add_config --template="../conf/cron" --destination="/etc/cron.d/$app" +ynh_add_config --template="cron" --destination="/etc/cron.d/$app" chown root: "/etc/cron.d/$app" chmod 644 "/etc/cron.d/$app" @@ -46,7 +46,7 @@ chmod 644 "/etc/cron.d/$app" ynh_script_progression --message="Adding a configuration file..." --weight=5 # Install configuration files -ynh_add_config --template="../conf/config.local.php" --destination="$install_dir/config.local.php" +ynh_add_config --template="config.local.php" --destination="$install_dir/config.local.php" chmod 650 "$install_dir/config.local.php" chown $app:$app "$install_dir/config.local.php" diff --git a/scripts/upgrade b/scripts/upgrade index 64b0fcc..cad61ab 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -65,7 +65,7 @@ ynh_add_fpm_config # Create a dedicated NGINX config ynh_add_nginx_config -ynh_add_config --template="../conf/cron" --destination="/etc/cron.d/$app" +ynh_add_config --template="cron" --destination="/etc/cron.d/$app" chown root: "/etc/cron.d/$app" chmod 644 "/etc/cron.d/$app" @@ -77,7 +77,7 @@ chmod 644 "/etc/cron.d/$app" ynh_script_progression --message="Updating a configuration file..." --weight=5 # Install configuration files -ynh_add_config --template="../conf/config.local.php" --destination="$install_dir/config.local.php" +ynh_add_config --template="config.local.php" --destination="$install_dir/config.local.php" chmod 650 "$install_dir/config.local.php" chown $app:$app "$install_dir/config.local.php" From d5cf6794d660a81b5efa125c51e79d0691ef2263 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?E=CC=81ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Mon, 13 Nov 2023 09:14:32 +0100 Subject: [PATCH 59/71] Update manifest.toml --- manifest.toml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/manifest.toml b/manifest.toml index fa8b57e..7238294 100644 --- a/manifest.toml +++ b/manifest.toml @@ -5,7 +5,7 @@ name = "Paheko" description.en = "Association management software" description.fr = "Logiciel de gestion d'association" -version = "1.3.1~ynh1" +version = "1.3.2~ynh1" maintainers = ["rodinux"] @@ -40,8 +40,8 @@ ram.runtime = "50M" [resources] [resources.sources.main] - url = "https://fossil.kd2.org/paheko/uv/paheko-1.3.1.tar.gz" - sha256 = "0b82c47a084282db2b3df5737bc4834690ba5dc9d06e07512439487753b45ebb" + url = "https://fossil.kd2.org/paheko/uv/paheko-1.3.2.tar.gz" + sha256 = "a47f81a9607dc9b20ab12ccfbd3e3ae64a46352fafe658bc2137327687588833" [resources.system_user] allow_email = true From 7124e30a0f6624b5949697d1e4965650157fbf9f Mon Sep 17 00:00:00 2001 From: yunohost-bot Date: Mon, 13 Nov 2023 08:14:36 +0000 Subject: [PATCH 60/71] Auto-update README --- README.md | 2 +- README_fr.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index e15b02d..17f278a 100644 --- a/README.md +++ b/README.md @@ -19,7 +19,7 @@ If you don't have YunoHost, please consult [the guide](https://yunohost.org/#/in Paheko (a word from the Māori language meaning "to cooperate", illustrating the purpose of the software: to improve together the daily management of an association) is software for associative management. It is the tool of choice for managing an association, a sports club, an NGO, etc. It is designed to meet the needs of a small to medium-sized structure: management of members, accounting, website, note-taking in meetings, archiving and sharing of the association's operating documents, discussion between members. -**Shipped version:** 1.3.1~ynh1 +**Shipped version:** 1.3.2~ynh1 **Demo:** https://paheko.cloud/essai/ diff --git a/README_fr.md b/README_fr.md index 0c00e06..7ddda3b 100644 --- a/README_fr.md +++ b/README_fr.md @@ -19,7 +19,7 @@ Si vous n’avez pas YunoHost, regardez [ici](https://yunohost.org/#/install) po Paheko (mot de la langue Māori qui signifie « coopérer », illustrant le but du logiciel : améliorer ensemble le quotidien de la gestion d'une association) est un logiciel de gestion associative. Il est l'outil de prédilection pour gérer une association, un club sportif, une ONG, etc. Il est conçu pour répondre aux besoins d'une structure de petite à moyenne taille : gestion des adhérents, comptabilité, site web, prise de notes en réunion, archivage et partage des documents de fonctionnement de l'association, discussion entre adhérents. -**Version incluse :** 1.3.1~ynh1 +**Version incluse :** 1.3.2~ynh1 **Démo :** https://paheko.cloud/essai/ From 18c59812150ccecb91ec8fe900b6b7e743ed0680 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?E=CC=81ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Mon, 13 Nov 2023 13:54:32 +0100 Subject: [PATCH 61/71] remove smtp mail settings --- conf/config.local.php | 16 ++++++++-------- manifest.toml | 1 - 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/conf/config.local.php b/conf/config.local.php index 8d4a609..47bae58 100644 --- a/conf/config.local.php +++ b/conf/config.local.php @@ -411,7 +411,7 @@ const USE_CRON = true; * Défaut : false */ -const SMTP_HOST = true; +//const SMTP_HOST = true; /** * Port du serveur SMTP @@ -422,7 +422,7 @@ const SMTP_HOST = true; * Défaut : 587 */ -const SMTP_PORT = 25; +//const SMTP_PORT = 25; /** * Login utilisateur pour le server SMTP @@ -432,7 +432,7 @@ const SMTP_PORT = 25; * Défaut : null */ -const SMTP_USER = '__APP__'; +//const SMTP_USER = ''; /** * Mot de passe pour le serveur SMTP @@ -442,7 +442,7 @@ const SMTP_USER = '__APP__'; * Défaut : null */ -const SMTP_PASSWORD = '__MAIL_PWD__'; +//const SMTP_PASSWORD = ''; /** * Sécurité du serveur SMTP @@ -455,7 +455,7 @@ const SMTP_PASSWORD = '__MAIL_PWD__'; * Défaut : STARTTLS */ -const SMTP_SECURITY = 'NONE'; +//const SMTP_SECURITY = 'NONE'; /** * Nom du serveur utilisé dans le HELO SMTP @@ -468,7 +468,7 @@ const SMTP_SECURITY = 'NONE'; * @var null|string */ -const SMTP_HELO_HOSTNAME = 'localhost'; +//const SMTP_HELO_HOSTNAME = 'localhost'; /** * Adresse e-mail destinée à recevoir les erreurs de mail @@ -484,7 +484,7 @@ const SMTP_HELO_HOSTNAME = 'localhost'; * Défaut : null */ -const MAIL_RETURN_PATH = 'returns@__DOMAIN__'; +//const MAIL_RETURN_PATH = 'returns@__DOMAIN__'; /** @@ -502,7 +502,7 @@ const MAIL_RETURN_PATH = 'returns@__DOMAIN__'; * Défaut : null */ -const MAIL_SENDER = 'associations@__DOMAIN__'; +//const MAIL_SENDER = 'associations@__DOMAIN__'; /** * Mot de passe pour l'accès à l'API permettant de gérer les mails d'erreur diff --git a/manifest.toml b/manifest.toml index 7238294..2cad600 100644 --- a/manifest.toml +++ b/manifest.toml @@ -44,7 +44,6 @@ ram.runtime = "50M" sha256 = "a47f81a9607dc9b20ab12ccfbd3e3ae64a46352fafe658bc2137327687588833" [resources.system_user] - allow_email = true [resources.install_dir] From 333c6350de899a0866fc7cebd172f7959c748327 Mon Sep 17 00:00:00 2001 From: yunohost-bot Date: Mon, 13 Nov 2023 12:57:02 +0000 Subject: [PATCH 62/71] Auto-update README --- README_fr.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README_fr.md b/README_fr.md index 96fb3b2..7ddda3b 100644 --- a/README_fr.md +++ b/README_fr.md @@ -21,7 +21,6 @@ Paheko (mot de la langue Māori qui signifie « coopérer », illustrant le but **Version incluse :** 1.3.2~ynh1 - **Démo :** https://paheko.cloud/essai/ ## Captures d’écran From e677b1a9ce115551f1fbcb70376b448202013c70 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?E=CC=81ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Mon, 13 Nov 2023 14:27:02 +0100 Subject: [PATCH 63/71] Update manifest.toml --- manifest.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifest.toml b/manifest.toml index 2cad600..f9f5ae3 100644 --- a/manifest.toml +++ b/manifest.toml @@ -57,4 +57,4 @@ ram.runtime = "50M" api.protected = true [resources.apt] - packages = "wkhtmlopdf, mupdf-tools, sqlite3, php8.2-sqlite3, php8.2-gd, php8.2-intl, php8.2-cli, php8.2-gnupg, php8.2-mbstring, php8.2-zip" + packages = "mupdf-tools, sqlite3, php8.2-sqlite3, php8.2-gd, php8.2-intl, php8.2-cli, php8.2-gnupg, php8.2-mbstring, php8.2-zip" From f32f970a562cdf73139c3a41a9a7eb37caaaea0c Mon Sep 17 00:00:00 2001 From: Robles Rodolphe Date: Mon, 13 Nov 2023 14:32:12 +0100 Subject: [PATCH 64/71] Update config.local.php No need add a constant to convert pdf files for now, an native extension can do the job and mupdf seems broke the install and upgrade, also the constant for the space used by files is a bad idea, it have brokes upgrades on some tests... --- conf/config.local.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/conf/config.local.php b/conf/config.local.php index 47bae58..974380c 100644 --- a/conf/config.local.php +++ b/conf/config.local.php @@ -177,7 +177,7 @@ const WWW_URI = '__PATH__/'; * @var null|string */ -//const WWW_URL = 'http://paheko.chezmoi.tld' . WWW_URI; +const WWW_URL = 'https://__DOMAIN__' . WWW_URI; /** * Adresse URL HTTP(S) de l'admin Paheko @@ -634,7 +634,7 @@ const USE_CRON = true; * Défaut : null (dans ce cas c'est le stockage qui détermine la taille disponible, donc généralement l'espace dispo sur le disque dur !) */ -const FILE_STORAGE_QUOTA = 10*1024*1024; // Forcer le quota alloué à 10 Mo, quel que soit le backend de stockage +//const FILE_STORAGE_QUOTA = 10*1024*1024; // Forcer le quota alloué à 10 Mo, quel que soit le backend de stockage /** * FILE_VERSIONING_POLICY @@ -797,7 +797,7 @@ const FILE_STORAGE_QUOTA = 10*1024*1024; // Forcer le quota alloué à 10 Mo, qu * * Défaut : null (= fonctionnalité désactivée) */ -const PDFTOTEXT_COMMAND = 'mupdf'; +//const PDFTOTEXT_COMMAND = 'mupdf'; /** * API_USER et API_PASSWORD From 47d7d58e81a1abc3c6996c59db8cfc3ad879f655 Mon Sep 17 00:00:00 2001 From: Robles Rodolphe Date: Mon, 13 Nov 2023 14:33:49 +0100 Subject: [PATCH 65/71] Update manifest.toml no need of these packages for convert pdf --- manifest.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifest.toml b/manifest.toml index f9f5ae3..ea61833 100644 --- a/manifest.toml +++ b/manifest.toml @@ -57,4 +57,4 @@ ram.runtime = "50M" api.protected = true [resources.apt] - packages = "mupdf-tools, sqlite3, php8.2-sqlite3, php8.2-gd, php8.2-intl, php8.2-cli, php8.2-gnupg, php8.2-mbstring, php8.2-zip" + packages = "sqlite3, php8.2-sqlite3, php8.2-gd, php8.2-intl, php8.2-cli, php8.2-gnupg, php8.2-mbstring" From 0adc206beb9687336cd0a0742668c5d6fdcd08b4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?E=CC=81ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Mon, 13 Nov 2023 15:24:59 +0100 Subject: [PATCH 66/71] Update config.local.php --- conf/config.local.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conf/config.local.php b/conf/config.local.php index 974380c..539274b 100644 --- a/conf/config.local.php +++ b/conf/config.local.php @@ -177,7 +177,7 @@ const WWW_URI = '__PATH__/'; * @var null|string */ -const WWW_URL = 'https://__DOMAIN__' . WWW_URI; +const WWW_URL = 'https://__DOMAIN____PATH__'; /** * Adresse URL HTTP(S) de l'admin Paheko From bb8af850150adc6067937b4a53dbe854eb5ad357 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?E=CC=81ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Mon, 13 Nov 2023 15:40:08 +0100 Subject: [PATCH 67/71] Update config.local.php --- conf/config.local.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conf/config.local.php b/conf/config.local.php index 539274b..4a0186b 100644 --- a/conf/config.local.php +++ b/conf/config.local.php @@ -177,7 +177,7 @@ const WWW_URI = '__PATH__/'; * @var null|string */ -const WWW_URL = 'https://__DOMAIN____PATH__'; +const WWW_URL = 'https://__DOMAIN____PATH__/'; /** * Adresse URL HTTP(S) de l'admin Paheko From 12628c8346965392b18f976bbb94996e25f1aac5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?E=CC=81ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Mon, 13 Nov 2023 16:15:00 +0100 Subject: [PATCH 68/71] Update manifest.toml --- manifest.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifest.toml b/manifest.toml index ea61833..a4b6fef 100644 --- a/manifest.toml +++ b/manifest.toml @@ -57,4 +57,4 @@ ram.runtime = "50M" api.protected = true [resources.apt] - packages = "sqlite3, php8.2-sqlite3, php8.2-gd, php8.2-intl, php8.2-cli, php8.2-gnupg, php8.2-mbstring" + packages = "sqlite3, php8.2-sqlite3, php8.2-gd, php8.2-intl, php8.2-cli, php8.2-gnupg, php8.2-mbstring, php8.2-zip" From 91e8bedf13e089910e8a84d46ef6cf753ddd0ac2 Mon Sep 17 00:00:00 2001 From: Robles Rodolphe Date: Mon, 13 Nov 2023 16:52:46 +0100 Subject: [PATCH 69/71] Update cron resolve issue `Missing newline before EOF, this crontab file will be ignored` --- conf/cron | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conf/cron b/conf/cron index 4a4c95f..ef6f1f5 100644 --- a/conf/cron +++ b/conf/cron @@ -1,2 +1,2 @@ @daily __APP__ /usr/bin/php__PHPVERSION__ __INSTALL_DIR__/scripts/cron.php -* * * * * __APP__ /usr/bin/php__PHPVERSION__ __INSTALL_DIR__/scripts/emails.php \ No newline at end of file +* * * * * __APP__ /usr/bin/php__PHPVERSION__ __INSTALL_DIR__/scripts/emails.php From dec102dc8e1d3152f26104edc88f812e30444ed8 Mon Sep 17 00:00:00 2001 From: Robles Rodolphe Date: Mon, 13 Nov 2023 16:54:11 +0100 Subject: [PATCH 70/71] Update cron resolve `Missing newline before EOF, this crontab file will be ignored` --- conf/cron | 1 + 1 file changed, 1 insertion(+) diff --git a/conf/cron b/conf/cron index ef6f1f5..80068eb 100644 --- a/conf/cron +++ b/conf/cron @@ -1,2 +1,3 @@ @daily __APP__ /usr/bin/php__PHPVERSION__ __INSTALL_DIR__/scripts/cron.php * * * * * __APP__ /usr/bin/php__PHPVERSION__ __INSTALL_DIR__/scripts/emails.php + From fdef620e071a04dc94131e12be9bd3ef308f87f7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?E=CC=81ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Mon, 13 Nov 2023 18:18:18 +0100 Subject: [PATCH 71/71] Update change_url --- scripts/change_url | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/scripts/change_url b/scripts/change_url index 4b41c0d..9aca644 100644 --- a/scripts/change_url +++ b/scripts/change_url @@ -25,10 +25,12 @@ ynh_change_url_nginx_config #================================================= ynh_script_progression --message="Updating a configuration file..." --weight=1 +domain=$new_domain +path=$new_path ynh_add_config --template="config.local.php" --destination="$install_dir/config.local.php" -chmod 650 "$install_dir/config.local.php" -chown $app:$app "$install_dir/config.local.php" +#chmod 650 "$install_dir/config.local.php" +#chown $app:$app "$install_dir/config.local.php" #================================================= # END OF SCRIPT