Changeset 10337


Ignore:
Timestamp:
Apr 12, 2011, 7:45:22 PM (10 years ago)
Author:
mistic100
Message:

new version 1.4, new plugin for Charlies Content, NConvert updated

Location:
extensions/PHP_Optimisateur
Files:
40 added
25 deleted
18 edited

Legend:

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

    r9276 r10337  
    55\***************************************/
    66
    7 $PAGE_CONTENT[0] .= '<div class="generic config">
     7$PAGE['content'] .= '<div class="generic config">
    88                <h2>'.l10n('Configuration').'</h2>
    99                <ul>
     
    5656                                        <tr>
    5757                                                <td><b>'.l10n('DIMhd').' :</b></td>
    58                                                 <td>'.$CONF['DIMhd'].'px</td>
     58                                                <td>'.$CONF['DIMhd'].' px</td>
    5959                                        </tr>
    6060                                        <tr>
    6161                                                <td><b>'.l10n('DIMnormal').' :</b></td>
    62                                                 <td>'.$CONF['DIMnormal'].'px</td>
     62                                                <td>'.$CONF['DIMnormal'].' px</td>
    6363                                        </tr>
    6464                                        <tr>
    6565                                                <td><b>'.l10n('DIMthumbnail').' :</b></td>
    66                                                 <td>'.$CONF['DIMthumbnail'].'px</td>
     66                                                <td>'.$CONF['DIMthumbnail'].' px</td>
    6767                                        </tr>
    6868                                        <tr>
    6969                                                <td><b>'.l10n('Qhd').' :</b></td>
    70                                                 <td>'.$CONF['Qhd'].'%</td>
     70                                                <td>'.$CONF['Qhd'].' %</td>
    7171                                        </tr>
    7272                                        <tr>
    7373                                                <td><b>'.l10n('Qnormal').' :</b></td>
    74                                                 <td>'.$CONF['Qnormal'].'%</td>
     74                                                <td>'.$CONF['Qnormal'].' %</td>
    7575                                        </tr>
    7676                                        <tr>
    7777                                                <td><b>'.l10n('Qthumbnail').' :</b></td>
    78                                                 <td>'.$CONF['Qthumbnail'].'%</td>
     78                                                <td>'.$CONF['Qthumbnail'].' %</td>
    7979                                        </tr>
    8080                                        <tr>
    8181                                                <td><b>'.l10n('DPI').' :</b></td>
    82                                                 <td>'.$CONF['DPI'].'dpi</td>
     82                                                <td>'.$CONF['DPI'].' dpi</td>
    8383                                        </tr>
    8484                                </table>
     
    128128                       
    129129                        foreach ($CONF['Plugins'] as $plugin_id => $plugin_config) {
    130                                 $PAGE_CONTENT[0] .= '<li>
     130                                $PAGE['content'] .= '<li>
    131131                                        <div class="plugin-title">
    132132                                                <span class="title">'.$plugin_config['name'].' :</span>
    133133                                               
    134134                                                <span class="plugin-active">';
    135                                                 // Si il est manquant on ne met que la checkbox de suppression, sinon boutons d'activation
    136135                                                if ($plugin_config['active']) {
    137                                                         $PAGE_CONTENT[0] .= '<b class="new">'.l10n('Active').'</b>';
     136                                                        $PAGE['content'] .= '<b class="new">'.l10n('Active').'</b>';
    138137                                                } else {
    139                                                         $PAGE_CONTENT[0] .= '<b class="miss">'.l10n('Inactive').'</b>';
     138                                                        $PAGE['content'] .= '<b class="miss">'.l10n('Inactive').'</b>';
    140139                                                }
    141                                                 $PAGE_CONTENT[0] .= '</span>
     140                                                $PAGE['content'] .= '</span>
    142141                                               
    143142                                        </div>';
     
    147146                                                include('plugins/'.$plugin_id.'/setup.php');
    148147                                        }
    149                                 $PAGE_CONTENT[0] .= '</li>';
     148                                $PAGE['content'] .= '</li>';
    150149                        }
    151                 $PAGE_CONTENT[0] .= '</ul>
     150                $PAGE['content'] .= '</ul>
    152151        </div>';
    153152?>
  • extensions/PHP_Optimisateur/include/functions.php

    r9265 r10337  
    11<?php
     2
    23// Affiche les textes localisés
    34function l10n($code) {
     
    2223        while ($file = readdir($dh)) {
    2324                if ($file !== '.' && $file !== '..' && is_dir('language/'.$file)) {
    24                         $name = (file_exists('language/'.$file.'/'.$file.'.txt')) ? file_get_contents('language/'.$file.'/'.$file.'.txt') : $file;
     25                        $name = (file_exists('language/'.$file.'/iso.txt')) ? file_get_contents('language/'.$file.'/iso.txt') : $file;
    2526                        $languages[$file] = $name;
    2627                }
     
    6667                return preg_replace($search, $replace, $string);
    6768        } else {
    68                 return str_replace(array('%','$'), '_', $string);
     69                return str_replace(array('%','$',' '), '_', $string);
    6970        }
    7071}
     
    121122        $content = array();
    122123        foreach ($xml as $nom => $elem) {
    123                 if (trim($elem) == '') {
     124                if (trim($elem) == '' AND $elem != '') {
    124125                        $content[$nom] = XMLParse($elem->children());
    125126                } else {
     
    165166                                $array[$key] = true;           
    166167                        } else if ($value === 'false') {
    167                                 $array[$key] = false;           
     168                                $array[$key] = false;   
     169                        } else if ($value == null) {
     170                                // rien à faire ^^
    168171                        } else if (preg_match('#^([0-9]*)$#', $value)) {
    169172                                settype($array[$key], 'int');           
     
    247250// Verifie si une chaine est un nombre décimal (plus strict que is_numeric qui fonctionne avec les hexadecimaux)
    248251function is_decimal($num) {
    249         if(is_numeric($num) === true AND (float)$num == $num) {
     252        if((is_numeric($num) === true AND (float)$num == $num) OR $num === '0') {
    250253                return true;
    251254        } else {
     
    257260function load_plugin_lang($plugin_id) {
    258261        global $CONF, $Lang;
    259         if (file_exists('plugins/'.$plugin_id.'/lang/'.$CONF['user_lang'].'.php')) {
    260                 include('plugins/'.$plugin_id.'/lang/'.$CONF['user_lang'].'.php');
    261         } else {
    262                 include('plugins/'.$plugin_id.'/lang/en_UK.php');
    263         }
    264 }
     262        if (file_exists('plugins/'.$plugin_id.'/language/'.$CONF['user_lang'].'.php')) {
     263                include('plugins/'.$plugin_id.'/language/'.$CONF['user_lang'].'.php');
     264        } else {
     265                include('plugins/'.$plugin_id.'/language/en_UK.php');
     266        }
     267}
     268
     269// fonction nconvert avec gestion du log
     270function nconvert($param, $log=true) {
     271        global $LOG;
     272
     273        exec('include\nconvert.exe '. $param .' 2>&1', $out);
     274       
     275        if ($log) {
     276                for ($i=0; $i<=3; $i++)
     277                        unset($out[$i]);
     278                if (count($out)) $LOG[] = array_values($out);
     279                //$LOG[] = "\t" . $param;
     280        } else {
     281                return $out;
     282        }
     283}
     284
     285// fonction mkdir avec gestion du log
     286function mkdir_log($dir) {
     287        global $LOG;
     288        mkdir($dir, 0777, true);
     289        $LOG[] = 'Dir '.$dir.' created';
     290}
     291
     292// fonction copy avec gestion du log
     293function copy_log($src, $dest) {
     294        global $LOG;
     295        copy($src, $dest);
     296        $LOG[] = 'Copy '.$src.' to '.$dest;
     297}
     298
     299// fonction rename avec gestion du log
     300function rename_log($path, $new_path, $move=false) {
     301        global $LOG;
     302        rename($path, $new_path);
     303        if ($move)
     304                $LOG[] = 'Move '.$path.' to '.$new_path;
     305        else
     306                $LOG[] = 'Rename '.$path.' into '.$new_path;
     307}
     308
     309// enregistre le log dans un fichier
     310function print_log($nb, $s) {
     311        global $APPversion, $LOG;
     312       
     313        $config = file_get_contents('config.xml');
     314       
     315        $string =
     316                "PHP Optimisateur " . $APPversion . "\r\n".
     317                date('r') . "\r\n".
     318                $nb . " files in " . $s . " seconds" . "\r\n\r\n".
     319               
     320                $config . "\r\n\r\n";
     321       
     322        foreach ($LOG as $event) {
     323                if (is_array($event)) {
     324                        $string .= implode("\r\n", $event) . "\r\n";
     325                } else {
     326                        $string .= $event . "\r\n";
     327                }
     328        }
     329       
     330        if (!file_exists('logs')) {
     331                mkdir('logs', 0777, true);
     332        }
     333       
     334        $filename = 'log_' . date('Y-m-d_H-i-s') . '.txt';
     335        file_put_contents('logs/'.$filename, $string);
     336        return $filename;
     337}
     338
     339// case insentive version of in_array
     340function in_arrayi($needle, $haystack) {
     341        $needle = strtolower($needle);
     342        $haystack = array_map('strtolower', $haystack);
     343        return in_array($needle, $haystack);
     344}
     345
    265346?>
  • extensions/PHP_Optimisateur/include/header.php

    r9632 r10337  
    3535                        });
    3636                });
    37         </script>       
     37        </script>
     38       
     39        '.$PAGE['header'].'
    3840       
    3941</head>
     
    4850        <div id="languageSwitchLink" title="Change Language">
    4951                <ul>
    50                         <li><a href="#"><img src="language/'.$CONF['user_lang'].'/'.$CONF['user_lang'].'.png" alt="'.$CONF['languages'][$CONF['user_lang']].'"/> '.$CONF['languages'][$CONF['user_lang']].'</a></li>
     52                        <li><a href="#"><img src="language/'.$CONF['user_lang'].'/flag.png" alt="'.$CONF['languages'][$CONF['user_lang']].'"/> '.$CONF['languages'][$CONF['user_lang']].'</a></li>
    5153                </ul>
    5254        </div>
     
    5557                <ul>';
    5658                foreach ($CONF['languages'] as $key => $name) {
    57                         echo '<li><a class="lang" href="index.php?Lang='.$key.'" title="'.$name.'"><img src="language/'.$key.'/'.$key.'.png" alt="'.$name.'"/> '.$name.'</a></li>';
     59                        echo '<li><a class="lang" href="index.php?Lang='.$key.'" title="'.$name.'"><img src="language/'.$key.'/flag.png" alt="'.$name.'"/> '.$name.'</a></li>';
    5860                }
    5961                echo ' </ul>
  • extensions/PHP_Optimisateur/include/main.php

    r9633 r10337  
    1717                        $path = $dir.'/'.$file;
    1818                        $new_path = $dir.'/'.delete_special_car($file);
    19                         rename($path, $new_path);
     19                       
     20                        if ($path != $new_path) {
     21                                rename_log($path, $new_path);
     22                        }
    2023                       
    2124                        if (is_dir($new_path)) {
     
    4750
    4851$CONF['convOptions'] = '-ratio -rtype lanczos -rflag decr';
    49 $CONF['JPGexts'] = array('jpg', 'JPG'); // extensions admises pour le jpg
     52$CONF['allowedExt'] = array('jpg', 'jpeg', 'png', 'gif', 'bmp', 'tiff');
    5053
    5154
     
    6871// Boucle sur tous les fichiers
    6972for ($i=0; $i<count($FilesSource); $i++) {
    70         // Découpe le nom de fichier : dossier/fichier
    71         preg_match('#(.*)/(.*).((?i)[a-z0-9]{3,4})$#', $FilesSortie[$i], $matches);
    72         $FileFolder = $matches[1].'/'; // dossier de sortie
    73         $FileName = $matches[2]; // nom final
    74         $FileExt = $matches[3]; // extension orginale
    75                
     73        // Découpe le nom de fichier : dossier/fichier/extension
     74        preg_match('#^(.*)/(.*)\.([a-z0-9]{2,4})$#', $FilesSource[$i], $matches);
     75        $file['folder_src'] = $matches[1].'/'; // dossier d'entrée
     76        $file['folder_out'] = str_replace($CONF['DIRsource'], $CONF['DIRsortie'], $file['folder_src']); // dossier de sortie
     77        $file['name'] = $matches[2]; // nom final
     78        $file['ext'] = $matches[3]; // extension orginale
     79                       
    7680        // Crée les sous-dossiers de sortie & 'pwg_high' & 'thumbnail'
    77         if (!file_exists($FileFolder.'pwg_high') AND $CONF['DIRhighORNOT']) {
    78                 mkdir($FileFolder.'pwg_high', 0777, true);
     81        if (!file_exists($file['folder_out'].'pwg_high') AND $CONF['DIRhighORNOT']) {
     82                mkdir_log($file['folder_out'].'pwg_high');
    7983        }
    80         if (!file_exists($FileFolder.'thumbnail')) {
    81                 mkdir($FileFolder.'thumbnail', 0777, true);
     84        if (!file_exists($file['folder_out'].'thumbnail')) {
     85                mkdir_log($file['folder_out'].'thumbnail');
    8286        }
    8387       
    84         // Informations sur le fichier
    85         exec('include\nconvert.exe -info "'.$FilesSource[$i].'"', $FileInfos);
    86         for ($m=0; $m<=5; $m++) {
    87                 unset($FileInfos[$m]);
     88        if (!in_arrayi($file['ext'], $CONF['allowedExt'])) {
     89                $BlockAll['main'] = true;
     90                $LOG[] = 'Not image file : '.$FilesSource[$i];
    8891        }
    89         foreach ($FileInfos as $key) {
    90                 $a = explode(':', $key);
    91                 $FileInfos[trim($a[0])] = trim($a[1]);
     92       
     93        if (!isset($BlockAll)) {
     94                // Informations sur le fichier
     95                exec('include\nconvert.exe -info "'.$FilesSource[$i].'"', $FileInfos);
     96               
     97                for ($m=0; $m<=5; $m++) {
     98                        unset($FileInfos[$m]);
     99                }
     100                foreach ($FileInfos as $key) {
     101                        if ($key != '') {
     102                                $a = explode(':', $key);
     103                                $FileInfos[trim($a[0])] = trim($a[1]);
     104                        }
     105                }
    92106        }
    93107               
     
    107121       
    108122        // Compresse les fichiers dans le dossier de sortie
    109         if (!isset($BlockNormal)) {
    110                 exec('include\nconvert.exe -q '.$CONF['Qnormal'].' -out jpeg -o "'.$FileFolder.$FileName.'.jpg" -dpi 72 '.$CONF['convOptions'].' -resize '.$CONF['DIMnormal'].' '.$CONF['DIMnormal'].' '.$CONF['copyNormal'].' "'.$FilesSource[$i].'"');
     123        if (!isset($BlockNormal) AND !isset($BlockAll)) {
     124                nconvert('-q '.$CONF['Qnormal'].' -out jpeg -o "'.$file['folder_out'].$file['name'].'.jpg" -dpi 72 '.$CONF['convOptions'].' -resize '.$CONF['DIMnormal'].' '.$CONF['DIMnormal'].' '.$CONF['copyNormal'].' "'.$FilesSource[$i].'"');
    111125        }
    112         if (!isset($BlockThumbnail)) {
    113                 exec('include\nconvert.exe -q '.$CONF['Qthumbnail'].' -out jpeg -o "'.$FileFolder.'thumbnail/'.$CONF['prefixe_mini'].$FileName.'.jpg" -dpi 72 '.$CONF['convOptions'].' -resize '.$CONF['DIMthumbnail'].' '.$CONF['DIMthumbnail'].' -rmeta -rexifthumb "'.$FilesSource[$i].'"');
     126        if (!isset($BlockThumbnail) AND !isset($BlockAll)) {
     127                nconvert('-q '.$CONF['Qthumbnail'].' -out jpeg -o "'.$file['folder_out'].'thumbnail/'.$CONF['prefixe_mini'].$file['name'].'.jpg" -dpi 72 '.$CONF['convOptions'].' -resize '.$CONF['DIMthumbnail'].' '.$CONF['DIMthumbnail'].' -rmeta -rexifthumb "'.$FilesSource[$i].'"');
    114128        }
    115         if (!isset($BlockHigh) AND $CONF['DIRhighORNOT']) {
     129        if (!isset($BlockHigh) AND $CONF['DIRhighORNOT'] AND !isset($BlockAll)) {
    116130                if ($CONF['DIMhdORNOT']) {
    117                         exec('include\nconvert.exe -q '.$CONF['Qhd'].' -out jpeg -o "'.$FileFolder.'pwg_high/'.$FileName.'.jpg" -dpi '.$CONF['DPI'].' '.$CONF['convOptions'].' -resize '.$CONF['DIMhd'].' '.$CONF['DIMhd'].' '.$CONF['copyHD'].' "'.$FilesSource[$i].'"');
    118                 } else if (!in_array($FileExt, $CONF['JPGexts'])) {
    119                         exec('include\nconvert.exe -q '.$CONF['Qhd'].' -out jpeg -o "'.$FileFolder.'pwg_high/'.$FileName.'.jpg" "'.$FilesSource[$i].'"');
     131                        nconvert('-q '.$CONF['Qhd'].' -out jpeg -o "'.$file['folder_out'].'pwg_high/'.$file['name'].'.jpg" -dpi '.$CONF['DPI'].' '.$CONF['convOptions'].' -resize '.$CONF['DIMhd'].' '.$CONF['DIMhd'].' '.$CONF['copyHD'].' "'.$FilesSource[$i].'"');
     132                } else if (strtolower($file['ext']) != 'jpg') {
     133                        nconvert('-q '.$CONF['Qhd'].' -out jpeg -o "'.$file['folder_out'].'pwg_high/'.$file['name'].'.jpg" "'.$FilesSource[$i].'"');
    120134                } else {
    121                         copy($FilesSource[$i], $FileFolder.'pwg_high/'.$FileName.'.jpg');
     135                        copy_log($FilesSource[$i], $file['folder_out'].'pwg_high/'.$file['name'].'.jpg');
    122136                }
    123137        }
    124138       
    125         // Réinitialise les bloqueurs
    126         unset($FileInfos);
    127         unset($BlockNormal);
    128         unset($BlockThumbnail);
    129         unset($BlockHigh);
     139        // Réinitialise les variables
     140        unset($file, $FileInfos, $BlockNormal, $BlockThumbnail, $BlockHigh, $BlockAll);
     141        $LOG[] = "\r\n";
    130142}
    131143
     
    139151                rmdir($dir);
    140152        } else if ($CONF['indexORNOT']) {
    141                 copy('include/index.php', $dir.'/index.php');
     153                copy_log('include/index.php', $dir.'/index.php');
    142154        }
    143155}
  • extensions/PHP_Optimisateur/include/save_config.php

    r9201 r10337  
    22// Quelques traitements
    33$_POST['copyPOS'] = implode('-', $_POST['copyPOS']);
    4 $_POST['copyCOLOR'] = str_replace('#','', $_POST['copyCOLOR']);
     4$_POST['copyCOLOR'] = str_replace('#', null, $_POST['copyCOLOR']);
    55$_POST['prefixe_mini'] = delete_special_car($_POST['prefixe_mini']);
    6 if (!preg_match('#(.*)/$#', $_POST['DIRsource'])) $_POST['DIRsource'] .= '/';
    7 if (!preg_match('#(.*)/$#', $_POST['DIRsortie'])) $_POST['DIRsortie'] .= '/';
     6$_POST['DIRsource'] = rtrim($_POST['DIRsource'], '/') . '/';
     7$_POST['DIRsortie'] = rtrim($_POST['DIRsortie'], '/') . '/';
    88
    99// Vérifications
    1010if (!is_decimal($_POST['Qhd']) OR $_POST['Qhd'] > 100) {
    1111        $_POST['Qhd'] = 100;
    12         $Errors['ErrorConfig'] = 'notice';
     12        $ERRORS['conf'][] = array(l10n('Qhd'), 'must_be_integer_100');
    1313}
    1414if (!is_decimal($_POST['Qnormal']) OR $_POST['Qnormal'] > 100) {
    1515        $_POST['Qnormal'] = 100;
    16         $Errors['ErrorConfig'] = 'notice';
     16        $ERRORS['conf'][] = array(l10n('Qnormal'), 'must_be_integer_100');
    1717}
    1818if (!is_decimal($_POST['Qthumbnail']) OR $_POST['Qthumbnail'] > 100) {
    1919        $_POST['Qthumbnail'] = 100;
    20         $Errors['ErrorConfig'] = 'notice';
     20        $ERRORS['conf'][] = array(l10n('Qthumbnail'), 'must_be_integer_100');
    2121}
    2222if (!is_decimal($_POST['DIMhd'])) {
    2323        $_POST['DIMhd'] = 2560;
    24         $Errors['ErrorConfig'] = 'notice';
     24        $ERRORS['conf'][] = array(l10n('DIMhd'), 'must_be_integer');
    2525}
    2626if (!is_decimal($_POST['DIMnormal']) OR $_POST['DIMnormal'] > $_POST['DIMhd']) {
    2727        $_POST['DIMnormal'] = 800;
    28         $Errors['ErrorConfig'] = 'notice';
     28        $ERRORS['conf'][] = array(l10n('DIMnormal'), 'must_be_integer');
    2929}
    3030if (!is_decimal($_POST['DIMthumbnail']) OR $_POST['DIMthumbnail'] > $_POST['DIMnormal']) {
    3131        $_POST['DIMthumbnail'] = 120;
    32         $Errors['ErrorConfig'] = 'notice';
     32        $ERRORS['conf'][] = array(l10n('DIMthumbnail'), 'must_be_integer');
    3333}
    3434if (!is_decimal($_POST['DPI'])) {
    3535        $_POST['DPI'] = 72;
    36         $Errors['ErrorConfig'] = 'notice';
     36        $ERRORS['conf'][] = array(l10n('DPI'), 'must_be_integer');
     37}
     38if (!is_decimal($_POST['copySIZE'])) {
     39        $_POST['copySIZE'] = 0.05;
     40        $ERRORS['conf'][] = array(l10n('copySIZE'), 'must_be_decimal');
    3741}
    3842       
     
    4953}
    5054
     55
     56// écrase la configuration
     57unset($_POST['submit']);
     58$CONF = array_merge($CONF, array_settype($_POST));
     59
    5160// Contenu du fichier
    5261$content = '<?xml version="1.0" encoding="UTF-8"?>'."\r\n".'<config>'."\r\n";
     
    5564file_put_contents('config.xml', $content);
    5665
    57 if (isset($Errors['ErrorConfig'])) {
    58         header('Location:index.php?page=setup&ErrorConfig='.$Errors['ErrorConfig']);
    59 } else {
    60         header('Location:index.php');
     66if (!isset($ERRORS['conf'])) {
     67        // header('Location:index.php');
     68        $PAGE['header'] .= '<meta http-equiv="refresh" content="3;url=index.php">';
     69        $PAGE['end'] .= '<div class="generic finish">'.l10n('Saved').'</div>';
    6170}
     71
    6272?>
  • extensions/PHP_Optimisateur/include/setup.php

    r9276 r10337  
    2727$CONF['copyCOLOR'] = nice_hex_color($CONF['copyCOLOR']);
    2828
    29 $PAGE_CONTENT[0] .= '<form action="index.php?page=setup" method="post">
     29$PAGE['content'] .= '<form action="index.php?page=setup" method="post">
    3030        <div class="generic config">
    3131                <h2>'.l10n('Configuration').'</h2>
     
    212212                       
    213213                        foreach ($CONF['Plugins'] as $plugin_id => $plugin_config) {
    214                                 $PAGE_CONTENT[0] .= '<li>
     214                                $PAGE['content'] .= '<li>
    215215                                        <div class="plugin-title">
    216216                                                <span class="title">'.$plugin_config['name'].' :</span>
     
    220220                                                // Cas spéciaux dans le titre (nouveau, manquant)
    221221                                                if (isset($NewPlugins[$plugin_id])) {
    222                                                         $PAGE_CONTENT[0] .= ' <b class="new">'.l10n('New !').'</b>';
     222                                                        $PAGE['content'] .= ' <b class="new">'.l10n('New !').'</b>';
    223223                                                } else if (isset($MissingPlugins[$plugin_id])) {
    224                                                         $PAGE_CONTENT[0] .= ' <b class="miss">'.l10n('Missing !').'</b>';
     224                                                        $PAGE['content'] .= ' <b class="miss">'.l10n('Missing !').'</b>';
    225225                                                }
    226226                                               
    227227                                                // Si il est manquant on ne met que la checkbox de suppression, sinon boutons d'activation
    228                                                 $PAGE_CONTENT[0] .= '<span class="plugin-active">';
     228                                                $PAGE['content'] .= '<span class="plugin-active">';
    229229                                                        if (isset($MissingPlugins[$plugin_id])) {
    230                                                                 $PAGE_CONTENT[0] .= '<label><input type="checkbox" name="Plugins['.$plugin_id.'][delete]" value="true" checked="checked"/> '.l10n('erase').'</label>';
     230                                                                $PAGE['content'] .= '<label><input type="checkbox" name="Plugins['.$plugin_id.'][delete]" value="true" checked="checked"/> '.l10n('erase').'</label>';
    231231                                                        } else {
    232                                                                 $PAGE_CONTENT[0] .= '<input type="radio" id="" id="active-'.$plugin_id.'" name="Plugins['.$plugin_id.'][active]" value="true" '.(($plugin_config['active'])?'checked="checked"':'').'/>
     232                                                                $PAGE['content'] .= '<input type="radio" id="" id="active-'.$plugin_id.'" name="Plugins['.$plugin_id.'][active]" value="true" '.(($plugin_config['active'])?'checked="checked"':'').'/>
    233233                                                                <label for="active-'.$plugin_id.'">'.l10n('Active').'</label>
    234234                                                                <input type="radio" id="" id="inactive-'.$plugin_id.'"name="Plugins['.$plugin_id.'][active]" value="false" '.((!$plugin_config['active'])?'checked="checked"':'').'/>
    235235                                                                <label for="inactive-'.$plugin_id.'">'.l10n('Inactive').'</label>';
    236236                                                        }
    237                                                 $PAGE_CONTENT[0] .= '</span>
     237                                                $PAGE['content'] .= '</span>
    238238                                               
    239239                                        </div>';
     
    244244                                                include('plugins/'.$plugin_id.'/setup.php');
    245245                                        }
    246                                 $PAGE_CONTENT[0] .= '</li>';
     246                                $PAGE['content'] .= '</li>';
    247247                        }
    248248                       
    249                 $PAGE_CONTENT[0] .= '</ul>
     249                $PAGE['content'] .= '</ul>
    250250        </div>';
    251251       
    252252
    253         $PAGE_CONTENT[2] .= '<div class="generic link">
    254                 <input type="submit" value="'.l10n('Valid').'"/>
     253        $PAGE['end'] .= '<div class="generic link">
     254                <input type="submit" name="submit" value="'.l10n('Valid').'"/>
    255255                <input type="reset" onclick="location.href=\'index.php\'" value="'.l10n('Back').'"/>
    256256        </div>
  • extensions/PHP_Optimisateur/index.php

    r9515 r10337  
    22/***************************************\
    33|                       PHP OPTIMISATEUR                        |
    4 |                         Version 1.3.3                         |
     4|                         Version 1.4                           |
    55\***************************************/
    66
    77session_start();
    88set_time_limit(7200);
     9define('ROOT_DIR', dirname(__FILE__).'\\');
    910
    10 $APPversion = '1.3';
     11$APPversion = '1.4';
    1112$TIME_START = microtime(true);
    1213$ERRORS = array();
    1314$CONF = array();
    14 $PAGE_CONTENT = array(0=>null,1=>null,2=>null);
     15$LOG = array();
     16$PAGE = array(
     17        'section' => 'home',
     18        'header' => null,
     19        'content' => null,
     20        'msgs' => null,
     21        'end' => null,
     22);
    1523
    1624include('include/functions.php');
    17 $PAGE = (isset($_GET['page'])) ? $_GET['page'] : 'home';
     25if (isset($_GET['page'])) $PAGE['section'] = $_GET['page'];
    1826
    1927
     
    2129### CONFIGURATION ###
    2230if (!file_exists('config.xml')) {
    23         $ERRORS['fatal']['ErrorConfigFile'] = true;
     31        $ERRORS['fatal'][] = 'ErrorConfigFile';
    2432} else {
    2533        $CONF = load_config('config.xml');
     
    2735
    2836if (!file_exists('include/nconvert.exe')) {
    29         $ERRORS['fatal']['ErrorNconvert'] = true;
     37        $ERRORS['fatal'][] = 'ErrorNconvert';
     38}
     39
     40$CONF = array_merge($CONF, GetLanguage());
     41include('language/'.$CONF['user_lang'].'/common.lang.php');
     42
     43
     44
     45### PROCESSUS ###
     46switch ($PAGE['section']) {
     47        case 'home':
     48                if (!isset($ERRORS['fatal'])) {
     49                        if (!file_exists($CONF['DIRsource'])) {
     50                                mkdir($CONF['DIRsource']);
     51                        }
     52                        if (!file_exists($CONF['DIRsortie'])) {
     53                                mkdir($CONF['DIRsortie']);
     54                        }
     55                        if (is_dir_empty($CONF['DIRsource'])) {
     56                                $ERRORS['fatal'][] = 'ErrorFolderIn';
     57                        }
     58                        if ($CONF['silentORNOT'] == 'block' AND !is_dir_empty($CONF['DIRsortie'])) {
     59                                $ERRORS['fatal'][] = 'ErrorFolderOut';
     60                        } else if ($CONF['silentORNOT'] == 'erase' AND !is_dir_empty($CONF['DIRsortie'])) {
     61                                $ERRORS['notice'][] = 'EraseFolderOut';
     62                        }
     63                }
     64                break;
     65               
     66        case 'setup':
     67                if (isset($_POST['submit'])) {
     68                        include('include/save_config.php');
     69                }
     70                break;
     71       
     72        case 'process':
     73                include('include/main.php');
     74                break;
    3075}
    3176
    3277
    3378
    34 ### HEADER ###
    35 $CONF = array_merge($CONF, GetLanguage());
    36 include('language/'.$CONF['user_lang'].'/'.$CONF['user_lang'].'.php');
    37 include('include/header.php');
     79### AFFICHAGE ###
     80switch ($PAGE['section']) {
     81        case 'home':
     82                include('include/display_config.php');
     83               
     84                if (isset($ERRORS['fatal'])) {
     85                        $PAGE['end'] .= '
     86                        <div class="generic link">
     87                                <a class="input-submit" href="index.php">'.l10n('Reload').'</a>
     88                                <a class="input-submit" href="index.php?page=setup">'.l10n('Config').'</a>
     89                        </div>';
    3890
     91                } else {
     92                        $PAGE['end'] .= '
     93                        <div class="generic finish">
     94                                <span id="ready-text">'.l10n('Ready').'</span>
     95                                <span id="loader"><img src="template/favicon.png" alt="PHP OPT"/></span>
     96                        </div>
     97                        <div class="generic link">
     98                                <a class="input-submit" href="index.php?page=process" onclick="Load();">'.l10n('Launch').'</a>
     99                                <a class="input-submit" href="index.php?page=setup">'.l10n('Config').'</a>
     100                        </div>';
     101                }
     102                break;
     103               
     104        case 'setup':
     105                if (isset($ERRORS['fatal'])) {
     106                        $PAGE['end'] .= '
     107                        <div class="generic link">
     108                                <a class="input-submit" href="index.php">'.l10n('Back').'</a>
     109                                <a class="input-submit" href="index.php?page=setup">'.l10n('Reload').'</a>
     110                        </div>';
    39111
     112                } else {
     113                        include('include/setup.php');
     114                }
     115                break;
     116       
     117        case 'process':
     118                ### Affichage des fichiers traités et création du log ###
     119                $nb_files = count($FilesSource);
     120                $time = intval((microtime(true)-$TIME_START));
     121                $logfile = print_log($nb_files, $time);
     122               
     123                $PAGE['content'] .= '
     124                <div class="generic files">
     125                        <h2>'.l10n('Source files').'</h2>
     126                        <ul>';
     127                                foreach ($FilesSource as $value) {
     128                                        $PAGE['content'] .= '<li>'.$value.'</li>';
     129                                }
     130                        $PAGE['content'] .= '</ul>
     131                        <i>'.l10n('%d files', $nb_files).'</i><br>
     132                        <b>Log :</b> <a href="logs/'.$logfile.'">'.$logfile.'</a>
     133                </div>';
     134               
    40135
    41 ### PROCESSUS ###
    42 if ($PAGE == 'home') {
    43         if (!isset($ERRORS['fatal'])) {
    44                 if (!file_exists($CONF['DIRsource'])) {
    45                         mkdir($CONF['DIRsource']);
    46                 }
    47                 if (!file_exists($CONF['DIRsortie'])) {
    48                         mkdir($CONF['DIRsortie']);
    49                 }
    50                 if (is_dir_empty($CONF['DIRsource'])) {
    51                         $ERRORS['fatal']['ErrorFolderIn'] = true;
    52                 }
    53                 if ($CONF['silentORNOT'] == 'block' AND !is_dir_empty($CONF['DIRsortie'])) {
    54                         $ERRORS['fatal']['ErrorFolderOut'] = true;
    55                 } else if ($CONF['silentORNOT'] == 'erase' AND !is_dir_empty($CONF['DIRsortie'])) {
    56                         $ERRORS['notice']['EraseFolderOut'] = true;
    57                 }
    58         }
    59        
    60 } else if ($PAGE == 'setup') {
    61         if (isset($_GET['ErrorConfig'])) {
    62                 $ERRORS['notice']['ErrorConfig'] = true;
    63         }
    64         if (isset($_POST['DIRsource'])) {
    65                 include('include/save_config.php');
    66         }
    67        
    68 } else if ($PAGE = 'process') {
    69         include('include/main.php');
     136                unset($FilesSource);
     137                unset($FilesSortie);
     138               
     139                $PAGE['end'] .= '
     140                <div class="generic finish">'.l10n('Finish %d seconds', $time).'</div>
     141                <div class="generic link">
     142                        <a class="input-submit" href="index.php">'.l10n('Back').'</a>
     143                        <a class="input-submit" href="index.php?page=setup">'.l10n('Config').'</a>
     144                </div>';
     145                break;
    70146}
    71147
     
    73149
    74150### ERREURS ###
     151// erreurs fatales
    75152if (isset($ERRORS['fatal'])) {
    76         $PAGE_CONTENT[1] .= '<div class="generic error">';
    77                 foreach ($ERRORS['fatal'] as $key => $i) {
    78                         $PAGE_CONTENT[1] .= '<div>'.l10n('fatal.'.$key).'</div>';
     153        $PAGE['msgs'] .= '<div class="generic error">';
     154                foreach ($ERRORS['fatal'] as $key) {
     155                        $PAGE['msgs'] .= '<div>'.l10n('fatal.'.$key).'</div>';
    79156                }
    80         $PAGE_CONTENT[1] .= '</div>';
     157        $PAGE['msgs'] .= '</div>';
    81158}
     159// informations
    82160if (isset($ERRORS['notice'])) {
    83         $PAGE_CONTENT[1] .= '<div class="generic notice">';
    84                 foreach ($ERRORS['notice'] as $key => $i) {
    85                         $PAGE_CONTENT[1] .= '<div>'.l10n('notice.'.$key).'</div>';
     161        $PAGE['msgs'] .= '<div class="generic notice">';
     162                foreach ($ERRORS['notice'] as $key) {
     163                        $PAGE['msgs'] .= '<div>'.l10n('notice.'.$key).'</div>';
    86164                }
    87         $PAGE_CONTENT[1] .= '</div>';
     165        $PAGE['msgs'] .= '</div>';
     166}
     167// erreurs de configuration
     168if (isset($ERRORS['conf'])) {
     169        $PAGE['msgs'] .= '<div class="generic notice conf">';
     170                foreach ($ERRORS['conf'] as $key) {
     171                        $PAGE['msgs'] .= '<div>'.l10n('notice.'.$key[1].' %s', '<i>'.$key[0].'</i>').'</div>';
     172                }
     173        $PAGE['msgs'] .= '</div>';
    88174}
    89175
    90176
    91177
    92 ### AFFICHAGE ###
    93 if ($PAGE == 'home') {
    94         if (isset($ERRORS['fatal'])) {
    95                 $PAGE_CONTENT[2] .= '
    96                 <div class="generic link">
    97                         <a class="input-submit" href="index.php">'.l10n('Back').'</a>
    98                         <a class="input-submit" href="index.php?page=setup">'.l10n('Config').'</a>
    99                 </div>';
    100 
    101         } else {
    102                 include('include/display_config.php');
    103                
    104                 $PAGE_CONTENT[2] .= '
    105                 <div class="generic finish">
    106                         <span id="ready-text">'.l10n('Ready').'</span>
    107                         <span id="loader"><img src="template/favicon.png" alt="PHP OPT"/></span>
    108                 </div>
    109                 <div class="generic link">
    110                         <a class="input-submit" href="index.php?page=process" onclick="Load();">'.l10n('Launch').'</a>
    111                         <a class="input-submit" href="index.php?page=setup">'.l10n('Config').'</a>
    112                 </div>';
    113         }
    114        
    115 } else if ($PAGE == 'setup') {
    116         if (isset($ERRORS['fatal'])) {
    117                 $PAGE_CONTENT[2] .= '<div class="generic link"><a class="input-submit" href="index.php">'.l10n('Back').'</a></div>';
    118 
    119         } else {
    120                 include('include/setup.php');
    121         }
    122        
    123 } else if ($PAGE = 'process') {
    124         ### Affichage des fichiers traités ###
    125         $PAGE_CONTENT[0] .= '
    126         <div class="generic files">
    127                 <h2>'.l10n('Source files').'</h2>
    128                 <ul>';
    129                         foreach ($FilesSource as $value) {
    130                                 $PAGE_CONTENT[0] .= '<li>'.$value.'</li>';
    131                         }
    132                 $PAGE_CONTENT[0] .= '</ul>
    133                 <i>'.l10n('%d files', count($FilesSource)).'</i>
    134         </div>';
    135 
    136         unset($FilesSource);
    137         unset($FilesSortie);
    138        
    139         $PAGE_CONTENT[2] .= '
    140         <div class="generic finish">'.l10n('Finish %d seconds', intval((microtime(true)-$TIME_START))).'</div>
    141         <div class="generic link">
    142                 <a class="input-submit" href="index.php">'.l10n('Back').'</a>
    143                 <a class="input-submit" href="index.php?page=setup">'.l10n('Config').'</a>
    144         </div>';
    145 }
    146 
    147 
    148178### FIN ###
    149 echo $PAGE_CONTENT[0];
    150 echo $PAGE_CONTENT[1];
    151 echo $PAGE_CONTENT[2];
     179include('include/header.php');
     180echo $PAGE['content'];
     181echo $PAGE['msgs'];
     182echo $PAGE['end'];
    152183
    153184echo '
  • extensions/PHP_Optimisateur/plugins/convert_pan/main.php

    r9276 r10337  
    22/***************************************\
    33|                       PHP OPTIMISATEUR                        |
    4 |                 Plugin ConvertPan 1.2                 |
     4|                 Plugin ConvertPan 1.3                 |
    55\***************************************/
    66
     
    1414$CP_ratiopanthumb = $CONF['Plugins']['convert_pan']['RatioPanThumb'];   // Ratio des miniatures
    1515
    16 if (($CP_detectmode == 'name' AND strpos($FileName,$CP_namepanorama) !== false) OR ($CP_detectmode == 'ratio' AND $FileInfos['Width']/$FileInfos['Height'] >= $CP_ratiopan)) {
     16if (!isset($BlockAll)) {
     17
     18if (
     19        ($CP_detectmode == 'name' AND strpos($file['name'],$CP_namepanorama) !== false) OR
     20        ($CP_detectmode == 'ratio' AND $FileInfos['Width']/$FileInfos['Height'] >= $CP_ratiopan)
     21) {
    1722
    1823        if (!isset($BlockNormal) AND $CP_dimpanorama != 0) {
    19                 exec('include\nconvert.exe -q '.$CONF['Qnormal'].' -out jpeg -o "'.$FileFolder.$FileName.'.jpg" -dpi 72 '.$CONF['convOptions'].' -resize 0 '.$CP_dimpanorama.' '.$CONF['copyNormal'].' "'.$FilesSource[$i].'"');
     24                nconvert('-q '.$CONF['Qnormal'].' -out jpeg -o "'.$file['folder_out'].$file['name'].'.jpg" -dpi 72 '.$CONF['convOptions'].' -resize 0 '.$CP_dimpanorama.' '.$CONF['copyNormal'].' "'.$FilesSource[$i].'"');
    2025                $BlockNormal['convert_pan'] = true;
    2126        }
     
    2833                $offset_x = ($tmp_x - $CONF['DIMthumbnail']) / 2;
    2934               
    30                 exec('include\nconvert.exe -q '.$CONF['Qthumbnail'].' -out jpeg -o "'.$FileFolder.'thumbnail/'.$CONF['prefixe_mini'].$FileName.'.jpg" -dpi 72 '.$CONF['convOptions'].' -resize 0 '.$DIMthumbnailV.' -crop '.$offset_x.' 0 '.$CONF['DIMthumbnail'].' '.$DIMthumbnailV.' -rmeta -rexifthumb "'.$FilesSource[$i].'"');
     35                nconvert('-q '.$CONF['Qthumbnail'].' -out jpeg -o "'.$file['folder_out'].'thumbnail/'.$CONF['prefixe_mini'].$file['name'].'.jpg" -dpi 72 '.$CONF['convOptions'].' -resize 0 '.$DIMthumbnailV.' -crop '.$offset_x.' 0 '.$CONF['DIMthumbnail'].' '.$DIMthumbnailV.' -rmeta -rexifthumb "'.$FilesSource[$i].'"');
    3136                $BlockThumbnail['convert_pan'] = true;
    3237        }
    3338}
     39
     40}
    3441?>
  • extensions/PHP_Optimisateur/plugins/convert_pan/setup.php

    r9276 r10337  
    11<?php
     2load_plugin_lang('convert_pan');
     3
    24switch ($PLUGIN_ACTION) {
    35        // Affichage simple de la configuration
    46        case 'read_config':
    5                 load_plugin_lang('convert_pan');
    6                 $PAGE_CONTENT[0] .= '
     7                $PAGE['content'] .= '
    78                <table>
    89                        <tr>
     
    1213                       
    1314                        if ($plugin_config['DetectMode'] == 'name') {
    14                                 $PAGE_CONTENT[0] .= '
     15                                $PAGE['content'] .= '
    1516                                <tr>
    1617                                        <td>'.l10n('convert_pan.NAMEpanorama').' :</td>
     
    1819                                </tr>';
    1920                        } else if ($plugin_config['DetectMode'] == 'ratio') {
    20                                 $PAGE_CONTENT[0] .= '
     21                                $PAGE['content'] .= '
    2122                                <tr>
    2223                                        <td>'.l10n('convert_pan.RatioPan').' :</td>
     
    2526                        }
    2627                       
    27                         $PAGE_CONTENT[0] .= '
     28                        $PAGE['content'] .= '
    2829                        <tr>
    2930                                <td>'.l10n('convert_pan.DIMpanorama').' :</td>
    30                                 <td>'.$plugin_config['DIMpanorama'].'px</td>
     31                                <td>'.$plugin_config['DIMpanorama'].' px</td>
    3132                        </tr>
    3233                        <tr>
     
    4344                if (!is_decimal($_POST['Plugins']['convert_pan']['DIMpanorama'])) {
    4445                        $_POST['Plugins']['convert_pan']['DIMpanorama'] = 500;
    45                         $Errors['ErrorConfig'] = 'notice';
     46                        $ERRORS['conf'][] = array(l10n('convert_pan.DIMpanorama'), 'must_be_integer');
    4647                }
    4748                if (!is_decimal($_POST['Plugins']['convert_pan']['RatioPanThumb'])) {
    4849                        $_POST['Plugins']['convert_pan']['RatioPanThumb'] = 1.7;
    49                         $$Errors['ErrorConfig'] = 'notice';
     50                        $ERRORS['conf'][] = array(l10n('convert_pan.RatioPanThumb'), 'must_be_decimal');
    5051                }
    5152                if (!is_decimal($_POST['Plugins']['convert_pan']['RatioPan'])) {
    5253                        $_POST['Plugins']['convert_pan']['RatioPan'] = 2.85;
    53                         $$Errors['ErrorConfig'] = 'notice';
     54                        $ERRORS['conf'][] = array(l10n('convert_pan.RatioPan'), 'must_be_decimal');
    5455                }
    5556               
     
    5859        // Formulaire d'édition
    5960        case 'edit_config':
    60                 load_plugin_lang('convert_pan');
    61                 $PAGE_CONTENT[0] .= '
     61                $PAGE['content'] .= '
    6262                <script type="text/javascript">
    6363                        function ToggleConfig(sel, section){
  • extensions/PHP_Optimisateur/plugins/create_custom_thumbs/main.php

    r9276 r10337  
    22/***************************************\
    33|                       PHP OPTIMISATEUR                        |
    4 |         Plugin CreateCustomThumbs 1.0.a       |
     4|         Plugin CreateCustomThumbs 1.1         |
    55\***************************************/
    66
     
    88## Dépend de la valeur de $CONF['DIMthumbnail']
    99
     10if (!isset($BlockAll)) {
     11
    1012// CreateCustomThumbs à la priorité sur ConvertPan
    1113if (isset($BlockThumbnail['convert_pan']) OR !isset($BlockThumbnail)) {
    1214
    13         $FileSource = $FilesSource[$i]; // fichier de travail
     15        if(!isset($CCT_filesource)) $CCT_filesource = $FilesSource[$i]; // fichier de travail
    1416        $CCT_dimthumbnail = $CONF['Plugins']['create_custom_thumbs']['DIMthumbnailV']; // Hauteur de l'image
    1517        $CCT_frameparams = $CONF['Plugins']['create_custom_thumbs']['FRAMEparams']; // Paramètres du cadre
     
    3032                }
    3133               
    32                 $offset_x = ($tmp_x - $CONF['DIMthumbnail']) / 2;
    33                 $offset_y = ($tmp_y - $CCT_dimthumbnail) / 2;
     34                $offset_x = ceil(($tmp_x - $CONF['DIMthumbnail']) / 2);
     35                $offset_y = ceil(($tmp_y - $CCT_dimthumbnail) / 2);
    3436               
    35                 exec('include\nconvert.exe -overwrite -q '.$CONF['Qthumbnail'].' -out jpeg -o "'.$FileFolder.'thumbnail/'.$CONF['prefixe_mini'].$FileName.'.jpg" -dpi 72 '.$CONF['convOptions'].' -resize '.$resize_param.' -crop '.$offset_x.' '.$offset_y.' '.$CONF['DIMthumbnail'].' '.$CCT_dimthumbnail.' -rmeta -rexifthumb        "'.$FileSource.'"');
     37                nconvert('-overwrite -q '.$CONF['Qthumbnail'].' -out jpeg -o "'.$file['folder_out'].'thumbnail/'.$CONF['prefixe_mini'].$file['name'].'.jpg" -dpi 72 '.$CONF['convOptions'].' -resize '.$resize_param.' -crop '.$offset_x.' '.$offset_y.' '.$CONF['DIMthumbnail'].' '.$CCT_dimthumbnail.' -rmeta -rexifthumb "'.$CCT_filesource.'"');
    3638               
    3739                $BlockThumbnail['create_custom_thumbs'] = true;
    38                 $FileSource = $FileFolder.'thumbnail/'.$CONF['prefixe_mini'].$FileName.'.jpg';
     40                $CCT_filesource = $file['folder_out'].'thumbnail/'.$CONF['prefixe_mini'].$file['name'].'.jpg';
    3941        }
    4042
     
    4244        if ($CCT_frameparams['size1'] != 0 OR $CCT_frameparams['size2'] != 0) {
    4345                // Si la miniature n'a pas encore été générée il faut le faire
    44                 if ($FileSource == $FilesSource[$i]) {
    45                         exec('include\nconvert.exe -q '.$CONF['Qthumbnail'].' -out jpeg -o "'.$FileFolder.'thumbnail/'.$CONF['prefixe_mini'].$FileName.'.jpg" -dpi 72 '.$CONF['convOptions'].' -resize '.$CONF['DIMthumbnail'].' '.$CONF['DIMthumbnail'].' -rmeta -rexifthumb   "'.$FilesSource[$i].'"');
    46                         $FileSource = $FileFolder.'thumbnail/'.$CONF['prefixe_mini'].$FileName.'.jpg';
     46                if ($CCT_filesource == $FilesSource[$i]) {
     47                        nconvert('-q '.$CONF['Qthumbnail'].' -out jpeg -o "'.$file['folder_out'].'thumbnail/'.$CONF['prefixe_mini'].$file['name'].'.jpg" -dpi 72 '.$CONF['convOptions'].' -resize '.$CONF['DIMthumbnail'].' '.$CONF['DIMthumbnail'].' -rmeta -rexifthumb "'.$FilesSource[$i].'"');
     48                        $CCT_filesource = $file['folder_out'].'thumbnail/'.$CONF['prefixe_mini'].$file['name'].'.jpg';
    4749                }
    4850
    49                 $img = imagecreatefromjpeg($FileSource);
     51                $img = imagecreatefromjpeg($CCT_filesource);
    5052                $x = imagesx($img)-1;
    5153                $y = imagesy($img)-1;
     
    6365                }
    6466               
    65                 imagejpeg($img, $FileFolder.'thumbnail/'.$CONF['prefixe_mini'].$FileName.'.jpg', $CONF['Qthumbnail']);
     67                imagejpeg($img, $file['folder_out'].'thumbnail/'.$CONF['prefixe_mini'].$file['name'].'.jpg', $CONF['Qthumbnail']);
    6668                imagedestroy($img);
    6769               
    6870                $BlockThumbnail['create_custom_thumbs'] = true;
    69                 $FileSource = $FileFolder.'thumbnail/'.$CONF['prefixe_mini'].$FileName.'.jpg';
     71                $CCT_filesource = $file['folder_out'].'thumbnail/'.$CONF['prefixe_mini'].$file['name'].'.jpg';
    7072        }
    7173}
    7274
     75}
    7376?>
  • extensions/PHP_Optimisateur/plugins/create_custom_thumbs/setup.php

    r9276 r10337  
    11<?php
     2load_plugin_lang('create_custom_thumbs');
     3
    24switch ($PLUGIN_ACTION) {
    35        // Affichage simple de la configuration
    46        case 'read_config':
    5                 load_plugin_lang('create_custom_thumbs');
    6                
    77                $plugin_config['FRAMEparams']['color1'] = nice_hex_color($plugin_config['FRAMEparams']['color1']);
    88                $plugin_config['FRAMEparams']['color2'] = nice_hex_color($plugin_config['FRAMEparams']['color2']);
    99               
    10                 $PAGE_CONTENT[0] .= '
     10                $PAGE['content'] .= '
    1111                <table>
    1212                        <tr>
    1313                                <td>'.l10n('create_custom_thumbs.DIMthumbnailV').' :</td>
    14                                 <td>'.bool_to_string($plugin_config['DIMthumbnailV']).'</td>
     14                                <td>'.bool_to_string($plugin_config['DIMthumbnailV']).' px</td>
    1515                        </tr>
    1616                        <tr>
     
    3636        // Actions avant enregistrement
    3737        case 'save_config':
    38                 $_POST['Plugins']['create_custom_thumbs']['FRAMEparams']['color1'] = str_replace('#','', $_POST['Plugins']['create_custom_thumbs']['FRAMEparams']['color1']);
    39                 $_POST['Plugins']['create_custom_thumbs']['FRAMEparams']['color2'] = str_replace('#','', $_POST['Plugins']['create_custom_thumbs']['FRAMEparams']['color2']);
     38                $_POST['Plugins']['create_custom_thumbs']['FRAMEparams']['color1'] = str_replace('#',null, $_POST['Plugins']['create_custom_thumbs']['FRAMEparams']['color1']);
     39                $_POST['Plugins']['create_custom_thumbs']['FRAMEparams']['color2'] = str_replace('#',null, $_POST['Plugins']['create_custom_thumbs']['FRAMEparams']['color2']);
    4040               
    4141                if (!is_decimal($_POST['Plugins']['create_custom_thumbs']['DIMthumbnailV'])) {
    4242                        $_POST['Plugins']['create_custom_thumbs']['DIMthumbnailV'] = 0;
    43                         $Errors['ErrorConfig'] = 'notice';
     43                        $ERRORS['conf'][] = array(l10n('create_custom_thumbs.DIMthumbnailV'), 'must_be_integer');
    4444                }
    4545                if (!is_decimal($_POST['Plugins']['create_custom_thumbs']['FRAMEparams']['size1'])) {
    4646                        $_POST['Plugins']['create_custom_thumbs']['FRAMEparams']['size1'] = 0;
    47                         $Errors['ErrorConfig'] = 'notice';
     47                        $ERRORS['conf'][] = array(l10n('create_custom_thumbs.FRAMEparams').' 1', 'must_be_integer');
    4848                }
    4949                if (!is_decimal($_POST['Plugins']['create_custom_thumbs']['FRAMEparams']['size2'])) {
    5050                        $_POST['Plugins']['create_custom_thumbs']['FRAMEparams']['size2'] = 0;
    51                         $Errors['ErrorConfig'] = 'notice';
     51                        $ERRORS['conf'][] = array(l10n('create_custom_thumbs.FRAMEparams').' 2', 'must_be_integer');
    5252                }
    5353               
     
    5757        // Formulaire d'édition
    5858        case 'edit_config':
    59                 load_plugin_lang('create_custom_thumbs');
    60 
    6159                $plugin_config['FRAMEparams']['color1'] = nice_hex_color($plugin_config['FRAMEparams']['color1']);
    6260                $plugin_config['FRAMEparams']['color2'] = nice_hex_color($plugin_config['FRAMEparams']['color2']);
    6361               
    64                 $PAGE_CONTENT[0] .='
     62                $PAGE['content'] .='
    6563                <table>
    6664                        <tr>
    6765                                <td>'.l10n('create_custom_thumbs.DIMthumbnailV').' :</td>
    6866                                <td>
    69                                         <input type="text" name="Plugins[create_custom_thumbs][DIMthumbnailV]" value="'.$plugin_config['DIMthumbnailV'].'" size="3"/>
     67                                        <input type="text" name="Plugins[create_custom_thumbs][DIMthumbnailV]" value="'.$plugin_config['DIMthumbnailV'].'" size="3"/>px
    7068                                        <i>'.l10n('create_custom_thumbs.unactive').'</i>
    7169                                </td>
  • extensions/PHP_Optimisateur/plugins/create_folders_alpha/main.php

    r9201 r10337  
    22/***************************************\
    33|                       PHP OPTIMISATEUR                        |
    4 |         Plugin CreateFoldersAlpha 1.1         |
     4|         Plugin CreateFoldersAlpha 1.2         |
    55\***************************************/
    66
     
    1919                        // Crée les dossier
    2020                        if (!file_exists($CONF['DIRsource'].$Letter.'/'.$FolderName)) {
    21                                 mkdir($CONF['DIRsource'].$Letter.'/'.$FolderName, 0777, true);
     21                                mkdir_log($CONF['DIRsource'].$Letter.'/'.$FolderName);
    2222                        }
    2323                       
    2424                        // Déplace le fichier
    25                         rename($CONF['DIRsource'].$file, $CONF['DIRsource'].$Letter.'/'.$FolderName.'/'.$file);
     25                        rename_log($CONF['DIRsource'].$file, $CONF['DIRsource'].$Letter.'/'.$FolderName.'/'.$file, true);
     26               
     27                } else {
     28                        $LOG[] = 'The file '.$CONF['DIRsource'].$file.' doesn\'t match the patern #^(.{1})([^_.]*)_(.*)#, not moved';
    2629                }
    27         }       
     30               
     31                $done = true;
     32        }
    2833}
     34
     35if (isset($done)) $LOG[] = "\r\n";
     36
    2937?>
  • extensions/PHP_Optimisateur/plugins/front2back_support/config.xml

    r9201 r10337  
    44        <NAMEverso>_verso</NAMEverso>
    55        <MOVEverso>true</MOVEverso>
     6        <TAGverso>alternate</TAGverso>
    67</plugin>
  • extensions/PHP_Optimisateur/plugins/front2back_support/main.php

    r9276 r10337  
    22/***************************************\
    33|                       PHP OPTIMISATEUR                        |
    4 |         Plugin Front2Back Support 1.1.a       |
     4|         Plugin Front2Back Support 1.2         |
    55\***************************************/
    66
     
    1111$F2B_nameverso = $CONF['Plugins']['front2back_support']['NAMEverso']; // Suffixe des versions alternatives
    1212$F2B_moveverso = $CONF['Plugins']['front2back_support']['MOVEverso']; // Déplacer les images originales dans un sous dosssier 'verso'
     13$F2B_tagverso  = $CONF['Plugins']['front2back_support']['TAGverso'];  // Ajoute un tag à toutes les images possédant une version alternative
    1314
    14 if (strpos($FileName, $F2B_nameverso) !== false) {
    15         $FileNameClean = str_replace($F2B_nameverso, '', $FileName);
     15if (!isset($BlockAll)) {
     16
     17// applique le tag au fichier normal si il existe un verso
     18if (file_exists($file['folder_src'].$file['name'].$F2B_nameverso.'.'.$file['ext']) AND !empty($F2B_tagverso)) {
     19        nconvert('-iptc_add 25 "'.$F2B_tagverso.'" "'.$FilesSource[$i].'"');
     20        $LOG[] = 'Tag "'.$F2B_tagverso.'" added to '.$FilesSource[$i];
     21}
     22
     23if (strpos($file['name'], $F2B_nameverso) !== false) {
     24        $file['name_clean'] = str_replace($F2B_nameverso,null,$file['name']);
     25       
     26        if (!empty($F2B_tagverso)) {
     27                nconvert('-iptc_add 25 "'.$F2B_tagverso.'" "'.$FilesSource[$i].'"');
     28                $LOG[] = 'Tag "'.$F2B_tagverso.'" added to '.$FilesSource[$i];
     29        }
    1630       
    1731        // Image normale
    18         if (!file_exists($FileFolder.'thumbnail/verso')) {
    19                 mkdir($FileFolder.'thumbnail/verso');
     32        if (!file_exists($file['folder_out'].'thumbnail/verso')) {
     33                mkdir_log($file['folder_out'].'thumbnail/verso');
    2034        }
    21         exec('include\nconvert.exe -q '.$CONF['Qnormal'].' -out jpeg -o "'.$FileFolder.'thumbnail/verso/'.$FileNameClean.'.jpg" -dpi 72 '.$CONF['convOptions'].' -resize '.$CONF['DIMnormal'].' '.$CONF['DIMnormal'].' '.$CONF['copyNormal'].' "'.$FilesSource[$i].'"');
     35        nconvert('-q '.$CONF['Qnormal'].' -out jpeg -o "'.$file['folder_out'].'thumbnail/verso/'.$file['name_clean'].'.jpg" -dpi 72 '.$CONF['convOptions'].' -resize '.$CONF['DIMnormal'].' '.$CONF['DIMnormal'].' '.$CONF['copyNormal'].' "'.$FilesSource[$i].'"');
    2236       
    2337        // Image hd
    2438        if ($CONF['DIRhighORNOT']) {
    25                 if (!file_exists($FileFolder.'pwg_high/verso')) {
    26                         mkdir($FileFolder.'pwg_high/verso');
     39                if (!file_exists($file['folder_out'].'pwg_high/verso')) {
     40                        mkdir($file['folder_out'].'pwg_high/verso');
     41                        $LOG[] = 'Dir '.$file['folder_out'].'pwg_high/verso/ created';
    2742                }
    2843                if ($CONF['DIMhdORNOT']) {
    29                         exec('include\nconvert.exe -q '.$CONF['Qhd'].' -out jpeg -o "'.$FileFolder.'pwg_high/verso/'.$FileNameClean.'.jpg" -dpi '.$CONF['DPI'].' '.$CONF['convOptions'].' -resize '.$CONF['DIMhd'].' '.$CONF['DIMhd'].' '.$CONF['copyHD'].' "'.$FilesSource[$i].'"');
    30                 } else if (!in_array($FileExt, $CONF['JPGexts'])) {
    31                         exec('include\nconvert.exe -q '.$CONF['Qhd'].' -out jpeg -o "'.$FileFolder.'pwg_high/'.$FileNameClean.'.jpg" "'.$FilesSource[$i].'"');
     44                        nconvert('-q '.$CONF['Qhd'].' -out jpeg -o "'.$file['folder_out'].'pwg_high/verso/'.$file['name_clean'].'.jpg" -dpi '.$CONF['DPI'].' '.$CONF['convOptions'].' -resize '.$CONF['DIMhd'].' '.$CONF['DIMhd'].' '.$CONF['copyHD'].' "'.$FilesSource[$i].'"');
     45                } else if (strtolower($file['ext']) != 'jpg') {
     46                        nconvert('-q '.$CONF['Qhd'].' -out jpeg -o "'.$file['folder_out'].'pwg_high/'.$file['name_clean'].'.jpg" "'.$FilesSource[$i].'"');
    3247                } else {
    33                         copy($FilesSource[$i], $FileFolder.'pwg_high/verso/'.$FileNameClean.'.jpg');
     48                        copy_log($FilesSource[$i], $file['folder_out'].'pwg_high/verso/'.$file['name_clean'].'.jpg');
    3449                }
    3550        }
     
    3752        // Déplacement de l'image originale
    3853        if ($F2B_moveverso) {
    39                 $FileFolderSource = str_replace($CONF['DIRsortie'], $CONF['DIRsource'], $FileFolder);
    40                 if (!file_exists($FileFolderSource.'verso')) {
    41                         mkdir($FileFolderSource.'verso', 0777, true);
     54                if (!file_exists($file['folder_src'].'verso')) {
     55                        mkdir_log($file['folder_src'].'verso', 0777, true);
    4256                }
    43                 rename($FileFolderSource.$FileName.'.'.$FileExt, $FileFolderSource.'verso/'.$FileNameClean.'.'.$FileExt);
     57                rename_log($file['folder_src'].$file['name'].'.'.$file['ext'], $file['folder_src'].'verso/'.$file['name_clean'].'.'.$file['ext'], true);
    4458        }
    4559       
    4660        // Suppression de la miniature si déjà crée (par un autre plugin)
    47         if (file_exists($FileFolder.'thumbnail/'.$CONF['prefixe_mini'].$FileName.'.jpg')) {
    48                 unlink($FileFolder.'thumbnail/'.$CONF['prefixe_mini'].$FileName.'.jpg');
     61        if (file_exists($file['folder_out'].'thumbnail/'.$CONF['prefixe_mini'].$file['name'].'.jpg')) {
     62                unlink($file['folder_out'].'thumbnail/'.$CONF['prefixe_mini'].$file['name'].'.jpg');
     63        }
     64        // Suppression de l'image HD si déjà crée (par un autre plugin)
     65        if (file_exists($file['folder_out'].'pwg_high/'.$file['name'].'.jpg')) {
     66                unlink($file['folder_out'].'pwg_high/'.$file['name'].'.jpg');
    4967        }
    5068       
     
    5371        $BlockHigh['front2back_support'] = true;
    5472}
     73
     74}
    5575?>
  • extensions/PHP_Optimisateur/plugins/front2back_support/setup.php

    r9276 r10337  
    11<?php
     2load_plugin_lang('front2back_support');
     3
    24switch ($PLUGIN_ACTION) {
    35        // Affichage simple de la configuration
    46        case 'read_config':
    5                 load_plugin_lang('front2back_support');
    6                 $PAGE_CONTENT[0] .= '
     7                $PAGE['content'] .= '
    78                <table>
    89                        <tr>
     
    1314                                <td>'.l10n('front2back_support.MOVEverso').' :</td>
    1415                                <td>'.bool_to_string($plugin_config['MOVEverso']).'</td>
     16                        </tr>
     17                        <tr>
     18                                <td>'.l10n('front2back_support.TAGverso').' :</td>
     19                                <td>'.$plugin_config['TAGverso'].'</td>
    1520                        </tr>
    1621                </table>';
     
    2429        // Formulaire d'édition
    2530        case 'edit_config':
    26                 load_plugin_lang('front2back_support');
    27                 $PAGE_CONTENT[0] .= '
     31                $PAGE['content'] .= '
    2832                <table>
    2933                        <tr>
     
    4044                                </td>
    4145                        </tr>
     46                        <tr>
     47                                <td>'.l10n('front2back_support.TAGverso').' :</td>
     48                                <td>
     49                                        <input type="text" name="Plugins[front2back_support][TAGverso]" value="'.$plugin_config['TAGverso'].'" size="10"/>
     50                                        <i>'.l10n('front2back_support.unactive').'</i>
     51                                </td>
     52                        </tr>
    4253                </table>';
    4354                break;
  • extensions/PHP_Optimisateur/plugins/watermark/setup.php

    r9276 r10337  
    11<?php
     2load_plugin_lang('watermark');
     3
    24switch ($PLUGIN_ACTION) {
    35        // Affichage simple de la configuration
    46        case 'read_config':
    5                 load_plugin_lang('watermark');
    6                 $PAGE_CONTENT[0] .= '
     7                $PAGE['content'] .= '
    78                <table>
    89                        <tr>
     
    1213                        <tr>
    1314                                <td>'.l10n('watermark.waterALPHA').' :</td>
    14                                 <td>'.$plugin_config['waterALPHA'].'%</td>
     15                                <td>'.$plugin_config['waterALPHA'].' %</td>
    1516                        </tr>
    1617                </table>';
     
    2122                if (!is_decimal($_POST['Plugins']['watermark']['waterALPHA'])) {
    2223                        $_POST['Plugins']['watermark']['waterALPHA'] = 80;
    23                         $Errors['ErrorConfig'] = 'notice';
     24                        $ERRORS['conf'][] = array(l10n('watermark.waterALPHA'), 'must_be_integer');
    2425                }
    2526               
     
    2829        // Formulaire d'édition
    2930        case 'edit_config':
    30                 load_plugin_lang('watermark');
    31                 $PAGE_CONTENT[0] .= '
     31                $PAGE['content'] .= '
    3232                <table>
    3333                        <tr>
  • extensions/PHP_Optimisateur/template/css/screen.css

    r9420 r10337  
    5454                width:942px;
    5555                text-align:center;
    56                 font-size:0.9em;
    5756                border:none;
    5857        }
     
    9190                font-weight:bold;
    9291                font-size:1.2em;
     92        }
     93        div.notice.conf {
     94                font-weight:normal;
     95                font-size:1em;
    9396        }
    9497        div.link {
     
    101104a {
    102105        text-decoration:none;
    103         font-size:1.2em;
    104106        font-style:italic;
    105107        font-family:"Consolas";
     
    115117                float:right;
    116118                margin-bottom:1px;
    117         }
    118         /* .lang a {
    119                 margin:-4px 10px;
    120                 float:right;
    121                 border:none;
    122         }
    123                 .lang a:hover img {
    124                         -moz-box-shadow:0 0 4px #07f;
    125                         -webkit-box-shadow:0 0 4px #07f;
    126                 } */
    127        
     119        }       
    128120
    129121h2 {
     
    210202        min-width:50%;
    211203}
    212         /* td {
    213                 width:50%;
    214         } */
    215                 tr td:first-child {
    216                         text-align:right;
    217                         padding-right:5px;
    218                         font-weight:bold;
    219                 }
     204        tr td:first-child {
     205                text-align:right;
     206                padding-right:5px;
     207                font-weight:bold;
     208        }
    220209        tr td.legend {
    221210                font-weight:normal;
     
    247236#languageSwitchLink {
    248237        float:right;
    249         width:90px;
     238        width:100px;
    250239        padding:0 5px;
    251240        text-align:left;
     
    257246        right:50%;
    258247        margin-right:-470px;
    259         width:90px;
     248        width:100px;
    260249        z-index:99;
    261250        padding:5px;
Note: See TracChangeset for help on using the changeset viewer.