Changeset 12819


Ignore:
Timestamp:
01/01/12 22:09:17 (8 years ago)
Author:
mistic100
Message:

fix detection regex and watermark position

Location:
extensions/PHP_Optimisateur
Files:
1 deleted
21 edited

Legend:

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

    r10337 r12819  
    11<?php 
    22/***************************************\ 
    3 |                       PHP OPTIMISATEUR                        | 
    4 |                          Version 1.2                          | 
     3|      PHP OPTIMISATEUR      | 
     4|         Version 1.2        | 
    55\***************************************/ 
    66 
    77$PAGE['content'] .= '<div class="generic config"> 
    8                 <h2>'.l10n('Configuration').'</h2> 
    9                 <ul> 
    10                         <li> 
    11                                 <span class="title">'.l10n('Folders').'</span> 
    12                                 <table> 
    13                                         <tr> 
    14                                                 <td><b>'.l10n('FolderIn').' :</b></td> 
    15                                                 <td>'.$CONF['DIRsource'].'</td> 
    16                                         </tr> 
    17                                         <tr> 
    18                                                 <td><b>'.l10n('FolderOut').' :</b></td> 
    19                                                 <td>'.$CONF['DIRsortie'].'</td> 
    20                                         </tr> 
    21                                 </table> 
    22                         </li> 
    23                         <li> 
    24                                 <span class="title">'.l10n('Options').'</span> 
    25                                 <table> 
    26                                         <tr> 
    27                                                 <td><b>'.l10n('silentORNOT').' :</b></td> 
    28                                                 <td>'.l10n($CONF['silentORNOT']).'</td> 
    29                                         </tr> 
     8    <h2>'.l10n('Configuration').'</h2> 
     9    <ul> 
     10      <li> 
     11        <span class="title">'.l10n('Folders').'</span> 
     12        <table> 
     13          <tr> 
     14            <td><b>'.l10n('FolderIn').' :</b></td> 
     15            <td>'.$CONF['DIRsource'].'</td> 
     16          </tr> 
     17          <tr> 
     18            <td><b>'.l10n('FolderOut').' :</b></td> 
     19            <td>'.$CONF['DIRsortie'].'</td> 
     20          </tr> 
     21        </table> 
     22      </li> 
     23      <li> 
     24        <span class="title">'.l10n('Options').'</span> 
     25        <table> 
     26          <tr> 
     27            <td><b>'.l10n('silentORNOT').' :</b></td> 
     28            <td>'.l10n($CONF['silentORNOT']).'</td> 
     29          </tr> 
    3030 
    31                                         <tr> 
    32                                                 <td><b>'.l10n('DIRhighORNOT').' :</b></td> 
    33                                                 <td>'.bool_to_string($CONF['DIRhighORNOT']).'</td> 
    34                                         </tr> 
    35                                         <tr> 
    36                                                 <td><b>'.l10n('DIMhdORNOT').' :</b></td> 
    37                                                 <td>'.bool_to_string($CONF['DIMhdORNOT']).'</td> 
    38                                         </tr> 
    39                                         <tr> 
    40                                                 <td><b>'.l10n('renameORNOT').' :</b></td> 
    41                                                 <td>'.bool_to_string($CONF['renameORNOT']).'</td> 
    42                                         </tr> 
    43                                         <tr> 
    44                                                 <td><b>'.l10n('indexORNOT').' :</b></td> 
    45                                                 <td>'.bool_to_string($CONF['indexORNOT']).'</td> 
    46                                         </tr> 
    47                                         <tr> 
    48                                                 <td><b>'.l10n('prefixe_mini').' :</b></td> 
    49                                                 <td>'.$CONF['prefixe_mini'].'</td> 
    50                                         </tr> 
    51                                 </table> 
    52                         </li> 
    53                         <li> 
    54                                 <span class="title">'.l10n('Sizes and quality').'</span> 
    55                                 <table> 
    56                                         <tr> 
    57                                                 <td><b>'.l10n('DIMhd').' :</b></td> 
    58                                                 <td>'.$CONF['DIMhd'].' px</td> 
    59                                         </tr> 
    60                                         <tr> 
    61                                                 <td><b>'.l10n('DIMnormal').' :</b></td> 
    62                                                 <td>'.$CONF['DIMnormal'].' px</td> 
    63                                         </tr> 
    64                                         <tr> 
    65                                                 <td><b>'.l10n('DIMthumbnail').' :</b></td> 
    66                                                 <td>'.$CONF['DIMthumbnail'].' px</td> 
    67                                         </tr> 
    68                                         <tr> 
    69                                                 <td><b>'.l10n('Qhd').' :</b></td> 
    70                                                 <td>'.$CONF['Qhd'].' %</td> 
    71                                         </tr> 
    72                                         <tr> 
    73                                                 <td><b>'.l10n('Qnormal').' :</b></td> 
    74                                                 <td>'.$CONF['Qnormal'].' %</td> 
    75                                         </tr> 
    76                                         <tr> 
    77                                                 <td><b>'.l10n('Qthumbnail').' :</b></td> 
    78                                                 <td>'.$CONF['Qthumbnail'].' %</td> 
    79                                         </tr> 
    80                                         <tr> 
    81                                                 <td><b>'.l10n('DPI').' :</b></td> 
    82                                                 <td>'.$CONF['DPI'].' dpi</td> 
    83                                         </tr> 
    84                                 </table> 
    85                         </li> 
    86                         <li> 
    87                                 <span class="title">'.l10n('Copyright').'</span> 
    88                                 <table> 
    89                                         <tr> 
    90                                                 <td><b>'.l10n('Content').' :</b></td> 
    91                                                 <td>'.$CONF['copyright'].'</td> 
    92                                         </tr> 
    93                                         <tr> 
    94                                                 <td><b>'.l10n('copyONhd').' :</b></td> 
    95                                                 <td>'.bool_to_string($CONF['copyONhd']).'</td> 
    96                                         </tr> 
    97                                         <tr> 
    98                                                 <td><b>'.l10n('copyONnormal').' :</b></td> 
    99                                                 <td>'.bool_to_string($CONF['copyONnormal']).'</td> 
    100                                         </tr> 
    101                                         <tr> 
    102                                                 <td><b>'.l10n('copyPOS%s', '').' :</b></td> 
    103                                                 <td>'.$CONF['copyPOS'].'</td> 
    104                                         </tr> 
    105                                         <tr> 
    106                                                 <td><b>'.l10n('copySIZE').' :</b></td> 
    107                                                 <td>'.$CONF['copySIZE'].'</td> 
    108                                         </tr> 
    109                                         <tr> 
    110                                                 <td><b>'.l10n('copyCOLOR').' :</b></td> 
    111                                                 <td> 
    112                                                         #'.nice_hex_color($CONF['copyCOLOR']).' 
    113                                                         <span class="color-display" style="background-color:#'.nice_hex_color($CONF['copyCOLOR']).';">&nbsp;</span> 
    114                                                 </td> 
    115                                         </tr> 
    116                                         <tr> 
    117                                                 <td><b>'.l10n('copyFONT').' :</b></td> 
    118                                                 <td>'.$CONF['copyFONT'].'</td> 
    119                                         </tr> 
    120                                 </table> 
    121                         </li> 
    122                 </ul> 
    123                  
    124                 <h2>'.l10n('Plugins').'</h2> 
    125                 <ul>'; 
    126                         // Affichage des plugins 
    127                         $PLUGIN_ACTION = 'read_config'; 
    128                          
    129                         foreach ($CONF['Plugins'] as $plugin_id => $plugin_config) { 
    130                                 $PAGE['content'] .= '<li> 
    131                                         <div class="plugin-title"> 
    132                                                 <span class="title">'.$plugin_config['name'].' :</span> 
    133                                                  
    134                                                 <span class="plugin-active">'; 
    135                                                 if ($plugin_config['active']) { 
    136                                                         $PAGE['content'] .= '<b class="new">'.l10n('Active').'</b>'; 
    137                                                 } else { 
    138                                                         $PAGE['content'] .= '<b class="miss">'.l10n('Inactive').'</b>'; 
    139                                                 } 
    140                                                 $PAGE['content'] .= '</span> 
    141                                                  
    142                                         </div>'; 
    143                                          
    144                                         // On affiche sa configuration 
    145                                         if (file_exists('plugins/'.$plugin_id.'/setup.php')) { 
    146                                                 include('plugins/'.$plugin_id.'/setup.php'); 
    147                                         } 
    148                                 $PAGE['content'] .= '</li>'; 
    149                         } 
    150                 $PAGE['content'] .= '</ul> 
    151         </div>'; 
     31          <tr> 
     32            <td><b>'.l10n('DIRhighORNOT').' :</b></td> 
     33            <td>'.bool_to_string($CONF['DIRhighORNOT']).'</td> 
     34          </tr> 
     35          <tr> 
     36            <td><b>'.l10n('DIMhdORNOT').' :</b></td> 
     37            <td>'.bool_to_string($CONF['DIMhdORNOT']).'</td> 
     38          </tr> 
     39          <tr> 
     40            <td><b>'.l10n('renameORNOT').' :</b></td> 
     41            <td>'.bool_to_string($CONF['renameORNOT']).'</td> 
     42          </tr> 
     43          <tr> 
     44            <td><b>'.l10n('indexORNOT').' :</b></td> 
     45            <td>'.bool_to_string($CONF['indexORNOT']).'</td> 
     46          </tr> 
     47          <tr> 
     48            <td><b>'.l10n('prefixe_mini').' :</b></td> 
     49            <td>'.$CONF['prefixe_mini'].'</td> 
     50          </tr> 
     51        </table> 
     52      </li> 
     53      <li> 
     54        <span class="title">'.l10n('Sizes and quality').'</span> 
     55        <table> 
     56          <tr> 
     57            <td><b>'.l10n('DIMhd').' :</b></td> 
     58            <td>'.$CONF['DIMhd'].' px</td> 
     59          </tr> 
     60          <tr> 
     61            <td><b>'.l10n('DIMnormal').' :</b></td> 
     62            <td>'.$CONF['DIMnormal'].' px</td> 
     63          </tr> 
     64          <tr> 
     65            <td><b>'.l10n('DIMthumbnail').' :</b></td> 
     66            <td>'.$CONF['DIMthumbnail'].' px</td> 
     67          </tr> 
     68          <tr> 
     69            <td><b>'.l10n('Qhd').' :</b></td> 
     70            <td>'.$CONF['Qhd'].' %</td> 
     71          </tr> 
     72          <tr> 
     73            <td><b>'.l10n('Qnormal').' :</b></td> 
     74            <td>'.$CONF['Qnormal'].' %</td> 
     75          </tr> 
     76          <tr> 
     77            <td><b>'.l10n('Qthumbnail').' :</b></td> 
     78            <td>'.$CONF['Qthumbnail'].' %</td> 
     79          </tr> 
     80          <tr> 
     81            <td><b>'.l10n('DPI').' :</b></td> 
     82            <td>'.$CONF['DPI'].' dpi</td> 
     83          </tr> 
     84        </table> 
     85      </li> 
     86      <li> 
     87        <span class="title">'.l10n('Copyright').'</span> 
     88        <table> 
     89          <tr> 
     90            <td><b>'.l10n('Content').' :</b></td> 
     91            <td>'.$CONF['copyright'].'</td> 
     92          </tr> 
     93          <tr> 
     94            <td><b>'.l10n('copyONhd').' :</b></td> 
     95            <td>'.bool_to_string($CONF['copyONhd']).'</td> 
     96          </tr> 
     97          <tr> 
     98            <td><b>'.l10n('copyONnormal').' :</b></td> 
     99            <td>'.bool_to_string($CONF['copyONnormal']).'</td> 
     100          </tr> 
     101          <tr> 
     102            <td><b>'.l10n('copyPOS%s', '').' :</b></td> 
     103            <td>'.$CONF['copyPOS'].'</td> 
     104          </tr> 
     105          <tr> 
     106            <td><b>'.l10n('copySIZE').' :</b></td> 
     107            <td>'.$CONF['copySIZE'].'</td> 
     108          </tr> 
     109          <tr> 
     110            <td><b>'.l10n('copyCOLOR').' :</b></td> 
     111            <td> 
     112              #'.nice_hex_color($CONF['copyCOLOR']).' 
     113              <span class="color-display" style="background-color:#'.nice_hex_color($CONF['copyCOLOR']).';">&nbsp;</span> 
     114            </td> 
     115          </tr> 
     116          <tr> 
     117            <td><b>'.l10n('copyFONT').' :</b></td> 
     118            <td>'.$CONF['copyFONT'].'</td> 
     119          </tr> 
     120        </table> 
     121      </li> 
     122    </ul> 
     123     
     124    <h2>'.l10n('Plugins').'</h2> 
     125    <ul>'; 
     126      // Affichage des plugins 
     127      $PLUGIN_ACTION = 'read_config'; 
     128       
     129      foreach ($CONF['Plugins'] as $plugin_id => $plugin_config) { 
     130        $PAGE['content'] .= '<li> 
     131          <div class="plugin-title"> 
     132            <span class="title">'.$plugin_config['name'].' :</span> 
     133             
     134            <span class="plugin-active">'; 
     135            if ($plugin_config['active']) { 
     136              $PAGE['content'] .= '<b class="new">'.l10n('Active').'</b>'; 
     137            } else { 
     138              $PAGE['content'] .= '<b class="miss">'.l10n('Inactive').'</b>'; 
     139            } 
     140            $PAGE['content'] .= '</span> 
     141             
     142          </div>'; 
     143           
     144          // On affiche sa configuration 
     145          if (file_exists('plugins/'.$plugin_id.'/setup.php')) { 
     146            include('plugins/'.$plugin_id.'/setup.php'); 
     147          } 
     148        $PAGE['content'] .= '</li>'; 
     149      } 
     150    $PAGE['content'] .= '</ul> 
     151  </div>'; 
    152152?> 
  • extensions/PHP_Optimisateur/include/functions.php

    r10337 r12819  
    33// Affiche les textes localisés 
    44function l10n($code) { 
    5         global $Lang; 
    6         if (isset($Lang[$code])) { 
    7                 $args = func_get_args(); 
    8                 if (count($args) > 1) { 
    9                         array_shift($args); 
    10                         return vsprintf($Lang[$code], $args); 
    11                 } else { 
    12                         return $Lang[$code]; 
    13                 } 
    14         } else { 
    15                 return $code; 
    16         } 
     5  global $Lang; 
     6  if (isset($Lang[$code])) { 
     7    $args = func_get_args(); 
     8    if (count($args) > 1) { 
     9      array_shift($args); 
     10      return vsprintf($Lang[$code], $args); 
     11    } else { 
     12      return $Lang[$code]; 
     13    } 
     14  } else { 
     15    return $code; 
     16  } 
    1717} 
    1818 
    1919// Retourne la langue de l'utilisateur et les langues installées 
    2020function GetLanguage() { 
    21         // tableau avec les langues installées 
    22         $dh = opendir('language'); 
    23         while ($file = readdir($dh)) { 
    24                 if ($file !== '.' && $file !== '..' && is_dir('language/'.$file)) { 
    25                         $name = (file_exists('language/'.$file.'/iso.txt')) ? file_get_contents('language/'.$file.'/iso.txt') : $file; 
    26                         $languages[$file] = $name; 
    27                 } 
    28         } 
    29         closedir($dh); 
    30          
    31         // recherche du paramètre get ou session, ou langue du navigateur 
    32         if (isset($_GET['Lang'])) { 
    33                 $user_lang = $_GET['Lang']; 
    34         } else if (isset($_SESSION['Lang']) AND $_SESSION['Lang'] != NULL) { 
    35                 $user_lang = $_SESSION['Lang']; 
    36         } else { 
    37                 $user_lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'],0,2); 
    38         } 
    39          
    40         // si langue navigateur cherche une correspondance dans la tableau 
    41         if (strlen($user_lang) == 2) { 
    42                 foreach (array_keys($languages) as $lang) { 
    43                         if ($user_lang == substr($lang,0,2)) { 
    44                                 $user_lang = $lang; 
    45                                 break; 
    46                         } 
    47                 } 
    48         } 
    49          
    50         // si pas de correspondance OU get faux, langue par défaut 
    51         if (!in_array($user_lang, array_keys($languages))) { 
    52                 $user_lang = 'en_UK'; 
    53         } 
    54          
    55         $_SESSION['Lang'] = $user_lang; 
    56         return array('user_lang' => $_SESSION['Lang'], 'languages' => $languages); 
     21  // tableau avec les langues installées 
     22  $dh = opendir('language'); 
     23  while ($file = readdir($dh)) { 
     24    if ($file !== '.' && $file !== '..' && is_dir('language/'.$file)) { 
     25      $name = (file_exists('language/'.$file.'/iso.txt')) ? file_get_contents('language/'.$file.'/iso.txt') : $file; 
     26      $languages[$file] = $name; 
     27    } 
     28  } 
     29  closedir($dh); 
     30   
     31  // recherche du paramètre get ou session, ou langue du navigateur 
     32  if (isset($_GET['Lang'])) { 
     33    $user_lang = $_GET['Lang']; 
     34  } else if (isset($_SESSION['Lang']) AND $_SESSION['Lang'] != NULL) { 
     35    $user_lang = $_SESSION['Lang']; 
     36  } else { 
     37    $user_lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'],0,2); 
     38  } 
     39   
     40  // si langue navigateur cherche une correspondance dans la tableau 
     41  if (strlen($user_lang) == 2) { 
     42    foreach (array_keys($languages) as $lang) { 
     43      if ($user_lang == substr($lang,0,2)) { 
     44        $user_lang = $lang; 
     45        break; 
     46      } 
     47    } 
     48  } 
     49   
     50  // si pas de correspondance OU get faux, langue par défaut 
     51  if (!in_array($user_lang, array_keys($languages))) { 
     52    $user_lang = 'en_UK'; 
     53  } 
     54   
     55  $_SESSION['Lang'] = $user_lang; 
     56  return array('user_lang' => $_SESSION['Lang'], 'languages' => $languages); 
    5757} 
    5858 
    5959// Supprime tous les caractères speciaux 
    6060function delete_special_car($string) { 
    61         global $CONF; 
    62          
    63         $search = array ('#[éèêë]#','#[ÊËÈÉ]#','#[àâäã]#','#[ÂÄÁÀ]#','#[îïíì]#','#[ÎÏÍÌ]#','#[ûùüúµ]#','#[ÛÙÚÜ]#','#[ôóòõö]#','#[ÓÒÖÔÕ]#','#[ç]#','#[Ç]#','#[ñ]#','#[Ñ]#','#[ýÿ]#','#[Ý]#','#[ \&\!\?\#\"\(\)\{\}\[\]\=\+\~\%]#','#[^a-zA-Z0-9_\.\-]#'); 
    64         $replace = array ('e','E','a','A','i','I','u','U','o','O','c','C',',n','N','y','Y','_',''); 
    65          
    66         if ($CONF['renameORNOT']) { 
    67                 return preg_replace($search, $replace, $string); 
    68         } else { 
    69                 return str_replace(array('%','$',' '), '_', $string); 
    70         } 
     61  global $CONF; 
     62   
     63  $search = array ('#[éèêë]#','#[ÊËÈÉ]#','#[àâäã]#','#[ÂÄÁÀ]#','#[îïíì]#','#[ÎÏÍÌ]#','#[ûùüúµ]#','#[ÛÙÚÜ]#','#[ôóòõö]#','#[ÓÒÖÔÕ]#','#[ç]#','#[Ç]#','#[ñ]#','#[Ñ]#','#[ýÿ]#','#[Ý]#','#[ \&\!\?\#\"\(\)\{\}\[\]\=\+\~\%]#','#[^a-zA-Z0-9_\.\-]#'); 
     64  $replace = array ('e','E','a','A','i','I','u','U','o','O','c','C',',n','N','y','Y','_',''); 
     65   
     66  if ($CONF['renameORNOT']) { 
     67    return preg_replace($search, $replace, $string); 
     68  } else { 
     69    return str_replace(array('%','$',' '), '_', $string); 
     70  } 
    7171} 
    7272 
    7373// Teste si un dossier est vide 
    7474function is_dir_empty($dir) { 
    75         $array = scandir($dir); 
    76         if (count($array) > 2) { 
    77                 return false; 
    78         } else { 
    79                 return true; 
    80         } 
     75  $array = scandir($dir); 
     76  if (count($array) > 2) { 
     77    return false; 
     78  } else { 
     79    return true; 
     80  } 
    8181} 
    8282 
    8383// Supprime un repertoire non-vide 
    8484function rrmdir($dir) { 
    85         $dir = rtrim($dir, '/'); 
    86         $objects = scandir($dir); 
    87          
    88         foreach ($objects as $object) { 
    89                 if ($object !== '.' && $object !== '..') { 
    90                         $path = $dir.'/'.$object; 
    91                         if (filetype($path) == 'dir') rrmdir($path);  
    92                         else unlink($path); 
    93                 } 
    94         } 
    95  
    96         rmdir($dir); 
     85  $dir = rtrim($dir, '/'); 
     86  $objects = scandir($dir); 
     87   
     88  foreach ($objects as $object) { 
     89    if ($object !== '.' && $object !== '..') { 
     90      $path = $dir.'/'.$object; 
     91      if (filetype($path) == 'dir') rrmdir($path);  
     92      else unlink($path); 
     93    } 
     94  } 
     95 
     96  rmdir($dir); 
    9797}  
    9898 
    9999// Parcours récursivement un dossier 
    100100function recursive_readdir($dir, $array, $dirs=false) { 
    101         # si $dirs=true liste les dossiers plutot que les fichiers 
    102         global ${$array}; // Charge la tableau pour la sortie, déclaré à l'exterieur à cause de l'appel recursif de la fonction 
    103         $dir = rtrim($dir, '/'); 
    104         $dh = opendir($dir); 
    105          
    106         while (($file = readdir($dh)) !== false ) { 
    107                 if ($file !== '.' && $file !== '..') { 
    108                         $path = $dir.'/'.$file; 
    109                         if (is_dir($path)) { 
    110                                 if($dirs) ${$array}[] = $path; 
    111                                 recursive_readdir($path, $array, $dirs); 
    112                         } else { 
    113                                 if(!$dirs) ${$array}[] = $path; 
    114                         } 
    115                 } 
    116         } 
    117         closedir($dh); 
     101  # si $dirs=true liste les dossiers plutot que les fichiers 
     102  global ${$array}; // Charge la tableau pour la sortie, déclaré à l'exterieur à cause de l'appel recursif de la fonction 
     103  $dir = rtrim($dir, '/'); 
     104  $dh = opendir($dir); 
     105   
     106  while (($file = readdir($dh)) !== false ) { 
     107    if ($file !== '.' && $file !== '..') { 
     108      $path = $dir.'/'.$file; 
     109      if (is_dir($path)) { 
     110        if($dirs) ${$array}[] = $path; 
     111        recursive_readdir($path, $array, $dirs); 
     112      } else { 
     113        if(!$dirs) ${$array}[] = $path; 
     114      } 
     115    } 
     116  } 
     117  closedir($dh); 
    118118} 
    119119 
    120120// Parse le fichier de configuration 
    121121function XMLParse($xml) { 
    122         $content = array(); 
    123         foreach ($xml as $nom => $elem) {  
    124                 if (trim($elem) == '' AND $elem != '') {  
    125                         $content[$nom] = XMLParse($elem->children());  
    126                 } else {  
    127                         $content[$nom] = utf8_encode(utf8_decode($elem)); 
    128                 } 
    129         } 
    130         return $content; 
     122  $content = array(); 
     123  foreach ($xml as $nom => $elem) {  
     124    if (trim($elem) == '' AND $elem != '') {  
     125      $content[$nom] = XMLParse($elem->children());  
     126    } else {  
     127      $content[$nom] = utf8_encode(utf8_decode($elem)); 
     128    } 
     129  } 
     130  return $content; 
    131131} 
    132132 
    133133// Crée le fichier de configuration 
    134134function XMLCreate($array, $level=0) { 
    135         $content = null; 
    136         foreach ($array as $nom => $elem) { 
    137                 if (is_array($elem)) { 
    138                         for($i=0;$i<=$level;$i++) $content .= "\t"; 
    139                         $content .= '<'.$nom.'>'."\n"; 
    140                         $content .= XMLCreate($elem, $level+1); 
    141                         for($i=0;$i<=$level;$i++) $content .= "\t"; 
    142                         $content .= '</'.$nom.'>'."\n"; 
    143                 } else { 
    144                         for($i=0;$i<=$level;$i++) $content .= "\t"; 
    145                         $content .= '<'.$nom.'>'.$elem.'</'.$nom.'>'."\n"; 
    146                 } 
    147         } 
    148         return $content; 
     135  $content = null; 
     136  foreach ($array as $nom => $elem) { 
     137    if (is_array($elem)) { 
     138      for($i=0;$i<=$level;$i++) $content .= "  "; 
     139      $content .= '<'.$nom.'>'."\n"; 
     140      $content .= XMLCreate($elem, $level+1); 
     141      for($i=0;$i<=$level;$i++) $content .= "  "; 
     142      $content .= '</'.$nom.'>'."\n"; 
     143    } else { 
     144      for($i=0;$i<=$level;$i++) $content .= "  "; 
     145      $content .= '<'.$nom.'>'.$elem.'</'.$nom.'>'."\n"; 
     146    } 
     147  } 
     148  return $content; 
    149149} 
    150150 
    151151// Charge la configuration 
    152152function load_config($file) { 
    153         $config = simplexml_load_file($file); 
    154         $config = XMLParse($config); 
    155         $config = array_settype($config); 
    156         return $config; 
     153  $config = simplexml_load_file($file); 
     154  $config = XMLParse($config); 
     155  $config = array_settype($config); 
     156  return $config; 
    157157} 
    158158 
    159159// Convertit les booléens, entiers et flotants d'un tableau de 'string' 
    160160function array_settype($array) { 
    161         foreach ($array as $key => $value) { 
    162                 if (is_array($value)) { 
    163                         $array[$key] = array_settype($value); 
    164                 } else { 
    165                         if ($value === 'true') { 
    166                                 $array[$key] = true;             
    167                         } else if ($value === 'false') { 
    168                                 $array[$key] = false;    
    169                         } else if ($value == null) { 
    170                                 // rien à faire ^^ 
    171                         } else if (preg_match('#^([0-9]*)$#', $value)) { 
    172                                 settype($array[$key], 'int');            
    173                         } else if (preg_match('#^([0-9]*)(\.)([0-9]*)$#', $value)) { 
    174                                 settype($array[$key], 'float');          
    175                         } 
    176                 } 
    177         } 
    178                  
    179         return $array; 
     161  foreach ($array as $key => $value) { 
     162    if (is_array($value)) { 
     163      $array[$key] = array_settype($value); 
     164    } else { 
     165      if ($value === 'true') { 
     166        $array[$key] = true; 
     167      } else if ($value === 'false') { 
     168        $array[$key] = false; 
     169      } else if ($value == null) { 
     170        // rien à faire ^^ 
     171      } else if (preg_match('#^([0-9]*)$#', $value)) { 
     172        settype($array[$key], 'int'); 
     173      } else if (preg_match('#^([0-9]*)(\.)([0-9]*)$#', $value)) { 
     174        settype($array[$key], 'float'); 
     175      } 
     176    } 
     177  } 
     178     
     179  return $array; 
    180180} 
    181181 
    182182// Booléen vers français ou texte 
    183183function bool_to_string($string, $just_echo=0) { 
    184         global $Lang; 
    185         # $just_echo pour pouvoir afficher un booléen tel quel (echo true; n'affiche rien) 
    186         if (is_bool($string)) { 
    187                 if ($string) { 
    188                         if ($just_echo) return 'true'; 
    189                         else return l10n('yes'); 
    190                 } else { 
    191                         if ($just_echo) return 'false'; 
    192                         else return l10n('no'); 
    193                 } 
    194         } else { 
    195                 return $string; 
    196         } 
     184  global $Lang; 
     185  # $just_echo pour pouvoir afficher un booléen tel quel (echo true; n'affiche rien) 
     186  if (is_bool($string)) { 
     187    if ($string) { 
     188      if ($just_echo) return 'true'; 
     189      else return l10n('yes'); 
     190    } else { 
     191      if ($just_echo) return 'false'; 
     192      else return l10n('no'); 
     193    } 
     194  } else { 
     195    return $string; 
     196  } 
    197197} 
    198198 
    199199// Converti une chaine de config (param:value;param:value[;]) en tableau associatif 
    200200function ExplodeString($string, $sep1=';', $sep2=':') { 
    201         $string = preg_replace('#[;]$#', '', $string); 
    202         $result = array(); 
    203         $a = explode($sep1, $string); 
    204          
    205         foreach ($a as $s) { 
    206            $v = explode($sep2, $s); 
    207            $result[$v[0]] = $v[1]; 
    208         } 
    209         return $result; 
     201  $string = preg_replace('#[;]$#', '', $string); 
     202  $result = array(); 
     203  $a = explode($sep1, $string); 
     204   
     205  foreach ($a as $s) { 
     206     $v = explode($sep2, $s); 
     207     $result[$v[0]] = $v[1]; 
     208  } 
     209  return $result; 
    210210} 
    211211 
    212212// Converti un tableau associatif en chaine de config (param:value;param:value;) 
    213213function ImplodeArray($array, $sep1=';', $sep2=':') { 
    214         $result = null; 
    215         foreach ($array as $key => $value) { 
    216                 $result .= $key.$sep2.$value.$sep1; 
    217         } 
    218         return $result; 
     214  $result = null; 
     215  foreach ($array as $key => $value) { 
     216    $result .= $key.$sep2.$value.$sep1; 
     217  } 
     218  return $result; 
    219219} 
    220220 
    221221// Convertit les couleurs 'numériques' et gère les 0 manquants 
    222222function nice_hex_color($hex) { 
    223         $hex = strval($hex); 
    224         for ($i=strlen($hex); $i<6; $i++) { 
    225                 $hex = '0'.$hex; 
    226         } 
    227         return $hex; 
     223  $hex = strval($hex); 
     224  for ($i=strlen($hex); $i<6; $i++) { 
     225    $hex = '0'.$hex; 
     226  } 
     227  return $hex; 
    228228} 
    229229 
    230230// Converti une couleur HEX et RGB 
    231231function hex2RGB($hexStr, $returnAsString = false, $seperator = ',') { 
    232         $hexStr = preg_replace("/[^0-9A-Fa-f]/", '', $hexStr); // Gets a proper hex string 
    233          
    234         if (strlen($hexStr) == 6) { //If a proper hex code, convert using bitwise operation. No overhead... faster 
    235                 $colorVal = hexdec($hexStr); 
    236                 $rgbArray['r'] = 0xFF & ($colorVal >> 0x10); 
    237                 $rgbArray['g'] = 0xFF & ($colorVal >> 0x8); 
    238                 $rgbArray['b'] = 0xFF & $colorVal; 
    239         } elseif (strlen($hexStr) == 3) { //if shorthand notation, need some string manipulations 
    240                 $rgbArray['r'] = hexdec(str_repeat(substr($hexStr, 0, 1), 2)); 
    241                 $rgbArray['g'] = hexdec(str_repeat(substr($hexStr, 1, 1), 2)); 
    242                 $rgbArray['b'] = hexdec(str_repeat(substr($hexStr, 2, 1), 2)); 
    243         } else { 
    244                 return false; //Invalid hex color code 
    245         } 
    246          
    247         return $returnAsString ? implode($seperator, $rgbArray) : $rgbArray; // returns the rgb string or the associative array 
     232  $hexStr = preg_replace("/[^0-9A-Fa-f]/", '', $hexStr); // Gets a proper hex string 
     233   
     234  if (strlen($hexStr) == 6) { //If a proper hex code, convert using bitwise operation. No overhead... faster 
     235    $colorVal = hexdec($hexStr); 
     236    $rgbArray['r'] = 0xFF & ($colorVal >> 0x10); 
     237    $rgbArray['g'] = 0xFF & ($colorVal >> 0x8); 
     238    $rgbArray['b'] = 0xFF & $colorVal; 
     239  } elseif (strlen($hexStr) == 3) { //if shorthand notation, need some string manipulations 
     240    $rgbArray['r'] = hexdec(str_repeat(substr($hexStr, 0, 1), 2)); 
     241    $rgbArray['g'] = hexdec(str_repeat(substr($hexStr, 1, 1), 2)); 
     242    $rgbArray['b'] = hexdec(str_repeat(substr($hexStr, 2, 1), 2)); 
     243  } else { 
     244    return false; //Invalid hex color code 
     245  } 
     246   
     247  return $returnAsString ? implode($seperator, $rgbArray) : $rgbArray; // returns the rgb string or the associative array 
    248248} 
    249249 
    250250// Verifie si une chaine est un nombre décimal (plus strict que is_numeric qui fonctionne avec les hexadecimaux) 
    251251function is_decimal($num) { 
    252         if((is_numeric($num) === true AND (float)$num == $num) OR $num === '0') { 
    253                 return true; 
    254         } else { 
    255                 return false; 
    256         } 
     252  if((is_numeric($num) === true AND (float)$num == $num) OR $num === '0') { 
     253    return true; 
     254  } else { 
     255    return false; 
     256  } 
    257257} 
    258258 
    259259// Charge le fichier de langue d'un plugin 
    260260function load_plugin_lang($plugin_id) { 
    261         global $CONF, $Lang; 
    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         } 
     261  global $CONF, $Lang; 
     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  } 
    267267} 
    268268 
    269269// fonction nconvert avec gestion du log 
    270270function 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         } 
     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[] = "  " . $param; 
     280  } else { 
     281    return $out; 
     282  } 
    283283} 
    284284 
    285285// fonction mkdir avec gestion du log 
    286286function mkdir_log($dir) { 
    287         global $LOG; 
    288         mkdir($dir, 0777, true); 
    289         $LOG[] = 'Dir '.$dir.' created'; 
     287  global $LOG; 
     288  mkdir($dir, 0777, true); 
     289  $LOG[] = 'Dir '.$dir.' created'; 
    290290} 
    291291 
    292292// fonction copy avec gestion du log 
    293293function copy_log($src, $dest) { 
    294         global $LOG; 
    295         copy($src, $dest); 
    296         $LOG[] = 'Copy '.$src.' to '.$dest; 
     294  global $LOG; 
     295  copy($src, $dest); 
     296  $LOG[] = 'Copy '.$src.' to '.$dest; 
    297297} 
    298298 
    299299// fonction rename avec gestion du log 
    300300function 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; 
     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; 
    307307} 
    308308 
    309309// enregistre le log dans un fichier 
    310310function 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; 
     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; 
    337337} 
    338338 
    339339// case insentive version of in_array 
    340340function in_arrayi($needle, $haystack) { 
    341         $needle = strtolower($needle); 
    342         $haystack = array_map('strtolower', $haystack); 
    343         return in_array($needle, $haystack); 
     341  $needle = strtolower($needle); 
     342  $haystack = array_map('strtolower', $haystack); 
     343  return in_array($needle, $haystack); 
    344344} 
    345345 
  • extensions/PHP_Optimisateur/include/header.php

    r10337 r12819  
    22echo '<?xml version="1.0" encoding="utf-8"?> 
    33<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" 
    4         "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> 
     4  "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> 
    55<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> 
    66<head> 
    7         <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
    8         <title>PHP Optimisateur '.$APPversion.'</title> 
    9         <link href="template/favicon.png" rel="icon" type="image/x-icon" /> 
    10          
    11         <link rel="stylesheet" type="text/css" media="screen" href="template/css/screen.css"/> 
    12         <link rel="stylesheet" type="text/css" media="screen" href="template/css/colorpicker.css"/> 
    13         <link rel="stylesheet" type="text/css" media="screen" href="template/css/jqtransform.css"/> 
    14          
    15         <script type="text/javascript" src="template/js/jquery.js"></script> 
    16         <script type="text/javascript" src="template/js/colorpicker.js"></script> 
    17         <script type="text/javascript" src="template/js/jqtransform.js"></script> 
    18          
    19         <script language="javascript"> 
    20                 $(function(){ 
    21                         $("form").jqTransform({imgPath:"template/images/"}); 
    22                 }); 
    23                 function Load() { 
    24                         $(\'#ready-text\').html(\''.l10n('Processing').'\'); 
    25                         $(\'#loader\').html(\'<img src="template/images/loader.gif" alt="Load..."/>\'); 
    26                         $(\'#overlay\').css(\'display\',\'block\'); 
    27                 } 
    28          
    29                 jQuery().ready(function(){ 
    30                         jQuery("#languageSwitchLink").mouseover(function() { 
    31                                 jQuery("#languageSwitchBox").toggle(); 
    32                         }); 
    33                         jQuery("#languageSwitchBox").mouseleave(function() { 
    34                                 jQuery("#languageSwitchBox").toggle(); 
    35                         }); 
    36                 }); 
    37         </script> 
    38          
    39         '.$PAGE['header'].' 
    40          
     7  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
     8  <title>PHP Optimisateur '.$APPversion.'</title> 
     9  <link href="template/favicon.png" rel="icon" type="image/x-icon" /> 
     10   
     11  <link rel="stylesheet" type="text/css" media="screen" href="template/css/screen.css"/> 
     12  <link rel="stylesheet" type="text/css" media="screen" href="template/css/colorpicker.css"/> 
     13  <link rel="stylesheet" type="text/css" media="screen" href="template/css/jqtransform.css"/> 
     14   
     15  <script type="text/javascript" src="template/js/jquery.js"></script> 
     16  <script type="text/javascript" src="template/js/colorpicker.js"></script> 
     17  <script type="text/javascript" src="template/js/jqtransform.js"></script> 
     18   
     19  <script language="javascript"> 
     20    $(function(){ 
     21      $("form").jqTransform({imgPath:"template/images/"}); 
     22    }); 
     23    function Load() { 
     24      $(\'#ready-text\').html(\''.l10n('Processing').'\'); 
     25      $(\'#loader\').html(\'<img src="template/images/loader.gif" alt="Load..."/>\'); 
     26      $(\'#overlay\').css(\'display\',\'block\'); 
     27    } 
     28   
     29    jQuery().ready(function(){ 
     30      jQuery("#languageSwitchLink").mouseover(function() { 
     31        jQuery("#languageSwitchBox").toggle(); 
     32      }); 
     33      jQuery("#languageSwitchBox").mouseleave(function() { 
     34        jQuery("#languageSwitchBox").toggle(); 
     35      }); 
     36    }); 
     37  </script> 
     38   
     39  '.$PAGE['header'].' 
     40   
    4141</head> 
    4242 
     
    4646 
    4747<div class="generic title"> 
    48         PHP Optimisateur '.$APPversion.' 
    49          
    50         <div id="languageSwitchLink" title="Change Language"> 
    51                 <ul> 
    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> 
    53                 </ul> 
    54         </div> 
    55          
    56         <div id="languageSwitchBox" style="display:none;" class="generic"> 
    57                 <ul>'; 
    58                 foreach ($CONF['languages'] as $key => $name) { 
    59                         echo '<li><a class="lang" href="index.php?Lang='.$key.'" title="'.$name.'"><img src="language/'.$key.'/flag.png" alt="'.$name.'"/> '.$name.'</a></li>'; 
    60                 } 
    61                 echo ' </ul> 
    62         </div> 
    63          
     48  PHP Optimisateur '.$APPversion.' 
     49   
     50  <div id="languageSwitchLink" title="Change Language"> 
     51    <ul> 
     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> 
     53    </ul> 
     54  </div> 
     55   
     56  <div id="languageSwitchBox" style="display:none;" class="generic"> 
     57    <ul>'; 
     58    foreach ($CONF['languages'] as $key => $name) { 
     59      echo '<li><a class="lang" href="index.php?Lang='.$key.'" title="'.$name.'"><img src="language/'.$key.'/flag.png" alt="'.$name.'"/> '.$name.'</a></li>'; 
     60    } 
     61    echo ' </ul> 
     62  </div> 
     63   
    6464</div>'; 
    6565?> 
  • extensions/PHP_Optimisateur/include/main.php

    r10337 r12819  
    22// Si mode silencieux vidage automatique du dossier de sortie 
    33if ($CONF['silentORNOT'] == 'erase') { 
    4         @rrmdir($CONF['DIRsortie']); 
    5         @mkdir($CONF['DIRsortie']); 
     4  @rrmdir($CONF['DIRsortie']); 
     5  @mkdir($CONF['DIRsortie']); 
    66} 
    77 
     
    1010// Les caractères '%' et '$' sont systématiquement échappés, ca génère des bugs dans les noms de fichiers 
    1111function recursive_delete_special_car($dir) { 
    12         $dir = rtrim($dir, '/'); 
    13         $dh = opendir($dir); 
    14          
    15         while (($file = readdir($dh)) !== false ) { 
    16                 if ($file !== '.' && $file !== '..') { 
    17                         $path = $dir.'/'.$file; 
    18                         $new_path = $dir.'/'.delete_special_car($file); 
    19                          
    20                         if ($path != $new_path) { 
    21                                 rename_log($path, $new_path); 
    22                         } 
    23                          
    24                         if (is_dir($new_path)) { 
    25                                 recursive_delete_special_car($new_path); 
    26                         } 
    27                 } 
    28         } 
    29         closedir($dh); 
     12  $dir = rtrim($dir, '/'); 
     13  $dh = opendir($dir); 
     14   
     15  while (($file = readdir($dh)) !== false ) { 
     16    if ($file !== '.' && $file !== '..') { 
     17      $path = $dir.'/'.$file; 
     18      $new_path = $dir.'/'.delete_special_car($file); 
     19       
     20      if ($path != $new_path) { 
     21        rename_log($path, $new_path); 
     22      } 
     23       
     24      if (is_dir($new_path)) { 
     25        recursive_delete_special_car($new_path); 
     26      } 
     27    } 
     28  } 
     29  closedir($dh); 
    3030} 
    3131 
     
    3838 
    3939if ($CONF['copyONhd']) { 
    40         $CONF['copyHD'] = '-text_font "'.$CONF['copyFONT'].'" '.$CONF['DIMnormal']*$CONF['copySIZE'].' -text_color '.$CONF['copyCOLOR'].' -text_flag '.$CONF['copyPOS'].' -text_pos 0 0 -text "'.$CONF['copyright'].'"'; 
     40  $CONF['copyHD'] = '-text_font "'.$CONF['copyFONT'].'" '.$CONF['DIMnormal']*$CONF['copySIZE'].' -text_color '.$CONF['copyCOLOR'].' -text_flag '.$CONF['copyPOS'].' -text_pos 0 0 -text "'.$CONF['copyright'].'"'; 
    4141} else { 
    42         $CONF['copyHD'] = null; 
     42  $CONF['copyHD'] = null; 
    4343} 
    4444 
    4545if ($CONF['copyONnormal']) { 
    46         $CONF['copyNormal'] = '-text_font "'.$CONF['copyFONT'].'" '.$CONF['DIMnormal']*$CONF['copySIZE'].' -text_color '.$CONF['copyCOLOR'].' -text_flag '.$CONF['copyPOS'].' -text_pos 0 0 -text "'.$CONF['copyright'].'"'; 
     46  $CONF['copyNormal'] = '-text_font "'.$CONF['copyFONT'].'" '.$CONF['DIMnormal']*$CONF['copySIZE'].' -text_color '.$CONF['copyCOLOR'].' -text_flag '.$CONF['copyPOS'].' -text_pos 0 0 -text "'.$CONF['copyright'].'"'; 
    4747} else { 
    48         $CONF['copyNormal'] = null; 
     48  $CONF['copyNormal'] = null; 
    4949} 
    5050 
     
    5555### Plugins avant execution ### 
    5656foreach ($CONF['Plugins'] as $plugin_id => $plugin_config) { 
    57         if ($plugin_config['mode'] == 'Before' AND $plugin_config['active']) { 
    58                 include('plugins/'.$plugin_id.'/main.php'); 
    59         } 
     57  if ($plugin_config['mode'] == 'Before' AND $plugin_config['active']) { 
     58    include('plugins/'.$plugin_id.'/main.php'); 
     59  } 
    6060} 
    6161 
     
    7171// Boucle sur tous les fichiers 
    7272for ($i=0; $i<count($FilesSource); $i++) { 
    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                          
    80         // Crée les sous-dossiers de sortie & 'pwg_high' & 'thumbnail' 
    81         if (!file_exists($file['folder_out'].'pwg_high') AND $CONF['DIRhighORNOT']) { 
    82                 mkdir_log($file['folder_out'].'pwg_high'); 
    83         } 
    84         if (!file_exists($file['folder_out'].'thumbnail')) { 
    85                 mkdir_log($file['folder_out'].'thumbnail'); 
    86         } 
    87          
    88         if (!in_arrayi($file['ext'], $CONF['allowedExt'])) { 
    89                 $BlockAll['main'] = true; 
    90                 $LOG[] = 'Not image file : '.$FilesSource[$i]; 
    91         } 
    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                 } 
    106         } 
    107                  
    108         // Plugins pendant l'execution, haute priorité 
    109         foreach ($CONF['Plugins'] as $plugin_id => $plugin_config) { 
    110                 if ($plugin_config['mode'] == 'ProcessHigh' AND $plugin_config['active']) { 
    111                         include('plugins/'.$plugin_id.'/main.php'); 
    112                 } 
    113         } 
    114          
    115         // Plugins pendant l'execution 
    116         foreach ($CONF['Plugins'] as $plugin_id => $plugin_config) { 
    117                 if ($plugin_config['mode'] == 'Process' AND $plugin_config['active']) { 
    118                         include('plugins/'.$plugin_id.'/main.php'); 
    119                 } 
    120         } 
    121          
    122         // Compresse les fichiers dans le dossier de sortie 
    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].'"'); 
    125         } 
    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].'"'); 
    128         } 
    129         if (!isset($BlockHigh) AND $CONF['DIRhighORNOT'] AND !isset($BlockAll)) { 
    130                 if ($CONF['DIMhdORNOT']) { 
    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].'"'); 
    134                 } else { 
    135                         copy_log($FilesSource[$i], $file['folder_out'].'pwg_high/'.$file['name'].'.jpg'); 
    136                 } 
    137         } 
    138          
    139         // Réinitialise les variables 
    140         unset($file, $FileInfos, $BlockNormal, $BlockThumbnail, $BlockHigh, $BlockAll); 
    141         $LOG[] = "\r\n"; 
     73  // Découpe le nom de fichier : dossier/fichier/extension 
     74  preg_match('#^(.*)/(.*)\.([a-z0-9]{2,4})$#i', $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       
     80  // Crée les sous-dossiers de sortie & 'pwg_high' & 'thumbnail' 
     81  if (!file_exists($file['folder_out'].'pwg_high') AND $CONF['DIRhighORNOT']) { 
     82    mkdir_log($file['folder_out'].'pwg_high'); 
     83  } 
     84  if (!file_exists($file['folder_out'].'thumbnail')) { 
     85    mkdir_log($file['folder_out'].'thumbnail'); 
     86  } 
     87   
     88  if (!in_arrayi($file['ext'], $CONF['allowedExt'])) { 
     89    $BlockAll['main'] = true; 
     90    $LOG[] = 'Not image file : '.$FilesSource[$i]; 
     91  } 
     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    } 
     106  } 
     107     
     108  // Plugins pendant l'execution, haute priorité 
     109  foreach ($CONF['Plugins'] as $plugin_id => $plugin_config) { 
     110    if ($plugin_config['mode'] == 'ProcessHigh' AND $plugin_config['active']) { 
     111      include('plugins/'.$plugin_id.'/main.php'); 
     112    } 
     113  } 
     114   
     115  // Plugins pendant l'execution 
     116  foreach ($CONF['Plugins'] as $plugin_id => $plugin_config) { 
     117    if ($plugin_config['mode'] == 'Process' AND $plugin_config['active']) { 
     118      include('plugins/'.$plugin_id.'/main.php'); 
     119    } 
     120  } 
     121   
     122  // Compresse les fichiers dans le dossier de sortie 
     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].'"'); 
     125  } 
     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].'"'); 
     128  } 
     129  if (!isset($BlockHigh) AND $CONF['DIRhighORNOT'] AND !isset($BlockAll)) { 
     130    if ($CONF['DIMhdORNOT']) { 
     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].'"'); 
     134    } else { 
     135      copy_log($FilesSource[$i], $file['folder_out'].'pwg_high/'.$file['name'].'.jpg'); 
     136    } 
     137  } 
     138   
     139  // Réinitialise les variables 
     140  unset($file, $FileInfos, $BlockNormal, $BlockThumbnail, $BlockHigh, $BlockAll); 
     141  $LOG[] = "\r\n"; 
    142142} 
    143143 
     
    148148 
    149149foreach($DirsSortie as $dir) { 
    150         if (is_dir_empty($dir)) { 
    151                 rmdir($dir); 
    152         } else if ($CONF['indexORNOT']) { 
    153                 copy_log('include/index.php', $dir.'/index.php'); 
    154         } 
     150  if (is_dir_empty($dir)) { 
     151    rmdir($dir); 
     152  } else if ($CONF['indexORNOT']) { 
     153    copy_log('include/index.php', $dir.'/index.php'); 
     154  } 
    155155} 
    156156 
     
    160160### Plugins après execution ### 
    161161foreach ($CONF['Plugins'] as $plugin_id => $plugin_config) { 
    162         if ($plugin_config['mode'] == 'After' AND $plugin_config['active']) { 
    163                 include('plugins/'.$plugin_id.'/main.php'); 
    164         } 
     162  if ($plugin_config['mode'] == 'After' AND $plugin_config['active']) { 
     163    include('plugins/'.$plugin_id.'/main.php'); 
     164  } 
    165165} 
    166166?> 
  • extensions/PHP_Optimisateur/include/save_config.php

    r10337 r12819  
    11<?php 
    22// Quelques traitements 
    3 $_POST['copyPOS'] = implode('-', $_POST['copyPOS']); 
     3if ($_POST['copyPOS'][0] == 'center' and $_POST['copyPOS'][1] == 'center') { 
     4  $_POST['copyPOS'] = 'center'; 
     5} else { 
     6  $_POST['copyPOS'] = implode('-', $_POST['copyPOS']); 
     7} 
    48$_POST['copyCOLOR'] = str_replace('#', null, $_POST['copyCOLOR']); 
    59$_POST['prefixe_mini'] = delete_special_car($_POST['prefixe_mini']); 
     
    913// Vérifications 
    1014if (!is_decimal($_POST['Qhd']) OR $_POST['Qhd'] > 100) { 
    11         $_POST['Qhd'] = 100; 
    12         $ERRORS['conf'][] = array(l10n('Qhd'), 'must_be_integer_100'); 
     15  $_POST['Qhd'] = 100; 
     16  $ERRORS['conf'][] = array(l10n('Qhd'), 'must_be_integer_100'); 
    1317} 
    1418if (!is_decimal($_POST['Qnormal']) OR $_POST['Qnormal'] > 100) { 
    15         $_POST['Qnormal'] = 100; 
    16         $ERRORS['conf'][] = array(l10n('Qnormal'), 'must_be_integer_100'); 
     19  $_POST['Qnormal'] = 100; 
     20  $ERRORS['conf'][] = array(l10n('Qnormal'), 'must_be_integer_100'); 
    1721} 
    1822if (!is_decimal($_POST['Qthumbnail']) OR $_POST['Qthumbnail'] > 100) { 
    19         $_POST['Qthumbnail'] = 100; 
    20         $ERRORS['conf'][] = array(l10n('Qthumbnail'), 'must_be_integer_100'); 
     23  $_POST['Qthumbnail'] = 100; 
     24  $ERRORS['conf'][] = array(l10n('Qthumbnail'), 'must_be_integer_100'); 
    2125} 
    2226if (!is_decimal($_POST['DIMhd'])) { 
    23         $_POST['DIMhd'] = 2560; 
    24         $ERRORS['conf'][] = array(l10n('DIMhd'), 'must_be_integer'); 
     27  $_POST['DIMhd'] = 2560; 
     28  $ERRORS['conf'][] = array(l10n('DIMhd'), 'must_be_integer'); 
    2529} 
    2630if (!is_decimal($_POST['DIMnormal']) OR $_POST['DIMnormal'] > $_POST['DIMhd']) { 
    27         $_POST['DIMnormal'] = 800; 
    28         $ERRORS['conf'][] = array(l10n('DIMnormal'), 'must_be_integer'); 
     31  $_POST['DIMnormal'] = 800; 
     32  $ERRORS['conf'][] = array(l10n('DIMnormal'), 'must_be_integer'); 
    2933} 
    3034if (!is_decimal($_POST['DIMthumbnail']) OR $_POST['DIMthumbnail'] > $_POST['DIMnormal']) { 
    31         $_POST['DIMthumbnail'] = 120; 
    32         $ERRORS['conf'][] = array(l10n('DIMthumbnail'), 'must_be_integer'); 
     35  $_POST['DIMthumbnail'] = 120; 
     36  $ERRORS['conf'][] = array(l10n('DIMthumbnail'), 'must_be_integer'); 
    3337} 
    3438if (!is_decimal($_POST['DPI'])) { 
    35         $_POST['DPI'] = 72; 
    36         $ERRORS['conf'][] = array(l10n('DPI'), 'must_be_integer'); 
     39  $_POST['DPI'] = 72; 
     40  $ERRORS['conf'][] = array(l10n('DPI'), 'must_be_integer'); 
    3741} 
    3842if (!is_decimal($_POST['copySIZE'])) { 
    39         $_POST['copySIZE'] = 0.05; 
    40         $ERRORS['conf'][] = array(l10n('copySIZE'), 'must_be_decimal'); 
     43  $_POST['copySIZE'] = 0.05; 
     44  $ERRORS['conf'][] = array(l10n('copySIZE'), 'must_be_decimal'); 
    4145} 
    42          
     46   
    4347 
    4448// Plugins : supprime les plugins manquants & charge les actions de configuration 
     
    4650 
    4751foreach ($_POST['Plugins'] as $plugin_id => $plugin_config) { 
    48         if (isset($plugin_config['delete'])) { 
    49                 unset($_POST['Plugins'][$plugin_id]); 
    50         } else if (file_exists('plugins/'.$plugin_id.'/setup.php')) { 
    51                 include('plugins/'.$plugin_id.'/setup.php'); 
    52         } 
     52  if (isset($plugin_config['delete'])) { 
     53    unset($_POST['Plugins'][$plugin_id]); 
     54  } else if (file_exists('plugins/'.$plugin_id.'/setup.php')) { 
     55    include('plugins/'.$plugin_id.'/setup.php'); 
     56  } 
    5357} 
    5458 
     
    6569 
    6670if (!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>'; 
     71  // header('Location:index.php'); 
     72  $PAGE['header'] .= '<meta http-equiv="refresh" content="2;url=index.php">'; 
     73  $PAGE['end'] .= '<div class="generic finish">'.l10n('Saved').'</div>'; 
    7074} 
    7175 
  • extensions/PHP_Optimisateur/include/setup.php

    r10337 r12819  
    66 
    77foreach ($Available_Plugins as $plugin) { 
    8         $plugin_id = str_replace('plugins/', '', $plugin); // id du plugin 
    9         if (!array_key_exists($plugin_id, $CONF['Plugins'])) { 
    10                 $CONF['Plugins'][$plugin_id] = load_config('plugins/'.$plugin_id.'/config.xml'); // configuration du plugin 
    11                 $CONF['Plugins'][$plugin_id]['active'] = false; 
    12                 $NewPlugins[$plugin_id] = true; 
    13         } 
     8  $plugin_id = str_replace('plugins/', '', $plugin); // id du plugin 
     9  if (!array_key_exists($plugin_id, $CONF['Plugins'])) { 
     10    $CONF['Plugins'][$plugin_id] = load_config('plugins/'.$plugin_id.'/config.xml'); // configuration du plugin 
     11    $CONF['Plugins'][$plugin_id]['active'] = false; 
     12    $NewPlugins[$plugin_id] = true; 
     13  } 
    1414} 
    1515 
     
    1717### Gestion des plugins manquants ### 
    1818foreach ($CONF['Plugins'] as $plugin_id => $plugin_config) { 
    19         if (!file_exists('plugins/'.$plugin_id)) { 
    20                 $MissingPlugins[$plugin_id] = true; 
    21         } 
     19  if (!file_exists('plugins/'.$plugin_id)) { 
     20    $MissingPlugins[$plugin_id] = true; 
     21  } 
    2222} 
    2323 
    2424 
    2525### Formulaire ### 
    26 $CONF['copyPOS'] = explode('-', $CONF['copyPOS']); 
    2726$CONF['copyCOLOR'] = nice_hex_color($CONF['copyCOLOR']); 
     27if ($CONF['copyPOS'] == 'center') { 
     28  $CONF['copyPOS'] = array('center', 'center'); 
     29} else { 
     30  $CONF['copyPOS'] = explode('-', $CONF['copyPOS']); 
     31} 
    2832 
    2933$PAGE['content'] .= '<form action="index.php?page=setup" method="post"> 
    30         <div class="generic config"> 
    31                 <h2>'.l10n('Configuration').'</h2> 
    32                 <ul> 
    33                         <li> 
    34                                 <span class="title">'.l10n('Folders').'</span> 
    35                                 <table> 
    36                                         <tr> 
    37                                                 <td>'.l10n('FolderIn').' :</td> 
    38                                                 <td><input type="text" name="DIRsource" value="'.$CONF['DIRsource'].'"/></td> 
    39                                         </tr> 
    40                                         <tr> 
    41                                                 <td>'.l10n('FolderOut').' :</td> 
    42                                                 <td><input type="text" name="DIRsortie" value="'.$CONF['DIRsortie'].'"/></td> 
    43                                         </tr> 
    44                                 </table> 
    45                         </li> 
    46                         <li> 
    47                                 <span class="title">'.l10n('Options').'</span> 
    48                                 <table> 
    49                                         <tr> 
    50                                                 <td>'.l10n('silentORNOT').' :</td> 
    51                                                 <td> 
    52                                                         <input type="radio" id="silentORNOT1" name="silentORNOT" value="erase" '.(($CONF['silentORNOT']=='erase')?'checked="checked"':'').'/>  
    53                                                         <label for="silentORNOT1">'.l10n('erase').'</label> 
    54                                                         <input type="radio" id="silentORNOT2" name="silentORNOT" value="block" '.(($CONF['silentORNOT']=='block')?'checked="checked"':'').'/>  
    55                                                         <label for="silentORNOT2">'.l10n('block').'</label> 
    56                                                         <input type="radio" id="silentORNOT3" name="silentORNOT" value="pass" '.(($CONF['silentORNOT']=='pass')?'checked="checked"':'').'/>  
    57                                                         <label for="silentORNOT3">'.l10n('pass').'</label> 
    58                                                 </td> 
    59                                         </tr> 
    60                                         <tr> 
    61                                                 <td>'.l10n('DIRhighORNOT').' :</td> 
    62                                                 <td> 
    63                                                         <input type="radio" id="DIRhighORNOT1" name="DIRhighORNOT" value="true" '.(($CONF['DIRhighORNOT'])?'checked="checked"':'').'/>  
    64                                                         <label for="DIRhighORNOT1">'.l10n('yes').'</label> 
    65                                                         <input type="radio" id="DIRhighORNOT2" name="DIRhighORNOT" value="false" '.((!$CONF['DIRhighORNOT'])?'checked="checked"':'').'/>  
    66                                                         <label for="DIRhighORNOT2">'.l10n('no').'</label> 
    67                                                 </td> 
    68                                         </tr> 
    69                                         <tr> 
    70                                                 <td>'.l10n('DIMhdORNOT').' :</td> 
    71                                                 <td> 
    72                                                         <input type="radio" id="DIMhdORNOT1" name="DIMhdORNOT" value="true" '.(($CONF['DIMhdORNOT'])?'checked="checked"':'').'/>  
    73                                                         <label for="DIMhdORNOT1">'.l10n('yes').'</label> 
    74                                                         <input type="radio" id="DIMhdORNOT" name="DIMhdORNOT" value="false" '.((!$CONF['DIMhdORNOT'])?'checked="checked"':'').'/>  
    75                                                         <label for="DIMhdORNOT2">'.l10n('no').'</label> 
    76                                                 </td> 
    77                                         </tr> 
    78                                         <tr> 
    79                                                 <td>'.l10n('renameORNOT').' :</td> 
    80                                                 <td> 
    81                                                         <input type="radio" id="renameORNOT1" name="renameORNOT" value="true" '.(($CONF['renameORNOT'])?'checked="checked"':'').'/>  
    82                                                         <label for="renameORNOT1">'.l10n('yes').'</label> 
    83                                                         <input type="radio" id="renameORNOT2" name="renameORNOT" value="false" '.((!$CONF['renameORNOT'])?'checked="checked"':'').'/>  
    84                                                         <label for="renameORNOT2">'.l10n('no').'</label> 
    85                                                 </td> 
    86                                         </tr> 
    87                                         <tr> 
    88                                                 <td>'.l10n('indexORNOT').' :</td> 
    89                                                 <td> 
    90                                                         <input type="radio" id="indexORNOT1" name="indexORNOT" value="true" '.(($CONF['indexORNOT'])?'checked="checked"':'').'/>  
    91                                                         <label for="indexORNOT1">'.l10n('yes').'</label> 
    92                                                         <input type="radio" id="indexORNOT2" name="indexORNOT" value="false" '.((!$CONF['indexORNOT'])?'checked="checked"':'').'/>  
    93                                                         <label for="indexORNOT2">'.l10n('no').'</label> 
    94                                                 </td> 
    95                                         </tr> 
    96                                         <tr> 
    97                                                 <td>'.l10n('prefixe_mini').' :</td> 
    98                                                 <td><input type="text" name="prefixe_mini" value="'.$CONF['prefixe_mini'].'" size="8"/></td> 
    99                                         </tr> 
    100                                 </table> 
    101                         </li> 
    102                         <li> 
    103                                 <span class="title">'.l10n('Sizes and quality').'</span> 
    104                                 <table> 
    105                                         <tr> 
    106                                                 <td>'.l10n('DIMhd').' :</td> 
    107                                                 <td><input type="text" name="DIMhd" value="'.$CONF['DIMhd'].'" size="4"/>px</td> 
    108                                         </tr> 
    109                                         <tr> 
    110                                                 <td>'.l10n('DIMnormal').' :</td> 
    111                                                 <td><input type="text" name="DIMnormal" value="'.$CONF['DIMnormal'].'" size="3"/>px</td> 
    112                                         </tr> 
    113                                         <tr> 
    114                                                 <td>'.l10n('DIMthumbnail').' :</td> 
    115                                                 <td><input type="text" name="DIMthumbnail" value="'.$CONF['DIMthumbnail'].'" size="3"/>px</td> 
    116                                         </tr> 
    117                                         <tr> 
    118                                                 <td>'.l10n('Qhd').' :</td> 
    119                                                 <td><input type="text" name="Qhd" value="'.$CONF['Qhd'].'" size="3"/>%</td> 
    120                                         </tr> 
    121                                         <tr> 
    122                                                 <td>'.l10n('Qnormal').' :</td> 
    123                                                 <td><input type="text" name="Qnormal" value="'.$CONF['Qnormal'].'" size="3"/>%</td> 
    124                                         </tr> 
    125                                         <tr> 
    126                                                 <td>'.l10n('Qthumbnail').' :</td> 
    127                                                 <td><input type="text" name="Qthumbnail" value="'.$CONF['Qthumbnail'].'" size="3"/>%</td> 
    128                                         </tr> 
    129                                         <tr> 
    130                                                 <td>'.l10n('DPI').' :</td> 
    131                                                 <td><input type="text" name="DPI" value="'.$CONF['DPI'].'" size="3"/>dpi</td> 
    132                                         </tr> 
    133                                 </table> 
    134                         </li> 
    135                         <li> 
    136                                 <span class="title">'.l10n('Copyright').'</span> 
    137                                 <table> 
    138                                         <tr> 
    139                                                 <td>'.l10n('Content').' :</td> 
    140                                                 <td><input type="text" name="copyright" value="'.$CONF['copyright'].'"/></td> 
    141                                         </tr> 
    142                                         <tr> 
    143                                                 <td>'.l10n('copyONhd').' :</td> 
    144                                                 <td> 
    145                                                         <input type="radio" id="copyONhd1" name="copyONhd" value="true" '.(($CONF['copyONhd'])?'checked="checked"':'').'/>  
    146                                                         <label for="copyONhd1">'.l10n('yes').'</label> 
    147                                                         <input type="radio" id="copyONhd2" name="copyONhd" value="false" '.((!$CONF['copyONhd'])?'checked="checked"':'').'/>  
    148                                                         <label for="copyONhd2">'.l10n('no').'</label> 
    149                                                 </td> 
    150                                         </tr> 
    151                                         <tr> 
    152                                                 <td>'.l10n('copyONnormal').' :</td> 
    153                                                 <td> 
    154                                                         <input type="radio" id="copyONnormal1" name="copyONnormal" value="true" '.(($CONF['copyONnormal'])?'checked="checked"':'').'/>  
    155                                                         <label for="copyONnormal1">'.l10n('yes').'</label> 
    156                                                         <input type="radio" id="copyONnormal2" name="copyONnormal" value="false" '.((!$CONF['copyONnormal'])?'checked="checked"':'').'/>  
    157                                                         <label for="copyONnormal2">'.l10n('no').'</label> 
    158                                                 </td> 
    159                                         </tr> 
    160                                         <tr> 
    161                                                 <td>'.l10n('copyPOS%s', l10n('copyPOSv')).' :</td> 
    162                                                 <td> 
    163                                                         <input type="radio" id="copyPOS01" name="copyPOS[0]" value="top" '.(($CONF['copyPOS'][0]=='top')?'checked="checked"':'').'/>  
    164                                                         <label for="copyPOS01">'.l10n('top').'</label> 
    165                                                         <input type="radio" id="copyPOS02" name="copyPOS[0]" value="center" '.(($CONF['copyPOS'][0]=='center')?'checked="checked"':'').'/>  
    166                                                         <label for="copyPOS02">'.l10n('center').'</label> 
    167                                                         <input type="radio" id="copyPOS03" name="copyPOS[0]" value="bottom" '.(($CONF['copyPOS'][0]=='bottom')?'checked="checked"':'').'/>  
    168                                                         <label for="copyPOS03">'.l10n('bottom').'</label> 
    169                                                 </td> 
    170                                         </tr> 
    171                                         <tr> 
    172                                                 <td>'.l10n('copyPOS%s', l10n('copyPOSh')).' :</td> 
    173                                                 <td> 
    174                                                         <input type="radio" id="copyPOS11" name="copyPOS[1]" value="left" '.(($CONF['copyPOS'][1]=='left')?'checked="checked"':'').'/>  
    175                                                         <label for="copyPOS11">'.l10n('left').'</label> 
    176                                                         <input type="radio" id="copyPOS12" name="copyPOS[1]" value="center" '.(($CONF['copyPOS'][1]=='center')?'checked="checked"':'').'/>  
    177                                                         <label for="copyPOS12">'.l10n('center').'</label> 
    178                                                         <input type="radio" id="copyPOS13" name="copyPOS[1]" value="right" '.(($CONF['copyPOS'][1]=='right')?'checked="checked"':'').'/>  
    179                                                         <label for="copyPOS13">'.l10n('right').'</label> 
    180                                                 </td> 
    181                                         </tr> 
    182                                         <tr> 
    183                                                 <td>'.l10n('copySIZE').' :</td> 
    184                                                 <td><input type="text" name="copySIZE" value="'.$CONF['copySIZE'].'" size="5"/></td> 
    185                                         </tr> 
    186                                         <tr> 
    187                                                 <td>'.l10n('copyCOLOR').' :</td> 
    188                                                 <td><input type="text" id="colorpicker" name="copyCOLOR" value="'.$CONF['copyCOLOR'].'" size="6"/></td> 
    189                                                 <script type="text/javascript"> 
    190                                                         $("#colorpicker").ColorPicker({ 
    191                                                                 onSubmit: function(hsb, hex, rgb, el) { $(el).val(hex); $(el).ColorPickerHide(); }, 
    192                                                                 onChange: function(hsb, hex, rgb, el) { $("#colorpicker").val(hex); }, 
    193                                                                 onBeforeShow: function () { $(this).ColorPickerSetColor(this.value); } 
    194                                                         }) .bind("keyup", function(){ $(this).ColorPickerSetColor(this.value); }); 
    195                                                 </script> 
    196                                         </tr> 
    197                                         <tr> 
    198                                                 <td>'.l10n('copyFONT').' :</td> 
    199                                                 <td><input type="text" name="copyFONT" value="'.$CONF['copyFONT'].'"/></td> 
    200                                         </tr> 
    201                                 </table> 
    202                         </li> 
    203                 </ul> 
    204         </div> 
    205  
    206         <div class="generic config"> 
    207                 <h2>'.l10n('Plugins').'</h2> 
    208                 <ul>'; 
    209                          
    210                         // Affichage des plugins 
    211                         $PLUGIN_ACTION = 'edit_config'; 
    212                          
    213                         foreach ($CONF['Plugins'] as $plugin_id => $plugin_config) { 
    214                                 $PAGE['content'] .= '<li> 
    215                                         <div class="plugin-title"> 
    216                                                 <span class="title">'.$plugin_config['name'].' :</span> 
    217                                                 <input type="hidden" name="Plugins['.$plugin_id.'][name]" value="'.$plugin_config['name'].'"/> 
    218                                                 <input type="hidden" name="Plugins['.$plugin_id.'][mode]" value="'.$plugin_config['mode'].'"/>'; 
    219                                                  
    220                                                 // Cas spéciaux dans le titre (nouveau, manquant) 
    221                                                 if (isset($NewPlugins[$plugin_id])) { 
    222                                                         $PAGE['content'] .= ' <b class="new">'.l10n('New !').'</b>'; 
    223                                                 } else if (isset($MissingPlugins[$plugin_id])) { 
    224                                                         $PAGE['content'] .= ' <b class="miss">'.l10n('Missing !').'</b>'; 
    225                                                 } 
    226                                                  
    227                                                 // Si il est manquant on ne met que la checkbox de suppression, sinon boutons d'activation 
    228                                                 $PAGE['content'] .= '<span class="plugin-active">'; 
    229                                                         if (isset($MissingPlugins[$plugin_id])) { 
    230                                                                 $PAGE['content'] .= '<label><input type="checkbox" name="Plugins['.$plugin_id.'][delete]" value="true" checked="checked"/> '.l10n('erase').'</label>'; 
    231                                                         } else { 
    232                                                                 $PAGE['content'] .= '<input type="radio" id="" id="active-'.$plugin_id.'" name="Plugins['.$plugin_id.'][active]" value="true" '.(($plugin_config['active'])?'checked="checked"':'').'/> 
    233                                                                 <label for="active-'.$plugin_id.'">'.l10n('Active').'</label> 
    234                                                                 <input type="radio" id="" id="inactive-'.$plugin_id.'"name="Plugins['.$plugin_id.'][active]" value="false" '.((!$plugin_config['active'])?'checked="checked"':'').'/> 
    235                                                                 <label for="inactive-'.$plugin_id.'">'.l10n('Inactive').'</label>'; 
    236                                                         } 
    237                                                 $PAGE['content'] .= '</span> 
    238                                                  
    239                                         </div>'; 
    240                                          
    241                                          
    242                                         // On affiche sa configuration 
    243                                         if (!isset($MissingPlugins[$plugin_id]) AND file_exists('plugins/'.$plugin_id.'/setup.php')) { 
    244                                                 include('plugins/'.$plugin_id.'/setup.php'); 
    245                                         } 
    246                                 $PAGE['content'] .= '</li>'; 
    247                         } 
    248                          
    249                 $PAGE['content'] .= '</ul> 
    250         </div>'; 
    251          
    252  
    253         $PAGE['end'] .= '<div class="generic link"> 
    254                 <input type="submit" name="submit" value="'.l10n('Valid').'"/> 
    255                 <input type="reset" onclick="location.href=\'index.php\'" value="'.l10n('Back').'"/> 
    256         </div> 
     34  <div class="generic config"> 
     35    <h2>'.l10n('Configuration').'</h2> 
     36    <ul> 
     37      <li> 
     38        <span class="title">'.l10n('Folders').'</span> 
     39        <table> 
     40          <tr> 
     41            <td>'.l10n('FolderIn').' :</td> 
     42            <td><input type="text" name="DIRsource" value="'.$CONF['DIRsource'].'"/></td> 
     43          </tr> 
     44          <tr> 
     45            <td>'.l10n('FolderOut').' :</td> 
     46            <td><input type="text" name="DIRsortie" value="'.$CONF['DIRsortie'].'"/></td> 
     47          </tr> 
     48        </table> 
     49      </li> 
     50      <li> 
     51        <span class="title">'.l10n('Options').'</span> 
     52        <table> 
     53          <tr> 
     54            <td>'.l10n('silentORNOT').' :</td> 
     55            <td> 
     56              <input type="radio" id="silentORNOT1" name="silentORNOT" value="erase" '.(($CONF['silentORNOT']=='erase')?'checked="checked"':'').'/>  
     57              <label for="silentORNOT1">'.l10n('erase').'</label> 
     58              <input type="radio" id="silentORNOT2" name="silentORNOT" value="block" '.(($CONF['silentORNOT']=='block')?'checked="checked"':'').'/>  
     59              <label for="silentORNOT2">'.l10n('block').'</label> 
     60              <input type="radio" id="silentORNOT3" name="silentORNOT" value="pass" '.(($CONF['silentORNOT']=='pass')?'checked="checked"':'').'/>  
     61              <label for="silentORNOT3">'.l10n('pass').'</label> 
     62            </td> 
     63          </tr> 
     64          <tr> 
     65            <td>'.l10n('DIRhighORNOT').' :</td> 
     66            <td> 
     67              <input type="radio" id="DIRhighORNOT1" name="DIRhighORNOT" value="true" '.(($CONF['DIRhighORNOT'])?'checked="checked"':'').'/>  
     68              <label for="DIRhighORNOT1">'.l10n('yes').'</label> 
     69              <input type="radio" id="DIRhighORNOT2" name="DIRhighORNOT" value="false" '.((!$CONF['DIRhighORNOT'])?'checked="checked"':'').'/>  
     70              <label for="DIRhighORNOT2">'.l10n('no').'</label> 
     71            </td> 
     72          </tr> 
     73          <tr> 
     74            <td>'.l10n('DIMhdORNOT').' :</td> 
     75            <td> 
     76              <input type="radio" id="DIMhdORNOT1" name="DIMhdORNOT" value="true" '.(($CONF['DIMhdORNOT'])?'checked="checked"':'').'/>  
     77              <label for="DIMhdORNOT1">'.l10n('yes').'</label> 
     78              <input type="radio" id="DIMhdORNOT" name="DIMhdORNOT" value="false" '.((!$CONF['DIMhdORNOT'])?'checked="checked"':'').'/>  
     79              <label for="DIMhdORNOT2">'.l10n('no').'</label> 
     80            </td> 
     81          </tr> 
     82          <tr> 
     83            <td>'.l10n('renameORNOT').' :</td> 
     84            <td> 
     85              <input type="radio" id="renameORNOT1" name="renameORNOT" value="true" '.(($CONF['renameORNOT'])?'checked="checked"':'').'/>  
     86              <label for="renameORNOT1">'.l10n('yes').'</label> 
     87              <input type="radio" id="renameORNOT2" name="renameORNOT" value="false" '.((!$CONF['renameORNOT'])?'checked="checked"':'').'/>  
     88              <label for="renameORNOT2">'.l10n('no').'</label> 
     89            </td> 
     90          </tr> 
     91          <tr> 
     92            <td>'.l10n('indexORNOT').' :</td> 
     93            <td> 
     94              <input type="radio" id="indexORNOT1" name="indexORNOT" value="true" '.(($CONF['indexORNOT'])?'checked="checked"':'').'/>  
     95              <label for="indexORNOT1">'.l10n('yes').'</label> 
     96              <input type="radio" id="indexORNOT2" name="indexORNOT" value="false" '.((!$CONF['indexORNOT'])?'checked="checked"':'').'/>  
     97              <label for="indexORNOT2">'.l10n('no').'</label> 
     98            </td> 
     99          </tr> 
     100          <tr> 
     101            <td>'.l10n('prefixe_mini').' :</td> 
     102            <td><input type="text" name="prefixe_mini" value="'.$CONF['prefixe_mini'].'" size="8"/></td> 
     103          </tr> 
     104        </table> 
     105      </li> 
     106      <li> 
     107        <span class="title">'.l10n('Sizes and quality').'</span> 
     108        <table> 
     109          <tr> 
     110            <td>'.l10n('DIMhd').' :</td> 
     111            <td><input type="text" name="DIMhd" value="'.$CONF['DIMhd'].'" size="4"/>px</td> 
     112          </tr> 
     113          <tr> 
     114            <td>'.l10n('DIMnormal').' :</td> 
     115            <td><input type="text" name="DIMnormal" value="'.$CONF['DIMnormal'].'" size="3"/>px</td> 
     116          </tr> 
     117          <tr> 
     118            <td>'.l10n('DIMthumbnail').' :</td> 
     119            <td><input type="text" name="DIMthumbnail" value="'.$CONF['DIMthumbnail'].'" size="3"/>px</td> 
     120          </tr> 
     121          <tr> 
     122            <td>'.l10n('Qhd').' :</td> 
     123            <td><input type="text" name="Qhd" value="'.$CONF['Qhd'].'" size="3"/>%</td> 
     124          </tr> 
     125          <tr> 
     126            <td>'.l10n('Qnormal').' :</td> 
     127            <td><input type="text" name="Qnormal" value="'.$CONF['Qnormal'].'" size="3"/>%</td> 
     128          </tr> 
     129          <tr> 
     130            <td>'.l10n('Qthumbnail').' :</td> 
     131            <td><input type="text" name="Qthumbnail" value="'.$CONF['Qthumbnail'].'" size="3"/>%</td> 
     132          </tr> 
     133          <tr> 
     134            <td>'.l10n('DPI').' :</td> 
     135            <td><input type="text" name="DPI" value="'.$CONF['DPI'].'" size="3"/>dpi</td> 
     136          </tr> 
     137        </table> 
     138      </li> 
     139      <li> 
     140        <span class="title">'.l10n('Copyright').'</span> 
     141        <table> 
     142          <tr> 
     143            <td>'.l10n('Content').' :</td> 
     144            <td><input type="text" name="copyright" value="'.$CONF['copyright'].'"/></td> 
     145          </tr> 
     146          <tr> 
     147            <td>'.l10n('copyONhd').' :</td> 
     148            <td> 
     149              <input type="radio" id="copyONhd1" name="copyONhd" value="true" '.(($CONF['copyONhd'])?'checked="checked"':'').'/>  
     150              <label for="copyONhd1">'.l10n('yes').'</label> 
     151              <input type="radio" id="copyONhd2" name="copyONhd" value="false" '.((!$CONF['copyONhd'])?'checked="checked"':'').'/>  
     152              <label for="copyONhd2">'.l10n('no').'</label> 
     153            </td> 
     154          </tr> 
     155          <tr> 
     156            <td>'.l10n('copyONnormal').' :</td> 
     157            <td> 
     158              <input type="radio" id="copyONnormal1" name="copyONnormal" value="true" '.(($CONF['copyONnormal'])?'checked="checked"':'').'/>  
     159              <label for="copyONnormal1">'.l10n('yes').'</label> 
     160              <input type="radio" id="copyONnormal2" name="copyONnormal" value="false" '.((!$CONF['copyONnormal'])?'checked="checked"':'').'/>  
     161              <label for="copyONnormal2">'.l10n('no').'</label> 
     162            </td> 
     163          </tr> 
     164          <tr> 
     165            <td>'.l10n('copyPOS%s', l10n('copyPOSv')).' :</td> 
     166            <td> 
     167              <input type="radio" id="copyPOS01" name="copyPOS[0]" value="top" '.(($CONF['copyPOS'][0]=='top')?'checked="checked"':'').'/>  
     168              <label for="copyPOS01">'.l10n('top').'</label> 
     169              <input type="radio" id="copyPOS02" name="copyPOS[0]" value="center" '.(($CONF['copyPOS'][0]=='center')?'checked="checked"':'').'/>  
     170              <label for="copyPOS02">'.l10n('center').'</label> 
     171              <input type="radio" id="copyPOS03" name="copyPOS[0]" value="bottom" '.(($CONF['copyPOS'][0]=='bottom')?'checked="checked"':'').'/>  
     172              <label for="copyPOS03">'.l10n('bottom').'</label> 
     173            </td> 
     174          </tr> 
     175          <tr> 
     176            <td>'.l10n('copyPOS%s', l10n('copyPOSh')).' :</td> 
     177            <td> 
     178              <input type="radio" id="copyPOS11" name="copyPOS[1]" value="left" '.(($CONF['copyPOS'][1]=='left')?'checked="checked"':'').'/>  
     179              <label for="copyPOS11">'.l10n('left').'</label> 
     180              <input type="radio" id="copyPOS12" name="copyPOS[1]" value="center" '.(($CONF['copyPOS'][1]=='center')?'checked="checked"':'').'/>  
     181              <label for="copyPOS12">'.l10n('center').'</label> 
     182              <input type="radio" id="copyPOS13" name="copyPOS[1]" value="right" '.(($CONF['copyPOS'][1]=='right')?'checked="checked"':'').'/>  
     183              <label for="copyPOS13">'.l10n('right').'</label> 
     184            </td> 
     185          </tr> 
     186          <tr> 
     187            <td>'.l10n('copySIZE').' :</td> 
     188            <td><input type="text" name="copySIZE" value="'.$CONF['copySIZE'].'" size="5"/></td> 
     189          </tr> 
     190          <tr> 
     191            <td>'.l10n('copyCOLOR').' :</td> 
     192            <td><input type="text" id="colorpicker" name="copyCOLOR" value="'.$CONF['copyCOLOR'].'" size="6"/></td> 
     193            <script type="text/javascript"> 
     194              $("#colorpicker").ColorPicker({ 
     195                onSubmit: function(hsb, hex, rgb, el) { $(el).val(hex); $(el).ColorPickerHide(); }, 
     196                onChange: function(hsb, hex, rgb, el) { $("#colorpicker").val(hex); }, 
     197                onBeforeShow: function () { $(this).ColorPickerSetColor(this.value); } 
     198              }) .bind("keyup", function(){ $(this).ColorPickerSetColor(this.value); }); 
     199            </script> 
     200          </tr> 
     201          <tr> 
     202            <td>'.l10n('copyFONT').' :</td> 
     203            <td><input type="text" name="copyFONT" value="'.$CONF['copyFONT'].'"/></td> 
     204          </tr> 
     205        </table> 
     206      </li> 
     207    </ul> 
     208  </div> 
     209 
     210  <div class="generic config"> 
     211    <h2>'.l10n('Plugins').'</h2> 
     212    <ul>'; 
     213       
     214      // Affichage des plugins 
     215      $PLUGIN_ACTION = 'edit_config'; 
     216       
     217      foreach ($CONF['Plugins'] as $plugin_id => $plugin_config) { 
     218        $PAGE['content'] .= '<li> 
     219          <div class="plugin-title"> 
     220            <span class="title">'.$plugin_config['name'].' :</span> 
     221            <input type="hidden" name="Plugins['.$plugin_id.'][name]" value="'.$plugin_config['name'].'"/> 
     222            <input type="hidden" name="Plugins['.$plugin_id.'][mode]" value="'.$plugin_config['mode'].'"/>'; 
     223             
     224            // Cas spéciaux dans le titre (nouveau, manquant) 
     225            if (isset($NewPlugins[$plugin_id])) { 
     226              $PAGE['content'] .= ' <b class="new">'.l10n('New !').'</b>'; 
     227            } else if (isset($MissingPlugins[$plugin_id])) { 
     228              $PAGE['content'] .= ' <b class="miss">'.l10n('Missing !').'</b>'; 
     229            } 
     230             
     231            // Si il est manquant on ne met que la checkbox de suppression, sinon boutons d'activation 
     232            $PAGE['content'] .= '<span class="plugin-active">'; 
     233              if (isset($MissingPlugins[$plugin_id])) { 
     234                $PAGE['content'] .= '<label><input type="checkbox" name="Plugins['.$plugin_id.'][delete]" value="true" checked="checked"/> '.l10n('erase').'</label>'; 
     235              } else { 
     236                $PAGE['content'] .= '<input type="radio" id="" id="active-'.$plugin_id.'" name="Plugins['.$plugin_id.'][active]" value="true" '.(($plugin_config['active'])?'checked="checked"':'').'/> 
     237                <label for="active-'.$plugin_id.'">'.l10n('Active').'</label> 
     238                <input type="radio" id="" id="inactive-'.$plugin_id.'"name="Plugins['.$plugin_id.'][active]" value="false" '.((!$plugin_config['active'])?'checked="checked"':'').'/> 
     239                <label for="inactive-'.$plugin_id.'">'.l10n('Inactive').'</label>'; 
     240              } 
     241            $PAGE['content'] .= '</span> 
     242             
     243          </div>'; 
     244           
     245           
     246          // On affiche sa configuration 
     247          if (!isset($MissingPlugins[$plugin_id]) AND file_exists('plugins/'.$plugin_id.'/setup.php')) { 
     248            include('plugins/'.$plugin_id.'/setup.php'); 
     249          } 
     250        $PAGE['content'] .= '</li>'; 
     251      } 
     252       
     253    $PAGE['content'] .= '</ul> 
     254  </div>'; 
     255   
     256 
     257  $PAGE['end'] .= '<div class="generic link"> 
     258    <input type="submit" name="submit" value="'.l10n('Valid').'"/> 
     259    <input type="reset" onclick="location.href=\'index.php\'" value="'.l10n('Back').'"/> 
     260  </div> 
    257261</form>'; 
    258262?> 
  • extensions/PHP_Optimisateur/index.php

    r10338 r12819  
    11<?php 
    22/***************************************\ 
    3 |                       PHP OPTIMISATEUR                        | 
    4 |                         Version 1.4                           | 
     3|            PHP OPTIMISATEUR           | 
     4|              Version 1.4              | 
    55\***************************************/ 
    66 
     
    1414$LOG = array(); 
    1515$PAGE = array( 
    16         'section' => 'home', 
    17         'header' => null, 
    18         'content' => null, 
    19         'msgs' => null, 
    20         'end' => null, 
     16  'section' => 'home', 
     17  'header' => null, 
     18  'content' => null, 
     19  'msgs' => null, 
     20  'end' => null, 
    2121); 
    2222 
     
    2828### CONFIGURATION ### 
    2929if (!file_exists('config.xml')) { 
    30         $ERRORS['fatal'][] = 'ErrorConfigFile'; 
     30  $ERRORS['fatal'][] = 'ErrorConfigFile'; 
    3131} else { 
    32         $CONF = load_config('config.xml'); 
     32  $CONF = load_config('config.xml'); 
    3333} 
    3434 
    3535if (!file_exists('include/nconvert.exe')) { 
    36         $ERRORS['fatal'][] = 'ErrorNconvert'; 
     36  $ERRORS['fatal'][] = 'ErrorNconvert'; 
    3737} 
    3838 
     
    4444### PROCESSUS ### 
    4545switch ($PAGE['section']) { 
    46         case 'home': 
    47                 if (!isset($ERRORS['fatal'])) { 
    48                         if (!file_exists($CONF['DIRsource'])) { 
    49                                 mkdir($CONF['DIRsource']); 
    50                         } 
    51                         if (!file_exists($CONF['DIRsortie'])) { 
    52                                 mkdir($CONF['DIRsortie']); 
    53                         } 
    54                         if (is_dir_empty($CONF['DIRsource'])) { 
    55                                 $ERRORS['fatal'][] = 'ErrorFolderIn'; 
    56                         } 
    57                         if ($CONF['silentORNOT'] == 'block' AND !is_dir_empty($CONF['DIRsortie'])) { 
    58                                 $ERRORS['fatal'][] = 'ErrorFolderOut'; 
    59                         } else if ($CONF['silentORNOT'] == 'erase' AND !is_dir_empty($CONF['DIRsortie'])) { 
    60                                 $ERRORS['notice'][] = 'EraseFolderOut'; 
    61                         } 
    62                 } 
    63                 break; 
    64                  
    65         case 'setup': 
    66                 if (isset($_POST['submit'])) { 
    67                         include('include/save_config.php'); 
    68                 } 
    69                 break; 
    70          
    71         case 'process': 
    72                 include('include/main.php'); 
    73                 break; 
     46  case 'home': 
     47    if (!isset($ERRORS['fatal'])) { 
     48      if (!file_exists($CONF['DIRsource'])) { 
     49        mkdir($CONF['DIRsource']); 
     50      } 
     51      if (!file_exists($CONF['DIRsortie'])) { 
     52        mkdir($CONF['DIRsortie']); 
     53      } 
     54      if (is_dir_empty($CONF['DIRsource'])) { 
     55        $ERRORS['fatal'][] = 'ErrorFolderIn'; 
     56      } 
     57      if ($CONF['silentORNOT'] == 'block' AND !is_dir_empty($CONF['DIRsortie'])) { 
     58        $ERRORS['fatal'][] = 'ErrorFolderOut'; 
     59      } else if ($CONF['silentORNOT'] == 'erase' AND !is_dir_empty($CONF['DIRsortie'])) { 
     60        $ERRORS['notice'][] = 'EraseFolderOut'; 
     61      } 
     62    } 
     63    break; 
     64     
     65  case 'setup': 
     66    if (isset($_POST['submit'])) { 
     67      include('include/save_config.php'); 
     68    } 
     69    break; 
     70   
     71  case 'process': 
     72    include('include/main.php'); 
     73    break; 
    7474} 
    7575 
     
    7878### AFFICHAGE ### 
    7979switch ($PAGE['section']) { 
    80         case 'home': 
    81                 include('include/display_config.php'); 
    82                  
    83                 if (isset($ERRORS['fatal'])) { 
    84                         $PAGE['end'] .= ' 
    85                         <div class="generic link"> 
    86                                 <a class="input-submit" href="index.php">'.l10n('Reload').'</a> 
    87                                 <a class="input-submit" href="index.php?page=setup">'.l10n('Config').'</a> 
    88                         </div>'; 
     80  case 'home': 
     81    include('include/display_config.php'); 
     82     
     83    if (isset($ERRORS['fatal'])) { 
     84      $PAGE['end'] .= ' 
     85      <div class="generic link"> 
     86        <a class="input-submit" href="index.php">'.l10n('Reload').'</a> 
     87        <a class="input-submit" href="index.php?page=setup">'.l10n('Config').'</a> 
     88      </div>'; 
    8989 
    90                 } else { 
    91                         $PAGE['end'] .= ' 
    92                         <div class="generic finish"> 
    93                                 <span id="ready-text">'.l10n('Ready').'</span> 
    94                                 <span id="loader"><img src="template/favicon.png" alt="PHP OPT"/></span> 
    95                         </div> 
    96                         <div class="generic link"> 
    97                                 <a class="input-submit" href="index.php?page=process" onclick="Load();">'.l10n('Launch').'</a> 
    98                                 <a class="input-submit" href="index.php?page=setup">'.l10n('Config').'</a> 
    99                         </div>'; 
    100                 } 
    101                 break; 
    102                  
    103         case 'setup': 
    104                 if (isset($ERRORS['fatal'])) { 
    105                         $PAGE['end'] .= ' 
    106                         <div class="generic link"> 
    107                                 <a class="input-submit" href="index.php">'.l10n('Back').'</a> 
    108                                 <a class="input-submit" href="index.php?page=setup">'.l10n('Reload').'</a> 
    109                         </div>'; 
     90    } else { 
     91      $PAGE['end'] .= ' 
     92      <div class="generic finish"> 
     93        <span id="ready-text">'.l10n('Ready').'</span> 
     94        <span id="loader"><img src="template/favicon.png" alt="PHP OPT"/></span> 
     95      </div> 
     96      <div class="generic link"> 
     97        <a class="input-submit" href="index.php?page=process" onclick="Load();">'.l10n('Launch').'</a> 
     98        <a class="input-submit" href="index.php?page=setup">'.l10n('Config').'</a> 
     99      </div>'; 
     100    } 
     101    break; 
     102     
     103  case 'setup': 
     104    if (isset($ERRORS['fatal'])) { 
     105      $PAGE['end'] .= ' 
     106      <div class="generic link"> 
     107        <a class="input-submit" href="index.php">'.l10n('Back').'</a> 
     108        <a class="input-submit" href="index.php?page=setup">'.l10n('Reload').'</a> 
     109      </div>'; 
    110110 
    111                 } else { 
    112                         include('include/setup.php'); 
    113                 } 
    114                 break; 
    115          
    116         case 'process': 
    117                 ### Affichage des fichiers traités et création du log ### 
    118                 $nb_files = count($FilesSource); 
    119                 $time = intval((microtime(true)-$TIME_START)); 
    120                 $logfile = print_log($nb_files, $time); 
    121                  
    122                 $PAGE['content'] .= ' 
    123                 <div class="generic files"> 
    124                         <h2>'.l10n('Source files').'</h2> 
    125                         <ul>'; 
    126                                 foreach ($FilesSource as $value) { 
    127                                         $PAGE['content'] .= '<li>'.$value.'</li>'; 
    128                                 } 
    129                         $PAGE['content'] .= '</ul> 
    130                         <i>'.l10n('%d files', $nb_files).'</i><br> 
    131                         <b>Log :</b> <a href="logs/'.$logfile.'">'.$logfile.'</a> 
    132                 </div>'; 
    133                  
     111    } else { 
     112      include('include/setup.php'); 
     113    } 
     114    break; 
     115   
     116  case 'process': 
     117    ### Affichage des fichiers traités et création du log ### 
     118    $nb_files = count($FilesSource); 
     119    $time = intval((microtime(true)-$TIME_START)); 
     120    $logfile = print_log($nb_files, $time); 
     121     
     122    $PAGE['content'] .= ' 
     123    <div class="generic files"> 
     124      <h2>'.l10n('Source files').'</h2> 
     125      <ul>'; 
     126        foreach ($FilesSource as $value) { 
     127          $PAGE['content'] .= '<li>'.$value.'</li>'; 
     128        } 
     129      $PAGE['content'] .= '</ul> 
     130      <i>'.l10n('%d files', $nb_files).'</i><br> 
     131      <b>Log :</b> <a href="logs/'.$logfile.'">'.$logfile.'</a> 
     132    </div>'; 
     133     
    134134 
    135                 unset($FilesSource); 
    136                 unset($FilesSortie); 
    137                  
    138                 $PAGE['end'] .= ' 
    139                 <div class="generic finish">'.l10n('Finish %d seconds', $time).'</div> 
    140                 <div class="generic link"> 
    141                         <a class="input-submit" href="index.php">'.l10n('Back').'</a> 
    142                         <a class="input-submit" href="index.php?page=setup">'.l10n('Config').'</a> 
    143                 </div>'; 
    144                 break; 
     135    unset($FilesSource); 
     136    unset($FilesSortie); 
     137     
     138    $PAGE['end'] .= ' 
     139    <div class="generic finish">'.l10n('Finish %d seconds', $time).'</div> 
     140    <div class="generic link"> 
     141      <a class="input-submit" href="index.php">'.l10n('Back').'</a> 
     142      <a class="input-submit" href="index.php?page=setup">'.l10n('Config').'</a> 
     143    </div>'; 
     144    break; 
    145145} 
    146146 
     
    150150// erreurs fatales 
    151151if (isset($ERRORS['fatal'])) { 
    152         $PAGE['msgs'] .= '<div class="generic error">'; 
    153                 foreach ($ERRORS['fatal'] as $key) { 
    154                         $PAGE['msgs'] .= '<div>'.l10n('fatal.'.$key).'</div>'; 
    155                 } 
    156         $PAGE['msgs'] .= '</div>'; 
     152  $PAGE['msgs'] .= '<div class="generic error">'; 
     153    foreach ($ERRORS['fatal'] as $key) { 
     154      $PAGE['msgs'] .= '<div>'.l10n('fatal.'.$key).'</div>'; 
     155    } 
     156  $PAGE['msgs'] .= '</div>'; 
    157157} 
    158158// informations 
    159159if (isset($ERRORS['notice'])) { 
    160         $PAGE['msgs'] .= '<div class="generic notice">'; 
    161                 foreach ($ERRORS['notice'] as $key) { 
    162                         $PAGE['msgs'] .= '<div>'.l10n('notice.'.$key).'</div>'; 
    163                 } 
    164         $PAGE['msgs'] .= '</div>'; 
     160  $PAGE['msgs'] .= '<div class="generic notice">'; 
     161    foreach ($ERRORS['notice'] as $key) { 
     162      $PAGE['msgs'] .= '<div>'.l10n('notice.'.$key).'</div>'; 
     163    } 
     164  $PAGE['msgs'] .= '</div>'; 
    165165} 
    166166// erreurs de configuration 
    167167if (isset($ERRORS['conf'])) { 
    168         $PAGE['msgs'] .= '<div class="generic notice conf">'; 
    169                 foreach ($ERRORS['conf'] as $key) { 
    170                         $PAGE['msgs'] .= '<div>'.l10n('notice.'.$key[1].' %s', '<i>'.$key[0].'</i>').'</div>'; 
    171                 } 
    172         $PAGE['msgs'] .= '</div>'; 
     168  $PAGE['msgs'] .= '<div class="generic notice conf">'; 
     169    foreach ($ERRORS['conf'] as $key) { 
     170      $PAGE['msgs'] .= '<div>'.l10n('notice.'.$key[1].' %s', '<i>'.$key[0].'</i>').'</div>'; 
     171    } 
     172  $PAGE['msgs'] .= '</div>'; 
    173173} 
    174174 
     
    183183echo ' 
    184184<div class="generic footer"> 
    185         2010/2011 - <a href="http://www.strangeplanet.fr">Damien Sorel</a> - <a href="http://fr.piwigo.org/forum/viewtopic.php?id=19117">Forum</a> - <a href="http://fr.piwigo.org/doc/doku.php?id=tools:php_o">Documentation</a> 
     185  2010/2011 - <a href="http://www.strangeplanet.fr">Damien Sorel</a> - <a href="http://fr.piwigo.org/forum/viewtopic.php?id=19117">Forum</a> - <a href="http://fr.piwigo.org/doc/doku.php?id=tools:php_o">Documentation</a> 
    186186</div> 
    187187 
  • extensions/PHP_Optimisateur/plugins/charlies_content/main.php

    r10338 r12819  
    11<?php 
    22/***************************************\ 
    3 |                       PHP OPTIMISATEUR                        | 
    4 |         Plugin Charlie's Content 1.0          | 
     3|            PHP OPTIMISATEUR           | 
     4|     Plugin Charlie's Content 1.0      | 
    55\***************************************/ 
    66 
     
    88 
    99$CC_charlies_exts = array( // all extensions supported by Charlies' Content 
    10         'flv','swf','pls','m3u','wav','mid','au','aif','mp3','pdf', 
    11         'asf','wmv','divx','xvid','aiff','aac','bmp','gsm','mov','mpg', 
    12         'mpeg','mp4','m4a','psd','qt','qtif','qif','qti','snd','tif', 
    13         'tiff','3g2','3pg','zip','rar','gpx','3gp', 
     10  'flv','swf','pls','m3u','wav','mid','au','aif','mp3','pdf', 
     11  'asf','wmv','divx','xvid','aiff','aac','bmp','gsm','mov','mpg', 
     12  'mpeg','mp4','m4a','psd','qt','qtif','qif','qti','snd','tif', 
     13  'tiff','3g2','3pg','zip','rar','gpx','3gp', 
    1414); 
    1515$CC_video_exts = array( // extensions tested with FFmpeg 
    16         'wmv','mov','mkv','mp4','mpg','flv','asf','xvid','divx','mpeg', 
    17         'avi','rm', # <-- additional formats 
     16  'wmv','mov','mkv','mp4','mpg','flv','asf','xvid','divx','mpeg', 
     17  'avi','rm', # <-- additional formats 
    1818); 
    1919$CC_video_time = $CONF['Plugins']['charlies_content']['video_time']; 
     
    2121if (!function_exists('ffmpeg')) { 
    2222function ffmpeg($param, $log=true) { 
    23         global $LOG; 
     23  global $LOG; 
    2424 
    25         exec('include\ffmpeg.exe '. $param .' 2>&1', $out); 
    26          
    27         if ($log) { 
    28                 $LOG[] = 'FFmpeg conversion : ' . $param; 
    29         } else { 
    30                 return $out; 
    31         } 
     25  exec('include\ffmpeg.exe '. $param .' 2>&1', $out); 
     26   
     27  if ($log) { 
     28    $LOG[] = 'FFmpeg conversion : ' . $param; 
     29  } else { 
     30    return $out; 
     31  } 
    3232} 
    3333} 
    3434 
    3535if (in_arrayi($file['ext'], $CC_video_exts)) { 
    36         // copie la video 
    37         copy_log($FilesSource[$i], $FilesSortie[$i]); 
    38          
    39         // infos sur le fichier 
    40         $infos = ffmpeg('-i "'. $FilesSource[$i] .'"', false); 
    41         $infos = implode('|', $infos); 
    42          
    43         // taille de la video 
    44         if (preg_match('#\, (\d+)x(\d+)#s', $infos, $sizes)) { 
    45                 $FileInfos = array( 
    46                         'Width' => $sizes[1], 
    47                         'Height' => $sizes[2], 
    48                 ); 
    49         } 
     36  // copie la video 
     37  copy_log($FilesSource[$i], $FilesSortie[$i]); 
     38   
     39  // infos sur le fichier 
     40  $infos = ffmpeg('-i "'. $FilesSource[$i] .'"', false); 
     41  $infos = implode('|', $infos); 
     42   
     43  // taille de la video 
     44  if (preg_match('#\, (\d+)x(\d+)#s', $infos, $sizes)) { 
     45    $FileInfos = array( 
     46      'Width' => $sizes[1], 
     47      'Height' => $sizes[2], 
     48    ); 
     49  } 
    5050 
    51         // position de la miniature 
    52         $second = 10; 
    53         if ($CC_video_time == 'rand') { 
    54                 if (preg_match('#Duration: ((\d+):(\d+):(\d+))#s', $infos, $time)) { 
    55                         $total = ($time[2] * 3600) + ($time[3] * 60) + $time[4]; 
    56                         $second = rand(1, ($total - 1)); 
    57                 } 
    58         } else if (is_int($CC_video_time)) { 
    59                 $second = $CC_video_time; 
    60         } 
    61          
    62         // création d'un ficher pleine taille temporaire 
    63         mkdir('temp', 0777, true); 
    64         ffmpeg('-i "'. $FilesSource[$i] .'" -an -ss '.$second.' -t 1 -r 1 -y -vcodec mjpeg -f mjpeg "temp/'.$file['name'].'.jpg"');      
    65          
    66         // miniature, utilise Create Custom Thumbs si activé 
    67         if ( 
    68                 isset($CONF['Plugins']['create_custom_thumbs'])  
    69                 AND $CONF['Plugins']['create_custom_thumbs']['active'] 
    70         ) { 
    71                 unset($BlockAll); 
    72                 $CCT_filesource = 'temp/'.$file['name'].'.jpg'; 
    73                 include('plugins/create_custom_thumbs/main.php'); 
    74                 $BlockAll['main'] = true; 
    75          
    76         } else { 
    77                 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 "temp/'.$file['name'].'.jpg"'); 
    78         } 
     51  // position de la miniature 
     52  $second = 10; 
     53  if ($CC_video_time == 'rand') { 
     54    if (preg_match('#Duration: ((\d+):(\d+):(\d+))#s', $infos, $time)) { 
     55      $total = ($time[2] * 3600) + ($time[3] * 60) + $time[4]; 
     56      $second = rand(1, ($total - 1)); 
     57    } 
     58  } else if (is_int($CC_video_time)) { 
     59    $second = $CC_video_time; 
     60  } 
     61   
     62  // création d'un ficher pleine taille temporaire 
     63  mkdir('temp', 0777, true); 
     64  ffmpeg('-i "'. $FilesSource[$i] .'" -an -ss '.$second.' -t 1 -r 1 -y -vcodec mjpeg -f mjpeg "temp/'.$file['name'].'.jpg"');   
     65   
     66  // miniature, utilise Create Custom Thumbs si activé 
     67  if ( 
     68    isset($CONF['Plugins']['create_custom_thumbs'])  
     69    AND $CONF['Plugins']['create_custom_thumbs']['active'] 
     70  ) { 
     71    unset($BlockAll); 
     72    $CCT_filesource = 'temp/'.$file['name'].'.jpg'; 
     73    include('plugins/create_custom_thumbs/main.php'); 
     74    $BlockAll['main'] = true; 
     75   
     76  } else { 
     77    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 "temp/'.$file['name'].'.jpg"'); 
     78  } 
    7979 
    80         // suppression des fichiers temporaires 
    81         @rrmdir('temp'); 
    82          
    83         $BlockThumbnail['charlies_content'] = true; 
    84         $BlockNormal['charlies_content'] = true; 
    85         $BlockHigh['charlies_content'] = true; 
    86          
     80  // suppression des fichiers temporaires 
     81  @rrmdir('temp'); 
     82   
     83  $BlockThumbnail['charlies_content'] = true; 
     84  $BlockNormal['charlies_content'] = true; 
     85  $BlockHigh['charlies_content'] = true; 
     86   
    8787} else if (in_arrayi($file['ext'], $CC_charlies_exts)) { 
    88         // copie le fichier 
    89         copy_log($FilesSource[$i], $FilesSortie[$i]); 
    90          
    91         $BlockThumbnail['charlies_content'] = true; 
    92         $BlockNormal['charlies_content'] = true; 
    93         $BlockHigh['charlies_content'] = true; 
     88  // copie le fichier 
     89  copy_log($FilesSource[$i], $FilesSortie[$i]); 
     90   
     91  $BlockThumbnail['charlies_content'] = true; 
     92  $BlockNormal['charlies_content'] = true; 
     93  $BlockHigh['charlies_content'] = true; 
    9494} 
    9595 
  • extensions/PHP_Optimisateur/plugins/charlies_content/setup.php

    r10337 r12819  
    33 
    44switch ($PLUGIN_ACTION) { 
    5         // Affichage simple de la configuration 
    6         case 'read_config': 
    7                 // vérifie que ffmpeg est bien présent 
    8                 if (!file_exists('include/ffmpeg.exe') AND $plugin_config['active']) { 
    9                         $ERRORS['fatal'][] = 'charlies_content.error_ffmpeg'; 
    10                 } 
    11                                  
    12                 $PAGE['content'] .= ' 
    13                 <table> 
    14                         <tr> 
    15                                 <td>'.l10n('charlies_content.video_time').' :</td> 
    16                                 <td>'.bool_to_string($plugin_config['video_time']).($plugin_config['video_time']!=='rand' ? ' sec':'om').'</td> 
    17                         </tr> 
    18                 </table>'; 
    19                 break; 
    20          
    21          
    22         // Actions avant enregistrement 
    23         case 'save_config': 
    24                 if (!is_decimal($_POST['Plugins']['charlies_content']['video_time']) AND $_POST['Plugins']['charlies_content']['video_time'] != 'rand') { 
    25                         $_POST['Plugins']['charlies_content']['video_time'] = 'rand'; 
    26                         $ERRORS['conf'][] = array(l10n('charlies_content.video_time'), 'must_be_integer'); 
    27                 } 
     5  // Affichage simple de la configuration 
     6  case 'read_config': 
     7    // vérifie que ffmpeg est bien présent 
     8    if (!file_exists('include/ffmpeg.exe') AND $plugin_config['active']) { 
     9      $ERRORS['fatal'][] = 'charlies_content.error_ffmpeg'; 
     10    } 
     11         
     12    $PAGE['content'] .= ' 
     13    <table> 
     14      <tr> 
     15        <td>'.l10n('charlies_content.video_time').' :</td> 
     16        <td>'.bool_to_string($plugin_config['video_time']).($plugin_config['video_time']!=='rand' ? ' sec':'om').'</td> 
     17      </tr> 
     18    </table>'; 
     19    break; 
     20   
     21   
     22  // Actions avant enregistrement 
     23  case 'save_config': 
     24    if (!is_decimal($_POST['Plugins']['charlies_content']['video_time']) AND $_POST['Plugins']['charlies_content']['video_time'] != 'rand') { 
     25      $_POST['Plugins']['charlies_content']['video_time'] = 'rand'; 
     26      $ERRORS['conf'][] = array(l10n('charlies_content.video_time'), 'must_be_integer'); 
     27    } 
    2828 
    29                 break; 
     29    break; 
    3030 
    31                  
    32         // Formulaire d'édition 
    33         case 'edit_config': 
    34                 $PAGE['content'] .=' 
    35                 <table> 
    36                         <tr> 
    37                                 <td>'.l10n('charlies_content.video_time').' :</td> 
    38                                 <td> 
    39                                         <input type="text" name="Plugins[charlies_content][video_time]" value="'.$plugin_config['video_time'].'" size="3"/>sec 
    40                                         <i>'.l10n('charlies_content.rand').'</i> 
    41                                 </td> 
    42                         </tr> 
    43                 </table>'; 
    44                 break; 
     31     
     32  // Formulaire d'édition 
     33  case 'edit_config': 
     34    $PAGE['content'] .=' 
     35    <table> 
     36      <tr> 
     37        <td>'.l10n('charlies_content.video_time').' :</td> 
     38        <td> 
     39          <input type="text" name="Plugins[charlies_content][video_time]" value="'.$plugin_config['video_time'].'" size="3"/>sec 
     40          <i>'.l10n('charlies_content.rand').'</i> 
     41        </td> 
     42      </tr> 
     43    </table>'; 
     44    break; 
    4545}  
    4646?> 
  • extensions/PHP_Optimisateur/plugins/convert_pan/main.php

    r10337 r12819  
    11<?php 
    22/***************************************\ 
    3 |                       PHP OPTIMISATEUR                        | 
    4 |                 Plugin ConvertPan 1.3                 | 
     3|            PHP OPTIMISATEUR           | 
     4|          Plugin ConvertPan 1.3        | 
    55\***************************************/ 
    66 
     
    88## Crée des miniatures rognées pour ne pas avoir de minuscules images 
    99 
    10 $CP_namepanorama = $CONF['Plugins']['convert_pan']['NAMEpanorama'];     // Suffixe des panoramas 
    11 $CP_detectmode = $CONF['Plugins']['convert_pan']['DetectMode'];                 // Mode de détection 
    12 $CP_dimpanorama = $CONF['Plugins']['convert_pan']['DIMpanorama'];               // Hauteur des panoramas normaux 
    13 $CP_ratiopan = $CONF['Plugins']['convert_pan']['RatioPan'];                     // Ratio des panoramas 
    14 $CP_ratiopanthumb = $CONF['Plugins']['convert_pan']['RatioPanThumb'];   // Ratio des miniatures 
     10$CP_namepanorama = $CONF['Plugins']['convert_pan']['NAMEpanorama'];   // Suffixe des panoramas 
     11$CP_detectmode = $CONF['Plugins']['convert_pan']['DetectMode'];       // Mode de détection 
     12$CP_dimpanorama = $CONF['Plugins']['convert_pan']['DIMpanorama'];     // Hauteur des panoramas normaux 
     13$CP_ratiopan = $CONF['Plugins']['convert_pan']['RatioPan'];           // Ratio des panoramas 
     14$CP_ratiopanthumb = $CONF['Plugins']['convert_pan']['RatioPanThumb']; // Ratio des miniatures 
    1515 
    1616if (!isset($BlockAll)) { 
    1717 
    1818if ( 
    19         ($CP_detectmode == 'name' AND strpos($file['name'],$CP_namepanorama) !== false) OR  
    20         ($CP_detectmode == 'ratio' AND $FileInfos['Width']/$FileInfos['Height'] >= $CP_ratiopan) 
     19  ($CP_detectmode == 'name' AND strpos($file['name'],$CP_namepanorama) !== false) OR  
     20  ($CP_detectmode == 'ratio' AND $FileInfos['Width']/$FileInfos['Height'] >= $CP_ratiopan) 
    2121) { 
    2222 
    23         if (!isset($BlockNormal) AND $CP_dimpanorama != 0) {  
    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].'"'); 
    25                 $BlockNormal['convert_pan'] = true; 
    26         } 
    27          
    28         if (!isset($BlockThumbnail) AND $CP_ratiopanthumb != 0) {  
    29                 $DIMthumbnailV = $CONF['DIMthumbnail']/$CP_ratiopanthumb; 
    30                  
    31                 // on prend la miniature au milieu du panorama 
    32                 $tmp_x = $FileInfos['Width'] * $DIMthumbnailV / $FileInfos['Height']; 
    33                 $offset_x = ($tmp_x - $CONF['DIMthumbnail']) / 2; 
    34                  
    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].'"'); 
    36                 $BlockThumbnail['convert_pan'] = true; 
    37         } 
     23  if (!isset($BlockNormal) AND $CP_dimpanorama != 0) {  
     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].'"'); 
     25    $BlockNormal['convert_pan'] = true; 
     26  } 
     27   
     28  if (!isset($BlockThumbnail) AND $CP_ratiopanthumb != 0) {  
     29    $DIMthumbnailV = $CONF['DIMthumbnail']/$CP_ratiopanthumb; 
     30     
     31    // on prend la miniature au milieu du panorama 
     32    $tmp_x = $FileInfos['Width'] * $DIMthumbnailV / $FileInfos['Height']; 
     33    $offset_x = ($tmp_x - $CONF['DIMthumbnail']) / 2; 
     34     
     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].'"'); 
     36    $BlockThumbnail['convert_pan'] = true; 
     37  } 
    3838} 
    3939 
  • extensions/PHP_Optimisateur/plugins/convert_pan/setup.php

    r10337 r12819  
    33 
    44switch ($PLUGIN_ACTION) { 
    5         // Affichage simple de la configuration 
    6         case 'read_config': 
    7                 $PAGE['content'] .= ' 
    8                 <table> 
    9                         <tr> 
    10                                 <td>'.l10n('convert_pan.DetectMode').' :</td> 
    11                                 <td>'.$plugin_config['DetectMode'].'</td> 
    12                         </tr>'; 
    13                          
    14                         if ($plugin_config['DetectMode'] == 'name') { 
    15                                 $PAGE['content'] .= ' 
    16                                 <tr> 
    17                                         <td>'.l10n('convert_pan.NAMEpanorama').' :</td> 
    18                                         <td>'.$plugin_config['NAMEpanorama'].'</td> 
    19                                 </tr>'; 
    20                         } else if ($plugin_config['DetectMode'] == 'ratio') { 
    21                                 $PAGE['content'] .= ' 
    22                                 <tr> 
    23                                         <td>'.l10n('convert_pan.RatioPan').' :</td> 
    24                                         <td>'.$plugin_config['RatioPan'].'</td> 
    25                                 </tr>'; 
    26                         } 
    27                          
    28                         $PAGE['content'] .= ' 
    29                         <tr> 
    30                                 <td>'.l10n('convert_pan.DIMpanorama').' :</td> 
    31                                 <td>'.$plugin_config['DIMpanorama'].' px</td> 
    32                         </tr> 
    33                         <tr> 
    34                                 <td>'.l10n('convert_pan.RatioPanThumb').' :</td> 
    35                                 <td>'.$plugin_config['RatioPanThumb'].'</td> 
    36                         </tr> 
    37                 </table>'; 
    38                 break; 
    39                  
    40         // Actions avant enregistrement 
    41         case 'save_config': 
    42                 $_POST['Plugins']['convert_pan']['NAMEpanorama'] = delete_special_car($_POST['Plugins']['convert_pan']['NAMEpanorama']); 
    43                  
    44                 if (!is_decimal($_POST['Plugins']['convert_pan']['DIMpanorama'])) { 
    45                         $_POST['Plugins']['convert_pan']['DIMpanorama'] = 500; 
    46                         $ERRORS['conf'][] = array(l10n('convert_pan.DIMpanorama'), 'must_be_integer'); 
    47                 } 
    48                 if (!is_decimal($_POST['Plugins']['convert_pan']['RatioPanThumb'])) { 
    49                         $_POST['Plugins']['convert_pan']['RatioPanThumb'] = 1.7; 
    50                         $ERRORS['conf'][] = array(l10n('convert_pan.RatioPanThumb'), 'must_be_decimal'); 
    51                 } 
    52                 if (!is_decimal($_POST['Plugins']['convert_pan']['RatioPan'])) { 
    53                         $_POST['Plugins']['convert_pan']['RatioPan'] = 2.85; 
    54                         $ERRORS['conf'][] = array(l10n('convert_pan.RatioPan'), 'must_be_decimal'); 
    55                 } 
    56                  
    57                 break; 
    58                  
    59         // Formulaire d'édition 
    60         case 'edit_config': 
    61                 $PAGE['content'] .= ' 
    62                 <script type="text/javascript"> 
    63                         function ToggleConfig(sel, section){ 
    64                                 var obj = $("#convert_pan-tr-"+section); 
    65                                 if(sel.checked){ 
    66                                         obj.show(); 
    67                                 }else{ 
    68                                         obj.hide(); 
    69                                 } 
    70                         } 
    71                 </script> 
    72          
    73                 <table> 
    74                         <tr> 
    75                                 <td>'.l10n('convert_pan.DetectMode').' :</td> 
    76                                 <td> 
    77                                         <input type="radio" id="convert_pan-radio-name" name="Plugins[convert_pan][DetectMode]" value="name" onchange="ToggleConfig(this,\'name\');" '.(($plugin_config['DetectMode']=='name')?'checked="checked"':'').'/>  
    78                                         <label for="convert_pan-radio-name">'.l10n('convert_pan.DetectMode.name').'</label> 
    79                                         <input type="radio" id="convert_pan.radio.ratio" name="Plugins[convert_pan][DetectMode]" value="ratio" onchange="ToggleConfig(this,\'ratio\');" '.(($plugin_config['DetectMode']=='ratio')?'checked="checked"':'').'/>  
    80                                         <label for="convert_pan-radio-ratio">'.l10n('convert_pan.DetectMode.ratio').'</label> 
    81                                 </td> 
    82                         </tr> 
    83                         <tr id="convert_pan-tr-name"> 
    84                                 <td>'.l10n('convert_pan.NAMEpanorama').' :</td> 
    85                                 <td><input type="text" name="Plugins[convert_pan][NAMEpanorama]" value="'.$plugin_config['NAMEpanorama'].'" size="6"/></td> 
    86                         </tr> 
    87                         <tr id="convert_pan-tr-ratio"> 
    88                                 <td>'.l10n('convert_pan.RatioPan').' :</td> 
    89                                 <td><input type="text" name="Plugins[convert_pan][RatioPan]" value="'.$plugin_config['RatioPan'].'" size="3"/>px</td> 
    90                         </tr> 
    91                          
    92                         <tr> 
    93                                 <td>'.l10n('convert_pan.DIMpanorama').' :</td> 
    94                                 <td> 
    95                                         <input type="text" name="Plugins[convert_pan][DIMpanorama]" value="'.$plugin_config['DIMpanorama'].'" size="3"/>px 
    96                                         <i>'.l10n('convert_pan.unactive').'</i> 
    97                                 </td> 
    98                         </tr> 
    99                         <tr> 
    100                                 <td>'.l10n('convert_pan.RatioPanThumb').' :</td> 
    101                                 <td> 
    102                                         <input type="text" name="Plugins[convert_pan][RatioPanThumb]" value="'.$plugin_config['RatioPanThumb'].'" size="3"/> 
    103                                         <i>'.l10n('convert_pan.unactive').'</i> 
    104                                 </td> 
    105                         </tr> 
    106                 </table> 
    107                  
    108                 <script type="text/javascript"> 
    109                         ToggleConfig(document.forms[0].elements["Plugins[convert_pan][DetectMode]"][0], "name"); 
    110                         ToggleConfig(document.forms[0].elements["Plugins[convert_pan][DetectMode]"][1], "ratio"); 
    111                 </script>'; 
    112                 break; 
     5  // Affichage simple de la configuration 
     6  case 'read_config': 
     7    $PAGE['content'] .= ' 
     8    <table> 
     9      <tr> 
     10        <td>'.l10n('convert_pan.DetectMode').' :</td> 
     11        <td>'.$plugin_config['DetectMode'].'</td> 
     12      </tr>'; 
     13       
     14      if ($plugin_config['DetectMode'] == 'name') { 
     15        $PAGE['content'] .= ' 
     16        <tr> 
     17          <td>'.l10n('convert_pan.NAMEpanorama').' :</td> 
     18          <td>'.$plugin_config['NAMEpanorama'].'</td> 
     19        </tr>'; 
     20      } else if ($plugin_config['DetectMode'] == 'ratio') { 
     21        $PAGE['content'] .= ' 
     22        <tr> 
     23          <td>'.l10n('convert_pan.RatioPan').' :</td> 
     24          <td>'.$plugin_config['RatioPan'].'</td> 
     25        </tr>'; 
     26      } 
     27       
     28      $PAGE['content'] .= ' 
     29      <tr> 
     30        <td>'.l10n('convert_pan.DIMpanorama').' :</td> 
     31        <td>'.$plugin_config['DIMpanorama'].' px</td> 
     32      </tr> 
     33      <tr> 
     34        <td>'.l10n('convert_pan.RatioPanThumb').' :</td> 
     35        <td>'.$plugin_config['RatioPanThumb'].'</td> 
     36      </tr> 
     37    </table>'; 
     38    break; 
     39     
     40  // Actions avant enregistrement 
     41  case 'save_config': 
     42    $_POST['Plugins']['convert_pan']['NAMEpanorama'] = delete_special_car($_POST['Plugins']['convert_pan']['NAMEpanorama']); 
     43     
     44    if (!is_decimal($_POST['Plugins']['convert_pan']['DIMpanorama'])) { 
     45      $_POST['Plugins']['convert_pan']['DIMpanorama'] = 500; 
     46      $ERRORS['conf'][] = array(l10n('convert_pan.DIMpanorama'), 'must_be_integer'); 
     47    } 
     48    if (!is_decimal($_POST['Plugins']['convert_pan']['RatioPanThumb'])) { 
     49      $_POST['Plugins']['convert_pan']['RatioPanThumb'] = 1.7; 
     50      $ERRORS['conf'][] = array(l10n('convert_pan.RatioPanThumb'), 'must_be_decimal'); 
     51    } 
     52    if (!is_decimal($_POST['Plugins']['convert_pan']['RatioPan'])) { 
     53      $_POST['Plugins']['convert_pan']['RatioPan'] = 2.85; 
     54      $ERRORS['conf'][] = array(l10n('convert_pan.RatioPan'), 'must_be_decimal'); 
     55    } 
     56     
     57    break; 
     58     
     59  // Formulaire d'édition 
     60  case 'edit_config': 
     61    $PAGE['content'] .= ' 
     62    <script type="text/javascript"> 
     63      function ToggleConfig(sel, section){ 
     64        var obj = $("#convert_pan-tr-"+section); 
     65        if(sel.checked){ 
     66          obj.show(); 
     67        }else{ 
     68          obj.hide(); 
     69        } 
     70      } 
     71    </script> 
     72   
     73    <table> 
     74      <tr> 
     75        <td>'.l10n('convert_pan.DetectMode').' :</td> 
     76        <td> 
     77          <input type="radio" id="convert_pan-radio-name" name="Plugins[convert_pan][DetectMode]" value="name" onchange="ToggleConfig(this,\'name\');" '.(($plugin_config['DetectMode']=='name')?'checked="checked"':'').'/>  
     78          <label for="convert_pan-radio-name">'.l10n('convert_pan.DetectMode.name').'</label> 
     79          <input type="radio" id="convert_pan.radio.ratio" name="Plugins[convert_pan][DetectMode]" value="ratio" onchange="ToggleConfig(this,\'ratio\');" '.(($plugin_config['DetectMode']=='ratio')?'checked="checked"':'').'/>  
     80          <label for="convert_pan-radio-ratio">'.l10n('convert_pan.DetectMode.ratio').'</label> 
     81        </td> 
     82      </tr> 
     83      <tr id="convert_pan-tr-name"> 
     84        <td>'.l10n('convert_pan.NAMEpanorama').' :</td> 
     85        <td><input type="text" name="Plugins[convert_pan][NAMEpanorama]" value="'.$plugin_config['NAMEpanorama'].'" size="6"/></td> 
     86      </tr> 
     87      <tr id="convert_pan-tr-ratio"> 
     88        <td>'.l10n('convert_pan.RatioPan').' :</td> 
     89        <td><input type="text" name="Plugins[convert_pan][RatioPan]" value="'.$plugin_config['RatioPan'].'" size="3"/>px</td> 
     90      </tr> 
     91       
     92      <tr> 
     93        <td>'.l10n('convert_pan.DIMpanorama').' :</td> 
     94        <td> 
     95          <input type="text" name="Plugins[convert_pan][DIMpanorama]" value="'.$plugin_config['DIMpanorama'].'" size="3"/>px 
     96          <i>'.l10n('convert_pan.unactive').'</i> 
     97        </td> 
     98      </tr> 
     99      <tr> 
     100        <td>'.l10n('convert_pan.RatioPanThumb').' :</td> 
     101        <td> 
     102          <input type="text" name="Plugins[convert_pan][RatioPanThumb]" value="'.$plugin_config['RatioPanThumb'].'" size="3"/> 
     103          <i>'.l10n('convert_pan.unactive').'</i> 
     104        </td> 
     105      </tr> 
     106    </table> 
     107     
     108    <script type="text/javascript"> 
     109      ToggleConfig(document.forms[0].elements["Plugins[convert_pan][DetectMode]"][0], "name"); 
     110      ToggleConfig(document.forms[0].elements["Plugins[convert_pan][DetectMode]"][1], "ratio"); 
     111    </script>'; 
     112    break; 
    113113} 
    114114?> 
  • extensions/PHP_Optimisateur/plugins/create_custom_thumbs/main.php

    r10337 r12819  
    11<?php 
    22/***************************************\ 
    3 |                       PHP OPTIMISATEUR                        | 
    4 |         Plugin CreateCustomThumbs 1.1         | 
     3|            PHP OPTIMISATEUR           | 
     4|      Plugin CreateCustomThumbs 1.1    | 
    55\***************************************/ 
    66 
     
    88## Dépend de la valeur de $CONF['DIMthumbnail'] 
    99 
     10if(!isset($CCT_filesource)) $CCT_filesource = $FilesSource[$i];                // fichier de travail 
     11$CCT_dimthumbnail = $CONF['Plugins']['create_custom_thumbs']['DIMthumbnailV']; // Hauteur de l'image 
     12$CCT_frameparams = $CONF['Plugins']['create_custom_thumbs']['FRAMEparams'];    // Paramètres du cadre 
     13 
    1014if (!isset($BlockAll)) { 
    1115 
    1216// CreateCustomThumbs à la priorité sur ConvertPan 
    1317if (isset($BlockThumbnail['convert_pan']) OR !isset($BlockThumbnail)) {  
     18   
     19  // Miniature de taille personnalisée 
     20  if ($CCT_dimthumbnail != 0) { 
     21    $max = max($CONF['DIMthumbnail'], $CCT_dimthumbnail); 
    1422 
    15         if(!isset($CCT_filesource)) $CCT_filesource = $FilesSource[$i]; // fichier de travail 
    16         $CCT_dimthumbnail = $CONF['Plugins']['create_custom_thumbs']['DIMthumbnailV']; // Hauteur de l'image 
    17         $CCT_frameparams = $CONF['Plugins']['create_custom_thumbs']['FRAMEparams']; // Paramètres du cadre 
    18          
    19         // Miniature de taille personnalisée 
    20         if ($CCT_dimthumbnail != 0) { 
    21                 $max = max($CONF['DIMthumbnail'], $CCT_dimthumbnail); 
     23    // on prend la miniature au milieu de l'image 
     24    if ($FileInfos['Height'] >= $FileInfos['Width']) { 
     25      $resize_param = $max.' 0'; 
     26      $tmp_x = $max; 
     27      $tmp_y = $max * $FileInfos['Height'] / $FileInfos['Width']; 
     28    } else { 
     29      $resize_param = '0 '.$max; 
     30      $tmp_x = $max * $FileInfos['Width'] / $FileInfos['Height']; 
     31      $tmp_y = $max; 
     32    } 
     33     
     34    $offset_x = ceil(($tmp_x - $CONF['DIMthumbnail']) / 2); 
     35    $offset_y = ceil(($tmp_y - $CCT_dimthumbnail) / 2); 
     36     
     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.'"'); 
     38     
     39    $BlockThumbnail['create_custom_thumbs'] = true; 
     40    $CCT_filesource = $file['folder_out'].'thumbnail/'.$CONF['prefixe_mini'].$file['name'].'.jpg'; 
     41  } 
    2242 
    23                 // on prend la miniature au milieu de l'image 
    24                 if ($FileInfos['Height'] >= $FileInfos['Width']) { 
    25                         $resize_param = $max.' 0'; 
    26                         $tmp_x = $max; 
    27                         $tmp_y = $max * $FileInfos['Height'] / $FileInfos['Width']; 
    28                 } else { 
    29                         $resize_param = '0 '.$max; 
    30                         $tmp_x = $max * $FileInfos['Width'] / $FileInfos['Height']; 
    31                         $tmp_y = $max; 
    32                 } 
    33                  
    34                 $offset_x = ceil(($tmp_x - $CONF['DIMthumbnail']) / 2); 
    35                 $offset_y = ceil(($tmp_y - $CCT_dimthumbnail) / 2); 
    36                  
    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.'"'); 
    38                  
    39                 $BlockThumbnail['create_custom_thumbs'] = true; 
    40                 $CCT_filesource = $file['folder_out'].'thumbnail/'.$CONF['prefixe_mini'].$file['name'].'.jpg'; 
    41         } 
     43  // Cadre autour de la miniature 
     44  if ($CCT_frameparams['size1'] != 0 OR $CCT_frameparams['size2'] != 0) { 
     45    // Si la miniature n'a pas encore été générée il faut le faire 
     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'; 
     49    } 
    4250 
    43         // Cadre autour de la miniature 
    44         if ($CCT_frameparams['size1'] != 0 OR $CCT_frameparams['size2'] != 0) { 
    45                 // Si la miniature n'a pas encore été générée il faut le faire 
    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'; 
    49                 } 
     51    $img = imagecreatefromjpeg($CCT_filesource); 
     52    $x = imagesx($img)-1; 
     53    $y = imagesy($img)-1; 
     54     
     55    $colors[0] = hex2RGB($CCT_frameparams['color1']); 
     56    $colors[1] = hex2RGB($CCT_frameparams['color2']); 
     57    $colors[0] = imagecolorallocate($img, $colors[0]['r'], $colors[0]['g'], $colors[0]['b']); 
     58    $colors[1] = imagecolorallocate($img, $colors[1]['r'], $colors[1]['g'], $colors[1]['b']); 
    5059 
    51                 $img = imagecreatefromjpeg($CCT_filesource); 
    52                 $x = imagesx($img)-1; 
    53                 $y = imagesy($img)-1; 
    54                  
    55                 $colors[0] = hex2RGB($CCT_frameparams['color1']); 
    56                 $colors[1] = hex2RGB($CCT_frameparams['color2']); 
    57                 $colors[0] = imagecolorallocate($img, $colors[0]['r'], $colors[0]['g'], $colors[0]['b']); 
    58                 $colors[1] = imagecolorallocate($img, $colors[1]['r'], $colors[1]['g'], $colors[1]['b']); 
    59  
    60                 for ($m=0; $m<$CCT_frameparams['size1']; $m++) { 
    61                         imagerectangle($img, $m, $m, $x-$m, $y-$m, $colors[0]); 
    62                 } 
    63                 for ($m=$CCT_frameparams['size1']; $m<$CCT_frameparams['size1']+$CCT_frameparams['size2']; $m++) { 
    64                         imagerectangle($img, $m, $m, $x-$m, $y-$m, $colors[1]); 
    65                 } 
    66                  
    67                 imagejpeg($img, $file['folder_out'].'thumbnail/'.$CONF['prefixe_mini'].$file['name'].'.jpg', $CONF['Qthumbnail']); 
    68                 imagedestroy($img); 
    69                  
    70                 $BlockThumbnail['create_custom_thumbs'] = true; 
    71                 $CCT_filesource = $file['folder_out'].'thumbnail/'.$CONF['prefixe_mini'].$file['name'].'.jpg'; 
    72         } 
     60    for ($m=0; $m<$CCT_frameparams['size1']; $m++) { 
     61      imagerectangle($img, $m, $m, $x-$m, $y-$m, $colors[0]); 
     62    } 
     63    for ($m=$CCT_frameparams['size1']; $m<$CCT_frameparams['size1']+$CCT_frameparams['size2']; $m++) { 
     64      imagerectangle($img, $m, $m, $x-$m, $y-$m, $colors[1]); 
     65    } 
     66     
     67    imagejpeg($img, $file['folder_out'].'thumbnail/'.$CONF['prefixe_mini'].$file['name'].'.jpg', $CONF['Qthumbnail']); 
     68    imagedestroy($img); 
     69     
     70    $BlockThumbnail['create_custom_thumbs'] = true; 
     71    $CCT_filesource = $file['folder_out'].'thumbnail/'.$CONF['prefixe_mini'].$file['name'].'.jpg'; 
     72  } 
    7373} 
    7474 
  • extensions/PHP_Optimisateur/plugins/create_custom_thumbs/setup.php

    r10337 r12819  
    33 
    44switch ($PLUGIN_ACTION) { 
    5         // Affichage simple de la configuration 
    6         case 'read_config': 
    7                 $plugin_config['FRAMEparams']['color1'] = nice_hex_color($plugin_config['FRAMEparams']['color1']); 
    8                 $plugin_config['FRAMEparams']['color2'] = nice_hex_color($plugin_config['FRAMEparams']['color2']); 
    9                  
    10                 $PAGE['content'] .= ' 
    11                 <table> 
    12                         <tr> 
    13                                 <td>'.l10n('create_custom_thumbs.DIMthumbnailV').' :</td> 
    14                                 <td>'.bool_to_string($plugin_config['DIMthumbnailV']).' px</td> 
    15                         </tr> 
    16                         <tr> 
    17                                 <td>'.l10n('create_custom_thumbs.FRAMEparams').' 1 :</td> 
    18                                 <td> 
    19                                         #'.$plugin_config['FRAMEparams']['color1'].' 
    20                                         <span class="color-display" style="background-color:#'.nice_hex_color($plugin_config['FRAMEparams']['color1']).';">&nbsp;</span> 
    21                                         '.$plugin_config['FRAMEparams']['size1'].'px 
    22                                 </td> 
    23                         </tr> 
    24                         <tr> 
    25                                 <td>'.l10n('create_custom_thumbs.FRAMEparams').' 2 :</td> 
    26                                 <td> 
    27                                         #'.$plugin_config['FRAMEparams']['color2'].' 
    28                                         <span class="color-display" style="background-color:#'.nice_hex_color($plugin_config['FRAMEparams']['color2']).';">&nbsp;</span> 
    29                                         '.$plugin_config['FRAMEparams']['size2'].'px 
    30                                 </td> 
    31                         </tr> 
    32                 </table>'; 
    33                 break; 
    34          
    35          
    36         // Actions avant enregistrement 
    37         case 'save_config': 
    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']); 
    40                  
    41                 if (!is_decimal($_POST['Plugins']['create_custom_thumbs']['DIMthumbnailV'])) { 
    42                         $_POST['Plugins']['create_custom_thumbs']['DIMthumbnailV'] = 0; 
    43                         $ERRORS['conf'][] = array(l10n('create_custom_thumbs.DIMthumbnailV'), 'must_be_integer'); 
    44                 } 
    45                 if (!is_decimal($_POST['Plugins']['create_custom_thumbs']['FRAMEparams']['size1'])) { 
    46                         $_POST['Plugins']['create_custom_thumbs']['FRAMEparams']['size1'] = 0; 
    47                         $ERRORS['conf'][] = array(l10n('create_custom_thumbs.FRAMEparams').' 1', 'must_be_integer'); 
    48                 } 
    49                 if (!is_decimal($_POST['Plugins']['create_custom_thumbs']['FRAMEparams']['size2'])) { 
    50                         $_POST['Plugins']['create_custom_thumbs']['FRAMEparams']['size2'] = 0; 
    51                         $ERRORS['conf'][] = array(l10n('create_custom_thumbs.FRAMEparams').' 2', 'must_be_integer'); 
    52                 } 
    53                  
    54                 break; 
     5  // Affichage simple de la configuration 
     6  case 'read_config': 
     7    $plugin_config['FRAMEparams']['color1'] = nice_hex_color($plugin_config['FRAMEparams']['color1']); 
     8    $plugin_config['FRAMEparams']['color2'] = nice_hex_color($plugin_config['FRAMEparams']['color2']); 
     9     
     10    $PAGE['content'] .= ' 
     11    <table> 
     12      <tr> 
     13        <td>'.l10n('create_custom_thumbs.DIMthumbnailV').' :</td> 
     14        <td>'.bool_to_string($plugin_config['DIMthumbnailV']).' px</td> 
     15      </tr> 
     16      <tr> 
     17        <td>'.l10n('create_custom_thumbs.FRAMEparams').' 1 :</td> 
     18        <td> 
     19          #'.$plugin_config['FRAMEparams']['color1'].' 
     20          <span class="color-display" style="background-color:#'.nice_hex_color($plugin_config['FRAMEparams']['color1']).';">&nbsp;</span> 
     21          '.$plugin_config['FRAMEparams']['size1'].'px 
     22        </td> 
     23      </tr> 
     24      <tr> 
     25        <td>'.l10n('create_custom_thumbs.FRAMEparams').' 2 :</td> 
     26        <td> 
     27          #'.$plugin_config['FRAMEparams']['color2'].' 
     28          <span class="color-display" style="background-color:#'.nice_hex_color($plugin_config['FRAMEparams']['color2']).';">&nbsp;</span> 
     29          '.$plugin_config['FRAMEparams']['size2'].'px 
     30        </td> 
     31      </tr> 
     32    </table>'; 
     33    break; 
     34   
     35   
     36  // Actions avant enregistrement 
     37  case 'save_config': 
     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']); 
     40     
     41    if (!is_decimal($_POST['Plugins']['create_custom_thumbs']['DIMthumbnailV'])) { 
     42      $_POST['Plugins']['create_custom_thumbs']['DIMthumbnailV'] = 0; 
     43      $ERRORS['conf'][] = array(l10n('create_custom_thumbs.DIMthumbnailV'), 'must_be_integer'); 
     44    } 
     45    if (!is_decimal($_POST['Plugins']['create_custom_thumbs']['FRAMEparams']['size1'])) { 
     46      $_POST['Plugins']['create_custom_thumbs']['FRAMEparams']['size1'] = 0; 
     47      $ERRORS['conf'][] = array(l10n('create_custom_thumbs.FRAMEparams').' 1', 'must_be_integer'); 
     48    } 
     49    if (!is_decimal($_POST['Plugins']['create_custom_thumbs']['FRAMEparams']['size2'])) { 
     50      $_POST['Plugins']['create_custom_thumbs']['FRAMEparams']['size2'] = 0; 
     51      $ERRORS['conf'][] = array(l10n('create_custom_thumbs.FRAMEparams').' 2', 'must_be_integer'); 
     52    } 
     53     
     54    break; 
    5555 
    56                  
    57         // Formulaire d'édition 
    58         case 'edit_config': 
    59                 $plugin_config['FRAMEparams']['color1'] = nice_hex_color($plugin_config['FRAMEparams']['color1']); 
    60                 $plugin_config['FRAMEparams']['color2'] = nice_hex_color($plugin_config['FRAMEparams']['color2']); 
    61                  
    62                 $PAGE['content'] .=' 
    63                 <table> 
    64                         <tr> 
    65                                 <td>'.l10n('create_custom_thumbs.DIMthumbnailV').' :</td> 
    66                                 <td> 
    67                                         <input type="text" name="Plugins[create_custom_thumbs][DIMthumbnailV]" value="'.$plugin_config['DIMthumbnailV'].'" size="3"/>px 
    68                                         <i>'.l10n('create_custom_thumbs.unactive').'</i> 
    69                                 </td> 
    70                         </tr> 
    71                         <tr> 
    72                                 <td>'.l10n('create_custom_thumbs.FRAMEparams').' 1 :</td> 
    73                                 <td> 
    74                                         <input type="text" id="CCT-color1" name="Plugins[create_custom_thumbs][FRAMEparams][color1]" value="'.$plugin_config['FRAMEparams']['color1'].'" size="6"/> 
    75                                         <input type="text" name="Plugins[create_custom_thumbs][FRAMEparams][size1]" value="'.$plugin_config['FRAMEparams']['size1'].'" size="1"/>px 
    76                                         <i>'.l10n('create_custom_thumbs.unactive').'</i> 
    77                                 </td> 
    78                         </tr> 
    79                         <tr> 
    80                                 <td>'.l10n('create_custom_thumbs.FRAMEparams').' 2 :</td> 
    81                                 <td> 
    82                                         <input type="text" id="CCT-color2" name="Plugins[create_custom_thumbs][FRAMEparams][color2]" value="'.$plugin_config['FRAMEparams']['color2'].'" size="6"/> 
    83                                         <input type="text" name="Plugins[create_custom_thumbs][FRAMEparams][size2]" value="'.$plugin_config['FRAMEparams']['size2'].'" size="1"/>px 
    84                                         <i>'.l10n('create_custom_thumbs.unactive').'</i> 
    85                                 </td> 
    86                         </tr> 
    87                         <script type="text/javascript"> 
    88                                 $("#CCT-color1").ColorPicker({ 
    89                                         onSubmit: function(hsb, hex, rgb, el) { $(el).val(hex); $(el).ColorPickerHide(); }, 
    90                                         onChange: function(hsb, hex, rgb, el) { $("#CCT-color1").val(hex); }, 
    91                                         onBeforeShow: function () { $(this).ColorPickerSetColor(this.value); } 
    92                                 }) .bind("keyup", function(){ $(this).ColorPickerSetColor(this.value); }); 
    93                                 $("#CCT-color2").ColorPicker({ 
    94                                         onSubmit: function(hsb, hex, rgb, el) { $(el).val(hex); (el).ColorPickerHide(); }, 
    95                                         onChange: function(hsb, hex, rgb, el) { $("#CCT-color2").val(hex); }, 
    96                                         onBeforeShow: function () { $(this).ColorPickerSetColor(this.value); } 
    97                                 }) .bind("keyup", function(){ $(this).ColorPickerSetColor(this.value); }); 
    98                         </script> 
    99                 </table>'; 
    100                 break; 
     56     
     57  // Formulaire d'édition 
     58  case 'edit_config': 
     59    $plugin_config['FRAMEparams']['color1'] = nice_hex_color($plugin_config['FRAMEparams']['color1']); 
     60    $plugin_config['FRAMEparams']['color2'] = nice_hex_color($plugin_config['FRAMEparams']['color2']); 
     61     
     62    $PAGE['content'] .=' 
     63    <table> 
     64      <tr> 
     65        <td>'.l10n('create_custom_thumbs.DIMthumbnailV').' :</td> 
     66        <td> 
     67          <input type="text" name="Plugins[create_custom_thumbs][DIMthumbnailV]" value="'.$plugin_config['DIMthumbnailV'].'" size="3"/>px 
     68          <i>'.l10n('create_custom_thumbs.unactive').'</i> 
     69        </td> 
     70      </tr> 
     71      <tr> 
     72        <td>'.l10n('create_custom_thumbs.FRAMEparams').' 1 :</td> 
     73        <td> 
     74          <input type="text" id="CCT-color1" name="Plugins[create_custom_thumbs][FRAMEparams][color1]" value="'.$plugin_config['FRAMEparams']['color1'].'" size="6"/> 
     75          <input type="text" name="Plugins[create_custom_thumbs][FRAMEparams][size1]" value="'.$plugin_config['FRAMEparams']['size1'].'" size="1"/>px 
     76          <i>'.l10n('create_custom_thumbs.unactive').'</i> 
     77        </td> 
     78      </tr> 
     79      <tr> 
     80        <td>'.l10n('create_custom_thumbs.FRAMEparams').' 2 :</td> 
     81        <td> 
     82          <input type="text" id="CCT-color2" name="Plugins[create_custom_thumbs][FRAMEparams][color2]" value="'.$plugin_config['FRAMEparams']['color2'].'" size="6"/> 
     83          <input type="text" name="Plugins[create_custom_thumbs][FRAMEparams][size2]" value="'.$plugin_config['FRAMEparams']['size2'].'" size="1"/>px 
     84          <i>'.l10n('create_custom_thumbs.unactive').'</i> 
     85        </td> 
     86      </tr> 
     87      <script type="text/javascript"> 
     88        $("#CCT-color1").ColorPicker({ 
     89          onSubmit: function(hsb, hex, rgb, el) { $(el).val(hex); $(el).ColorPickerHide(); }, 
     90          onChange: function(hsb, hex, rgb, el) { $("#CCT-color1").val(hex); }, 
     91          onBeforeShow: function () { $(this).ColorPickerSetColor(this.value); } 
     92        }) .bind("keyup", function(){ $(this).ColorPickerSetColor(this.value); }); 
     93        $("#CCT-color2").ColorPicker({ 
     94          onSubmit: function(hsb, hex, rgb, el) { $(el).val(hex); (el).ColorPickerHide(); }, 
     95          onChange: function(hsb, hex, rgb, el) { $("#CCT-color2").val(hex); }, 
     96          onBeforeShow: function () { $(this).ColorPickerSetColor(this.value); } 
     97        }) .bind("keyup", function(){ $(this).ColorPickerSetColor(this.value); }); 
     98      </script> 
     99    </table>'; 
     100    break; 
    101101}  
    102102?> 
  • extensions/PHP_Optimisateur/plugins/create_folders_alpha/main.php

    r10337 r12819  
    11<?php 
    22/***************************************\ 
    3 |                       PHP OPTIMISATEUR                        | 
    4 |         Plugin CreateFoldersAlpha 1.2         | 
     3|            PHP OPTIMISATEUR           | 
     4|      Plugin CreateFoldersAlpha 1.2    | 
    55\***************************************/ 
    66 
     
    1111 
    1212while ($file = readdir($handle)) { 
    13         if ($file != '.' && $file != '..' && !is_dir($CONF['DIRsource'].'/'.$file)) { 
    14                 // Récupère le parties du nom servant à créer les dossiers 
    15                 if (preg_match('#^(.{1})([^_.]*)_(.*)#', $file, $matches)) { 
    16                         $Letter = strtoupper($matches[1]); 
    17                         $FolderName = $matches[1].$matches[2]; 
     13  if ($file != '.' && $file != '..' && !is_dir($CONF['DIRsource'].'/'.$file)) { 
     14    // Récupère le parties du nom servant à créer les dossiers 
     15    if (preg_match('#^(.{1})([^_.]*)_(.*)#', $file, $matches)) { 
     16      $Letter = strtoupper($matches[1]); 
     17      $FolderName = $matches[1].$matches[2]; 
    1818 
    19                         // Crée les dossier 
    20                         if (!file_exists($CONF['DIRsource'].$Letter.'/'.$FolderName)) { 
    21                                 mkdir_log($CONF['DIRsource'].$Letter.'/'.$FolderName); 
    22                         } 
    23                          
    24                         // Déplace le fichier 
    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'; 
    29                 } 
    30                  
    31                 $done = true; 
    32         } 
     19      // Crée les dossier 
     20      if (!file_exists($CONF['DIRsource'].$Letter.'/'.$FolderName)) { 
     21        mkdir_log($CONF['DIRsource'].$Letter.'/'.$FolderName); 
     22      } 
     23       
     24      // Déplace le fichier 
     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'; 
     29    } 
     30     
     31    $done = true; 
     32  } 
    3333} 
    3434 
  • extensions/PHP_Optimisateur/plugins/front2back_support/main.php

    r10337 r12819  
    11<?php 
    22/***************************************\ 
    3 |                       PHP OPTIMISATEUR                        | 
    4 |         Plugin Front2Back Support 1.2         | 
     3|            PHP OPTIMISATEUR           | 
     4|     Plugin Front2Back Support 1.2     | 
    55\***************************************/ 
    66 
     
    1717// applique le tag au fichier normal si il existe un verso 
    1818if (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]; 
     19  nconvert('-iptc_add 25 "'.$F2B_tagverso.'" "'.$FilesSource[$i].'"'); 
     20  $LOG[] = 'Tag "'.$F2B_tagverso.'" added to '.$FilesSource[$i]; 
    2121} 
    2222 
    2323if (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         } 
    30          
    31         // Image normale 
    32         if (!file_exists($file['folder_out'].'thumbnail/verso')) { 
    33                 mkdir_log($file['folder_out'].'thumbnail/verso'); 
    34         } 
    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].'"'); 
    36          
    37         // Image hd 
    38         if ($CONF['DIRhighORNOT']) { 
    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'; 
    42                 } 
    43                 if ($CONF['DIMhdORNOT']) { 
    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].'"'); 
    47                 } else { 
    48                         copy_log($FilesSource[$i], $file['folder_out'].'pwg_high/verso/'.$file['name_clean'].'.jpg'); 
    49                 } 
    50         } 
    51          
    52         // Déplacement de l'image originale 
    53         if ($F2B_moveverso) { 
    54                 if (!file_exists($file['folder_src'].'verso')) { 
    55                         mkdir_log($file['folder_src'].'verso', 0777, true); 
    56                 } 
    57                 rename_log($file['folder_src'].$file['name'].'.'.$file['ext'], $file['folder_src'].'verso/'.$file['name_clean'].'.'.$file['ext'], true); 
    58         } 
    59          
    60         // Suppression de la miniature si déjà crée (par un autre plugin) 
    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'); 
    67         } 
    68          
    69         $BlockNormal['front2back_support'] = true; 
    70         $BlockThumbnail['front2back_support'] = true; 
    71         $BlockHigh['front2back_support'] = true; 
     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  } 
     30   
     31  // Image normale 
     32  if (!file_exists($file['folder_out'].'thumbnail/verso')) { 
     33    mkdir_log($file['folder_out'].'thumbnail/verso'); 
     34  } 
     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].'"'); 
     36   
     37  // Image hd 
     38  if ($CONF['DIRhighORNOT']) { 
     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'; 
     42    } 
     43    if ($CONF['DIMhdORNOT']) { 
     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].'"'); 
     47    } else { 
     48      copy_log($FilesSource[$i], $file['folder_out'].'pwg_high/verso/'.$file['name_clean'].'.jpg'); 
     49    } 
     50  } 
     51   
     52  // Déplacement de l'image originale 
     53  if ($F2B_moveverso) { 
     54    if (!file_exists($file['folder_src'].'verso')) { 
     55      mkdir_log($file['folder_src'].'verso', 0777, true); 
     56    } 
     57    rename_log($file['folder_src'].$file['name'].'.'.$file['ext'], $file['folder_src'].'verso/'.$file['name_clean'].'.'.$file['ext'], true); 
     58  } 
     59   
     60  // Suppression de la miniature si déjà crée (par un autre plugin) 
     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'); 
     67  } 
     68   
     69  $BlockNormal['front2back_support'] = true; 
     70  $BlockThumbnail['front2back_support'] = true; 
     71  $BlockHigh['front2back_support'] = true; 
    7272} 
    7373 
  • extensions/PHP_Optimisateur/plugins/front2back_support/setup.php

    r10337 r12819  
    33 
    44switch ($PLUGIN_ACTION) { 
    5         // Affichage simple de la configuration 
    6         case 'read_config': 
    7                 $PAGE['content'] .= ' 
    8                 <table> 
    9                         <tr> 
    10                                 <td>'.l10n('front2back_support.NAMEverso').' :</td> 
    11                                 <td>'.$plugin_config['NAMEverso'].'</td> 
    12                         </tr> 
    13                         <tr> 
    14                                 <td>'.l10n('front2back_support.MOVEverso').' :</td> 
    15                                 <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> 
    20                         </tr> 
    21                 </table>'; 
    22                 break; 
    23                  
    24         // Actions avant enregistrement 
    25         case 'save_config': 
    26                 $_POST['Plugins']['front2back_support']['NAMEverso'] = delete_special_car($_POST['Plugins']['front2back_support']['NAMEverso']); 
    27                 break; 
    28                  
    29         // Formulaire d'édition 
    30         case 'edit_config': 
    31                 $PAGE['content'] .= ' 
    32                 <table> 
    33                         <tr> 
    34                                 <td>'.l10n('front2back_support.NAMEverso').' :</td> 
    35                                 <td><input type="text" name="Plugins[front2back_support][NAMEverso]" value="'.$plugin_config['NAMEverso'].'" size="6"/></td> 
    36                         </tr> 
    37                         <tr> 
    38                                 <td>'.l10n('front2back_support.MOVEverso').' :</td> 
    39                                 <td> 
    40                                         <input type="radio" id="front2back_support-move1" name="Plugins[front2back_support][MOVEverso]" value="true" '.(($plugin_config['MOVEverso'])?'checked="checked"':'').'/>  
    41                                         <label for="front2back_support-move1">'.l10n('yes').'</label> 
    42                                         <input type="radio" id="front2back_support-move2" name="Plugins[front2back_support][MOVEverso]" value="false" '.((!$plugin_config['MOVEverso'])?'checked="checked"':'').'/>  
    43                                         <label for="front2back_support-move2">'.l10n('no').'</label> 
    44                                 </td> 
    45                         </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> 
    53                 </table>'; 
    54                 break; 
     5  // Affichage simple de la configuration 
     6  case 'read_config': 
     7    $PAGE['content'] .= ' 
     8    <table> 
     9      <tr> 
     10        <td>'.l10n('front2back_support.NAMEverso').' :</td> 
     11        <td>'.$plugin_config['NAMEverso'].'</td> 
     12      </tr> 
     13      <tr> 
     14        <td>'.l10n('front2back_support.MOVEverso').' :</td> 
     15        <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> 
     20      </tr> 
     21    </table>'; 
     22    break; 
     23     
     24  // Actions avant enregistrement 
     25  case 'save_config': 
     26    $_POST['Plugins']['front2back_support']['NAMEverso'] = delete_special_car($_POST['Plugins']['front2back_support']['NAMEverso']); 
     27    break; 
     28     
     29  // Formulaire d'édition 
     30  case 'edit_config': 
     31    $PAGE['content'] .= ' 
     32    <table> 
     33      <tr> 
     34        <td>'.l10n('front2back_support.NAMEverso').' :</td> 
     35        <td><input type="text" name="Plugins[front2back_support][NAMEverso]" value="'.$plugin_config['NAMEverso'].'" size="6"/></td> 
     36      </tr> 
     37      <tr> 
     38        <td>'.l10n('front2back_support.MOVEverso').' :</td> 
     39        <td> 
     40          <input type="radio" id="front2back_support-move1" name="Plugins[front2back_support][MOVEverso]" value="true" '.(($plugin_config['MOVEverso'])?'checked="checked"':'').'/>  
     41          <label for="front2back_support-move1">'.l10n('yes').'</label> 
     42          <input type="radio" id="front2back_support-move2" name="Plugins[front2back_support][MOVEverso]" value="false" '.((!$plugin_config['MOVEverso'])?'checked="checked"':'').'/>  
     43          <label for="front2back_support-move2">'.l10n('no').'</label> 
     44        </td> 
     45      </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> 
     53    </table>'; 
     54    break; 
    5555} 
    5656?> 
  • extensions/PHP_Optimisateur/plugins/watermark/main.php

    r9276 r12819  
    11<?php 
    22/***************************************\ 
    3 |                       PHP OPTIMISATEUR                        | 
    4 |                 Plugin Watermark 1.1                  | 
     3|            PHP OPTIMISATEUR           | 
     4|          Plugin Watermark 1.1         | 
    55\***************************************/ 
    66 
     
    88## Dépend des valeurs de $CONF['copyONhd'], $CONF['copyONnormal'] et $CONF['copyPOS'] 
    99 
    10 $WM_waterfile = $CONF['Plugins']['watermark']['waterFILE']; // Fichier à incruster 
     10$WM_waterfile = $CONF['Plugins']['watermark']['waterFILE'];   // Fichier à incruster 
    1111$WM_wateralpha = $CONF['Plugins']['watermark']['waterALPHA']; // Opacité 
    1212 
    1313if (file_exists($WM_waterfile)) { 
    14         if ($CONF['copyONhd']) { 
    15                 $CONF['copyHD'] = '-wmfile "'.$WM_waterfile.'" -wmflag '.$CONF['copyPOS'].' -wmpos 0 0 -wmopacity '.$WM_wateralpha.''; 
    16         } 
    17          
    18         if ($CONF['copyONnormal']) { 
    19                 $CONF['copyNormal'] = '-wmfile "'.$WM_waterfile.'" -wmflag '.$CONF['copyPOS'].' -wmpos 0 0 -wmopacity '.$WM_wateralpha.''; 
    20         } 
     14  if ($CONF['copyONhd']) { 
     15    $CONF['copyHD'] = '-wmfile "'.$WM_waterfile.'" -wmflag '.$CONF['copyPOS'].' -wmpos 0 0 -wmopacity '.$WM_wateralpha.''; 
     16  } 
     17   
     18  if ($CONF['copyONnormal']) { 
     19    $CONF['copyNormal'] = '-wmfile "'.$WM_waterfile.'" -wmflag '.$CONF['copyPOS'].' -wmpos 0 0 -wmopacity '.$WM_wateralpha.''; 
     20  } 
    2121} 
    2222?> 
  • extensions/PHP_Optimisateur/plugins/watermark/setup.php

    r10337 r12819  
    33 
    44switch ($PLUGIN_ACTION) { 
    5         // Affichage simple de la configuration 
    6         case 'read_config': 
    7                 $PAGE['content'] .= ' 
    8                 <table> 
    9                         <tr> 
    10                                 <td>'.l10n('watermark.waterFILE').' :</td> 
    11                                 <td>'.$plugin_config['waterFILE'].'</td> 
    12                         </tr> 
    13                         <tr> 
    14                                 <td>'.l10n('watermark.waterALPHA').' :</td> 
    15                                 <td>'.$plugin_config['waterALPHA'].' %</td> 
    16                         </tr> 
    17                 </table>'; 
    18                 break; 
    19                  
    20         // Actions avant enregistrement 
    21         case 'save_config': 
    22                 if (!is_decimal($_POST['Plugins']['watermark']['waterALPHA'])) { 
    23                         $_POST['Plugins']['watermark']['waterALPHA'] = 80; 
    24                         $ERRORS['conf'][] = array(l10n('watermark.waterALPHA'), 'must_be_integer'); 
    25                 } 
    26                  
    27                 break; 
    28                  
    29         // Formulaire d'édition 
    30         case 'edit_config': 
    31                 $PAGE['content'] .= ' 
    32                 <table> 
    33                         <tr> 
    34                                 <td>'.l10n('watermark.waterFILE').' :</td> 
    35                                 <td><input type="text" name="Plugins[watermark][waterFILE]" value="'.$plugin_config['waterFILE'].'" size="10"/></td> 
    36                         </tr> 
    37                         <tr> 
    38                                 <td>'.l10n('watermark.waterALPHA').' :</td> 
    39                                 <td><input type="text" name="Plugins[watermark][waterALPHA]" value="'.$plugin_config['waterALPHA'].'" size="3"/>%</td> 
    40                         </tr> 
    41                 </table>'; 
    42                 break; 
     5  // Affichage simple de la configuration 
     6  case 'read_config': 
     7    $PAGE['content'] .= ' 
     8    <table> 
     9      <tr> 
     10        <td>'.l10n('watermark.waterFILE').' :</td> 
     11        <td>'.$plugin_config['waterFILE'].'</td> 
     12      </tr> 
     13      <tr> 
     14        <td>'.l10n('watermark.waterALPHA').' :</td> 
     15        <td>'.$plugin_config['waterALPHA'].' %</td> 
     16      </tr> 
     17    </table>'; 
     18    break; 
     19     
     20  // Actions avant enregistrement 
     21  case 'save_config': 
     22    if (!is_decimal($_POST['Plugins']['watermark']['waterALPHA'])) { 
     23      $_POST['Plugins']['watermark']['waterALPHA'] = 80; 
     24      $ERRORS['conf'][] = array(l10n('watermark.waterALPHA'), 'must_be_integer'); 
     25    } 
     26     
     27    break; 
     28     
     29  // Formulaire d'édition 
     30  case 'edit_config': 
     31    $PAGE['content'] .= ' 
     32    <table> 
     33      <tr> 
     34        <td>'.l10n('watermark.waterFILE').' :</td> 
     35        <td><input type="text" name="Plugins[watermark][waterFILE]" value="'.$plugin_config['waterFILE'].'" size="10"/></td> 
     36      </tr> 
     37      <tr> 
     38        <td>'.l10n('watermark.waterALPHA').' :</td> 
     39        <td><input type="text" name="Plugins[watermark][waterALPHA]" value="'.$plugin_config['waterALPHA'].'" size="3"/>%</td> 
     40      </tr> 
     41    </table>'; 
     42    break; 
    4343} 
    4444?> 
  • extensions/PHP_Optimisateur/template/css/colorpicker.css

    r9201 r12819  
    11.colorpicker { 
    2         width: 286px; 
    3         height: 176px; 
    4         overflow: hidden; 
    5         position: absolute; 
    6         background: url(../images/colorpicker_background.png); 
    7         font-family: Arial, Helvetica, sans-serif; 
    8         display: none; 
     2  width: 286px; 
     3  height: 176px; 
     4  overflow: hidden; 
     5  position: absolute; 
     6  background: url(../images/colorpicker_background.png); 
     7  font-family: Arial, Helvetica, sans-serif; 
     8  display: none; 
    99} 
    1010.colorpicker_color { 
    11         width: 150px; 
    12         height: 150px; 
    13         left: 14px; 
    14         top: 13px; 
    15         position: absolute; 
    16         background: #f00; 
    17         overflow: hidden; 
    18         cursor: crosshair; 
     11  width: 150px; 
     12  height: 150px; 
     13  left: 14px; 
     14  top: 13px; 
     15  position: absolute; 
     16  background: #f00; 
     17  overflow: hidden; 
     18  cursor: crosshair; 
    1919} 
    2020.colorpicker_color div { 
    21         position: absolute; 
    22         top: 0; 
    23         left: 0; 
    24         width: 150px; 
    25         height: 150px; 
    26         background: url(../images/colorpicker_overlay.png); 
     21  position: absolute; 
     22  top: 0; 
     23  left: 0; 
     24  width: 150px; 
     25  height: 150px; 
     26  background: url(../images/colorpicker_overlay.png); 
    2727} 
    2828.colorpicker_color div div { 
    29         position: absolute; 
    30         top: 0; 
    31         left: 0; 
    32         width: 11px; 
    33         height: 11px; 
    34         overflow: hidden; 
    35         background: url(../images/colorpicker_select.gif); 
    36         margin: -5px 0 0 -5px; 
     29  position: absolute; 
     30  top: 0; 
     31  left: 0; 
     32  width: 11px; 
     33  height: 11px; 
     34  overflow: hidden; 
     35  background: url(../images/colorpicker_select.gif); 
     36  margin: -5px 0 0 -5px; 
    3737} 
    3838.colorpicker_hue { 
    39         position: absolute; 
    40         top: 13px; 
    41         left: 171px; 
    42         width: 35px; 
    43         height: 150px; 
    44         cursor: n-resize; 
     39  position: absolute; 
     40  top: 13px; 
     41  left: 171px; 
     42  width: 35px; 
     43  height: 150px; 
     44  cursor: n-resize; 
    4545} 
    4646.colorpicker_hue div { 
    47         position: absolute; 
    48         width: 35px; 
    49         height: 9px; 
    50         overflow: hidden; 
    51         background: url(../images/colorpicker_indic.gif) left top; 
    52         margin: -4px 0 0 0; 
    53         left: 0px; 
     47  position: absolute; 
     48  width: 35px; 
     49  height: 9px; 
     50  overflow: hidden; 
     51  background: url(../images/colorpicker_indic.gif) left top; 
     52  margin: -4px 0 0 0; 
     53  left: 0px; 
    5454} 
    5555.colorpicker_new_color { 
    56         position: absolute; 
    57         width: 60px; 
    58         height: 30px; 
    59         left: 213px; 
    60         top: 13px; 
    61         background: #f00; 
     56  position: absolute; 
     57  width: 60px; 
     58  height: 30px; 
     59  left: 213px; 
     60  top: 13px; 
     61  background: #f00; 
    6262} 
    6363.colorpicker_current_color { 
    64         display:none; 
     64  display:none; 
    6565} 
    6666.colorpicker input { 
    67         background-color: transparent; 
    68         border: 1px solid transparent; 
    69         position: absolute; 
    70         font-size: 10px; 
    71         font-family: Arial, Helvetica, sans-serif; 
    72         color: #898989; 
    73         top: 4px; 
    74         right: 11px; 
    75         text-align: right; 
    76         margin: 0; 
    77         padding: 0; 
    78         height: 11px; 
     67  background-color: transparent; 
     68  border: 1px solid transparent; 
     69  position: absolute; 
     70  font-size: 10px; 
     71  font-family: Arial, Helvetica, sans-serif; 
     72  color: #898989; 
     73  top: 4px; 
     74  right: 11px; 
     75  text-align: right; 
     76  margin: 0; 
     77  padding: 0; 
     78  height: 11px; 
    7979} 
    8080/* annulation des styles généraux */ 
    8181.colorpicker input:hover, .colorpicker input:focus { 
    82         border:none; 
    83         background:none; 
    84         -moz-box-shadow:none; 
    85         -webkit-box-shadow:none; 
     82  border:none; 
     83  background:none; 
     84  -moz-box-shadow:none; 
     85  -webkit-box-shadow:none; 
    8686} 
    8787.colorpicker_hex { 
    88         display:none; 
     88  display:none; 
    8989} 
    9090.colorpicker_field { 
    91         height: 22px; 
    92         width: 62px; 
    93         background-position: top; 
    94         position: absolute; 
     91  height: 22px; 
     92  width: 62px; 
     93  background-position: top; 
     94  position: absolute; 
    9595} 
    9696.colorpicker_field span { 
    97         position: absolute; 
    98         width: 12px; 
    99         height: 22px; 
    100         overflow: hidden; 
    101         top: 0; 
    102         right: 0; 
    103         cursor: n-resize; 
     97  position: absolute; 
     98  width: 12px; 
     99  height: 22px; 
     100  overflow: hidden; 
     101  top: 0; 
     102  right: 0; 
     103  cursor: n-resize; 
    104104} 
    105105.colorpicker_rgb_r { 
    106         background-image: url(../images/colorpicker_rgb_r.png); 
    107         top: 52px; 
    108         left: 212px; 
     106  background-image: url(../images/colorpicker_rgb_r.png); 
     107  top: 52px; 
     108  left: 212px; 
    109109} 
    110110.colorpicker_rgb_g { 
    111         background-image: url(../images/colorpicker_rgb_g.png); 
    112         top: 82px; 
    113         left: 212px; 
     111  background-image: url(../images/colorpicker_rgb_g.png); 
     112  top: 82px; 
     113  left: 212px; 
    114114} 
    115115.colorpicker_rgb_b { 
    116         background-image: url(../images/colorpicker_rgb_b.png); 
    117         top: 112px; 
    118         left: 212px; 
     116  background-image: url(../images/colorpicker_rgb_b.png); 
     117  top: 112px; 
     118  left: 212px; 
    119119} 
    120120.colorpicker_hsb_h, .colorpicker_hsb_s, .colorpicker_hsb_b { 
    121         display:none; 
     121  display:none; 
    122122} 
    123123.colorpicker_submit { 
    124         position: absolute; 
    125         width: 22px; 
    126         height: 22px; 
    127         background: url(../images/colorpicker_submit.png) top; 
    128         right: 6px; 
    129         bottom: 6px; 
    130         overflow: hidden; 
     124  position: absolute; 
     125  width: 22px; 
     126  height: 22px; 
     127  background: url(../images/colorpicker_submit.png) top; 
     128  right: 6px; 
     129  bottom: 6px; 
     130  overflow: hidden; 
    131131} 
    132132.colorpicker_focus { 
    133         background-position: center; 
     133  background-position: center; 
    134134} 
    135135.colorpicker_hex.colorpicker_focus { 
    136         background-position: bottom; 
     136  background-position: bottom; 
    137137} 
    138138.colorpicker_submit.colorpicker_focus { 
    139         background-position: bottom; 
     139  background-position: bottom; 
    140140} 
    141141.colorpicker_slider { 
    142         background-position: bottom; 
     142  background-position: bottom; 
    143143} 
  • extensions/PHP_Optimisateur/template/css/jqtransform.css

    r9201 r12819  
    11form.jqtransformdone label{ 
    2         display:block; 
    3         float:left; 
     2  display:block; 
     3  float:left; 
    44} 
    55.jqTransformRadioWrapper { 
    6         display:block; 
    7         float:left; 
    8         margin:2px 4px -2px 4px; 
     6  display:block; 
     7  float:left; 
     8  margin:2px 4px -2px 4px; 
    99} 
    1010.jqTransformRadio { 
    11         background:url(../images/radio.png) no-repeat center top; 
    12         vertical-align:middle; 
    13         height:12px; 
    14         width:12px; 
    15         display:block; 
     11  background:url(../images/radio.png) no-repeat center top; 
     12  vertical-align:middle; 
     13  height:12px; 
     14  width:12px; 
     15  display:block; 
    1616} 
    1717.jqTransformCheckboxWrapper{ 
    18         display:block; 
    19         float:left; 
    20         margin:2px 4px -2px 4px; 
     18  display:block; 
     19  float:left; 
     20  margin:2px 4px -2px 4px; 
    2121} 
    2222.jqTransformCheckbox { 
    23         background:url(../images/checkbox.png) no-repeat center top; 
    24         vertical-align:middle; 
    25         height:12px; 
    26         width:12px; 
    27         display:block; 
     23  background:url(../images/checkbox.png) no-repeat center top; 
     24  vertical-align:middle; 
     25  height:12px; 
     26  width:12px; 
     27  display:block; 
    2828} 
    2929.jqTransformChecked { background-position:center bottom; } 
  • extensions/PHP_Optimisateur/template/css/screen.css

    r10337 r12819  
    11* { 
    2         margin:0px; 
    3         padding:0px; 
    4         border:0px; 
     2  margin:0px; 
     3  padding:0px; 
     4  border:0px; 
    55} 
    66 
    77body { 
    8         font-size:13px; 
    9         font-family:"Calibri",sans-serif; 
    10         background:#0a0a0a; 
    11         color:#777; 
    12         width:990px; 
    13         margin:0 auto; 
     8  font-size:13px; 
     9  font-family:"Calibri",sans-serif; 
     10  background:#0a0a0a; 
     11  color:#777; 
     12  width:990px; 
     13  margin:0 auto; 
    1414} 
    1515 
    1616#overlay { 
    17         position:fixed; 
    18         z-index:9999; 
    19         top:0; 
    20         left:0; 
    21         width:100%; 
    22         height:100%; 
    23         background:#000; 
    24         opacity:0.3; 
    25         filter:alpha(opacity=30);  
     17  position:fixed; 
     18  z-index:9999; 
     19  top:0; 
     20  left:0; 
     21  width:100%; 
     22  height:100%; 
     23  background:#000; 
     24  opacity:0.3; 
     25  filter:alpha(opacity=30);  
    2626} 
    2727 
    2828div.generic { 
    29         width:450px; 
    30         margin:10px; 
    31         padding:10px; 
    32         border:1px solid #333; 
    33         float:left; 
    34         -moz-border-radius:3px; 
    35         -webkit-border-radius:3px; 
    36 } 
    37         div.title { 
    38                 float:none; 
    39                 width:942px; 
    40                 text-align:center; 
    41                 font-weight:bold; 
    42                 font-size:1.5em; 
    43                 color:#eee; 
    44                 text-shadow:0 0 4px #07f; 
    45                 border-color:#07F; 
    46                 -moz-box-shadow:0 0 6px #07F, inset 0 0 5px #07F; 
    47                 -webkit-box-shadow:0 0 6px #07F, inset 0 0 5px #07F; 
    48                 background-color:#222; 
    49                 background-image:-moz-linear-gradient(center bottom, #111, #333); 
    50                 background-image:-webkit-gradient(linear,center bottom,center top,color-stop(0, #111),color-stop(1, #333)); 
    51         } 
    52         div.footer { 
    53                 clear:both; 
    54                 width:942px; 
    55                 text-align:center; 
    56                 border:none; 
    57         } 
    58         div.files li { 
    59                 margin-top:0; 
    60         } 
    61  
    62         div.finish  { 
    63                 background:#030; 
    64                 color:#eee; 
    65                 text-shadow:0 0 4px #0b0; 
    66                 border-color:#0b0; 
    67                 -moz-box-shadow:0 0 6px #0b0, inset 0 0 5px #0b0; 
    68                 -webkit-box-shadow:0 0 6px #0b0, inset 0 0 5px #0b0; 
    69                 font-weight:bold; 
    70                 font-size:1.2em; 
    71         } 
    72  
    73         div.error { 
    74                 background:#300; 
    75                 color:#eee; 
    76                 text-shadow:0 0 4px #B00; 
    77                 border-color:#B00; 
    78                 -moz-box-shadow:0 0 6px #B00, inset 0 0 5px #B00; 
    79                 -webkit-box-shadow:0 0 6px #B00, inset 0 0 5px #B00; 
    80                 font-weight:bold; 
    81                 font-size:1.2em; 
    82         } 
    83         div.notice { 
    84                 background:#440; 
    85                 color:#eee; 
    86                 text-shadow:0 0 4px #ff0; 
    87                 border-color:#ff0; 
    88                 -moz-box-shadow:0 0 6px #ff0, inset 0 0 5px #ff0; 
    89                 -webkit-box-shadow:0 0 6px #ff0, inset 0 0 5px #ff0; 
    90                 font-weight:bold; 
    91                 font-size:1.2em; 
    92         } 
    93         div.notice.conf { 
    94                 font-weight:normal; 
    95                 font-size:1em; 
    96         } 
    97         div.link { 
    98                 float:right; 
    99                 font-size:1.1em; 
    100                 border:none; 
    101                 text-align:center; 
    102         } 
    103          
     29  width:450px; 
     30  margin:10px; 
     31  padding:10px; 
     32  border:1px solid #333; 
     33  float:left; 
     34  -moz-border-radius:3px; 
     35  -webkit-border-radius:3px; 
     36  overflow-x:hidden; 
     37} 
     38  div.title { 
     39    float:none; 
     40    width:942px; 
     41    text-align:center; 
     42    font-weight:bold; 
     43    font-size:1.5em; 
     44    color:#eee; 
     45    text-shadow:0 0 4px #07f; 
     46    border-color:#07F; 
     47    -moz-box-shadow:0 0 6px #07F, inset 0 0 5px #07F; 
     48    -webkit-box-shadow:0 0 6px #07F, inset 0 0 5px #07F; 
     49    background-color:#222; 
     50    background-image:-moz-linear-gradient(center bottom, #111, #333); 
     51    background-image:-webkit-gradient(linear,center bottom,center top,color-stop(0, #111),color-stop(1, #333)); 
     52  } 
     53  div.footer { 
     54    clear:both; 
     55    width:942px; 
     56    text-align:center; 
     57    border:none; 
     58  } 
     59  div.files li { 
     60    margin-top:0; 
     61  } 
     62 
     63  div.finish  { 
     64    background:#030; 
     65    color:#eee; 
     66    text-shadow:0 0 4px #0b0; 
     67    border-color:#0b0; 
     68    -moz-box-shadow:0 0 6px #0b0, inset 0 0 5px #0b0; 
     69    -webkit-box-shadow:0 0 6px #0b0, inset 0 0 5px #0b0; 
     70    font-weight:bold; 
     71    font-size:1.2em; 
     72  } 
     73 
     74  div.error { 
     75    background:#300; 
     76    color:#eee; 
     77    text-shadow:0 0 4px #B00; 
     78    border-color:#B00; 
     79    -moz-box-shadow:0 0 6px #B00, inset 0 0 5px #B00; 
     80    -webkit-box-shadow:0 0 6px #B00, inset 0 0 5px #B00; 
     81    font-weight:bold; 
     82    font-size:1.2em; 
     83  } 
     84  div.notice { 
     85    background:#440; 
     86    color:#eee; 
     87    text-shadow:0 0 4px #ff0; 
     88    border-color:#ff0; 
     89    -moz-box-shadow:0 0 6px #ff0, inset 0 0 5px #ff0; 
     90    -webkit-box-shadow:0 0 6px #ff0, inset 0 0 5px #ff0; 
     91    font-weight:bold; 
     92    font-size:1.2em; 
     93  } 
     94  div.notice.conf { 
     95    font-weight:normal; 
     96    font-size:1em; 
     97  } 
     98  div.link { 
     99    float:right; 
     100    font-size:1.1em; 
     101    border:none; 
     102    text-align:center; 
     103  } 
     104   
    104105a { 
    105         text-decoration:none; 
    106         font-style:italic; 
    107         font-family:"Consolas"; 
    108         color:#e80; 
    109         text-shadow:0 0 4px #f70; 
    110 } 
    111         a:hover { 
    112                 color:#07F; 
    113                 text-shadow:0 0 4px #07f; 
    114         } 
    115         .link a { 
    116                 margin:0 10px; 
    117                 float:right; 
    118                 margin-bottom:1px; 
    119         }        
     106  text-decoration:none; 
     107  font-style:italic; 
     108  font-family:"Consolas"; 
     109  color:#e80; 
     110  text-shadow:0 0 4px #f70; 
     111} 
     112  a:hover { 
     113    color:#07F; 
     114    text-shadow:0 0 4px #07f; 
     115  } 
     116  .link a { 
     117    margin:0 10px; 
     118    float:right; 
     119    margin-bottom:1px; 
     120  }   
    120121 
    121122h2 { 
    122         margin-top:-5px; 
    123         color:#eee; 
    124         text-shadow:0 0 5px #ddd; 
     123  margin-top:-5px; 
     124  color:#eee; 
     125  text-shadow:0 0 5px #ddd; 
    125126} 
    126127 
    127128ul { 
    128         margin:0 0 0 20px; 
    129 } 
    130         li { 
    131                 margin-top:5px; 
    132         } 
    133                 li ul li { 
    134                         margin-top:0; 
    135                 } 
    136                  
    137 input[type="submit"], input[type="reset"], input[type="text"], a.input-submit { 
    138         color:#666; 
    139         border:1px solid #555; 
    140         -moz-border-radius:3px; 
    141         -webkit-border-radius:3px; 
    142         background:#111; 
    143         font-family:"Calibri",sans-serif; 
    144 } 
    145         input[type="submit"]:hover, input[type="reset"]:hover, input[type="text"]:hover, a.input-submit:hover { 
    146                 border-color:#07f; 
    147                 -moz-box-shadow:0 0 3px #07f; 
    148                 -webkit-box-shadow:0 0 3px #07f; 
    149         } 
    150         input[type="submit"]:focus, input[type="reset"]:focus, input[type="text"]:focus { 
    151                 color:#999; 
    152                 background:#222; 
    153                 border-color:#f70; 
    154                 -moz-box-shadow:0 0 3px #F70; 
    155                 -webkit-box-shadow:0 0 3px #F70; 
    156         } 
    157         input[type="submit"], input[type="reset"], a.input-submit  { 
    158                 margin:-5px 10px 0 10px; 
    159                 padding:3px 8px 3px 6px; 
    160                 color:#777; 
    161                 font-size:1.1em; 
    162                 font-style:italic; 
    163                 -moz-border-radius:20px; 
    164                 -webkit-border-radius:20px; 
    165                 background-image:-moz-linear-gradient(center bottom, #111, #333); 
    166                 background-image:-webkit-gradient(linear,center bottom,center top,color-stop(0, #111),color-stop(1, #333)); 
    167         } 
    168         input[type="submit"]:hover, input[type="reset"]:hover, a.input-submit:hover { 
    169                 color:#07f; 
    170                 text-shadow:0 0 3px #07f; 
    171                 background-image:-moz-linear-gradient(center top, #111, #222); 
    172                 background-image:-webkit-gradient(linear,center top,center bottom,color-stop(0, #111),color-stop(1, #222)); 
    173         } 
    174          
     129  margin:0 0 0 20px; 
     130} 
     131  li { 
     132    margin-top:5px; 
     133  } 
     134    li ul li { 
     135      margin-top:0; 
     136    } 
     137     
     138input[type="submit"], input[type="reset"], input[type="text"], a.input-submit, textarea { 
     139  color:#666; 
     140  border:1px solid #555; 
     141  -moz-border-radius:3px; 
     142  -webkit-border-radius:3px; 
     143  background:#111; 
     144  font-family:"Calibri",sans-serif; 
     145  font-size:12px; 
     146  line-height:1em; 
     147} 
     148  input[type="submit"]:hover, input[type="reset"]:hover, input[type="text"]:hover, a.input-submit:hover, textarea:hover { 
     149    border-color:#07f; 
     150    -moz-box-shadow:0 0 3px #07f; 
     151    -webkit-box-shadow:0 0 3px #07f; 
     152  } 
     153  input[type="submit"]:focus, input[type="reset"]:focus, input[type="text"]:focus, textarea:focus { 
     154    color:#999; 
     155    background:#222; 
     156    border-color:#f70; 
     157    -moz-box-shadow:0 0 3px #F70; 
     158    -webkit-box-shadow:0 0 3px #F70; 
     159  } 
     160  input[type="submit"], input[type="reset"], a.input-submit  { 
     161    margin:-5px 10px 0 10px; 
     162    padding:3px 8px 3px 6px; 
     163    color:#777; 
     164    font-size:1.1em; 
     165    font-style:italic; 
     166    -moz-border-radius:20px; 
     167    -webkit-border-radius:20px; 
     168    background-image:-moz-linear-gradient(center bottom, #111, #333); 
     169    background-image:-webkit-gradient(linear,center bottom,center top,color-stop(0, #111),color-stop(1, #333)); 
     170  } 
     171  input[type="submit"]:hover, input[type="reset"]:hover, a.input-submit:hover { 
     172    color:#07f; 
     173    text-shadow:0 0 3px #07f; 
     174    background-image:-moz-linear-gradient(center top, #111, #222); 
     175    background-image:-webkit-gradient(linear,center top,center bottom,color-stop(0, #111),color-stop(1, #222)); 
     176  } 
     177   
    175178a.input-submit { 
    176         float:none; 
    177         display:inline-block; 
    178         margin-top:1px; 
    179         padding:3px 10px 5px 10px; 
    180         text-shadow:none; 
     179  float:none; 
     180  display:inline-block; 
     181  margin-top:1px; 
     182  padding:3px 10px 5px 10px; 
     183  text-shadow:none; 
    181184} 
    182185 
    183186 
    184187b.new { 
    185         color:#0b0; 
    186         font-style:italic; 
     188  color:#0b0; 
     189  font-style:italic; 
    187190} 
    188191b.miss { 
    189         color:#B00; 
    190         font-style:italic; 
     192  color:#B00; 
     193  font-style:italic; 
    191194} 
    192195 
    193196span.title { 
    194         font-weight:bold; 
    195         text-decoration:underline; 
    196         font-size:1.1em; 
    197         color:#eee; 
    198         text-shadow:0 0 3px #ddd; 
     197  font-weight:bold; 
     198  text-decoration:underline; 
     199  font-size:1.1em; 
     200  color:#eee; 
     201  text-shadow:0 0 3px #ddd; 
    199202} 
    200203 
    201204table { 
    202         min-width:50%; 
    203 } 
    204         tr td:first-child { 
    205                 text-align:right; 
    206                 padding-right:5px; 
    207                 font-weight:bold; 
    208         } 
    209         tr td.legend { 
    210                 font-weight:normal; 
    211                 text-align:left; 
    212         } 
    213                  
     205  min-width:50%; 
     206} 
     207  tr td:first-child { 
     208    text-align:right; 
     209    padding-right:5px; 
     210    font-weight:bold; 
     211    min-width:100px; 
     212  } 
     213  tr td.legend { 
     214    font-weight:normal; 
     215    text-align:left; 
     216  } 
     217     
    214218#loader { 
    215         float:right; 
    216         margin:-8px 0 -10px 0; 
     219  float:right; 
     220  margin:-8px 0 -10px 0; 
    217221} 
    218222 
    219223.plugin-title .plugin-active { 
    220         float:right; 
     224  float:right; 
    221225} 
    222226 
    223227.color-display { 
    224         width:30px; 
    225         height:15px; 
    226         margin:-10px 0; 
    227         display:inline-block; 
    228         vertical-align:middle; 
    229         border:1px solid #888; 
    230         -moz-border-radius:3px; 
    231         -webkit-border-radius:3px; 
    232         -moz-box-shadow: 0 0 2px #888, inset 0 0 2px #888; 
    233         -webkit-box-shadow: 0 0 2px #888, inset 0 0 2px #888; 
     228  width:30px; 
     229  height:15px; 
     230  margin:-10px 0; 
     231  display:inline-block; 
     232  vertical-align:middle; 
     233  border:1px solid #888; 
     234  -moz-border-radius:3px; 
     235  -webkit-border-radius:3px; 
     236  -moz-box-shadow: 0 0 2px #888, inset 0 0 2px #888; 
     237  -webkit-box-shadow: 0 0 2px #888, inset 0 0 2px #888; 
    234238} 
    235239 
    236240#languageSwitchLink { 
    237         float:right; 
    238         width:100px; 
    239         padding:0 5px; 
    240         text-align:left; 
     241  float:right; 
     242  width:100px; 
     243  padding:0 5px; 
     244  text-align:left; 
    241245} 
    242246 
    243247#languageSwitchBox { 
    244         position:absolute; 
    245         top:5px; 
    246         right:50%; 
    247         margin-right:-470px; 
    248         width:100px; 
    249         z-index:99; 
    250         padding:5px; 
    251         background:#0a0a0a; 
    252         -moz-box-shadow:0 0 5px #000; 
    253         -webkit-box-shadow:0 0 5px #000; 
    254         text-align:left; 
    255         opacity:0.8; 
    256         filter:alpha(opacity=80); 
     248  position:absolute; 
     249  top:5px; 
     250  right:50%; 
     251  margin-right:-470px; 
     252  width:100px; 
     253  z-index:99; 
     254  padding:5px; 
     255  background:#0a0a0a; 
     256  -moz-box-shadow:0 0 5px #000; 
     257  -webkit-box-shadow:0 0 5px #000; 
     258  text-align:left; 
     259  opacity:0.8; 
     260  filter:alpha(opacity=80); 
    257261} 
    258262 
    259263#languageSwitchBox *, #languageSwitchLink * { 
    260         font-size:13px; 
    261         text-shadow:none; 
    262         font-weight:normal; 
    263         color:#eee; 
     264  font-size:13px; 
     265  text-shadow:none; 
     266  font-weight:normal; 
     267  color:#eee; 
    264268} 
    265269 
    266270#languageSwitchBox ul, #languageSwitchLink ul { 
    267         list-style:none; 
    268         margin:0 5px 0 5px; 
    269 } 
     271  list-style:none; 
     272  margin:0 5px 0 5px; 
     273} 
Note: See TracChangeset for help on using the changeset viewer.