Ignore:
Timestamp:
Dec 4, 2010, 3:43:02 PM (13 years ago)
Author:
mistic100
Message:

gestion des langues, ajout de l'anglais, correction de bugs mineurs

File:
1 edited

Legend:

Unmodified
Added
Removed
  • extensions/PHP_Optimisateur/index.php

    r7991 r7993  
    88$TIME_START = microtime(true);
    99
     10include('files/functions.php');
    1011include('files/header.php');
    11 include('files/functions.php');
    1212
    1313
     
    1616// Fichier de configuration
    1717if (!file_exists('config.xml')) {
    18         die('<div class="error">Erreur fatale : Fichier de configuration introuvable. <a href="index.php">Retour</a></div>');
     18        $Errors['ErrorFile'] = true;
     19       
     20} else {
     21        // Configuration
     22        extract(load_config());
     23
     24        // Afficher la configuration
     25        if (!$silentORNOT) {
     26                include('files/display_config.php');
     27        }
     28
     29        // Dossiers
     30        if (!file_exists($DIRsource)) {
     31                mkdir($DIRsource);
     32        }
     33        if (!file_exists($DIRsortie)) {
     34                mkdir($DIRsortie);
     35        }
     36        if (is_dir_empty($DIRsource)) {
     37                $Errors['ErrorFolderIn'] = true;
     38        }
     39        if ($silentORNOT) {
     40                rrmdir($DIRsortie); // Si mode silencieux
     41                mkdir($DIRsortie); // vidage automatique du dossier de sortie
     42        } else if (!is_dir_empty($DIRsortie)) {
     43                $Errors['ErrorFolderOut'] = true;
     44        }
    1945}
    2046
    21 // Configuration
    22 $config = simplexml_load_file('config.xml');
    23 $config = XMLParse($config);
    24 $config = array_settype($config);
    25 extract($config);
    26 
    27 // Afficher la configuration
    28 if (!$silentORNOT) {
    29         include('files/display_config.php');
     47
     48### ERREURS ###
     49if (isset($Errors)) {
     50        $i=0;
     51        foreach ($Errors as $key => $null) {
     52                // Dégueulasse les ternaires à la suite ! mais j'aime ça
     53                echo '<div class="error">'.l10n($key).' '.(($i==0)?'<a href="index.php">'.l10n('Back').'</a> '.(($key!='ErrorFile')?'<a href="setup.php">'.l10n('Config').'</a></div>':'</div>'):'</div>');
     54                $i++;
     55        }
    3056}
    3157
    32 // Dossiers
    33 if (!file_exists($DIRsource)) {
    34         mkdir($DIRsource);
    35 }
    36 if (!file_exists($DIRsortie)) {
    37         mkdir($DIRsortie);
    38 }
    39 if (is_dir_empty($DIRsource)) {
    40         die('<div class="error">Erreur fatale : Dossier source vide. <a href="index.php">Retour</a> <a href="setup.php">Configurer</a></div>');
    41 }
    42 if ($silentORNOT) {
    43         rrmdir($DIRsortie); // Si mode silencieux
    44         mkdir($DIRsortie); // vidage automatique du dossier de sortie
    45 } else if (!is_dir_empty($DIRsortie)) {
    46         die('<div class="error">Erreur fatale : Dossier de sortie non vide. <a href="index.php">Retour</a> <a href="setup.php">Configurer</a></div>');
    47 }
    48 
    4958
    5059
    5160### EXECUTION ###
    52 if (isset($_GET['Process'])) {
     61if (isset($_GET['Process']) AND !isset($Errors)) {
    5362
    5463        ### Supprimer les caractères spéciaux - dossiers & fichiers ###
    55         if ($renameORNOT) {
    56                 function recursive_delete_special_car($dir) {
    57                         $dir = rtrim($dir, '/');
    58                         $dh = opendir($dir);
    59                        
    60                         while (($file = readdir($dh)) !== false ) {
    61                                 if ($file !== '.' && $file !== '..') {
    62                                         $path = $dir.'/'.$file;
    63                                         $new_path = $dir.'/'.delete_special_car($file);
    64                                         rename($path, $new_path);
    65                                        
    66                                         if (is_dir($new_path)) {
    67                                                 recursive_delete_special_car($new_path);
    68                                         }
     64        // Les caractères '%' et '$' sont systématiquement échappés, ca génère des bugs dans les noms de fichiers
     65        function recursive_delete_special_car($dir) {
     66                $dir = rtrim($dir, '/');
     67                $dh = opendir($dir);
     68               
     69                while (($file = readdir($dh)) !== false ) {
     70                        if ($file !== '.' && $file !== '..') {
     71                                $path = $dir.'/'.$file;
     72                                $new_path = $dir.'/'.delete_special_car($file);
     73                                rename($path, $new_path);
     74                               
     75                                if (is_dir($new_path)) {
     76                                        recursive_delete_special_car($new_path);
    6977                                }
    7078                        }
    71                         closedir($dh);
    72                 }
    73 
    74                 recursive_delete_special_car($DIRsource);
    75         }
     79                }
     80                closedir($dh);
     81        }
     82
     83        recursive_delete_special_car($DIRsource);
    7684
    7785
     
    150158        if (!$silentORNOT) {
    151159                echo '<div class="files">
    152                         <h2>Fichiers source</h2>
     160                        <h2>'.l10n('Source files').'</h2>
    153161                        <ul>';
    154162                                foreach ($FilesSource as $value) {
     
    156164                                }
    157165                        echo '</ul>
    158                         <i>'.count($FilesSource).' fichiers</i>
     166                        <i>'.l10n('%d files', count($FilesSource)).'</i>
    159167                </div>';
    160168        }
     
    188196
    189197
    190         echo '<div class="finish">Opération terminée : '.intval((microtime(true)-$TIME_START)) .' secondes. <a href="index.php">Retour</a> <a href="setup.php">Configurer</a></div>';
     198        echo '<div class="finish">'.l10n('Finish %d seconds', intval((microtime(true)-$TIME_START))).' <a href="index.php">'.l10n('Back').'</a> <a href="setup.php">'.l10n('Config').'</a></div>';
    191199
    192200       
    193201       
    194 } else {
    195         echo '<div class="finish">Prêt à commencer. <a href="index.php?Process=true">Exécuter</a> <a href="setup.php">Configurer</a></div>';
     202} else if (!isset($Errors)) {
     203        echo '<div class="finish">'.l10n('Ready').' <a href="index.php?Process=true">'.l10n('Launch').'</a> <a href="setup.php">'.l10n('Config').'</a></div>';
    196204}
    197205
Note: See TracChangeset for help on using the changeset viewer.