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

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

Location:
extensions/PHP_Optimisateur
Files:
7 added
7 edited

Legend:

Unmodified
Added
Removed
  • extensions/PHP_Optimisateur/files/display_config.php

    r7991 r7993  
    66
    77echo '<div class="config">
    8         <h2>Configuration</h2>
    9         <ul>
    10                 <li>
    11                         <span class="title">Répertoires</span>
    12                         <ul>
    13                                 <li><b>Répertoire source :</b> '.$DIRsource.'</li>
    14                                 <li><b>Répertoire de sortie :</b> '.$DIRsortie.'</li>
    15                         </ul>
    16                 </li>
    17                 <li>
    18                         <span class="title">Options</span>
    19                         <ul>
    20                                 <li><b>Créer le dossier haute définition :</b> '.bool_to_string($DIRhighORNOT).'</li>
    21                                 <li><b>Redimensionner les images HD :</b> '.bool_to_string($DIMhdORNOT).'</li>
    22                                 <li><b>Renommer les fichiers :</b> '.bool_to_string($renameORNOT).'</li>
    23                                 <li><b>Ajouter les fichiers index.php :</b> '.bool_to_string($indexORNOT).'</li>
    24                                 <li><b>Préfixe des miniatures :</b> '.$prefixe_mini.'</li>
    25                         </ul>
    26                 </li>
    27                 <li>
    28                         <span class="title">Tailles et qualité</span>
    29                         <ul>
    30                                 <li><b>Taille maximale des images HD :</b> '.$DIMhd.'</li>
    31                                 <li><b>Taille des images normales :</b> '.$DIMnormal.'</li>
    32                                 <li><b>Taille des miniatures :</b> '.$DIMthumbnail.'</li>
    33                                 <li><b>Qualité des images HD :</b> '.$Qhd.'</li>
    34                                 <li><b>Qualité des images normales :</b> '.$Qnormal.'</li>
    35                                 <li><b>Qualité des miniatures :</b> '.$Qthumbnail.'</li>
    36                                 <li><b>Résolution des images HD :</b> '.$DPI.'</li>
    37                         </ul>
    38                 </li>
    39                 <li>
    40                         <span class="title">Copyright</span>
    41                         <ul>
    42                                 <li><b>Texte :</b> '.$copyright.'</li>
    43                                 <li><b>Sur les images HD :</b> '.bool_to_string($copyONhd).'</li>
    44                                 <li><b>Sur les images normales :</b> '.bool_to_string($copyONnormal).'</li>
    45                                 <li><b>Position :</b> '.$copyPOS.'</li>
    46                                 <li><b>Taille (ratio image/texte) :</b> '.$copySIZE.'</li>
    47                                 <li><b>Couleur :</b> rgb('.$copyCOLOR.') <span style="vertical-align:middle;border:1px solid #7f7f7f;width:1.5em;height:0.8em;display:inline-block;background:rgb('.str_replace(' ',',',$copyCOLOR).');">&nbsp;</span></li>
    48                                 <li><b>Police :</b> '.$copyFONT.'</li>
    49                         </ul>
    50                 </li>
    51                 <li>
    52                         <span class="title">Plugins pré-processing</span>
    53                         <ul>';
    54                                 foreach ($PluginsBefore as $name => $config) {
    55                                         echo '<li>
    56                                                 <b>'.$name.' :</b>
    57                                                 <ul>';
    58                                                         foreach ($config as $key => $value) {
    59                                                                 echo '<li>'.$key.' &raquo; '.bool_to_string($value).'</li>';
    60                                                         }
    61                                                 echo '</ul>
    62                                         </li>';
    63                                 }
    64                         echo '</ul>
    65                 </li>
    66                 <li>
    67                         <span class="title">Plugins processing</span>
    68                         <ul>';
    69                                 foreach ($PluginsProcess as $name => $config) {
    70                                         echo '<li>
    71                                                 <b>'.$name.' :</b>
    72                                                 <ul>';
    73                                                         foreach ($config as $key => $value) {
    74                                                                 echo '<li>'.$key.' &raquo; '.bool_to_string($value).'</li>';
    75                                                         }
    76                                                 echo '</ul>
    77                                         </li>';
    78                                 }
    79                         echo '</ul>
    80                 </li>
    81                 <li>
    82                         <span class="title">Plugins post-processing</span>
    83                         <ul>';
    84                                 foreach ($PluginsAfter as $name => $config) {
    85                                         echo '<li>
    86                                                 <b>'.$name.' :</b>
    87                                                 <ul>';
    88                                                         foreach ($config as $key => $value) {
    89                                                                 echo '<li>'.$key.' &raquo; '.bool_to_string($value).'</li>';
    90                                                         }
    91                                                 echo '</ul>
    92                                         </li>';
    93                                 }
    94                         echo '</ul>
    95                 </li>
    96         </ul>
    97 </div>';
     8                <h2>'.l10n('Configuration').'</h2>
     9                <ul>
     10                        <li>
     11                                <span class="title">'.l10n('Folders').'</span>
     12                                <table>
     13                                        <tr>
     14                                                <td><b>'.l10n('FolderIn').' :</b></td>
     15                                                <td>'.$DIRsource.'</td>
     16                                        </tr>
     17                                        <tr>
     18                                                <td><b>'.l10n('FolderOut').' :</b></td>
     19                                                <td>'.$DIRsortie.'</td>
     20                                        </tr>
     21                                </table>
     22                        </li>
     23                        <li>
     24                                <span class="title">'.l10n('Options').'</span>
     25                                <table>
     26                                        <tr>
     27                                                <td><b>'.l10n('DIRhighORNOT').' :</b></td>
     28                                                <td>'.bool_to_string($DIRhighORNOT).'</td>
     29                                        </tr>
     30                                        <tr>
     31                                                <td><b>'.l10n('DIMhdORNOT').' :</b></td>
     32                                                <td>'.bool_to_string($DIMhdORNOT).'</td>
     33                                        </tr>
     34                                        <tr>
     35                                                <td><b>'.l10n('renameORNOT').' :</b></td>
     36                                                <td>'.bool_to_string($renameORNOT).'</td>
     37                                        </tr>
     38                                        <tr>
     39                                                <td><b>'.l10n('indexORNOT').' :</b></td>
     40                                                <td>'.bool_to_string($indexORNOT).'</td>
     41                                        </tr>
     42                                        <tr>
     43                                                <td><b>'.l10n('prefixe_mini').' :</b></td>
     44                                                <td>'.$prefixe_mini.'</td>
     45                                        </tr>
     46                                </table>
     47                        </li>
     48                        <li>
     49                                <span class="title">'.l10n('Sizes and quality').'</span>
     50                                <table>
     51                                        <tr>
     52                                                <td><b>'.l10n('DIMhd').' :</b></td>
     53                                                <td>'.$DIMhd.'</td>
     54                                        </tr>
     55                                        <tr>
     56                                                <td><b>'.l10n('DIMnormal').' :</b></td>
     57                                                <td>'.$DIMnormal.'</td>
     58                                        </tr>
     59                                        <tr>
     60                                                <td><b>'.l10n('DIMthumbnail').' :</b></td>
     61                                                <td>'.$DIMthumbnail.'</td>
     62                                        </tr>
     63                                        <tr>
     64                                                <td><b>'.l10n('Qhd').' :</b></td>
     65                                                <td>'.$Qhd.'</td>
     66                                        </tr>
     67                                        <tr>
     68                                                <td><b>'.l10n('Qnormal').' :</b></td>
     69                                                <td>'.$Qnormal.'</td>
     70                                        </tr>
     71                                        <tr>
     72                                                <td><b>'.l10n('Qthumbnail').' :</b></td>
     73                                                <td>'.$Qthumbnail.'</td>
     74                                        </tr>
     75                                        <tr>
     76                                                <td><b>'.l10n('DPI').' :</b></td>
     77                                                <td>'.$DPI.'</td>
     78                                        </tr>
     79                                </table>
     80                        </li>
     81                        <li>
     82                                <span class="title">'.l10n('Copyright').'</span>
     83                                <table>
     84                                        <tr>
     85                                                <td><b>'.l10n('Content').' :</b></td>
     86                                                <td>'.$copyright.'</td>
     87                                        </tr>
     88                                        <tr>
     89                                                <td><b>'.l10n('copyONhd').' :</b></td>
     90                                                <td>'.bool_to_string($copyONhd).'</td>
     91                                        </tr>
     92                                        <tr>
     93                                                <td><b>'.l10n('copyONnormal').' :</b></td>
     94                                                <td>'.bool_to_string($copyONnormal).'</td>
     95                                        </tr>
     96                                        <tr>
     97                                                <td><b>'.l10n('copyPOS%s', '').' :</b></td>
     98                                                <td>'.$copyPOS.'</td>
     99                                        </tr>
     100                                        <tr>
     101                                                <td><b>'.l10n('copySIZE').' :</b></td>
     102                                                <td>'.$copySIZE.'</td>
     103                                        </tr>
     104                                        <tr>
     105                                                <td><b>'.l10n('copyCOLOR').' :</b></td>
     106                                                <td>rgb('.$copyCOLOR.') <span style="vertical-align:middle;border:1px solid #7f7f7f;width:1.5em;height:0.8em;display:inline-block;background:rgb('.str_replace(' ',',',$copyCOLOR).');">&nbsp;</span></td>
     107                                        </tr>
     108                                        <tr>
     109                                                <td><b>'.l10n('copyFONT').' :</b></td>
     110                                                <td>'.$copyFONT.'</td>
     111                                        </tr>
     112                                </table>
     113                        </li>
     114                        <li>
     115                                <span class="title">'.l10n('PluginsBefore').'</span>
     116                                <ul>';
     117                                        foreach ($PluginsBefore as $name => $config) {
     118                                                echo '<li>
     119                                                        <b>'.$name.' :</b>
     120                                                        <table>';
     121                                                                foreach ($config as $key => $value) {
     122                                                                        echo '<tr>
     123                                                                                <td>'.$key.' :</td>
     124                                                                                <td>'.bool_to_string($value).'</td>
     125                                                                        </tr>';
     126                                                                }
     127                                                        echo '</table>
     128                                                </li>';
     129                                        }
     130                                echo '</ul>
     131                        </li>
     132                        <li>
     133                                <span class="title">'.l10n('PluginsProcess').'</span>
     134                                <ul>';
     135                                        foreach ($PluginsProcess as $name => $config) {
     136                                                echo '<li>
     137                                                        <b>'.$name.' :</b>
     138                                                        <table>';
     139                                                                foreach ($config as $key => $value) {
     140                                                                        echo '<tr>
     141                                                                                <td>'.$key.' :</td>
     142                                                                                <td>'.bool_to_string($value).'</td>
     143                                                                        </tr>';
     144                                                                }
     145                                                        echo '</table>
     146                                                </li>';
     147                                        }
     148                                echo '</ul>
     149                        </li>
     150                        <li>
     151                                <span class="title">'.l10n('PluginsAfter').'</span>
     152                                <ul>';
     153                                        foreach ($PluginsAfter as $name => $config) {
     154                                                echo '<li>
     155                                                        <b>'.$name.' :</b>
     156                                                        <table>';
     157                                                                foreach ($config as $key => $value) {
     158                                                                        echo '<tr>
     159                                                                                <td>'.$key.' :</td>
     160                                                                                <td>'.bool_to_string($value).'</td>
     161                                                                        </tr>';
     162                                                                }
     163                                                        echo '</table>
     164                                                </li>';
     165                                        }
     166                                echo '</ul>
     167                        </li>
     168                </ul>
     169        </div>';
    98170?>
  • extensions/PHP_Optimisateur/files/functions.php

    r7991 r7993  
    55\***************************************/
    66
     7// Affiche les textes
     8function l10n($code){
     9        global $Lang;
     10        if (isset($Lang[$code])) {
     11                $args = func_get_args();
     12                if (count($args) > 1) {
     13                        array_shift($args);
     14                        return vsprintf($Lang[$code], $args);
     15                } else {
     16                        return $Lang[$code];
     17                }
     18        } else {
     19                return $code;
     20        }
     21}
     22
     23// Trouve la langue
     24function GetLanguage(){
     25        // tableau avec les langues installées
     26        $dh = opendir('language');
     27        while ($file = readdir($dh)) {
     28                if ($file !== '.' && $file !== '..' && is_dir('language/'.$file))
     29                        $languages[] = $file;
     30        }
     31        closedir($dh);
     32       
     33        // recherche du paramètre get ou session, ou langue du navigateur
     34        if(isset($_GET['Lang']))
     35                $_SESSION['Lang'] = $_GET['Lang'];
     36        else if(!isset($_SESSION['Lang']) OR $_SESSION['Lang'] == NULL)
     37                $_SESSION['Lang'] = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'],0,2);
     38        if(!in_array($_SESSION['Lang'], $languages))
     39                $_SESSION['Lang'] = 'en';
     40
     41        return array('Lang' => $_SESSION['Lang'], 'languages' => $languages);
     42}
     43
    744// Supprime les accents et tous caractères non conforme
    845function delete_special_car($string) {
    946        global $renameORNOT;
    10         $search = array ('#[éèêë]#','#[ÊËÈÉ]#','#[àâäã]#','#[ÂÄÁÀ]#','#[îïíì]#','#[ÎÏÍÌ]#','#[ûùüú]#','#[ÛÙÚÜ]#','#[ôóòõö]#','#[ÓÒÖÔÕ]#',
    11                 '#[ç]#','#[Ç]#','#[ñ]#','#[Ñ]#','#[ýÿ]#','#[Ý]#','#[ \&\!\#\"\(\)\{\}\'\=\+\~]#','#[^a-zA-Z0-9_\.\-]#');
     47       
     48        $search = array ('#[éèêë]#','#[ÊËÈÉ]#','#[àâäã]#','#[ÂÄÁÀ]#','#[îïíì]#','#[ÎÏÍÌ]#','#[ûùüúµ]#','#[ÛÙÚÜ]#','#[ôóòõö]#','#[ÓÒÖÔÕ]#',
     49                '#[ç]#','#[Ç]#','#[ñ]#','#[Ñ]#','#[ýÿ]#','#[Ý]#','#[ \&\!\?\#\"\(\)\{\}\[\]\=\+\~\%]#','#[^a-zA-Z0-9_\.\-]#');
    1250        $replace = array ('e','E','a','A','i','I','u','U','o','O','c','C',',n','N','y','Y','_','');
    1351       
    14         return preg_replace($search, $replace, $string);
     52        if ($renameORNOT) {
     53                return preg_replace($search, $replace, $string);
     54        } else {
     55                return str_replace(array('%','$'), '_', $string);
     56        }
    1557}
    1658
     
    5092                $dh = opendir($dir);
    5193        } else {
    52                 exit;
     94                exit('Dossier inexistant');
    5395        }
    5496        while (($file = readdir($dh)) !== false ) {
     
    97139}
    98140
     141// Charge la configuration
     142function load_config() {
     143        $config = simplexml_load_file('config.xml');
     144        $config = XMLParse($config);
     145        $config = array_settype($config);
     146        return $config;
     147}
     148
    99149// Convertit les booléens, entiers et flotants d'un tableau de 'string'
    100150function array_settype($array) {
     
    120170// Booléen vers français ou texte
    121171function bool_to_string($bool, $just_echo=0) {
     172        global $Lang;
    122173        # $just_echo pour pouvoir afficher un booléen tel quel
    123174        if (is_bool($bool)) {
    124175                if ($bool) {
    125176                        if ($just_echo) return 'true';
    126                         else return 'oui';
     177                        else return l10n('yes');
    127178                } else {
    128179                        if ($just_echo) return 'false';
    129                         else return 'non';
     180                        else return l10n('no');
    130181                }
    131182        } else {
  • extensions/PHP_Optimisateur/files/header.php

    r7991 r7993  
    55\***************************************/
    66
     7session_start();
    78$APPversion = '1.1';
     9$user_lang = GetLanguage();
     10include('language/'.$user_lang['Lang'].'/'.$user_lang['Lang'].'.php');
     11
    812echo '<?xml version="1.0" encoding="utf-8"?>
    913<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
    1014        "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
    11 <html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr">
     15<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
    1216<head>
    1317        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     
    1620</head>
    1721<body>
    18 <div class="title">PHP Optimisateur '.$APPversion.'</div>';
     22<div class="title">
     23        PHP Optimisateur '.$APPversion;
     24       
     25        foreach ($user_lang['languages'] as $key) {
     26                echo '<a class="lang" href="index.php?Lang='.$key.'"><img src="language/'.$key.'/'.$key.'.png"/></a>';
     27        }
     28       
     29echo '</div>';
    1930?>
  • extensions/PHP_Optimisateur/files/style.css

    r7991 r7993  
    2121        float:left;
    2222}
     23        div.title {
     24                float:none;
     25                width:942px;
     26                font-weight:bold;
     27                text-align:center;
     28                font-size:1.5em;
     29                background:#333;
     30                color:#eee;
     31                border-color:#eee;
     32        }
     33        div.files li {
     34                margin-top:0;
     35        }
     36
     37        div.finish  {
     38                background:#DAFFBF;
     39                font-weight:bold;
     40                font-size:1.2em;
     41        }
     42
     43        div.error {
     44                background:#FFD0BF;
     45                font-weight:bold;
     46                font-size:1.2em;
     47        }
    2348
    2449a {
     
    2954        margin-bottom:1px;
    3055}
    31 a:hover {
    32         color:#555;
    33         border-bottom:1px dotted #555;
    34         margin-bottom:0;
    35 }
     56        a:hover {
     57                color:#555;
     58                border-bottom:1px dotted #555;
     59                margin-bottom:0;
     60        }
    3661
    3762h2 {
     
    4267        margin:0 0 0 20px;
    4368}
    44 li {
    45         margin-top:5px;
    46 }
    47 li ul li {
    48         margin-top:0;
    49 }
     69        li {
     70                margin-top:5px;
     71        }
     72                li ul li {
     73                        margin-top:0;
     74                }
    5075
    51 div.title {
    52         float:none;
    53         width:902px;
    54         padding:10px 30px;
    55         font-weight:bold;
    56         text-align:center;
    57         font-size:1.5em;
    58         background:#333;
    59         color:#eee;
    60         border-color:#eee;
    61 }
    62 .files li {
    63         margin-top:0;
    64 }
    6576
    66 .finish  {
    67         background:#DAFFBF;
    68         font-weight:bold;
    69         font-size:1.2em;
    70 }
    71 
    72 .error {
    73         background:#FFD0BF;
    74         font-weight:bold;
    75         font-size:1.2em;
    76 }
    7777
    7878input {
     
    9696        width:50%;
    9797}
    98 tr td:first-child {
    99         text-align:right;
    100         padding-right:5px;
    101 }
     98        tr td:first-child {
     99                text-align:right;
     100                padding-right:5px;
     101        }
  • 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
  • extensions/PHP_Optimisateur/setup.php

    r7991 r7993  
    1515        if(!isset($_POST['PluginsProcess'])) $_POST['PluginsProcess'] = null;
    1616        if(!isset($_POST['PluginsAfter'])) $_POST['PluginsAfter'] = null;
     17        if (!preg_match('#(.*)/$#', $_POST['DIRsource'])) $_POST['DIRsource'] .= '/';
     18        if (!preg_match('#(.*)/$#', $_POST['DIRsortie'])) $_POST['DIRsortie'] .= '/';
    1719       
    1820        // Contenu du fichier
     
    2830include('files/header.php');
    2931
    30 
    3132// Fichier de configuration
    3233if (!file_exists('config.xml')) {
    33         die('<div class="error">Erreur fatale : Fichier de configuration introuvable. <a href="index.php">Retour</a></div>');
    34 }
    35 
    36 // Configuration
    37 $config = simplexml_load_file('config.xml');
    38 $config = XMLParse($config);
    39 $config = array_settype($config);
    40 extract($config);
    41 
    42 $copyCOLOR = explode(' ', $copyCOLOR);
    43 $copyPOS = explode('-', $copyPOS);
    44 
    45 
    46 ### Gestion des nouveaux plugins ###
    47 // Ajoute la configuration des plugins non-installés aux tableaux, il faut valider le formulaire pour les installer
    48 $Plugins = glob('plugins/*.xml');
    49 $NewPlugins = array();
    50 
    51 foreach ($Plugins as $plugin) {
    52         // nom du plugin
    53         preg_match('#plugins/(.*).xml#', $plugin, $matches);
    54         $plugin_name = $matches[1];
    55         // configuration du plugin
    56         $plugin = XMLparse(simplexml_load_file($plugin));
    57         // mode du plugin (effacage pour pas l'inscrire dans la config)
    58         $plugin_mode = $plugin['mode'];
    59         unset($plugin['mode']);
    60        
    61         if (!array_key_exists($plugin_name, ${$plugin_mode})) {
    62                 ${$plugin_mode}[$plugin_name] = $plugin;
    63                 $NewPlugins[$plugin_name] = true;
     34        $Errors['ErrorFile'] = true;
     35}
     36
     37
     38
     39### ERREURS ###
     40if (isset($Errors)) {
     41        $i=0;
     42        foreach ($Errors as $key => $null) {
     43                // Dégueulasse les ternaires à la suite ! mais j'aime ça
     44                echo '<div class="error">'.l10n($key).' '.(($i==0)?'<a href="setup.php">'.l10n('Back').'</a></div>':'</div>');
     45                $i++;
    6446        }
    6547}
    6648
    6749
    68 ### Formulaire ###
    69 echo '
    70 <script type="text/javascript">
    71         function suivant(enCours, suivant, limite) {
    72                 if (enCours.value.length == limite) {
    73                         enCours.form.elements[suivant].select();
     50
     51### EXECUTION ###
     52if (!isset($Errors)) {
     53        // Configuration
     54        extract(load_config());
     55
     56        $copyCOLOR = explode(' ', $copyCOLOR);
     57        $copyPOS = explode('-', $copyPOS);
     58
     59
     60        ### Gestion des nouveaux plugins ###
     61        // Ajoute la configuration des plugins non-installés aux tableaux, il faut valider le formulaire pour les installer
     62        $Plugins = glob('plugins/*.xml');
     63        $NewPlugins = array();
     64
     65        foreach ($Plugins as $plugin) {
     66                // nom du plugin
     67                preg_match('#plugins/(.*).xml#', $plugin, $matches);
     68                $plugin_name = $matches[1];
     69                // configuration du plugin
     70                $plugin = XMLparse(simplexml_load_file($plugin));
     71                // mode du plugin (effacage pour pas l'inscrire dans la config)
     72                $plugin_mode = $plugin['mode'];
     73                unset($plugin['mode']);
     74               
     75                if (!array_key_exists($plugin_name, ${$plugin_mode})) {
     76                        ${$plugin_mode}[$plugin_name] = $plugin;
     77                        $NewPlugins[$plugin_name] = true;
    7478                }
    7579        }
    76 </script>
    77        
    78 <form action="setup.php" method="post">
    79 <div class="config">
    80         <h2>Configuration</h2>
    81         <ul>
    82                 <li>
    83                         <span class="title">Répertoires</span>
    84                         <table>
    85                                 <tr>
    86                                         <td><b>Répertoire source :</b></td>
    87                                         <td><input type="text" name="DIRsource" value="'.$DIRsource.'"/></td>
    88                                 </tr>
    89                                 <tr>
    90                                         <td><b>Répertoire de sortie :</b></td>
    91                                         <td><input type="text" name="DIRsortie" value="'.$DIRsortie.'"/></td>
    92                                 </tr>
    93                         </table>
    94                 </li>
    95                 <li>
    96                         <span class="title">Options</span>
    97                         <table>
    98                                 <tr>
    99                                         <td><b>Mode silencieux :</b></td>
    100                                         <td><input type="radio" name="silentORNOT" value="true" '.(($silentORNOT)?'checked':'').'/> oui <input type="radio" name="silentORNOT" value="false" '.((!$silentORNOT)?'checked':'').'/> non</td>
    101                                 </tr>
    102                                 <tr>
    103                                         <td><b>Créer le dossier haute définition :</b></td>
    104                                         <td><input type="radio" name="DIRhighORNOT" value="true" '.(($DIRhighORNOT)?'checked':'').'/> oui <input type="radio" name="DIRhighORNOT" value="false" '.((!$DIRhighORNOT)?'checked':'').'/> non</td>
    105                                 </tr>
    106                                 <tr>
    107                                         <td><b>Redimensionner les images HD :</b></td>
    108                                         <td><input type="radio" name="DIMhdORNOT" value="true" '.(($DIMhdORNOT)?'checked':'').'/> oui <input type="radio" name="DIMhdORNOT" value="false" '.((!$DIMhdORNOT)?'checked':'').'/> non</td>
    109                                 </tr>
    110                                 <tr>
    111                                         <td><b>Renommer les fichiers :</b></td>
    112                                         <td><input type="radio" name="renameORNOT" value="true" '.(($renameORNOT)?'checked':'').'/> oui <input type="radio" name="renameORNOT" value="false" '.((!$renameORNOT)?'checked':'').'/> non</td>
    113                                 </tr>
    114                                 <tr>
    115                                         <td><b>Ajouter les fichiers index.php :</b></td>
    116                                         <td><input type="radio" name="indexORNOT" value="true" '.(($indexORNOT)?'checked':'').'/> oui <input type="radio" name="indexORNOT" value="false" '.((!$indexORNOT)?'checked':'').'/> non</td>
    117                                 </tr>
    118                                 <tr>
    119                                         <td><b>Préfixe des miniatures :</b></td>
    120                                         <td><input type="text" name="prefixe_mini" value="'.$prefixe_mini.'" size="8"/></td>
    121                                 </tr>
    122                         </table>
    123                 </li>
    124                 <li>
    125                         <span class="title">Tailles et qualité</span>
    126                         <table>
    127                                 <tr>
    128                                         <td><b>Taille maximale des images HD :</b></td>
    129                                         <td><input type="text" name="DIMhd" value="'.$DIMhd.'" size="4"/></td>
    130                                 </tr>
    131                                 <tr>
    132                                         <td><b>Taille des images normales :</b></td>
    133                                         <td><input type="text" name="DIMnormal" value="'.$DIMnormal.'" size="3"/></td>
    134                                 </tr>
    135                                 <tr>
    136                                         <td><b>Taille des miniatures :</b></td>
    137                                         <td><input type="text" name="DIMthumbnail" value="'.$DIMthumbnail.'" size="3"/></td>
    138                                 </tr>
    139                                 <tr>
    140                                         <td><b>Qualité des images HD :</b></td>
    141                                         <td><input type="text" name="Qhd" value="'.$Qhd.'" size="3"/></td>
    142                                 </tr>
    143                                 <tr>
    144                                         <td><b>Qualité des images normales :</b></td>
    145                                         <td><input type="text" name="Qnormal" value="'.$Qnormal.'" size="3"/></td>
    146                                 </tr>
    147                                 <tr>
    148                                         <td><b>Qualité des miniatures :</b></td>
    149                                         <td><input type="text" name="Qthumbnail" value="'.$Qthumbnail.'" size="3"/></td>
    150                                 </tr>
    151                                 <tr>
    152                                         <td><b>Résolution des images HD :</b></td>
    153                                         <td><input type="text" name="DPI" value="'.$DPI.'" size="3"/></td>
    154                                 </tr>
    155                         </table>
    156                 </li>
    157                 <li>
    158                         <span class="title">Copyright</span>
    159                         <table>
    160                                 <tr>
    161                                         <td><b>Texte :</b></td>
    162                                         <td><input type="text" name="copyright" value="'.$copyright.'"/></td>
    163                                 </tr>
    164                                 <tr>
    165                                         <td><b>Sur les images HD :</b></td>
    166                                         <td><input type="radio" name="copyONhd" value="true" '.(($copyONhd)?'checked':'').'/> oui <input type="radio" name="copyONhd" value="false" '.((!$copyONhd)?'checked':'').'/> non</td>
    167                                 </tr>
    168                                 <tr>
    169                                         <td><b>Sur les images normales :</b></td>
    170                                         <td><input type="radio" name="copyONnormal" value="true" '.(($copyONnormal)?'checked':'').'/> oui <input type="radio" name="copyONnormal" value="false" '.((!$copyONnormal)?'checked':'').'/> non</td>
    171                                 </tr>
    172                                 <tr>
    173                                         <td><b>Position verticale :</b></td>
    174                                         <td><input type="radio" name="copyPOS[0]" value="top" '.(($copyPOS[0]=='top')?'checked':'').'/> haut <input type="radio" name="copyPOS[0]" value="center" '.(($copyPOS[0]=='center')?'checked':'').'/> milieu <input type="radio" name="copyPOS[0]" value="bottom" '.(($copyPOS[0]=='bottom')?'checked':'').'/> bas</td>
    175                                 </tr>
    176                                 <tr>
    177                                         <td><b>Position horizontale :</b></td>
    178                                         <td><input type="radio" name="copyPOS[1]" value="left" '.(($copyPOS[1]=='left')?'checked':'').'/> gauche <input type="radio" name="copyPOS[1]" value="center" '.(($copyPOS[1]=='center')?'checked':'').'/> milieu <input type="radio" name="copyPOS[1]" value="right" '.(($copyPOS[1]=='right')?'checked':'').'/> droite</td>
    179                                 </tr>
    180                                 <tr>
    181                                         <td><b>Taille (ratio image/texte) :</b></td>
    182                                         <td><input type="text" name="copySIZE" value="'.$copySIZE.'" size="5"/></td>
    183                                 </tr>
    184                                 <tr>
    185                                         <td><b>Couleur :</b></td>
    186                                         <td>
    187                                                 <input type="text" name="copyCOLOR[0]" value="'.$copyCOLOR[0].'" size="3" onFocus="this.select();" onKeyUp="suivant(this,\'copyCOLOR[1]\', 3)"/>
    188                                                 <input type="text" name="copyCOLOR[1]" value="'.$copyCOLOR[1].'" size="3" onFocus="this.select();" onKeyUp="suivant(this,\'copyCOLOR[2]\', 3)"/>
    189                                                 <input type="text" name="copyCOLOR[2]" value="'.$copyCOLOR[2].'" size="3" onFocus="this.select();" />
    190                                         </td>
    191                                 </tr>
    192                                 <tr>
    193                                         <td><b>Police :</b></td>
    194                                         <td><input type="text" name="copyFONT" value="'.$copyFONT.'"/></td>
    195                                 </tr>
    196                         </table>
    197                 </li>
     80
     81
     82        ### Formulaire ###
     83        echo '
     84        <script type="text/javascript">
     85                function suivant(enCours, suivant, limite) {
     86                        if (enCours.value.length == limite) {
     87                                enCours.form.elements[suivant].select();
     88                        }
     89                }
     90        </script>
     91               
     92        <form action="setup.php" method="post">
     93        <div class="config">
     94                <h2>'.l10n('Configuration').'</h2>
     95                <ul>
     96                        <li>
     97                                <span class="title">'.l10n('Folders').'</span>
     98                                <table>
     99                                        <tr>
     100                                                <td><b>'.l10n('FolderIn').' :</b></td>
     101                                                <td><input type="text" name="DIRsource" value="'.$DIRsource.'"/></td>
     102                                        </tr>
     103                                        <tr>
     104                                                <td><b>'.l10n('FolderOut').' :</b></td>
     105                                                <td><input type="text" name="DIRsortie" value="'.$DIRsortie.'"/></td>
     106                                        </tr>
     107                                </table>
     108                        </li>
     109                        <li>
     110                                <span class="title">'.l10n('Options').'</span>
     111                                <table>
     112                                        <tr>
     113                                                <td><b>'.l10n('silentORNOT').' :</b></td>
     114                                                <td><input type="radio" name="silentORNOT" value="true" '.(($silentORNOT)?'checked':'').'/> '.l10n('yes').' <input type="radio" name="silentORNOT" value="false" '.((!$silentORNOT)?'checked':'').'/> '.l10n('no').'</td>
     115                                        </tr>
     116                                        <tr>
     117                                                <td><b>'.l10n('DIRhighORNOT').' :</b></td>
     118                                                <td><input type="radio" name="DIRhighORNOT" value="true" '.(($DIRhighORNOT)?'checked':'').'/> '.l10n('yes').' <input type="radio" name="DIRhighORNOT" value="false" '.((!$DIRhighORNOT)?'checked':'').'/> '.l10n('no').'</td>
     119                                        </tr>
     120                                        <tr>
     121                                                <td><b>'.l10n('DIMhdORNOT').' :</b></td>
     122                                                <td><input type="radio" name="DIMhdORNOT" value="true" '.(($DIMhdORNOT)?'checked':'').'/> '.l10n('yes').' <input type="radio" name="DIMhdORNOT" value="false" '.((!$DIMhdORNOT)?'checked':'').'/> '.l10n('no').'</td>
     123                                        </tr>
     124                                        <tr>
     125                                                <td><b>'.l10n('renameORNOT').' :</b></td>
     126                                                <td><input type="radio" name="renameORNOT" value="true" '.(($renameORNOT)?'checked':'').'/> '.l10n('yes').' <input type="radio" name="renameORNOT" value="false" '.((!$renameORNOT)?'checked':'').'/> '.l10n('no').'</td>
     127                                        </tr>
     128                                        <tr>
     129                                                <td><b>'.l10n('indexORNOT').' :</b></td>
     130                                                <td><input type="radio" name="indexORNOT" value="true" '.(($indexORNOT)?'checked':'').'/> '.l10n('yes').' <input type="radio" name="indexORNOT" value="false" '.((!$indexORNOT)?'checked':'').'/> '.l10n('no').'</td>
     131                                        </tr>
     132                                        <tr>
     133                                                <td><b>'.l10n('prefixe_mini').' :</b></td>
     134                                                <td><input type="text" name="prefixe_mini" value="'.$prefixe_mini.'" size="8"/></td>
     135                                        </tr>
     136                                </table>
     137                        </li>
     138                        <li>
     139                                <span class="title">'.l10n('Sizes and quality').'</span>
     140                                <table>
     141                                        <tr>
     142                                                <td><b>'.l10n('DIMhd').' :</b></td>
     143                                                <td><input type="text" name="DIMhd" value="'.$DIMhd.'" size="4"/></td>
     144                                        </tr>
     145                                        <tr>
     146                                                <td><b>'.l10n('DIMnormal').' :</b></td>
     147                                                <td><input type="text" name="DIMnormal" value="'.$DIMnormal.'" size="3"/></td>
     148                                        </tr>
     149                                        <tr>
     150                                                <td><b>'.l10n('DIMthumbnail').' :</b></td>
     151                                                <td><input type="text" name="DIMthumbnail" value="'.$DIMthumbnail.'" size="3"/></td>
     152                                        </tr>
     153                                        <tr>
     154                                                <td><b>'.l10n('Qhd').' :</b></td>
     155                                                <td><input type="text" name="Qhd" value="'.$Qhd.'" size="3"/></td>
     156                                        </tr>
     157                                        <tr>
     158                                                <td><b>'.l10n('Qnormal').' :</b></td>
     159                                                <td><input type="text" name="Qnormal" value="'.$Qnormal.'" size="3"/></td>
     160                                        </tr>
     161                                        <tr>
     162                                                <td><b>'.l10n('Qthumbnail').' :</b></td>
     163                                                <td><input type="text" name="Qthumbnail" value="'.$Qthumbnail.'" size="3"/></td>
     164                                        </tr>
     165                                        <tr>
     166                                                <td><b>'.l10n('DPI').' :</b></td>
     167                                                <td><input type="text" name="DPI" value="'.$DPI.'" size="3"/></td>
     168                                        </tr>
     169                                </table>
     170                        </li>
     171                        <li>
     172                                <span class="title">'.l10n('Copyright').'</span>
     173                                <table>
     174                                        <tr>
     175                                                <td><b>'.l10n('Content').' :</b></td>
     176                                                <td><input type="text" name="copyright" value="'.$copyright.'"/></td>
     177                                        </tr>
     178                                        <tr>
     179                                                <td><b>'.l10n('copyONhd').' :</b></td>
     180                                                <td><input type="radio" name="copyONhd" value="true" '.(($copyONhd)?'checked':'').'/> '.l10n('yes').' <input type="radio" name="copyONhd" value="false" '.((!$copyONhd)?'checked':'').'/> '.l10n('no').'</td>
     181                                        </tr>
     182                                        <tr>
     183                                                <td><b>'.l10n('copyONnormal').' :</b></td>
     184                                                <td><input type="radio" name="copyONnormal" value="true" '.(($copyONnormal)?'checked':'').'/> '.l10n('yes').' <input type="radio" name="copyONnormal" value="false" '.((!$copyONnormal)?'checked':'').'/> '.l10n('no').'</td>
     185                                        </tr>
     186                                        <tr>
     187                                                <td><b>'.l10n('copyPOS%s', l10n('copyPOSv')).' :</b></td>
     188                                                <td><input type="radio" name="copyPOS[0]" value="top" '.(($copyPOS[0]=='top')?'checked':'').'/> '.l10n('top').' <input type="radio" name="copyPOS[0]" value="center" '.(($copyPOS[0]=='center')?'checked':'').'/> '.l10n('center').' <input type="radio" name="copyPOS[0]" value="bottom" '.(($copyPOS[0]=='bottom')?'checked':'').'/> '.l10n('bottom').'</td>
     189                                        </tr>
     190                                        <tr>
     191                                                <td><b>'.l10n('copyPOS%s', l10n('copyPOSh')).' :</b></td>
     192                                                <td><input type="radio" name="copyPOS[1]" value="left" '.(($copyPOS[1]=='left')?'checked':'').'/> '.l10n('left').' <input type="radio" name="copyPOS[1]" value="center" '.(($copyPOS[1]=='center')?'checked':'').'/> '.l10n('center').' <input type="radio" name="copyPOS[1]" value="right" '.(($copyPOS[1]=='right')?'checked':'').'/> '.l10n('right').'</td>
     193                                        </tr>
     194                                        <tr>
     195                                                <td><b>'.l10n('copySIZE').' :</b></td>
     196                                                <td><input type="text" name="copySIZE" value="'.$copySIZE.'" size="5"/></td>
     197                                        </tr>
     198                                        <tr>
     199                                                <td><b>'.l10n('copyCOLOR').' :</b></td>
     200                                                <td>
     201                                                        <input type="text" name="copyCOLOR[0]" value="'.$copyCOLOR[0].'" size="3" onFocus="this.select();" onKeyUp="suivant(this,\'copyCOLOR[1]\', 3)"/>
     202                                                        <input type="text" name="copyCOLOR[1]" value="'.$copyCOLOR[1].'" size="3" onFocus="this.select();" onKeyUp="suivant(this,\'copyCOLOR[2]\', 3)"/>
     203                                                        <input type="text" name="copyCOLOR[2]" value="'.$copyCOLOR[2].'" size="3" onFocus="this.select();" />
     204                                                </td>
     205                                        </tr>
     206                                        <tr>
     207                                                <td><b>'.l10n('copyFONT').' :</b></td>
     208                                                <td><input type="text" name="copyFONT" value="'.$copyFONT.'"/></td>
     209                                        </tr>
     210                                </table>
     211                        </li>
    198212                </ul>
    199 </div>
    200 
    201 <div class="config">
    202         <h2>Plugins</h2>
    203         <ul>
    204                 <li>
    205                         <span class="title">Plugins pré-processing</span>
    206                         <ul>';
    207                                 foreach ($PluginsBefore as $name => $config) {
    208                                         echo '<li>
    209                                                 <b class="'.((isset($NewPlugins[$name]))?'new':'').'">'.$name.' :</b>
    210                                                 <table>';
    211                                                         foreach ($config as $key => $value) {
    212                                                                 echo '<tr>
    213                                                                         <td>'.$key.' :</td>
    214                                                                         <td><input type="text" name="PluginsBefore['.$name.']['.$key.']" value="'.bool_to_string($value,1).'" size="7"/></td>
    215                                                                 </tr>';
    216                                                         }
    217                                                 echo '</table>
    218                                         </li>';
    219                                 }
    220                         echo '</ul>
    221                 </li>
    222                 <li>
    223                         <span class="title">Plugins processing</span>
    224                         <ul>';
    225                                 foreach ($PluginsProcess as $name => $config) {
    226                                         echo '<li>
    227                                                 <b class="'.((isset($NewPlugins[$name]))?'new':'').'">'.$name.' :</b>
    228                                                 <table>';
    229                                                         foreach ($config as $key => $value) {
    230                                                                 echo '<tr>
    231                                                                         <td>'.$key.' :</td>
    232                                                                         <td><input type="text" name="PluginsProcess['.$name.']['.$key.']" value="'.bool_to_string($value,1).'" size="7"/></td>
    233                                                                 </tr>';
    234                                                         }
    235                                                 echo '</table>
    236                                         </li>';
    237                                 }
    238                         echo '</ul>
    239                 </li>
    240                 <li>
    241                         <span class="title">Plugins post-processing</span>
    242                         <ul>';
    243                                 foreach ($PluginsAfter as $name => $config) {
    244                                         echo '<li>
    245                                                 <b class="'.((isset($NewPlugins[$name]))?'new':'').'">'.$name.' :</b>
    246                                                 <table>';
    247                                                         foreach ($config as $key => $value) {
    248                                                                 echo '<tr>
    249                                                                         <td>'.$key.' :</td>
    250                                                                         <td><input type="text" name="PluginsAfter['.$name.']['.$key.']" value="'.bool_to_string($value,1).'" size="7"/></td>
    251                                                                 </tr>';
    252                                                         }
    253                                                 echo '</table>
    254                                         </li>';
    255                                 }
    256                         echo '</ul>
    257                 </li>
    258         </ul>
    259 </div>
    260 
    261 <div class="finish">   
    262         <input type="submit"/> <input type="reset"/> <a href="index.php">Retour</a>
    263 </div>
    264 </form>';
     213        </div>
     214
     215        <div class="config">
     216                <h2>'.l10n('Plugins').'</h2>
     217                <ul>
     218                        <li>
     219                                <span class="title">'.l10n('PluginsBefore').'</span>
     220                                <ul>';
     221                                        foreach ($PluginsBefore as $name => $config) {
     222                                                echo '<li>
     223                                                        <b class="'.((isset($NewPlugins[$name]))?'new':'').'">'.$name.' :</b>
     224                                                        <table>';
     225                                                                foreach ($config as $key => $value) {
     226                                                                        echo '<tr>
     227                                                                                <td>'.$key.' :</td>
     228                                                                                <td><input type="text" name="PluginsBefore['.$name.']['.$key.']" value="'.bool_to_string($value,1).'" size="7"/></td>
     229                                                                        </tr>';
     230                                                                }
     231                                                        echo '</table>
     232                                                </li>';
     233                                        }
     234                                echo '</ul>
     235                        </li>
     236                        <li>
     237                                <span class="title">'.l10n('PluginsProcess').'</span>
     238                                <ul>';
     239                                        foreach ($PluginsProcess as $name => $config) {
     240                                                echo '<li>
     241                                                        <b class="'.((isset($NewPlugins[$name]))?'new':'').'">'.$name.' :</b>
     242                                                        <table>';
     243                                                                foreach ($config as $key => $value) {
     244                                                                        echo '<tr>
     245                                                                                <td>'.$key.' :</td>
     246                                                                                <td><input type="text" name="PluginsProcess['.$name.']['.$key.']" value="'.bool_to_string($value,1).'" size="7"/></td>
     247                                                                        </tr>';
     248                                                                }
     249                                                        echo '</table>
     250                                                </li>';
     251                                        }
     252                                echo '</ul>
     253                        </li>
     254                        <li>
     255                                <span class="title">'.l10n('PluginsAfter').'</span>
     256                                <ul>';
     257                                        foreach ($PluginsAfter as $name => $config) {
     258                                                echo '<li>
     259                                                        <b class="'.((isset($NewPlugins[$name]))?'new':'').'">'.$name.' :</b>
     260                                                        <table>';
     261                                                                foreach ($config as $key => $value) {
     262                                                                        echo '<tr>
     263                                                                                <td>'.$key.' :</td>
     264                                                                                <td><input type="text" name="PluginsAfter['.$name.']['.$key.']" value="'.bool_to_string($value,1).'" size="7"/></td>
     265                                                                        </tr>';
     266                                                                }
     267                                                        echo '</table>
     268                                                </li>';
     269                                        }
     270                                echo '</ul>
     271                        </li>
     272                </ul>
     273        </div>
     274
     275        <div class="finish">   
     276                <input type="submit"/> <input type="reset"/> <a href="index.php">'.l10n('Back').'</a>
     277        </div>
     278        </form>';
     279}
     280
     281echo '</body>
     282</html>';
    265283?>
Note: See TracChangeset for help on using the changeset viewer.