Changeset 82034 in spip-zone


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

Exporter en CSV

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

Petites améliorations

Location:
_plugins_/trad-lang/trunk
Files:
1 added
3 edited

Legend:

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

    r75331 r82034  
    4242                                        header('Content-Type: application/x-gettext;');
    4343                                break;
     44                                case 'csv';
     45                                        header('Content-type: text/csv');
    4446                                default:
    4547                                        header('Content-Type: application/x-httpd-php;');
  • _plugins_/trad-lang/trunk/export_lang/po.php

    r70913 r82034  
    3939         * Les informations du module
    4040         */     
    41         $info_module = sql_fetsel('*','spip_tradlang_modules','module='.sql_quote($module));
     41        $info_module = sql_fetsel('id_tradlang_module,lang_mere,nom_mod','spip_tradlang_modules','module='.sql_quote($module));
     42       
    4243        $url_trad = url_absolue(parametre_url(generer_url_entite($info_module['id_tradlang_module'],'tradlang_module'),'lang_cible',$langue));
    4344       
     
    5051        $last_auteur = array();
    5152        if($langue != $info_module['lang_mere']){
    52                 $traducteur = sql_fetsel('id_tradlang,traducteur','spip_tradlangs',"module=".sql_quote($module)." AND lang=".sql_quote($langue),"",'maj DESC','0,1');
     53                $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');
    5354                if(is_numeric($traducteur['traducteur']))
    5455                        $id_auteur = $traducteur['traducteur'];
    5556                else
    56                         $id_auteur = sql_select('id_auteur','spip_versions','objet="tradlang" AND id_objet='.intval($traducteur['id_tradlang']),"",'id_version DESC','0,1');
    57                
     57                        $id_auteur = sql_getfetsel('id_auteur','spip_versions','objet="tradlang" AND id_objet='.intval($traducteur['id_tradlang']),"",'id_version DESC','0,1');
     58
    5859                $last_auteur = sql_fetsel('nom,email','spip_auteurs','id_auteur='.intval($id_auteur));
    5960               
    6061                $traducteurs[$lang] = array();
    6162                $people_unique = array();
    62                 $liste_traducteurs = sql_select('DISTINCT(traducteur)','spip_tradlangs','module='.sql_quote($module)." and lang=".sql_quote($langue));
     63                $liste_traducteurs = sql_select('DISTINCT(traducteur)','spip_tradlangs','id_tradlang_module='.intval($info_module['id_tradlang_module'])." and lang=".sql_quote($langue));
    6364                while ($t = sql_fetch($liste_traducteurs)){
    6465                        $traducteurs_lang = explode(',',$t['traducteur']);
     
    124125         * msgstr "Item dans la langue actuelle (traduit), si non traduit, vide"
    125126         */
    126         $res=sql_select("id,str,comm,statut","spip_tradlangs","module=".sql_quote($module)." AND lang=".sql_quote($langue),"id");
    127         while ($row=sql_fetch($res)) {
     127        $res=sql_allfetsel("*","spip_tradlangs","id_tradlang_module=".intval($info_module['id_tradlang_module'])." AND lang=".sql_quote($langue)." AND statut != 'attic'","id");
     128        foreach($res as $row){
    128129                $tous[$row['id']] = $row;
    129130        }
    130131        ksort($tous);
    131132       
    132         foreach ($tous as $row) {
     133        foreach ($tous as $id => $row) {
    133134                if (trim($row['comm'])) $row['comm']=" # ".trim($row['comm']); // on rajoute les commentaires ?
    134135
     
    143144                $newmd5 = md5($str);
    144145
    145                 if ($oldmd5 !== $newmd5) sql_updateq("spip_tradlangs",array('md5'=>$newmd5), "md5=".sql_quote($oldmd5)." AND module=".sql_quote($module));
    146                 $str_original = sql_getfetsel('str','spip_tradlangs','id ='.sql_quote($row['id']).' AND module='.sql_quote($module).' AND lang='.sql_quote($info_module['lang_mere']));
    147 
     146                if ($oldmd5 !== $newmd5) sql_updateq("spip_tradlangs",array('md5'=>$newmd5), "md5=".sql_quote($oldmd5)." AND id_tradlang_module=".intval($info_module['id_tradlang_module']));
     147                $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']));
    148148                $x[]=($row['comm'] ? "#".$row['comm']."\n" : "").
    149149"
     
    152152msgid \"".str_replace('"','\"',$str_original)."\"
    153153msgstr \"".(($row['statut'] == 'NEW') ? '' : str_replace('"','\"',$str))."\"";
     154                unset($tous[$id]);
    154155        }
    155156
  • _plugins_/trad-lang/trunk/export_lang/spip.php

    r75329 r82034  
    3636        if(!$tout)
    3737                $where .= " AND statut IN ('OK','MODIF')";
    38         $res=sql_select("id,str,comm,statut","spip_tradlangs",$where,"id");
     38        $res=sql_allfetsel("id,str,comm,statut","spip_tradlangs",$where,"id");
    3939        $x=array();
    4040        $prev="";
    4141        $tous = $lorigine; // on part de l'origine comme ca on a tout meme si c'est pas dans la base de donnees (import de salvatore/lecteur.php)
    42         while ($row=sql_fetch($res)) {
     42        foreach ($res as $row){
    4343                $tous[$row['id']] = $row;
    4444        }
Note: See TracChangeset for help on using the changeset viewer.