From 474a02146d7b81cf76e056f139ac7ca85d91e61d Mon Sep 17 00:00:00 2001 From: Jean-Christian Denis Date: Sat, 29 Apr 2023 02:20:43 +0200 Subject: [PATCH] code review --- locales/fr/main.lang.php | 322 ++++++++++++++-------------- locales/fr/main.po | 453 ++++++++++++++++++++------------------- src/Backend.php | 5 +- src/Config.php | 4 +- src/Improve.php | 6 +- src/Install.php | 2 +- src/Logs.php | 318 +++++++++++++-------------- src/Manage.php | 18 +- src/Task.php | 37 ++-- src/Task/CssHeader.php | 4 +- src/Task/DcStore.php | 4 +- src/Task/EndOfFile.php | 2 +- src/Task/GitShields.php | 2 +- src/Task/LicenseFile.php | 2 +- src/Task/NewLine.php | 3 +- src/Task/PhpCsFixer.php | 2 +- src/Task/PhpHeader.php | 4 +- src/Task/PhpStan.php | 2 +- src/Task/Zip.php | 4 +- src/TaskDescriptor.php | 6 +- src/TaskMessages.php | 2 +- src/TaskSettings.php | 5 +- 22 files changed, 612 insertions(+), 595 deletions(-) diff --git a/locales/fr/main.lang.php b/locales/fr/main.lang.php index 802c18d..f02c02a 100644 --- a/locales/fr/main.lang.php +++ b/locales/fr/main.lang.php @@ -9,161 +9,167 @@ # DOT NOT MODIFY THIS FILE ! # -l10n::$locales['List of disabled actions'] = 'Listes des actions désactivées'; -l10n::$locales['Hide details of rendered actions'] = 'Ne pas afficher le détail des actions effectuées'; -l10n::$locales['Begin'] = 'Début'; -l10n::$locales['Module path is not writable'] = 'Le chemin du module n\'est pas accessible en écriture'; -l10n::$locales['File content has been removed: %s by %s'] = 'Le contenu du fichier a été supprimé : %s par %s'; -l10n::$locales['End'] = 'Fin'; -l10n::$locales['Select a module'] = 'Sélectionner un module'; -l10n::$locales['No action selected'] = 'Aucune action sélectionné'; -l10n::$locales['No module selected'] = 'Aucun module sélectionné'; -l10n::$locales['Fix of "%s" complete in %s secondes with errors'] = 'Fixe de "%s" complété en %s secondes avec des erreurs'; -l10n::$locales['Fix of "%s" complete in %s secondes with warnings'] = 'Fixe de "%s" complété en %s secondes avec des avertissements'; -l10n::$locales['Fix of "%s" complete in %s secondes'] = 'Fixe de "%s" complété en %s secondes'; -l10n::$locales['Fix of "%s" complete in %s secondes without messages'] = 'Fixe de "%s" complété en %s secondes sans message'; -l10n::$locales['Themes actions'] = 'Actions sur les thèmes'; -l10n::$locales['Plugins actions'] = 'Actions sur les plugins'; -l10n::$locales['Configure module'] = 'Configurer le module'; -l10n::$locales['Unknow module'] = 'Module inconnu'; -l10n::$locales['Configure module "%s"'] = 'Configurer le module "%s"'; -l10n::$locales['Nothing to configure'] = 'Rien à configurer'; -l10n::$locales['Themes'] = 'Thèmes'; -l10n::$locales['No module to manage'] = 'Aucun module à gérer'; -l10n::$locales['Priority'] = 'Priorité'; -l10n::$locales['Configure action \'%s\''] = 'Configurer l\'action "%s"'; -l10n::$locales['Configure'] = 'Configurer'; -l10n::$locales['Save fields selection as preference'] = 'Enregistrer la sélection comme préférence'; -l10n::$locales['Select a module:'] = 'Sélectionner un module :'; -l10n::$locales['Fix it'] = 'Corriger'; -l10n::$locales['CSS header'] = 'Entête de fichier CSS'; -l10n::$locales['Add or remove phpdoc header bloc from css file'] = 'Ajouter ou supprimer les bloc d\'entête phpdoc des fichiers css'; -l10n::$locales['Do nothing'] = 'Ne rien faire'; -l10n::$locales['Add bloc if it does not exist'] = 'Ajouter les blocs si ils n\'existent pas déjà'; -l10n::$locales['Add and overwrite bloc'] = 'Ajouter et écraser les blocs'; -l10n::$locales['Overwrite bloc only if it exists'] = 'Ecraser les blocs seulement si ils existent'; -l10n::$locales['Remove existing bloc header'] = 'Retirer les blocs d\'entête existant'; -l10n::$locales['Adjustments'] = 'Ajustements'; -l10n::$locales['Action:'] = 'Action :'; -l10n::$locales['Do not add bloc to files from "locales" and "libs" folder'] = 'Ne pas ajouter les blocs d\'entête aux fichiers des répertoires "locales" et "libs"'; -l10n::$locales['Do not add bloc to files from "tpl" and "default-templates" folder'] = 'Ne pas ajouter les blocs d\'entête aux fichiers des répertoires "tpl" et "default-templates"'; -l10n::$locales['Contents'] = 'Contenu'; -l10n::$locales['Bloc content:'] = 'Contenu du bloc :'; -l10n::$locales['You can use wildcards %s'] = 'Vous pouvez utiliser les jokers suivants : %s.'; -l10n::$locales['Do not put structural elements to the begining of lines.'] = 'Ne pas mettre d\'élément de structure en début de ligne'; -l10n::$locales['bloc is empty'] = 'le bloc est vide'; -l10n::$locales['Prepare header info'] = 'Préparer les informations d\'entête'; -l10n::$locales['Failed to parse bloc'] = 'Impossible de préparer le bloc'; -l10n::$locales['Skip directory'] = 'Ignorer le répertoire'; -l10n::$locales['Write new doc bloc content'] = 'Ecrire le nouveau contenu de bloc'; -l10n::$locales['Delete old doc bloc content'] = 'Effacer l\'ancien contenu de type phpdoc'; -l10n::$locales['Dotclear deprecated'] = 'Dépréciés de Dotclear'; -l10n::$locales['Search for use of deprecated Dotclear functions'] = 'Recherche l\'utilisation de fonctions dépréciées de Dotclear'; -l10n::$locales['Possible use of deprecated "%s", you should use "%s" instead since Dotclear %s.'] = 'Possible utilisation du déprécié "%s", vous devriez utiliser "%s" à la place depuis Dotclear %s.'; -l10n::$locales['Help'] = 'Aide'; -l10n::$locales['Store file'] = 'Fichier de dépôt'; -l10n::$locales['Re-create dcstore.xml file according to _define.php variables'] = 'Re-créer le fichier dcstore.xml suivant les variables du fichier _define.php'; -l10n::$locales['File will be overwritten if it exists'] = 'Le fichier sera réécrit si il existe'; -l10n::$locales['Predictable URL to zip file on the external repository:'] = 'URL prédictive du fichier zip sur le dépôt externe :'; -l10n::$locales['For exemple on github https://github.com/MyGitName/%id%/releases/download/v%version%/%type%-%id%.zip'] = 'Par exemple sur github https://github.com/MyGitName/%id%/releases/download/v%version%/%type%-%id%.zip'; -l10n::$locales['Note on github, you must create a release and join to it the module zip file.'] = 'Note sur Github, vous devez créer un release et y joindre le fichier zip du module.'; -l10n::$locales['Write dcstore.xml file.'] = 'Ecrire le fichier dcstore.xml'; -l10n::$locales['Failed to write dcstore.xml file'] = 'Impossible d\'écrire le fichier dcstore.xml'; -l10n::$locales['unkow module id'] = 'Id du module inconu'; -l10n::$locales['unknow module name'] = 'nom du module inconnu'; -l10n::$locales['unknow module version'] = 'version du module inconnue'; -l10n::$locales['unknow module author'] = 'auteur du module inconnu'; -l10n::$locales['unknow module description'] = 'description du module inconnue'; -l10n::$locales['no repository set in _define.php'] = 'Aucun dépôt défini dans le fichier _define.php'; -l10n::$locales['no zip file pattern set in configuration'] = 'Pas de modèle de fichier zip présent dans la configuration'; -l10n::$locales['no minimum dotclear version'] = 'pas de version minimum de Dotclear'; -l10n::$locales['no details URL'] = 'Lien de détail non défini'; -l10n::$locales['no support URL'] = 'Lien de support non défini'; -l10n::$locales['End of files'] = 'Fin de fichiers'; -l10n::$locales['Remove php tag and empty lines from end of files'] = 'Supprimer le tag PHP et les lignes vides de fin de fichiers'; -l10n::$locales['Add a blank line to the end of file'] = 'Ajouter une ligne vide en fin de fichier'; -l10n::$locales['PSR2 must have a blank line, whereas PSR12 must not.'] = 'PSR2 doit avoir une ligne vide, alors que PSR12 non.'; -l10n::$locales['Replace end of file'] = 'Remplacer les fins de fichiers'; -l10n::$locales['Shields badges'] = 'Badges Shields.io'; -l10n::$locales['Add and maintain shields.io badges to the REDAME.md file'] = 'Ajoute et maintient à jour les badges shields.io du fichier README.md'; -l10n::$locales['Your Github user name:'] = 'Votre "username" Github :'; -l10n::$locales['Used in your Github URL: http://github.com/username/module_id.'] = 'Utilisé dans l\'URL Github tel que : http://github.com/username/module_id.'; -l10n::$locales['If you have badges not created by this tool in the README.md file you should remove them manually.'] = 'Si vous avez déjà des badges non créés par cet outil, vous devrez les retirer manuellement.'; -l10n::$locales['Include Dotaddict badge'] = 'Inclure le badge Dotaddict'; -l10n::$locales['If your plugin or theme is on Dotaddict, you can add a badge to link to its details in Dotaddict.'] = 'Si votre plugin ou theme est sur Dotaddict, vous pouvez ajouter un badge lier à ses détails sur DA.'; -l10n::$locales['Prepare custom shield info'] = 'préparer les informations personnalisées'; -l10n::$locales['Write new shield bloc'] = 'Ecrire le nouveau bloc Shield'; -l10n::$locales['Delete old shield bloc'] = 'Effacer l\'ancine bloc Shield'; -l10n::$locales['License file'] = 'Fichier de licence'; -l10n::$locales['Add or remove full license file to module root'] = 'Ajoute ou supprime le fichier de licence'; -l10n::$locales['no version selected'] = 'aucune version selectionnée'; -l10n::$locales['Add file if it does not exist'] = 'Ajouter le fichier si il n\'existe pas'; -l10n::$locales['Add file even if it exists'] = 'Ajouter le fichier même si il existe'; -l10n::$locales['Add file and remove others'] = 'Ajouter la nouvelle licence et supprimer les autres'; -l10n::$locales['Remove license files'] = 'Supprimer les fichiers de licence'; -l10n::$locales['License version:'] = 'Version de la licence :'; -l10n::$locales['Action on file:'] = 'Action sur le fichier :'; -l10n::$locales['No full license type selected'] = 'Pas de type de licence seletionné'; -l10n::$locales['Failed to load license content'] = 'Impossible de charger le contenu de la licence'; -l10n::$locales['Write new license file "LICENSE"'] = 'Écrire le nouveau fichier "LICENSE" de licence'; -l10n::$locales['Failed to write new license file'] = 'Impossible d\'écrire le nouveau fichier de licence'; -l10n::$locales['Old license file is not deletable (%s)'] = 'L\'ancien fichier de licence n\'est pas supprimable (%s)'; -l10n::$locales['Failed to delete old license file (%s)'] = 'Impossible de supprimer l\'ancien fichier de licence (%s)'; -l10n::$locales['Delete old license file "%s"'] = 'Effacer l\'ancien fichier de Licence "%s"'; -l10n::$locales['Newlines'] = 'Retour à la ligne'; -l10n::$locales['Replace bad and repetitive and empty newline by single newline in files'] = 'Remplace les mauvais ou répétitifs retour à la ligne par une seule nouvelle ligne'; -l10n::$locales['List of files extension to work on:'] = 'Liste des extensions de fichier à corriger:'; -l10n::$locales['Use comma separated list of extensions without dot, recommand "php,js,xml,txt,md".'] = 'Utiliser une liste d\'extensions séparé par des virgules et sans le point, recommandation: "php,js,xml,txt,md".'; -l10n::$locales['Replace bad new lines'] = 'Remplacer les retours à la ligne'; -l10n::$locales['Fix PSR coding style using Php CS Fixer'] = 'Corrige le style du code suivant les règles PSR en utilisant Php CS Fixer'; -l10n::$locales['Root'] = 'Racine'; -l10n::$locales['Root directory of PHP executable:'] = 'Chemin complet du répertoire de l\'exécutable PHP :'; -l10n::$locales['If this module does not work you can try to put here directory to php executable (without executable file name).'] = 'Si ce module ne fonctionne pas vous pouvez tenter de mettre ici le chemin complet du répertoire de l\'exécutable PHP (sans le nom de fichier exécutable).'; -l10n::$locales['PHP CS Fixer configuration file:'] = 'Fichier de configuration de PHP CS Fixer :'; -l10n::$locales['Failed to run php-cs-fixer'] = 'Impossible d\'exécuter php-cs-fixer'; -l10n::$locales['PHP header'] = 'Entête de fichier PHP'; -l10n::$locales['Add or remove phpdoc header bloc from php file'] = 'Ajouter ou supprimer les bloc d\'entête phpdoc des fichiers php'; -l10n::$locales['Remove old style bloc header (using #)'] = 'Supprimer les bloc d\'entête ancien (utilisant #)'; -l10n::$locales['Delete old style bloc content'] = 'Effacer l\'ancien contenu de type ancien'; -l10n::$locales['Analyse php code using PHPStan'] = 'Analyse le code PHP en utilisant PHPStan'; -l10n::$locales['You must enable improve details to view analyse results !'] = 'Pour voir les résultats d\'analyse, vous devez activer l\'affichage des détails dans les paramètres d\'improve.'; -l10n::$locales['Level:'] = 'Niveau :'; -l10n::$locales['List of ignored variables:'] = 'Listes des variables ignorées :'; -l10n::$locales['If you have errors like "%s", you can add this var here. Use ; as separator and do not put $ ahead.'] = 'Si vous avez des erreurs comme "%s", vous pouvez ajouter ces variables ici. Utiliser ; comme séparateur et ne pas mettre $ devant.'; -l10n::$locales['For exemple: var;_othervar;avar'] = 'Par exemple: var;othervar;avar'; -l10n::$locales['Some variables like core, _menu, are already set in ignored list.'] = 'Certaines variables comme core, _menu, ... sont déjà dans la liste des variables ignorées.'; -l10n::$locales['Do not use rules from default ignored errors list.'] = 'Ne pas utiliser les règles de la liste des erreurs ignorées'; -l10n::$locales['See ignored errors from configuration file below.'] = 'Voir la liste des erreurs ignorées dans le fichier de configuration ci-dessous.'; -l10n::$locales['Split report by file rather than all in the end.'] = 'Scinder le rapport par fichier plutôt qu\'un seul à la fin.'; -l10n::$locales['Enable this can cause timeout.'] = 'Activer ceci peut causer de Timeout.'; -l10n::$locales['Clear result cache before each analizes.'] = 'Effacer le cache de résultat à chaque analyse.'; -l10n::$locales['PHPStan configuration file:'] = 'Fichier de configuration de PHPStan :'; -l10n::$locales['Failed to write phpstan configuration'] = 'Impossible d\'écrire la configuration de PHPStan'; -l10n::$locales['Cache cleared'] = 'Cache effacé'; -l10n::$locales['No errors found'] = 'Aucune erreur trouvé'; -l10n::$locales['Failed to run phpstan'] = 'Impossible d\'exécuter PHPStan'; -l10n::$locales['Translation files'] = 'Fichier de traductions'; -l10n::$locales['Compile existing translation .po files to fresh .lang.php files'] = 'Compile les fichiers de traductions .po existants en fichiers compilés .lang.php'; -l10n::$locales['Compile .po file to .lang.php'] = 'Fichier .po compilé en .lang.php'; -l10n::$locales['Failed to compile .po file'] = 'Impossible de compiler le fichier .po'; -l10n::$locales['Tabulations'] = 'Tabulations'; -l10n::$locales['Replace tabulation by four space in php files'] = 'Remplace les tabulation par quatre espaces dans les fichiers php'; -l10n::$locales['Replace tabulation by spaces'] = 'Remplacer les tabulations'; -l10n::$locales['Zip module'] = 'Zipper le module'; -l10n::$locales['Compress module into a ready to install package'] = 'Compresser le module en un paquetage prêt à installer'; -l10n::$locales['Path to repository:'] = 'Chemin vers le dépôt :'; -l10n::$locales['Preconization: %s'] = 'Préconisation : %s'; -l10n::$locales['Blog\'s public directory'] = 'Répertoire public du blog'; -l10n::$locales['Files'] = 'Fichiers'; -l10n::$locales['Name of exported package:'] = 'Nom du paquetage exporté :'; -l10n::$locales['Name of second exported package:'] = 'Nom du second paquetage exporté :'; -l10n::$locales['Extra files to exclude from package:'] = 'Fichiers supplémentaires à exclure du paquetage :'; -l10n::$locales['By default all these files are always removed from packages : %s'] = 'Pas défaut tous ces fichiers sont toujours exclu des paquetages : %s'; -l10n::$locales['Remove comments from files'] = 'Retirer les commentaires des fichiers'; -l10n::$locales['Prepare excluded files "%s"'] = 'Préparer les fichiers à exclure "%s"'; -l10n::$locales['Prepare comment removal'] = 'Préparer le retrait des commentaires'; -l10n::$locales['Destination filename already exists'] = 'Le fichier de destination existe déjà'; -l10n::$locales['Destination path is not writable'] = 'Le répertoire de destination n\'est pas accessible en écriture'; -l10n::$locales['Zip module into "%s"'] = 'Zipper le module vers "%s"'; -l10n::$locales['Overwrite existing package'] = 'Écraser les paquetages existants'; -l10n::$locales['Tiny tools to fix things for module devs'] = 'Outils simple pour aider les développeurs à fignoler leurs modules'; +use Dotclear\Helper\L10n; + +L10n::$locales['List of disabled tasks'] = 'Listes des tâches désactivées'; +L10n::$locales['Hide details of rendered tasks'] = 'Ne pas afficher le rendu des tâches'; +L10n::$locales['Show dotclear distributed modules'] = 'Afficher les modules de la distribution Dotclear'; +L10n::$locales['Sort modules seletion by:'] = 'Trier la sélection de modules par :'; +L10n::$locales['Begin'] = 'Début'; +L10n::$locales['Module path is not writable'] = 'Le chemin du module n\'est pas accessible en écriture'; +L10n::$locales['File content has been removed: %s by %s'] = 'Le contenu du fichier a été supprimé : %s par %s'; +L10n::$locales['End'] = 'Fin'; +L10n::$locales['No tasks selected'] = 'Aucune tâche sélectionnée'; +L10n::$locales['No module selected'] = 'Aucun module sélectionné'; +L10n::$locales['Fix of "%s" complete in %s secondes with errors'] = 'Fixe de "%s" complété en %s secondes avec des erreurs'; +L10n::$locales['Fix of "%s" complete in %s secondes with warnings'] = 'Fixe de "%s" complété en %s secondes avec des avertissements'; +L10n::$locales['Fix of "%s" complete in %s secondes'] = 'Fixe de "%s" complété en %s secondes'; +L10n::$locales['Fix of "%s" complete in %s secondes without messages'] = 'Fixe de "%s" complété en %s secondes sans message'; +L10n::$locales['Themes tasks'] = 'Tâches des thèmes'; +L10n::$locales['Plugins tasks'] = 'Tâches des plugins'; +L10n::$locales['Configure module'] = 'Configurer le module'; +L10n::$locales['Unknow task'] = 'Tâche inconnue'; +L10n::$locales['Configure task "%s"'] = 'Configurer la tâche "%s"'; +L10n::$locales['Nothing to configure'] = 'Rien à configurer'; +L10n::$locales['Themes'] = 'Thèmes'; +L10n::$locales['No module to manage'] = 'Aucun module à gérer'; +L10n::$locales['List of available tasks'] = 'Listes des tâches disponibles'; +L10n::$locales['Task'] = 'Tâches'; +L10n::$locales['Configuration'] = 'Configuration'; +L10n::$locales['Priority'] = 'Priorité'; +L10n::$locales['Configure task \'%s\''] = 'Configurer la tâche "%s"'; +L10n::$locales['Configure'] = 'Configurer'; +L10n::$locales['Save fields selection as preference'] = 'Enregistrer la sélection comme préférence'; +L10n::$locales['Select a module:'] = 'Sélectionner un module :'; +L10n::$locales['Fix it'] = 'Corriger'; +L10n::$locales['Select a module'] = 'Sélectionner un module'; +L10n::$locales['CSS header'] = 'Entête de fichier CSS'; +L10n::$locales['Add or remove phpdoc header bloc from css file'] = 'Ajouter ou supprimer les bloc d\'entête phpdoc des fichiers css'; +L10n::$locales['Do nothing'] = 'Ne rien faire'; +L10n::$locales['Add bloc if it does not exist'] = 'Ajouter les blocs si ils n\'existent pas déjà'; +L10n::$locales['Add and overwrite bloc'] = 'Ajouter et écraser les blocs'; +L10n::$locales['Overwrite bloc only if it exists'] = 'Ecraser les blocs seulement si ils existent'; +L10n::$locales['Remove existing bloc header'] = 'Retirer les blocs d\'entête existant'; +L10n::$locales['Adjustments'] = 'Ajustements'; +L10n::$locales['Action:'] = 'Action :'; +L10n::$locales['Do not add bloc to files from "locales" and "libs" folder'] = 'Ne pas ajouter les blocs d\'entête aux fichiers des répertoires "locales" et "libs"'; +L10n::$locales['Do not add bloc to files from "tpl" and "default-templates" folder'] = 'Ne pas ajouter les blocs d\'entête aux fichiers des répertoires "tpl" et "default-templates"'; +L10n::$locales['Contents'] = 'Contenu'; +L10n::$locales['Bloc content:'] = 'Contenu du bloc :'; +L10n::$locales['You can use wildcards %s'] = 'Vous pouvez utiliser les jokers suivants : %s.'; +L10n::$locales['Do not put structural elements to the begining of lines.'] = 'Ne pas mettre d\'élément de structure en début de ligne'; +L10n::$locales['bloc is empty'] = 'le bloc est vide'; +L10n::$locales['Prepare header info'] = 'Préparer les informations d\'entête'; +L10n::$locales['Failed to parse bloc'] = 'Impossible de préparer le bloc'; +L10n::$locales['Skip directory'] = 'Ignorer le répertoire'; +L10n::$locales['Write new doc bloc content'] = 'Ecrire le nouveau contenu de bloc'; +L10n::$locales['Delete old doc bloc content'] = 'Effacer l\'ancien contenu de type phpdoc'; +L10n::$locales['Dotclear deprecated'] = 'Dépréciés de Dotclear'; +L10n::$locales['Search for use of deprecated Dotclear functions'] = 'Recherche l\'utilisation de fonctions dépréciées de Dotclear'; +L10n::$locales['Possible use of deprecated "%s", you should use "%s" instead since Dotclear %s.'] = 'Possible utilisation du déprécié "%s", vous devriez utiliser "%s" à la place depuis Dotclear %s.'; +L10n::$locales['Help'] = 'Aide'; +L10n::$locales['Store file'] = 'Fichier de dépôt'; +L10n::$locales['Re-create dcstore.xml file according to _define.php variables'] = 'Re-créer le fichier dcstore.xml suivant les variables du fichier _define.php'; +L10n::$locales['File will be overwritten if it exists'] = 'Le fichier sera réécrit si il existe'; +L10n::$locales['Predictable URL to zip file on the external repository:'] = 'URL prédictive du fichier zip sur le dépôt externe :'; +L10n::$locales['For exemple on github https://github.com/MyGitName/%id%/releases/download/v%version%/%type%-%id%.zip'] = 'Par exemple sur github https://github.com/MyGitName/%id%/releases/download/v%version%/%type%-%id%.zip'; +L10n::$locales['Note on github, you must create a release and join to it the module zip file.'] = 'Note sur Github, vous devez créer un release et y joindre le fichier zip du module.'; +L10n::$locales['Write dcstore.xml file.'] = 'Ecrire le fichier dcstore.xml'; +L10n::$locales['Failed to write dcstore.xml file'] = 'Impossible d\'écrire le fichier dcstore.xml'; +L10n::$locales['unknow module name'] = 'nom du module inconnu'; +L10n::$locales['unknow module version'] = 'version du module inconnue'; +L10n::$locales['unknow module author'] = 'auteur du module inconnu'; +L10n::$locales['unknow module description'] = 'description du module inconnue'; +L10n::$locales['no repository set in _define.php'] = 'Aucun dépôt défini dans le fichier _define.php'; +L10n::$locales['no zip file pattern set in configuration'] = 'Pas de modèle de fichier zip présent dans la configuration'; +L10n::$locales['no minimum dotclear version'] = 'pas de version minimum de Dotclear'; +L10n::$locales['no details URL'] = 'Lien de détail non défini'; +L10n::$locales['no support URL'] = 'Lien de support non défini'; +L10n::$locales['End of files'] = 'Fin de fichiers'; +L10n::$locales['Remove php tag and empty lines from end of files'] = 'Supprimer le tag PHP et les lignes vides de fin de fichiers'; +L10n::$locales['Add a blank line to the end of file'] = 'Ajouter une ligne vide en fin de fichier'; +L10n::$locales['PSR2 must have a blank line, whereas PSR12 must not.'] = 'PSR2 doit avoir une ligne vide, alors que PSR12 non.'; +L10n::$locales['Replace end of file'] = 'Remplacer les fins de fichiers'; +L10n::$locales['Shields badges'] = 'Badges Shields.io'; +L10n::$locales['Add and maintain shields.io badges to the REDAME.md file'] = 'Ajoute et maintient à jour les badges shields.io du fichier README.md'; +L10n::$locales['Your Github user name:'] = 'Votre "username" Github :'; +L10n::$locales['Used in your Github URL: http://github.com/username/module_id.'] = 'Utilisé dans l\'URL Github tel que : http://github.com/username/module_id.'; +L10n::$locales['If you have badges not created by this tool in the README.md file you should remove them manually.'] = 'Si vous avez déjà des badges non créés par cet outil, vous devrez les retirer manuellement.'; +L10n::$locales['Include Dotaddict badge'] = 'Inclure le badge Dotaddict'; +L10n::$locales['If your plugin or theme is on Dotaddict, you can add a badge to link to its details in Dotaddict.'] = 'Si votre plugin ou theme est sur Dotaddict, vous pouvez ajouter un badge lier à ses détails sur DA.'; +L10n::$locales['Prepare custom shield info'] = 'préparer les informations personnalisées'; +L10n::$locales['Write new shield bloc'] = 'Ecrire le nouveau bloc Shield'; +L10n::$locales['Delete old shield bloc'] = 'Effacer l\'ancine bloc Shield'; +L10n::$locales['License file'] = 'Fichier de licence'; +L10n::$locales['Add or remove full license file to module root'] = 'Ajoute ou supprime le fichier de licence'; +L10n::$locales['no version selected'] = 'aucune version selectionnée'; +L10n::$locales['Add file if it does not exist'] = 'Ajouter le fichier si il n\'existe pas'; +L10n::$locales['Add file even if it exists'] = 'Ajouter le fichier même si il existe'; +L10n::$locales['Add file and remove others'] = 'Ajouter la nouvelle licence et supprimer les autres'; +L10n::$locales['Remove license files'] = 'Supprimer les fichiers de licence'; +L10n::$locales['License version:'] = 'Version de la licence :'; +L10n::$locales['Action on file:'] = 'Action sur le fichier :'; +L10n::$locales['No full license type selected'] = 'Pas de type de licence seletionné'; +L10n::$locales['Failed to load license content'] = 'Impossible de charger le contenu de la licence'; +L10n::$locales['Write new license file "LICENSE"'] = 'Écrire le nouveau fichier "LICENSE" de licence'; +L10n::$locales['Failed to write new license file'] = 'Impossible d\'écrire le nouveau fichier de licence'; +L10n::$locales['Old license file is not deletable (%s)'] = 'L\'ancien fichier de licence n\'est pas supprimable (%s)'; +L10n::$locales['Failed to delete old license file (%s)'] = 'Impossible de supprimer l\'ancien fichier de licence (%s)'; +L10n::$locales['Delete old license file "%s"'] = 'Effacer l\'ancien fichier de Licence "%s"'; +L10n::$locales['Newlines'] = 'Retour à la ligne'; +L10n::$locales['Replace bad and repetitive and empty newline by single newline in files'] = 'Remplace les mauvais ou répétitifs retour à la ligne par une seule nouvelle ligne'; +L10n::$locales['List of files extension to work on:'] = 'Liste des extensions de fichier à corriger:'; +L10n::$locales['Use comma separated list of extensions without dot, recommand "php,js,xml,txt,md".'] = 'Utiliser une liste d\'extensions séparé par des virgules et sans le point, recommandation: "php,js,xml,txt,md".'; +L10n::$locales['Replace bad new lines'] = 'Remplacer les retours à la ligne'; +L10n::$locales['Fix PSR coding style using Php CS Fixer'] = 'Corrige le style du code suivant les règles PSR en utilisant Php CS Fixer'; +L10n::$locales['Root'] = 'Racine'; +L10n::$locales['Root directory of PHP executable:'] = 'Chemin complet du répertoire de l\'exécutable PHP :'; +L10n::$locales['If this module does not work you can try to put here directory to php executable (without executable file name).'] = 'Si ce module ne fonctionne pas vous pouvez tenter de mettre ici le chemin complet du répertoire de l\'exécutable PHP (sans le nom de fichier exécutable).'; +L10n::$locales['PHP CS Fixer configuration file:'] = 'Fichier de configuration de PHP CS Fixer :'; +L10n::$locales['Failed to run php-cs-fixer'] = 'Impossible d\'exécuter php-cs-fixer'; +L10n::$locales['PHP header'] = 'Entête de fichier PHP'; +L10n::$locales['Add or remove phpdoc header bloc from php file'] = 'Ajouter ou supprimer les bloc d\'entête phpdoc des fichiers php'; +L10n::$locales['Remove old style bloc header (using #)'] = 'Supprimer les bloc d\'entête ancien (utilisant #)'; +L10n::$locales['Delete old style bloc content'] = 'Effacer l\'ancien contenu de type ancien'; +L10n::$locales['Analyse php code using PHPStan'] = 'Analyse le code PHP en utilisant PHPStan'; +L10n::$locales['You must enable improve details to view analyse results !'] = 'Pour voir les résultats d\'analyse, vous devez activer l\'affichage des détails dans les paramètres d\'improve.'; +L10n::$locales['Level:'] = 'Niveau :'; +L10n::$locales['List of ignored variables:'] = 'Listes des variables ignorées :'; +L10n::$locales['If you have errors like "%s", you can add this var here. Use ; as separator and do not put $ ahead.'] = 'Si vous avez des erreurs comme "%s", vous pouvez ajouter ces variables ici. Utiliser ; comme séparateur et ne pas mettre $ devant.'; +L10n::$locales['For exemple: var;_othervar;avar'] = 'Par exemple: var;othervar;avar'; +L10n::$locales['Some variables like core, _menu, are already set in ignored list.'] = 'Certaines variables comme core, _menu, ... sont déjà dans la liste des variables ignorées.'; +L10n::$locales['Do not use rules from default ignored errors list.'] = 'Ne pas utiliser les règles de la liste des erreurs ignorées'; +L10n::$locales['See ignored errors from configuration file below.'] = 'Voir la liste des erreurs ignorées dans le fichier de configuration ci-dessous.'; +L10n::$locales['Split report by file rather than all in the end.'] = 'Scinder le rapport par fichier plutôt qu\'un seul à la fin.'; +L10n::$locales['Enable this can cause timeout.'] = 'Activer ceci peut causer de Timeout.'; +L10n::$locales['Clear result cache before each analizes.'] = 'Effacer le cache de résultat à chaque analyse.'; +L10n::$locales['PHPStan configuration file:'] = 'Fichier de configuration de PHPStan :'; +L10n::$locales['Failed to write phpstan configuration'] = 'Impossible d\'écrire la configuration de PHPStan'; +L10n::$locales['Cache cleared'] = 'Cache effacé'; +L10n::$locales['No errors found'] = 'Aucune erreur trouvé'; +L10n::$locales['Failed to run phpstan'] = 'Impossible d\'exécuter PHPStan'; +L10n::$locales['Translation files'] = 'Fichier de traductions'; +L10n::$locales['Compile existing translation .po files to fresh .lang.php files'] = 'Compile les fichiers de traductions .po existants en fichiers compilés .lang.php'; +L10n::$locales['Compile .po file to .lang.php'] = 'Fichier .po compilé en .lang.php'; +L10n::$locales['Failed to compile .po file'] = 'Impossible de compiler le fichier .po'; +L10n::$locales['Tabulations'] = 'Tabulations'; +L10n::$locales['Replace tabulation by four space in php files'] = 'Remplace les tabulation par quatre espaces dans les fichiers php'; +L10n::$locales['Replace tabulation by spaces'] = 'Remplacer les tabulations'; +L10n::$locales['Zip module'] = 'Zipper le module'; +L10n::$locales['Compress module into a ready to install package'] = 'Compresser le module en un paquetage prêt à installer'; +L10n::$locales['Path to repository:'] = 'Chemin vers le dépôt :'; +L10n::$locales['Preconization: %s'] = 'Préconisation : %s'; +L10n::$locales['Blog\'s public directory'] = 'Répertoire public du blog'; +L10n::$locales['Files'] = 'Fichiers'; +L10n::$locales['Name of exported package:'] = 'Nom du paquetage exporté :'; +L10n::$locales['Name of second exported package:'] = 'Nom du second paquetage exporté :'; +L10n::$locales['Overwrite existing languages'] = 'Ecraser les langues existantes'; +L10n::$locales['Extra files to exclude from package:'] = 'Fichiers supplémentaires à exclure du paquetage :'; +L10n::$locales['By default all these files are always removed from packages : %s'] = 'Pas défaut tous ces fichiers sont toujours exclu des paquetages : %s'; +L10n::$locales['Remove comments from files'] = 'Retirer les commentaires des fichiers'; +L10n::$locales['Prepare excluded files "%s"'] = 'Préparer les fichiers à exclure "%s"'; +L10n::$locales['Prepare comment removal'] = 'Préparer le retrait des commentaires'; +L10n::$locales['Destination filename already exists'] = 'Le fichier de destination existe déjà'; +L10n::$locales['Destination path is not writable'] = 'Le répertoire de destination n\'est pas accessible en écriture'; +L10n::$locales['Zip module into "%s"'] = 'Zipper le module vers "%s"'; +L10n::$locales['Tiny tools to fix things for module devs'] = 'Outils simple pour aider les développeurs à fignoler leurs modules'; diff --git a/locales/fr/main.po b/locales/fr/main.po index fc53786..cf9bc3b 100644 --- a/locales/fr/main.po +++ b/locales/fr/main.po @@ -1,679 +1,696 @@ # Language: Français -# Module: improve - 1.1.1 -# Date: 2023-03-20 22:45:53 -# Author: , contact@jcdenis.fr -# Translated with translater 2023.03.19 +# Module: improve - 1.1.3 +# Date: 2023-04-29 00:18:08 +# Author: Jean-Christian Denis +# Translated with translater 2023.04.23 msgid "" msgstr "" "Content-Type: text/plain; charset=UTF-8\n" -"Project-Id-Version: improve 1.1.1\n" +"Project-Id-Version: improve 1.1.3\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2023-03-20T22:45:53+00:00\n" +"PO-Revision-Date: 2023-04-29T00:18:08+00:00\n" "Last-Translator: Jean-Christian Denis\n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: src/Config.php:105 -msgid "List of disabled actions" -msgstr "Listes des actions désactivées" +#: src/Config.php:108 +msgid "List of disabled tasks" +msgstr "Listes des tâches désactivées" -#: src/Config.php:109 -msgid "Hide details of rendered actions" -msgstr "Ne pas afficher le détail des actions effectuées" +#: src/Config.php:112 +msgid "Hide details of rendered tasks" +msgstr "Ne pas afficher le rendu des tâches" -#: src/Core.php:206 +#: src/Config.php:116 +msgid "Show dotclear distributed modules" +msgstr "Afficher les modules de la distribution Dotclear" + +#: src/Config.php:119 +msgid "Sort modules seletion by:" +msgstr "Trier la sélection de modules par :" + +#: src/Improve.php:96 msgid "Begin" msgstr "Début" -#: src/Core.php:214 +#: src/Improve.php:104 msgid "Module path is not writable" msgstr "Le chemin du module n'est pas accessible en écriture" -#: src/Core.php:245 +#: src/Improve.php:135 msgid "File content has been removed: %s by %s" msgstr "Le contenu du fichier a été supprimé : %s par %s" -#: src/Core.php:262 +#: src/Improve.php:152 msgid "End" msgstr "Fin" -#: src/Manage.php:149 -msgid "Select a module" -msgstr "Sélectionner un module" +#: src/Manage.php:79 +msgid "No tasks selected" +msgstr "Aucune tâche sélectionnée" -#: src/Manage.php:178 -msgid "No action selected" -msgstr "Aucune action sélectionné" - -#: src/Manage.php:180 +#: src/Manage.php:81 msgid "No module selected" msgstr "Aucun module sélectionné" -#: src/Manage.php:193 +#: src/Manage.php:92 msgid "Fix of \"%s\" complete in %s secondes with errors" msgstr "Fixe de \"%s\" complété en %s secondes avec des erreurs" -#: src/Manage.php:195 +#: src/Manage.php:94 msgid "Fix of \"%s\" complete in %s secondes with warnings" msgstr "Fixe de \"%s\" complété en %s secondes avec des avertissements" -#: src/Manage.php:197 +#: src/Manage.php:96 msgid "Fix of \"%s\" complete in %s secondes" msgstr "Fixe de \"%s\" complété en %s secondes" -#: src/Manage.php:199 +#: src/Manage.php:98 msgid "Fix of \"%s\" complete in %s secondes without messages" msgstr "Fixe de \"%s\" complété en %s secondes sans message" -#: src/Manage.php:234 -msgid "Themes actions" -msgstr "Actions sur les thèmes" +#: src/Manage.php:133 +msgid "Themes tasks" +msgstr "Tâches des thèmes" -#: src/Manage.php:234 -msgid "Plugins actions" -msgstr "Actions sur les plugins" +#: src/Manage.php:133 +msgid "Plugins tasks" +msgstr "Tâches des plugins" -#: src/Manage.php:234 +#: src/Manage.php:133 msgid "Configure module" msgstr "Configurer le module" -#: src/Manage.php:253 -msgid "Unknow module" -msgstr "Module inconnu" +#: src/Manage.php:152 +msgid "Unknow task" +msgstr "Tâche inconnue" -#: src/Manage.php:260 -msgid "Configure module \"%s\"" -msgstr "Configurer le module \"%s\"" +#: src/Manage.php:159 +msgid "Configure task \"%s\"" +msgstr "Configurer la tâche \"%s\"" -#: src/Manage.php:264 +#: src/Manage.php:164 msgid "Nothing to configure" msgstr "Rien à configurer" -#: src/Manage.php:279 +#: src/Manage.php:182 msgid "Themes" msgstr "Thèmes" -#: src/Manage.php:286 +#: src/Manage.php:190 msgid "No module to manage" msgstr "Aucun module à gérer" -#: src/Manage.php:293 +#: src/Manage.php:193 +msgid "List of available tasks" +msgstr "Listes des tâches disponibles" + +#: src/Manage.php:194 +msgid "Task" +msgstr "Tâches" + +#: src/Manage.php:196 +msgid "Configuration" +msgstr "Configuration" + +#: src/Manage.php:197 msgid "Priority" msgstr "Priorité" -#: src/Manage.php:317 -msgid "Configure action '%s'" -msgstr "Configurer l'action \"%s\"" +#: src/Manage.php:218 +msgid "Configure task '%s'" +msgstr "Configurer la tâche \"%s\"" -#: src/Manage.php:317 +#: src/Manage.php:218 msgid "Configure" msgstr "Configurer" -#: src/Manage.php:327 +#: src/Manage.php:228 msgid "Save fields selection as preference" msgstr "Enregistrer la sélection comme préférence" -#: src/Manage.php:328 +#: src/Manage.php:231 msgid "Select a module:" msgstr "Sélectionner un module :" -#: src/Manage.php:330 +#: src/Manage.php:233 msgid "Fix it" msgstr "Corriger" -#: src/module/cssheader.php:87 +#: src/Manage.php:358 +msgid "Select a module" +msgstr "Sélectionner un module" + +#: src/Task/CssHeader.php:83 msgid "CSS header" msgstr "Entête de fichier CSS" -#: src/module/cssheader.php:88 +#: src/Task/CssHeader.php:84 msgid "Add or remove phpdoc header bloc from css file" msgstr "Ajouter ou supprimer les bloc d'entête phpdoc des fichiers css" -#: src/module/cssheader.php:95 -#: src/module/licensefile.php:74 -#: src/module/phpheader.php:95 +#: src/Task/CssHeader.php:94 +#: src/Task/LicenseFile.php:74 +#: src/Task/PhpHeader.php:94 msgid "Do nothing" msgstr "Ne rien faire" -#: src/module/cssheader.php:96 -#: src/module/phpheader.php:96 +#: src/Task/CssHeader.php:95 +#: src/Task/PhpHeader.php:95 msgid "Add bloc if it does not exist" msgstr "Ajouter les blocs si ils n'existent pas déjà" -#: src/module/cssheader.php:97 -#: src/module/phpheader.php:97 +#: src/Task/CssHeader.php:96 +#: src/Task/PhpHeader.php:96 msgid "Add and overwrite bloc" msgstr "Ajouter et écraser les blocs" -#: src/module/cssheader.php:98 -#: src/module/phpheader.php:98 +#: src/Task/CssHeader.php:97 +#: src/Task/PhpHeader.php:97 msgid "Overwrite bloc only if it exists" msgstr "Ecraser les blocs seulement si ils existent" -#: src/module/cssheader.php:99 -#: src/module/phpheader.php:99 +#: src/Task/CssHeader.php:98 +#: src/Task/PhpHeader.php:98 msgid "Remove existing bloc header" msgstr "Retirer les blocs d'entête existant" -#: src/module/cssheader.php:127 -#: src/module/licensefile.php:100 -#: src/module/phpheader.php:126 -#: src/module/phpstan.php:129 +#: src/Task/CssHeader.php:126 +#: src/Task/LicenseFile.php:100 +#: src/Task/PhpHeader.php:125 +#: src/Task/PhpStan.php:130 msgid "Adjustments" msgstr "Ajustements" -#: src/module/cssheader.php:130 -#: src/module/phpheader.php:129 +#: src/Task/CssHeader.php:129 +#: src/Task/PhpHeader.php:128 msgid "Action:" msgstr "Action :" -#: src/module/cssheader.php:136 -#: src/module/phpheader.php:140 +#: src/Task/CssHeader.php:135 +#: src/Task/PhpHeader.php:139 msgid "Do not add bloc to files from \"locales\" and \"libs\" folder" msgstr "Ne pas ajouter les blocs d'entête aux fichiers des répertoires \"locales\" et \"libs\"" -#: src/module/cssheader.php:141 +#: src/Task/CssHeader.php:140 msgid "Do not add bloc to files from \"tpl\" and \"default-templates\" folder" msgstr "Ne pas ajouter les blocs d'entête aux fichiers des répertoires \"tpl\" et \"default-templates\"" -#: src/module/cssheader.php:144 -#: src/module/dcstore.php:77 -#: src/module/endoffile.php:65 -#: src/module/gitshields.php:102 -#: src/module/newline.php:74 -#: src/module/phpheader.php:143 -#: src/module/zip.php:150 +#: src/Task/CssHeader.php:143 +#: src/Task/DcStore.php:78 +#: src/Task/EndOfFile.php:66 +#: src/Task/GitShields.php:103 +#: src/Task/NewLine.php:76 +#: src/Task/PhpHeader.php:142 +#: src/Task/Zip.php:153 msgid "Contents" msgstr "Contenu" -#: src/module/cssheader.php:147 -#: src/module/phpheader.php:146 +#: src/Task/CssHeader.php:146 +#: src/Task/PhpHeader.php:145 msgid "Bloc content:" msgstr "Contenu du bloc :" -#: src/module/cssheader.php:151 -#: src/module/dcstore.php:83 -#: src/module/phpheader.php:150 +#: src/Task/CssHeader.php:150 +#: src/Task/DcStore.php:84 +#: src/Task/PhpHeader.php:149 msgid "You can use wildcards %s" msgstr "Vous pouvez utiliser les jokers suivants : %s." -#: src/module/cssheader.php:154 -#: src/module/phpheader.php:153 +#: src/Task/CssHeader.php:153 +#: src/Task/PhpHeader.php:152 msgid "Do not put structural elements to the begining of lines." msgstr "Ne pas mettre d'élément de structure en début de ligne" -#: src/module/cssheader.php:169 -#: src/module/phpheader.php:168 +#: src/Task/CssHeader.php:174 +#: src/Task/PhpHeader.php:173 msgid "bloc is empty" msgstr "le bloc est vide" -#: src/module/cssheader.php:199 -#: src/module/phpheader.php:198 +#: src/Task/CssHeader.php:204 +#: src/Task/PhpHeader.php:203 msgid "Prepare header info" msgstr "Préparer les informations d'entête" -#: src/module/cssheader.php:203 -#: src/module/phpheader.php:202 +#: src/Task/CssHeader.php:208 +#: src/Task/PhpHeader.php:207 msgid "Failed to parse bloc" msgstr "Impossible de préparer le bloc" -#: src/module/cssheader.php:217 -#: src/module/phpheader.php:214 +#: src/Task/CssHeader.php:222 +#: src/Task/PhpHeader.php:219 msgid "Skip directory" msgstr "Ignorer le répertoire" -#: src/module/cssheader.php:268 -#: src/module/phpheader.php:269 +#: src/Task/CssHeader.php:273 +#: src/Task/PhpHeader.php:274 msgid "Write new doc bloc content" msgstr "Ecrire le nouveau contenu de bloc" -#: src/module/cssheader.php:290 -#: src/module/phpheader.php:291 +#: src/Task/CssHeader.php:295 +#: src/Task/PhpHeader.php:296 msgid "Delete old doc bloc content" msgstr "Effacer l'ancien contenu de type phpdoc" -#: src/module/dcdeprecated.php:36 +#: src/Task/DcDeprecated.php:38 msgid "Dotclear deprecated" msgstr "Dépréciés de Dotclear" -#: src/module/dcdeprecated.php:37 +#: src/Task/DcDeprecated.php:39 msgid "Search for use of deprecated Dotclear functions" msgstr "Recherche l'utilisation de fonctions dépréciées de Dotclear" -#: src/module/dcdeprecated.php:80 +#: src/Task/DcDeprecated.php:82 msgid "Possible use of deprecated \"%s\", you should use \"%s\" instead since Dotclear %s." msgstr "Possible utilisation du déprécié \"%s\", vous devriez utiliser \"%s\" à la place depuis Dotclear %s." -#: src/module/dcdeprecated.php:80 +#: src/Task/DcDeprecated.php:82 msgid "Help" msgstr "Aide" -#: src/module/dcstore.php:50 +#: src/Task/DcStore.php:48 msgid "Store file" msgstr "Fichier de dépôt" -#: src/module/dcstore.php:51 +#: src/Task/DcStore.php:49 msgid "Re-create dcstore.xml file according to _define.php variables" msgstr "Re-créer le fichier dcstore.xml suivant les variables du fichier _define.php" -#: src/module/dcstore.php:76 +#: src/Task/DcStore.php:77 msgid "File will be overwritten if it exists" msgstr "Le fichier sera réécrit si il existe" -#: src/module/dcstore.php:80 +#: src/Task/DcStore.php:81 msgid "Predictable URL to zip file on the external repository:" msgstr "URL prédictive du fichier zip sur le dépôt externe :" -#: src/module/dcstore.php:84 +#: src/Task/DcStore.php:85 msgid "For exemple on github https://github.com/MyGitName/%id%/releases/download/v%version%/%type%-%id%.zip" msgstr "Par exemple sur github https://github.com/MyGitName/%id%/releases/download/v%version%/%type%-%id%.zip" -#: src/module/dcstore.php:85 +#: src/Task/DcStore.php:86 msgid "Note on github, you must create a release and join to it the module zip file." msgstr "Note sur Github, vous devez créer un release et y joindre le fichier zip du module." -#: src/module/dcstore.php:101 +#: src/Task/DcStore.php:102 msgid "Write dcstore.xml file." msgstr "Ecrire le fichier dcstore.xml" -#: src/module/dcstore.php:103 +#: src/Task/DcStore.php:104 msgid "Failed to write dcstore.xml file" msgstr "Impossible d'écrire le fichier dcstore.xml" -#: src/module/dcstore.php:118 -msgid "unkow module id" -msgstr "Id du module inconu" - -#: src/module/dcstore.php:124 +#: src/Task/DcStore.php:122 msgid "unknow module name" msgstr "nom du module inconnu" -#: src/module/dcstore.php:130 +#: src/Task/DcStore.php:128 msgid "unknow module version" msgstr "version du module inconnue" -#: src/module/dcstore.php:136 +#: src/Task/DcStore.php:134 msgid "unknow module author" msgstr "auteur du module inconnu" -#: src/module/dcstore.php:142 +#: src/Task/DcStore.php:140 msgid "unknow module description" msgstr "description du module inconnue" -#: src/module/dcstore.php:148 +#: src/Task/DcStore.php:146 msgid "no repository set in _define.php" msgstr "Aucun dépôt défini dans le fichier _define.php" -#: src/module/dcstore.php:154 +#: src/Task/DcStore.php:152 msgid "no zip file pattern set in configuration" msgstr "Pas de modèle de fichier zip présent dans la configuration" -#: src/module/dcstore.php:172 +#: src/Task/DcStore.php:170 msgid "no minimum dotclear version" msgstr "pas de version minimum de Dotclear" -#: src/module/dcstore.php:179 +#: src/Task/DcStore.php:177 msgid "no details URL" msgstr "Lien de détail non défini" -#: src/module/dcstore.php:194 +#: src/Task/DcStore.php:192 msgid "no support URL" msgstr "Lien de support non défini" -#: src/module/endoffile.php:42 +#: src/Task/EndOfFile.php:40 msgid "End of files" msgstr "Fin de fichiers" -#: src/module/endoffile.php:43 +#: src/Task/EndOfFile.php:41 msgid "Remove php tag and empty lines from end of files" msgstr "Supprimer le tag PHP et les lignes vides de fin de fichiers" -#: src/module/endoffile.php:69 +#: src/Task/EndOfFile.php:70 msgid "Add a blank line to the end of file" msgstr "Ajouter une ligne vide en fin de fichier" -#: src/module/endoffile.php:71 +#: src/Task/EndOfFile.php:72 msgid "PSR2 must have a blank line, whereas PSR12 must not." msgstr "PSR2 doit avoir une ligne vide, alors que PSR12 non." -#: src/module/endoffile.php:87 +#: src/Task/EndOfFile.php:88 msgid "Replace end of file" msgstr "Remplacer les fins de fichiers" -#: src/module/gitshields.php:72 +#: src/Task/GitShields.php:70 msgid "Shields badges" msgstr "Badges Shields.io" -#: src/module/gitshields.php:73 +#: src/Task/GitShields.php:71 msgid "Add and maintain shields.io badges to the REDAME.md file" msgstr "Ajoute et maintient à jour les badges shields.io du fichier README.md" -#: src/module/gitshields.php:105 +#: src/Task/GitShields.php:106 msgid "Your Github user name:" msgstr "Votre \"username\" Github :" -#: src/module/gitshields.php:108 +#: src/Task/GitShields.php:109 msgid "Used in your Github URL: http://github.com/username/module_id." msgstr "Utilisé dans l'URL Github tel que : http://github.com/username/module_id." -#: src/module/gitshields.php:109 +#: src/Task/GitShields.php:110 msgid "If you have badges not created by this tool in the README.md file you should remove them manually." msgstr "Si vous avez déjà des badges non créés par cet outil, vous devrez les retirer manuellement." -#: src/module/gitshields.php:113 +#: src/Task/GitShields.php:114 msgid "Include Dotaddict badge" msgstr "Inclure le badge Dotaddict" -#: src/module/gitshields.php:115 +#: src/Task/GitShields.php:116 msgid "If your plugin or theme is on Dotaddict, you can add a badge to link to its details in Dotaddict." msgstr "Si votre plugin ou theme est sur Dotaddict, vous pouvez ajouter un badge lier à ses détails sur DA." -#: src/module/gitshields.php:166 +#: src/Task/GitShields.php:167 msgid "Prepare custom shield info" msgstr "préparer les informations personnalisées" -#: src/module/gitshields.php:200 +#: src/Task/GitShields.php:201 msgid "Write new shield bloc" msgstr "Ecrire le nouveau bloc Shield" -#: src/module/gitshields.php:216 +#: src/Task/GitShields.php:217 msgid "Delete old shield bloc" msgstr "Effacer l'ancine bloc Shield" -#: src/module/licensefile.php:59 +#: src/Task/LicenseFile.php:55 msgid "License file" msgstr "Fichier de licence" -#: src/module/licensefile.php:60 +#: src/Task/LicenseFile.php:56 msgid "Add or remove full license file to module root" msgstr "Ajoute ou supprime le fichier de licence" -#: src/module/licensefile.php:66 +#: src/Task/LicenseFile.php:66 msgid "no version selected" msgstr "aucune version selectionnée" -#: src/module/licensefile.php:75 +#: src/Task/LicenseFile.php:75 msgid "Add file if it does not exist" msgstr "Ajouter le fichier si il n'existe pas" -#: src/module/licensefile.php:76 +#: src/Task/LicenseFile.php:76 msgid "Add file even if it exists" msgstr "Ajouter le fichier même si il existe" -#: src/module/licensefile.php:77 +#: src/Task/LicenseFile.php:77 msgid "Add file and remove others" msgstr "Ajouter la nouvelle licence et supprimer les autres" -#: src/module/licensefile.php:78 +#: src/Task/LicenseFile.php:78 msgid "Remove license files" msgstr "Supprimer les fichiers de licence" -#: src/module/licensefile.php:103 +#: src/Task/LicenseFile.php:103 msgid "License version:" msgstr "Version de la licence :" -#: src/module/licensefile.php:108 +#: src/Task/LicenseFile.php:108 msgid "Action on file:" msgstr "Action sur le fichier :" -#: src/module/licensefile.php:122 +#: src/Task/LicenseFile.php:122 msgid "No full license type selected" msgstr "Pas de type de licence seletionné" -#: src/module/licensefile.php:136 +#: src/Task/LicenseFile.php:136 msgid "Failed to load license content" msgstr "Impossible de charger le contenu de la licence" -#: src/module/licensefile.php:141 +#: src/Task/LicenseFile.php:141 msgid "Write new license file \"LICENSE\"" msgstr "Écrire le nouveau fichier \"LICENSE\" de licence" -#: src/module/licensefile.php:143 +#: src/Task/LicenseFile.php:143 msgid "Failed to write new license file" msgstr "Impossible d'écrire le nouveau fichier de licence" -#: src/module/licensefile.php:158 +#: src/Task/LicenseFile.php:158 msgid "Old license file is not deletable (%s)" msgstr "L'ancien fichier de licence n'est pas supprimable (%s)" -#: src/module/licensefile.php:160 +#: src/Task/LicenseFile.php:160 msgid "Failed to delete old license file (%s)" msgstr "Impossible de supprimer l'ancien fichier de licence (%s)" -#: src/module/licensefile.php:162 +#: src/Task/LicenseFile.php:162 msgid "Delete old license file \"%s\"" msgstr "Effacer l'ancien fichier de Licence \"%s\"" -#: src/module/newline.php:43 +#: src/Task/NewLine.php:42 msgid "Newlines" msgstr "Retour à la ligne" -#: src/module/newline.php:44 +#: src/Task/NewLine.php:43 msgid "Replace bad and repetitive and empty newline by single newline in files" msgstr "Remplace les mauvais ou répétitifs retour à la ligne par une seule nouvelle ligne" -#: src/module/newline.php:77 +#: src/Task/NewLine.php:79 msgid "List of files extension to work on:" msgstr "Liste des extensions de fichier à corriger:" -#: src/module/newline.php:80 +#: src/Task/NewLine.php:82 msgid "Use comma separated list of extensions without dot, recommand \"php,js,xml,txt,md\"." msgstr "Utiliser une liste d'extensions séparé par des virgules et sans le point, recommandation: \"php,js,xml,txt,md\"." -#: src/module/newline.php:105 +#: src/Task/NewLine.php:107 msgid "Replace bad new lines" msgstr "Remplacer les retours à la ligne" -#: src/module/phpcsfixer.php:72 +#: src/Task/PhpCsFixer.php:68 msgid "Fix PSR coding style using Php CS Fixer" msgstr "Corrige le style du code suivant les règles PSR en utilisant Php CS Fixer" -#: src/module/phpcsfixer.php:112 -#: src/module/phpstan.php:121 -#: src/module/zip.php:119 +#: src/Task/PhpCsFixer.php:113 +#: src/Task/PhpStan.php:122 +#: src/Task/Zip.php:122 msgid "Root" msgstr "Racine" -#: src/module/phpcsfixer.php:115 -#: src/module/phpstan.php:124 +#: src/Task/PhpCsFixer.php:116 +#: src/Task/PhpStan.php:125 msgid "Root directory of PHP executable:" msgstr "Chemin complet du répertoire de l'exécutable PHP :" -#: src/module/phpcsfixer.php:118 -#: src/module/phpstan.php:127 +#: src/Task/PhpCsFixer.php:119 +#: src/Task/PhpStan.php:128 msgid "If this module does not work you can try to put here directory to php executable (without executable file name)." msgstr "Si ce module ne fonctionne pas vous pouvez tenter de mettre ici le chemin complet du répertoire de l'exécutable PHP (sans le nom de fichier exécutable)." -#: src/module/phpcsfixer.php:123 +#: src/Task/PhpCsFixer.php:124 msgid "PHP CS Fixer configuration file:" msgstr "Fichier de configuration de PHP CS Fixer :" -#: src/module/phpcsfixer.php:159 +#: src/Task/PhpCsFixer.php:160 msgid "Failed to run php-cs-fixer" msgstr "Impossible d'exécuter php-cs-fixer" -#: src/module/phpheader.php:87 +#: src/Task/PhpHeader.php:83 msgid "PHP header" msgstr "Entête de fichier PHP" -#: src/module/phpheader.php:88 +#: src/Task/PhpHeader.php:84 msgid "Add or remove phpdoc header bloc from php file" msgstr "Ajouter ou supprimer les bloc d'entête phpdoc des fichiers php" -#: src/module/phpheader.php:135 +#: src/Task/PhpHeader.php:134 msgid "Remove old style bloc header (using #)" msgstr "Supprimer les bloc d'entête ancien (utilisant #)" -#: src/module/phpheader.php:313 +#: src/Task/PhpHeader.php:318 msgid "Delete old style bloc content" msgstr "Effacer l'ancien contenu de type ancien" -#: src/module/phpstan.php:69 +#: src/Task/PhpStan.php:65 msgid "Analyse php code using PHPStan" msgstr "Analyse le code PHP en utilisant PHPStan" -#: src/module/phpstan.php:120 +#: src/Task/PhpStan.php:121 msgid "You must enable improve details to view analyse results !" msgstr "Pour voir les résultats d'analyse, vous devez activer l'affichage des détails dans les paramètres d'improve." -#: src/module/phpstan.php:132 +#: src/Task/PhpStan.php:133 msgid "Level:" msgstr "Niveau :" -#: src/module/phpstan.php:137 +#: src/Task/PhpStan.php:138 msgid "List of ignored variables:" msgstr "Listes des variables ignorées :" -#: src/module/phpstan.php:141 +#: src/Task/PhpStan.php:142 msgid "If you have errors like \"%s\", you can add this var here. Use ; as separator and do not put $ ahead." msgstr "Si vous avez des erreurs comme \"%s\", vous pouvez ajouter ces variables ici. Utiliser ; comme séparateur et ne pas mettre $ devant." -#: src/module/phpstan.php:142 +#: src/Task/PhpStan.php:143 msgid "For exemple: var;_othervar;avar" msgstr "Par exemple: var;othervar;avar" -#: src/module/phpstan.php:142 +#: src/Task/PhpStan.php:143 msgid "Some variables like core, _menu, are already set in ignored list." msgstr "Certaines variables comme core, _menu, ... sont déjà dans la liste des variables ignorées." -#: src/module/phpstan.php:147 +#: src/Task/PhpStan.php:148 msgid "Do not use rules from default ignored errors list." msgstr "Ne pas utiliser les règles de la liste des erreurs ignorées" -#: src/module/phpstan.php:149 +#: src/Task/PhpStan.php:150 msgid "See ignored errors from configuration file below." msgstr "Voir la liste des erreurs ignorées dans le fichier de configuration ci-dessous." -#: src/module/phpstan.php:153 +#: src/Task/PhpStan.php:154 msgid "Split report by file rather than all in the end." msgstr "Scinder le rapport par fichier plutôt qu'un seul à la fin." -#: src/module/phpstan.php:155 +#: src/Task/PhpStan.php:156 msgid "Enable this can cause timeout." msgstr "Activer ceci peut causer de Timeout." -#: src/module/phpstan.php:159 +#: src/Task/PhpStan.php:160 msgid "Clear result cache before each analizes." msgstr "Effacer le cache de résultat à chaque analyse." -#: src/module/phpstan.php:166 +#: src/Task/PhpStan.php:167 msgid "PHPStan configuration file:" msgstr "Fichier de configuration de PHPStan :" -#: src/module/phpstan.php:180 +#: src/Task/PhpStan.php:181 msgid "Failed to write phpstan configuration" msgstr "Impossible d'écrire la configuration de PHPStan" -#: src/module/phpstan.php:251 +#: src/Task/PhpStan.php:252 msgid "Cache cleared" msgstr "Cache effacé" -#: src/module/phpstan.php:251 +#: src/Task/PhpStan.php:252 msgid "No errors found" msgstr "Aucune erreur trouvé" -#: src/module/phpstan.php:258 +#: src/Task/PhpStan.php:259 msgid "Failed to run phpstan" msgstr "Impossible d'exécuter PHPStan" -#: src/module/po2php.php:44 +#: src/Task/Po2Php.php:42 msgid "Translation files" msgstr "Fichier de traductions" -#: src/module/po2php.php:45 +#: src/Task/Po2Php.php:43 msgid "Compile existing translation .po files to fresh .lang.php files" msgstr "Compile les fichiers de traductions .po existants en fichiers compilés .lang.php" -#: src/module/po2php.php:65 +#: src/Task/Po2Php.php:67 msgid "Compile .po file to .lang.php" msgstr "Fichier .po compilé en .lang.php" -#: src/module/po2php.php:67 +#: src/Task/Po2Php.php:69 msgid "Failed to compile .po file" msgstr "Impossible de compiler le fichier .po" -#: src/module/tab.php:29 +#: src/Task/Tab.php:31 msgid "Tabulations" msgstr "Tabulations" -#: src/module/tab.php:30 +#: src/Task/Tab.php:32 msgid "Replace tabulation by four space in php files" msgstr "Remplace les tabulation par quatre espaces dans les fichiers php" -#: src/module/tab.php:45 +#: src/Task/Tab.php:51 msgid "Replace tabulation by spaces" msgstr "Remplacer les tabulations" -#: src/module/zip.php:80 +#: src/Task/Zip.php:78 msgid "Zip module" msgstr "Zipper le module" -#: src/module/zip.php:81 +#: src/Task/Zip.php:79 msgid "Compress module into a ready to install package" msgstr "Compresser le module en un paquetage prêt à installer" -#: src/module/zip.php:122 +#: src/Task/Zip.php:125 msgid "Path to repository:" msgstr "Chemin vers le dépôt :" -#: src/module/zip.php:126 +#: src/Task/Zip.php:129 msgid "Preconization: %s" msgstr "Préconisation : %s" -#: src/module/zip.php:128 +#: src/Task/Zip.php:131 msgid "Blog's public directory" msgstr "Répertoire public du blog" -#: src/module/zip.php:131 +#: src/Task/Zip.php:134 msgid "Files" msgstr "Fichiers" -#: src/module/zip.php:134 +#: src/Task/Zip.php:137 msgid "Name of exported package:" msgstr "Nom du paquetage exporté :" -#: src/module/zip.php:140 +#: src/Task/Zip.php:143 msgid "Name of second exported package:" msgstr "Nom du second paquetage exporté :" -#: src/module/zip.php:153 +#: src/Task/Zip.php:150 +msgid "Overwrite existing languages" +msgstr "Ecraser les langues existantes" + +#: src/Task/Zip.php:156 msgid "Extra files to exclude from package:" msgstr "Fichiers supplémentaires à exclure du paquetage :" -#: src/module/zip.php:156 +#: src/Task/Zip.php:159 msgid "By default all these files are always removed from packages : %s" msgstr "Pas défaut tous ces fichiers sont toujours exclu des paquetages : %s" -#: src/module/zip.php:160 +#: src/Task/Zip.php:163 msgid "Remove comments from files" msgstr "Retirer les commentaires des fichiers" -#: src/module/zip.php:172 +#: src/Task/Zip.php:175 msgid "Prepare excluded files \"%s\"" msgstr "Préparer les fichiers à exclure \"%s\"" -#: src/module/zip.php:175 +#: src/Task/Zip.php:178 msgid "Prepare comment removal" msgstr "Préparer le retrait des commentaires" -#: src/module/zip.php:206 +#: src/Task/Zip.php:209 msgid "Destination filename already exists" msgstr "Le fichier de destination existe déjà" -#: src/module/zip.php:211 +#: src/Task/Zip.php:214 msgid "Destination path is not writable" msgstr "Le répertoire de destination n'est pas accessible en écriture" -#: src/module/zip.php:233 +#: src/Task/Zip.php:238 msgid "Zip module into \"%s\"" msgstr "Zipper le module vers \"%s\"" -msgid "Overwrite existing package" -msgstr "Écraser les paquetages existants" - msgid "Tiny tools to fix things for module devs" msgstr "Outils simple pour aider les développeurs à fignoler leurs modules" diff --git a/src/Backend.php b/src/Backend.php index 8cea70c..e4cc4e9 100644 --- a/src/Backend.php +++ b/src/Backend.php @@ -19,12 +19,11 @@ use dcCore; use dcPage; use dcFavorites; use dcNsProcess; -use Dotclear\Helper\File\Files; /** * Improve admin class * - * Add menu and dashboard icons, load Improve action modules. + * Add menu and dashboard icons, load Improve tasks. */ class Backend extends dcNsProcess { @@ -86,7 +85,7 @@ class Backend extends dcNsProcess ->add(new Task\Po2Php()) ->add(new Task\Tab()) ->add(new Task\Zip()) - ; + ; }, ]); diff --git a/src/Config.php b/src/Config.php index 641fb39..b9097b7 100644 --- a/src/Config.php +++ b/src/Config.php @@ -105,11 +105,11 @@ class Config extends dcNsProcess echo (new Div())->items([ - (new Fieldset())->class('fieldset')->legend(new Legend(__('List of disabled actions')))->fields($items), + (new Fieldset())->class('fieldset')->legend(new Legend(__('List of disabled tasks')))->fields($items), (new Fieldset())->class('fieldset')->legend(new Legend(__('Options')))->fields([ (new Para())->items([ (new Checkbox('nodetails', (bool) $settings->get('nodetails')))->value('1'), - (new Label(__('Hide details of rendered actions'), Label::OUTSIDE_LABEL_AFTER))->class('classic')->for('nodetails'), + (new Label(__('Hide details of rendered tasks'), Label::OUTSIDE_LABEL_AFTER))->class('classic')->for('nodetails'), ]), (new Para())->items([ (new Checkbox('allow_distrib', (bool) $settings->get('allow_distrib')))->value('1'), diff --git a/src/Improve.php b/src/Improve.php index 64d52b8..85ecf18 100644 --- a/src/Improve.php +++ b/src/Improve.php @@ -15,7 +15,6 @@ declare(strict_types=1); namespace Dotclear\Plugin\improve; use dcCore; -use dcLog; use dcModuleDefine; use Dotclear\Helper\File\{ Files, @@ -39,7 +38,7 @@ class Improve 'php', 'xml', 'js', 'css', 'csv', 'html', 'htm', 'txt', 'md', 'po', ]; - /** @var Core $instance Core instance */ + /** @var Improve $instance Improve instance */ private static $instance; /** @@ -47,7 +46,7 @@ class Improve */ protected function __construct() { - $this->logs = new logs(); + $this->logs = new Logs(); $this->tasks = new Tasks(); // mark some tasks as disabled (by settings) @@ -80,7 +79,6 @@ class Improve return self::$instance; } - public function fix(dcModuleDefine $module, array $tasks): float { $time_start = microtime(true); diff --git a/src/Install.php b/src/Install.php index 7d07d9c..3673329 100644 --- a/src/Install.php +++ b/src/Install.php @@ -30,7 +30,7 @@ class Install extends dcNsProcess /** @var array Improve default settings */ private static $default_settings = [[ 'disabled', - 'List of hidden action modules', + 'List of hidden tasks modules', 'cssheader;tab;newline;endoffile', 'string', ]]; diff --git a/src/Logs.php b/src/Logs.php index 0395f8d..c57b563 100644 --- a/src/Logs.php +++ b/src/Logs.php @@ -1,159 +1,159 @@ - $stack The logs stack */ - private array $stack; - - /** @var array $has Has log of given type */ - private $has = [ - 'success' => false, - 'warning' => false, - 'error' => false - ]; - - /** - * Add a log. - * - * @param string $task The task ID - * @param string $path The path - * @param array $msgs The messages - */ - public function add(string $task, string $path, array $msgs) - { - // get existing messages - $logs = $this->stack[$task][$path] ?? []; - - // merge with new messages - $this->stack[$task][$path] = array_merge($logs, $msgs); - - // check message type - if (in_array($path, ['success', 'warning', 'error'])) { - $this->has[$path] = true; - } - } - - /** - * Check if log of type $type exists. - * - * @param string $type The log type (success, warning, error) - * - * @return bool True on exist - */ - public function has(string $type): bool - { - return array_key_exists($type, $this->has) && $this->has[$type]; - } - - /** - * Write logs to dcLogs. - * - * @return int The new log ID - */ - public function write(): int - { - if (empty($this->stack)) { - return 0; - } - $cur = dcCore::app()->con->openCursor(dcCore::app()->prefix . dcLog::LOG_TABLE_NAME); - $cur->setField('log_msg', json_encode($this->stack)); - $cur->setField('log_table', My::id()); - - return dcCore::app()->log->addLog($cur); - } - - /** - * Parse logs from dcLog. - * - * Returns logs by path -> type -> task -> message - * - * @param int $id The log ID - * - * @return array The parse logs - */ - public function parse(int $id): array - { - $logs = $this->read($id); - if (empty($logs)) { - return []; - } - $lines = []; - foreach ($logs[My::id()] as $path => $tools) { - $l_types = []; - foreach (['success', 'warning', 'error'] as $type) { - $l_tools = []; - foreach ($tools as $tool) { - $l_msg = []; - if (!empty($logs[$tool][$type][$path])) { - foreach ($logs[$tool][$type][$path] as $msg) { - $l_msg[] = $msg; - } - } - if (!empty($l_msg)) { - $l_tools[$tool] = $l_msg; - } - } - if (!empty($l_tools)) { - $l_types[$type] = $l_tools; - } - } - if (!empty($l_types)) { - $lines[$path] = $l_types; - } - } - - return $lines; - } - - /** - * Get all messages - * - * @return array The messages stack - */ - public function dump(): array - { - return $this->stack; - } - - /** - * Read logs from dcLog. - * - * Logs are read once then deleted from dcLog. - * - * @param int The log ID - * - * @return The logs - */ - private function read(int $id): array - { - $rs = dcCore::app()->log->getLogs(['log_table' => My::id(), 'log_id' => $id, 'limit' => 1]); - if ($rs->isEmpty()) { - return []; - } - dcCore::app()->log->delLogs($rs->f('log_id')); - - $res = json_decode($rs->f('log_msg'), true); - - return is_array($res) ? $res : []; - } -} \ No newline at end of file + $stack The logs stack */ + private array $stack; + + /** @var array $has Has log of given type */ + private $has = [ + 'success' => false, + 'warning' => false, + 'error' => false, + ]; + + /** + * Add a log. + * + * @param string $task The task ID + * @param string $path The path + * @param array $msgs The messages + */ + public function add(string $task, string $path, array $msgs): void + { + // get existing messages + $logs = $this->stack[$task][$path] ?? []; + + // merge with new messages + $this->stack[$task][$path] = array_merge($logs, $msgs); + + // check message type + if (in_array($path, ['success', 'warning', 'error'])) { + $this->has[$path] = true; + } + } + + /** + * Check if log of type $type exists. + * + * @param string $type The log type (success, warning, error) + * + * @return bool True on exist + */ + public function has(string $type): bool + { + return (bool) ($this->has[$type] ?? false); + } + + /** + * Write logs to dcLogs. + * + * @return int The new log ID + */ + public function write(): int + { + if (empty($this->stack)) { + return 0; + } + $cur = dcCore::app()->con->openCursor(dcCore::app()->prefix . dcLog::LOG_TABLE_NAME); + $cur->setField('log_msg', json_encode($this->stack)); + $cur->setField('log_table', My::id()); + + return dcCore::app()->log->addLog($cur); + } + + /** + * Parse logs from dcLog. + * + * Returns logs by path -> type -> task -> message + * + * @param int $id The log ID + * + * @return array The parse logs + */ + public function parse(int $id): array + { + $logs = $this->read($id); + if (empty($logs)) { + return []; + } + $lines = []; + foreach ($logs[My::id()] as $path => $tools) { + $l_types = []; + foreach (['success', 'warning', 'error'] as $type) { + $l_tools = []; + foreach ($tools as $tool) { + $l_msg = []; + if (!empty($logs[$tool][$type][$path])) { + foreach ($logs[$tool][$type][$path] as $msg) { + $l_msg[] = $msg; + } + } + if (!empty($l_msg)) { + $l_tools[$tool] = $l_msg; + } + } + if (!empty($l_tools)) { + $l_types[$type] = $l_tools; + } + } + if (!empty($l_types)) { + $lines[$path] = $l_types; + } + } + + return $lines; + } + + /** + * Get all messages + * + * @return array The messages stack + */ + public function dump(): array + { + return $this->stack; + } + + /** + * Read logs from dcLog. + * + * Logs are read once then deleted from dcLog. + * + * @param int $id The log ID + * + * @return array The logs + */ + private function read(int $id): array + { + $rs = dcCore::app()->log->getLogs(['log_table' => My::id(), 'log_id' => $id, 'limit' => 1]); + if ($rs->isEmpty()) { + return []; + } + dcCore::app()->log->delLogs($rs->f('log_id')); + + $res = json_decode($rs->f('log_msg'), true); + + return is_array($res) ? $res : []; + } +} diff --git a/src/Manage.php b/src/Manage.php index d874b6f..da3f930 100644 --- a/src/Manage.php +++ b/src/Manage.php @@ -38,7 +38,7 @@ use Exception; * Improve page class * * Display page and configure modules - * and launch action. + * and execute tasks. */ class Manage extends dcNsProcess { @@ -48,7 +48,7 @@ class Manage extends dcNsProcess /** @var string $module Current module id */ private static string $module = '-'; - /** @var null|Task $task Current action module */ + /** @var null|Task $task Current tasks instance */ private static ?Task $task = null; public static function init(): bool @@ -76,7 +76,7 @@ class Manage extends dcNsProcess if (!empty($_POST['fix'])) { if (empty($_POST['actions'])) { - dcAdminNotices::addWarningNotice(__('No action selected')); + dcAdminNotices::addWarningNotice(__('No tasks selected')); } elseif (self::$module == '-') { dcAdminNotices::addWarningNotice(__('No module selected')); } else { @@ -128,9 +128,9 @@ class Manage extends dcNsProcess echo dcPage::breadcrumb([ - __('Plugins') => '', - My::name() => '', - empty($_REQUEST['config']) ? (self::$type == 'theme' ? __('Themes actions') : __('Plugins actions')) : __('Configure module') => '', + __('Plugins') => '', + My::name() => '', + empty($_REQUEST['config']) ? (self::$type == 'theme' ? __('Themes tasks') : __('Plugins tasks')) : __('Configure module') => '', ]) . dcPage::notices(); @@ -149,14 +149,14 @@ class Manage extends dcNsProcess if (null === self::$task) { echo ' -

