From 5de4157539fb6e162d5d7d89f0eb7bf4ba8bfc90 Mon Sep 17 00:00:00 2001 From: Matthieu Marcillaud <marcimat@rezo.net> Date: Fri, 17 Mar 2023 18:41:12 +0100 Subject: [PATCH] chore: Rector up to PHP 7.4 --- action/editer_tradlang.php | 68 ++--- action/tradlang_bon_a_pousser.php | 4 +- action/tradlang_creer_langue_cible.php | 6 +- action/tradlang_exporter_langue.php | 14 +- action/tradlang_exporter_zip.php | 14 +- action/tradlang_supprimer_langue_cible.php | 29 +- base/tradlang.php | 99 +++---- export_lang/csv.php | 10 +- export_lang/po.php | 30 ++- export_lang/spip.php | 11 +- formulaires/configurer_tradlang.php | 23 +- formulaires/editer_tradlang.php | 34 ++- formulaires/editer_tradlang_module.php | 36 +-- .../inc-langues_preferees_fonctions.php | 2 +- formulaires/tradlang_choisir_module.php | 44 +-- formulaires/tradlang_importer_langue.php | 187 ++++++------- formulaires/tradlang_recherche_avancee.php | 24 +- formulaires/tradlang_switcher_langue.php | 20 +- genie/tradlang_maintenance.php | 10 +- inc/salvatore.php | 109 ++++---- inc/stats_trads_to_array.php | 33 ++- inc/tradlang_ajouter_code_langue.php | 33 ++- inc/tradlang_creer_premieres_revisions.php | 10 +- inc/tradlang_forum_extraire_titre.php | 11 +- inc/tradlang_sauvegarde_module.php | 4 +- inc/tradlang_supprimer_module.php | 20 +- inc/tradlang_verifier_bilans.php | 24 +- inc/tradlang_verifier_langue_base.php | 22 +- salvatore/ecriveur.php | 84 +++--- salvatore/lecteur.php | 112 ++++---- salvatore/pousseur.php | 28 +- salvatore/tireur.php | 8 +- salvatore/vcs/git.php | 20 +- salvatore/vcs/svn.php | 39 +-- spip-cli/SalvatoreEcrire.php | 6 +- spip-cli/SalvatoreLire.php | 4 +- spip-cli/SalvatoreOuvrager.php | 8 +- spip-cli/SalvatorePousser.php | 4 +- spip-cli/SalvatoreRecharger.php | 23 +- spip-cli/SalvatoreTirer.php | 4 +- spip-cli/SalvatoreUpgrade.php | 8 +- tradlang_administrations.php | 250 ++++++++---------- tradlang_autoriser.php | 35 +-- tradlang_fonctions.php | 49 ++-- tradlang_options.php | 6 +- tradlang_pipelines.php | 29 +- 46 files changed, 800 insertions(+), 848 deletions(-) diff --git a/action/editer_tradlang.php b/action/editer_tradlang.php index 7fb620a..8b6a1f3 100644 --- a/action/editer_tradlang.php +++ b/action/editer_tradlang.php @@ -12,14 +12,14 @@ function action_editer_tradlang_dist($arg = null) { // si id_tradlang n'est pas un nombre, c'est une creation // mais on verifie qu'on a toutes les donnees qu'il faut. - if (!$id_tradlang = intval($arg)) { + if (!$id_tradlang = (int) $arg) { return false; } // Enregistre l'envoi dans la BD $err = tradlang_set($arg); - return array($arg,''); + return [$arg, '']; } function tradlang_set($id_tradlang, $set = null) { @@ -32,7 +32,7 @@ function tradlang_set($id_tradlang, $set = null) { // white list objet_info('tradlang', 'champs_editables'), // black list - array(), + [], // donnees eventuellement fournies $set ); @@ -40,7 +40,7 @@ function tradlang_set($id_tradlang, $set = null) { /** * On vérifie s'il y a au moins un champ modifié pour ajouter l'id_auteur dans les traducteurs */ - $infos_tradlang = sql_fetsel('*', 'spip_tradlangs', 'id_tradlang = ' . intval($id_tradlang)); + $infos_tradlang = sql_fetsel('*', 'spip_tradlangs', 'id_tradlang = ' . (int) $id_tradlang); $modifie = false; foreach ($c as $champ => $valeur) { @@ -50,8 +50,8 @@ function tradlang_set($id_tradlang, $set = null) { } } - if ($modifie and ($GLOBALS['visiteur_session']['id_auteur'] > 0)) { - $traducteurs = array(); + if ($modifie && $GLOBALS['visiteur_session']['id_auteur'] > 0) { + $traducteurs = []; if ($infos_tradlang['traducteur']) { $traducteurs = array_map('trim', explode(',', $infos_tradlang['traducteur'])); } @@ -68,21 +68,21 @@ function tradlang_set($id_tradlang, $set = null) { if ($err = objet_modifier_champs( 'tradlang', $id_tradlang, - array( + [ 'data' => $set, - 'nonvide' => array(), + 'nonvide' => [], 'invalideur' => $invalideur, - 'indexation' => true, - ), + 'indexation' => true + ], $c )) { return $err; } - if (($statut = (in_array(_request('statut'), array('NEW', 'MODIF', 'OK', 'RELIRE'))) ? _request('statut') : $c['statut']) and ($statut != $infos_tradlang['statut'])) { - sql_updateq('spip_tradlangs', array('statut' => $statut), 'id_tradlang = ' . intval($id_tradlang)); - $infos_maj = array(); - $bilan = sql_fetsel('chaines_ok,chaines_relire,chaines_modif,chaines_new', 'spip_tradlangs_bilans', 'id_tradlang_module=' . intval($infos_tradlang['id_tradlang_module']) . ' AND lang=' . sql_quote($infos_tradlang['lang'])); + if (($statut = (in_array(_request('statut'), ['NEW', 'MODIF', 'OK', 'RELIRE'])) ? _request('statut') : $c['statut']) && $statut != $infos_tradlang['statut']) { + sql_updateq('spip_tradlangs', ['statut' => $statut], 'id_tradlang = ' . (int) $id_tradlang); + $infos_maj = []; + $bilan = sql_fetsel('chaines_ok,chaines_relire,chaines_modif,chaines_new', 'spip_tradlangs_bilans', 'id_tradlang_module=' . (int) $infos_tradlang['id_tradlang_module'] . ' AND lang=' . sql_quote($infos_tradlang['lang'])); if ($statut == 'OK') { $infos_maj['chaines_ok'] = ($bilan['chaines_ok']+1); } elseif ($statut == 'RELIRE') { @@ -103,7 +103,7 @@ function tradlang_set($id_tradlang, $set = null) { $infos_maj['chaines_new'] = ($bilan['chaines_new']-1); } - sql_updateq('spip_tradlangs_bilans', $infos_maj, 'id_tradlang_module=' . intval($infos_tradlang['id_tradlang_module']) . ' AND lang=' . sql_quote($infos_tradlang['lang'])); + sql_updateq('spip_tradlangs_bilans', $infos_maj, 'id_tradlang_module=' . (int) $infos_tradlang['id_tradlang_module'] . ' AND lang=' . sql_quote($infos_tradlang['lang'])); } //$c = collecter_requests(array('statut'),array(),$set); @@ -123,40 +123,40 @@ function instituer_tradlang($id_tradlang, $c) { include_spip('inc/rubriques'); include_spip('inc/modifier'); - $statut = sql_getfetsel('statut', 'spip_tradlangs', 'id_tradlang = ' . intval($id_tradlang)); + $statut = sql_getfetsel('statut', 'spip_tradlangs', 'id_tradlang = ' . (int) $id_tradlang); $statut_ancien = $statut = $statut; - $champs = array(); + $champs = []; - $s = isset($c['statut'])?$c['statut']:$statut; + $s = $c['statut'] ?? $statut; // cf autorisations dans inc/instituer_article if ($s != $statut) { if (autoriser('modifier', 'tradlang', $id_tradlang)) { $statut = $champs['statut'] = $s; } else { - spip_log("editer_tradlang $id_tradlang refus " . join(' ', $c)); + spip_log("editer_tradlang $id_tradlang refus " . implode(' ', $c)); } } // Envoyer aux plugins $champs = pipeline( 'pre_edition', - array( - 'args' => array( + [ + 'args' => [ 'table' => 'spip_tradlangs', 'objet' => 'tradlang', 'id_objet' => $id_tradlang, 'action'=>'instituer', - 'statut_ancien' => $statut_ancien, - ), + 'statut_ancien' => $statut_ancien + ], 'data' => $champs - ) + ] ); - if (!count($champs)) { + if (!(is_countable($champs) ? count($champs) : 0)) { return; } // Envoyer les modifs. - sql_updateq('spip_tradlangs', $champs, 'id_tradlang = ' . intval($id_tradlang)); + sql_updateq('spip_tradlangs', $champs, 'id_tradlang = ' . (int) $id_tradlang); // Invalider les caches include_spip('inc/invalideur'); @@ -165,22 +165,24 @@ function instituer_tradlang($id_tradlang, $c) { // Pipeline pipeline( 'post_edition', - array( - 'args' => array( + [ + 'args' => [ 'table' => 'spip_tradlangs', 'objet' => 'tradlang', 'id_objet' => $id_tradlang, 'action'=>'instituer', - 'statut_ancien' => $statut_ancien, - ), + 'statut_ancien' => $statut_ancien + ], 'data' => $champs - ) + ] ); // Notifications if ($notifications = charger_fonction('notifications', 'inc')) { - $notifications('instituertradlang', $id_tradlang, - array('statut' => $statut, 'statut_ancien' => $statut_ancien) + $notifications( + 'instituertradlang', + $id_tradlang, + ['statut' => $statut, 'statut_ancien' => $statut_ancien] ); } diff --git a/action/tradlang_bon_a_pousser.php b/action/tradlang_bon_a_pousser.php index a01164a..5410a02 100644 --- a/action/tradlang_bon_a_pousser.php +++ b/action/tradlang_bon_a_pousser.php @@ -16,14 +16,14 @@ function action_tradlang_bon_a_pousser_dist(){ $securiser_action = charger_fonction('securiser_action', 'inc'); $arg = $securiser_action(); - $id_tradlang_module = intval($arg); + $id_tradlang_module = (int) $arg; if (!$id_tradlang_module){ spip_log("action_tradlang_bon_a_pousser $arg pas compris", 'tradlang.' . _LOG_ERREUR); return false; } - sql_updateq("spip_tradlang_modules", array('bon_a_pousser' => 1), 'id_tradlang_module=' . intval($id_tradlang_module)); + sql_updateq("spip_tradlang_modules", ['bon_a_pousser' => 1], 'id_tradlang_module=' . (int) $id_tradlang_module); include_spip('inc/invalideur'); suivre_invalideur("'tradlang_module/id=$id_tradlang_module'"); diff --git a/action/tradlang_creer_langue_cible.php b/action/tradlang_creer_langue_cible.php index 801bf99..910e142 100644 --- a/action/tradlang_creer_langue_cible.php +++ b/action/tradlang_creer_langue_cible.php @@ -16,13 +16,13 @@ function action_tradlang_creer_langue_cible_dist() { return false; } - $id_tradlang_module = intval($arg); + $id_tradlang_module = (int) $arg; include_spip('inc/autoriser'); $lang_crea = _request('lang_crea'); - if ($lang_crea and $id_tradlang_module and autoriser('modifier', 'tradlang')) { + if ($lang_crea && $id_tradlang_module && autoriser('modifier', 'tradlang')) { // Import de la langue mere - $infos_module = sql_fetsel('*', 'spip_tradlang_modules', 'id_tradlang_module = ' . intval($id_tradlang_module)); + $infos_module = sql_fetsel('*', 'spip_tradlang_modules', 'id_tradlang_module = ' . (int) $id_tradlang_module); if (!$infos_module) { spip_log("action_tradlang_creer_langue_cible : infos_module #$id_tradlang_module non existant", 'tradlang.' . _LOG_ERREUR); } else { diff --git a/action/tradlang_exporter_langue.php b/action/tradlang_exporter_langue.php index 4fc4dbe..7eba36f 100644 --- a/action/tradlang_exporter_langue.php +++ b/action/tradlang_exporter_langue.php @@ -13,18 +13,20 @@ if (!defined('_ECRIRE_INC_VERSION')) { } function action_tradlang_exporter_langue_dist() { + $level = null; + $lang_crea = null; $securiser_action = charger_fonction('securiser_action', 'inc'); $arg = $securiser_action(); - if (!preg_match(',^([0-9]+)\/(\w+)?(\/?(\w*))?(\/?(\w*))$,', $arg, $r)) { + if (!preg_match(',^(\d+)\/(\w+)?(\/?(\w*))?(\/?(\w*))$,', $arg, $r)) { spip_log("action_tradlang_exporter_langue_dist $arg pas compris", 'tradlang'); } - $id_tradlang_module = intval($r[1]); + $id_tradlang_module = (int) $r[1]; $lang_cible = $r[2]; - $type = $r[4] ? $r[4] : false; - $tout = ($r[6] == 'non') ? false : true; - if ($lang_cible and intval($id_tradlang_module) and sql_countsel('spip_tradlangs', 'id_tradlang_module = ' . intval($id_tradlang_module) . ' AND lang = ' . sql_quote($lang_cible))) { - $module = sql_getfetsel('module', 'spip_tradlang_modules', 'id_tradlang_module = ' . intval($id_tradlang_module)); + $type = $r[4] ?: false; + $tout = $r[6] != 'non'; + if ($lang_cible && (int) $id_tradlang_module && sql_countsel('spip_tradlangs', 'id_tradlang_module = ' . (int) $id_tradlang_module . ' AND lang = ' . sql_quote($lang_cible))) { + $module = sql_getfetsel('module', 'spip_tradlang_modules', 'id_tradlang_module = ' . (int) $id_tradlang_module); $tradlang_sauvegarde_module = charger_fonction('tradlang_sauvegarde_module', 'inc'); $fichier = $tradlang_sauvegarde_module($module, $lang_cible, false, $type, $tout); if (file_exists($fichier)) { diff --git a/action/tradlang_exporter_zip.php b/action/tradlang_exporter_zip.php index 7bb78f5..b795618 100644 --- a/action/tradlang_exporter_zip.php +++ b/action/tradlang_exporter_zip.php @@ -13,6 +13,8 @@ if (!defined('_ECRIRE_INC_VERSION')) { } function action_tradlang_exporter_zip_dist() { + $fichier = null; + $chemin = null; $securiser_action = charger_fonction('securiser_action', 'inc'); $arg = $securiser_action(); @@ -20,14 +22,14 @@ function action_tradlang_exporter_zip_dist() { spip_log("action_tradlang_exporter_langue_dist $arg pas compris", 'tradlang'); } - $id_tradlang_module = intval($r[1]); + $id_tradlang_module = (int) $r[1]; include_spip('inc/autoriser'); - if (intval($id_tradlang_module) and autoriser('modifier', 'tradlang') and sql_countsel('spip_tradlangs', 'id_tradlang_module = ' . intval($id_tradlang_module))) { - $module = sql_getfetsel('module', 'spip_tradlang_modules', 'id_tradlang_module = ' . intval($id_tradlang_module)); - $langues = sql_select('lang', 'spip_tradlangs', 'id_tradlang_module = ' . intval($id_tradlang_module), 'lang'); + if ((int) $id_tradlang_module && autoriser('modifier', 'tradlang') && sql_countsel('spip_tradlangs', 'id_tradlang_module = ' . (int) $id_tradlang_module)) { + $module = sql_getfetsel('module', 'spip_tradlang_modules', 'id_tradlang_module = ' . (int) $id_tradlang_module); + $langues = sql_select('lang', 'spip_tradlangs', 'id_tradlang_module = ' . (int) $id_tradlang_module, 'lang'); $tradlang_sauvegarde_module = charger_fonction('tradlang_sauvegarde_module', 'inc'); - $fichiers = array(); + $fichiers = []; $zip = ''; /** @@ -43,7 +45,7 @@ function action_tradlang_exporter_zip_dist() { /** * On crée le zip */ - if (count($fichier) > 0) { + if ((is_countable($fichier) ? count($fichier) : 0) > 0) { $dir_lang = _DIR_VAR.'cache-lang/'.$module.'/'; if (!is_dir(_DIR_VAR . 'cache-lang/')) { sous_repertoire(_DIR_VAR, 'cache-lang'); diff --git a/action/tradlang_supprimer_langue_cible.php b/action/tradlang_supprimer_langue_cible.php index 53838d4..c5cbe69 100644 --- a/action/tradlang_supprimer_langue_cible.php +++ b/action/tradlang_supprimer_langue_cible.php @@ -20,18 +20,20 @@ function action_tradlang_supprimer_langue_cible_dist() { spip_log("action_tradlang_creer_langue_cible $arg pas compris", 'tradlang'); return false; } - $id_tradlang_module = intval($r[1]); + $id_tradlang_module = (int) $r[1]; $lang_cible = $r[2]; include_spip('inc/autoriser'); - if ($lang_cible - and intval($id_tradlang_module) - and autoriser('modifier', 'tradlang') - and !sql_countsel('spip_tradlangs', 'id_tradlang_module = ' . intval($id_tradlang_module) . ' AND lang = ' . sql_quote($lang_cible) . " AND statut='OK'")) { + if ( + $lang_cible + && (int) $id_tradlang_module + && autoriser('modifier', 'tradlang') + && !sql_countsel('spip_tradlangs', 'id_tradlang_module = ' . (int) $id_tradlang_module . ' AND lang = ' . sql_quote($lang_cible) . " AND statut='OK'") + ) { if (!_request('confirm')) { - $row_module = sql_fetsel('*', 'spip_tradlang_modules', 'id_tradlang_module = ' . intval($id_tradlang_module)); - $titre = $row_module['nom_mod'] .': ' . _T('tradlang:confirm_suppression_langue_cible', array('lang' => $lang_cible)); + $row_module = sql_fetsel('*', 'spip_tradlang_modules', 'id_tradlang_module = ' . (int) $id_tradlang_module); + $titre = $row_module['nom_mod'] .': ' . _T('tradlang:confirm_suppression_langue_cible', ['lang' => $lang_cible]); $btn_label = _T('tradlang:bouton_supprimer_langue_module'); $redirect = _request('redirect'); $url_action = generer_action_auteur('tradlang_supprimer_langue_cible', "$id_tradlang_module/$lang_cible", $redirect); @@ -42,17 +44,16 @@ function action_tradlang_supprimer_langue_cible_dist() { echo minipres($titre, "<style>h1{font-weight: normal}#minipres{text-align: center}</style>". bouton_action($btn_label,$url_action), '', true); exit; - } - else { + } else { /** * Suppression des versions et urls */ - $tradlangs = sql_allfetsel('id_tradlang', 'spip_tradlangs', 'id_tradlang_module = ' . intval($id_tradlang_module).' AND lang='.sql_quote($lang_cible)); - $tradlangs_supprimer = array(); + $tradlangs = sql_allfetsel('id_tradlang', 'spip_tradlangs', 'id_tradlang_module = ' . (int) $id_tradlang_module.' AND lang='.sql_quote($lang_cible)); + $tradlangs_supprimer = []; foreach ($tradlangs as $tradlang) { $tradlangs_supprimer[] = $tradlang['id_tradlang']; } - if (count($tradlangs_supprimer)) { + if ($tradlangs_supprimer !== []) { sql_delete('spip_versions', 'objet="tradlang" AND ' . sql_in('id_objet', $tradlangs_supprimer)); sql_delete('spip_versions_fragments', 'objet="tradlang" AND ' . sql_in('id_objet', $tradlangs_supprimer)); sql_delete('spip_urls', 'type="tradlang" AND ' . sql_in('id_objet', $tradlangs_supprimer)); @@ -60,11 +61,11 @@ function action_tradlang_supprimer_langue_cible_dist() { /** * Suppression des chaînes de langue */ - sql_delete('spip_tradlangs', 'id_tradlang_module = ' . intval($id_tradlang_module) . ' AND lang = ' . sql_quote($lang_cible)); + sql_delete('spip_tradlangs', 'id_tradlang_module = ' . (int) $id_tradlang_module . ' AND lang = ' . sql_quote($lang_cible)); /** * Suppression des bilans de cette langue */ - sql_delete('spip_tradlangs_bilans', 'id_tradlang_module = ' . intval($id_tradlang_module) . ' AND lang = ' . sql_quote($lang_cible)); + sql_delete('spip_tradlangs_bilans', 'id_tradlang_module = ' . (int) $id_tradlang_module . ' AND lang = ' . sql_quote($lang_cible)); include_spip('inc/invalideur'); suivre_invalideur('1'); if ($redirect = _request('redirect')){ diff --git a/base/tradlang.php b/base/tradlang.php index efa6dd6..cd19584 100644 --- a/base/tradlang.php +++ b/base/tradlang.php @@ -22,7 +22,7 @@ function tradlang_declarer_tables_interfaces($interface) { function tradlang_declarer_tables_objets_sql($tables) { $tables['spip_auteurs']['field']['langues_preferees'] = "text DEFAULT '' NOT NULL"; $tables['spip_grappes']['champs_versionnes'][] = 'jointure_tradlang_modules'; - $tables['spip_tradlang_modules'] = array( + $tables['spip_tradlang_modules'] = [ 'texte_retour' => 'icone_retour', 'texte_objet' => 'tradlang:titre_tradlang_module', 'texte_objets' => 'tradlang:titre_tradlang_modules', @@ -33,7 +33,7 @@ function tradlang_declarer_tables_objets_sql($tables) { 'info_nb_objets' => 'tradlang:info_nb_tradlang_module', 'titre' => "nom_mod AS titre, '' AS lang", 'principale' => 'oui', - 'field'=> array( + 'field'=> [ "id_tradlang_module" => "bigint(21) NOT NULL AUTO_INCREMENT", "module" => "varchar(128) NOT NULL", "nom_mod" => "text DEFAULT '' NOT NULL", @@ -47,26 +47,26 @@ function tradlang_declarer_tables_objets_sql($tables) { "lang_prefix" => "varchar(32) NOT NULL", "limite_trad" => "tinyint NOT NULL DEFAULT 0", "bon_a_pousser" => "tinyint NOT NULL DEFAULT 0" - ), - 'key' => array( + ], + 'key' => [ 'PRIMARY KEY' => 'id_tradlang_module', 'UNIQUE dir_module' => 'dir_module', 'KEY module' => 'module' - ), - 'join' => array( + ], + 'join' => [ 'id_tradlang_module' => 'id_tradlang_module', 'module' => 'module' - ), - 'rechercher_champs' => array( + ], + 'rechercher_champs' => [ 'module' => 8, 'nom_mod' => 8, 'texte' => 8, 'priorite' => 3 - ), - 'champs_versionnes' => array('module','nom_mod','texte','lang_mere','priorite','limite_trad') - ); + ], + 'champs_versionnes' => ['module','nom_mod','texte','lang_mere','priorite','limite_trad'] + ]; - $tables['spip_tradlangs'] = array( + $tables['spip_tradlangs'] = [ 'page'=>'tradlang', 'texte_retour' => 'icone_retour', 'texte_objets' => 'tradlang:titre_tradlang_chaines', @@ -75,9 +75,9 @@ function tradlang_declarer_tables_objets_sql($tables) { 'info_1_objet' => 'tradlang:info_1_tradlang', 'info_nb_objets' => 'tradlang:info_nb_tradlang', 'date' => 'date_modif', - 'champs_editables' => array('str','comm','traducteur','statut','md5'), + 'champs_editables' => ['str','comm','traducteur','statut','md5'], 'principale' => 'oui', - 'field'=> array( + 'field'=> [ "id_tradlang" => "bigint(21) NOT NULL AUTO_INCREMENT", "id_tradlang_module" => "bigint(21) NOT NULL DEFAULT '0'", "titre" => "text DEFAULT '' NOT NULL", @@ -93,18 +93,19 @@ function tradlang_declarer_tables_objets_sql($tables) { "orig" => "tinyint(4) NOT NULL default '0'", "date_modif" => "datetime default NULL", "maj" => "timestamp NOT NULL" - ), + ], /** * Laisser le statut ici sinon on n'agit plus sur le pipeline pre_boucle */ - 'statut' => array( - array( + 'statut' => [ + [ 'champ'=>'statut', 'publie'=>'OK,NEW,MODIF,RELIRE', 'previsu'=>'OK,NEW,MODIF,RELIRE', - 'exception'=>'statut') - ), - 'key' => array( + 'exception'=>'statut' + ] + ], + 'key' => [ 'PRIMARY KEY' => 'id_tradlang', 'UNIQUE id_tradlang_module_id_lang' => 'id_tradlang_module,id,lang', 'KEY id_tradlang_module' => 'id_tradlang_module', @@ -114,30 +115,30 @@ function tradlang_declarer_tables_objets_sql($tables) { 'KEY statut' => 'statut', 'KEY module_lang' => 'module,lang', 'KEY id_tradlang_module_lang_statut' => 'id_tradlang_module,lang,statut', // accelere le calcul des bilans - ), - 'join' => array( + ], + 'join' => [ 'id_tradlang' => 'id_tradlang', 'module' =>'module' - ), - 'statut_images' => array( + ], + 'statut_images' => [ 'OK' => 'tradlang_statut_ok.png', 'NEW' => 'tradlang_statut_new.png', 'MODIF' => 'tradlang_statut_modif.png', 'RELIRE' => 'tradlang_statut_relire.png' - ), - 'statut_textes_instituer' => array( + ], + 'statut_textes_instituer' => [ 'OK' => 'tradlang:str_status_traduit', 'NEW' => 'tradlang:str_status_new', 'MODIF' => 'tradlang:str_status_modif', 'RELIRE' => 'tradlang:str_status_relire' - ), - 'rechercher_champs' => array( + ], + 'rechercher_champs' => [ 'id' => 8, 'str' => 8, 'comm' => 4 - ), - 'champs_versionnes' => array('str','comm','traducteur','statut') - ); + ], + 'champs_versionnes' => ['str','comm','traducteur','statut'] + ]; return $tables; } @@ -148,26 +149,28 @@ function tradlang_declarer_tables_objets_sql($tables) { */ function tradlang_declarer_tables_auxiliaires($tables_auxiliaires) { - $spip_tradlangs_bilans = array( - "id_tradlang_module" => "bigint(21) NOT NULL", - "module" => "varchar(128) NOT NULL", - "lang" => "varchar(10) DEFAULT '' NOT NULL", - "chaines_total" => "smallint(5) DEFAULT '0' NOT NULL", - "chaines_ok" => "smallint(5) DEFAULT '0' NOT NULL", - "chaines_relire" => "smallint(5) DEFAULT '0' NOT NULL", - "chaines_modif" => "smallint(5) DEFAULT '0' NOT NULL", - "chaines_new" => "smallint(5) DEFAULT '0' NOT NULL", - "maj" => "timestamp NOT NULL"); + $spip_tradlangs_bilans = [ + "id_tradlang_module" => "bigint(21) NOT NULL", + "module" => "varchar(128) NOT NULL", + "lang" => "varchar(10) DEFAULT '' NOT NULL", + "chaines_total" => "smallint(5) DEFAULT '0' NOT NULL", + "chaines_ok" => "smallint(5) DEFAULT '0' NOT NULL", + "chaines_relire" => "smallint(5) DEFAULT '0' NOT NULL", + "chaines_modif" => "smallint(5) DEFAULT '0' NOT NULL", + "chaines_new" => "smallint(5) DEFAULT '0' NOT NULL", + "maj" => "timestamp NOT NULL" + ]; - $spip_tradlangs_bilans_keys = array( - 'UNIQUE id_module_lang' => 'id_tradlang_module,lang', - 'KEY module' => 'module', - 'KEY lang' => 'lang' - ); + $spip_tradlangs_bilans_keys = [ + 'UNIQUE id_module_lang' => 'id_tradlang_module,lang', + 'KEY module' => 'module', + 'KEY lang' => 'lang' + ]; - $tables_auxiliaires['spip_tradlangs_bilans'] = array( + $tables_auxiliaires['spip_tradlangs_bilans'] = [ 'field' => &$spip_tradlangs_bilans, - 'key' => &$spip_tradlangs_bilans_keys); + 'key' => &$spip_tradlangs_bilans_keys + ]; return $tables_auxiliaires; } diff --git a/export_lang/csv.php b/export_lang/csv.php index f575af4..66ade8f 100644 --- a/export_lang/csv.php +++ b/export_lang/csv.php @@ -25,7 +25,7 @@ if (!defined('_ECRIRE_INC_VERSION')) { * Le fichier final */ function export_lang_csv_dist($module, $langue, $dir_lang) { - $chaines_csv=$tous=array(); + $chaines_csv=$tous=[]; /** * Le fichier final @@ -41,7 +41,7 @@ function export_lang_csv_dist($module, $langue, $dir_lang) { /** * Les chaines */ - $res = sql_allfetsel('id,str,statut,comm', 'spip_tradlangs', 'id_tradlang_module = ' . intval($info_module['id_tradlang_module']) . ' AND lang=' . sql_quote($langue) . ' AND statut != "attic"', 'id'); + $res = sql_allfetsel('id,str,statut,comm', 'spip_tradlangs', 'id_tradlang_module = ' . (int) $info_module['id_tradlang_module'] . ' AND lang=' . sql_quote($langue) . ' AND statut != "attic"', 'id'); foreach ($res as $row) { $tous[$row['id']] = $row; } @@ -55,11 +55,11 @@ function export_lang_csv_dist($module, $langue, $dir_lang) { $newmd5 = md5($str); if ($oldmd5 !== $newmd5) { - sql_updateq('spip_tradlangs', array('md5'=>$newmd5), 'md5 = '.sql_quote($oldmd5) . ' AND id_tradlang_module = ' . intval($info_module['id_tradlang_module'])); + sql_updateq('spip_tradlangs', ['md5'=>$newmd5], 'md5 = '.sql_quote($oldmd5) . ' AND id_tradlang_module = ' . (int) $info_module['id_tradlang_module']); } - $str_original = sql_getfetsel('str', 'spip_tradlangs', 'id = '.sql_quote($id).' AND id_tradlang_module = ' . intval($info_module['id_tradlang_module']).' AND lang = ' . sql_quote($info_module['lang_mere'])); + $str_original = sql_getfetsel('str', 'spip_tradlangs', 'id = '.sql_quote($id).' AND id_tradlang_module = ' . (int) $info_module['id_tradlang_module'].' AND lang = ' . sql_quote($info_module['lang_mere'])); - $chaine = array('id' => $row['id'],'str_orig'=>$str_original,'str'=>$str,'statut'=>$row['statut'],'comm'=>$row['comm']); + $chaine = ['id' => $row['id'], 'str_orig'=>$str_original, 'str'=>$str, 'statut'=>$row['statut'], 'comm'=>$row['comm']]; $chaines_csv[] = $chaine; unset($tous[$id]); } diff --git a/export_lang/po.php b/export_lang/po.php index e16084d..f42d0d9 100644 --- a/export_lang/po.php +++ b/export_lang/po.php @@ -28,7 +28,9 @@ if (!defined('_ECRIRE_INC_VERSION')) { * Le fichier final */ function export_lang_po_dist($module, $langue, $dir_lang) { - $x=$tous=array(); + $traducteurs = []; + $lang = null; + $x=$tous=[]; $contenu = ''; /** @@ -50,25 +52,25 @@ function export_lang_po_dist($module, $langue, $dir_lang) { * On ajoute une liste de traducteurs en entête de fichier (non obligatoire) * On ajoute également l'item "Last-Translator : user <email>" dans les métas ($last_auteur) */ - $last_auteur = array(); + $last_auteur = []; if ($langue != $info_module['lang_mere']) { - $traducteur = sql_fetsel('id_tradlang,traducteur', 'spip_tradlangs', 'id_tradlang_module = ' . intval($info_module['id_tradlang_module']) . ' AND lang = '.sql_quote($langue), '', 'maj DESC', '0,1'); + $traducteur = sql_fetsel('id_tradlang,traducteur', 'spip_tradlangs', 'id_tradlang_module = ' . (int) $info_module['id_tradlang_module'] . ' AND lang = '.sql_quote($langue), '', 'maj DESC', '0,1'); if (is_numeric($traducteur['traducteur'])) { $id_auteur = $traducteur['traducteur']; } else { - $id_auteur = sql_getfetsel('id_auteur', 'spip_versions', 'objet="tradlang" AND id_objet = ' . intval($traducteur['id_tradlang']), '', 'id_version DESC', '0,1'); + $id_auteur = sql_getfetsel('id_auteur', 'spip_versions', 'objet="tradlang" AND id_objet = ' . (int) $traducteur['id_tradlang'], '', 'id_version DESC', '0,1'); } - $last_auteur = sql_fetsel('nom,email', 'spip_auteurs', 'id_auteur=' . intval($id_auteur)); + $last_auteur = sql_fetsel('nom,email', 'spip_auteurs', 'id_auteur=' . (int) $id_auteur); - $traducteurs[$lang] = array(); - $people_unique = array(); - $liste_traducteurs = sql_select('DISTINCT(traducteur)', 'spip_tradlangs', 'id_tradlang_module = '.intval($info_module['id_tradlang_module']) . ' AND lang = ' . sql_quote($langue)); + $traducteurs[$lang] = []; + $people_unique = []; + $liste_traducteurs = sql_select('DISTINCT(traducteur)', 'spip_tradlangs', 'id_tradlang_module = '.(int) $info_module['id_tradlang_module'] . ' AND lang = ' . sql_quote($langue)); while ($t = sql_fetch($liste_traducteurs)) { $traducteurs_lang = explode(',', $t['traducteur']); foreach ($traducteurs_lang as $traducteur) { if (!in_array($traducteur, $people_unique)) { - if (is_numeric($traducteur) and $id_auteur=intval($traducteur)) { + if (is_numeric($traducteur) && ($id_auteur=(int) $traducteur)) { $traducteur_supp['nom'] = extraire_multi(sql_getfetsel('nom', 'spip_auteurs', 'id_auteur = ' . $id_auteur)); $traducteur_supp['lien'] = url_absolue(generer_url_entite($id_auteur, 'auteur'), $url_site); } elseif (trim(strlen($traducteur)) > 0) { @@ -99,7 +101,7 @@ function export_lang_po_dist($module, $langue, $dir_lang) { $contenu .= '# This is a SPIP language file -- Ceci est un fichier langue de SPIP # extrait automatiquement de '.$url_trad.' ' -. (isset($trad_texte) ? $trad_texte : '') +. ($trad_texte ?? '') . 'msgid "" msgstr "" "Project-Id-Version: '.$info_module['nom_mod'].'\n" @@ -128,7 +130,7 @@ msgstr "" * msgid "Item dans la langue originale" * msgstr "Item dans la langue actuelle (traduit), si non traduit, vide" */ - $res=sql_allfetsel("*","spip_tradlangs","id_tradlang_module=".intval($info_module['id_tradlang_module'])." AND lang=".sql_quote($langue)." AND statut != 'attic'","id"); + $res=sql_allfetsel("*","spip_tradlangs","id_tradlang_module=".(int) $info_module['id_tradlang_module']." AND lang=".sql_quote($langue)." AND statut != 'attic'","id"); foreach($res as $row){ $tous[$row['id']] = $row; } @@ -149,9 +151,9 @@ msgstr "" $newmd5 = md5($str); if ($oldmd5 !== $newmd5) { - sql_updateq('spip_tradlangs', array('md5' => $newmd5), 'md5 = '.sql_quote($oldmd5) . ' AND id_tradlang_module = ' . intval($info_module['id_tradlang_module'])); + sql_updateq('spip_tradlangs', ['md5' => $newmd5], 'md5 = '.sql_quote($oldmd5) . ' AND id_tradlang_module = ' . (int) $info_module['id_tradlang_module']); } - $str_original = sql_getfetsel('str', 'spip_tradlangs', 'id =' . sql_quote($id) . ' AND id_tradlang_module=' . intval($info_module['id_tradlang_module']) . ' AND lang=' . sql_quote($info_module['lang_mere'])); + $str_original = sql_getfetsel('str', 'spip_tradlangs', 'id =' . sql_quote($id) . ' AND id_tradlang_module=' . (int) $info_module['id_tradlang_module'] . ' AND lang=' . sql_quote($info_module['lang_mere'])); $x[] = ($row['comm'] ? '#' . $row['comm']."\n" : ''). ' #, '.(($row['statut'] == 'MODIF') ? 'fuzzy, php-format' : 'php-format')." @@ -161,7 +163,7 @@ msgstr \"".(($row['statut'] == 'NEW') ? '' : str_replace('"', '\"', $str))."\""; unset($tous[$id]); } - $contenu .= str_replace("\r\n", "\n", join("\n", $x)); + $contenu .= str_replace("\r\n", "\n", implode("\n", $x)); ecrire_fichier($fichier, $contenu); return $fichier; diff --git a/export_lang/spip.php b/export_lang/spip.php index f991cc0..5463830 100644 --- a/export_lang/spip.php +++ b/export_lang/spip.php @@ -27,6 +27,7 @@ if (!defined('_ECRIRE_INC_VERSION')) { * Le fichier final */ function export_lang_spip_dist($module, $langue, $dir_lang, $tout = false) { + $url_trad = null; /** * Le fichier final * local/cache-lang/module_lang.php @@ -39,7 +40,7 @@ function export_lang_spip_dist($module, $langue, $dir_lang, $tout = false) { $where .= " AND statut IN ('OK','MODIF','RELIRE')"; } $res=sql_allfetsel('id,str,comm,statut', 'spip_tradlangs', $where, 'id'); - $x=array(); + $x=[]; $prev = ''; /** * on part de l'origine comme ca on a tout @@ -51,11 +52,11 @@ function export_lang_spip_dist($module, $langue, $dir_lang, $tout = false) { } ksort($tous); foreach ($tous as $row) { - if ($prev != strtoupper($row['id'][0])) { + if ($prev !== strtoupper($row['id'][0])) { $x[] = "\n$tab// ".strtoupper($row['id'][0]); } $prev = strtoupper($row['id'][0]); - if (strlen($row['statut']) and ($row['statut'] != 'OK')) { + if (strlen($row['statut']) && $row['statut'] != 'OK') { $row['comm'] .= ' '.$row['statut']; } if (trim($row['comm'])) { @@ -71,7 +72,7 @@ function export_lang_spip_dist($module, $langue, $dir_lang, $tout = false) { $str = unicode_to_utf_8(html_entity_decode(preg_replace('/&([lg]t;)/S', '&\1', $str), ENT_NOQUOTES, 'utf-8')); $newmd5 = md5($str); if ($oldmd5 !== $newmd5) { - sql_updateq('spip_tradlangs', array('md5'=>$newmd5), 'md5 = ' . sql_quote($oldmd5) . ' AND module = '.sql_quote($module)); + sql_updateq('spip_tradlangs', ['md5'=>$newmd5], 'md5 = ' . sql_quote($oldmd5) . ' AND module = '.sql_quote($module)); } $x[] = "$tab".var_export($row['id'], 1) . ' => ' . var_export($str, 1) . ',' . $row['comm'] ; @@ -93,7 +94,7 @@ function export_lang_spip_dist($module, $langue, $dir_lang, $tout = false) { */ $x[count($x)-1] = preg_replace('/,([^,]*)$/', '\1', $x[count($x)-1]); - $contenu = join("\n", $x); + $contenu = implode("\n", $x); /** * On écrit le fichier diff --git a/formulaires/configurer_tradlang.php b/formulaires/configurer_tradlang.php index 2a4f0d8..845c46f 100644 --- a/formulaires/configurer_tradlang.php +++ b/formulaires/configurer_tradlang.php @@ -7,7 +7,7 @@ if (!defined('_ECRIRE_INC_VERSION')) { function formulaires_configurer_tradlang_charger_dist() { $valeurs = @unserialize($GLOBALS['meta']['tradlang']); if (!is_array($valeurs)) { - $valeurs = array(); + $valeurs = []; } include_spip('inc/lang_liste'); @@ -17,20 +17,21 @@ function formulaires_configurer_tradlang_charger_dist() { } function formulaires_configurer_tradlang_verifier_dist() { - $erreurs = array(); - if (($langues_autorisees = _request('langues_autorisees')) and (count($langues_autorisees)<2)) { + $erreurs = []; + if (($langues_autorisees = _request('langues_autorisees')) && (is_countable($langues_autorisees) ? count($langues_autorisees) : 0)<2) { $erreurs['langues_autorisees'] = _T('tradlang:erreur_langues_autorisees_insuffisantes'); } $limite_trad = _request('seuil_export_tradlang'); - if (!is_numeric($limite_trad) || (intval($limite_trad) < 0) || (intval($limite_trad) > 100)) { + if (!is_numeric($limite_trad) || ((int) $limite_trad < 0) || ((int) $limite_trad > 100)) { $erreurs['seuil_export_tradlang'] = _T('tradlang:erreur_limite_trad_invalide'); } return $erreurs; } function formulaires_configurer_tradlang_traiter_dist() { - $res = array('editable'=>true); - foreach (array( + $config = []; + $res = ['editable'=>true]; + foreach ([ 'sauvegarde_locale', 'sauvegarde_post_edition', 'seuil_export_tradlang', @@ -46,10 +47,10 @@ function formulaires_configurer_tradlang_traiter_dist() { 'voir_type', 'voir_statuts', 'voir_auteurs' - ) as $m) { - if (!is_null($v = _request($m))) { - $config[$m] = _request($m); - } + ] as $m) { + if (!is_null($v = _request($m))) { + $config[$m] = _request($m); + } } $priorites = explode(';', _TRAD_PRIORITES); foreach ($priorites as $priorite) { @@ -68,7 +69,7 @@ function tradlang_test_repertoire_local() { if (!$dossier_squelettes && !is_dir(_DIR_RACINE.'squelettes')) { return false; } else { - $squelettes = $dossier_squelettes ? $dossier_squelettes : _DIR_RACINE.'squelettes/'; + $squelettes = $dossier_squelettes ?: _DIR_RACINE.'squelettes/'; } if (!is_dir($dir_lang = $squelettes.'lang')) { return false; diff --git a/formulaires/editer_tradlang.php b/formulaires/editer_tradlang.php index 721f23e..dcfc88b 100644 --- a/formulaires/editer_tradlang.php +++ b/formulaires/editer_tradlang.php @@ -8,8 +8,8 @@ include_spip('inc/actions'); include_spip('inc/editer'); function formulaires_editer_tradlang_charger($id_tradlang = 'aucun', $retour = '', $lang_orig = '') { - $valeurs = formulaires_editer_objet_charger('tradlang', $id_tradlang, 0, '', $retour, $config_fonc, $row, $hidden); - if (!intval($id_tradlang)) { + $valeurs = formulaires_editer_objet_charger('tradlang', $id_tradlang, 0, '', $retour); + if (!(int) $id_tradlang) { $valeurs['editable'] = false; $valeurs['message_erreur'] = _T('tradlang:erreur_id_tradlang_numerique'); } @@ -17,22 +17,18 @@ function formulaires_editer_tradlang_charger($id_tradlang = 'aucun', $retour = ' * Si on ne donne pas de langue original, on va chercher la langue mère */ $valeurs['lang_mere'] = sql_getfetsel('lang_mere', 'spip_tradlang_modules', 'module = ' . sql_quote($valeurs['module'])); - if (!$lang_orig) { - $valeurs['lang_orig'] = $valeurs['lang_mere']; - } else { - $valeurs['lang_orig'] = $lang_orig; - } + $valeurs['lang_orig'] = $lang_orig ?: $valeurs['lang_mere']; return $valeurs; } function formulaires_editer_tradlang_verifier($id_tradlang = 'aucun', $retour = '', $lang_orig = '') { - $erreurs = formulaires_editer_objet_verifier('tradlang', 0, array('str', 'statut')); + $erreurs = formulaires_editer_objet_verifier('tradlang', 0, ['str', 'statut']); /** * On vérifie ici que les variables @...@ des chaines de langue ne sont pas modifiées */ - $tradlang = sql_fetsel('chaine.id_tradlang_module,chaine.id,module.lang_mere', 'spip_tradlangs AS chaine LEFT JOIN spip_tradlang_modules AS module ON chaine.id_tradlang_module = module.id_tradlang_module', 'id_tradlang = ' . intval($id_tradlang)); - $tradlang_mere = sql_getfetsel('str', 'spip_tradlangs', 'id_tradlang_module = ' . intval($tradlang['id_tradlang_module']).' AND lang = ' . sql_quote($tradlang['lang_mere']) . ' AND id = ' . sql_quote($tradlang['id'])); + $tradlang = sql_fetsel('chaine.id_tradlang_module,chaine.id,module.lang_mere', 'spip_tradlangs AS chaine LEFT JOIN spip_tradlang_modules AS module ON chaine.id_tradlang_module = module.id_tradlang_module', 'id_tradlang = ' . (int) $id_tradlang); + $tradlang_mere = sql_getfetsel('str', 'spip_tradlangs', 'id_tradlang_module = ' . (int) $tradlang['id_tradlang_module'].' AND lang = ' . sql_quote($tradlang['lang_mere']) . ' AND id = ' . sql_quote($tradlang['id'])); if (preg_match_all(',@[^@]+@,i', $tradlang_mere, $variables)) { foreach ($variables[0] as $variable) { if (!preg_match("/$variable/", _request('str'))) { @@ -48,26 +44,26 @@ function formulaires_editer_tradlang_verifier($id_tradlang = 'aucun', $retour = } function formulaires_editer_tradlang_traiter($id_tradlang = 'aucun', $retour = '', $lang_orig = '') { - $res = formulaires_editer_objet_traiter('tradlang', $id_tradlang, $id_rubrique, $lier_trad, $retour, $config_fonc, $row, $hidden); + $res = formulaires_editer_objet_traiter('tradlang', $id_tradlang); if (!test_espace_prive()) { - $tradlang = sql_fetsel('*', 'spip_tradlangs', 'id_tradlang = ' . intval($id_tradlang)); - $module = sql_fetsel('module,nom_mod,lang_mere', 'spip_tradlang_modules', 'id_tradlang_module = ' . intval($tradlang['id_tradlang_module'])); - $lang_orig = $lang_orig ? $lang_orig:$module['lang_mere']; + $tradlang = sql_fetsel('*', 'spip_tradlangs', 'id_tradlang = ' . (int) $id_tradlang); + $module = sql_fetsel('module,nom_mod,lang_mere', 'spip_tradlang_modules', 'id_tradlang_module = ' . (int) $tradlang['id_tradlang_module']); + $lang_orig = $lang_orig ?: $module['lang_mere']; $url_module = parametre_url(parametre_url(generer_url_entite($tradlang['id_tradlang_module'], 'tradlang_module'), 'lang_orig', $lang_orig), 'lang_cible', $tradlang['lang']); $res['redirect'] = ''; - if ($id_tradlang_suivant = sql_getfetsel('id_tradlang', 'spip_tradlangs', 'id_tradlang_module = ' . intval($tradlang['id_tradlang_module']) . ' AND lang = ' . sql_quote($tradlang['lang']).' AND statut != "OK" AND id_tradlang > ' . intval($id_tradlang))) { + if ($id_tradlang_suivant = sql_getfetsel('id_tradlang', 'spip_tradlangs', 'id_tradlang_module = ' . (int) $tradlang['id_tradlang_module'] . ' AND lang = ' . sql_quote($tradlang['lang']).' AND statut != "OK" AND id_tradlang > ' . (int) $id_tradlang)) { $url_suivant = parametre_url(parametre_url(generer_url_entite($id_tradlang_suivant, 'tradlang'), 'lang_orig', $lang_orig), 'lang_cible', $tradlang['lang']); - } elseif ($id_tradlang_suivant = sql_getfetsel('id_tradlang', 'spip_tradlangs', 'id_tradlang_module = ' . intval($tradlang['id_tradlang_module']) . ' AND statut != "OK" AND lang = ' . sql_quote($tradlang['lang']))) { + } elseif ($id_tradlang_suivant = sql_getfetsel('id_tradlang', 'spip_tradlangs', 'id_tradlang_module = ' . (int) $tradlang['id_tradlang_module'] . ' AND statut != "OK" AND lang = ' . sql_quote($tradlang['lang']))) { $url_suivant = parametre_url(parametre_url(generer_url_entite($id_tradlang_suivant, 'tradlang'), 'lang_orig', $lang_orig), 'lang_cible', $tradlang['lang']); } $res['message_ok'] .= '<br />'; if (isset($url_suivant)) { - $res['message_ok'] .= '<a href="'.$url_suivant.'"">'._T('tradlang:lien_traduire_suivant_str_module', array('module' => $module['nom_mod'])).'</a>'; + $res['message_ok'] .= '<a href="'.$url_suivant.'"">'._T('tradlang:lien_traduire_suivant_str_module', ['module' => $module['nom_mod']]).'</a>'; } else { - $res['message_ok'] .= _T('tradlang:info_module_traduit_pc', array('pc'=>'100')); + $res['message_ok'] .= _T('tradlang:info_module_traduit_pc', ['pc'=>'100']); } $res['message_ok'] .= '<br />'; - $res['message_ok'] .= '<a href="'.$url_module.'"">'._T('tradlang:lien_retour_module', array('module' => $module['nom_mod'])).'</a>'; + $res['message_ok'] .= '<a href="'.$url_module.'"">'._T('tradlang:lien_retour_module', ['module' => $module['nom_mod']]).'</a>'; $res['editable'] = true; } return $res; diff --git a/formulaires/editer_tradlang_module.php b/formulaires/editer_tradlang_module.php index d72022d..40a71d0 100644 --- a/formulaires/editer_tradlang_module.php +++ b/formulaires/editer_tradlang_module.php @@ -9,6 +9,9 @@ include_spip('inc/editer'); include_spip('tradlang_fonctions'); function formulaires_editer_tradlang_module_charger($id_tradlang_module, $retour = '') { + $config_fonc = null; + $row = null; + $hidden = null; $valeurs = formulaires_editer_objet_charger('tradlang_module', $id_tradlang_module, 0, '', $retour, $config_fonc, $row, $hidden); $modules = tradlang_getmodules_base(); @@ -25,8 +28,9 @@ function formulaires_editer_tradlang_module_charger($id_tradlang_module, $retour } function formulaires_editer_tradlang_module_verifier($id_tradlang_module, $retour = '') { - $erreur = array(); - $module = sql_getfetsel('module', 'spip_tradlang_modules', 'id_tradlang_module = ' . intval($id_tradlang_module)); + $lgs = []; + $erreur = []; + $module = sql_getfetsel('module', 'spip_tradlang_modules', 'id_tradlang_module = ' . (int) $id_tradlang_module); $modules = tradlang_getmodules_base(); if (!isset($modules[$module])) { $erreur['module'] = _T('tradlang:erreur_module_inexistant'); @@ -50,7 +54,7 @@ function formulaires_editer_tradlang_module_verifier($id_tradlang_module, $retou } $limite_trad = _request('limite_trad'); - if (!is_numeric($limite_trad) || (intval($limite_trad) < 0) || (intval($limite_trad) > 100)) { + if (!is_numeric($limite_trad) || ((int) $limite_trad < 0) || ((int) $limite_trad > 100)) { $erreur['limite_trad'] = _T('tradlang:erreur_limite_trad_invalide'); } @@ -58,37 +62,37 @@ function formulaires_editer_tradlang_module_verifier($id_tradlang_module, $retou } function formulaires_editer_tradlang_module_traiter($id_tradlang_module, $retour = '') { - $ret = array(); - $module = sql_getfetsel('nom_mod', 'spip_tradlang_modules', 'id_tradlang_module = ' . intval($id_tradlang_module)); + $ret = []; + $module = sql_getfetsel('nom_mod', 'spip_tradlang_modules', 'id_tradlang_module = ' . (int) $id_tradlang_module); if (_request('delete_module')) { $supprimer_module = charger_fonction('tradlang_supprimer_module', 'inc'); $suppressions = $supprimer_module($id_tradlang_module); $ret['editable'] = false; - if (intval($suppressions) && ($suppressions > 1)) { - $ret['message_ok'] = _T('tradlang:message_suppression_module_trads_ok', array('nb' => $suppressions, 'module' => $module)); + if ((int) $suppressions && ($suppressions > 1)) { + $ret['message_ok'] = _T('tradlang:message_suppression_module_trads_ok', ['nb' => $suppressions, 'module' => $module]); } else { - $ret['message_ok'] = _T('tradlang:message_suppression_module_ok', array('module' => $module)); + $ret['message_ok'] = _T('tradlang:message_suppression_module_ok', ['module' => $module]); } } else { - $res = sql_select('*', 'spip_tradlang_modules', 'id_tradlang_module = ' . intval($id_tradlang_module)); + $res = sql_select('*', 'spip_tradlang_modules', 'id_tradlang_module = ' . (int) $id_tradlang_module); $modok = sql_fetch($res); $langue = _request('codelangue'); - $data = array( - 'nom_mod' => _request('nom_mod') ? _request('nom_mod') : $module, + $data = [ + 'nom_mod' => _request('nom_mod') ?: $module, 'lang_mere' => _request('lang_mere'), 'texte' => _request('texte'), 'priorite' => _request('priorite') - ); - $limite_trad = _request('limite_trad') ? _request('limite_trad') : 0; + ]; + $limite_trad = _request('limite_trad') ?: 0; $data['limite_trad'] = $limite_trad; - sql_updateq('spip_tradlang_modules', $data, 'id_tradlang_module = ' . intval($id_tradlang_module)); - $ret['message_ok'] = _T('tradlang:message_module_updated', array('module' => $module)); + sql_updateq('spip_tradlang_modules', $data, 'id_tradlang_module = ' . (int) $id_tradlang_module); + $ret['message_ok'] = _T('tradlang:message_module_updated', ['module' => $module]); if ($langue) { $sauvegarde = charger_fonction('tradlang_ajouter_code_langue', 'inc'); $sauvegarde($modok, $langue); - $ret['message_ok'] .= '<br />'._T('tradlang:message_module_langue_ajoutee', array('module' => $module, 'langue' => $langue)); + $ret['message_ok'] .= '<br />'._T('tradlang:message_module_langue_ajoutee', ['module' => $module, 'langue' => $langue]); } $ret['editable'] = true; $ret['redirect'] = $retour; diff --git a/formulaires/inc-langues_preferees_fonctions.php b/formulaires/inc-langues_preferees_fonctions.php index 3b1181d..d87468e 100644 --- a/formulaires/inc-langues_preferees_fonctions.php +++ b/formulaires/inc-langues_preferees_fonctions.php @@ -6,7 +6,7 @@ if (!defined('_ECRIRE_INC_VERSION')) { function liste_langues() { include_spip('inc/config'); - if (is_array($langues_autorisees = lire_config('tradlang/langues_autorisees')) and count($langues_autorisees) > 0) { + if (is_array($langues_autorisees = lire_config('tradlang/langues_autorisees')) && $langues_autorisees !== []) { return $langues_autorisees; } else { include_spip('inc/lang_liste'); diff --git a/formulaires/tradlang_choisir_module.php b/formulaires/tradlang_choisir_module.php index 042bcd5..2780768 100644 --- a/formulaires/tradlang_choisir_module.php +++ b/formulaires/tradlang_choisir_module.php @@ -30,15 +30,18 @@ if (!defined('_ECRIRE_INC_VERSION')) { * Le tableau des valeurs chargées au formulaire */ function formulaires_tradlang_choisir_module_charger($id_tradlang_module = '', $lang_orig = 'fr', $lang_cible = '', $lang_crea = '') { - $id_tradlang_module = _request('id_tradlang_module') ? _request('id_tradlang_module') : $id_tradlang_module; + $valeurs = []; + $langues_presentes = []; + $langues_conf = []; + $id_tradlang_module = _request('id_tradlang_module') ?: $id_tradlang_module; include_spip('inc/autoriser'); if (autoriser('modifier', 'tradlang')) { - if (!intval($id_tradlang_module)) { + if (!(int) $id_tradlang_module) { $id_tradlang_module = sql_getfetsel('id_tradlang_module', 'spip_tradlang_modules', '', '', 'priorite,nom_mod'); } - if (!$lang_mere = sql_getfetsel('lang_mere', 'spip_tradlang_modules', 'id_tradlang_module = ' . intval($id_tradlang_module))) { - $valeurs['id_tradlang_module'] = $id_tradlang_module = $module_defaut = sql_getfetsel('id_tradlang_module', 'spip_tradlang_modules', '', array('priorite', 'nom_mod'), '', '0,1'); + if (!$lang_mere = sql_getfetsel('lang_mere', 'spip_tradlang_modules', 'id_tradlang_module = ' . (int) $id_tradlang_module)) { + $valeurs['id_tradlang_module'] = $id_tradlang_module = $module_defaut = sql_getfetsel('id_tradlang_module', 'spip_tradlang_modules', '', ['priorite', 'nom_mod'], '', '0,1'); /** * Si aucun module dans la base */ @@ -60,8 +63,8 @@ function formulaires_tradlang_choisir_module_charger($id_tradlang_module = '', $ if (!$lang_cible) { $lang_cible = $GLOBALS['spip_lang']; } - $valeurs = array('id_tradlang_module' => $id_tradlang_module, 'lang_orig' => $lang_orig, 'lang_cible' => $lang_cible, 'lang_crea' => $lang_crea); - foreach ($valeurs as $key => $val) { + $valeurs = ['id_tradlang_module' => $id_tradlang_module, 'lang_orig' => $lang_orig, 'lang_cible' => $lang_cible, 'lang_crea' => $lang_crea]; + foreach (array_keys($valeurs) as $key) { if (_request($key)) { $valeurs[$key] = _request($key); } @@ -74,8 +77,8 @@ function formulaires_tradlang_choisir_module_charger($id_tradlang_module = '', $ * sinon on passe à la langue mère */ if ($lang_orig != $lang_mere) { - $compte_total_mere = sql_getfetsel('COUNT(*)', 'spip_tradlangs', 'id_tradlang_module = ' . intval($valeurs['id_tradlang_module']) . ' AND statut = "OK" AND lang = ' . sql_quote($lang_mere)); - $compte_total_orig = sql_getfetsel('COUNT(*)', 'spip_tradlangs', 'id_tradlang_module = ' . intval($valeurs['id_tradlang_module']) . ' AND statut = "OK" AND lang = ' . sql_quote($lang_orig)); + $compte_total_mere = sql_getfetsel('COUNT(*)', 'spip_tradlangs', 'id_tradlang_module = ' . (int) $valeurs['id_tradlang_module'] . ' AND statut = "OK" AND lang = ' . sql_quote($lang_mere)); + $compte_total_orig = sql_getfetsel('COUNT(*)', 'spip_tradlangs', 'id_tradlang_module = ' . (int) $valeurs['id_tradlang_module'] . ' AND statut = "OK" AND lang = ' . sql_quote($lang_orig)); if ($compte_total_mere != $compte_total_orig) { $valeurs['lang_orig'] = $lang_mere; } @@ -86,7 +89,7 @@ function formulaires_tradlang_choisir_module_charger($id_tradlang_module = '', $ $langues_possibles = $GLOBALS['codes_langues']; ksort($langues_possibles); - $langues_modules = sql_allfetsel('DISTINCT lang', 'spip_tradlangs', 'id_tradlang_module = ' . intval($id_tradlang_module)); + $langues_modules = sql_allfetsel('DISTINCT lang', 'spip_tradlangs', 'id_tradlang_module = ' . (int) $id_tradlang_module); foreach ($langues_modules as $langue) { $langues_presentes[$langue['lang']] = traduire_nom_langue($langue['lang']); } @@ -135,7 +138,7 @@ function formulaires_tradlang_choisir_module_charger($id_tradlang_module = '', $ * Le tableau des erreurs */ function formulaires_tradlang_choisir_module_verifier($id_tradlang_module = '', $lang_orig = '', $lang_cible = '', $lang_crea = '') { - $erreur = array(); + $erreur = []; if (!_request('lang_cible') && !_request('creer_lang_cible')) { $erreur['lang_cible'] = _T('tradlang:erreur_pas_langue_cible'); } elseif (_request('lang_cible') == _request('lang_orig')) { @@ -163,22 +166,21 @@ function formulaires_tradlang_choisir_module_verifier($id_tradlang_module = '', * Le tableau habituel des cvt avec redirect pour la redirection */ function formulaires_tradlang_choisir_module_traiter($id_tradlang_module = '', $lang_orig = '', $lang_cible = '', $lang_crea = '') { - $id_tradlang_module = _request('id_tradlang_module'); + $res = []; + $id_tradlang_module = _request('id_tradlang_module'); $lang_orig = _request('lang_orig'); $lang_cible = _request('lang_cible'); $lang_crea = _request('creer_lang_cible'); if ($traduire = _request('traduire')) { $res['message_ok'] = _T('tradlang:message_passage_trad'); - if ($lang_crea) { - if (include_spip('inc/autoriser') && autoriser('modifier', 'tradlang')) { - // Import de la langue mere - $infos_module = sql_fetsel('*', 'spip_tradlang_modules', 'id_tradlang_module = ' . intval($id_tradlang_module)); - $ajouter_code_langue = charger_fonction('tradlang_ajouter_code_langue', 'inc'); - $ajouter_code_langue($infos_module,$lang_crea); - $lang_cible = $lang_crea; - $res['message_ok'] = _T('tradlang:message_passage_trad_creation_lang', array('lang' => $lang_crea)); - } - } + if ($lang_crea && (include_spip('inc/autoriser') && autoriser('modifier', 'tradlang'))) { + // Import de la langue mere + $infos_module = sql_fetsel('*', 'spip_tradlang_modules', 'id_tradlang_module = ' . (int) $id_tradlang_module); + $ajouter_code_langue = charger_fonction('tradlang_ajouter_code_langue', 'inc'); + $ajouter_code_langue($infos_module,$lang_crea); + $lang_cible = $lang_crea; + $res['message_ok'] = _T('tradlang:message_passage_trad_creation_lang', ['lang' => $lang_crea]); + } $res['redirect'] = parametre_url(parametre_url(parametre_url(generer_url_entite($id_tradlang_module, 'tradlang_module'), 'lang_orig', $lang_orig), 'lang_cible', $lang_cible), 'lang_crea', $lang_crea); } else { $res['editable'] = true; diff --git a/formulaires/tradlang_importer_langue.php b/formulaires/tradlang_importer_langue.php index 3abeae7..f4955d1 100644 --- a/formulaires/tradlang_importer_langue.php +++ b/formulaires/tradlang_importer_langue.php @@ -5,15 +5,20 @@ if (!defined('_ECRIRE_INC_VERSION')) { } function formulaires_tradlang_importer_langue_charger_dist($id_tradlang_module, $lang, $lang_orig) { + $valeurs = []; + $erreurs = []; + $file = []; + $contenu_po = null; + $undefined = []; $valeurs['_etapes'] = 2; $valeurs['lang_orig'] = $lang_orig; $valeurs['lang_cible'] = $lang; - if (!$nom_mod = sql_getfetsel('nom_mod', 'spip_tradlang_modules', 'id_tradlang_module = ' . intval($id_tradlang_module))) { - $valeurs['message_erreur'] = _T('tradlang:erreur_import_module_inexistant', array('id'=>$id_tradlang_module)); + if (!$nom_mod = sql_getfetsel('nom_mod', 'spip_tradlang_modules', 'id_tradlang_module = ' . (int) $id_tradlang_module)) { + $valeurs['message_erreur'] = _T('tradlang:erreur_import_module_inexistant', ['id'=>$id_tradlang_module]); $valeurs['editable'] = false; } else { if (_request('_etape') == '2') { - $module = sql_getfetsel('module', 'spip_tradlang_modules', 'id_tradlang_module = ' . intval($id_tradlang_module)); + $module = sql_getfetsel('module', 'spip_tradlang_modules', 'id_tradlang_module = ' . (int) $id_tradlang_module); $fichier_module = $module.'_'.$lang.'.php'; $fichier_module_po = $module.'_'.$lang.'.po'; $dir_lang = sous_repertoire(_DIR_VAR, 'cache-tradlang'); @@ -21,7 +26,7 @@ function formulaires_tradlang_importer_langue_charger_dist($id_tradlang_module, $dest_po = $dir_lang.$fichier_module_po; if (file_exists($dest) || file_exists($dest_po)) { if (file_exists($dest)) { - $modifs = $undefined = array(); + $modifs = $undefined = []; $memtrad = $GLOBALS['idx_lang'] = 'i18n_'.crc32($module).'_tmp'; include $dest; @@ -31,18 +36,16 @@ function formulaires_tradlang_importer_langue_charger_dist($id_tradlang_module, $contenu=file_get_contents($dest); $contenu = str_replace("\t", '', $contenu); $tab=preg_split("/\r\n|\n\r|;\n|\n\/\/|\(\n|\n\);\n|\'\,\n|\n[\s\t]*(\')|\/\/[\s\t][0-9A-Z]\n[\s\t](\')/", $contenu, '-1', PREG_SPLIT_NO_EMPTY); - $liste_trad=array(); + $liste_trad=[]; reset($tab); - while (list(,$ligne) = each($tab)) { + foreach ($tab as $ligne) { $ligne = str_replace("\'", '', $ligne); - if (strlen($ligne) > 0) { - if (preg_match("/\'(.*?)\'[\s\t]*=>[\s\t]*\'(.*?)\'[\s\t]*,{0,1}[\s\t]*(#.*)?/ms", $ligne, $matches)) { - if (isset($matches[1]) and isset($matches[3]) and strlen(trim($matches[3])) > 0) { - list(,$comm) = explode('#', $matches[3]); - if (in_array(trim($comm), array('NEW','MODIF','RELIRE'))) { - $liste_trad[$matches[1]]=trim($comm); - } + if (strlen($ligne) > 0 && preg_match("/\'(.*?)\'[\s\t]*=>[\s\t]*\'(.*?)\'[\s\t]*,{0,1}[\s\t]*(#.*)?/ms", $ligne, $matches)) { + if (isset($matches[1]) && isset($matches[3]) && strlen(trim($matches[3])) > 0) { + [, $comm] = explode('#', $matches[3]); + if (in_array(trim($comm), ['NEW', 'MODIF', 'RELIRE'])) { + $liste_trad[$matches[1]]=trim($comm); } } } @@ -53,19 +56,19 @@ function formulaires_tradlang_importer_langue_charger_dist($id_tradlang_module, $str_lang = $GLOBALS[$memtrad]; // on a vu certains fichiers faire des betises et modifier idx_lang // verifie si c'est un fichier langue if (!is_array($str_lang)) { - $erreurs['fichier_langue'] = _T('tradlang:erreur_upload_fichier_php_array', array('fichier' => $file['name'])); + $erreurs['fichier_langue'] = _T('tradlang:erreur_upload_fichier_php_array', ['fichier' => $file['name']]); } else { - $langues_base = sql_allfetsel('id,str,statut', 'spip_tradlangs', 'id_tradlang_module='.intval($id_tradlang_module).' AND lang='.sql_quote($lang)); + $langues_base = sql_allfetsel('id,str,statut', 'spip_tradlangs', 'id_tradlang_module='.(int) $id_tradlang_module.' AND lang='.sql_quote($lang)); foreach ($langues_base as $strings_id => $strings) { $str_lang[$strings['id']] = preg_replace(',^(<(MODIF|NEW|RELIRE|PLUS_UTILISE)>)+,US', '', $str_lang[$strings['id']]); - if ((strlen($str_lang[$strings['id']]) > 0) and $strings['str'] != $str_lang[$strings['id']]) { - $modifs[$strings['id']] = array('orig' => $strings['str'],'new' => $str_lang[$strings['id']],'statut' => (in_array($strings['id'], $keys_liste_trad) ? $liste_trad[$strings['id']] : 'OK')); + if (strlen($str_lang[$strings['id']]) > 0 && $strings['str'] != $str_lang[$strings['id']]) { + $modifs[$strings['id']] = ['orig' => $strings['str'], 'new' => $str_lang[$strings['id']], 'statut' => (in_array($strings['id'], $keys_liste_trad) ? $liste_trad[$strings['id']] : 'OK')]; } elseif (strlen($str_lang[$strings['id']]) == 0) { $undefined[] = $strings['id']; - } elseif (in_array($strings['id'], $keys_liste_trad) and ($strings['statut'] != $liste_trad[$strings['id']])) { - $modifs[$strings['id']] = array('orig'=>$strings['str'],'new'=>$str_lang[$strings['id']],'statut' => $liste_trad[$strings['id']]); - } elseif (!in_array($strings['id'], $keys_liste_trad) and $strings['statut'] != 'OK') { - $modifs[$strings['id']] = array('orig'=>$strings['str'],'new'=>$str_lang[$strings['id']],'statut' => 'OK'); + } elseif (in_array($strings['id'], $keys_liste_trad) && $strings['statut'] != $liste_trad[$strings['id']]) { + $modifs[$strings['id']] = ['orig'=>$strings['str'], 'new'=>$str_lang[$strings['id']], 'statut' => $liste_trad[$strings['id']]]; + } elseif (!in_array($strings['id'], $keys_liste_trad) && $strings['statut'] != 'OK') { + $modifs[$strings['id']] = ['orig'=>$strings['str'], 'new'=>$str_lang[$strings['id']], 'statut' => 'OK']; } unset($langues_base[$strings_id]); } @@ -74,7 +77,7 @@ function formulaires_tradlang_importer_langue_charger_dist($id_tradlang_module, if (file_exists($dest_po)) { lire_fichier($dest_po, $contenu_po); preg_match_all(',(\#\, php-format|\#\, fuzzy\, php-format).*msgstr "(.*)\n(\n|\Z),Uims', $contenu_po, $matches); - $array_po = array(); + $array_po = []; foreach ($matches[0] as $match) { $statut = 'OK'; preg_match(',msgstr \"(.*)\n(\n|\Z),Uims', $match, $matches_str); @@ -85,23 +88,21 @@ function formulaires_tradlang_importer_langue_charger_dist($id_tradlang_module, preg_match(',\nmsgid \"(.*)\nmsgstr,Uims', $match, $matches_str_orig); $str_orig = rtrim(trim($matches_str_orig[1]), '"'); $str_orig = trim(str_replace("\"\n\"", '', $str_orig)); - $matches[1] = sql_getfetsel('id', 'spip_tradlangs', 'id_tradlang_module = ' . intval($id_tradlang_module) . ' AND str = ' . sql_quote($str_orig)); + $matches[1] = sql_getfetsel('id', 'spip_tradlangs', 'id_tradlang_module = ' . (int) $id_tradlang_module . ' AND str = ' . sql_quote($str_orig)); } if (preg_match(',\#\, fuzzy\, php-format,', $match, $matches_statut)) { $statut = 'MODIF'; } if ($str != '') { - $array_po[$matches[1]] = array('str'=>$str, 'statut'=>$statut); + $array_po[$matches[1]] = ['str'=>$str, 'statut'=>$statut]; } } - $modifs = array(); + $modifs = []; $langues_base = sql_allfetsel('id,str,statut', 'spip_tradlangs', 'module = ' . sql_quote($module).' AND lang = ' . sql_quote($lang)); foreach ($langues_base as $strings_id => $strings) { $str_lang[$strings['id']] = tradlang_utf8(preg_replace(',^(<(MODIF|NEW|PLUS_UTILISE)>)+,US', '', $str_lang[$strings['id']])); - if (isset($array_po[$strings['id']]['str']) and strlen(trim($array_po[$strings['id']]['str'])) > 0) { - if (($strings['str'] != $array_po[$strings['id']]['str']) or ($strings['statut'] != $array_po[$strings['id']]['statut'])) { - $modifs[$strings['id']] = array('orig'=>$strings['str'],'new'=>$array_po[$strings['id']]['str'],'statut'=>$array_po[$strings['id']]['statut']); - } + if (isset($array_po[$strings['id']]['str']) && strlen(trim($array_po[$strings['id']]['str'])) > 0 && ($strings['str'] != $array_po[$strings['id']]['str'] || $strings['statut'] != $array_po[$strings['id']]['statut'])) { + $modifs[$strings['id']] = ['orig'=>$strings['str'], 'new'=>$array_po[$strings['id']]['str'], 'statut'=>$array_po[$strings['id']]['statut']]; } unset($langues_base[$strings_id]); } @@ -110,7 +111,7 @@ function formulaires_tradlang_importer_langue_charger_dist($id_tradlang_module, $valeurs['_modifs'] = $modifs; } } - if (count($undefined) > 0) { + if ($undefined !== []) { $valeurs['message_erreur'] = singulier_ou_pluriel(count($undefined), 'tradlang:item_non_defini_fichier', 'tradlang:item_non_defini_fichier_nb'); } @@ -119,22 +120,24 @@ function formulaires_tradlang_importer_langue_charger_dist($id_tradlang_module, } function formulaires_tradlang_importer_langue_verifier_1_dist($id_tradlang_module, $lang) { - $erreurs = array(); + $fichiers_module = []; + $modifs = []; + $erreurs = []; if (_request('_etape')==1) { - $module = sql_getfetsel('module', 'spip_tradlang_modules', 'id_tradlang_module = ' . intval($id_tradlang_module)); + $module = sql_getfetsel('module', 'spip_tradlang_modules', 'id_tradlang_module = ' . (int) $id_tradlang_module); $fichier_php = $module.'_'.$lang.'.php'; $fichier_po = $module.'_'.$lang.'.po'; $fichiers_module[] = $fichier_php; $fichiers_module[] = $fichier_po; - $post = isset($_FILES) ? $_FILES : $GLOBALS['HTTP_POST_FILES']; - $files = array(); + $post = $_FILES ?? $GLOBALS['HTTP_POST_FILES']; + $files = []; include_spip('inc/joindre_document'); if (is_array($post)) { foreach ($post as $file) { - if (!($file['error'] == 4)) { + if ($file['error'] != 4) { if (!in_array($file['name'], $fichiers_module)) { $fichier_module = $fichier_php.', '.$fichier_po; - $erreurs['fichier_langue'] = _T('tradlang:erreur_upload_fichier_php', array('fichier' => $file['name'], 'fichier_attendu' => $fichier_module)); + $erreurs['fichier_langue'] = _T('tradlang:erreur_upload_fichier_php', ['fichier' => $file['name'], 'fichier_attendu' => $fichier_module]); } if (!$erreurs['fichier_langue']) { @@ -157,18 +160,16 @@ function formulaires_tradlang_importer_langue_verifier_1_dist($id_tradlang_modul $contenu=file_get_contents($dest); $contenu = str_replace("\t", '', $contenu); $tab=preg_split("/\r\n|\n\r|;\n|\n\/\/|\(\n|\n\);\n|\'\,\n|\n[\s\t]*(\')|\/\/[\s\t][0-9A-Z]\n[\s\t](\')/", $contenu, '-1', PREG_SPLIT_NO_EMPTY); - $liste_trad=array(); + $liste_trad=[]; reset($tab); - while (list(,$ligne) = each($tab)) { + foreach ($tab as $ligne) { $ligne = str_replace("\'", '', $ligne); - if (strlen($ligne) > 0) { - if (preg_match("/\'(.*?)\'[\s\t]*=>[\s\t]*\'(.*?)\'[\s\t]*,{0,1}[\s\t]*(#.*)?/ms", $ligne, $matches)) { - if (isset($matches[1]) and isset($matches[3]) and strlen(trim($matches[3])) > 0) { - list(,$comm) = explode('#', $matches[3]); - if (in_array(trim($comm), array('NEW','MODIF','RELIRE'))) { - $liste_trad[$matches[1]]=trim($comm); - } + if (strlen($ligne) > 0 && preg_match("/\'(.*?)\'[\s\t]*=>[\s\t]*\'(.*?)\'[\s\t]*,{0,1}[\s\t]*(#.*)?/ms", $ligne, $matches)) { + if (isset($matches[1]) && isset($matches[3]) && strlen(trim($matches[3])) > 0) { + [, $comm] = explode('#', $matches[3]); + if (in_array(trim($comm), ['NEW', 'MODIF', 'RELIRE'])) { + $liste_trad[$matches[1]]=trim($comm); } } } @@ -179,18 +180,18 @@ function formulaires_tradlang_importer_langue_verifier_1_dist($id_tradlang_modul $str_lang = $GLOBALS[$memtrad]; // verifie si c'est un fichier langue if (!is_array($str_lang)) { - $erreurs['fichier_langue'] = _T('tradlang:erreur_upload_fichier_php_array', array('fichier' => $file['name'])); + $erreurs['fichier_langue'] = _T('tradlang:erreur_upload_fichier_php_array', ['fichier' => $file['name']]); } else { - $langues_base = sql_allfetsel('id,str,statut', 'spip_tradlangs', 'id_tradlang_module = ' . intval($id_tradlang_module) . ' AND lang = ' . sql_quote($lang)); - $modifs = array(); + $langues_base = sql_allfetsel('id,str,statut', 'spip_tradlangs', 'id_tradlang_module = ' . (int) $id_tradlang_module . ' AND lang = ' . sql_quote($lang)); + $modifs = []; foreach ($langues_base as $strings_id => $strings) { $str_lang[$strings['id']] = tradlang_utf8(preg_replace(',^(<(MODIF|NEW|PLUS_UTILISE)>)+,US', '', $str_lang[$strings['id']])); if ($strings['str'] != $str_lang[$strings['id']]) { - $modifs[$strings['id']] = array('orig'=>$strings['str'],'new'=>$str_lang[$strings['id']]); + $modifs[$strings['id']] = ['orig'=>$strings['str'], 'new'=>$str_lang[$strings['id']]]; break; } - if (in_array($strings['id'], $keys_liste_trad) and ($strings['statut'] != $liste_trad[$strings['id']])) { - $modifs[$strings['id']] = array('orig'=>$strings['str'],'new'=>$str_lang[$strings['id']]); + if (in_array($strings['id'], $keys_liste_trad) && $strings['statut'] != $liste_trad[$strings['id']]) { + $modifs[$strings['id']] = ['orig'=>$strings['str'], 'new'=>$str_lang[$strings['id']]]; break; } } @@ -201,7 +202,7 @@ function formulaires_tradlang_importer_langue_verifier_1_dist($id_tradlang_modul */ lire_fichier($dest, $contenu_po); preg_match_all(',(\#\, php-format|\#\, fuzzy\, php-format).*msgstr "(.*)\n(\n|\Z),Uims', $contenu_po, $matches); - $array_po = array(); + $array_po = []; foreach ($matches[0] as $match) { $statut = 'OK'; preg_match(',msgstr \"(.*)\n(\n|\Z),Uims', $match, $matches_str); @@ -212,24 +213,26 @@ function formulaires_tradlang_importer_langue_verifier_1_dist($id_tradlang_modul preg_match(',\nmsgid \"(.*)\nmsgstr,Uims', $match, $matches_str_orig); $str_orig = rtrim(trim($matches_str_orig[1]), '"'); $str_orig = trim(str_replace("\"\n\"", '', $str_orig)); - $matches[1] = sql_getfetsel('id', 'spip_tradlangs', 'id_tradlang_module = ' . intval($id_tradlang_module) . ' AND str = '.sql_quote($str_orig)); + $matches[1] = sql_getfetsel('id', 'spip_tradlangs', 'id_tradlang_module = ' . (int) $id_tradlang_module . ' AND str = '.sql_quote($str_orig)); } if (preg_match(',\#\, fuzzy\, php-format,', $match, $matches_statut)) { $statut = 'MODIF'; } if ($str != '') { - $array_po[$matches[1]] = array('str' => $str, 'statut' => $statut); + $array_po[$matches[1]] = ['str' => $str, 'statut' => $statut]; } } - $langues_base = sql_allfetsel('id,str,statut', 'spip_tradlangs', 'id_tradlang_module=' . intval($id_tradlang_module) . ' AND lang = ' . sql_quote($lang)); - $modifs = array(); + $langues_base = sql_allfetsel('id,str,statut', 'spip_tradlangs', 'id_tradlang_module=' . (int) $id_tradlang_module . ' AND lang = ' . sql_quote($lang)); + $modifs = []; foreach ($langues_base as $strings_id => $strings) { $str_lang[$strings['id']] = tradlang_utf8(preg_replace(',^(<(MODIF|NEW|PLUS_UTILISE)>)+,US', '', $str_lang[$strings['id']])); - if (isset($array_po[$strings['id']]['str']) and strlen(trim($array_po[$strings['id']]['str'])) > 0) { - if (($strings['str'] != $array_po[$strings['id']]['str']) or ($strings['statut'] != $array_po[$strings['id']]['statut'])) { - $modifs[$strings['id']] = array('orig'=>$strings['str'],'new'=>$array_po[$strings['id']]['str'],'statut'=>$array_po[$strings['id']]['statut']); - break; - } + if ( + isset($array_po[$strings['id']]['str']) + && strlen(trim($array_po[$strings['id']]['str'])) > 0 + && ($strings['str'] != $array_po[$strings['id']]['str'] || $strings['statut'] != $array_po[$strings['id']]['statut']) + ) { + $modifs[$strings['id']] = ['orig'=>$strings['str'], 'new'=>$array_po[$strings['id']]['str'], 'statut'=>$array_po[$strings['id']]['statut']]; + break; } } } @@ -237,11 +240,11 @@ function formulaires_tradlang_importer_langue_verifier_1_dist($id_tradlang_modul } } } - if (!count($post) and !$erreurs['fichier_langue']) { + if ($post === [] && !$erreurs['fichier_langue']) { $erreurs['fichier_langue'] = _T('medias:erreur_indiquez_un_fichier'); } - if (!count($modifs) and !$erreurs['fichier_langue']) { + if (!(is_countable($modifs) ? count($modifs) : 0) && !$erreurs['fichier_langue']) { $erreurs['fichier_langue'] = _T('tradlang:erreur_upload_aucune_modif'); } } @@ -249,20 +252,20 @@ function formulaires_tradlang_importer_langue_verifier_1_dist($id_tradlang_modul } function formulaires_tradlang_importer_langue_verifier_2_dist($id_tradlang_module, $lang) { - $module = sql_getfetsel('module', 'spip_tradlang_modules', 'id_tradlang_module = ' . intval($id_tradlang_module)); + $module = sql_getfetsel('module', 'spip_tradlang_modules', 'id_tradlang_module = ' . (int) $id_tradlang_module); $fichier_php = $module.'_'.$lang.'.php'; $fichier_po = $module.'_'.$lang.'.po'; $dir_lang = sous_repertoire(_DIR_VAR, 'cache-tradlang'); $dest = $dir_lang.$fichier_php; $destpo = $dir_lang.$fichier_po; - $modifs = $erreurs = array(); + $modifs = $erreurs = []; if (file_exists($dest)) { $memtrad = $GLOBALS['idx_lang'] = 'i18n_'.crc32($module).'_tmp'; include $dest; $str_lang = $GLOBALS[$memtrad]; // on a vu certains fichiers faire des betises et modifier idx_lang - $langues_base = sql_allfetsel('*', 'spip_tradlangs', 'id_tradlang_module = ' . intval($id_tradlang_module) . ' AND lang = ' . sql_quote($lang)); - $modifs = array(); + $langues_base = sql_allfetsel('*', 'spip_tradlangs', 'id_tradlang_module = ' . (int) $id_tradlang_module . ' AND lang = ' . sql_quote($lang)); + $modifs = []; foreach ($langues_base as $strings_id => $strings) { if (_request($strings['id']) == 'oui') { $modifs[] = $strings['id']; @@ -270,8 +273,8 @@ function formulaires_tradlang_importer_langue_verifier_2_dist($id_tradlang_modul unset($langues_base[$strings_id]); } } elseif (file_exists($destpo)) { - $langues_base = sql_allfetsel('id', 'spip_tradlangs', 'id_tradlang_module = ' . intval($id_tradlang_module) . ' AND lang = ' . sql_quote($lang)); - $modifs = array(); + $langues_base = sql_allfetsel('id', 'spip_tradlangs', 'id_tradlang_module = ' . (int) $id_tradlang_module . ' AND lang = ' . sql_quote($lang)); + $modifs = []; foreach ($langues_base as $strings_id => $strings) { if (_request($strings['id']) == 'oui') { $modifs[] = $strings['id']; @@ -281,16 +284,18 @@ function formulaires_tradlang_importer_langue_verifier_2_dist($id_tradlang_modul } else { $erreurs['message_erreur'] = "Le fichier temporaire $dest n'a pas été créé"; } - if (!count($modifs)) { + if ($modifs === []) { $erreurs['message_erreur'] = _T('tradlang:erreur_upload_choisir_une'); } return $erreurs; } function formulaires_tradlang_importer_langue_traiter_dist($id_tradlang_module, $lang) { - include_spip('action/editer_tradlang'); + $contenu_po = null; + $res = []; + include_spip('action/editer_tradlang'); - $module = sql_getfetsel('module', 'spip_tradlang_modules', 'id_tradlang_module = ' . intval($id_tradlang_module)); + $module = sql_getfetsel('module', 'spip_tradlang_modules', 'id_tradlang_module = ' . (int) $id_tradlang_module); $fichier_php = $module.'_'.$lang.'.php'; $fichier_po = $module.'_'.$lang.'.po'; $dir_lang = sous_repertoire(_DIR_VAR, 'cache-tradlang'); @@ -305,18 +310,16 @@ function formulaires_tradlang_importer_langue_traiter_dist($id_tradlang_module, $contenu=file_get_contents($dest); $contenu = str_replace("\t", '', $contenu); $tab=preg_split("/\r\n|\n\r|;\n|\n\/\/|\(\n|\n\);\n|\'\,\n|\n[\s\t]*(\')|\/\/[\s\t][0-9A-Z]\n[\s\t](\')/", $contenu, '-1', PREG_SPLIT_NO_EMPTY); - $liste_trad=array(); + $liste_trad=[]; reset($tab); - while (list(,$ligne) = each($tab)) { + foreach ($tab as $ligne) { $ligne = str_replace("\'", '', $ligne); - if (strlen($ligne)>0) { - if (preg_match("/\'(.*?)\'[\s\t]*=>[\s\t]*\'(.*?)\'[\s\t]*,{0,1}[\s\t]*(#.*)?/ms", $ligne, $matches)) { - if (isset($matches[1]) and isset($matches[3]) and strlen(trim($matches[3])) > 0) { - list(,$comm) = explode('#', $matches[3]); - if (in_array(trim($comm), array('NEW','MODIF','RELIRE'))) { - $liste_trad[$matches[1]]=trim($comm); - } + if (strlen($ligne)>0 && preg_match("/\'(.*?)\'[\s\t]*=>[\s\t]*\'(.*?)\'[\s\t]*,{0,1}[\s\t]*(#.*)?/ms", $ligne, $matches)) { + if (isset($matches[1]) && isset($matches[3]) && strlen(trim($matches[3])) > 0) { + [, $comm] = explode('#', $matches[3]); + if (in_array(trim($comm), ['NEW', 'MODIF', 'RELIRE'])) { + $liste_trad[$matches[1]]=trim($comm); } } } @@ -331,11 +334,11 @@ function formulaires_tradlang_importer_langue_traiter_dist($id_tradlang_module, } $langues_base = sql_allfetsel('*', 'spip_tradlangs', 'module = ' . sql_quote($module).' AND lang = ' . sql_quote($lang)); - $modifs = array(); + $modifs = []; foreach ($langues_base as $strings_id => $strings) { if (_request($strings['id']) == 'oui') { $set_new = tradlang_utf8(preg_replace(',^(<(MODIF|NEW|PLUS_UTILISE)>)+,US', '', $str_lang[$strings['id']])); - $set = array('str' => $set_new, 'statut' => (in_array($strings['id'], $keys_liste_trad) ? $liste_trad[$strings['id']] : 'OK')); + $set = ['str' => $set_new, 'statut' => (in_array($strings['id'], $keys_liste_trad) ? $liste_trad[$strings['id']] : 'OK')]; tradlang_set($strings['id_tradlang'], $set); $count++; unset($langues_base[$strings_id]); @@ -345,7 +348,7 @@ function formulaires_tradlang_importer_langue_traiter_dist($id_tradlang_module, } else if (file_exists($dest = $dir_lang. $fichier_po)) { lire_fichier($dest, $contenu_po); preg_match_all(',(\#\, php-format|\#\, fuzzy\, php-format).*msgstr "(.*)\n(\n|\Z),Uims', $contenu_po, $matches); - $array_po = array(); + $array_po = []; foreach ($matches[0] as $match) { $statut = 'OK'; preg_match(',msgstr \"(.*)\n(\n|\Z),Uims', $match, $matches_str); @@ -356,25 +359,25 @@ function formulaires_tradlang_importer_langue_traiter_dist($id_tradlang_module, preg_match(',\nmsgid \"(.*)\nmsgstr,Uims', $match, $matches_str_orig); $str_orig = rtrim(trim($matches_str_orig[1]), '"'); $str_orig = trim(str_replace("\"\n\"", '', $str_orig)); - $matches[1] = sql_getfetsel('id', 'spip_tradlangs', 'id_tradlang_module = ' . intval($id_tradlang_module).' AND str = ' . sql_quote($str_orig)); + $matches[1] = sql_getfetsel('id', 'spip_tradlangs', 'id_tradlang_module = ' . (int) $id_tradlang_module.' AND str = ' . sql_quote($str_orig)); } if (preg_match(',\#\, fuzzy\, php-format,', $match, $matches_statut)) { $statut = 'MODIF'; } if ($str != '') { - $array_po[$matches[1]] = array('str' => $str, 'statut' => $statut); + $array_po[$matches[1]] = ['str' => $str, 'statut' => $statut]; } } $langues_base = sql_allfetsel('id_tradlang,id,str,statut', 'spip_tradlangs', 'module = ' . sql_quote($module) . ' AND lang = ' . sql_quote($lang)); - $modifs_po = array(); + $modifs_po = []; foreach ($langues_base as $strings_id => $strings) { if (_request($strings['id']) == 'oui') { $set=$instit=null; - if (isset($array_po[$strings['id']]['str']) and strlen(trim($array_po[$strings['id']]['str'])) > 0) { - $set = array('str' => $array_po[$strings['id']]['str']); + if (isset($array_po[$strings['id']]['str']) && strlen(trim($array_po[$strings['id']]['str'])) > 0) { + $set = ['str' => $array_po[$strings['id']]['str']]; tradlang_set($strings['id_tradlang'], $set); - $instit = array('statut' => $array_po[$strings['id']]['statut']); + $instit = ['statut' => $array_po[$strings['id']]['statut']]; instituer_tradlang($strings['id_tradlang'], $instit); $count++; unset($langues_base[$strings_id]); @@ -385,9 +388,9 @@ function formulaires_tradlang_importer_langue_traiter_dist($id_tradlang_module, } $res['editable'] = false; if ($count > 1) { - $res['message_ok'] = _T('tradlang:message_upload_nb_modifies', array('nb' => $count)); + $res['message_ok'] = _T('tradlang:message_upload_nb_modifies', ['nb' => $count]); } else { - $res['message_ok'] = _T('tradlang:message_upload_nb_modifies', array('nb' => $count)); + $res['message_ok'] = _T('tradlang:message_upload_nb_modifies', ['nb' => $count]); } return $res; } diff --git a/formulaires/tradlang_recherche_avancee.php b/formulaires/tradlang_recherche_avancee.php index 97dec2c..1d3b019 100644 --- a/formulaires/tradlang_recherche_avancee.php +++ b/formulaires/tradlang_recherche_avancee.php @@ -12,19 +12,15 @@ if (!defined('_ECRIRE_INC_VERSION')) { * @return array */ function formulaires_tradlang_recherche_avancee_charger_dist($lien = '') { - if ($GLOBALS['spip_lang'] != $GLOBALS['meta']['langue_site']) { - $lang = $GLOBALS['spip_lang']; - } else { - $lang=''; - } + $lang = $GLOBALS['spip_lang'] != $GLOBALS['meta']['langue_site'] ? $GLOBALS['spip_lang'] : ''; - return - array( - 'action' => ($lien ? $lien : generer_url_public('traduction_recheche')), # action specifique, ne passe pas par Verifier, ni Traiter - 'recherche' => _request('recherche'), - 'statut' => _request('statut'), - 'id_tradlang_module' => _request('id_tradlang_module'), - 'lang_string' => _request('lang_string'), - 'lang' => $lang - ); + return [ + 'action' => ($lien ?: generer_url_public('traduction_recheche')), + # action specifique, ne passe pas par Verifier, ni Traiter + 'recherche' => _request('recherche'), + 'statut' => _request('statut'), + 'id_tradlang_module' => _request('id_tradlang_module'), + 'lang_string' => _request('lang_string'), + 'lang' => $lang, + ]; } diff --git a/formulaires/tradlang_switcher_langue.php b/formulaires/tradlang_switcher_langue.php index f79f192..45a30ef 100644 --- a/formulaires/tradlang_switcher_langue.php +++ b/formulaires/tradlang_switcher_langue.php @@ -34,18 +34,18 @@ function formulaires_tradlang_switcher_langue_charger_dist($lien = '', $langue_m } if ($multiple && !is_array($langue_modules)) { - $langue_modules = array(); + $langue_modules = []; } elseif (!$multiple && is_array($langue_modules)) { $langue_modules = ''; } - return - array( - 'action' => ($lien ? $lien : parametre_url(self(), 'langue_modules', '')), # action specifique, ne passe pas par Verifier, ni Traiter - 'titre' => $titre, - 'name' => $name, - $name => $langue_modules, - 'multiple' => $multiple, - 'option_vide' => $option_vide - ); + return [ + 'action' => ($lien ?: parametre_url(self(), 'langue_modules', '')), + # action specifique, ne passe pas par Verifier, ni Traiter + 'titre' => $titre, + 'name' => $name, + $name => $langue_modules, + 'multiple' => $multiple, + 'option_vide' => $option_vide, + ]; } diff --git a/genie/tradlang_maintenance.php b/genie/tradlang_maintenance.php index b37b25f..5f45917 100644 --- a/genie/tradlang_maintenance.php +++ b/genie/tradlang_maintenance.php @@ -16,7 +16,7 @@ function genie_tradlang_maintenance_dist($t) { include_spip('inc/config'); } $nb_langues = lire_config('tradlang/limiter_langues_bilan_nb', 10); - $langues_utilisees = array(); + $langues_utilisees = []; $langues = sql_allfetsel('lang', 'spip_tradlangs', 'statut="OK"', 'lang', 'COUNT(*) DESC', "0,$nb_langues"); foreach ($langues as $langue) { $langues_utilisees[] = $langue['lang']; @@ -27,11 +27,11 @@ function genie_tradlang_maintenance_dist($t) { * Suppression des versions des tradlangs disparus */ $tradlang_disparus = sql_allfetsel('versions.id_objet', 'spip_versions AS versions', 'versions.objet="tradlang" AND NOT EXISTS(SELECT * FROM spip_tradlangs AS tradlangs WHERE versions.id_objet = tradlangs.id_tradlang)', 'versions.id_objet'); - $disparus = array(); + $disparus = []; foreach ($tradlang_disparus as $tradlang) { $disparus[] = $tradlang['id_objet']; } - if (count($disparus) and count($disparus) > 0) { + if (count($disparus) && $disparus !== []) { sql_delete('spip_versions', 'objet="tradlang" AND ' . sql_in('id_objet', $disparus)); sql_delete('spip_versions_fragments', 'objet="tradlang" AND ' . sql_in('id_objet', $disparus)); } @@ -40,11 +40,11 @@ function genie_tradlang_maintenance_dist($t) { * Suppression des urls des tradlangs disparus */ $tradlang_disparus = sql_allfetsel('url.id_objet', 'spip_urls AS url', 'url.type="tradlang" AND NOT EXISTS(SELECT * FROM spip_tradlangs AS tradlangs WHERE url.id_objet = tradlangs.id_tradlang)', 'url.id_objet'); - $disparus_url = array(); + $disparus_url = []; foreach ($tradlang_disparus as $tradlang) { $disparus_url[] = $tradlang['id_objet']; } - if (count($disparus_url) && count($disparus_url) > 0) { + if (count($disparus_url) && $disparus_url !== []) { sql_delete('spip_urls', 'type="tradlang" AND ' . sql_in('id_objet', $disparus_url)); } return 0; diff --git a/inc/salvatore.php b/inc/salvatore.php index d5f7387..68b8729 100644 --- a/inc/salvatore.php +++ b/inc/salvatore.php @@ -66,8 +66,8 @@ function salvatore_init($log_function = null, $display_time = false){ define('_DIR_SALVATORE_DEPOTS', _DIR_SALVATORE . 'depots/'); } - if (defined('_ID_AUTEUR_SALVATORE') and is_numeric(_ID_AUTEUR_SALVATORE)){ - $GLOBALS['visiteur_session'] = array(); + if (defined('_ID_AUTEUR_SALVATORE') && is_numeric(_ID_AUTEUR_SALVATORE)){ + $GLOBALS['visiteur_session'] = []; $GLOBALS['visiteur_session']['id_auteur'] = _ID_AUTEUR_SALVATORE; // TODO : charger une session complete ? } @@ -125,7 +125,7 @@ function salvatore_charger_fichier_traductions($fichier_traductions = null){ $lignes = array_map('trim', $lignes); $lignes = array_filter($lignes); - $liste_trad = array(); + $liste_trad = []; foreach ($lignes as $ligne){ if ($ligne[0]!=='#'){ $liste = explode(';', trim($ligne)); @@ -138,23 +138,15 @@ function salvatore_charger_fichier_traductions($fichier_traductions = null){ $methode = 'svn'; $branche = ''; $url = $liste[0]; - if (empty($liste[1])){ - $module = preg_replace('#.*/(.*)$#', '$1', $url); - } else { - $module = $liste[1]; - } - if (empty($liste[2])){ - $lang = 'fr'; - } else { - $lang = $liste[2]; - } + $module = empty($liste[1]) ? preg_replace('#.*/(.*)$#', '$1', $url) : $liste[1]; + $lang = empty($liste[2]) ? 'fr' : $liste[2]; } // format complet et explicite de 6 valeurs // seule les valeurs pour branche et dir peuvent etre vide (branche master par defaut en git) // svn;url;;;module;lang // git;url;master;subdir/tolang;module;lang else { - list($methode, $url, $branche, $dir, $module, $lang) = $liste; + [$methode, $url, $branche, $dir, $module, $lang] = $liste; } $methode = trim($methode); $url = trim($url); @@ -165,12 +157,9 @@ function salvatore_charger_fichier_traductions($fichier_traductions = null){ $module = trim($module); $lang = trim($lang); - if ($methode - and $url - and $module - and $lang){ + if ($methode && $url && $module && $lang) { // que fait la $GLOBALS['modules'] ? - if (empty($GLOBALS['modules']) or in_array($module, $GLOBALS['modules'])){ + if (empty($GLOBALS['modules']) || in_array($module, $GLOBALS['modules'])){ // unifier les urls git en https, plus simple a gerer car ne necessitent pas une cle ssh sur le user php (www-data) if (strpos($url, "git@git.spip.net:") === 0) { @@ -179,14 +168,14 @@ function salvatore_charger_fichier_traductions($fichier_traductions = null){ // definir un dir checkout unique meme si plusieurs modules de meme nom dans differents repos $d = explode('/', $url); - while (count($d) and in_array(end($d), ['', 'lang', 'trunk', 'ecrire'])){ + while (count($d) && in_array(end($d), ['', 'lang', 'trunk', 'ecrire'])){ array_pop($d); } $source = ''; if (end($d)){ $source = basename(end($d), '.git'); $source = '--' . preg_replace(',[^\w-],', '_', $source); - if ($branche and $branche !== 'master') { + if ($branche && $branche !== 'master') { $source .= "@$branche"; } } @@ -223,7 +212,7 @@ function salvatore_filtrer_liste_traductions($liste_trad, $modules) { $modules = explode(',', $modules); } $modules = array_map('trim', $modules); - $liste_filtree = array(); + $liste_filtree = []; foreach ($liste_trad as $trad) { if (in_array($trad['module'], $modules)) { $liste_filtree[] = $trad; @@ -241,9 +230,8 @@ function salvatore_filtrer_liste_traductions($liste_trad, $modules) { function salvatore_get_lang_from($module, $fichier_lang) { $lang = str_replace($module, '__', basename($fichier_lang, '.php')); $lang = explode('___', $lang, 2); - $lang = end($lang); - return $lang; + return end($lang); } /** @@ -276,8 +264,7 @@ function salvatore_verifier_gestionnaire_traduction($dir_module, $module) { $url = extraire_attribut($t, 'url'); $gestionnaire = extraire_attribut($t, 'gestionnaire'); $url_gestionnaire = salvatore_get_self_url(); - if ($gestionnaire !== 'salvatore' - or protocole_implicite($url) !== protocole_implicite($url_gestionnaire)) { + if ($gestionnaire !== 'salvatore' || protocole_implicite($url) !== protocole_implicite($url_gestionnaire)) { return "$gestionnaire@$url"; } } @@ -292,20 +279,21 @@ function salvatore_verifier_gestionnaire_traduction($dir_module, $module) { * @return string */ function salvatore_lire_gestionnaire_traduction($dir_module, $module) { - $xml_file = $dir_module . '/' . $module . '.xml'; + $matches = null; + $xml_file = $dir_module . '/' . $module . '.xml'; /** * On teste ici si le fichier est géré par un autre salvatore * Si oui on empeche son import en le signifiant */ if (file_exists($xml_file)){ $xml_content = spip_xml_load($xml_file); - if (is_array($xml_content)){ - // normalement on a qu'une balise <traduction...> englobante, donc on prend la premiere qu'on trouve - if (spip_xml_match_nodes('/^traduction/', $xml_content, $matches) - and $nodes = array_keys($matches) - and $node = reset($nodes)) { - return "<$node>"; - } + // normalement on a qu'une balise <traduction...> englobante, donc on prend la premiere qu'on trouve + if ( + is_array($xml_content) + && (spip_xml_match_nodes('/^traduction/', $xml_content, $matches) + && ($nodes = array_keys($matches)) && ($node = reset($nodes))) + ){ + return "<$node>"; } } return ''; @@ -329,13 +317,14 @@ function salvatore_retrouver_tradlang_module($dir_module, $module) { // peut-etre c'est un module qui a change d'url repo, et donc son dir_module a change ? // sur la balise <traduction> le dir_module est ecrit dans id - if ($t = salvatore_lire_gestionnaire_traduction($dir_module, $module) - and $old_dir_module = extraire_attribut($t, 'id') - and $old_dir_module !== $base_dir_module){ + if (( + $t = salvatore_lire_gestionnaire_traduction($dir_module, $module)) + && ($old_dir_module = extraire_attribut($t, 'id')) + && $old_dir_module !== $base_dir_module + && ($row_module = sql_fetsel('*', 'spip_tradlang_modules', 'dir_module = ' . sql_quote($old_dir_module))) + ){ - if ($row_module = sql_fetsel('*', 'spip_tradlang_modules', 'dir_module = ' . sql_quote($old_dir_module))) { - return $row_module; - } + return $row_module; } #salvatore_fail("Module $module non trouve", "le module dans $dir_module n'est pas en base et n'est pas un renommage de repository"); @@ -358,20 +347,17 @@ function salvatore_set_credentials($methode, $url_repository, $module){ if (strpos($url_repository, '://')!==false){ $user = $pass = false; $parts = parse_url($url_repository); - if (empty($parts['user']) and empty($parts['pass'])){ + if (empty($parts['user']) && empty($parts['pass'])){ $host = $parts['host']; require_once(_DIR_ETC . 'salvatore_passwd.inc'); - if (!empty($domaines_exceptions) - and is_array($domaines_exceptions) - and in_array($host, $domaines_exceptions)){ + if (!empty($domaines_exceptions) && is_array($domaines_exceptions) && in_array($host, $domaines_exceptions)){ // on est dans une exception /** * Est-ce que cette exception dispose de credentials (Github ou git.spip.net) */ - if (is_array($domaines_exceptions_credentials) - and !empty($domaines_exceptions_credentials[$host])){ + if (is_array($domaines_exceptions_credentials) && !empty($domaines_exceptions_credentials[$host])){ $user = $domaines_exceptions_credentials[$host]['user']; $pass = $domaines_exceptions_credentials[$host]['pass']; } @@ -381,10 +367,10 @@ function salvatore_set_credentials($methode, $url_repository, $module){ if (isset(${$module . '_user'})){ $user = ${$module . '_user'}; $pass = ${$module . '_passwd'}; - } elseif ($methode==='svn' and isset($SVNUSER)) { + } elseif ($methode==='svn' && isset($SVNUSER)) { $user = $SVNUSER; $pass = $SVNPASSWD; - } elseif ($methode==='git' and isset($GITUSER)) { + } elseif ($methode==='git' && isset($GITUSER)) { $user = $GITUSER; $pass = $GITPASSWD; } @@ -411,8 +397,10 @@ function salvatore_set_credentials($methode, $url_repository, $module){ */ function salvatore_vcs_function($methode, $function) { include_spip('salvatore/vcs/' . $methode); - if (function_exists($f = "salvatore_vcs_{$methode}_$function") - or function_exists($f = $f . '_dist')) { + if ( + function_exists($f = "salvatore_vcs_{$methode}_$function") + || function_exists($f .= '_dist') + ) { return $f; } throw new \Exception("Erreur fonction $f inexistante"); @@ -450,14 +438,12 @@ function salvatore_log($msg = '', $display_function = null, $display_time = fals static $function = null; static $time_log = null; - if ($display_function and is_callable($display_function)){ + if ($display_function && is_callable($display_function)){ $function = $display_function; $time_log = $display_time; } - if (defined('_DEBUG_TRAD_LANG') - and _DEBUG_TRAD_LANG - and $msg){ + if (defined('_DEBUG_TRAD_LANG') && _DEBUG_TRAD_LANG && $msg){ if ($time_log) { $t = date('Y-m-d H:i:s') . ": "; $msg = $t . str_replace("\n", "\n$t", $msg); @@ -508,8 +494,7 @@ function salvatore_fail($sujet, $corps){ * @param string $corps */ function salvatore_envoyer_mail($sujet = 'Erreur', $corps = ''){ - if (defined('_EMAIL_ERREURS') and _EMAIL_ERREURS - and defined('_EMAIL_SALVATORE') and _EMAIL_SALVATORE){ + if (defined('_EMAIL_ERREURS') && _EMAIL_ERREURS && defined('_EMAIL_SALVATORE') && _EMAIL_SALVATORE){ $envoyer_mail = charger_fonction('envoyer_mail', 'inc'); $destinataire = _EMAIL_ERREURS; $from = _EMAIL_SALVATORE; @@ -557,10 +542,10 @@ function salvatore_verifier_base_upgradee() { * @return string */ function salvatore_nettoyer_chaine_langue($chaine, $lang){ - static $typographie_functions = array(); + static $typographie_functions = []; if (!isset($typographie_functions[$lang])){ - $typo = (in_array($lang, array('eo', 'fr', 'cpf')) || strncmp($lang, 'fr_', 3)==0) ? 'fr' : 'en'; + $typo = (in_array($lang, ['eo', 'fr', 'cpf']) || strncmp($lang, 'fr_', 3)==0) ? 'fr' : 'en'; $typographie_functions[$lang] = charger_fonction($typo, 'typographie'); } @@ -588,7 +573,7 @@ function salvatore_nettoyer_chaine_langue($chaine, $lang){ * Protéger le contenu des balises <html> <code> <cadre> <frame> <tt> <pre> */ define('_PROTEGE_BLOCS_HTML', ',<(html|code|cadre|pre|tt)(\s[^>]*)?>(.*)</\1>,UimsS'); - if ((strpos($chaine, '<')!==false) and preg_match_all(_PROTEGE_BLOCS_HTML, $chaine, $matches, PREG_SET_ORDER)){ + if (strpos($chaine, '<')!==false && preg_match_all(_PROTEGE_BLOCS_HTML, $chaine, $matches, PREG_SET_ORDER)){ foreach ($matches as $reg){ $insert = $reg[0]; // hack: on transforme les caracteres a proteger en les remplacant @@ -608,7 +593,5 @@ function salvatore_nettoyer_chaine_langue($chaine, $lang){ */ $chaine = strtr($chaine, _TYPO_PROTECTEUR, _TYPO_PROTEGER); - $chaine = unicode_to_utf_8(html_entity_decode(preg_replace('/&([lg]t;)/S', '&\1', $chaine), ENT_NOQUOTES, 'utf-8')); - - return $chaine; -} \ No newline at end of file + return unicode_to_utf_8(html_entity_decode(preg_replace('/&([lg]t;)/S', '&\1', $chaine), ENT_NOQUOTES, 'utf-8')); +} diff --git a/inc/stats_trads_to_array.php b/inc/stats_trads_to_array.php index 8846cb6..6402b13 100644 --- a/inc/stats_trads_to_array.php +++ b/inc/stats_trads_to_array.php @@ -10,26 +10,23 @@ define('MOYENNE_GLISSANTE_JOUR', 30); // moyenne glissante sur 12 mois define('MOYENNE_GLISSANTE_MOIS', 12); -function inc_stats_trads_to_array_dist($unite, $duree, $id_tradlang_module, $options = array()) { +function inc_stats_trads_to_array_dist($unite, $duree, $id_tradlang_module, $options = []) { $now = time(); - if (!in_array($unite, array('jour', 'mois'))) { + if (!in_array($unite, ['jour', 'mois'])) { $unite = 'jour'; } $serveur = ''; $table = 'spip_versions'; $order = 'date'; - $where = array( - 'objet = "tradlang"', - 'id_version > 0' - ); + $where = ['objet = "tradlang"', 'id_version > 0']; - if (!isset($options['id_auteur']) or !is_numeric($options['id_auteur'])) { + if (!isset($options['id_auteur']) || !is_numeric($options['id_auteur'])) { $where[] = 'id_auteur > 0'; } else { - $where[] = 'id_auteur = '.intval($options['id_auteur']); + $where[] = 'id_auteur = '.(int) $options['id_auteur']; } if ($duree) { @@ -41,32 +38,32 @@ function inc_stats_trads_to_array_dist($unite, $duree, $id_tradlang_module, $opt $res = sql_select("COUNT(*) AS v, DATE_FORMAT($order,'$format') AS d", $table, $where, 'd', 'd', '', '', $serveur); $format = str_replace('%', '', $format); $periode = ($unite=='jour' ? 24*3600 : 365*24*3600/12); - $step = intval(round($periode*1.1, 0)); + $step = (int) round($periode*1.1, 0); $glisse = constant('MOYENNE_GLISSANTE_'.strtoupper($unite)); moyenne_glissante(); - $data = array(); + $data = []; $r = sql_fetch($res, $serveur); if (!$r) { - $r = array('d' => date($format, $now), 'v' => 0); + $r = ['d' => date($format, $now), 'v' => 0]; } do { - $data[$r['d']] = array('versions'=>$r['v'],'moyenne'=>moyenne_glissante($r['v'], $glisse)); + $data[$r['d']] = ['versions'=>$r['v'], 'moyenne'=>moyenne_glissante($r['v'], $glisse)]; $last = $r['d']; // donnee suivante $r = sql_fetch($res, $serveur); // si la derniere n'est pas la date courante, l'ajouter - if (!$r and $last != date($format, $now)) { - $r = array('d' => date($format, $now), 'v' => 0); + if (!$r && $last != date($format, $now)) { + $r = ['d' => date($format, $now), 'v' => 0]; } // completer les trous manquants si besoin if ($r) { $next = strtotime($last); $current = strtotime($r['d']); - while (($next+=$step) < $current and $d = date($format, $next)) { + while (($next+=$step) < $current && ($d = date($format, $next))) { if (!isset($data[$d])) { - $data[$d] = array('versions'=>0, 'moyenne' => moyenne_glissante(0, $glisse)); + $data[$d] = ['versions'=>0, 'moyenne' => moyenne_glissante(0, $glisse)]; } $last = $d; $next = strtotime($last); @@ -79,7 +76,7 @@ function inc_stats_trads_to_array_dist($unite, $duree, $id_tradlang_module, $opt // + moyenne au pro rata du temps qui reste $moyenne = end($data); $moyenne = prev($data); - $moyenne = ($moyenne and isset($moyenne['moyenne'])) ? $moyenne['moyenne'] : 0; + $moyenne = ($moyenne && isset($moyenne['moyenne'])) ? $moyenne['moyenne'] : 0; $data[$last]['moyenne'] = $moyenne; // temps restant @@ -88,7 +85,7 @@ function inc_stats_trads_to_array_dist($unite, $duree, $id_tradlang_module, $opt $prorata = $remaining/$periode; // projection - $data[$last]['prevision'] = $data[$last]['versions'] + intval(round($moyenne*$prorata)); + $data[$last]['prevision'] = $data[$last]['versions'] + (int) round($moyenne*$prorata); return $data; } diff --git a/inc/tradlang_ajouter_code_langue.php b/inc/tradlang_ajouter_code_langue.php index 6442cf8..f39a78b 100644 --- a/inc/tradlang_ajouter_code_langue.php +++ b/inc/tradlang_ajouter_code_langue.php @@ -22,9 +22,9 @@ function inc_tradlang_ajouter_code_langue($module, $lang) { * * On ne sélectionne que les champs qui seront définitivement insérés tels quel en base pour simplifier le tableau */ - $chaines_mere = sql_allfetsel('str,id,comm', 'spip_tradlangs', 'id_tradlang_module = '.intval($module['id_tradlang_module']).' AND lang = ' . sql_quote($module['lang_mere'])); - $total = count($chaines_mere); - $chaines_inserees = array(); + $chaines_mere = sql_allfetsel('str,id,comm', 'spip_tradlangs', 'id_tradlang_module = '.(int) $module['id_tradlang_module'].' AND lang = ' . sql_quote($module['lang_mere'])); + $total = is_countable($chaines_mere) ? count($chaines_mere) : 0; + $chaines_inserees = []; $date = date('Y-m-d H:i:s'); foreach ($chaines_mere as $id => $chaine) { /** @@ -37,7 +37,7 @@ function inc_tradlang_ajouter_code_langue($module, $lang) { * - les champs orig, statut, traducteur prennent les valeurs par défaut (0 et NEW), * id_tradlang et maj sont incrémentés par mysql */ - $chaine['id_tradlang_module'] = intval($module['id_tradlang_module']); + $chaine['id_tradlang_module'] = (int) $module['id_tradlang_module']; $chaine['titre'] = $chaine['id'].' : '.$module['module'].' - '.$lang; $chaine['module'] = $module['module']; $chaine['lang'] = $lang; @@ -48,7 +48,7 @@ function inc_tradlang_ajouter_code_langue($module, $lang) { $chaines_inserees[] = $chaine; unset($chaines_mere[$id]); } - if (intval($total) > 0) { + if ((int) $total > 0) { $res = sql_insertq_multi('spip_tradlangs', $chaines_inserees); } /** @@ -68,22 +68,21 @@ function inc_tradlang_ajouter_code_langue($module, $lang) { /** * On ajoute un job tout de suite pour générer les premières révisions */ - $job_description = _T('tradlang:job_creation_revisions_modules', array('module' => "#". $module['id_tradlang_module'] . ' ' . $module['module'])); - job_queue_add('tradlang_creer_premieres_revisions', $job_description, array($module['id_tradlang_module'], $lang), 'inc/', false, 0, 10); + $job_description = _T('tradlang:job_creation_revisions_modules', ['module' => "#". $module['id_tradlang_module'] . ' ' . $module['module']]); + job_queue_add('tradlang_creer_premieres_revisions', $job_description, [$module['id_tradlang_module'], $lang], 'inc/', false, 0, 10); /** * On ajoute la ligne du bilan */ - $bilan = array( - 'id_tradlang_module' => $module['id_tradlang_module'], - 'module' => $module['module'], - 'lang'=> $lang, - 'chaines_total' => $total, - 'chaines_ok' => 0, - 'chaines_relire' => 0, - 'chaines_modif' => 0, - 'chaines_new' => $total - ); + $bilan = [ + 'id_tradlang_module' => $module['id_tradlang_module'], + 'module' => $module['module'], 'lang'=> $lang, + 'chaines_total' => $total, + 'chaines_ok' => 0, + 'chaines_relire' => 0, + 'chaines_modif' => 0, + 'chaines_new' => $total + ]; sql_insertq('spip_tradlangs_bilans', $bilan); /** diff --git a/inc/tradlang_creer_premieres_revisions.php b/inc/tradlang_creer_premieres_revisions.php index ac86687..dd43755 100644 --- a/inc/tradlang_creer_premieres_revisions.php +++ b/inc/tradlang_creer_premieres_revisions.php @@ -16,13 +16,9 @@ function inc_tradlang_creer_premieres_revisions_dist($id_tradlang_module=0, $lan $count = 0; if ($versionnes = liste_champs_versionnes('spip_tradlangs')) { $where = 'b.id_objet IS NULL'; - $where .= (isset($id_tradlang_module) and $id_tradlang_module) ? ' AND a.id_tradlang_module = '.intval($id_tradlang_module) : ''; - $where .= (isset($lang) and $lang) ? ' AND a.lang = '.sql_quote($lang) : ''; - if (isset($nb) && is_numeric($nb) && $nb > 1) { - $nb = $nb; - } else { - $nb = 400; - } + $where .= (isset($id_tradlang_module) && $id_tradlang_module) ? ' AND a.id_tradlang_module = '.(int) $id_tradlang_module : ''; + $where .= (isset($lang) && $lang) ? ' AND a.lang = '.sql_quote($lang) : ''; + $nb = isset($nb) && is_numeric($nb) && $nb > 1 ? $nb : 400; $tradlangs_sans_revisions = sql_select('a.id_tradlang', 'spip_tradlangs AS a LEFT JOIN spip_versions AS b ON b.objet = "tradlang" AND b.id_objet = a.id_tradlang', $where, '', 'a.id_tradlang DESC', '0,'.$nb); while ($tradlang = sql_fetch($tradlangs_sans_revisions)) { diff --git a/inc/tradlang_forum_extraire_titre.php b/inc/tradlang_forum_extraire_titre.php index 13004cc..aa65a05 100644 --- a/inc/tradlang_forum_extraire_titre.php +++ b/inc/tradlang_forum_extraire_titre.php @@ -5,16 +5,17 @@ if (!defined('_ECRIRE_INC_VERSION')) { } function inc_tradlang_forum_extraire_titre($id_objet) { - $trouver_table = charger_fonction('trouver_table', 'base'); + $titre = null; + $trouver_table = charger_fonction('trouver_table', 'base'); $desc = $trouver_table(table_objet_sql('tradlang')); - $_titre = $desc['titre'] ? $desc['titre'] : ($desc['field']['titre'] ? 'titre' : ''); + $_titre = $desc['titre'] ?: ($desc['field']['titre'] ? 'titre' : ''); $_table = $desc['table']; $_primary = id_table_objet($_table); - if ($_titre and $res = sql_fetsel( + if ($_titre && ($res = sql_fetsel( $_titre, $_table, - array("$_primary = ". sql_quote($id_objet)) - )) { + ["$_primary = ". sql_quote($id_objet)] + ))) { $titre = $res['titre']; } return $titre; diff --git a/inc/tradlang_sauvegarde_module.php b/inc/tradlang_sauvegarde_module.php index 1c64c53..cb44dc9 100644 --- a/inc/tradlang_sauvegarde_module.php +++ b/inc/tradlang_sauvegarde_module.php @@ -57,7 +57,5 @@ function inc_tradlang_sauvegarde_module_dist($module, $langue, $dir_lang = false $f = charger_fonction('spip', 'export_lang'); } - $fichier = $f($module,$langue,$dir_lang,$tout); - - return $fichier; + return $f($module,$langue,$dir_lang,$tout); } diff --git a/inc/tradlang_supprimer_module.php b/inc/tradlang_supprimer_module.php index 03d28df..f517a0b 100644 --- a/inc/tradlang_supprimer_module.php +++ b/inc/tradlang_supprimer_module.php @@ -12,35 +12,35 @@ if (!defined('_ECRIRE_INC_VERSION')) { * @return bool */ function inc_tradlang_supprimer_module($id_tradlang_module) { - if (intval($id_tradlang_module) > 0) { + if ((int) $id_tradlang_module > 0) { /** * Le module existe-t-il ? */ - $module = sql_getfetsel('id_tradlang_module', 'spip_tradlang_modules', 'id_tradlang_module = ' . intval($id_tradlang_module)); + $module = sql_getfetsel('id_tradlang_module', 'spip_tradlang_modules', 'id_tradlang_module = ' . (int) $id_tradlang_module); if ($module) { /** * Suppression des versions des chaines de langue */ - $tradlangs = sql_allfetsel('id_tradlang', 'spip_tradlangs', 'id_tradlang_module=' . intval($module)); - $tradlangs_supprimer = array(); + $tradlangs = sql_allfetsel('id_tradlang', 'spip_tradlangs', 'id_tradlang_module=' . (int) $module); + $tradlangs_supprimer = []; foreach ($tradlangs as $tradlang) { $tradlangs_supprimer[] = $tradlang['id_tradlang']; } - if (count($tradlangs_supprimer)) { + if ($tradlangs_supprimer !== []) { sql_delete('spip_versions', 'objet="tradlang" AND ' . sql_in('id_objet', $tradlangs_supprimer)); sql_delete('spip_versions_fragments', 'objet="tradlang" AND ' . sql_in('id_objet', $tradlangs_supprimer)); } /** * Suppression des chaines de langue, du module et des bilans */ - sql_delete('spip_tradlangs', 'id_tradlang_module = ' . intval($module)); - sql_delete('spip_tradlang_modules', 'id_tradlang_module = ' . intval($module)); - sql_delete('spip_tradlangs_bilans', 'id_tradlang_module = ' . intval($module)); + sql_delete('spip_tradlangs', 'id_tradlang_module = ' . (int) $module); + sql_delete('spip_tradlang_modules', 'id_tradlang_module = ' . (int) $module); + sql_delete('spip_tradlangs_bilans', 'id_tradlang_module = ' . (int) $module); /** * Suppression des versions du module */ - sql_delete('spip_versions_fragments', 'objet="tradlang_module" AND id_objet=' . intval($module)); - sql_delete('spip_versions', 'objet="tradlang_module" AND id_objet = ' . intval($module)); + sql_delete('spip_versions_fragments', 'objet="tradlang_module" AND id_objet=' . (int) $module); + sql_delete('spip_versions', 'objet="tradlang_module" AND id_objet = ' . (int) $module); return true; } else { return false; diff --git a/inc/tradlang_verifier_bilans.php b/inc/tradlang_verifier_bilans.php index c79c37b..5df6bf0 100644 --- a/inc/tradlang_verifier_bilans.php +++ b/inc/tradlang_verifier_bilans.php @@ -25,18 +25,18 @@ function inc_tradlang_verifier_bilans_dist($id_tradlang_module, $langue_mere, $i /** * Quelle est le total de la langue mère */ - $total = sql_countsel('spip_tradlangs', 'id_tradlang_module=' . intval($id_tradlang_module) . ' AND lang=' . sql_quote($langue_mere) . " AND statut='OK'"); + $total = sql_countsel('spip_tradlangs', 'id_tradlang_module=' . (int) $id_tradlang_module . ' AND lang=' . sql_quote($langue_mere) . " AND statut='OK'"); /** * Les infos du module */ - $row_module = sql_fetsel('*', 'spip_tradlang_modules', 'id_tradlang_module=' . intval($id_tradlang_module)); + $row_module = sql_fetsel('*', 'spip_tradlang_modules', 'id_tradlang_module=' . (int) $id_tradlang_module); $module = $row_module['module']; /** * Les différentes langues du module */ - $langues = sql_allfetsel('DISTINCT lang', 'spip_tradlangs', 'id_tradlang_module=' . intval($id_tradlang_module)); + $langues = sql_allfetsel('DISTINCT lang', 'spip_tradlangs', 'id_tradlang_module=' . (int) $id_tradlang_module); $langues = array_column($langues, 'lang'); $tradlang_verifier_langue_base = charger_fonction('tradlang_verifier_langue_base', 'inc'); @@ -45,20 +45,20 @@ function inc_tradlang_verifier_bilans_dist($id_tradlang_module, $langue_mere, $i */ foreach ($langues as $lang){ $bilan = false; - $where = 'id_tradlang_module=' . intval($id_tradlang_module) . ' AND lang = ' . sql_quote($lang); + $where = 'id_tradlang_module=' . (int) $id_tradlang_module . ' AND lang = ' . sql_quote($lang); - $nbs = array(); + $nbs = []; foreach (['OK', 'RELIRE', 'MODIF', 'NEW'] as $s){ $nbs[$s] = sql_countsel('spip_tradlangs', "$where AND statut=" . sql_quote($s)); } $total_lang = array_sum($nbs); // si les totaux ne matchent pas, reverifier tout - if ($total_lang!=$total){ + if ($total_lang != $total){ if ($total_lang>$total){ - spip_log("La langue $lang du mondule $module (#$id_tradlang_module) a trop de chaines $total_lang vs " . json_encode($nbs), 'bilan.' . _LOG_ERREUR); + spip_log("La langue $lang du mondule $module (#$id_tradlang_module) a trop de chaines $total_lang vs " . json_encode($nbs, JSON_THROW_ON_ERROR), 'bilan.' . _LOG_ERREUR); } elseif ($total_lang<$total) { - spip_log("La langue $lang du mondule $module (#$id_tradlang_module) n'a pas assez de chaines $total_lang vs " . json_encode($nbs), 'bilan.' . _LOG_ERREUR); + spip_log("La langue $lang du mondule $module (#$id_tradlang_module) n'a pas assez de chaines $total_lang vs " . json_encode($nbs, JSON_THROW_ON_ERROR), 'bilan.' . _LOG_ERREUR); } $tradlang_verifier_langue_base($module, $lang); @@ -67,7 +67,7 @@ function inc_tradlang_verifier_bilans_dist($id_tradlang_module, $langue_mere, $i } } - $infos_bilan = array( + $infos_bilan = [ 'id_tradlang_module' => $id_tradlang_module, 'module' => $module, 'lang' => $lang, @@ -76,10 +76,10 @@ function inc_tradlang_verifier_bilans_dist($id_tradlang_module, $langue_mere, $i 'chaines_relire' => $nbs['RELIRE'], 'chaines_modif' => $nbs['MODIF'], 'chaines_new' => $nbs['NEW'] - ); + ]; - if (sql_countsel('spip_tradlangs_bilans', 'id_tradlang_module=' . intval($id_tradlang_module) . ' AND lang=' . sql_quote($lang))) { - sql_updateq('spip_tradlangs_bilans', $infos_bilan, 'id_tradlang_module=' . intval($id_tradlang_module) . ' AND lang=' . sql_quote($lang)); + if (sql_countsel('spip_tradlangs_bilans', 'id_tradlang_module=' . (int) $id_tradlang_module . ' AND lang=' . sql_quote($lang))) { + sql_updateq('spip_tradlangs_bilans', $infos_bilan, 'id_tradlang_module=' . (int) $id_tradlang_module . ' AND lang=' . sql_quote($lang)); } else { sql_insertq('spip_tradlangs_bilans', $infos_bilan); diff --git a/inc/tradlang_verifier_langue_base.php b/inc/tradlang_verifier_langue_base.php index b896e43..70d595e 100644 --- a/inc/tradlang_verifier_langue_base.php +++ b/inc/tradlang_verifier_langue_base.php @@ -35,20 +35,20 @@ function inc_tradlang_verifier_langue_base_dist($id_tradlang_module, $langue) { $supprimees = array_sum(array_column($res, 1)); $recuperees = array_sum(array_column($res, 2)); - return array($inserees,$supprimees,$recuperees); + return [$inserees, $supprimees, $recuperees]; } - if (!$row_module = sql_fetsel('*', 'spip_tradlang_modules', 'id_tradlang_module=' . intval($id_tradlang_module))) { - return array(0,0,0); + if (!$row_module = sql_fetsel('*', 'spip_tradlang_modules', 'id_tradlang_module=' . (int) $id_tradlang_module)) { + return [0, 0, 0]; } - $where_module = 'id_tradlang_module=' . intval($id_tradlang_module); + $where_module = 'id_tradlang_module=' . (int) $id_tradlang_module; $module = $row_module['module']; // pour les logs /** * Quelle est la langue mère */ $langue_mere = $row_module['lang_mere']; - $trad_langue_mere_id = $trad_langue_cible_id = $trad_langue_cible_id_attic = array(); + $trad_langue_mere_id = $trad_langue_cible_id = $trad_langue_cible_id_attic = []; /** * On crée trois tableaux: @@ -75,7 +75,7 @@ function inc_tradlang_verifier_langue_base_dist($id_tradlang_module, $langue) { * On met dans un tableau les chaines en question si on a au moins un résultat */ $diff1 = array_diff($trad_langue_mere_id, $trad_langue_cible_id); - if (count($diff1) > 0) { + if ($diff1 !== []) { $diff1_array = sql_allfetsel('*', 'spip_tradlangs', "$where_module AND lang=" . sql_quote($langue_mere) . ' AND ' . sql_in('id', $diff1)); foreach ($diff1_array as $diff) { /** @@ -85,7 +85,7 @@ function inc_tradlang_verifier_langue_base_dist($id_tradlang_module, $langue) { */ if (in_array($diff['id'], $trad_langue_cible_id_attic)) { $titre = $diff['id'].' : '.$diff['module'].' - '.$langue; - sql_updateq('spip_tradlangs', array('statut' => 'MODIF', 'titre' => $titre), "$where_module AND id=" . sql_quote($diff['id']) . ' AND lang=' . sql_quote($langue) . " AND statut='attic'"); + sql_updateq('spip_tradlangs', ['statut' => 'MODIF', 'titre' => $titre], "$where_module AND id=" . sql_quote($diff['id']) . ' AND lang=' . sql_quote($langue) . " AND statut='attic'"); $recuperees++; } else { $diff['orig'] = 0; @@ -106,9 +106,9 @@ function inc_tradlang_verifier_langue_base_dist($id_tradlang_module, $langue) { * et donc à supprimer */ $diff2 = array_diff($trad_langue_cible_id, $trad_langue_mere_id); - if (count($diff2) > 0) { + if ($diff2 !== []) { foreach ($diff2 as $id) { - sql_updateq('spip_tradlangs', array('statut' => 'attic'), "$where_module AND id=" . sql_quote($id) . ' AND lang=' . sql_quote($langue)); + sql_updateq('spip_tradlangs', ['statut' => 'attic'], "$where_module AND id=" . sql_quote($id) . ' AND lang=' . sql_quote($langue)); $supprimees++; } } @@ -117,8 +117,8 @@ function inc_tradlang_verifier_langue_base_dist($id_tradlang_module, $langue) { include_spip('inc/invalideur'); suivre_invalideur('1'); spip_log("$module: insert => $inserees - suppressions => $supprimees - recuperations => $recuperees", 'bilan.'._LOG_ERREUR); - return array($inserees,$supprimees,$recuperees); + return [$inserees, $supprimees, $recuperees]; } - return array(0,0,0); + return [0, 0, 0]; } diff --git a/salvatore/ecriveur.php b/salvatore/ecriveur.php index 1cbcf38..0a1520a 100644 --- a/salvatore/ecriveur.php +++ b/salvatore/ecriveur.php @@ -113,7 +113,7 @@ function salvatore_exporter_module($id_tradlang_module, $source, $url_site, $url $url_repo = $source['url']; - $row_module = sql_fetsel('*', 'spip_tradlang_modules', 'id_tradlang_module=' . intval($id_tradlang_module)); + $row_module = sql_fetsel('*', 'spip_tradlang_modules', 'id_tradlang_module=' . (int) $id_tradlang_module); if (!$row_module) { $module = $source['module']; salvatore_log("<error>Le module #$id_tradlang_module $module n'existe pas</error>"); @@ -123,7 +123,7 @@ function salvatore_exporter_module($id_tradlang_module, $source, $url_site, $url $dir_module = $dir_modules . $row_module['dir_module']; $module = $row_module['module']; - if (is_numeric($row_module['limite_trad']) and $row_module['limite_trad']>0){ + if (is_numeric($row_module['limite_trad']) && $row_module['limite_trad']>0){ $seuil_export = $row_module['limite_trad']; } else { @@ -136,22 +136,22 @@ function salvatore_exporter_module($id_tradlang_module, $source, $url_site, $url } - $xml_infos = $commit_infos = array(); - $liste_lang = $liste_lang_non_exportees = $liste_lang_a_supprimer = array(); + $xml_infos = $commit_infos = []; + $liste_lang = $liste_lang_non_exportees = $liste_lang_a_supprimer = []; - $count_trad_reference = sql_countsel('spip_tradlangs', 'id_tradlang_module=' . intval($id_tradlang_module) . ' AND lang=' . sql_quote($row_module['lang_mere']) . " AND statut='OK'", 'id'); + $count_trad_reference = sql_countsel('spip_tradlangs', 'id_tradlang_module=' . (int) $id_tradlang_module . ' AND lang=' . sql_quote($row_module['lang_mere']) . " AND statut='OK'", 'id'); $minimal = ceil((($count_trad_reference*$seuil_export)/100)); salvatore_log("Minimal = $minimal ($seuil_export %)"); - $langues = sql_allfetsel('lang,COUNT(*) as count', 'spip_tradlangs', 'id_tradlang_module=' . intval($id_tradlang_module) . " AND statut != 'NEW' AND statut != 'attic'", 'lang', 'lang'); + $langues = sql_allfetsel('lang,COUNT(*) as count', 'spip_tradlangs', 'id_tradlang_module=' . (int) $id_tradlang_module . " AND statut != 'NEW' AND statut != 'attic'", 'lang', 'lang'); foreach ($langues as $langue){ /** * Le fichier est il suffisamment traduit */ if ($langue['count']>=$minimal){ $liste_lang[] = $langue['lang']; - $commit_infos[$langue['lang']] = array(); - } + $commit_infos[$langue['lang']] = []; + } else { /** * Le fichier n'est pas suffisamment traduit et n'existe pas, on ne fera donc rien @@ -164,7 +164,7 @@ function salvatore_exporter_module($id_tradlang_module, $source, $url_site, $url * On ne va donc pas le supprimer à la barbare, mais on le met à jour quand même */ $liste_lang[] = $langue['lang']; - $commit_infos[$langue['lang']] = array(); + $commit_infos[$langue['lang']] = []; $liste_lang_a_supprimer[] = $langue['lang']; $percent = (($langue['count']/$count_trad_reference)*100); if ($percent<($seuil_export-15)){ @@ -179,11 +179,11 @@ function salvatore_exporter_module($id_tradlang_module, $source, $url_site, $url salvatore_log("Generation de la langue $lang"); $indent = "\t"; - $php_lines = $chaines = $id_tradlangs = array(); + $php_lines = $chaines = $id_tradlangs = []; $initiale = ''; // On ne prend que les MODIF, les RELIRE et les OK pour ne pas rendre les sites multilingues en français - $chaines = sql_allfetsel('id_tradlang,id,str,comm,statut,md5', 'spip_tradlangs', 'id_tradlang_module=' . intval($id_tradlang_module) . ' AND lang=' . sql_quote($lang) . " AND statut!='NEW' AND statut!='attic'", 'id'); + $chaines = sql_allfetsel('id_tradlang,id,str,comm,statut,md5', 'spip_tradlangs', 'id_tradlang_module=' . (int) $id_tradlang_module . ' AND lang=' . sql_quote($lang) . " AND statut!='NEW' AND statut!='attic'", 'id'); $id_tradlangs = array_column($chaines, 'id_tradlang'); $chaines = array_combine(array_column($chaines, 'id'), $chaines); ksort($chaines); @@ -199,7 +199,7 @@ function salvatore_exporter_module($id_tradlang_module, $source, $url_site, $url $php_lines[] = "\n$indent// $initiale"; } - if (strlen($chaine['statut']) and ($chaine['statut']!=='OK')){ + if (strlen($chaine['statut']) && $chaine['statut']!=='OK'){ $comment .= ' ' . $chaine['statut']; } if ($comment){ @@ -213,8 +213,8 @@ function salvatore_exporter_module($id_tradlang_module, $source, $url_site, $url /** * Si le md5 ou la chaine à changé, on la met à jour dans la base */ - if (($chaine['md5']!==$newmd5) || ($str!=$chaine['str'])){ - $r = sql_updateq('spip_tradlangs', array('md5' => $newmd5, 'str' => $str), 'id_tradlang=' . intval($chaine['id_tradlang'])); + if (($chaine['md5']!==$newmd5) || ($str != $chaine['str'])){ + $r = sql_updateq('spip_tradlangs', ['md5' => $newmd5, 'str' => $str], 'id_tradlang=' . (int) $chaine['id_tradlang']); } $php_lines[] = $indent . var_export($chaine['id'], 1) . ' => ' . var_export($str, 1) . ',' . $comment; @@ -224,25 +224,25 @@ function salvatore_exporter_module($id_tradlang_module, $source, $url_site, $url $file_name = salvatore_exporter_fichier_php($dir_module, $module, $lang, $php_lines, $url_trad_module, ($lang==$lang_ref) ? $url_repo : false); // noter la langue et les traducteurs pour lang/module.xml - $people_unique = array(); - $xml_infos[$lang] = array( - 'traducteurs' => array(), + $people_unique = []; + $xml_infos[$lang] = [ + 'traducteurs' => [], 'traduits' => $total_chaines['OK'], 'modifs' => $total_chaines['MODIF'], - 'relire' => $total_chaines['RELIRE'], - ); - if (defined('_ID_AUTEUR_SALVATORE') and intval(_ID_AUTEUR_SALVATORE)>0){ + 'relire' => $total_chaines['RELIRE'] + ]; + if (defined('_ID_AUTEUR_SALVATORE') && (int) _ID_AUTEUR_SALVATORE>0){ $people_unique[] = _ID_AUTEUR_SALVATORE; } // ici on prend tous les statut de chaine (?) - $traducteurs = sql_allfetsel('DISTINCT(traducteur)', 'spip_tradlangs', 'id_tradlang_module=' . intval($id_tradlang_module) . ' AND lang=' . sql_quote($lang)); + $traducteurs = sql_allfetsel('DISTINCT(traducteur)', 'spip_tradlangs', 'id_tradlang_module=' . (int) $id_tradlang_module . ' AND lang=' . sql_quote($lang)); foreach ($traducteurs as $t){ $traducteurs_lang = explode(',', $t['traducteur']); foreach ($traducteurs_lang as $traducteur){ if (!in_array($traducteur, $people_unique)){ - $traducteur_supp = array(); - if (is_numeric($traducteur) and $id_auteur = intval($traducteur)){ + $traducteur_supp = []; + if (is_numeric($traducteur) && ($id_auteur = (int) $traducteur)){ $traducteur_supp['nom'] = extraire_multi(sql_getfetsel('nom', 'spip_auteurs', 'id_auteur = ' . $id_auteur)); $traducteur_supp['lien'] = url_absolue(generer_url_entite($id_auteur, 'auteur'), $url_site); } elseif (trim(strlen($traducteur))>0) { @@ -267,27 +267,27 @@ function salvatore_exporter_module($id_tradlang_module, $source, $url_site, $url if ($row_module['limite_trad']==0){ $commit_infos[$lang]['must_add'] = true; - } elseif (!in_array($module, array('ecrire', 'spip', 'public'))) { - if ((intval(($xml_infos[$lang]['traduits']/$count_trad_reference)*100)>$seuil_export)){ + } elseif (!in_array($module, ['ecrire', 'spip', 'public'])) { + if (((int) (($xml_infos[$lang]['traduits']/$count_trad_reference)*100)>$seuil_export)){ $commit_infos[$lang]['must_add'] = true; } } // trouver le commiteur si c'est un fichier deja versionne ou a ajouter - if ($commit_infos[$lang]['lastmodified'] or $commit_infos[$lang]['must_add']){ + if ($commit_infos[$lang]['lastmodified'] || $commit_infos[$lang]['must_add']){ $where = [ "objet='tradlang'", sql_in('id_objet', $id_tradlangs), "id_auteur != '-1'", - 'id_auteur !=' . intval(_ID_AUTEUR_SALVATORE), + 'id_auteur !=' . (int) _ID_AUTEUR_SALVATORE, ]; if ($commit_infos[$lang]['lastmodified']){ $where[] = "date>" . sql_quote(date('Y-m-d H:i:s', $commit_infos[$lang]['lastmodified'])); } $auteur_versions = sql_allfetsel('DISTINCT id_auteur', 'spip_versions', $where); - if (count($auteur_versions)==1){ - $auteur = sql_fetsel('nom,email', 'spip_auteurs', 'id_auteur = ' . intval($auteur_versions[0]['id_auteur'])); - if ($auteur and $auteur['email']){ + if ((is_countable($auteur_versions) ? count($auteur_versions) : 0)==1){ + $auteur = sql_fetsel('nom,email', 'spip_auteurs', 'id_auteur = ' . (int) $auteur_versions[0]['id_auteur']); + if ($auteur && $auteur['email']){ $commit_infos[$lang]['author'] = $auteur['email']; if ($auteur['nom']){ $nom = $auteur['nom']; @@ -321,7 +321,7 @@ function salvatore_exporter_module($id_tradlang_module, $source, $url_site, $url if ($info['traduits'] > 0) { $detail = " total=\"$count_trad_reference\" traduits=\"" . $info['traduits'] . '" relire="' . $info['relire'] . '" modifs="' . $info['modifs'] . '" nouveaux="' . ($count_trad_reference-($info['modifs']+$info['traduits']+$info['relire'])) . '" pourcent="' . number_format((($info['traduits']/$count_trad_reference)*100), 2) . "\""; } - if (count($info['traducteurs'])>0){ + if ($info['traducteurs'] !== []){ $xml .= "$indent<langue code=\"$lang\" url=\"" . parametre_url($url_trad_module, 'lang_cible', $lang) . "\"{$detail}>\n"; ksort($info['traducteurs']); foreach ($info['traducteurs'] as $nom => $people){ @@ -336,33 +336,33 @@ function salvatore_exporter_module($id_tradlang_module, $source, $url_site, $url $file_xml = $dir_module . '/' . $module . '.xml'; file_put_contents($file_xml, $xml); if (salvatore_file_need_commit(basename($file_xml), $source, $dir_depots)){ - $commit_infos['.xml'] = array( + $commit_infos['.xml'] = [ 'file_name' => basename($file_xml), 'lastmodified' => salvatore_read_lastmodified_file(basename($file_xml), $source, $dir_depots), - 'must_add' => true, - ); + 'must_add' => true + ]; } - if (isset($liste_lang_non_exportees) and (count($liste_lang_non_exportees)>0)){ + if (isset($liste_lang_non_exportees) && $liste_lang_non_exportees !== []){ salvatore_log("Les langues suivantes ne sont pas exportées car trop peu traduites : " . implode(', ', $liste_lang_non_exportees)); } - if (isset($liste_lang_a_supprimer) and (count($liste_lang_a_supprimer)>0)){ + if (isset($liste_lang_a_supprimer) && $liste_lang_a_supprimer !== []){ salvatore_log("<error>Les langues suivantes devraient être supprimées car trop peu traduites : " . implode(', ', $liste_lang_a_supprimer)."</error>"); } $nb_to_commit = 0; // et on ecrit un json pour que le pousseur sache quoi commit - if (count($commit_infos)) { + if ($commit_infos !== []) { $nb_to_commit = count($commit_infos); if ($message_commit) { $commit_infos['.message'] = $message_commit; } - file_put_contents($file_commit_infos, json_encode($commit_infos)); + file_put_contents($file_commit_infos, json_encode($commit_infos, JSON_THROW_ON_ERROR)); } if ($row_module['bon_a_pousser']>0) { - sql_updateq("spip_tradlang_modules", array('bon_a_pousser' => 0), 'id_tradlang_module=' . intval($id_tradlang_module)); + sql_updateq("spip_tradlang_modules", ['bon_a_pousser' => 0], 'id_tradlang_module=' . (int) $id_tradlang_module); } $log = salvatore_read_status_modif($module, $source, $dir_depots); @@ -378,7 +378,7 @@ function salvatore_exporter_module($id_tradlang_module, $source, $url_site, $url function salvatore_clean_comment($comment) { if (strlen(trim($comment))>1){ // On remplace les sauts de lignes des commentaires sinon ça crée des erreurs php - $comment = str_replace(array("\r\n", "\n", "\r"), ' ', $comment); + $comment = str_replace(["\r\n", "\n", "\r"], ' ', $comment); // Conversion des commentaires en utf-8 $comment = unicode_to_utf_8(html_entity_decode(preg_replace('/&([lg]t;)/S', '&\1', $comment), ENT_NOQUOTES, 'utf-8')); return $comment; @@ -399,7 +399,7 @@ function salvatore_clean_comment($comment) { */ function salvatore_exporter_fichier_php($dir_module, $module, $lang, $php_lines, $url_trad_module, $origin) { $file_name = $dir_module . '/' . $module . '_' . $lang . '.php'; - $file_content = '<' . '?php + $file_content = '<?php // This is a SPIP language file -- Ceci est un fichier langue de SPIP '; if ($origin) { @@ -488,5 +488,5 @@ function salvatore_file_need_commit($file, $source, $dir_depots) { $vcs_status_file = salvatore_vcs_function($source['methode'], "status_file"); $status = $vcs_status_file($dir_depots . $source['dir_checkout'], $pre . $file); - return (strlen(trim($status)) ? true : false); + return ((bool) strlen(trim($status))); } diff --git a/salvatore/lecteur.php b/salvatore/lecteur.php index c67f6dc..5a6cf5c 100644 --- a/salvatore/lecteur.php +++ b/salvatore/lecteur.php @@ -85,13 +85,13 @@ function salvatore_lire($liste_sources, $force_reload = false, $dir_modules = nu $last_update = filemtime($fichier_lang_principal); if ($row_module = salvatore_retrouver_tradlang_module($dir_module, $module)) { - $id_tradlang_module = intval($row_module['id_tradlang_module']); + $id_tradlang_module = (int) $row_module['id_tradlang_module']; salvatore_log("Module en base #$id_tradlang_module"); /** * Si la langue mere a changée, on la modifie */ if ($row_module['lang_mere']!==$source['lang']){ - sql_updateq('spip_tradlang_modules', array('lang_mere' => $source['lang']), 'id_tradlang_module=' . intval($id_tradlang_module)); + sql_updateq('spip_tradlang_modules', ['lang_mere' => $source['lang']], 'id_tradlang_module=' . (int) $id_tradlang_module); salvatore_log("lang_mere mise a jour : " . $row_module['lang_mere'] . " => " . $source['lang']); $row_module['lang_mere'] = $source['lang']; $last_update = time(); @@ -100,7 +100,7 @@ function salvatore_lire($liste_sources, $force_reload = false, $dir_modules = nu * Si le dir_module a change, on le met a jour */ if ($row_module['dir_module']!==$source['dir_module']){ - sql_updateq('spip_tradlang_modules', array('dir_module' => $source['dir_module']), 'id_tradlang_module=' . intval($id_tradlang_module)); + sql_updateq('spip_tradlang_modules', ['dir_module' => $source['dir_module']], 'id_tradlang_module=' . (int) $id_tradlang_module); salvatore_log("dir_module mis a jour : " . $row_module['dir_module'] . " => " . $source['dir_module']); $last_update = time(); $row_module['dir_module'] = $source['dir_module']; @@ -109,7 +109,7 @@ function salvatore_lire($liste_sources, $force_reload = false, $dir_modules = nu * On met le titre a jour si jamais il a change (ou si on a change de facon de le calculer) */ if (($t = calculer_nom_module($source['module'], $source['dir_module'])) !== $row_module['nom_mod']) { - sql_updateq('spip_tradlang_modules', array('nom_mod' => $t), 'id_tradlang_module=' . intval($id_tradlang_module)); + sql_updateq('spip_tradlang_modules', ['nom_mod' => $t], 'id_tradlang_module=' . (int) $id_tradlang_module); salvatore_log("nom_mod mis a jour : " . $row_module['nom_mod'] . " => " . $t); $last_update = time(); $row_module['nom_mod'] = $t; @@ -117,11 +117,9 @@ function salvatore_lire($liste_sources, $force_reload = false, $dir_modules = nu } $new_module = false; - $langues_a_jour = array(); + $langues_a_jour = []; - if (!$row_module - or $force_reload - or $last_update>$refresh_time){ + if (!$row_module || $force_reload || $last_update>$refresh_time){ $priorite = ''; $modifs = 0; if (defined('_TRAD_PRIORITE_DEFAUT')){ @@ -131,7 +129,7 @@ function salvatore_lire($liste_sources, $force_reload = false, $dir_modules = nu /** * Si le module n'existe pas... on le crée */ - if (!$row_module or !$id_tradlang_module = intval($row_module['id_tradlang_module'])){ + if (!$row_module || !$id_tradlang_module = (int) $row_module['id_tradlang_module']){ $insert = [ 'module' => $source['module'], 'dir_module' => $source['dir_module'], @@ -144,8 +142,8 @@ function salvatore_lire($liste_sources, $force_reload = false, $dir_modules = nu /** * Si insertion echoue on fail */ - if (!intval($id_tradlang_module)){ - salvatore_fail("[Lecteur] Erreur sur $module", "Echec insertion dans spip_tradlang_modules " . json_encode($insert)); + if (!(int) $id_tradlang_module){ + salvatore_fail("[Lecteur] Erreur sur $module", "Echec insertion dans spip_tradlang_modules " . json_encode($insert, JSON_THROW_ON_ERROR)); } else { salvatore_log("Insertion en base #$id_tradlang_module"); @@ -157,20 +155,20 @@ function salvatore_lire($liste_sources, $force_reload = false, $dir_modules = nu // Pas de mise a jour recente du fichier maitre deja en base else { salvatore_log("On ne modifie rien : fichier original $fichier_lang_principal inchangé depuis " . date("Y-m-d H:i:s", $last_update)); - $id_tradlang_module=intval($row_module['id_tradlang_module']); + $id_tradlang_module=(int) $row_module['id_tradlang_module']; /** * Le fichier d'origine n'a pas été modifié * Mais on a peut être de nouvelles langues */ - $langues_en_base = sql_allfetsel('DISTINCT lang', 'spip_tradlangs', 'id_tradlang_module=' . intval($id_tradlang_module)); + $langues_en_base = sql_allfetsel('DISTINCT lang', 'spip_tradlangs', 'id_tradlang_module=' . (int) $id_tradlang_module); $langues_en_base = array_column($langues_en_base, 'lang'); - $langues_a_ajouter = array(); + $langues_a_ajouter = []; foreach ($liste_fichiers_lang as $fichier_lang){ $lang = salvatore_get_lang_from($module, $fichier_lang); if (!in_array($lang, $langues_en_base)){ - $langues_a_ajouter[] = array('lang' => $lang, 'fichier' => $fichier_lang); + $langues_a_ajouter[] = ['lang' => $lang, 'fichier' => $fichier_lang]; } else { // inutile de regarder ce fichier @@ -178,7 +176,7 @@ function salvatore_lire($liste_sources, $force_reload = false, $dir_modules = nu } } - $liste_fichiers_lang = array(); + $liste_fichiers_lang = []; if ($langues_a_ajouter){ salvatore_log('On a ' . count($langues_a_ajouter) . " nouvelle(s) langue(s) à insérer (".count($langues_en_base). " langue(s) an base)"); $liste_fichiers_lang = array_column($langues_a_ajouter, 'fichier'); @@ -186,10 +184,10 @@ function salvatore_lire($liste_sources, $force_reload = false, $dir_modules = nu } // traiter les fichiers lang - if (count($liste_fichiers_lang) or $force_reload) { + if (count($liste_fichiers_lang) || $force_reload) { // on commence par la langue mere - $liste_md5_master = array(); + $liste_md5_master = []; $modifs_master = salvatore_importer_module_langue($id_tradlang_module, $source, $fichier_lang_principal, true, $new_module, $liste_md5_master); // et on fait les autres langues @@ -213,8 +211,8 @@ function salvatore_lire($liste_sources, $force_reload = false, $dir_modules = nu * On s'occupe des langues en base sans fichier * s'il y a eu au moins une modif et que l'on peut faire la synchro */ - if ($modifs_master>0 and $tradlang_verifier_langue_base){ - $langues_en_base = sql_allfetsel('DISTINCT lang', 'spip_tradlangs', 'id_tradlang_module=' . intval($id_tradlang_module)); + if ($modifs_master>0 && $tradlang_verifier_langue_base){ + $langues_en_base = sql_allfetsel('DISTINCT lang', 'spip_tradlangs', 'id_tradlang_module=' . (int) $id_tradlang_module); $langues_en_base = array_column($langues_en_base, 'lang'); if ($langues_pas_a_jour = array_diff($langues_en_base, $langues_a_jour)) { @@ -284,7 +282,7 @@ function salvatore_importer_module_langue($id_tradlang_module, $source, $fichier * Nettoyer le contenu de ses <MODIF>,<NEW> et <PLUS_UTILISE> * Ces chaines sont utilisées comme statut */ - $status = array(); + $status = []; foreach ($chaines as $id => $chaine){ if ($is_master){ @@ -303,7 +301,7 @@ function salvatore_importer_module_langue($id_tradlang_module, $source, $fichier if (array_key_exists($lang, $GLOBALS['codes_langues'])) { $statut_exclus = 'attic'; - $res = sql_select("id, str, md5", "spip_tradlangs", "id_tradlang_module=" . intval($id_tradlang_module) . " AND lang=" . sql_quote($lang) . " AND statut!=" . sql_quote($statut_exclus)); + $res = sql_select("id, str, md5", "spip_tradlangs", "id_tradlang_module=" . (int) $id_tradlang_module . " AND lang=" . sql_quote($lang) . " AND statut!=" . sql_quote($statut_exclus)); $nb = sql_count($res); if ($nb>0){ salvatore_log("!-- Fichier de langue $lang du module $module deja inclus dans la base\n"); @@ -313,26 +311,26 @@ function salvatore_importer_module_langue($id_tradlang_module, $source, $fichier * Si la langue est deja dans la base, on ne l'ecrase que s'il s'agit * de la langue source */ - if (!$nb or $is_master or $new_module){ + if (!$nb || $is_master || $new_module){ // La liste de ce qui existe deja - $existant = $str_existant = array(); + $existant = $str_existant = []; while ($row = sql_fetch($res)){ $existant[$row['id']] = $row['md5']; $str_existant[$row['id']] = $row['str']; } - $bigwhere = "id_tradlang_module=" . intval($id_tradlang_module) . ' AND lang=' . sql_quote($lang); + $bigwhere = "id_tradlang_module=" . (int) $id_tradlang_module . ' AND lang=' . sql_quote($lang); include_spip('action/editer_tradlang'); // Dans ce qui arrive, il y a 4 cas : $ids = array_unique(array_merge(array_keys($existant), array_keys($chaines))); foreach ($ids as $id){ - $comm = (isset($commentaires[$id])) ? $commentaires[$id] : ''; + $comm = $commentaires[$id] ?? ''; /** * 1. chaine neuve */ - if (isset($chaines[$id]) and !isset($existant[$id])){ + if (isset($chaines[$id]) && !isset($existant[$id])){ $md5 = null; if ($is_master){ $md5 = md5($chaines[$id]); @@ -357,7 +355,7 @@ function salvatore_importer_module_langue($id_tradlang_module, $source, $fichier * Si le commentaire est un statut et que l'on ne traite pas le fichier de langue mère * On vire le commentaire et met son contenu comme statut */ - if (in_array($comm, array('NEW', 'OK', 'MODIF', 'MODI')) and !$is_master){ + if (in_array($comm, ['NEW', 'OK', 'MODIF', 'MODI']) && !$is_master){ if ($comm=='MODI'){ $comm = 'MODIF'; } @@ -377,7 +375,7 @@ function salvatore_importer_module_langue($id_tradlang_module, $source, $fichier */ $titre = $id . ' : ' . $source['module'] . ' - ' . $lang; - $set = array( + $set = [ 'id_tradlang_module' => $id_tradlang_module, 'titre' => $titre, 'module' => $source['module'], @@ -387,7 +385,7 @@ function salvatore_importer_module_langue($id_tradlang_module, $source, $fichier 'comm' => $comm, 'md5' => $md5, 'statut' => $status[$id] - ); + ]; $id_tradlang = sql_insertq('spip_tradlangs', $set); /** @@ -396,21 +394,21 @@ function salvatore_importer_module_langue($id_tradlang_module, $source, $fichier */ if (!$id_tradlang){ // mais il serait bien de pouvoir piquer une chaine attic du meme module meme si pas id_tradlang_module identique - $tradlang = sql_fetsel('*', 'spip_tradlangs', 'id=' . sql_quote($id) . ' AND id_tradlang_module=' . intval($id_tradlang_module) . ' AND lang=' . sql_quote($lang) . ' AND statut=' . sql_quote('attic')); - if ($tradlang and $id_tradlang = intval($tradlang['id_tradlang'])){ + $tradlang = sql_fetsel('*', 'spip_tradlangs', 'id=' . sql_quote($id) . ' AND id_tradlang_module=' . (int) $id_tradlang_module . ' AND lang=' . sql_quote($lang) . ' AND statut=' . sql_quote('attic')); + if ($tradlang && ($id_tradlang = (int) $tradlang['id_tradlang'])){ salvatore_log("<info>Recuperation chaine ".$source['module'].":{$id}[{$lang}] de statut ATTIC</info>"); - sql_updateq('spip_tradlangs', $set, 'id_tradlang=' . intval($id_tradlang)); + sql_updateq('spip_tradlangs', $set, 'id_tradlang=' . (int) $id_tradlang); - $trads = sql_allfetsel('id_tradlang', 'spip_tradlangs', 'id=' . sql_quote($id) . ' AND id_tradlang_module=' . intval($id_tradlang_module) . 'AND lang!=' . sql_quote($lang) . ' AND statut=' . sql_quote('attic')); - $maj = array('statut' => 'MODIF'); + $trads = sql_allfetsel('id_tradlang', 'spip_tradlangs', 'id=' . sql_quote($id) . ' AND id_tradlang_module=' . (int) $id_tradlang_module . 'AND lang!=' . sql_quote($lang) . ' AND statut=' . sql_quote('attic')); + $maj = ['statut' => 'MODIF']; foreach ($trads as $trad){ salvatore_log("Changement de la trad #" . $trad['id_tradlang'] . " ATTIC => MODIF"); - sql_updateq('spip_tradlangs', $maj, 'id_tradlang=' . intval($trad['id_tradlang'])); + sql_updateq('spip_tradlangs', $maj, 'id_tradlang=' . (int) $trad['id_tradlang']); } $recuperees++; } else { - salvatore_fail("[Lecteur] Echec insertion", "Echec insertion en base : " . json_encode($set)); + salvatore_fail("[Lecteur] Echec insertion", "Echec insertion en base : " . json_encode($set, JSON_THROW_ON_ERROR)); } } @@ -424,7 +422,7 @@ function salvatore_importer_module_langue($id_tradlang_module, $source, $fichier // si on a un contenu identique a une autre chaine du meme module // (renommage de l'id dans un meme fichier de langue) $where_identique = [ - 'id_tradlang_module=' . intval($id_tradlang_module), + 'id_tradlang_module=' . (int) $id_tradlang_module, 'lang=' . sql_quote($lang), 'id!=' . sql_quote($id), 'str=' . sql_quote($chaines[$id]), @@ -433,9 +431,9 @@ function salvatore_importer_module_langue($id_tradlang_module, $source, $fichier // si on est sur la langue master on cherche si ce n'est pas un renommage/decoupe de module : // chercher une chaine avec meme id et meme contenu dans un autre module - if (!$identique and $is_master) { + if (!$identique && $is_master) { $where_identique = [ - 'id_tradlang_module!=' . intval($id_tradlang_module), + 'id_tradlang_module!=' . (int) $id_tradlang_module, 'lang=' . sql_quote($lang), 'id=' . sql_quote($id), 'str=' . sql_quote($chaines[$id]), @@ -447,10 +445,10 @@ function salvatore_importer_module_langue($id_tradlang_module, $source, $fichier if ($identique){ salvatore_log("La nouvelle chaine $id est une chaine dupliquée de " . $identique['module'].':'.$identique['id']); - $deja_lang = sql_allfetsel('lang', 'spip_tradlangs', 'id=' . sql_quote($id) . ' AND id_tradlang_module=' . intval($id_tradlang_module)); + $deja_lang = sql_allfetsel('lang', 'spip_tradlangs', 'id=' . sql_quote($id) . ' AND id_tradlang_module=' . (int) $id_tradlang_module); $deja_lang = array_column($deja_lang, 'lang'); // on ne prend pas les fausse trads dont str est identique $chaines[$id] - $chaines_a_dupliquer = sql_allfetsel('*', 'spip_tradlangs', 'id=' . sql_quote($identique['id']) . ' AND id_tradlang_module=' . intval($identique['id_tradlang_module']) . ' AND str!=' . sql_quote($chaines[$id]) . ' AND ' . sql_in('lang', $deja_lang, 'NOT')); + $chaines_a_dupliquer = sql_allfetsel('*', 'spip_tradlangs', 'id=' . sql_quote($identique['id']) . ' AND id_tradlang_module=' . (int) $identique['id_tradlang_module'] . ' AND str!=' . sql_quote($chaines[$id]) . ' AND ' . sql_in('lang', $deja_lang, 'NOT')); foreach ($chaines_a_dupliquer as $chaine){ unset($chaine['id_tradlang']); unset($chaine['maj']); @@ -465,7 +463,7 @@ function salvatore_importer_module_langue($id_tradlang_module, $source, $fichier } $id_tradlang_new = sql_insertq('spip_tradlangs', $chaine); if (!$id_tradlang_new) { - salvatore_fail("[Lecteur] Echec insertion", "Echec insertion en base : " . json_encode($chaine)); + salvatore_fail("[Lecteur] Echec insertion", "Echec insertion en base : " . json_encode($chaine, JSON_THROW_ON_ERROR)); } salvatore_log('Ajout de la version ' . $chaine['lang'] . ' - #' . $id_tradlang_new); } @@ -479,7 +477,7 @@ function salvatore_importer_module_langue($id_tradlang_module, $source, $fichier * 2. chaine existante * */ - elseif (isset($chaines[$id]) and isset($existant[$id])) { + elseif (isset($chaines[$id]) && isset($existant[$id])) { // * chaine existante // * identique ? => NOOP $chaines[$id] = salvatore_nettoyer_chaine_langue($chaines[$id], $lang); @@ -496,12 +494,12 @@ function salvatore_importer_module_langue($id_tradlang_module, $source, $fichier salvatore_log("Chaine $id modifiee $md5 != ".$existant[$id]); // modifier la chaine - $modifs = array( + $modifs = [ 'str' => $chaines[$id], 'md5' => ($is_master ? $md5 : $existant[$id]), 'statut' => ($is_master ? 'OK' : ''), - 'comm' => $comm, - ); + 'comm' => $comm + ]; $id_tradlang = sql_getfetsel('id_tradlang', 'spip_tradlangs', "$bigwhere AND id = " . sql_quote($id)); $test = tradlang_set($id_tradlang, $modifs); @@ -510,15 +508,15 @@ function salvatore_importer_module_langue($id_tradlang_module, $source, $fichier * update des str de ses traductions NEW */ if ($is_master){ - sql_updateq('spip_tradlangs', array('statut'=> 'MODIF'), - 'id_tradlang_module=' . intval($id_tradlang_module) + sql_updateq('spip_tradlangs', ['statut'=> 'MODIF'], + 'id_tradlang_module=' . (int) $id_tradlang_module . ' AND id=' . sql_quote($id) . ' AND md5!=' . sql_quote($md5) . ' AND lang!=' . sql_quote($lang) . ' AND statut!=' . sql_quote('NEW')); } - sql_updateq('spip_tradlangs', array('str'=> $chaines[$id]), - 'id_tradlang_module=' . intval($id_tradlang_module) + sql_updateq('spip_tradlangs', ['str'=> $chaines[$id]], + 'id_tradlang_module=' . (int) $id_tradlang_module . ' AND id=' . sql_quote($id) . ' AND md5!=' . sql_quote($md5) . ' AND lang!=' . sql_quote($lang) @@ -531,14 +529,14 @@ function salvatore_importer_module_langue($id_tradlang_module, $source, $fichier * 3. chaine supprimee * */ - elseif (!isset($chaines[$id]) and isset($existant[$id])) { + elseif (!isset($chaines[$id]) && isset($existant[$id])) { // * chaine supprimee // mettre au grenier - sql_updateq('spip_tradlangs', array('statut' => 'attic'), 'id_tradlang_module=' . intval($id_tradlang_module) . ' AND id=' . sql_quote($id)); + sql_updateq('spip_tradlangs', ['statut' => 'attic'], 'id_tradlang_module=' . (int) $id_tradlang_module . ' AND id=' . sql_quote($id)); $supprimees++; } - if ($is_master and isset($chaines[$id])){ + if ($is_master && isset($chaines[$id])){ $liste_md5_master[$id] = md5($chaines[$id]); } } @@ -566,7 +564,7 @@ function salvatore_charger_commentaires_fichier_langue($fichier_lang){ $contenu = file_get_contents($fichier_lang); $tokens = token_get_all($contenu); - $comments = array(); + $comments = []; // allons jusqu'au debut du tableau while (count($tokens)) { @@ -589,12 +587,12 @@ function salvatore_charger_commentaires_fichier_langue($fichier_lang){ break; case T_WHITESPACE: // si c'est une nouvelle ligne, on est plus interesse par le commentaire - if (strpos($token[1], "\n") !== false or strpos($token[1], "\r") !== false) { + if (strpos($token[1], "\n") !== false || strpos($token[1], "\r") !== false) { $index = ''; } break; case T_COMMENT: - if ($index and strpos($token[1], '#') === 0) { + if ($index && strpos($token[1], '#') === 0) { $comments[$index] = trim(substr($token[1],1)); } break; diff --git a/salvatore/pousseur.php b/salvatore/pousseur.php index f241cca..f7deeb9 100644 --- a/salvatore/pousseur.php +++ b/salvatore/pousseur.php @@ -90,9 +90,11 @@ function savatore_commit_and_push_module($source, $dir_modules, $dir_depots, $ur $file_commit = $dir_module . '/' . $module . '.commit.json'; - if (!file_exists($file_commit) - or !$commit_infos = file_get_contents($file_commit) - or !$commit_infos = json_decode($commit_infos, true)) { + if ( + !file_exists($file_commit) + || !($commit_infos = file_get_contents($file_commit)) + || !($commit_infos = json_decode($commit_infos, true)) + ) { salvatore_log("<comment>Module $module rien à faire (pas de fichier $file_commit ou fichier invalide)</comment>"); return false; } @@ -105,7 +107,7 @@ function savatore_commit_and_push_module($source, $dir_modules, $dir_depots, $ur } $subdir = ''; - if (isset($source['dir']) and $source['dir']) { + if (isset($source['dir']) && $source['dir']) { $subdir = $source['dir'] . DIRECTORY_SEPARATOR; } @@ -113,7 +115,7 @@ function savatore_commit_and_push_module($source, $dir_modules, $dir_depots, $ur // - ignorer les fichiers non modifies, ou non versionnes et qui ne doivent pas etre ajoutes // - regrouper par auteur - $commits_todo = array(); + $commits_todo = []; $vcs_status_file = salvatore_vcs_function($source['methode'], "status_file"); $vcs_commit_files = salvatore_vcs_function($source['methode'], "commit_files"); $vcs_push_repository = salvatore_vcs_function($source['methode'], "push_repository"); @@ -122,7 +124,7 @@ function savatore_commit_and_push_module($source, $dir_modules, $dir_depots, $ur $file = $commit_info['file_name']; - if ($commit_info['lastmodified'] or $commit_info['must_add']) { + if ($commit_info['lastmodified'] || $commit_info['must_add']) { $status = $vcs_status_file($dir_depots . $source['dir_checkout'], $subdir . $file); // fichier nouveau ou modifie (sinon on l'ignore) @@ -132,16 +134,16 @@ function savatore_commit_and_push_module($source, $dir_modules, $dir_depots, $ur $author = $commit_info['author']; } // si c'est le xml et qu'on a un seul auteur de commit, on lui fait commit aussi le xml - elseif($what === '.xml' and count($commits_todo)===1) { + elseif($what === '.xml' && count($commits_todo)===1) { $author = array_keys($commits_todo); $author = reset($author); } if (!isset($commits_todo[$author])) { - $commits_todo[$author] = array( - 'files' => array(), + $commits_todo[$author] = [ + 'files' => [], 'message' => [] - ); + ]; if ($message_commit) { $commits_todo[$author]['message'][] = $message_commit; } @@ -170,7 +172,7 @@ function savatore_commit_and_push_module($source, $dir_modules, $dir_depots, $ur // ajoutons les credentials dans la source pour pouvoir commit ou push $url_with_credentials = salvatore_set_credentials($source['methode'], $source['url'], $source['module']); $parts = parse_url($url_with_credentials); - if (!empty($parts['user']) and !empty($parts['pass'])){ + if (!empty($parts['user']) && !empty($parts['pass'])){ $source['user'] = urldecode($parts['user']); $source['pass'] = urldecode($parts['pass']); } @@ -183,7 +185,7 @@ function savatore_commit_and_push_module($source, $dir_modules, $dir_depots, $ur salvatore_log("Commit de <info>$author</info> :" . implode(', ', $commit_todo['files'])); salvatore_log("\t" . str_replace("\n", "\n\t", $message)); - list($res,$out) = $vcs_commit_files($dir_depots . $source['dir_checkout'], $commit_todo['files'], $message, $author, empty($source['user']) ? null : $source['user'], empty($source['pass']) ? null : $source['pass']); + [$res, $out] = $vcs_commit_files($dir_depots . $source['dir_checkout'], $commit_todo['files'], $message, $author, empty($source['user']) ? null : $source['user'], empty($source['pass']) ? null : $source['pass']); salvatore_log($out); if (!$res) { salvatore_fail("[Pousseur] Erreur sur $module", "Erreur lors du commit :\n$out"); @@ -197,7 +199,7 @@ function savatore_commit_and_push_module($source, $dir_modules, $dir_depots, $ur // et push si besoin // ne fera rien en svn (deja pushe) if ($commits_todo) { - list($res,$out) = $vcs_push_repository($dir_depots . $source['dir_checkout'], empty($source['user']) ? null : $source['user'], empty($source['pass']) ? null : $source['pass']); + [$res, $out] = $vcs_push_repository($dir_depots . $source['dir_checkout'], empty($source['user']) ? null : $source['user'], empty($source['pass']) ? null : $source['pass']); salvatore_log($out); if (!$res) { salvatore_fail("[Pousseur] Erreur sur $module", "Erreur lors du commit :\n$out"); diff --git a/salvatore/tireur.php b/salvatore/tireur.php index d4fcb85..755e951 100644 --- a/salvatore/tireur.php +++ b/salvatore/tireur.php @@ -45,7 +45,7 @@ function salvatore_tirer($liste_sources, $dir_modules=null, $dir_depots=null) { } salvatore_check_dir($dir_depots); - $done = array(); + $done = []; foreach ($liste_sources as $source){ salvatore_log("\n<info>--- Module " . $source['module'] . " | " . $source['dir_module'] . " | " . $source['url']."</info>"); @@ -72,7 +72,7 @@ function salvatore_tirer($liste_sources, $dir_modules=null, $dir_depots=null) { $done[$dir_checkout] = true; } - if ($return !== 0 or !is_dir($dir_checkout) or !is_dir($dir_target)) { + if ($return !== 0 || !is_dir($dir_checkout) || !is_dir($dir_target)) { $corps = $source['url'] . ' | ' . $source['module'] . "\n" . "Erreur lors du checkout"; salvatore_fail('[Tireur] : Erreur', $corps); } @@ -80,13 +80,13 @@ function salvatore_tirer($liste_sources, $dir_modules=null, $dir_depots=null) { $set_default_commiter = salvatore_vcs_function($source['methode'], 'set_default_commiter'); $set_default_commiter($dir_checkout, _SALVATORE_AUTHOR_COMMITS); - if (file_exists($dir_module) and !is_link($dir_module)) { + if (file_exists($dir_module) && !is_link($dir_module)) { $corps = $source['url'] . ' | ' . $source['module'] . "\n" . "Il y a deja un repertoire $dir_module"; salvatore_fail('[Tireur] : Erreur', $corps); } $dir_target = realpath($dir_target); - if (is_link($dir_module) and readlink($dir_module) !== $dir_target) { + if (is_link($dir_module) && readlink($dir_module) !== $dir_target) { @unlink($dir_module); } if (!file_exists($dir_module)) { diff --git a/salvatore/vcs/git.php b/salvatore/vcs/git.php index 2d7a33e..5c56bad 100644 --- a/salvatore/vcs/git.php +++ b/salvatore/vcs/git.php @@ -31,7 +31,7 @@ * @return string */ function salvatore_git_format_author($author) { - if (strpos($author, '<') !== false and strpos($author, '>') !== false) { + if (strpos($author, '<') !== false && strpos($author, '>') !== false) { return $author; } else { @@ -49,11 +49,11 @@ function salvatore_git_format_author($author) { */ function salvatore_vcs_git_set_default_commiter_dist($dir_repo, $author) { - $output = array(); + $output = []; $nom = $email = ""; include_spip('inc/filtres'); if (!$email = email_valide($author)) { - return array(false, $output); + return [false, $output]; } if ($author !== $email) { $nom = explode("<", $author); @@ -83,7 +83,7 @@ function salvatore_vcs_git_set_default_commiter_dist($dir_repo, $author) { } chdir($d); - return array($res, implode("\n", $output)); + return [$res, implode("\n", $output)]; } @@ -100,7 +100,7 @@ function salvatore_vcs_git_lastmodified_file_dist($dir_repo, $file) { chdir($dir_repo); $file = escapeshellarg($file); $lastmodified = exec("git log -1 -c --pretty=tformat:'%ct' $file | head -1"); - $lastmodified = intval(trim($lastmodified)); + $lastmodified = (int) trim($lastmodified); chdir($d); return $lastmodified; } @@ -123,7 +123,7 @@ function salvatore_vcs_git_status_file_dist($dir_repo, $file_or_files) { $d = getcwd(); chdir($dir_repo); - $output = array(); + $output = []; exec("git status --short $file_or_files 2>&1", $output); //exec("svn status $files_list 2>&1", $output); chdir($d); @@ -147,7 +147,7 @@ function salvatore_vcs_git_commit_files_dist($dir_repo, $files, $message, $autho $d = getcwd(); chdir($dir_repo); - $output = array(); + $output = []; $res = true; // on ajoute tous les fichiers pour commit $commands = [ @@ -166,7 +166,7 @@ function salvatore_vcs_git_commit_files_dist($dir_repo, $files, $message, $autho } chdir($d); - return array($res, implode("\n", $output)); + return [$res, implode("\n", $output)]; } /** @@ -181,7 +181,7 @@ function salvatore_vcs_git_commit_files_dist($dir_repo, $files, $message, $autho function salvatore_vcs_git_push_repository_dist($dir_repo, $user=null, $pass=null) { $d = getcwd(); chdir($dir_repo); - $output = array(); + $output = []; $res = true; // on ajoute tous les fichiers pour commit $commands = [ @@ -202,5 +202,5 @@ function salvatore_vcs_git_push_repository_dist($dir_repo, $user=null, $pass=nul } chdir($d); - return array($res, implode("\n", $output)); + return [$res, implode("\n", $output)]; } diff --git a/salvatore/vcs/svn.php b/salvatore/vcs/svn.php index 11e80fa..a90bf44 100644 --- a/salvatore/vcs/svn.php +++ b/salvatore/vcs/svn.php @@ -34,7 +34,7 @@ */ function salvatore_vcs_svn_set_default_commiter_dist($dir_repo, $author) { - return array(true, array()); + return [true, []]; } /** @@ -67,7 +67,7 @@ function salvatore_vcs_svn_status_file_dist($dir_repo, $file_or_files) { $escaped_file_or_files = array_map('escapeshellarg', $file_or_files); // si on passe un nom de fichier avec un * il ne faut pas le quoter pour svn :( foreach ($file_or_files as $k=>$file) { - if (strpos($file, '*')!==false and $file === trim($escaped_file_or_files[$k], "'")) { + if (strpos($file, '*')!==false && $file === trim($escaped_file_or_files[$k], "'")) { $escaped_file_or_files[$k] = $file; } } @@ -79,7 +79,7 @@ function salvatore_vcs_svn_status_file_dist($dir_repo, $file_or_files) { $d = getcwd(); chdir($dir_repo); - $output = array(); + $output = []; exec("svn status $file_or_files 2>&1", $output); chdir($d); return implode("\n", $output); @@ -100,7 +100,7 @@ function salvatore_vcs_svn_status_file_dist($dir_repo, $file_or_files) { function salvatore_vcs_svn_commit_files_dist($dir_repo, $files, $message, $author, $user=null, $pass=null) { // lister deja les fichiers qui necessitent un svn add (fichiers ajoutes qui ne sont pas dans le repo) - $files_to_add = array(); + $files_to_add = []; foreach ($files as $file) { $status = trim(salvatore_vcs_svn_status_file_dist($dir_repo, $file)); if (strpos($status, '?') !== false) { @@ -108,9 +108,7 @@ function salvatore_vcs_svn_commit_files_dist($dir_repo, $files, $message, $autho } } - if ($author - and $author !== _SALVATORE_AUTHOR_COMMITS - and !_SALVATORE_SVN_PROPSET) { + if ($author && $author !== _SALVATORE_AUTHOR_COMMITS && !_SALVATORE_SVN_PROPSET) { $message = rtrim($message) . "\nCredits : $author\n"; } @@ -122,7 +120,7 @@ function salvatore_vcs_svn_commit_files_dist($dir_repo, $files, $message, $autho $d = getcwd(); chdir($dir_repo); - $output = array(); + $output = []; $res = true; $auth = ""; @@ -151,19 +149,22 @@ function salvatore_vcs_svn_commit_files_dist($dir_repo, $files, $message, $autho $res = false; } } - if ($res and $author and _SALVATORE_SVN_PROPSET) { - if ($revision = exec("svn up . && env LC_MESSAGES=en_US.UTF-8 svn info . |awk '/^Last Changed Rev/ { print $4 }'")) { - $command = "svn propset --revprop -r $revision svn:author ".escapeshellarg($author). " .{$auth} --no-auth-cache --non-interactive --trust-server-cert"; - $output[] = "> " . ($auth ? str_replace($auth, $auth_disp, $command) : $command); - exec($command, $output, $return_var); - if ($return_var) { - $res = false; - } + if ( + $res + && $author + && _SALVATORE_SVN_PROPSET + && ($revision = exec("svn up . && env LC_MESSAGES=en_US.UTF-8 svn info . |awk '/^Last Changed Rev/ { print $4 }'")) + ) { + $command = "svn propset --revprop -r $revision svn:author ".escapeshellarg($author). " .{$auth} --no-auth-cache --non-interactive --trust-server-cert"; + $output[] = "> " . ($auth ? str_replace($auth, $auth_disp, $command) : $command); + exec($command, $output, $return_var); + if ($return_var) { + $res = false; } } chdir($d); - return array($res, implode("\n", $output)); + return [$res, implode("\n", $output)]; } @@ -177,5 +178,5 @@ function salvatore_vcs_svn_commit_files_dist($dir_repo, $files, $message, $autho * @return array */ function salvatore_vcs_svn_push_repository_dist($dir_repo, $user=null, $pass=null) { - return array(true, ''); -} \ No newline at end of file + return [true, '']; +} diff --git a/spip-cli/SalvatoreEcrire.php b/spip-cli/SalvatoreEcrire.php index 5123736..f3a55a0 100644 --- a/spip-cli/SalvatoreEcrire.php +++ b/spip-cli/SalvatoreEcrire.php @@ -81,7 +81,7 @@ class SalvatoreEcrire extends Command { include_spip('salvatore/ecriveur'); $time = $input->getOption('time'); - salvatore_init(array($output, 'writeln'), !!$time); + salvatore_init([$output, 'writeln'], (bool) $time); salvatore_log("<comment>=======================================</comment>"); @@ -92,7 +92,7 @@ class SalvatoreEcrire extends Command { $traductions = $input->getOption('traductions'); $liste_trad = salvatore_charger_fichier_traductions($traductions); $n = count($liste_trad); - salvatore_log("<info>$n modules dans le fichier traductions " . ($traductions ? $traductions : '') . "</info>"); + salvatore_log("<info>$n modules dans le fichier traductions " . ($traductions ?: '') . "</info>"); $modules = $input->getOption('module'); if ($modules = trim($modules)) { @@ -103,7 +103,7 @@ class SalvatoreEcrire extends Command { $message = $input->getOption('message'); - salvatore_ecrire($liste_trad, $message ? $message : ''); + salvatore_ecrire($liste_trad, $message ?: ''); return self::SUCCESS; } diff --git a/spip-cli/SalvatoreLire.php b/spip-cli/SalvatoreLire.php index 454a0a1..f1d83f9 100644 --- a/spip-cli/SalvatoreLire.php +++ b/spip-cli/SalvatoreLire.php @@ -81,7 +81,7 @@ class SalvatoreLire extends Command { include_spip('salvatore/lecteur'); $time = $input->getOption('time'); - salvatore_init(array($output, 'writeln'), !!$time); + salvatore_init([$output, 'writeln'], (bool) $time); salvatore_log("<comment>=======================================</comment>"); salvatore_log("<comment>LECTEUR [Prend les fichiers de reference de salvatore/modules/ et met a jour la base de donnees]</comment>"); @@ -91,7 +91,7 @@ class SalvatoreLire extends Command { $traductions = $input->getOption('traductions'); $liste_trad = salvatore_charger_fichier_traductions($traductions); $n = count($liste_trad); - salvatore_log("<info>$n modules dans le fichier traductions " . ($traductions ? $traductions : '') . "</info>"); + salvatore_log("<info>$n modules dans le fichier traductions " . ($traductions ?: '') . "</info>"); $modules = $input->getOption('module'); if ($modules = trim($modules)) { diff --git a/spip-cli/SalvatoreOuvrager.php b/spip-cli/SalvatoreOuvrager.php index c312d85..9ffb66a 100644 --- a/spip-cli/SalvatoreOuvrager.php +++ b/spip-cli/SalvatoreOuvrager.php @@ -91,7 +91,7 @@ class SalvatoreOuvrager extends Command { include_spip('salvatore/pousseur'); $time = $input->getOption('time'); - salvatore_init(array($output, 'writeln'), !!$time); + salvatore_init([$output, 'writeln'], (bool) $time); $output->writeln("<comment>=======================================</comment>"); $output->writeln("<comment>OUVRAGER [Traiter complètement les fichiers de reference de salvatore/modules/]</comment>"); @@ -101,7 +101,7 @@ class SalvatoreOuvrager extends Command { $traductions = $input->getOption('traductions'); $liste_trad = salvatore_charger_fichier_traductions($traductions); $n = count($liste_trad); - $output->writeln("<info>$n modules dans le fichier traductions " . ($traductions ? $traductions : '') . "</info>"); + $output->writeln("<info>$n modules dans le fichier traductions " . ($traductions ?: '') . "</info>"); $modules = $input->getOption('module'); if ($modules = trim($modules)) { @@ -109,7 +109,7 @@ class SalvatoreOuvrager extends Command { if ($modules === 'bon_a_pousser') { $modules = sql_allfetsel('DISTINCT module', 'spip_tradlang_modules', 'bon_a_pousser>0'); $modules = array_column($modules, 'module'); - if (count($modules)) { + if ($modules !== []) { $modules_str .= ' (' .implode(', ', $modules).')'; } } @@ -128,7 +128,7 @@ class SalvatoreOuvrager extends Command { salvatore_log("<info>LIRE</info>"); salvatore_lire([$une_trad], $force); salvatore_log("<info>ECRIRE</info>"); - salvatore_ecrire([$une_trad], $message ? $message : ''); + salvatore_ecrire([$une_trad], $message ?: ''); salvatore_log("<info>POUSSER</info>"); salvatore_pousser([$une_trad]); } diff --git a/spip-cli/SalvatorePousser.php b/spip-cli/SalvatorePousser.php index 748c66e..db401cf 100644 --- a/spip-cli/SalvatorePousser.php +++ b/spip-cli/SalvatorePousser.php @@ -73,7 +73,7 @@ class SalvatorePousser extends Command { include_spip('salvatore/pousseur'); $time = $input->getOption('time'); - salvatore_init(array($output, 'writeln'), !!$time); + salvatore_init([$output, 'writeln'], (bool) $time); salvatore_log("<comment>=======================================</comment>"); salvatore_log("<comment>POUSSEUR [Prend les fichiers langue dans sa copie locale et les commite+push SVN|GIT]</comment>"); @@ -82,7 +82,7 @@ class SalvatorePousser extends Command { $traductions = $input->getOption('traductions'); $liste_trad = salvatore_charger_fichier_traductions($traductions); $n = count($liste_trad); - salvatore_log("<info>$n modules dans le fichier traductions " . ($traductions ? $traductions : '') . "</info>"); + salvatore_log("<info>$n modules dans le fichier traductions " . ($traductions ?: '') . "</info>"); $modules = $input->getOption('module'); if ($modules = trim($modules)) { diff --git a/spip-cli/SalvatoreRecharger.php b/spip-cli/SalvatoreRecharger.php index 81f9fc1..b5619ef 100644 --- a/spip-cli/SalvatoreRecharger.php +++ b/spip-cli/SalvatoreRecharger.php @@ -94,7 +94,7 @@ class SalvatoreRecharger extends Command { include_spip('inc/salvatore'); $time = $input->getOption('time'); - salvatore_init(array($output, 'writeln'), !!$time); + salvatore_init([$output, 'writeln'], (bool) $time); salvatore_log("<comment>=======================================</comment>"); salvatore_log("<comment>RECHARGER [Tirer&Lire les modules modifies sur la zone]</comment>"); @@ -104,7 +104,7 @@ class SalvatoreRecharger extends Command { $traductions = $input->getOption('traductions'); $liste_trad = salvatore_charger_fichier_traductions($traductions); $n = count($liste_trad); - salvatore_log("<info>$n modules dans le fichier traductions " . ($traductions ? $traductions : '') . "</info>"); + salvatore_log("<info>$n modules dans le fichier traductions " . ($traductions ?: '') . "</info>"); $modules = $input->getOption('module'); if ($modules = trim($modules)) { @@ -115,7 +115,7 @@ class SalvatoreRecharger extends Command { // https://git.spip.net/spip-contrib-extensions/debardeur/src/branch/master/action/api_debardeur_hook.php#L224 $changedir = $input->getOption('changedir'); - if (empty($changedir) or !is_dir($changedir)) { + if (empty($changedir) || !is_dir($changedir)) { salvatore_log("<error>Indiquez un repertoire valide pour changedir</error>"); return self::FAILURE; } @@ -138,7 +138,7 @@ class SalvatoreRecharger extends Command { $changed_trad = $this->filter_changed_traductions($liste_trad, $changed, $t_since); if ($changed_trad) { - $n = count($changed_trad); + $n = is_countable($changed_trad) ? count($changed_trad) : 0; $changed_modules = array_column($changed_trad, 'module'); $changed_modules = array_unique($changed_modules); salvatore_log("<info>$n modules modifiés à recharger : " . implode(',', $changed_modules) . "</info>"); @@ -163,8 +163,10 @@ class SalvatoreRecharger extends Command { $changed = []; $files = glob(rtrim($changedir,'/')."/*.json"); foreach ($files as $file) { - if ($json = file_get_contents($file) - and $json = json_decode($json, true)) { + if ( + ($json = file_get_contents($file)) + && ($json = json_decode($json, true, 512, JSON_THROW_ON_ERROR)) + ) { if (empty($json['time'])) { $json['time'] = filemtime($file); } @@ -180,8 +182,8 @@ class SalvatoreRecharger extends Command { protected function filter_changed_traductions($liste_trad, $changed, $t_since) { - $changed_trad = array(); - salvatore_log(count($changed) . " depots changés"); + $changed_trad = []; + salvatore_log((is_countable($changed) ? count($changed) : 0) . " depots changés"); foreach($changed as $c) { /* @@ -196,8 +198,9 @@ class SalvatoreRecharger extends Command { if ($c['time'] >= $t_since) { foreach ($liste_trad as $k=>$source) { - if ($source['url'] === $c['url'] - and $source['branche'] === $c['branche'] + if ( + $source['url'] === $c['url'] + && $source['branche'] === $c['branche'] ) { $changed_trad[$k] = $source; unset($liste_trad[$k]); diff --git a/spip-cli/SalvatoreTirer.php b/spip-cli/SalvatoreTirer.php index 4dec28c..547435f 100644 --- a/spip-cli/SalvatoreTirer.php +++ b/spip-cli/SalvatoreTirer.php @@ -74,7 +74,7 @@ class SalvatoreTirer extends Command { include_spip('salvatore/tireur'); $time = $input->getOption('time'); - salvatore_init(array($output, 'writeln'), !!$time); + salvatore_init([$output, 'writeln'], (bool) $time); salvatore_log("<comment>=======================================</comment>"); salvatore_log("<comment>TIREUR [Va chercher les fichiers dans un repo SVN|GIT et les depose dans sa copie locale]</comment>"); @@ -84,7 +84,7 @@ class SalvatoreTirer extends Command { $traductions = $input->getOption('traductions'); $liste_trad = salvatore_charger_fichier_traductions($traductions); $n = count($liste_trad); - salvatore_log("<info>$n modules dans le fichier traductions " . ($traductions ? $traductions : '') . "</info>"); + salvatore_log("<info>$n modules dans le fichier traductions " . ($traductions ?: '') . "</info>"); $modules = $input->getOption('module'); if ($modules = trim($modules)) { diff --git a/spip-cli/SalvatoreUpgrade.php b/spip-cli/SalvatoreUpgrade.php index d77cad1..3c777c8 100644 --- a/spip-cli/SalvatoreUpgrade.php +++ b/spip-cli/SalvatoreUpgrade.php @@ -58,7 +58,7 @@ class SalvatoreUpgrade extends Command { include_spip('inc/salvatore'); include_spip('salvatore/lecteur'); - salvatore_init(array($output, 'writeln')); + salvatore_init([$output, 'writeln']); $output->writeln("<comment>=======================================</comment>"); @@ -84,17 +84,17 @@ class SalvatoreUpgrade extends Command { if ($n > 0) { $output->writeln("<info>Forcer un dir_module arbitraire pour les modules restant :</info>"); $output->writeln(implode(', ', $modules_todo)); - sql_update('spip_tradlang_modules', array('dir_module' => "CONCAT('--',module)"), "dir_module='' OR dir_module=module"); + sql_update('spip_tradlang_modules', ['dir_module' => "CONCAT('--',module)"], "dir_module='' OR dir_module=module"); } } elseif ($traductions) { $liste_trad = salvatore_charger_fichier_traductions($traductions); $n = count($liste_trad); - $output->writeln("<info>$n modules dans le fichier traductions " . ($traductions ? $traductions : '') . "</info>"); + $output->writeln("<info>$n modules dans le fichier traductions " . ($traductions ?: '') . "</info>"); foreach ($liste_trad as $traduction) { if (in_array($traduction['module'], $modules_todo)) { - sql_updateq('spip_tradlang_modules', array('dir_module' => $traduction['dir_module']), "module=".sql_quote($traduction['module'])." AND (dir_module='' OR dir_module=module)"); + sql_updateq('spip_tradlang_modules', ['dir_module' => $traduction['dir_module']], "module=".sql_quote($traduction['module'])." AND (dir_module='' OR dir_module=module)"); $output->writeln(" Module " . $traduction['module'] . " -> " . $traduction['dir_module']); } } diff --git a/tradlang_administrations.php b/tradlang_administrations.php index c0ed475..a1d7c3e 100644 --- a/tradlang_administrations.php +++ b/tradlang_administrations.php @@ -13,126 +13,90 @@ include_spip('inc/meta'); /** * Fonction d'installation, mise à jour de la base * - * @param unknown_type $nom_meta_base_version - * @param unknown_type $version_cible + * @param string $nom_meta_base_version + * @param string $version_cible */ function tradlang_upgrade($nom_meta_base_version, $version_cible) { $current_version = 0.0; - $maj = array(); - $maj['create'] = array( - array('creer_base'), - array('maj_tables',array('spip_auteurs')), - array('tradlang_import_ancien_tradlang',true), - array('tradlang_maj_modules',true) - ); - $maj['0.3.1'] = array( - array('sql_alter',"TABLE spip_tradlang CHANGE status status VARCHAR(16) NOT NULL DEFAULT 'OK'") - ); - $maj['0.3.2'] = array( - array('sql_alter','TABLE spip_tradlang_modules CHANGE nom_mod nom_mod VARCHAR(32) NOT NULL'), - array('sql_alter','TABLE spip_tradlang_modules CHANGE lang_prefix lang_prefix VARCHAR(32) NOT NULL') - ); - $maj['0.3.3'] = array( - array('sql_alter',"TABLE spip_tradlang CHANGE status statut VARCHAR(16) NOT NULL default 'OK'"), - ); - $maj['0.3.4'] = array( - array('sql_alter',"TABLE spip_tradlang ADD id_tradlang_module bigint(21) DEFAULT '0' NOT NULL"), - array('tradlang_maj_id_tradlang_modules',true) - ); - $maj['0.3.5'] = array( - array('maj_tables',array('spip_tradlang')), - array('tradlang_maj_tradlang_titre',true) - ); - $maj['0.3.6'] = array( - array('maj_tables',array('spip_tradlang')) - ); - $maj['0.3.7'] = array( - array('tradlang_maj_traducteurs','true') - ); - $maj['0.3.8'] = array( - array('maj_tables',array('spip_tradlang_modules')) - ); - $maj['0.3.9'] = array( - array('sql_alter','TABLE spip_tradlang_modules DROP INDEX nom_mod'), - array('sql_alter','TABLE spip_tradlang_modules CHANGE nom_mod nom_mod text DEFAULT "" NOT NULL'), - array('sql_alter','TABLE spip_tradlang_modules ADD INDEX `nom_mod` ( `nom_mod` ( 255 ) )') - ); - $maj['0.4.0'] = array( - array('maj_tables', array('spip_auteurs')) - ); - $maj['0.4.1'] = array( - array('sql_alter', 'TABLE spip_tradlang DROP maj'), - array('sql_alter', 'TABLE spip_tradlang CHANGE ts maj timestamp(14) NOT NULL'), - ); - $maj['0.4.2'] = array( - array('sql_alter', 'TABLE spip_tradlang RENAME spip_tradlangs') - ); - $maj['0.4.3'] = array( - array('maj_tables', array('spip_auteurs')) - ); - $maj['0.4.4'] = array( - array('maj_tables', array('spip_tradlang_modules')) - ); - $maj['0.4.5'] = array( - array('sql_alter', 'TABLE spip_tradlangs ADD INDEX id_tradlang_module (id_tradlang_module)'), - ); - $maj['0.4.6'] = array( - array('sql_alter', 'TABLE spip_tradlangs ADD INDEX statut (statut)'), - ); - $maj['0.5.0'] = array( - array('creer_base'), - array('tradlang_maj_bilans') - ); - $maj['0.5.1'] = array( - array('tradlang_maj_attic') - ); - $maj['0.5.2'] = array( - array('maj_tables',array('spip_tradlang_modules')) - ); + $maj = []; + $maj['create'] = [ + ['creer_base'], + ['maj_tables', ['spip_auteurs']], + ['tradlang_import_ancien_tradlang', true], + ['tradlang_maj_modules', true] + ]; + $maj['0.3.1'] = [ + ['sql_alter', "TABLE spip_tradlang CHANGE status status VARCHAR(16) NOT NULL DEFAULT 'OK'"] + ]; + $maj['0.3.2'] = [ + ['sql_alter', 'TABLE spip_tradlang_modules CHANGE nom_mod nom_mod VARCHAR(32) NOT NULL'], + ['sql_alter', 'TABLE spip_tradlang_modules CHANGE lang_prefix lang_prefix VARCHAR(32) NOT NULL'] + ]; + $maj['0.3.3'] = [ + ['sql_alter', "TABLE spip_tradlang CHANGE status statut VARCHAR(16) NOT NULL default 'OK'"] + ]; + $maj['0.3.4'] = [ + ['sql_alter', "TABLE spip_tradlang ADD id_tradlang_module bigint(21) DEFAULT '0' NOT NULL"], ['tradlang_maj_id_tradlang_modules', true] + ]; + $maj['0.3.5'] = [['maj_tables', ['spip_tradlang']], ['tradlang_maj_tradlang_titre', true]]; + $maj['0.3.6'] = [['maj_tables', ['spip_tradlang']]]; + $maj['0.3.7'] = [['tradlang_maj_traducteurs', 'true']]; + $maj['0.3.8'] = [['maj_tables', ['spip_tradlang_modules']]]; + $maj['0.3.9'] = [ + ['sql_alter', 'TABLE spip_tradlang_modules DROP INDEX nom_mod'], + ['sql_alter', 'TABLE spip_tradlang_modules CHANGE nom_mod nom_mod text DEFAULT "" NOT NULL'], + ['sql_alter', 'TABLE spip_tradlang_modules ADD INDEX `nom_mod` ( `nom_mod` ( 255 ) )'] + ]; + $maj['0.4.0'] = [['maj_tables', ['spip_auteurs']]]; + $maj['0.4.1'] = [ + ['sql_alter', 'TABLE spip_tradlang DROP maj'], + ['sql_alter', 'TABLE spip_tradlang CHANGE ts maj timestamp(14) NOT NULL'] + ]; + $maj['0.4.2'] = [['sql_alter', 'TABLE spip_tradlang RENAME spip_tradlangs']]; + $maj['0.4.3'] = [['maj_tables', ['spip_auteurs']]]; + $maj['0.4.4'] = [['maj_tables', ['spip_tradlang_modules']]]; + $maj['0.4.5'] = [['sql_alter', 'TABLE spip_tradlangs ADD INDEX id_tradlang_module (id_tradlang_module)']]; + $maj['0.4.6'] = [['sql_alter', 'TABLE spip_tradlangs ADD INDEX statut (statut)']]; + $maj['0.5.0'] = [['creer_base'], ['tradlang_maj_bilans']]; + $maj['0.5.1'] = [['tradlang_maj_attic']]; + $maj['0.5.2'] = [['maj_tables', ['spip_tradlang_modules']]]; // changement de cle unique sur spip_tradlang_modules - $maj['1.0.0'] = array( - array('sql_alter','TABLE spip_tradlang_modules DROP INDEX module'), - // ajouter le champ dir_module - array('sql_alter','TABLE spip_tradlang_modules ADD dir_module varchar(255) NOT NULL DEFAULT \'\''), - // on preremplit avec module pour avoir l'unicite - array('sql_update','spip_tradlang_modules',array('dir_module' => 'module'), "dir_module=''"), - // ajout de l'index unique sur dir_module - array('sql_alter','TABLE spip_tradlang_modules ADD UNIQUE INDEX dir_module (dir_module)'), - // et on remet un index module simple - array('sql_alter','TABLE spip_tradlang_modules ADD INDEX module (module)'), - ); + $maj['1.0.0'] = [ + ['sql_alter', 'TABLE spip_tradlang_modules DROP INDEX module'], + // ajouter le champ dir_module + ['sql_alter', 'TABLE spip_tradlang_modules ADD dir_module varchar(255) NOT NULL DEFAULT \'\''], + // on preremplit avec module pour avoir l'unicite + ['sql_update', 'spip_tradlang_modules', ['dir_module' => 'module'], "dir_module=''"], + // ajout de l'index unique sur dir_module + ['sql_alter', 'TABLE spip_tradlang_modules ADD UNIQUE INDEX dir_module (dir_module)'], + // et on remet un index module simple + ['sql_alter', 'TABLE spip_tradlang_modules ADD INDEX module (module)'], + ]; - $maj['1.1.0'] = array( - // supprimer tous les indexs - array('sql_alter','TABLE spip_tradlangs DROP INDEX id'), - array('sql_alter','TABLE spip_tradlangs DROP INDEX module'), - array('sql_alter','TABLE spip_tradlangs DROP INDEX id_tradlang_module'), - array('sql_alter','TABLE spip_tradlangs DROP INDEX statut'), - array('sql_alter','TABLE spip_tradlangs DROP INDEX langstatut'), - array('sql_alter','TABLE spip_tradlangs DROP INDEX modlangstatut'), - array('sql_alter','TABLE spip_tradlangs DROP INDEX idmodlangstatut'), - array('sql_alter','TABLE spip_tradlangs DROP INDEX idmodlang'), + $maj['1.1.0'] = [ + // supprimer tous les indexs + ['sql_alter', 'TABLE spip_tradlangs DROP INDEX id'], + ['sql_alter', 'TABLE spip_tradlangs DROP INDEX module'], + ['sql_alter', 'TABLE spip_tradlangs DROP INDEX id_tradlang_module'], + ['sql_alter', 'TABLE spip_tradlangs DROP INDEX statut'], + ['sql_alter', 'TABLE spip_tradlangs DROP INDEX langstatut'], + ['sql_alter', 'TABLE spip_tradlangs DROP INDEX modlangstatut'], + ['sql_alter', 'TABLE spip_tradlangs DROP INDEX idmodlangstatut'], + ['sql_alter', 'TABLE spip_tradlangs DROP INDEX idmodlang'], + ['sql_alter', 'TABLE spip_tradlangs ADD UNIQUE INDEX id_tradlang_module_id_lang (id_tradlang_module,id,lang)'], + ['sql_alter', 'TABLE spip_tradlangs ADD INDEX id_tradlang_module (id_tradlang_module)'], + ['sql_alter', 'TABLE spip_tradlangs ADD INDEX id (id)'], + ['sql_alter', 'TABLE spip_tradlangs ADD INDEX lang (lang)'], + ['sql_alter', 'TABLE spip_tradlangs ADD INDEX module (module)'], + ['sql_alter', 'TABLE spip_tradlangs ADD INDEX statut (statut)'], + ['sql_alter', 'TABLE spip_tradlangs ADD INDEX module_lang (module,lang)'], + ]; + $maj['1.1.1'] = [['sql_alter', 'TABLE spip_tradlangs ADD INDEX id_tradlang_module_lang_statut (id_tradlang_module,lang,statut)']]; - array('sql_alter','TABLE spip_tradlangs ADD UNIQUE INDEX id_tradlang_module_id_lang (id_tradlang_module,id,lang)'), - array('sql_alter','TABLE spip_tradlangs ADD INDEX id_tradlang_module (id_tradlang_module)'), - array('sql_alter','TABLE spip_tradlangs ADD INDEX id (id)'), - array('sql_alter','TABLE spip_tradlangs ADD INDEX lang (lang)'), - array('sql_alter','TABLE spip_tradlangs ADD INDEX module (module)'), - array('sql_alter','TABLE spip_tradlangs ADD INDEX statut (statut)'), - array('sql_alter','TABLE spip_tradlangs ADD INDEX module_lang (module,lang)'), - ); - $maj['1.1.1'] = array( - array('sql_alter','TABLE spip_tradlangs ADD INDEX id_tradlang_module_lang_statut (id_tradlang_module,lang,statut)'), - ); + $maj['1.2.0'] = [['tradlang_nommer_modules']]; - $maj['1.2.0'] = array( - array('tradlang_nommer_modules'), - ); - - $maj['1.2.1'] = array( - array('sql_alter','TABLE spip_tradlang_modules ADD bon_a_pousser tinyint NOT NULL DEFAULT 0'), - ); + $maj['1.2.1'] = [['sql_alter', 'TABLE spip_tradlang_modules ADD bon_a_pousser tinyint NOT NULL DEFAULT 0']]; include_spip('base/upgrade'); maj_plugin($nom_meta_base_version, $version_cible, $maj); @@ -148,10 +112,8 @@ function tradlang_nommer_modules() { $id_tradlang_module = $row_module['id_tradlang_module']; - $set = array( - 'nom_mod' => calculer_nom_module($row_module['module'], $row_module['dir_module']), - ); - sql_updateq("spip_tradlang_modules", $set, "id_tradlang_module=".intval($id_tradlang_module)); + $set = ['nom_mod' => calculer_nom_module($row_module['module'], $row_module['dir_module'])]; + sql_updateq("spip_tradlang_modules", $set, "id_tradlang_module=".(int) $id_tradlang_module); if (time()>_TIME_OUT) { return; } @@ -166,16 +128,16 @@ function tradlang_import_ancien_tradlang($affiche = false) { /** * On insère les modules */ - $modules = sql_select('*', 'trad_lang', '', array('module')); + $modules = sql_select('*', 'trad_lang', '', ['module']); while ($module=sql_fetch($modules)) { - $id_module = sql_insertq('spip_tradlang_modules', array('module' => $module['module'], 'nom_mod' => $module['module'])); + $id_module = sql_insertq('spip_tradlang_modules', ['module' => $module['module'], 'nom_mod' => $module['module']]); /** * On insére les anciens tradlang */ //$docs = array_map('reset',sql_allfetsel('id_document','spip_documents',"statut='0'",'','',"0,100")); $strings = sql_allfetsel('id,module,lang,str,comm,status,traducteur,ts,md5,orig,date_modif', 'trad_lang', 'module = ' . sql_quote($module['module']). ' AND orig!="2"', '', '', '0,100'); $count = 0; - while (count($strings)) { + while (is_countable($strings) ? count($strings) : 0) { foreach ($strings as $id => $string) { $string['titre'] = $string['id'].' : '.$string['module'].' - '.$string['lang']; if (!$string['md5']) { @@ -183,17 +145,17 @@ function tradlang_import_ancien_tradlang($affiche = false) { } $string['langue_choisie'] = 'non'; $string['id_tradlang_module'] = $id_module; - $string['statut'] = $string['status'] ? $string['status'] : 'OK'; + $string['statut'] = $string['status'] ?: 'OK'; $string['maj'] = $string['ts']; unset($string['ts']); unset($string['status']); sql_insertq('spip_tradlangs', $string); - sql_updateq('trad_lang', array('orig' => 2), 'str=' . sql_quote($string['str']) . ' AND lang= ' . sql_quote($string['lang'])); + sql_updateq('trad_lang', ['orig' => 2], 'str=' . sql_quote($string['str']) . ' AND lang= ' . sql_quote($string['lang'])); } if ($affiche) { echo ' .'; } - $count = $count+count($strings); + $count += count($strings); spip_log($count, 'tradlang'); $strings = sql_allfetsel('id,module,lang,str,comm,status,traducteur,ts,md5,orig,date_modif', 'trad_lang', 'module = ' . sql_quote($module['module']). ' AND orig!="2"', '', '', '0,100'); } @@ -203,9 +165,9 @@ function tradlang_maj_id_tradlang_modules($affiche = false) { $strings = array_map('reset', sql_allfetsel('id_tradlang', 'spip_tradlangs', 'id_tradlang_module=0', '', '', '0,100')); while (count($strings)) { foreach ($strings as $id_tradlang) { - $module = sql_getfetsel('module', 'spip_tradlangs', 'id_tradlang = ' . intval($id_tradlang)); + $module = sql_getfetsel('module', 'spip_tradlangs', 'id_tradlang = ' . (int) $id_tradlang); $id_tradlang_module = sql_getfetsel('id_tradlang_module', 'spip_tradlang_modules', 'module = ' . sql_quote($module)); - sql_updateq('spip_tradlangs', array('id_tradlang_module' => $id_tradlang_module), 'id_tradlang = ' . intval($id_tradlang)); + sql_updateq('spip_tradlangs', ['id_tradlang_module' => $id_tradlang_module], 'id_tradlang = ' . (int) $id_tradlang); } if ($affiche) { echo ' .'; @@ -218,9 +180,9 @@ function tradlang_maj_tradlang_titre($affiche = false) { $strings = array_map('reset', sql_allfetsel('id_tradlang', 'spip_tradlangs', 'titre=""', '', '', '0,500')); while (count($strings)) { foreach ($strings as $id_tradlang) { - $tradlang = sql_fetsel('*', 'spip_tradlangs', 'id_tradlang = ' . intval($id_tradlang)); + $tradlang = sql_fetsel('*', 'spip_tradlangs', 'id_tradlang = ' . (int) $id_tradlang); $titre = $tradlang['id'].' : '.$tradlang['module'].' - '.$tradlang['lang']; - sql_updateq('spip_tradlangs', array('titre' => $titre), 'id_tradlang='.intval($id_tradlang)); + sql_updateq('spip_tradlangs', ['titre' => $titre], 'id_tradlang='.(int) $id_tradlang); } if ($affiche) { echo ' .'; @@ -241,7 +203,7 @@ function tradlang_maj_modules($affiche = false) { if ($affiche) { echo ' .'; } - $langues = sql_select('lang', 'spip_tradlangs', 'id_tradlang_module = ' . intval($module['id_tradlang_module']).' AND lang!='.sql_quote($module['lang_mere']), array('lang')); + $langues = sql_select('lang', 'spip_tradlangs', 'id_tradlang_module = ' . (int) $module['id_tradlang_module'].' AND lang!='.sql_quote($module['lang_mere']), ['lang']); while ($lang = sql_fetch($langues)) { $modifs = $tradlang_verifier_langue_base($module['module'],$lang['lang']); } @@ -254,12 +216,12 @@ function tradlang_maj_modules($affiche = false) { function tradlang_maj_traducteurs($affiche = false) { $chaines_traducteurs = sql_select('*', 'trad_lang', 'status = "" AND traducteur != ""'); while ($traduction = sql_fetch($chaines_traducteurs)) { - sql_updateq('spip_tradlangs', array('traducteur' => $traduction['traducteur']), 'module = '.sql_quote($traduction['module']).' AND id = ' . sql_quote($traduction['id']) . ' AND lang = ' . sql_quote($traduction['lang'])); + sql_updateq('spip_tradlangs', ['traducteur' => $traduction['traducteur']], 'module = '.sql_quote($traduction['module']).' AND id = ' . sql_quote($traduction['id']) . ' AND lang = ' . sql_quote($traduction['lang'])); } $chaines_traducteurs_modif = sql_select('*', 'trad_lang', 'status = "MODIF" AND traducteur != ""'); while ($traduction = sql_fetch($chaines_traducteurs_modif)) { - sql_updateq('spip_tradlangs', array('traducteur' => $traduction['traducteur']), 'module = '.sql_quote($traduction['module']).' AND id='.sql_quote($traduction['id']).' AND lang='.sql_quote($traduction['lang'])); + sql_updateq('spip_tradlangs', ['traducteur' => $traduction['traducteur']], 'module = '.sql_quote($traduction['module']).' AND id='.sql_quote($traduction['id']).' AND lang='.sql_quote($traduction['lang'])); } } @@ -290,16 +252,16 @@ function tradlang_maj_bilans($affiche = false) { $chaines_relire = sql_countsel('spip_tradlangs', 'module='.sql_quote($module['module']).' AND lang='.sql_quote($lang).' AND statut="RELIRE"'); $chaines_modif = sql_countsel('spip_tradlangs', 'module='.sql_quote($module['module']).' AND lang='.sql_quote($lang).' AND statut="MODIF"'); $chaines_new = sql_countsel('spip_tradlangs', 'module='.sql_quote($module['module']).' AND lang='.sql_quote($lang).' AND statut="NEW"'); - $infos_bilan = array( - 'id_tradlang_module' => $module['id_tradlang_module'], - 'module' => $module['module'], - 'lang' => $lang, - 'chaines_total' => $total, - 'chaines_ok' => $chaines_ok, - 'chaines_relire' => $chaines_relire, - 'chaines_modif' => $chaines_modif, - 'chaines_new' => $chaines_new - ); + $infos_bilan = [ + 'id_tradlang_module' => $module['id_tradlang_module'], + 'module' => $module['module'], + 'lang' => $lang, + 'chaines_total' => $total, + 'chaines_ok' => $chaines_ok, + 'chaines_relire' => $chaines_relire, + 'chaines_modif' => $chaines_modif, + 'chaines_new' => $chaines_new + ]; sql_insertq('spip_tradlangs_bilans', $infos_bilan); } } @@ -314,14 +276,14 @@ function tradlang_maj_attic($affiche = false) { sql_delete('spip_tradlangs', 'module LIKE "attic%" AND statut="NEW"'); $select_attic_id_module = sql_select('*', 'spip_tradlangs', 'module LIKE "attic%"', 'id_tradlang_module'); while ($id_module = sql_fetch($select_attic_id_module)) { - $module = sql_getfetsel('module', 'spip_tradlang_modules', 'id_tradlang_module = ' . intval($id_module['id_tradlang_module'])); + $module = sql_getfetsel('module', 'spip_tradlang_modules', 'id_tradlang_module = ' . (int) $id_module['id_tradlang_module']); if ($module) { - $attics_module = sql_select('id_tradlang,id,module,lang', 'spip_tradlangs', 'id_tradlang_module = ' . intval($id_module['id_tradlang_module']) . ' AND module LIKE "attic%"'); + $attics_module = sql_select('id_tradlang,id,module,lang', 'spip_tradlangs', 'id_tradlang_module = ' . (int) $id_module['id_tradlang_module'] . ' AND module LIKE "attic%"'); while ($id_tradlang = sql_fetch($attics_module)) { if (!sql_getfetsel('id_tradlang', 'spip_tradlangs', 'id = ' . sql_quote($id_tradlang['id']).' AND module = ' . sql_quote($id_tradlang['module']).' AND lang = ' . sql_quote($id_tradlang['lang']))) { - sql_updateq('spip_tradlangs', array('statut' => 'attic', 'module' => $module), 'id_tradlang = ' . intval($id_tradlang['id_tradlang'])); + sql_updateq('spip_tradlangs', ['statut' => 'attic', 'module' => $module], 'id_tradlang = ' . (int) $id_tradlang['id_tradlang']); } else { - sql_delete('spip_tradlangs', 'id_tradlang = ' . intval($id_tradlang['id_tradlang'])); + sql_delete('spip_tradlangs', 'id_tradlang = ' . (int) $id_tradlang['id_tradlang']); } } } @@ -336,7 +298,7 @@ function tradlang_maj_attic($affiche = false) { * -* la table spip_tradlangs_bilans * -* les éléments de spip_versions concernant l'obet tradlang * -* les éléments de spip_versions_fragments concernant l'obet tradlang - * @param unknown_type $nom_meta_base_version + * @param string $nom_meta_base_version */ function tradlang_vider_tables($nom_meta_base_version) { sql_drop_table('spip_tradlangs'); diff --git a/tradlang_autoriser.php b/tradlang_autoriser.php index cc2215d..daebb52 100644 --- a/tradlang_autoriser.php +++ b/tradlang_autoriser.php @@ -28,9 +28,10 @@ function tradlang_autoriser() { * @param string $action * L'action que l'on souhaite faire * @param boolean $utiliser_defaut [optional] - * @return array, boolean + * @return array|false */ function definir_autorisations_tradlang($action, $utiliser_defaut = true) { + $define = null; $aut = null; switch (strtolower($action)) { @@ -50,9 +51,9 @@ function definir_autorisations_tradlang($action, $utiliser_defaut = true) { if (in_array('webmestre', $liste)) { $aut['auteur'] = explode(':', _ID_WEBMESTRES); } elseif (in_array('0minirezo', $liste)) { - $aut['statut'] = array('0minirezo'); + $aut['statut'] = ['0minirezo']; } elseif (in_array('1comite', $liste)) { - $aut['statut'] = array('0minirezo', '1comite'); + $aut['statut'] = ['0minirezo', '1comite']; } else { $aut['auteur'] = $liste; } @@ -94,15 +95,15 @@ function autoriser_tradlang_configurer_dist($faire, $type, $id, $qui, $opt) { break; case 'par_statut': // Traitement spécifique pour la valeur 'tous' - if (in_array('tous', lire_config('tradlang/autorisations/configurer_statuts', array('0minirezo')))) { + if (in_array('tous', lire_config('tradlang/autorisations/configurer_statuts', ['0minirezo']))) { return true; } // Autorisation par statut - $autorise = in_array($qui['statut'], lire_config('tradlang/autorisations/configurer_statuts', array())); + $autorise = in_array($qui['statut'], lire_config('tradlang/autorisations/configurer_statuts', [])); break; case 'par_auteur': // Autorisation par id d'auteurs - $autorise = in_array($qui['id_auteur'], lire_config('tradlang/autorisations/configurer_auteurs', array())); + $autorise = in_array($qui['id_auteur'], lire_config('tradlang/autorisations/configurer_auteurs', [])); break; } if ($autorise == true) { @@ -150,8 +151,8 @@ function autoriser_tradlang_modifier_dist($faire, $type, $id, $qui, $opt) { /** * Retourner false si c'est une chaîne de la langue mère */ - if (intval($id) > 0) { - $infos_chaine = sql_fetsel('lang,module', 'spip_tradlangs', 'id_tradlang = ' . intval($id)); + if ((int) $id > 0) { + $infos_chaine = sql_fetsel('lang,module', 'spip_tradlangs', 'id_tradlang = ' . (int) $id); $lang_mere = sql_getfetsel('lang_mere', 'spip_tradlang_modules', 'module = ' . sql_quote($infos_chaine['module'])); if ($infos_chaine['lang'] == $lang_mere) { return false; @@ -178,15 +179,15 @@ function autoriser_tradlang_modifier_dist($faire, $type, $id, $qui, $opt) { break; case 'par_statut': // Traitement spécifique pour la valeur 'tous' - if (in_array('tous', lire_config('tradlang/modifier_statuts', array()))) { + if (in_array('tous', lire_config('tradlang/modifier_statuts', []))) { return true; } // Autorisation par statut - $autorise = in_array($qui['statut'], lire_config('tradlang/modifier_statuts', array('0minirezo'))); + $autorise = in_array($qui['statut'], lire_config('tradlang/modifier_statuts', ['0minirezo'])); break; case 'par_auteur': // Autorisation par id d'auteurs - $autorise = in_array($qui['id_auteur'], lire_config('tradlang/modifier_auteurs', array())); + $autorise = in_array($qui['id_auteur'], lire_config('tradlang/modifier_auteurs', [])); break; } if ($autorise == true) { @@ -242,15 +243,15 @@ function autoriser_tradlangmodule_modifier_dist($faire, $type, $id, $qui, $opt) break; case 'par_statut': // Traitement spécifique pour la valeur 'tous' - if (in_array('tous', lire_config('tradlang/modifier_statuts', array()))) { + if (in_array('tous', lire_config('tradlang/modifier_statuts', []))) { return true; } // Autorisation par statut - $autorise = in_array($qui['statut'], lire_config('tradlang/modifier_statuts', array('0minirezo'))); + $autorise = in_array($qui['statut'], lire_config('tradlang/modifier_statuts', ['0minirezo'])); break; case 'par_auteur': // Autorisation par id d'auteurs - $autorise = in_array($qui['id_auteur'], lire_config('tradlang/modifier_auteurs', array())); + $autorise = in_array($qui['id_auteur'], lire_config('tradlang/modifier_auteurs', [])); break; } if ($autorise == true) { @@ -302,15 +303,15 @@ function autoriser_tradlang_voir_dist($faire, $type, $id, $qui, $opt) { break; case 'par_statut': // Traitement spécifique pour la valeur 'tous' - if (in_array('tous', lire_config('tradlang/voir_statuts', array()))) { + if (in_array('tous', lire_config('tradlang/voir_statuts', []))) { return true; } // Autorisation par statut - $autorise = in_array($qui['statut'], lire_config('tradlang/voir_statuts', array('0minirezo', '1comite'))); + $autorise = in_array($qui['statut'], lire_config('tradlang/voir_statuts', ['0minirezo', '1comite'])); break; case 'par_auteur': // Autorisation par id d'auteurs - $autorise = in_array($qui['id_auteur'], lire_config('tradlang/voir_auteurs', array())); + $autorise = in_array($qui['id_auteur'], lire_config('tradlang/voir_auteurs', [])); break; } if ($autorise == true) { diff --git a/tradlang_fonctions.php b/tradlang_fonctions.php index 24c5f3b..f321b8e 100644 --- a/tradlang_fonctions.php +++ b/tradlang_fonctions.php @@ -21,7 +21,7 @@ if (!defined('_ECRIRE_INC_VERSION')) { * Un array complet des modules en base */ function tradlang_getmodules_base() { - $ret = array(); + $ret = []; /** * Sélection de tous les modules de langue @@ -36,7 +36,7 @@ function tradlang_getmodules_base() { * Récupération des différentes langues et calcul du nom des * fichiers de langue */ - $res2 = sql_allfetsel('DISTINCT lang', 'spip_tradlangs', 'id_tradlang_module=' . intval($row['id_tradlang_module'])); + $res2 = sql_allfetsel('DISTINCT lang', 'spip_tradlangs', 'id_tradlang_module=' . (int) $row['id_tradlang_module']); foreach ($res2 as $row2) { $lg = $row2['lang']; $ret[$module]['langue_' . $lg] = $row['lang_prefix'].'_'.$lg.'.php'; @@ -48,10 +48,10 @@ function tradlang_getmodules_base() { function tradlang_dir_lang() { global $dossier_squelettes; - if (!$dossier_squelettes and !is_dir(_DIR_RACINE.'squelettes')) { + if (!$dossier_squelettes && !is_dir(_DIR_RACINE.'squelettes')) { return false; } else { - $squelettes = $dossier_squelettes ? $dossier_squelettes : 'squelettes'; + $squelettes = $dossier_squelettes ?: 'squelettes'; } if (!is_dir($dir_lang = _DIR_RACINE.$squelettes.'/lang')) { @@ -70,7 +70,7 @@ function langues_sort($array, $defaut = null) { if (is_array($array)) { arsort($array); if (isset($defaut)) { - $langue_defaut = array($defaut => $array[$defaut]); + $langue_defaut = [$defaut => $array[$defaut]]; unset($array[$defaut]); $array = array_merge($langue_defaut, $array); } @@ -88,8 +88,7 @@ function boucle_TRADLANG_MODULES_dist($id_boucle, &$boucles) { /** * Par défaut on tri par priorité et nom_mod */ - if (!isset($boucle->modificateur['par']) - and !isset($boucle->modificateur['tri'])) { + if (!isset($boucle->modificateur['par']) && !isset($boucle->modificateur['tri'])) { $id_table = $boucle->id_table; $boucle->order[] = "'$id_table." ."priorite'"; $boucle->order[] = "'$id_table." ."nom_mod'"; @@ -102,9 +101,9 @@ function boucle_TRADLANG_MODULES_dist($id_boucle, &$boucles) { */ function boucle_TRADLANGS_dist($id_boucle, &$boucles) { $boucle = &$boucles[$id_boucle]; - if (isset($boucle->nom) and ($boucle->nom == 'calculer_langues_utilisees') and $boucle->id_boucle == 'tradlang') { + if (isset($boucle->nom) && $boucle->nom == 'calculer_langues_utilisees' && $boucle->id_boucle == 'tradlang') { $id_table = $boucle->id_table; - array_unshift($boucle->where,array("'='", "'$id_table." ."id_tradlang'", "'0'")); + array_unshift($boucle->where,["'='", "'$id_table." ."id_tradlang'", "'0'"]); } return calculer_boucle($id_boucle, $boucles); } @@ -147,9 +146,9 @@ function critere_langues_preferees_dist($idb, &$boucles, $crit) { */ function prepare_langues_preferees() { include_spip('inc/lang_liste'); - if (isset($GLOBALS['visiteur_session']['id_auteur']) and $GLOBALS['visiteur_session']['id_auteur'] >= 1) { - $langues_preferees = sql_getfetsel('langues_preferees', 'spip_auteurs', 'id_auteur='.intval($GLOBALS['visiteur_session']['id_auteur'])); - if ($langues_preferees and count(unserialize($langues_preferees)) > 0) { + if (isset($GLOBALS['visiteur_session']['id_auteur']) && $GLOBALS['visiteur_session']['id_auteur'] >= 1) { + $langues_preferees = sql_getfetsel('langues_preferees', 'spip_auteurs', 'id_auteur='.(int) $GLOBALS['visiteur_session']['id_auteur']); + if ($langues_preferees && (is_countable(unserialize($langues_preferees)) ? count(unserialize($langues_preferees)) : 0) > 0) { $langues_array = unserialize($langues_preferees); } else { $langues_array = array_keys($GLOBALS['codes_langues']); @@ -174,7 +173,7 @@ function critere_langue_complete_dist($id_boucle, &$boucles, $crit) { $id_table = $boucle->id_table; if ($id_table == 'tradlangs') { if (isset($crit->param[0][0])) { - $id_module = calculer_liste(array($crit->param[0][0]), array(), $boucles, $boucles[$id_boucle]->id_parent); + $id_module = calculer_liste([$crit->param[0][0]], [], $boucles, $boucles[$id_boucle]->id_parent); } else { $id_module = calculer_argument_precedent($id_boucle, 'id_tradlang_module', $boucles); } @@ -184,11 +183,12 @@ function critere_langue_complete_dist($id_boucle, &$boucles, $crit) { $module_having = $prepare_module('.$id_module.', "' . $boucle->sql_serveur . '"); '; - array_unshift($boucle->where, array("'='", "'$id_table." ."statut'", "'\"OK\"'")); + array_unshift($boucle->where, ["'='", "'$id_table." ."statut'", "'\"OK\"'"]); $boucles[$id_boucle]->group[] = "$id_table.lang"; - $boucles[$id_boucle]->having[] = "\n\t\t".'$module_having'; + $boucles[$id_boucle]->having[] = ' + $module_having'; } else { - return (array('zbug_critere_inconnu', array('table' => $crit->op.' ?'))); + return (['zbug_critere_inconnu', ['table' => $crit->op.' ?']]); } } @@ -205,7 +205,7 @@ function inc_prepare_module_langue_complete_dist($id_module, $serveur = '') { /** * On récupère la langue mère du module */ - $langue_mere = sql_getfetsel('lang_mere', 'spip_tradlang_modules', 'id_tradlang_module='.intval($id_module)); + $langue_mere = sql_getfetsel('lang_mere', 'spip_tradlang_modules', 'id_tradlang_module='.(int) $id_module); /** * On compte le nombre d'éléments de la langue mère ce qui correspond au nombre total d'éléments * à traduire pour un module @@ -227,8 +227,7 @@ function inc_prepare_module_langue_complete_dist($id_module, $serveur = '') { * La chaîne convertie en UTF-8 */ function tradlang_utf8($str) { - $str = unicode_to_utf_8(html_entity_decode(preg_replace('/&([lg]t;)/S', '&\1', $str), ENT_NOQUOTES, 'utf-8')); - return $str; + return unicode_to_utf_8(html_entity_decode(preg_replace('/&([lg]t;)/S', '&\1', $str), ENT_NOQUOTES, 'utf-8')); } /** @@ -244,23 +243,19 @@ function tradlang_utf8($str) { function langue_possible($lang) { include_spip('inc/lang'); $langues = $GLOBALS['codes_langues']; - if (key_exists($lang, $langues)) { - return true; - } - - return false; + return array_key_exists($lang, $langues); } function tradlang_module_jolinom($nom_mod) { if (strpos($nom_mod, '[') !== false) { - $nom_mod = str_replace(array('[', ']'), array('<small class=\'text-muted\'>[', ']</small>'), $nom_mod); + $nom_mod = str_replace(['[', ']'], ['<small class=\'text-muted\'>[', ']</small>'], $nom_mod); if (strpos($nom_mod, ']') === false) { $nom_mod .= "</small>"; } } - if (strpos($nom_mod, '(') !== false and strpos($nom_mod, ')') !== false) { + if (strpos($nom_mod, '(') !== false && strpos($nom_mod, ')') !== false) { $nom_mod = str_replace("(", "<small class='text-muted'>(", $nom_mod); $nom_mod = str_replace(")", ")</small>", $nom_mod); } return $nom_mod; -} \ No newline at end of file +} diff --git a/tradlang_options.php b/tradlang_options.php index 8a2ef73..19f0c3c 100644 --- a/tradlang_options.php +++ b/tradlang_options.php @@ -15,7 +15,7 @@ if (!defined('_ECRIRE_INC_VERSION')) { include_spip('inc/lang_liste'); -$GLOBALS['url_arbo_parents']['tradlang'] = array('id_tradlang_module','tradlang_module'); +$GLOBALS['url_arbo_parents']['tradlang'] = ['id_tradlang_module', 'tradlang_module']; /** * Définition des priorités à utiliser par défaut @@ -56,12 +56,12 @@ function calculer_nom_module($module, $dir_module) { $nom = $module; if (strpos($nom, 'paquet-') === 0) { $nom = substr($nom, 7) . " (paquet.xml)"; - if ($s and $s !== $module) { + if ($s && $s !== $module) { $nom .= " [$s]"; } } else { - $nom .= " [" . ($s ? $s : '?') . "]"; + $nom .= " [" . ($s ?: '?') . "]"; } return $nom; } \ No newline at end of file diff --git a/tradlang_pipelines.php b/tradlang_pipelines.php index 6bcd2d2..2ac15ed 100644 --- a/tradlang_pipelines.php +++ b/tradlang_pipelines.php @@ -47,7 +47,7 @@ function tradlang_pre_edition($flux) { if (is_array($langues_preferees = _request('langues_preferees'))) { $flux['data']['langues_preferees'] = serialize($langues_preferees); } else { - $flux['data']['langues_preferees'] = serialize(array()); + $flux['data']['langues_preferees'] = serialize([]); } } return $flux; @@ -73,10 +73,10 @@ function tradlang_post_edition($flux) { $config = lire_config('tradlang'); if (!is_array($config)) { return $flux; - } elseif (($config['sauvegarde_locale'] == 'on') and ($config['sauvegarde_post_edition'] == 'on')) { + } elseif ($config['sauvegarde_locale'] == 'on' && $config['sauvegarde_post_edition'] == 'on') { include_spip('tradlang_fonctions'); if ($dir_lang = tradlang_dir_lang()) { - $infos = sql_fetsel('lang,module', $flux['args']['table'], 'id_tradlang=' . intval($flux['args']['id_objet'])); + $infos = sql_fetsel('lang,module', $flux['args']['table'], 'id_tradlang=' . (int) $flux['args']['id_objet']); $module = sql_fetsel('*', 'spip_tradlang_modules', 'module=' . sql_quote($infos['module'])); $sauvegarder_module = charger_fonction('tradlang_sauvegarde_module', 'inc'); $sauvegarder_module($module['module'],$infos['lang'],$dir_lang); @@ -96,8 +96,9 @@ function tradlang_post_edition($flux) { * @return object $boucle */ function tradlang_pre_boucle($boucle) { - if (isset($boucle->nom) and ($boucle->nom == 'calculer_langues_utilisees') and ($boucle->id_boucle == 'tradlangs')) { - array_unshift($boucle->where, array("'='", "'$id_table." ."id_tradlang'", "'0'")); + $id_table = null; + if (isset($boucle->nom) && $boucle->nom == 'calculer_langues_utilisees' && $boucle->id_boucle == 'tradlangs') { + array_unshift($boucle->where, ["'='", "'$id_table." ."id_tradlang'", "'0'"]); } return $boucle; } @@ -113,13 +114,13 @@ function tradlang_pre_boucle($boucle) { * Le contexte modifié si besoin */ function tradlang_affiche_milieu($flux) { - if (($flux['args']['exec'] == 'auteur') && (intval($flux['args']['id_auteur']) > 0)) { + if (($flux['args']['exec'] == 'auteur') && ((int) $flux['args']['id_auteur'] > 0)) { $texte = recuperer_fond( 'prive/objets/liste/versions', - array( + [ 'objet'=>'tradlang', - 'id_auteur'=>intval($flux['args']['id_auteur']) - ) + 'id_auteur'=>(int) $flux['args']['id_auteur'] + ] ); $flux['data'] .= $texte; } @@ -154,10 +155,10 @@ function tradlang_editer_contenu_objet($flux) { */ function tradlang_formulaire_charger($flux) { // si le charger a renvoye false ou une chaine, ne rien faire - if (is_array($flux['data']) and ($flux['args']['form'] == 'editer_auteur')) { + if (is_array($flux['data']) && $flux['args']['form'] == 'editer_auteur') { $flux['data']['langues_preferees'] = ''; - if ($id_auteur = intval($flux['data']['id_auteur'])) { - $flux['data']['langues_preferees'] = sql_getfetsel('langues_preferees', 'spip_auteurs', 'id_auteur=' . intval($id_auteur)); + if ($id_auteur = (int) $flux['data']['id_auteur']) { + $flux['data']['langues_preferees'] = sql_getfetsel('langues_preferees', 'spip_auteurs', 'id_auteur=' . (int) $id_auteur); } } return $flux; @@ -185,14 +186,14 @@ function tradlang_forum_objets_depuis_env($array) { * Le contexte du pipeline modifié */ function tradlang_revisions_chercher_label($flux) { - if ($flux['args']['objet'] == 'tradlang' and in_array($flux['args']['champ'], array('str', 'traducteur', 'statut'))) { + if ($flux['args']['objet'] == 'tradlang' && in_array($flux['args']['champ'], ['str', 'traducteur', 'statut'])) { $flux['data'] = 'tradlang:info_'.$flux['args']['champ']; } return $flux; } function tradlang_grappes_objets_lies($flux) { - if (is_array($flux) and !isset($flux['tradlang_modules'])) { + if (is_array($flux) && !isset($flux['tradlang_modules'])) { $flux['tradlang_modules'] = _T('tradlang:item_groupes_association_modules'); } return $flux; -- GitLab