Crabs Contents Management System

crabs_cms-1.0.4 ©2006-2008 - Christophe Cazajus (crabs-mettre_le_signe_at-crabs-world.com)

~~ / ADMIN / svg.php
Makefile admin.xsl admin.js index.php vars_done.php db_create.php users.php user_addmod.php user_info.php user_passwd.php cal_ajouter.php svg.php svg_do.php mysql_create_user.php mysql_create_dossier.php mysql_insert_dossier.php mysql_create_article.php mysql_create_pha.php mysql_insert_pha.php mysql_create_phf.php mysql_create_news.php mysql_create_cal.php mysql_create_calcl.php mysql_insert_calcl.php mysql_create_ff.php mysql_create_fq.php mysql_create_fr.php mysql_create_fu.php mysql_create_fi.php
    1 <?php
    2 //
    3 // =============================================================================
    4 //  crabs_cms-1.0.4 : Crabs Contents Management System
    5 //  Copyright (C) 2006-2008 : Christophe Cazajus (crabs-mettre_le_signe_at-crabs-world.com)
    6 //
    7 //  Ce source fait partie d'un projet logiciel libre. Vous pouvez le distribuer
    8 //  et/ou le modifier en respectant les termes de la GNU General Public License
    9 //  version 2 ou (suite a votre propre choix) une version ulterieure.
   10 //
   11 //  Ce programme est distribue dans l'espoir qu'il puisse etre utile, mais
   12 //  sans aucune garantie, meme si il est associe a un produit qui vous en
   13 //  propose une. Conformez-vous a la GNU General Public License pour avoir
   14 //  plus de precisions.
   15 //
   16 //  L'auteur ne peut etre tenu responsable de l'utilisation faite des
   17 //  composantes associees a ce projet (en partie ou dans leur totalite).
   18 //
   19 //  Une copie du fichier de la GNU GPL est fournie dans le repertoire DOC
   20 //  de ce projet sous le nom gnu_gpl.txt
   21 //
   22 // =============================================================================
   23 //
   24 $RACINE='..' ;
   25 include( $RACINE.'/pinfo.php' ) ;
   26 include( $RACINE.'/LIB/param.php' ) ;
   27 include( $RACINE.'/LIB/util.php' ) ;
   28 include( $RACINE.'/LIB/xml.php' ) ;
   29 include( $RACINE.'/LIB/mysql.php' ) ;
   30 
   31 $xml = new XML ;
   32 $xml->xsl = relative2absolute( 'admin.xsl' ) ;
   33 $xml->attributs = array( 'menu'=>'svg' ) ;
   34 $xml->addElementText( 'titre', 'Administration du site : '.toXML($SITE_NOM) ) ;
   35 $xml->addElementText( 'site', toXML($SITE_NOM) ) ;
   36 $resto = &$xml->addElement( 'resto' ) ;
   37 
   38 $file = fromGET('r') ;
   39 $action = fromGET('a') ;
   40 if ( $file != false ) $file.= '.dat' ;
   41 
   42 if ( array_key_exists( 'dat', $_FILES ) )
   43     {
   44     clearstatcache() ;
   45     if ( !is_dir('SVG') ) mkdir( 'SVG' ) ;
   46     $file = $_FILES['dat']['name'] ;
   47     $dest = 'SVG/'.$file ;
   48     if ( move_uploaded_file( $_FILES['dat']['tmp_name'], $dest ) )
   49         {
   50         $resto->addElementText( 'comment', "UPLOAD $file : ok" ) ;
   51         $action = 'r' ;
   52         }
   53     else
   54         {
   55         $file = false ;
   56         $resto->addElementText( 'comment', "UPLOAD $f : problème" ) ;
   57         }
   58     }
   59 
   60 if ( $action == 'd' )
   61     {
   62     $efface = 'SVG/'.$file ;
   63     unlink( $efface ) ;
   64     $resto->addElementText('comment',"$file supprimé");
   65     }
   66 $dir = @opendir( 'SVG' ) ;
   67 if ( $dir )
   68     {
   69     while ( $f = readdir( $dir ) )
   70         {
   71         list( $u, $e ) = explode( '.', $f ) ;
   72         if ( $e != 'dat' ) continue ;
   73         $resto->addElementSimple( 'sauvegarde',array('n'=>$u) ) ;
   74         }
   75     closedir( $dir ) ;
   76     }
   77 
   78 if ( $action != 'r' )
   79     {
   80     $xml->affiche() ;
   81     exit() ;
   82     }
   83 
   84 $c = new MYSQL ;
   85 $current_tbl = '' ;
   86 $first_ligne = $first_insert = $first_field = $cote = false ; $sql = '' ;
   87 $f = fopen( 'SVG/'.$file, 'r' ) or die( 'No file...') ;
   88 
   89 $restoi = &$resto->addElement( 'restauration' ) ;
   90 // la cle
   91 $b = fgets( $f, 1024 ) ; $cle = trim( $b ) ;
   92 if ( feof( $f ) ) die( 'invalid file' ) ;
   93 $table_begin = $cle."_TB" ;
   94 $table_end = $cle."_TE" ;
   95 $create_begin = $cle."_CB" ;
   96 $create_end = $cle."_CE" ;
   97 $data_begin = $cle."_DB" ;
   98 $data_end = $cle."_DE" ;
   99 $row_begin = $cle."_RB" ;
  100 $row_end = $cle."_RE" ;
  101 $field_begin = $cle."_FB" ;
  102 $field_end = $cle."_FE" ;
  103 
  104 // la date
  105 $b = fgets( $f, 1024 ) ;
  106 if ( feof( $f ) ) die( 'invalid file' ) ;
  107 
  108 while( true )
  109     {
  110     $b = fgets( $f, 1024 ) ;
  111     if ( feof( $f ) ) break ;
  112     $b = rtrim( $b ) ;
  113     $token = explode( ' ', $b, 2 ) ;
  114     if ( $token[0] == $table_begin )
  115         $current_tbl = $token[1] ;
  116     elseif ( $token[0] == $table_end )
  117         $current_tbl = '' ;
  118     elseif ( $token[0] == $create_begin )
  119         {
  120         $sql = 'DROP TABLE IF EXISTS '.$current_tbl ;
  121         $c->query( $sql ) ;
  122         $sql = '' ;
  123         }
  124     elseif ( $token[0] == $create_end )
  125         {
  126         $c->query( $sql ) ;
  127         $restoi->addElementSimple( 'creation',
  128             array('tbl'=>toXML($current_tbl) ) );
  129         }
  130     elseif ( $token[0] == $data_begin )
  131         {
  132         $nblignes=0 ;
  133         }
  134     elseif ( $token[0] == $data_end )
  135         {
  136         $restoi->addElementSimple( 'table',
  137             array( 'tbl'=>toXML($current_tbl), 'nb'=>$nblignes ) ) ;
  138         }
  139     elseif ( $token[0] == $row_begin )
  140         {
  141         $sql = "INSERT INTO $current_tbl VALUES(" ;
  142         $first_field = true ;
  143         }
  144     elseif ( $token[0] == $row_end )
  145         {
  146         $sql.= ")" ;
  147         $c->query( $sql ) ;
  148         $nblignes++ ;
  149         }
  150     elseif ( $token[0] == $field_begin )
  151         {
  152         if ( ! $first_field ) $sql .= ',' ;
  153         $first_field = false ;
  154         $cote = true ;
  155         $first_ligne = true ;
  156         $sql.= "'" ;
  157         }
  158     elseif ( $token[0] == $field_end )
  159         {
  160         $cote = false ;
  161         $sql.= "'" ;
  162         }
  163     else
  164         {
  165         if ( !$first_ligne ) $sql .= "\n" ;
  166         $first_ligne = false ;
  167         if ( $cote )
  168             $sql.= addslashes($b) ;
  169         else
  170             $sql.= $b ;
  171         }
  172     }
  173 $resto->addElementText( 'comment', "Restauration depuis $file réussie" ) ;
  174 fclose( $f ) ;
  175 $c->close() ;
  176 $xml->affiche() ;
  177 ?>
Makefile admin.xsl admin.js index.php vars_done.php db_create.php users.php user_addmod.php user_info.php user_passwd.php cal_ajouter.php svg.php svg_do.php mysql_create_user.php mysql_create_dossier.php mysql_insert_dossier.php mysql_create_article.php mysql_create_pha.php mysql_insert_pha.php mysql_create_phf.php mysql_create_news.php mysql_create_cal.php mysql_create_calcl.php mysql_insert_calcl.php mysql_create_ff.php mysql_create_fq.php mysql_create_fr.php mysql_create_fu.php mysql_create_fi.php
~~ / ADMIN / svg.php

Haut de page

Contacter crabs

Date de génération : 24/10/2008 21:34