crabs_todo-2.0 ©2008-2011 - Christophe Cazajus (crabs-mettre_le_signe_at-crabs-world.com)
1 <?php 2 // 3 // ============================================================================= 4 // crabs_todo-2.0 : Gestion simplissime des Todo 5 // Copyright (C) 2008-2011 : 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 $ROOT = '../' ; 25 include( "{$ROOT}LIB/param.php" ) ; 26 include( "{$ROOT}LIB/util.php" ) ; 27 include( "{$ROOT}LIB/mysql.php" ) ; 28 include( "{$ROOT}LOCALE/defaut.php" ) ; 29 foreach( acceptLang() as $lang => $q ) 30 if ( is_file( "{$ROOT}LOCALE/{$lang}.php" ) ) 31 { include( "{$ROOT}LOCALE/{$lang}.php" ) ; break ; } 32 33 $file = fromGET('backup') ; 34 $c = new MYSQL ; 35 $current_tbl = '' ; 36 $first_ligne = $first_insert = $first_field = $cote = false ; $sql = '' ; 37 $f = fopen( "BACKUP/$file.dat", 'r' ) or die("<p>{$tr['ADM_BU_RS_OPEN']}</p>"); 38 $b = fgets( $f, 1024 ) ; $cle = trim( $b ) ; 39 if ( feof( $f ) ) die( "<p>{$tr['ADM_BU_RS_ESTRCT1']}</p>" ) ; 40 $table_begin = $cle."_TB" ; 41 $table_end = $cle."_TE" ; 42 $create_begin = $cle."_CB" ; 43 $create_end = $cle."_CE" ; 44 $data_begin = $cle."_DB" ; 45 $data_end = $cle."_DE" ; 46 $row_begin = $cle."_RB" ; 47 $row_end = $cle."_RE" ; 48 $field_begin = $cle."_FB" ; 49 $field_end = $cle."_FE" ; 50 51 // la date 52 $b = fgets( $f, 1024 ) ; 53 if ( feof( $f ) ) die( "<p>{$tr['ADM_BU_RS_ESTRCT2']}</p>" ) ; 54 while( true ) 55 { 56 $b = fgets( $f, 1024 ) ; 57 if ( feof( $f ) ) break ; 58 $b = rtrim( $b ) ; 59 $token = explode( ' ', $b, 2 ) ; 60 if ( $token[0] == $table_begin ) 61 $current_tbl = $token[1] ; 62 elseif ( $token[0] == $table_end ) 63 $current_tbl = '' ; 64 elseif ( $token[0] == $create_begin ) 65 { 66 $sql = 'DROP TABLE IF EXISTS '.$current_tbl ; 67 $c->query( $sql ) ; 68 $sql = '' ; 69 } 70 elseif ( $token[0] == $create_end ) 71 { 72 $c->query( $sql ) ; 73 echo "<p>$current_tbl{$tr['ADM_BU_RS_TBLCRT']}</p>" ; 74 } 75 elseif ( $token[0] == $data_begin ) 76 { 77 $nblignes=0 ; 78 } 79 elseif ( $token[0] == $data_end ) 80 { 81 echo "<p>$current_tbl : $nblignes {$tr['ADM_BU_RS_LINEINS']}</p>" ; 82 } 83 elseif ( $token[0] == $row_begin ) 84 { 85 $sql = "INSERT INTO $current_tbl VALUES(" ; 86 $first_field = true ; 87 } 88 elseif ( $token[0] == $row_end ) 89 { 90 $sql.= ")" ; 91 $c->query( $sql ) ; 92 $nblignes++ ; 93 } 94 elseif ( $token[0] == $field_begin ) 95 { 96 if ( ! $first_field ) $sql .= ',' ; 97 $first_field = false ; 98 $cote = true ; 99 $first_ligne = true ; 100 $sql.= "'" ; 101 } 102 elseif ( $token[0] == $field_end ) 103 { 104 $cote = false ; 105 $sql.= "'" ; 106 } 107 else 108 { 109 if ( !$first_ligne ) $sql .= "\n" ; 110 $first_ligne = false ; 111 if ( $cote ) 112 $sql.= addslashes($b) ; 113 else 114 $sql.= $b ; 115 } 116 } 117 echo "<p>$file {$tr['ADM_BU_RS_SUCCESS']}</p>" ; 118 fclose( $f ) ; 119 $c->close() ; 120 ?>
Date de génération : 22/09/2011 21:49