Changeset 82033 in spip-zone


Ignore:
Timestamp:
Apr 21, 2014, 12:06:16 PM (7 years ago)
Author:
kent1@…
Message:

utiliser sql_allfetsel + foreach au lieur de sql_select + while + sql_fetch

Petites améliorations

File:
1 edited

Legend:

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

    r75953 r82033  
    2525         * Sélection de tous les modules de langue
    2626         */
    27         $res = sql_select("*","spip_tradlang_modules");
    28         if ($res){
    29                 while($row=sql_fetch($res)){
     27        $res = sql_allfetsel("module,id_tradlang_module","spip_tradlang_modules");
     28        if (is_array($res)){
     29                foreach($res as $row){
    3030                        $module = $row["module"];
    3131                        $ret[$module] = $row;
     
    3535                         * fichiers de langue
    3636                         */
    37                         $res2 = sql_select("DISTINCT lang","spip_tradlangs","module='$module'");
    38                         while($row2=sql_fetch($res2)){
     37                        $res2 = sql_allfetsel("DISTINCT lang","spip_tradlangs","id_tradlang_module=".intval($row['id_tradlang_module']));
     38                        foreach($res2 as $row2){
    3939                                $lg = $row2["lang"];
    4040                                $ret[$module]["langue_".$lg] = $row["lang_prefix"]."_".$lg.".php";
     
    104104        else
    105105                $squelettes = $dossier_squelettes ? $dossier_squelettes : 'squelettes';
    106        
     106
    107107        if(!is_dir($dir_lang=_DIR_RACINE.$squelettes.'/lang'))
    108108                return false;
    109        
     109
    110110        return $dir_lang;
    111111}
     
    134134function boucle_TRADLANG_MODULES_dist($id_boucle, &$boucles) {
    135135        $boucle = &$boucles[$id_boucle];
    136         $id_table = $boucle->id_table;
    137136       
    138137        /**
     
    141140        if (!isset($boucle->modificateur['par'])
    142141                && !isset($boucle->modificateur['tri'])) {
     142                        $id_table = $boucle->id_table;
    143143                        $boucle->order[] = "'$id_table." ."priorite'";
    144144                        $boucle->order[] = "'$id_table." ."nom_mod'";
     
    152152function boucle_TRADLANGS_dist($id_boucle, &$boucles) {
    153153        $boucle = &$boucles[$id_boucle];
    154         $id_table = $boucle->id_table;
    155         if(isset($boucle->nom) && ($boucle->nom == 'calculer_langues_utilisees') && $boucle->id_boucle == 'tradlang')
     154        if(isset($boucle->nom) && ($boucle->nom == 'calculer_langues_utilisees') && $boucle->id_boucle == 'tradlang'){
     155                $id_table = $boucle->id_table;
    156156                array_unshift($boucle->where,array("'='", "'$id_table." ."id_tradlang'", "'0'"));
     157        }
    157158        return calculer_boucle($id_boucle, $boucles);
    158159}
     
    170171function critere_langues_preferees_dist($idb,&$boucles,$crit){
    171172        $boucle = &$boucles[$idb];
    172     $id_table = $boucle->id_table;
     173        $id_table = $boucle->id_table;
    173174        $not = ($crit->not ? '' : 'NOT');
    174175        $primary = 'lang';
     
    230231
    231232                array_unshift($boucle->where,array("'='", "'$id_table." ."statut'", "'\"OK\"'"));
    232         $boucles[$id_boucle]->group[] = "$id_table.lang";
    233         $boucles[$id_boucle]->having[] = "\n\t\t".'$module_having';
    234     }else
     233                $boucles[$id_boucle]->group[] = "$id_table.lang";
     234                $boucles[$id_boucle]->having[] = "\n\t\t".'$module_having';
     235        }else
    235236                return (array('zbug_critere_inconnu', array('table' => $crit->op.' ?')));
    236237}
     
    247248function inc_prepare_module_langue_complete_dist($id_module,  $serveur='') {
    248249        /**
    249          * On récupère les informations du module nécessaires "module" et "lang_mere"
    250          */
    251         $module = sql_fetsel('module,lang_mere','spip_tradlang_modules','id_tradlang_module='.intval($id_module));
     250         * On récupère la langue mère du module
     251         */
     252        $langue_mere = sql_getfetsel('lang_mere','spip_tradlang_modules','id_tradlang_module='.intval($id_module));
    252253        /**
    253254         * 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
    254255         */
    255         $count = sql_countsel('spip_tradlangs','id_tradlang_module='.$id_module.' AND statut="OK" AND lang='.sql_quote($module['lang_mere']).' AND module='.sql_quote($module['module']));
     256        $count = sql_countsel('spip_tradlangs','id_tradlang_module='.$id_module.' AND statut="OK" AND lang='.sql_quote($langue_mere));
    256257        /**
    257258         * On crée ainsi la clause $having qui sera utilisée dans la boucle
     
    293294        if(key_exists($lang,$langues))
    294295                return true;
    295        
     296
    296297        return false;
    297298}
Note: See TracChangeset for help on using the changeset viewer.