Ignore:
Timestamp:
Jul 4, 2009, 3:22:44 PM (11 years ago)
Author:
kent1@…
Message:

Gros update du plugin CSVImport avec au menu :

  • Version pour SPIP 2.0.X uniquement
  • Adaptation graphique le plus proche du reste de SPIP 2
  • Préparation pour le multilinguisme
  • La partie lecture des CSV est délaissée à SPIP-BONUX pour éviter de faire doublon (et donc on nécessite spip-bonux)

Tout test et retour de bug est le bienvenue comme toute traduction. Il serait peut être judicieux que ce plugin soit plus verbeux (explications à droite à gauche)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/csv_import/exec/csvimport_admin.php

    r7358 r29644  
    11<?php
    22/*
    3  * csvimport
    4  * plug-in d'import csv dans les tables spip
     3 * CSVimport
     4 * Plug-in d'import csv dans les tables spip et d'export CSV des tables
    55 *
    66 * Auteur :
    77 * Cedric MORIN
    88 * notre-ville.net
    9  * © 2005,2006 - Distribue sous licence GNU/GPL
     9 * © 2005,2009 - Distribue sous licence GNU/GPL
    1010 *
    1111 */
     
    3636                                        'field'=>isset($field[$table])?$field[$table]:array(),
    3737                                        'dyn_declare_aux'=>(!isset($tables_principales[$table])&&!isset($tables_auxiliaires[$table]))
    38                                         );
     38                                );
    3939                        }
    4040                }
     
    4646function ligne_table_import($table,$desc){
    4747        static $csvimport_tables_auth=NULL;
    48         $liste_statuts = array('0minirezo'=>_T('item_administrateur_2'), '1comite'=>_T('intem_redacteur'));
    49         $liste_operations = array('add' => _L('Ajouter des donn&eacute;es'),'replaceall' =>_L('Tout remplacer'),'export' =>_L('Exporter'));
     48        $liste_statuts = array('0minirezo'=>_T('item_choix_administrateurs'), '1comite'=>_T('item_choix_redacteurs'));
     49        $liste_operations = array('add' => _T('csvimport:ajouter_donnees'),'replaceall' =>_T('csvimport:tout_remplacer'),'export' =>_T('csvimport:exporter'));
    5050
    5151        if ($csvimport_tables_auth==NULL)
     
    7575        $s .= " /> <label for='exportable_$table'>";
    7676        $s .= $table;
    77         $s .= "</label>";
     77        $s .= "</label>\n";
    7878        $vals[] = $s;
    7979
    8080        // Libelle explicite
    81         $s = "<input type='text' name='titre[$table]' id='titre_$table' class='formo' value='".entites_html($titre)."' size='30' />";
     81        $s = "<input type='text' name='titre[$table]' id='titre_$table' class='texte' value='".entites_html($titre)."' />";
    8282        //$vals[] = $s;
    8383        $s .= "<br />";
     
    8686        //$s = "";
    8787        foreach($liste_statuts as $stat=>$lib){
    88                 $s .= "<input type='checkbox' name='statut[$table][]' value='$stat' id='statut_$table_$stat'";
     88                $s .= "<input type='checkbox' name='statut[$table][]' value='$stat' id='statut_".$table."_".$stat."'";
    8989                $s .= (in_array($stat,$statuts))?" checked='checked'":"";
    90                 $s .= " />&nbsp;<label for='statut_$table_$stat'>";
     90                $s .= " />&nbsp;<label for='statut_".$table."_".$stat."'>";
    9191                $s .= str_replace(" ","&nbsp;",$lib);
    92                 $s .= "</label> ";
     92                $s .= "</label>\n\n";
    9393                //$s .= "<br />";
    9494        }
    95         $s .= "<hr />";
     95        $s .= "<hr />\n\n";
    9696        //$vals[] = $s;
    9797
     
    100100        //$s = "";
    101101        foreach($liste_operations as $op=>$lib){
    102                 $s .= "<input type='checkbox' name='operation[$table][]' value='$op' id='statut_$table_$op'";
     102                $s .= "<input type='checkbox' name='operation[$table][]' value='$op' id='statut_".$table."_".$op."'";
    103103                $s .= (in_array($op,$operations))?" checked='checked'":"";
    104                 $s .= " />&nbsp;<label for='statut_$table_$op'>";
     104                $s .= " />&nbsp;<label for='statut_".$table."_".$op."'>";
    105105                $s .= str_replace(" ","&nbsp;",$lib);
    106                 $s .= "</label> ";
     106                $s .= "</label>\n\n";
    107107                //$s .= "<br />";
    108108        }
    109         $s .= "<hr />";
     109        $s .= "<hr />\n\n";
    110110        //$vals[] = $s;
    111111       
     
    118118                        $s .= "<tr>";
    119119                $s.="<td>";
    120                 $s .= "<input type='checkbox' name='field[$table][]' value='$field' id='statut_$table_$field'";
     120                $s .= "<input type='checkbox' name='field[$table][]' value='$field' id='statut_".$table."_".$field."'";
    121121                $s .= (in_array($field,$fields))?" checked='checked'":"";
    122                 $s .= " />&nbsp;<label for='statut_$table_$field'>";
     122                $s .= " />&nbsp;<label for='statut_".$table."_".$field."'>";
    123123                $s .= $field;
    124124                $s .= "</label>";
    125                 $s.="</td>";
     125                $s.="</td>\n\n";
    126126                $col++;
    127                 if ($col==4){
    128                         $s .= "</tr>";
     127                if ($col==3){
     128                        $s .= "</tr>\n\n";
    129129                        $col = 0;
    130130                }
     
    132132        }
    133133        if ($col!=0)
    134                 $s .= "</tr>";
     134                $s .= "</tr>\n\n";
    135135        $s.= "</table>";
    136136        $vals[] = $s;
    137        
    138137
    139138        return $vals;
     
    141140
    142141function exec_csvimport_admin(){
    143         global $connect_statut;
    144         global $tables_jointures;       
     142        global $tables_jointures;
     143        global $tables_principales;
     144        global $tables_auxiliaires;
     145        global $table_des_tables;       
    145146        global $table_prefix;
    146         global $spip_lang_right;
    147147        $tables_defendues = array('ajax_fonc','meta','ortho_cache','ortho_dico','caches','test');
    148148       
     149        if (!autoriser('configurer')) {
     150                include_spip('inc/minipres');
     151                minipres();
     152                exit;
     153        }
     154       
    149155        //
    150156        // Afficher une liste de tables importables
    151157        //
    152        
    153         debut_page(_L("Import CSV"), "csvimport", "csvimport");
    154         debut_gauche();
    155        
    156         debut_droite();
    157 
    158         if ($connect_statut != '0minirezo') {
    159                 echo "<strong>"._T('avis_acces_interdit')."</strong>";
    160                 fin_page();
    161                 exit;
    162         }
     158        $commencer_page = charger_fonction('commencer_page','inc');
     159        echo $commencer_page(_T("csvimport:import_csv"), "csvimport");
     160        echo debut_gauche('',true);
     161       
     162        $raccourcis = icone_horizontale(_T('csvimport:import_export_tables'), generer_url_ecrire("csvimport_tous"), "../"._DIR_PLUGIN_CSVIMPORT."img_pack/csvimport-24.png", "", false);
     163        echo bloc_des_raccourcis($raccourcis);
     164       
     165        echo debut_droite('',true);
    163166       
    164167        csvimport_admin_action();
     
    170173                $retour = generer_url_ecrire('csvimport_tous');
    171174        $icone = "../"._DIR_PLUGIN_CSVIMPORT."img_pack/csvimport-24.png";
    172                
     175       
     176        $titre = _T('csvimport:administrer_tables');
    173177        //
    174178        // Icones retour
    175179        //
    176         if ($retour) {
    177                 echo "<br />\n";
    178                 echo "<div align='$spip_lang_right'>";
    179                 icone(_T('icone_retour'), $retour, $icone, "rien.gif");
    180                 echo "</div>\n";
    181         }
    182 
    183         include_spip('base/serial');
    184         include_spip('base/auxiliaires');
    185         global $tables_principales;
    186         global $tables_auxiliaires;
    187         global $table_des_tables;
    188         global $tables_jointures;
     180        $milieu = '';
     181        $milieu .= "<div class='entete-formulaire'>";
     182        $milieu .= icone_inline(_T('icone_retour'), $retour, $icone, "rien.gif",$GLOBALS['spip_lang_left']);
     183        $milieu .= gros_titre($titre,'', false);
     184        $milieu .= "</div>";
     185
     186
    189187        // on construit un index des tables de liens
    190188        // pour les ajouter SI les deux tables qu'ils connectent sont sauvegardees
     
    208206                }
    209207       
    210         $res = spip_query("SHOW TABLES");
     208        $res = sql_showbase();
    211209        $liste_des_tables_spip=array();
    212210        $liste_des_tables_autres=array();
     
    226224        }
    227225       
    228         echo "<div class='liste'>";
    229         echo bandeau_titre_boite2(_L("Tables pr&eacute;sentes dans la base"), $icone, $couleur_claire, "black",false);
    230         echo "<table width='100%' cellpadding='5' cellspacing='0' border='0'>";
    231 
    232         echo generer_url_post_ecrire('csvimport_admin',"modif=1&retour=".urlencode($retour));
     226        $milieu .= "<div class='formulaire_spip'>";
     227        $action = generer_url_ecrire("csvimport_admin", "modif=1&retour=".urlencode($retour));
     228       
     229        $milieu .= "\n<form action='$action' method='post' class='formulaire_editer'><div>".form_hidden($action);
     230        $milieu .= "<table width='100%' cellpadding='5' cellspacing='0' border='0'>";
    233231        $num_rows = count($liste_des_tables_spip)+count($liste_des_tables_autres);
    234232
     
    239237        $tableau = array();
    240238        foreach($liste_des_tables_spip as $table) {
    241                 $desc = spip_abstract_showtable($table);
     239                $desc = sql_showtable($table);
    242240                if (is_array($desc)){
    243241                        $ligne = ligne_table_import($table,$desc);
     
    246244        }
    247245        foreach($liste_des_tables_autres as $table) {
    248                 $desc = spip_abstract_showtable($table);
     246                $desc = sql_showtable($table);
    249247                if (is_array($desc)){
    250248                        $ligne = ligne_table_import($table,$desc);
     
    253251        }
    254252
    255         $largeurs = array('','','','','');
    256         $styles = array('arial11', 'arial1', 'arial1', 'arial1', 'arial1');
    257         echo afficher_liste($largeurs, $tableau, $styles);
    258         echo "</table>";
    259         echo "</div>\n";
    260         echo "<div style='text-align:$spip_lang_right'>";
    261         echo "<input type='submit' name='Enregistrer' value='"._T('bouton_enregistrer')."' class='fondo'>";
    262         echo "</div>";
    263        
    264         fin_page();
     253        $largeurs = array('','','');
     254        $styles = array('arial11', 'arial1', 'arial1');
     255        $evt = ' style="width:100%"';
     256        $liste = '';
     257        foreach ($tableau as $t) {
     258                reset($largeurs);
     259                if ($styles) reset($styles);
     260                $res ='';
     261                while (list(, $texte) = each($t)) {
     262                        $style = $largeur = "";
     263                        list(, $largeur) = each($largeurs);
     264                        if ($styles) list(, $style) = each($styles);
     265                        if (!trim($texte)) $texte .= "&nbsp;";
     266                        $res .= "\n<td" .
     267                                ($largeur ? (" style='width: $largeur px;'") : '') .
     268                                ($style ? " class='$style'" : '') .
     269                                ">" . lignes_longues($texte) . "</td>\n\n";
     270                }
     271       
     272                $liste .=  "\n<tr class='tr_liste'$evt>$res</tr>";
     273        }
     274       
     275        $milieu .= $liste;
     276        $milieu .= "</table>";
     277        $milieu .= "<p class='boutons'>";
     278        $milieu .= "<input type='submit' name='Enregistrer' value='"._T('bouton_enregistrer')."' class='submit' />";
     279        $milieu .= "</p>";
     280        $milieu .= "</div></form>";
     281        $milieu .= "</div>";
     282       
     283        echo pipeline('affiche_milieu',array('args'=>array('exec'=>'csvimport_admin','table'=>$table),'data'=>$milieu));
     284
     285        echo fin_gauche(), fin_page();
    265286}
    266287
Note: See TracChangeset for help on using the changeset viewer.