Ignore:
Timestamp:
04/12/11 19:45:22 (9 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.