' . __('Unknow module') . '

+

' . __('Unknow task') . '

' . __('Back') . '

'; } else { $redir = $_REQUEST['redir'] ?? dcCore::app()->adminurl?->get('admin.plugin.' . My::id(), ['type' => self::$type, 'config' => self::$task->properties->id]); $res = self::$task->configure($redir); echo ' -

' . sprintf(__('Configure module "%s"'), self::$task->properties->name) . '

+

' . sprintf(__('Configure task "%s"'), self::$task->properties->name) . '

' . __('Back') . '

' . Html::escapeHTML(self::$task->properties->description) . '

' . @@ -215,7 +215,7 @@ class Manage extends dcNsProcess '' . ( false === $task->properties->configurator ? '' : 'properties->name) . '">' . __('Configure') . '' + '" title="' . sprintf(__("Configure task '%s'"), $task->properties->name) . '">' . __('Configure') . '' ) . '' . (DC_DEBUG ? '' . $task->properties->priority . '' : '') . /* @phpstan-ignore-line */ ''; diff --git a/src/Task.php b/src/Task.php index f3ea646..3ee4650 100644 --- a/src/Task.php +++ b/src/Task.php @@ -18,7 +18,7 @@ use dcModuleDefine; use Dotclear\Helper\Network\Http; /** - * Improve action class helper + * Task abstract class. */ abstract class Task { @@ -40,7 +40,7 @@ abstract class Task /** @var dcModuleDefine Current module */ protected dcModuleDefine $module; - /** @var bool Is disabled action */ + /** @var bool Is disabled task */ private bool $disabled = false; /** @var string Current full path */ @@ -53,7 +53,7 @@ abstract class Task protected ?bool $path_is_dir = null; /** - * Action constructor inits properties and settings of a child class. + * Task constructor inits properties and settings of a child class. */ final public function __construct() { @@ -75,10 +75,9 @@ abstract class Task abstract protected function getProperties(): TaskDescriptor; /** - * Action initialisation function. + * Task initialisation function. * - * It's called when an instance of ImproveAction child class is created. - * Usefull to setup action class. + * Called when Task insatnce is created. * * @return bool True if initialisation is ok. */ @@ -89,7 +88,7 @@ abstract class Task * * @param string $key The setting ID * - * @return mixed Value of property or setting of action. + * @return mixed The setting value. */ final public function get(string $key) { @@ -99,7 +98,7 @@ abstract class Task /** * Set task as disabled. */ - final public function disable() + final public function disable(): void { $this->disabled = true; } @@ -109,7 +108,7 @@ abstract class Task * * @return bool True on disabled */ - final public function isDisabled() + final public function isDisabled(): bool { return $this->disabled; } @@ -128,14 +127,14 @@ abstract class Task } /** - * Check if action class is well configured + * Check if task is well configured * - * @return boolean True if class action is well configured + * @return boolean True on well configured */ abstract public function isConfigured(): bool; /** - * Get action configuration page header + * Get task configuration page header * * @return string Headers */ @@ -147,19 +146,19 @@ abstract class Task /** * Get configuraton gui * - * If action class uses internal configuration, + * If task class uses internal configuration, * it must share here html form content of its settings. * It must not use enclose bloc "form" nor button "save". - * This function is also called to redirect form + * This function must redirect form * after validation with $this->redirect($url); * * @param string $url post form redirect url * - * @return string|null A setting of action. + * @return string The configuration form */ - public function configure(string $url): ?string + public function configure(string $url): string { - return null; + return ''; } /** @@ -225,8 +224,8 @@ abstract class Task /** * Called when read content of a file to fix. * - * Content is shared from action to another. - * If an action erase content, fix is stopped. + * Content is shared from task to another. + * If an task erase content, fix is stopped. * If you want to erase a content you must erase * the file on action openDirectory. * diff --git a/src/Task/CssHeader.php b/src/Task/CssHeader.php index 91b5f31..b49e8ce 100644 --- a/src/Task/CssHeader.php +++ b/src/Task/CssHeader.php @@ -109,7 +109,7 @@ class CssHeader extends Task return !empty($this->settings->get('bloc_action')); } - public function configure($url): ?string + public function configure(string $url): string { if (!empty($_POST['save'])) { $this->settings->set([ @@ -292,7 +292,7 @@ class CssHeader extends Task $count ); if ($count) { - $this->succes->set(__('Delete old doc bloc content')); + $this->success->add(__('Delete old doc bloc content')); } return (string) $res; diff --git a/src/Task/DcStore.php b/src/Task/DcStore.php index 12760c8..ae50b2b 100644 --- a/src/Task/DcStore.php +++ b/src/Task/DcStore.php @@ -29,7 +29,7 @@ use Dotclear\Helper\Html\XmlTag; use Dotclear\Helper\Text; use Dotclear\Plugin\improve\{ Task, - taskDescriptor + TaskDescriptor }; use Exception; @@ -66,7 +66,7 @@ class DcStore extends Task return !empty($this->settings->get('pattern')); } - public function configure($url): ?string + public function configure(string $url): string { if (!empty($_POST['save']) && !empty($_POST['dcstore_pattern'])) { $this->settings->set('pattern', (string) $_POST['dcstore_pattern']); diff --git a/src/Task/EndOfFile.php b/src/Task/EndOfFile.php index 05180b9..0186c1a 100644 --- a/src/Task/EndOfFile.php +++ b/src/Task/EndOfFile.php @@ -55,7 +55,7 @@ class EndOfFile extends Task return true; } - public function configure($url): ?string + public function configure(string $url): string { if (!empty($_POST['save'])) { $this->settings->set('psr2', !empty($_POST['endoffile_psr2'])); diff --git a/src/Task/GitShields.php b/src/Task/GitShields.php index 70689e9..2063a95 100644 --- a/src/Task/GitShields.php +++ b/src/Task/GitShields.php @@ -89,7 +89,7 @@ class GitShields extends Task return !empty($this->settings->get('username')); } - public function configure($url): ?string + public function configure(string $url): string { if (!empty($_POST['save']) && !empty($_POST['username'])) { $this->settings->set([ diff --git a/src/Task/LicenseFile.php b/src/Task/LicenseFile.php index 4292ba7..2e7a8b7 100644 --- a/src/Task/LicenseFile.php +++ b/src/Task/LicenseFile.php @@ -86,7 +86,7 @@ class LicenseFile extends Task return true; } - public function configure($url): ?string + public function configure(string $url): string { if (!empty($_POST['save'])) { $this->settings->set([ diff --git a/src/Task/NewLine.php b/src/Task/NewLine.php index c1daa47..93df78a 100644 --- a/src/Task/NewLine.php +++ b/src/Task/NewLine.php @@ -14,6 +14,7 @@ declare(strict_types=1); namespace Dotclear\Plugin\improve\Task; +use Dotclear\Helper\File\Files; use Dotclear\Helper\Html\Form\{ Div, Fieldset, @@ -56,7 +57,7 @@ class NewLine extends Task return !empty($this->settings->get('extensions')); } - public function configure($url): ?string + public function configure(string $url): string { if (!empty($_POST['save']) && !empty($_POST['newline_extensions'])) { $this->settings->set( diff --git a/src/Task/PhpCsFixer.php b/src/Task/PhpCsFixer.php index a1dee17..6a1bf2e 100644 --- a/src/Task/PhpCsFixer.php +++ b/src/Task/PhpCsFixer.php @@ -99,7 +99,7 @@ class PhpCsFixer extends Task return null; } - public function configure($url): ?string + public function configure(string $url): string { if (!empty($_POST['save'])) { $this->settings->set([ diff --git a/src/Task/PhpHeader.php b/src/Task/PhpHeader.php index 9f33c76..09b281a 100644 --- a/src/Task/PhpHeader.php +++ b/src/Task/PhpHeader.php @@ -109,7 +109,7 @@ class PhpHeader extends Task return !empty($this->settings->get('bloc_action')) || !empty($this->settings->get('remove_old')); } - public function configure($url): ?string + public function configure(string $url): string { if (!empty($_POST['save'])) { $this->settings->set([ @@ -170,7 +170,7 @@ class PhpHeader extends Task $bloc = trim($this->bloc_content); if (empty($bloc)) { - $this->waring->set(__('bloc is empty')); + $this->warning->add(__('bloc is empty')); return null; } diff --git a/src/Task/PhpStan.php b/src/Task/PhpStan.php index f13c0c4..5c4d812 100644 --- a/src/Task/PhpStan.php +++ b/src/Task/PhpStan.php @@ -102,7 +102,7 @@ class PhpStan extends Task return null; } - public function configure($url): ?string + public function configure(string $url): string { if (!empty($_POST['save'])) { $this->settings->set([ diff --git a/src/Task/Zip.php b/src/Task/Zip.php index af4f4b3..a0a0d6d 100644 --- a/src/Task/Zip.php +++ b/src/Task/Zip.php @@ -104,7 +104,7 @@ class Zip extends Task return !empty($this->settings->get('pack_repository')) && !empty($this->settings->get('pack_filename')); } - public function configure($url): ?string + public function configure(string $url): string { if (!empty($_POST['save'])) { $this->settings->set([ @@ -231,8 +231,8 @@ class Zip extends Task $this->module->getId(), true ); - $zip->close(); $zip->write(); + $zip->close(); unset($zip); $this->success->add(sprintf(__('Zip module into "%s"'), $path)); diff --git a/src/TaskDescriptor.php b/src/TaskDescriptor.php index 8ebb9ff..5cf8431 100644 --- a/src/TaskDescriptor.php +++ b/src/TaskDescriptor.php @@ -46,10 +46,6 @@ class TaskDescriptor int $priority = 500 ) { // Overload task priority from settings - if (!is_null(dcCore::app()->blog) && 1 < ($p = (int) dcCore::app()->blog?->settings->get(My::id())->get(self::PREFIX . $this->id))) { - $this->priority = $p; - } else { - $this->priority = abs($priority); - } + $this->priority = !is_null(dcCore::app()->blog) && 1 < ($p = (int) dcCore::app()->blog->settings->get(My::id())->get(self::PREFIX . $this->id)) ? $p : abs($priority); } } diff --git a/src/TaskMessages.php b/src/TaskMessages.php index 3487cce..6b0d800 100644 --- a/src/TaskMessages.php +++ b/src/TaskMessages.php @@ -58,7 +58,7 @@ class TaskMessages /** * Get a path messages. * - * @param string The path + * @param string $path The path * * @return array The messages */ diff --git a/src/TaskSettings.php b/src/TaskSettings.php index 2ecc9e5..62f43ac 100644 --- a/src/TaskSettings.php +++ b/src/TaskSettings.php @@ -15,6 +15,7 @@ declare(strict_types=1); namespace Dotclear\Plugin\improve; use dcCore; +use Exception; /** * Task settings management. @@ -30,7 +31,7 @@ class TaskSettings /** * Constructor sets settings suffix. * - * @param string $suffit The settings suffix (ie taks id) + * @param string $suffix The settings suffix (ie taks id) */ public function __construct( private string $suffix @@ -73,7 +74,7 @@ class TaskSettings /** * Save settings. */ - public function save() + public function save(): void { if (!is_null(dcCore::app()->blog)) { dcCore::app()->blog->settings->get(My::id())->put(