Changeset 97007 in spip-zone


Ignore:
Timestamp:
May 6, 2016, 1:31:37 PM (3 years ago)
Author:
kent1@…
Message:

PSR SPIP

Location:
_plugins_/trad-lang/trunk/inc
Files:
10 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/trad-lang/trunk/inc/stats_trads_to_array.php

    r93933 r97007  
    1414        $now = time();
    1515
    16         if (!in_array($unite,array('jour','mois')))
     16        if (!in_array($unite, array('jour', 'mois'))) {
    1717                $unite = 'jour';
     18        }
    1819        $serveur = '';
    1920
    20         $table = "spip_versions";
    21         $order = "date";
     21        $table = 'spip_versions';
     22        $order = 'date';
    2223        $where = array(
    2324                'objet = "tradlang"',
    2425                'id_version > 0'
    2526        );
    26        
    27        
    28         if(!isset($options['id_auteur']) OR !is_numeric($options['id_auteur']))
     27
     28
     29        if (!isset($options['id_auteur']) or !is_numeric($options['id_auteur'])) {
    2930                $where[] = 'id_auteur > 0';
    30         else
     31        } else {
    3132                $where[] = 'id_auteur = '.intval($options['id_auteur']);
     33        }
    3234
    33         if ($duree)
    34                 $where[] = sql_date_proche($order,-$duree,'day',$serveur);
     35        if ($duree) {
     36                $where[] = sql_date_proche($order, -$duree, 'day', $serveur);
     37        }
    3538
    36         $where = implode(" AND ",$where);
    37         $format = ($unite=='jour'?'%Y-%m-%d':'%Y-%m-01');
    38         $res = sql_select("COUNT(*) AS v, DATE_FORMAT($order,'$format') AS d", $table, $where, "d", "d", "",'',$serveur);
    39         $format = str_replace('%','',$format);
    40         $periode = ($unite=='jour'?24*3600:365*24*3600/12);
    41         $step = intval(round($periode*1.1,0));
     39        $where = implode(' AND ', $where);
     40        $format = ($unite=='jour' ? '%Y-%m-%d' : '%Y-%m-01');
     41        $res = sql_select("COUNT(*) AS v, DATE_FORMAT($order,'$format') AS d", $table, $where, 'd', 'd', '', '', $serveur);
     42        $format = str_replace('%', '', $format);
     43        $periode = ($unite=='jour' ? 24*3600 : 365*24*3600/12);
     44        $step = intval(round($periode*1.1, 0));
    4245        $glisse = constant('MOYENNE_GLISSANTE_'.strtoupper($unite));
    4346        moyenne_glissante();
    4447        $data = array();
    45         $r = sql_fetch($res,$serveur);
    46         if (!$r){
    47                 $r = array('d'=>date($format,$now),'v'=>0);
     48        $r = sql_fetch($res, $serveur);
     49        if (!$r) {
     50                $r = array('d' => date($format, $now), 'v' => 0);
    4851        }
    4952        do {
     
    5255
    5356                // donnee suivante
    54                 $r = sql_fetch($res,$serveur);
     57                $r = sql_fetch($res, $serveur);
    5558                // si la derniere n'est pas la date courante, l'ajouter
    56                 if (!$r AND $last!=date($format,$now))
    57                         $r = array('d'=>date($format,$now),'v'=>0);
     59                if (!$r and $last != date($format, $now)) {
     60                        $r = array('d' => date($format, $now), 'v' => 0);
     61                }
    5862
    5963                // completer les trous manquants si besoin
    60                 if ($r){
     64                if ($r) {
    6165                        $next = strtotime($last);
    6266                        $current = strtotime($r['d']);
    63                         while (($next+=$step)<$current AND $d=date($format,$next)){
    64                                 if (!isset($data[$d]))
    65                                         $data[$d] = array('versions'=>0,'moyenne'=>moyenne_glissante(0, $glisse));
     67                        while (($next+=$step) < $current and $d = date($format, $next)) {
     68                                if (!isset($data[$d])) {
     69                                        $data[$d] = array('versions'=>0, 'moyenne' => moyenne_glissante(0, $glisse));
     70                                }
    6671                                $last = $d;
    6772                                $next = strtotime($last);
    6873                        }
    6974                }
    70         }
    71         while ($r);
     75        } while ($r);
    7276
    7377        // projection pour la derniere barre :
     
    7680        $moyenne = end($data);
    7781        $moyenne = prev($data);
    78         $moyenne = ($moyenne AND isset($moyenne['moyenne']))?$moyenne['moyenne']:0;
     82        $moyenne = ($moyenne and isset($moyenne['moyenne'])) ? $moyenne['moyenne'] : 0;
    7983        $data[$last]['moyenne'] = $moyenne;
    8084
    8185        // temps restant
    82         $remaining = strtotime(date($format,strtotime(date($format,$now))+$step))-$now;
     86        $remaining = strtotime(date($format, strtotime(date($format, $now)) + $step)) - $now;
    8387
    8488        $prorata = $remaining/$periode;
     
    8791        $data[$last]['prevision'] = $data[$last]['versions'] + intval(round($moyenne*$prorata));
    8892
    89   return $data;
     93        return $data;
    9094}
    91 
    92 
    93 ?>
  • _plugins_/trad-lang/trunk/inc/tradlang_ajouter_code_langue.php

    r93933 r97007  
    77/**
    88 * Fonction d'ajout de création d'une langue pour un module
    9  * 
     9 *
    1010 * Par exemple, l'activation de la langue italienne (it) pour le module "ecrire"
    1111 * dupliquera les chaînes du module "ecrire" dans sa langue originale ("fr" par exemple)
    1212 * tout en mettant le statut "NEW"
    13  * 
     13 *
    1414 * @param array $module
    1515 *              Les informations du module en base (on a besoin des champs "id_tradlang_module","module","lang_mere")
    1616 * @param string $lang
    17  *              La langue dans laquelle on souhaite créer la nouvelle version 
     17 *              La langue dans laquelle on souhaite créer la nouvelle version
    1818 */
    19 function inc_tradlang_ajouter_code_langue($module,$lang){
     19function inc_tradlang_ajouter_code_langue($module, $lang) {
    2020        /**
    2121         * Sélection des chaînes de la langue mère du module
    22          * 
     22         *
    2323         * On ne sélectionne que les champs qui seront définitivement insérés tels quel en base pour simplifier le tableau
    2424         */
    25         $chaines_mere = sql_allfetsel('str,id,comm','spip_tradlangs',"id_tradlang_module=".intval($module['id_tradlang_module'])." AND lang=".sql_quote($module['lang_mere']));
     25        $chaines_mere = sql_allfetsel('str,id,comm', 'spip_tradlangs', 'id_tradlang_module = '.intval($module['id_tradlang_module']).' AND lang = ' . sql_quote($module['lang_mere']));
    2626        $total = count($chaines_mere);
    2727        $chaines_inserees = array();
    2828        $date = date('Y-m-d H:i:s');
    29         foreach($chaines_mere as $id => $chaine){
     29        foreach ($chaines_mere as $id => $chaine) {
    3030                /**
    3131                 * On ajoute une entrée au tableau $chaines_inserees qui insèrera toutes les chaînes d'un coup
     
    3535                 * - On met la date_modif à tout de suite
    3636                 * - On met langue_choisie à "oui"
    37                  * - les champs orig, statut, traducteur prennent les valeurs par défaut (0 et NEW), id_tradlang et maj sont incrémentés par mysql
     37                 * - les champs orig, statut, traducteur prennent les valeurs par défaut (0 et NEW),
     38                 * id_tradlang et maj sont incrémentés par mysql
    3839                 */
    3940                $chaine['id_tradlang_module'] = intval($module['id_tradlang_module']);
     
    4849                unset($chaines_mere[$id]);
    4950        }
    50         if(intval($total) > 0)
    51                 $res = sql_insertq_multi('spip_tradlangs',$chaines_inserees);
     51        if (intval($total) > 0) {
     52                $res = sql_insertq_multi('spip_tradlangs', $chaines_inserees);
     53        }
    5254        /**
    5355         * On génère le fichier correspondant si la configuration de tradlang le demande
    5456         */
    55         if(!function_exists('lire_config'))
     57        if (!function_exists('lire_config')) {
    5658                include_spip('inc/config');
    57         if((lire_config('tradlang/sauvegarde_locale') == 'on') && (lire_config('tradlang/sauvegarde_post_edition') == 'on')){
     59        }
     60        if ((lire_config('tradlang/sauvegarde_locale') == 'on') && (lire_config('tradlang/sauvegarde_post_edition') == 'on')) {
    5861                include_spip('tradlang_fonctions');
    59                 if($dir_lang = tradlang_dir_lang()){
    60                         $sauvegarder_module = charger_fonction('tradlang_sauvegarde_module','inc');
     62                if ($dir_lang = tradlang_dir_lang()) {
     63                        $sauvegarder_module = charger_fonction('tradlang_sauvegarde_module', 'inc');
    6164                        $sauvegarder_module($module,$lang,$dir_lang);
    6265                }
    6366        }
    64        
     67
    6568        /**
    6669         * On ajoute un job tout de suite pour générer les premières révisions
    6770         */
    68         $job_description = _T('tradlang:job_creation_revisions_modules',array('module' => $module['module']));
    69         job_queue_add("tradlang_creer_premieres_revisions", $job_description, array('module'=>$module['module'],'lang'=>$lang),'inc/', false, 0, 10);
    70        
     71        $job_description = _T('tradlang:job_creation_revisions_modules', array('module' => $module['module']));
     72        job_queue_add('tradlang_creer_premieres_revisions', $job_description, array('module' => $module['module'], 'lang'=>$lang), 'inc/', false, 0, 10);
     73
    7174        /**
    7275         * On ajoute la ligne du bilan
     
    8285                                'chaines_new' => $total
    8386                        );
    84         sql_insertq('spip_tradlangs_bilans',$bilan);
     87        sql_insertq('spip_tradlangs_bilans', $bilan);
    8588
    8689        /**
     
    9194        return true;
    9295}
    93 ?>
  • _plugins_/trad-lang/trunk/inc/tradlang_creer_premieres_revisions.php

    r93933 r97007  
    66
    77/**
    8  * Fonction de création des premières révisions 
    9  * 
     8 * Fonction de création des premières révisions
     9 *
    1010 * @param array $module
    1111 *              Les informations du module en base (on a besoin des champs "module","lang_mere")
    1212 * @param string $lang
    13  *              La langue dans laquelle on souhaite créer la nouvelle version 
     13 *              La langue dans laquelle on souhaite créer la nouvelle version
    1414 */
    15 function inc_tradlang_creer_premieres_revisions_dist($module=false,$lang=false,$nb=false){
     15function inc_tradlang_creer_premieres_revisions_dist($module = false, $lang = false, $nb = false) {
    1616        include_spip('inc/revisions');
    1717        $count = 0;
    1818        if ($versionnes = liste_champs_versionnes('spip_tradlangs')) {
    1919                $where = 'b.id_objet IS NULL';
    20                 $where .= (isset($module) AND $module) ? ' AND a.module = '.sql_quote($module) : '';
    21                 $where .= (isset($lang) AND $lang) ? ' AND a.lang = '.sql_quote($lang) : '';
    22                 if(isset($nb) && is_numeric($nb) && $nb > 1)
     20                $where .= (isset($module) and $module) ? ' AND a.module = '.sql_quote($module) : '';
     21                $where .= (isset($lang) and $lang) ? ' AND a.lang = '.sql_quote($lang) : '';
     22                if (isset($nb) && is_numeric($nb) && $nb > 1) {
    2323                        $nb = $nb;
    24                 else
     24                } else {
    2525                        $nb = 400;
    26                
    27                 $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);
    28                 while($tradlang = sql_fetch($tradlangs_sans_revisions)){
     26                }
     27
     28                $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);
     29                while ($tradlang = sql_fetch($tradlangs_sans_revisions)) {
    2930                        $id_version = verifier_premiere_revision('spip_tradlangs', 'tradlang', $tradlang['id_tradlang'], $versionnes, -1);
    3031                        $count++;
     
    3334        return $count;
    3435}
    35 
    36 ?>
  • _plugins_/trad-lang/trunk/inc/tradlang_forum_extraire_titre.php

    r93933 r97007  
    1 <?php 
     1<?php
    22
    33if (!defined('_ECRIRE_INC_VERSION')) {
     
    55}
    66
    7 function inc_tradlang_forum_extraire_titre($id_objet){
     7function inc_tradlang_forum_extraire_titre($id_objet) {
    88        $trouver_table = charger_fonction('trouver_table', 'base');
    99        $desc = $trouver_table(table_objet_sql('tradlang'));
     
    1111        $_table = $desc['table'];
    1212        $_primary = id_table_objet($_table);
    13         if ($_titre and $res = sql_fetsel($_titre, $_table, array(
    14                 "$_primary = ". sql_quote($id_objet))
     13        if ($_titre and $res = sql_fetsel(
     14                $_titre,
     15                $_table,
     16                array("$_primary = ". sql_quote($id_objet))
    1517        )) {
    1618                $titre = $res['titre'];
     
    1820        return $titre;
    1921}
    20 
    21 ?>
  • _plugins_/trad-lang/trunk/inc/tradlang_getmodules_fics.php

    r93933 r97007  
    88 * retourne une liste contenant les modules
    99 * trouves dans le repertoire passe en parametre
    10  * 
     10 *
    1111 * @param string $rep
    1212 * @return array
    1313 */
    14 function inc_tradlang_getmodules_fics($rep,$nom_mod){
     14function inc_tradlang_getmodules_fics($rep, $nom_mod) {
    1515        $ret = array();
    1616        // parcourt de l'ensemble des fichiers
    17         $liste_fic_lang= glob($rep.'/'.$nom_mod."_*.php");
    18         if(is_array($liste_fic_lang) AND count($liste_fic_lang) > 0){
     17        $liste_fic_lang= glob($rep.'/'.$nom_mod.'_*.php');
     18        if (is_array($liste_fic_lang) and count($liste_fic_lang) > 0) {
    1919                $ret = array($nom_mod => array(
    2020                                'nom_mod' => $nom_mod
    2121                        )
    2222                );
    23                 foreach($liste_fic_lang as $fichier){
    24                         $fich = basename($fichier,".php");
    25                         $fich = str_replace($nom_mod,'',$fich);
    26                         list(,$lang)=explode("_",$fich,2);
    27                         if (tradlang_verif($fichier)){
     23                foreach ($liste_fic_lang as $fichier) {
     24                        $fich = basename($fichier, '.php');
     25                        $fich = str_replace($nom_mod, '', $fich);
     26                        list(,$lang)=explode('_', $fich, 2);
     27                        if (tradlang_verif($fichier)) {
    2828                                $ret[$nom_mod]['langue_'.$lang] = basename($fichier);
    2929                        }
    3030                }
    3131                return $ret;
    32         }
    33         else{
     32        } else {
    3433                return false;
    3534        }
     
    3837// verifie si le fichier passe en param
    3938// est bien un fichier de langue
    40 function tradlang_verif($fic){
     39function tradlang_verif($fic) {
    4140        include($fic);
    4241        // verifie si c'est un fichier langue
    43         if (is_array($GLOBALS[$GLOBALS['idx_lang']])){
     42        if (is_array($GLOBALS[$GLOBALS['idx_lang']])) {
    4443                unset($GLOBALS[$GLOBALS['idx_lang']]);
    4544                return true;
     
    4746        return false;
    4847}
    49 ?>
  • _plugins_/trad-lang/trunk/inc/tradlang_importer_module.php

    r93933 r97007  
    11<?php
    22/**
    3  * 
     3 *
    44 * Trad-lang v1
    55 * Plugin SPIP de traduction de fichiers de langue
    66 * © Florent Jugla, Fil
    7  * 
     7 *
    88 */
    99
     
    1313
    1414/**
    15  * 
     15 *
    1616 * Import d'un module de langue dans Trad-lang
    17  * 
     17 *
    1818 * @param object $module
    19  * @return 
     19 * @return
    2020 */
    21 function inc_tradlang_importer_module($module,$dir_lang=false,$new_only=false){
     21function inc_tradlang_importer_module($module, $dir_lang = false, $new_only = false) {
    2222        include_spip('inc/texte');
    2323        include_spip('inc/lang_liste');
     
    2727         * On ne fournit pas de dir_lang donc on se base sur les fichiers du path
    2828         */
    29         if(!$dir_lang){
     29        if (!$dir_lang) {
    3030                list($select_modules, $tous_modules) = tradlang_select_liste_rep_lang();
    3131                $nom_mod = $module['nom_mod'];
    3232                $module_choisi = $tous_modules[$nom_mod];
    33                 $langues_module = explode(',',$module_choisi['langues']);
    34         }
    35        
    36         if(!($res = sql_getfetsel('id_tradlang_module','spip_tradlang_modules','nom_mod='.sql_quote($module['nom_mod'])))){
     33                $langues_module = explode(',', $module_choisi['langues']);
     34        }
     35
     36        if (!($res = sql_getfetsel('id_tradlang_module', 'spip_tradlang_modules', 'nom_mod = ' . sql_quote($module['nom_mod'])))) {
    3737                /**
    3838                 * Insertion du module dans la base
    3939                 */
    40                 $res = sql_insertq("spip_tradlang_modules",$module);
    41                 $mode = 'new'; 
    42         }else
     40                $res = sql_insertq('spip_tradlang_modules', $module);
     41                $mode = 'new';
     42        } else {
    4343                $mode = 'update';
    44        
    45         if ($new_only && ($mode=='update')){
    46                 $ret .= propre(_T('tradlang:module_deja_importe',array('module'=>$module['module'])));
     44        }
     45
     46        if ($new_only && ($mode=='update')) {
     47                $ret .= propre(_T('tradlang:module_deja_importe', array('module' => $module['module'])));
    4748                return array($ret,false);
    4849        }
    49        
     50
    5051        /**
    5152         * Insertion de chaque fichier de langue existant dans la base
     
    5455        array_unshift($langues_module, $module['lang_mere']);
    5556        array_unique($langues_module);
    56         foreach($langues_module as $langue){
     57        foreach ($langues_module as $langue) {
    5758                $chs = null;
    5859                $fichier = $module_choisi[$langue]['fichier'];
    5960                $orig = 0;
    60                 if ($langue == $module['lang_mere'])
     61                if ($langue == $module['lang_mere']) {
    6162                        $orig = 1;
    62 
    63                 $ret .= _T('tradlang:insertionlangue')." : ".$langue."<br />";
    64                 $nom_fichier = _DIR_RACINE.$module['dir_lang']."/".$fichier;
    65                
     63                }
     64
     65                $ret .= _T('tradlang:insertionlangue')." : $langue<br />";
     66                $nom_fichier = _DIR_RACINE.$module['dir_lang'] . "/$fichier";
     67
    6668                include($nom_fichier);
    6769                $chs = $GLOBALS[$GLOBALS['idx_lang']];
    68                 if (is_null($chs))
     70                if (is_null($chs)) {
    6971                        return false;
    70                
     72                }
    7173                reset($chs);
    72                
     74
    7375                // nettoyer le contenu de ses <MODIF>
    7476                $statut = array();
    75                 foreach($chs as $id=>$v) {
     77                foreach ($chs as $id => $v) {
    7678                        if (preg_match(',^<(MODIF|NEW|PLUS_UTILISE)>,US', $v, $r)) {
    7779                                $chs[$id] = preg_replace(',^(<(MODIF|NEW|PLUS_UTILISE)>)+,US', '', $v);
    7880                                $statut[$id] = $r[1];
     81                        } else {
     82                                $statut[$id] = '';
    7983                        }
    80                         else
    81                                 $statut[$id] = '';
    82                 }
    83                
    84                 $res = sql_select("id, str, md5","spip_tradlangs","module=".sql_quote($nom_mod)." AND lang=".sql_quote($langue));
    85                 if($mode == 'update'){
    86                         if(sql_count($res)>0)
    87                                 spip_log("Fichier de langue $langue du module $nom_mod deja inclus dans la base\n","tradlang");
     84                }
     85
     86                $res = sql_select('id, str, md5', 'spip_tradlangs', 'module=' . sql_quote($nom_mod) . ' AND lang = ' . sql_quote($langue));
     87                if ($mode == 'update' and sql_count($res) > 0) {
     88                        spip_log("Fichier de langue $langue du module $nom_mod deja inclus dans la base\n", 'tradlang');
    8889                }
    8990                $existant = array();
    90                 while ($t = sql_fetch($res))
     91                while ($t = sql_fetch($res)) {
    9192                        $existant[$t['id']] = $t['md5'];
    92                        
     93                }
     94
    9395                $ajoutees = $inchangees = $supprimees = $modifiees = $ignorees = 0;
    94                
     96
    9597                // Dans ce qui arrive, il y a 4 cas :
    96                 foreach (array_unique(
    97                                         array_merge(array_keys($existant), array_keys($chs))
    98                                 ) as $id) {
    99                         if (isset($chs[$id]) AND !isset($existant[$id])){
     98                foreach (array_unique(array_merge(array_keys($existant), array_keys($chs))) as $id) {
     99                        if (isset($chs[$id]) and !isset($existant[$id])) {
    100100                                unset($md5);
    101                                 if ($orig)
     101                                if ($orig) {
    102102                                        $md5 = md5($chs[$id]);
    103                                 else if (!isset($liste_id_orig[$id])) {
    104                                         spip_log("!-- Chaine $id inconnue dans la langue principale\n","tradlang");
     103                                } elseif (!isset($liste_id_orig[$id])) {
     104                                        spip_log("!-- Chaine $id inconnue dans la langue principale\n", 'tradlang');
    105105                                        $ignorees++;
    106                                 }else
     106                                } else {
    107107                                        $md5 = $liste_id_orig[$id];
     108                                }
    108109
    109110                                /**
     
    111112                                 * BDD / fichiers
    112113                                 */
    113                                 if (isset($md5) && ($id != 'zz_timestamp_nepastraduire')){
    114                                         sql_insertq('spip_tradlangs',array(
    115                                                 'id' => $id,
    116                                                 'id_tradlang_module' => $module['id_tradlang_module'],
    117                                                 'module' => $module["module"],
    118                                                 'str' => $chs[$id],
    119                                                 'lang' => $langue,
    120                                                 'orig' => $orig,
    121                                                 'md5' => $md5,
    122                                                 'statut' => $statut[$id]
    123                                         ));
     114                                if (isset($md5) && ($id != 'zz_timestamp_nepastraduire')) {
     115                                        sql_insertq(
     116                                                'spip_tradlangs',
     117                                                array(
     118                                                        'id' => $id,
     119                                                        'id_tradlang_module' => $module['id_tradlang_module'],
     120                                                        'module' => $module['module'],
     121                                                        'str' => $chs[$id],
     122                                                        'lang' => $langue,
     123                                                        'orig' => $orig,
     124                                                        'md5' => $md5,
     125                                                        'statut' => $statut[$id])
     126                                        );
    124127                                        $ajoutees++;
    125128                                }
    126                         }
    127                         else
    128                         // * chaine existante
    129                         if (isset($chs[$id]) AND isset($existant[$id])){
    130                                 spip_log('cas 2','tradlang');
     129                        } elseif (isset($chs[$id]) and isset($existant[$id])) {
     130                                // * chaine existante
     131                                spip_log('cas 2', 'tradlang');
    131132                                // * identique ? => NOOP
    132133                                $md5 = md5($chs[$id]);
    133                                 if ($md5 == $existant[$id])
     134                                if ($md5 == $existant[$id]) {
    134135                                        $inchangees++;
    135                                 // * modifiee ? => UPDATE
    136                                 else {
     136                                } else {
     137                                        // * modifiee ? => UPDATE
    137138                                        // modifier la chaine
    138139                                        $md5_new = $orig ? $md5 : $existant[$id];
    139                                         sql_updateq("spip_tradlangs",array(
     140                                        sql_updateq('spip_tradlangs', array(
    140141                                                'str' => $str,
    141142                                                'md5' => $md5_new,
    142143                                                'statut' => '',
    143                                                 ), "module=".sql_quote($nom_mod)." AND lang=".sql_quote($langue)." AND id=".sql_quote($id));
    144                                        
     144                                                ), 'module = ' . sql_quote($nom_mod).' AND lang = ' . sql_quote($langue) . ' AND id = '.sql_quote($id));
     145
    145146                                        // signaler le statut MODIF de ses traductions
    146                                         if ($orig)
    147                                                 sql_updateq("spip_tradlangs",array('statut'=>'MODIF'),"module=".sql_quote($nom_mod)." AND id=".sql_quote($id)." AND md5 !=".sql_quote($md5));
     147                                        if ($orig) {
     148                                                sql_updateq('spip_tradlangs', array('statut' => 'MODIF'), 'module = ' . sql_quote($nom_mod) . ' AND id = ' . sql_quote($id) . ' AND md5 != ' . sql_quote($md5));
     149                                        }
    148150                                        $modifiees++;
    149151                                }
    150                         }
    151                         else
    152                         // * chaine supprimee
    153                         if (!isset($chs[$id]) AND isset($existant[$id])){
    154                                 spip_log('cas 3','tradlang');
     152                        } else if (!isset($chs[$id]) and isset($existant[$id])) {
     153                                // * chaine supprimee
     154                                spip_log('cas 3', 'tradlang');
    155155                                // mettre au grenier
    156                                 sql_updateq("spip_tradlangs",array(
    157                                         'id' => $id,
    158                                         'statut' => 'attic'),"id=".sql_quote($id)." AND module=".sql_quote($nom_mod));
     156                                sql_updateq('spip_tradlangs', array('id' => $id, 'statut' => 'attic'), 'id = ' . sql_quote($id) . ' AND module = '.sql_quote($nom_mod));
    159157                                $supprimees++;
    160158                        }
    161159
    162                         if ($orig AND isset($chs[$id])){
    163                                 spip_log('cas 4','tradlang');
     160                        if ($orig and isset($chs[$id])) {
     161                                spip_log('cas 4', 'tradlang');
    164162                                $liste_id_orig[$id]=md5($chs[$id]);
    165163                        }
    166164                }
    167                
     165
    168166                /**
    169167                 * Si ce n'est pas la langue mère que l'on importe :
     
    171169                 * - On met le statut attic pour les chaines en trop dans les fichiers
    172170                 */
    173                 if($langue != $module['lang_mere']){
    174                         $tradlang_verifier_langue_base = charger_fonction('tradlang_verifier_langue_base','inc');
     171                if ($langue != $module['lang_mere']) {
     172                        $tradlang_verifier_langue_base = charger_fonction('tradlang_verifier_langue_base', 'inc');
    175173                        $tradlang_verifier_langue_base($nom_mod,$langue);
    176174                }
    177175                // si le fichier est inscriptible, on sauvegarde le
    178176                // fichier depuis la base afin de tagguer le timestamp
    179                 if ($fd = @fopen($nom_fichier, "a")){
     177                if ($fd = @fopen($nom_fichier, 'a')) {
    180178                        fclose($fd);
    181                         $sauvegarde = charger_fonction('tradlang_sauvegarde_module','inc');
     179                        $sauvegarde = charger_fonction('tradlang_sauvegarde_module', 'inc');
    182180                        $sauvegarde($module,$langue);
    183181                }
    184182                unset($GLOBALS[$GLOBALS['idx_lang']]);
    185                 $ret .= _T('tradlang:insertionlangueok')."<br />";
     183                $ret .= _T('tradlang:insertionlangueok') . '<br />';
    186184        }
    187185        return array($ret,true);
     
    189187
    190188/**
    191  * 
     189 *
    192190 * Liste les modules qui sont potentiellement traduisibles
    193  * 
     191 *
    194192 * @param string $name [optional] le name et id du select
    195193 * @param string $selected [optional] l'option à sélectionner par défaut
    196  * @return Array un Array avec en première clé 'select_string' qui est un 
     194 * @return Array un Array avec en première clé 'select_string' qui est un
    197195 * input select utilisable et en seconde un array complet des informations des
    198196 * fichiers de langue
    199197 */
    200 function tradlang_select_liste_rep_lang($name="repertoirelangue",$selected='',$new_only='false'){
     198function tradlang_select_liste_rep_lang($name = 'repertoirelangue', $selected = '', $new_only = false) {
    201199        $ret = '';
    202200        $tous_modules_en_base = array();
    203         if($new_only){
     201        if ($new_only) {
    204202                $tous_modules_en_base = array();
    205                 $tous_modules_base = sql_allfetsel('module','spip_tradlang_modules');
    206                 foreach($tous_modules_base as $module => $nom_module){
     203                $tous_modules_base = sql_allfetsel('module', 'spip_tradlang_modules');
     204                foreach ($tous_modules_base as $module => $nom_module) {
    207205                        $tous_modules_en_base[] = $nom_module['module'];
    208206                }
    209207        }
    210208        $tous_modules = array();
    211         $fichiers_lang = find_all_in_path('lang/','[a-z]?\_[a-z_]{2,7}\.php$');
     209        $fichiers_lang = find_all_in_path('lang/', '[a-z]?\_[a-z_]{2,7}\.php$');
    212210        ksort($fichiers_lang);
    213         if(count($fichiers_lang) > 0){
     211        if (count($fichiers_lang) > 0) {
    214212                $ret .= "<select name=\"$name\" id=\"$name\" class=\"text\">\n";
    215                 foreach($fichiers_lang as $fichier => $chemin){
     213                foreach ($fichiers_lang as $fichier => $chemin) {
    216214                        $sel = '';
    217                         if(preg_match('/^([a-z]*)_([a-z_]*)\.php$/i',$fichier,$module)){
    218                                 if(array_key_exists($module[2],$GLOBALS['codes_langues'])){
    219                                         if(!in_array($module[1],$tous_modules_en_base)){
    220                                                 if(test_espace_prive()){
    221                                                         if(strpos($chemin, _DIR_RACINE) !== false){
     215                        if (preg_match('/^([a-z]*)_([a-z_]*)\.php$/i', $fichier, $module)) {
     216                                if (array_key_exists($module[2], $GLOBALS['codes_langues'])) {
     217                                        if (!in_array($module[1], $tous_modules_en_base)) {
     218                                                if (test_espace_prive()) {
     219                                                        if (strpos($chemin, _DIR_RACINE) !== false) {
    222220                                                                $search = _DIR_RACINE;
    223                                                                 $chemin = str_replace($search,'',$chemin);
    224                                                         }else{
     221                                                                $chemin = str_replace($search, '', $chemin);
     222                                                        } else {
    225223                                                                $chemin = _DIR_RESTREINT_ABS.$chemin;
    226224                                                        }
    227225                                                }
    228                                                 if(!array_key_exists($module[1],$tous_modules)){
    229                                                         if($module[1] == $selected)
    230                                                                 $sel = "selected=\"selected\"";
    231                                                         $ret .= "<option value=\"".$module[1]."\"$sel>".$module[1]."</option>\n";
     226                                                if (!array_key_exists($module[1], $tous_modules)) {
     227                                                        if ($module[1] == $selected) {
     228                                                                $sel = 'selected="selected"';
     229                                                        }
     230                                                        $ret .= '<option value="' . $module[1] . "\"$sel>" . $module[1] . "</option>\n";
    232231                                                        $tous_modules[$module[1]]['repertoire'] = dirname($chemin);
    233232                                                        $tous_modules[$module[1]]['langues'] = $module[2];
    234                                                 }else
    235                                                         $tous_modules[$module[1]]['langues'] .= ",".$module[2];
     233                                                } else {
     234                                                        $tous_modules[$module[1]]['langues'] .= ','.$module[2];
     235                                                }
    236236                                                $tous_modules[$module[1]][$module[2]] = array('fichier' => basename($chemin));
    237237                                        }
    238                                 }
    239                                 else if(preg_match('/^([a-z]*_[a-z]*)_([a-z_]*)\.php$/i',$fichier,$module)){
    240                                         if(array_key_exists($module[2],$GLOBALS['codes_langues'])){
    241                                                 if(test_espace_prive()){
    242                                                         if(strpos($chemin, _DIR_RACINE) !== false){
     238                                } elseif (preg_match('/^([a-z]*_[a-z]*)_([a-z_]*)\.php$/i', $fichier, $module)) {
     239                                        if (array_key_exists($module[2], $GLOBALS['codes_langues'])) {
     240                                                if (test_espace_prive()) {
     241                                                        if (strpos($chemin, _DIR_RACINE) !== false) {
    243242                                                                $search = _DIR_RACINE;
    244                                                                 $chemin = str_replace($search,'',$chemin);
    245                                                         }else
     243                                                                $chemin = str_replace($search, '', $chemin);
     244                                                        } else {
    246245                                                                $chemin = _DIR_RESTREINT_ABS.$chemin;
     246                                                        }
    247247                                                }
    248                                                 if(!in_array($module[1],$tous_modules_en_base)){
    249                                                         if(!array_key_exists($module[1],$tous_modules)){
    250                                                                 if($module[1] == $selected)
    251                                                                         $sel = "selected=\"selected\"";
    252                                                                 $ret .= "<option value=\"".$module[1]."\"$sel>".$module[1]."</option>\n";
     248                                                if (!in_array($module[1], $tous_modules_en_base)) {
     249                                                        if (!array_key_exists($module[1], $tous_modules)) {
     250                                                                if ($module[1] == $selected) {
     251                                                                        $sel = 'selected="selected"';
     252                                                                }
     253                                                                $ret .= '<option value="' . $module[1] . "\"$sel>" . $module[1] . "</option>\n";
    253254                                                                $tous_modules[$module[1]]['repertoire'] = dirname($chemin);
    254255                                                                $tous_modules[$module[1]]['langues'] = $module[2];
    255                                                         }else
    256                                                                 $tous_modules[$module[1]]['langues'] .= ",".$module[2];
    257                                                        
     256                                                        } else {
     257                                                                $tous_modules[$module[1]]['langues'] .= ','.$module[2];
     258                                                        }
     259
    258260                                                        $tous_modules[$module[1]][$module[2]] = array('fichier' => basename($chemin));
    259261                                                }
     
    268270
    269271/**
    270  * 
     272 *
    271273 * Un select listant les langues disponibles pour un module
    272  * 
     274 *
    273275 * @param string $module Le module de langue
    274276 * @param string $name [optional] Le name et l'id du champs select
    275277 * @param string $selected [optional] La langue à sélectionner par défaut
    276  * @return 
     278 * @return
    277279 */
    278 function tradlang_select_langues_module($module, $name="langue_mere",$selected="",$option_vide=false){
     280function tradlang_select_langues_module($module, $name = 'langue_mere', $selected = '', $option_vide = false) {
    279281        $ret = '';
    280282        list($select,$tous_modules) = tradlang_select_liste_rep_lang();
    281283        $langues = $tous_modules[$module]['langues'];
    282         if(is_array($tous_modules[$module]) && (count(explode(',',$langues)) > 0)){
    283                 $langues = explode(',',$langues);
     284        if (is_array($tous_modules[$module]) and (count(explode(',', $langues)) > 0)) {
     285                $langues = explode(',', $langues);
    284286                $ret .= "<select class=\"text\" name=\"$name\" id=\"$name\">\n";
    285                 $ret .= $option_vide ? "<option value=\"\">--</option>" : "";
    286                 foreach($langues as $langue){
     287                $ret .= $option_vide ? '<option value="">--</option>' : '';
     288                foreach ($langues as $langue) {
    287289                        $ret .= "<option value=\"$langue\">".traduire_nom_langue($langue)."</option>\n";
    288290                }
     
    292294}
    293295
    294 function tradlang_verifier_acces_fichiers($module){
     296function tradlang_verifier_acces_fichiers($module) {
    295297        list($select,$tous_modules) = tradlang_select_liste_rep_lang();
    296298        $infos_modules = $tous_modules[$module];
    297        
    298         $langues = explode(',',$infos_modules['langues']);
     299
     300        $langues = explode(',', $infos_modules['langues']);
    299301        // test si fichier inscriptible
    300         foreach($langues as $lang){
    301                 $fichier = _DIR_RACINE.$infos_modules['repertoire']."/".$infos_modules[$lang]['fichier'];
    302                 if (!$fd = @fopen($fichier, "a"))
     302        foreach ($langues as $lang) {
     303                $fichier = _DIR_RACINE.$infos_modules['repertoire'].'/'.$infos_modules[$lang]['fichier'];
     304                if (!$fd = @fopen($fichier, 'a')) {
    303305                        $ficnok[] = $fichier;
    304                 else
     306                } else {
    305307                        fclose($fd);
     308                }
    306309        }
    307310        return $ficnok;
    308311}
    309 ?>
  • _plugins_/trad-lang/trunk/inc/tradlang_sauvegarde_module.php

    r93933 r97007  
    11<?php
    22/**
    3  * 
     3 *
    44 * Trad-lang v2
    55 * Plugin SPIP de traduction de fichiers de langue
    66 * © Florent Jugla, Fil, kent1
    7  * 
     7 *
    88 */
    99
     
    1414/**
    1515 * Sauvegarde d'une langue d'un module dans son fichier
    16  * 
    17  * @param string $module 
     16 *
     17 * @param string $module
    1818 *              Le nom d'un module d'un module (par défaut local/cache-lang/$module)
    19  * @param string $langue 
     19 * @param string $langue
    2020 *              La langue cible à exporter
    21  * @param string $dir_lang 
     21 * @param string $dir_lang
    2222 *              Le répertoire de stockage des fichiers de langue
    23  * @param bool $tout 
     23 * @param bool $tout
    2424 *              Si true, exporte toutes les chaines même non traduites (utilisé uniquement pour les modules SPIP)
    2525 * @return string $fichier
    2626 *              Le chemin complet du fichier de langue
    2727 */
    28 function inc_tradlang_sauvegarde_module_dist($module,$langue,$dir_lang=false,$type=false,$tout=true){
     28function inc_tradlang_sauvegarde_module_dist($module, $langue, $dir_lang = false, $type = false, $tout = true) {
    2929        include_spip('inc/flock');
    3030        include_spip('inc/filtres'); # Pour url_absolue
    31         if(!$dir_lang){
     31        if (!$dir_lang) {
    3232                $dir_lang = _DIR_VAR.'cache-lang/'.($tout ? '':'partiels/').$module;
    33                 if(!is_dir(_DIR_VAR.'cache-lang/'))
    34                         sous_repertoire(_DIR_VAR,'cache-lang');
    35                 if(!$tout && !is_dir(_DIR_VAR.'cache-lang/partiels/'))
    36                         sous_repertoire(_DIR_VAR.'cache-lang/','partiels');
     33                if (!is_dir(_DIR_VAR.'cache-lang/')) {
     34                        sous_repertoire(_DIR_VAR, 'cache-lang');
     35                }
     36                if (!$tout && !is_dir(_DIR_VAR.'cache-lang/partiels/')) {
     37                        sous_repertoire(_DIR_VAR.'cache-lang/', 'partiels');
     38                }
    3739        }
    38         if(!is_dir($dir_lang)){
     40        if (!is_dir($dir_lang)) {
    3941                sous_repertoire($dir_lang);
    40                 if(!is_dir($dir_lang))
     42                if (!is_dir($dir_lang)) {
    4143                        return false;
     44                }
    4245        }
    43         $tradlang_module = sql_fetsel('id_tradlang_module,type_export','spip_tradlang_modules','module='.sql_quote($module));
     46        $tradlang_module = sql_fetsel('id_tradlang_module,type_export', 'spip_tradlang_modules', 'module = ' . sql_quote($module));
    4447
    4548        /**
    4649         * L'URL du site de traduction
    4750         */
    48         $url_trad = parametre_url(url_absolue(generer_url_entite($tradlang_module['id_tradlang_module'],'tradlang_module')),'lang_cible',$langue);
     51        $url_trad = parametre_url(url_absolue(generer_url_entite($tradlang_module['id_tradlang_module'], 'tradlang_module')), 'lang_cible', $langue);
    4952
    50         if(!$type)
     53        if (!$type) {
    5154                $type = $tradlang_module['type_export'];
    52 
    53         if(!$f = charger_fonction($type,'export_lang'))
    54                 $f = charger_fonction('spip','export_lang');
     55        }
     56        if (!$f = charger_fonction($type, 'export_lang')) {
     57                $f = charger_fonction('spip', 'export_lang');
     58        }
    5559
    5660        $fichier = $f($module,$langue,$dir_lang,$tout);
     
    5862        return $fichier;
    5963}
    60 ?>
  • _plugins_/trad-lang/trunk/inc/tradlang_supprimer_module.php

    r93933 r97007  
    77/**
    88 * Fonction de suppression de module
    9  * 
     9 *
    1010 * @param int $id_tradlang_module
    1111 *      Identifiant numérique du module à supprimer
    1212 * @return bool
    1313 */
    14 function inc_tradlang_supprimer_module($id_tradlang_module){
    15         if(intval($id_tradlang_module) > 0){
     14function inc_tradlang_supprimer_module($id_tradlang_module) {
     15        if (intval($id_tradlang_module) > 0) {
    1616                /**
    1717                 * Le module existe-t-il ?
    1818                 */
    19                 $module = sql_getfetsel('id_tradlang_module','spip_tradlang_modules','id_tradlang_module='.intval($id_tradlang_module));
    20                 if($module){
     19                $module = sql_getfetsel('id_tradlang_module', 'spip_tradlang_modules', 'id_tradlang_module = ' . intval($id_tradlang_module));
     20                if ($module) {
    2121                        /**
    2222                         * Suppression des versions des chaines de langue
    2323                         */
    24                         $tradlangs = sql_allfetsel('id_tradlang','spip_tradlangs','id_tradlang_module='.intval($module));
     24                        $tradlangs = sql_allfetsel('id_tradlang', 'spip_tradlangs', 'id_tradlang_module=' . intval($module));
    2525                        $tradlangs_supprimer = array();
    26                         foreach($tradlangs as $tradlang){
     26                        foreach ($tradlangs as $tradlang) {
    2727                                $tradlangs_supprimer[] = $tradlang['id_tradlang'];
    2828                        }
    29                         if(count($tradlangs_supprimer)){
    30                                 sql_delete('spip_versions','objet="tradlang" AND '.sql_in('id_objet',$tradlangs_supprimer));
    31                                 sql_delete('spip_versions_fragments','objet="tradlang" AND '.sql_in('id_objet',$tradlangs_supprimer));
     29                        if (count($tradlangs_supprimer)) {
     30                                sql_delete('spip_versions', 'objet="tradlang" AND ' . sql_in('id_objet', $tradlangs_supprimer));
     31                                sql_delete('spip_versions_fragments', 'objet="tradlang" AND ' . sql_in('id_objet', $tradlangs_supprimer));
    3232                        }
    3333                        /**
    3434                         * Suppression des chaines de langue, du module et des bilans
    3535                         */
    36                         sql_delete('spip_tradlangs','id_tradlang_module='.intval($module));
    37                         sql_delete('spip_tradlang_modules','id_tradlang_module='.intval($module));
    38                         sql_delete('spip_tradlangs_bilans','id_tradlang_module='.intval($module));
     36                        sql_delete('spip_tradlangs', 'id_tradlang_module = ' . intval($module));
     37                        sql_delete('spip_tradlang_modules', 'id_tradlang_module = ' . intval($module));
     38                        sql_delete('spip_tradlangs_bilans', 'id_tradlang_module = ' . intval($module));
    3939                        /**
    4040                         * Suppression des versions du module
    4141                         */
    42                         sql_delete('spip_versions_fragments','objet="tradlang_module" AND id_objet='.intval($module));
    43                         sql_delete('spip_versions','objet="tradlang_module" AND id_objet='.intval($module));
     42                        sql_delete('spip_versions_fragments', 'objet="tradlang_module" AND id_objet=' . intval($module));
     43                        sql_delete('spip_versions', 'objet="tradlang_module" AND id_objet = ' . intval($module));
    4444                        return true;
    45                 }else
     45                } else {
    4646                        return false;
    47         }else
    48                 return false;
    49        
     47                }
     48        }
     49        return false;
    5050}
    51 ?>
  • _plugins_/trad-lang/trunk/inc/tradlang_verifier_bilans.php

    r93933 r97007  
    44 * Plugin SPIP de traduction de fichiers de langue
    55 * © Florent Jugla, Fil, kent1
    6  * 
     6 *
    77 * @package SPIP\Tradlang\
    88 */
    9  
     9
    1010if (!defined('_ECRIRE_INC_VERSION')) {
    1111        return;
     
    1414/**
    1515 * Fonction de vérification de la concordance des bilans de chaque langue d'un module
    16  * 
     16 *
    1717 * @param string $module
    1818 *              Le nom du module
     
    2020 *              La langue mère du module
    2121 */
    22 function inc_tradlang_verifier_bilans_dist($module,$langue_mere,$invalider=true){
     22function inc_tradlang_verifier_bilans_dist($module, $langue_mere, $invalider = true) {
    2323        /**
    2424         * Quelle est le total de la langue mère
    2525         */
    26         $total = sql_countsel('spip_tradlangs','module='.sql_quote($module).' AND lang='.sql_quote($langue_mere).' AND statut="OK"');
    27        
     26        $total = sql_countsel('spip_tradlangs', 'module = ' . sql_quote($module) . ' AND lang = ' . sql_quote($langue_mere) . ' AND statut="OK"');
     27
    2828        /**
    2929         * Les infos du module
    3030         */
    31         $id_tradlang_module = sql_getfetsel('id_tradlang_module','spip_tradlang_modules','module='.sql_quote($module));
     31        $id_tradlang_module = sql_getfetsel('id_tradlang_module', 'spip_tradlang_modules', 'module = ' . sql_quote($module));
     32
    3233        /**
    3334         * Les différentes langues du module
    3435         */
    35         $langues = sql_allfetsel('lang','spip_tradlangs','id_tradlang_module = '.intval($id_tradlang_module),'lang');
    36        
    37         $tradlang_verifier_langue_base = charger_fonction('tradlang_verifier_langue_base','inc');
     36        $langues = sql_allfetsel('lang', 'spip_tradlangs', 'id_tradlang_module = ' . intval($id_tradlang_module), 'lang');
     37
     38        $tradlang_verifier_langue_base = charger_fonction('tradlang_verifier_langue_base', 'inc');
    3839        /**
    3940         * Vérification de chaque langue
    4041         */
    41         foreach($langues as $langue){
     42        foreach ($langues as $langue) {
    4243                $bilan = false;
    43                 $chaines_ok = sql_countsel('spip_tradlangs','module='.sql_quote($module).' AND lang='.sql_quote($langue['lang']).' AND statut="OK"');
    44                 $chaines_relire = sql_countsel('spip_tradlangs','module='.sql_quote($module).' AND lang='.sql_quote($langue['lang']).' AND statut="RELIRE"');
    45                 $chaines_modif = sql_countsel('spip_tradlangs','module='.sql_quote($module).' AND lang='.sql_quote($langue['lang']).' AND statut="MODIF"');
    46                 $chaines_new = sql_countsel('spip_tradlangs','module='.sql_quote($module).' AND lang='.sql_quote($langue['lang']).' AND statut="NEW"');
     44                $chaines_ok = sql_countsel('spip_tradlangs', 'module = ' . sql_quote($module) . ' AND lang = ' . sql_quote($langue['lang']) . ' AND statut="OK"');
     45                $chaines_relire = sql_countsel('spip_tradlangs', 'module = ' . sql_quote($module) . ' AND lang = ' . sql_quote($langue['lang']) . ' AND statut="RELIRE"');
     46                $chaines_modif = sql_countsel('spip_tradlangs', 'module = ' . sql_quote($module) . ' AND lang = ' . sql_quote($langue['lang']) . ' AND statut="MODIF"');
     47                $chaines_new = sql_countsel('spip_tradlangs', 'module = ' . sql_quote($module).' AND lang = ' . sql_quote($langue['lang']) . ' AND statut="NEW"');
    4748                $total_lang = intval($chaines_ok) + intval($chaines_relire) + intval($chaines_modif) + intval($chaines_new);
    48                 if($total_lang != $total){
    49                         if($total_lang > $total)
    50                                 spip_log("La langue ".$langue['lang']." du mondule $module ($id_tradlang_module) a trop de chaines $total_lang > $total ($chaines_ok + $chaines_modif + $chaines_relire + $chaines_new)","bilan."._LOG_ERREUR);
    51                         if($total_lang < $total)
    52                                 spip_log("La langue ".$langue['lang']." du mondule $module n'a pas assez de chaines $total_lang < $total","bilan."._LOG_ERREUR);
     49                if ($total_lang != $total) {
     50                        if ($total_lang > $total) {
     51                                spip_log('La langue ' . $langue['lang'] . " du mondule $module ($id_tradlang_module) a trop de chaines $total_lang > $total ($chaines_ok + $chaines_modif + $chaines_relire + $chaines_new)", 'bilan.'._LOG_ERREUR);
     52                        }
     53                        if ($total_lang < $total) {
     54                                spip_log('La langue ' . $langue['lang'] . " du mondule $module n'a pas assez de chaines $total_lang < $total", 'bilan.'._LOG_ERREUR);
     55                        }
    5356                        $tradlang_verifier_langue_base($module,$langue['lang']);
    54                         $chaines_ok = sql_countsel('spip_tradlangs','id_tradlang_module='.intval($id_tradlang_module).' AND lang='.sql_quote($langue['lang']).' AND statut="OK"');
    55                         $chaines_relire = sql_countsel('spip_tradlangs','id_tradlang_module='.intval($id_tradlang_module).' AND lang='.sql_quote($langue['lang']).' AND statut="RELIRE"');
    56                         $chaines_modif = sql_countsel('spip_tradlangs','id_tradlang_module='.intval($id_tradlang_module).' AND lang='.sql_quote($langue['lang']).' AND statut="MODIF"');
    57                         $chaines_new = sql_countsel('spip_tradlangs','id_tradlang_module='.intval($id_tradlang_module).' AND lang='.sql_quote($langue['lang']).' AND statut="NEW"');
     57                        $chaines_ok = sql_countsel('spip_tradlangs', 'id_tradlang_module = ' . intval($id_tradlang_module) . ' AND lang=' . sql_quote($langue['lang']) . ' AND statut="OK"');
     58                        $chaines_relire = sql_countsel('spip_tradlangs', 'id_tradlang_module = ' . intval($id_tradlang_module) . ' AND lang=' . sql_quote($langue['lang']) . ' AND statut="RELIRE"');
     59                        $chaines_modif = sql_countsel('spip_tradlangs', 'id_tradlang_module = ' . intval($id_tradlang_module) . ' AND lang=' . sql_quote($langue['lang']) . ' AND statut="MODIF"');
     60                        $chaines_new = sql_countsel('spip_tradlangs', 'id_tradlang_module = ' . intval($id_tradlang_module) . ' AND lang=' . sql_quote($langue['lang']) . ' AND statut="NEW"');
    5861                }
    5962                $infos_bilan = array(
     
    6770                                                        'chaines_new' => $chaines_new
    6871                                                );
    69                 $bilan = sql_getfetsel('id_tradlang_module','spip_tradlangs_bilans','id_tradlang_module='.intval($id_tradlang_module).' AND lang='.sql_quote($langue['lang']));
    70                 if($bilan)
    71                         sql_updateq('spip_tradlangs_bilans',$infos_bilan,'lang='.sql_quote($langue['lang']).' AND module='.sql_quote($module));
    72                 else
    73                         sql_insertq('spip_tradlangs_bilans',$infos_bilan);
     72                $bilan = sql_getfetsel('id_tradlang_module', 'spip_tradlangs_bilans', 'id_tradlang_module = ' . intval($id_tradlang_module) . ' AND lang=' . sql_quote($langue['lang']));
     73                if ($bilan) {
     74                        sql_updateq('spip_tradlangs_bilans', $infos_bilan, 'lang = ' . sql_quote($langue['lang']) . ' AND module = ' . sql_quote($module));
     75                } else {
     76                        sql_insertq('spip_tradlangs_bilans', $infos_bilan);
     77                }
    7478        }
    75         if($invalider){
     79        if ($invalider) {
    7680                include_spip('inc/invalideur');
    7781                suivre_invalideur('1');
    7882        }
    7983}
    80 ?>
  • _plugins_/trad-lang/trunk/inc/tradlang_verifier_langue_base.php

    r93933 r97007  
    44 * Plugin SPIP de traduction de fichiers de langue
    55 * © Florent Jugla, Fil, kent1
    6  * 
     6 *
    77 */
    8  
     8
    99if (!defined('_ECRIRE_INC_VERSION')) {
    1010        return;
     
    1313/**
    1414 * Fonction de vérification de la concordance d'une langue x par rapport à la langue mère
    15  * 
     15 *
    1616 * @param string $module
    1717 *              Le nom du module
    1818 * @param string $langue
    19  *              La langue à comparer 
     19 *              La langue à comparer
    2020 */
    21 function inc_tradlang_verifier_langue_base_dist($module,$langue){
     21function inc_tradlang_verifier_langue_base_dist($module, $langue) {
    2222        /**
    2323         * Quelle est la langue mère
    2424         */
    25         $langue_mere = sql_getfetsel('lang_mere','spip_tradlang_modules','module='.sql_quote($module));
    26        
     25        $langue_mere = sql_getfetsel('lang_mere', 'spip_tradlang_modules', 'module = ' . sql_quote($module));
     26
    2727        $trad_langue_mere_id = $trad_langue_cible_id = $trad_langue_cible_id_attic = array();
    28        
     28
    2929        /**
    30          * On crée trois tableaux: 
    31          * -* l'ensemble des id de la langue mère non supprimés 
     30         * On crée trois tableaux:
     31         * -* l'ensemble des id de la langue mère non supprimés
    3232         * -* l'ensemble des id de la langue cible non supprimés
    3333         * -* l'ensemble des id de la langue cible qui ont été supprimés par le passé (dans le cas où l'on doit en récupérer)
    3434         */
    35         $trad_langue_meres = sql_allfetsel('id','spip_tradlangs','module='.sql_quote($module).' AND lang='.sql_quote($langue_mere).' AND statut !="attic"','','id');
    36         foreach($trad_langue_meres as $trad_langue_mere){
     35        $trad_langue_meres = sql_allfetsel('id', 'spip_tradlangs', 'module = ' . sql_quote($module) . ' AND lang = ' . sql_quote($langue_mere) . ' AND statut !="attic"', '', 'id');
     36        foreach ($trad_langue_meres as $trad_langue_mere) {
    3737                $trad_langue_mere_id[] = $trad_langue_mere['id'];
    3838        }
    39         $trad_langue_cibles  = sql_allfetsel('id','spip_tradlangs','module='.sql_quote($module).' AND lang='.sql_quote($langue).' AND statut !="attic"','','id');
    40         foreach($trad_langue_cibles as $trad_langue_cible){
    41                 $trad_langue_cible_id[] = $trad_langue_cible['id']; 
     39        $trad_langue_cibles  = sql_allfetsel('id', 'spip_tradlangs', 'module = ' . sql_quote($module) . ' AND lang = ' . sql_quote($langue).' AND statut !="attic"', '', 'id');
     40        foreach ($trad_langue_cibles as $trad_langue_cible) {
     41                $trad_langue_cible_id[] = $trad_langue_cible['id'];
    4242        }
    43        
    44         $trad_langue_cibles_attic  = sql_allfetsel('id','spip_tradlangs','module='.sql_quote($module).' AND lang='.sql_quote($langue).' AND statut ="attic"','','id');
    45         foreach($trad_langue_cibles_attic as $trad_langue_cible_attic){
    46                 $trad_langue_cible_id_attic[] = $trad_langue_cible_attic['id']; 
     43
     44        $trad_langue_cibles_attic  = sql_allfetsel('id', 'spip_tradlangs', 'module=' . sql_quote($module) . ' AND lang = ' . sql_quote($langue) . ' AND statut ="attic"', '', 'id');
     45        foreach ($trad_langue_cibles_attic as $trad_langue_cible_attic) {
     46                $trad_langue_cible_id_attic[] = $trad_langue_cible_attic['id'];
    4747        }
    4848
     
    5252         * $diff1 est l'ensemble des chaines manquantes dans la langue cible
    5353         * et donc à insérer
    54          * 
     54         *
    5555         * On met dans un tableau les chaines en question si on a au moins un résultat
    5656         */
    5757        $diff1 = array_diff($trad_langue_mere_id, $trad_langue_cible_id);
    58         if(count($diff1) > 0)
    59                 $diff1_array = sql_allfetsel('*','spip_tradlangs','module='.sql_quote($module).' AND lang='.sql_quote($langue_mere).' AND '.sql_in('id',$diff1));
    60        
     58        if (count($diff1) > 0) {
     59                $diff1_array = sql_allfetsel('*', 'spip_tradlangs', 'module = ' . sql_quote($module) . ' AND lang = ' . sql_quote($langue_mere) . ' AND ' . sql_in('id', $diff1));
     60        }
     61
    6162        /**
    6263         * $diff2 est l'ensemble des chaines en trop dans la langue fille
    6364         * et donc à supprimer
    6465         */
    65         $diff2 = array_diff($trad_langue_cible_id,$trad_langue_mere_id);
     66        $diff2 = array_diff($trad_langue_cible_id, $trad_langue_mere_id);
    6667
    6768        /**
    6869         * Si on a des éléments dans les diffs, on applique les modifications
    6970         */
    70         if((count($diff1)>0) OR (count($diff2)>0)){
    71                 if(isset($diff1_array) && is_array($diff1_array)){
    72                         foreach($diff1_array as $key => $array){
     71        if ((count($diff1) > 0) or (count($diff2) > 0)) {
     72                if (isset($diff1_array) and is_array($diff1_array)) {
     73                        foreach ($diff1_array as $key => $array) {
    7374                                /**
    7475                                 * La chaine était préalablement supprimée
     
    7677                                 * On la récupère donc en lui donnant le statut "MODIF"
    7778                                 */
    78                                 if(in_array($array['id'],$trad_langue_cible_id_attic)){
     79                                if (in_array($array['id'], $trad_langue_cible_id_attic)) {
    7980                                        $titre = $array['id'].' : '.$array['module'].' - '.$langue;
    80                                         sql_updateq('spip_tradlangs',array('statut'=>'MODIF','titre' => $titre),'id='.sql_quote($array['id']).' AND lang='.sql_quote($langue).' AND statut="attic"');
     81                                        sql_updateq('spip_tradlangs', array('statut' => 'MODIF', 'titre' => $titre), 'id = ' . sql_quote($array['id']).' AND lang='.sql_quote($langue).' AND statut="attic"');
    8182                                        //spip_log('Recuperation de l\'id '.$array['id'].' de la langue "'.$langue.'" qui était dans l\'attic','tradlang.'._LOG_ERREUR);
    8283                                        $recuperees++;
    83                                 }else{
     84                                } else {
    8485                                        $array['orig'] = 0;
    8586                                        $array['lang'] = $langue;
     
    8990                                        unset($array['id_tradlang']);
    9091                                        unset($array['traducteur']);
    91                                         $id_tradlang = sql_insertq('spip_tradlangs',$array);
     92                                        $id_tradlang = sql_insertq('spip_tradlangs', $array);
    9293                                        $inserees++;
    9394                                }
     
    9899                 * On incrémente le nombre de chaînes supprimées
    99100                 */
    100                 if(count($diff2) > 0){
    101                         foreach($diff2 as $key => $id){
    102                                 sql_updateq('spip_tradlangs',array('statut' => 'attic'),'id='.sql_quote($id).' AND lang='.sql_quote($langue).' AND module='.sql_quote($module));
     101                if (count($diff2) > 0) {
     102                        foreach ($diff2 as $key => $id) {
     103                                sql_updateq('spip_tradlangs', array('statut' => 'attic'), 'id = ' . sql_quote($id).' AND lang = ' . sql_quote($langue).' AND module = '.sql_quote($module));
    103104                                $supprimees++;
    104105                        }
    105106                }
    106         }else
     107        } else {
    107108                return array('0','0','0');
     109        }
    108110
    109111        include_spip('inc/invalideur');
    110112        suivre_invalideur('1');
    111         spip_log("insert => $inserees - suppressions => $supprimees - recuperations => $recuperees","bilan."._LOG_ERREUR);
     113        spip_log("insert => $inserees - suppressions => $supprimees - recuperations => $recuperees", 'bilan.'._LOG_ERREUR);
    112114        return array($inserees,$supprimees,$recuperees);
    113115}
    114 ?>
Note: See TracChangeset for help on using the changeset viewer.