Changeset 45705 in spip-zone


Ignore:
Timestamp:
Mar 21, 2011, 10:34:35 PM (9 years ago)
Author:
fil@…
Message:

l'ecriveur ecrit un rapport xml

File:
1 edited

Legend:

Unmodified
Added
Removed
  • _dev_/salvatore/ecriveur.php

    r44515 r45705  
    1818    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    1919
    20     Copyright 2003-2008
     20    Copyright 2003-2011
    2121        Florent Jugla <florent.jugla@eledo.com>,
    2222        Philippe Riviere <fil@rezo.net>
    2323        Chryjs <chryjs!@!free!.!fr>,
    2424*/
    25 
    2625
    2726require_once('inc_tradlang.php');
     
    3029
    3130include_spip('base/abstract_sql');
     31include_spip('inc/filtres');
    3232
    3333
     
    5454function export_trad_module($source) {
    5555        global $tmp;
    56         $res=spip_query("SELECT lang FROM trad_lang WHERE module='".$source[1]."' GROUP BY lang");
     56        $res=spip_query("SELECT DISTINCT(lang) FROM trad_lang WHERE module='".$source[1]."'");
    5757        $liste_lang=array();
    5858        while ($row=spip_fetch_array($res)) {
     
    7070                $lorigine[$row['id']] = $row;
    7171        }
    72                                
    7372
    7473        // traiter chaque langue
     74        $traducteurs = array();
    7575        foreach($liste_lang as $lang) {
    7676                trad_log(" genere la langue $lang\n");
     
    9595                                $traduits ++;
    9696                        if (strlen($row['status']))
    97 #                               $row['str'] = '<'.$row['status'].'>'.$row['str'];
    9897                                $row['comm'] .= ' '.$row['status'];
    9998                        if (trim($row['comm'])) $row['comm']=" # ".trim($row['comm']); // on rajoute les commentaires ?
    100                         $x[]="$tab".var_export($row['id'],1).' => ' .var_export($row['str'],1).','.$row['comm'] ;
     99
     100                        $str = $row['str'];
     101
     102                        $x[]="$tab".var_export($row['id'],1).' => ' .var_export($str,1).','.$row['comm'] ;
    101103                }
    102104                $orig = ($lang == $source[2]) ? $source[0] : false;
     
    116118                        $x[count($x)-1] = preg_replace('/,([^,]*)$/', '\1', $x[count($x)-1]);
    117119
     120                        $contenu = join("\n",$x);
     121
    118122                        # ecrire le fichier
    119123                        fwrite($fd,
     
    130134."\n".$secure.'$GLOBALS[$GLOBALS[\'idx_lang\']] = array(
    131135'
    132         . join("\n",$x)
     136        . $contenu
    133137        .'
    134138);
     
    138142                        );
    139143                        fclose($fd);
     144
     145                        // noter la langue et les traducteurs pour lang/module.xml
     146                        $traducteurs[$lang] = array();
     147                        $s = spip_query('SELECT DISTINCT(traducteur) FROM trad_lang WHERE module='._q($source[1])." and lang="._q($lang));
     148                        while ($t = sql_fetch($s))
     149                                $traducteurs[$lang][] = $t['traducteur'];
    140150                }
    141151        }
     152
     153
     154        // ecrire lang/module.xml
     155        $xml = "<traduction module=\"$source[1]\" gestionnaire=\"salvatore\" reference=\"$source[2]\">\n";
     156        unset($traducteurs[$source[2]]);
     157        foreach($traducteurs as $lang => $people) {
     158                $people = array_filter($people);
     159                if ($people) {
     160                        $xml .= "       <langue code=\"$lang\">\n";
     161                        foreach ($people as $nom) {
     162                                $xml .= "               <traducteur nom=\"".entites_html($nom)."\" />\n";
     163                        }
     164                        $xml .= "       </langue>\n";
     165                } else
     166                        $xml .= "       <langue code=\"$lang\" />\n";
     167        }
     168        $xml .= "</traduction>\n";
     169
     170        ecrire_fichier($tmp.$source[1]."/".$source[1].'.xml', $xml);
    142171
    143172} //export_trad_module
Note: See TracChangeset for help on using the changeset viewer.