Index: extensions/PHP_Optimisateur/include/display_config.php
===================================================================
--- extensions/PHP_Optimisateur/include/display_config.php	(revision 10479)
+++ extensions/PHP_Optimisateur/include/display_config.php	(revision 12819)
@@ -1,152 +1,152 @@
 <?php
 /***************************************\
-|			PHP OPTIMISATEUR			|
-|			   Version 1.2				|
+|      PHP OPTIMISATEUR      |
+|         Version 1.2        |
 \***************************************/
 
 $PAGE['content'] .= '<div class="generic config">
-		<h2>'.l10n('Configuration').'</h2>
-		<ul>
-			<li>
-				<span class="title">'.l10n('Folders').'</span>
-				<table>
-					<tr>
-						<td><b>'.l10n('FolderIn').' :</b></td>
-						<td>'.$CONF['DIRsource'].'</td>
-					</tr>
-					<tr>
-						<td><b>'.l10n('FolderOut').' :</b></td>
-						<td>'.$CONF['DIRsortie'].'</td>
-					</tr>
-				</table>
-			</li>
-			<li>
-				<span class="title">'.l10n('Options').'</span>
-				<table>
-					<tr>
-						<td><b>'.l10n('silentORNOT').' :</b></td>
-						<td>'.l10n($CONF['silentORNOT']).'</td>
-					</tr>
+    <h2>'.l10n('Configuration').'</h2>
+    <ul>
+      <li>
+        <span class="title">'.l10n('Folders').'</span>
+        <table>
+          <tr>
+            <td><b>'.l10n('FolderIn').' :</b></td>
+            <td>'.$CONF['DIRsource'].'</td>
+          </tr>
+          <tr>
+            <td><b>'.l10n('FolderOut').' :</b></td>
+            <td>'.$CONF['DIRsortie'].'</td>
+          </tr>
+        </table>
+      </li>
+      <li>
+        <span class="title">'.l10n('Options').'</span>
+        <table>
+          <tr>
+            <td><b>'.l10n('silentORNOT').' :</b></td>
+            <td>'.l10n($CONF['silentORNOT']).'</td>
+          </tr>
 
-					<tr>
-						<td><b>'.l10n('DIRhighORNOT').' :</b></td>
-						<td>'.bool_to_string($CONF['DIRhighORNOT']).'</td>
-					</tr>
-					<tr>
-						<td><b>'.l10n('DIMhdORNOT').' :</b></td>
-						<td>'.bool_to_string($CONF['DIMhdORNOT']).'</td>
-					</tr>
-					<tr>
-						<td><b>'.l10n('renameORNOT').' :</b></td>
-						<td>'.bool_to_string($CONF['renameORNOT']).'</td>
-					</tr>
-					<tr>
-						<td><b>'.l10n('indexORNOT').' :</b></td>
-						<td>'.bool_to_string($CONF['indexORNOT']).'</td>
-					</tr>
-					<tr>
-						<td><b>'.l10n('prefixe_mini').' :</b></td>
-						<td>'.$CONF['prefixe_mini'].'</td>
-					</tr>
-				</table>
-			</li>
-			<li>
-				<span class="title">'.l10n('Sizes and quality').'</span>
-				<table>
-					<tr>
-						<td><b>'.l10n('DIMhd').' :</b></td>
-						<td>'.$CONF['DIMhd'].' px</td>
-					</tr>
-					<tr>
-						<td><b>'.l10n('DIMnormal').' :</b></td>
-						<td>'.$CONF['DIMnormal'].' px</td>
-					</tr>
-					<tr>
-						<td><b>'.l10n('DIMthumbnail').' :</b></td>
-						<td>'.$CONF['DIMthumbnail'].' px</td>
-					</tr>
-					<tr>
-						<td><b>'.l10n('Qhd').' :</b></td>
-						<td>'.$CONF['Qhd'].' %</td>
-					</tr>
-					<tr>
-						<td><b>'.l10n('Qnormal').' :</b></td>
-						<td>'.$CONF['Qnormal'].' %</td>
-					</tr>
-					<tr>
-						<td><b>'.l10n('Qthumbnail').' :</b></td>
-						<td>'.$CONF['Qthumbnail'].' %</td>
-					</tr>
-					<tr>
-						<td><b>'.l10n('DPI').' :</b></td>
-						<td>'.$CONF['DPI'].' dpi</td>
-					</tr>
-				</table>
-			</li>
-			<li>
-				<span class="title">'.l10n('Copyright').'</span>
-				<table>
-					<tr>
-						<td><b>'.l10n('Content').' :</b></td>
-						<td>'.$CONF['copyright'].'</td>
-					</tr>
-					<tr>
-						<td><b>'.l10n('copyONhd').' :</b></td>
-						<td>'.bool_to_string($CONF['copyONhd']).'</td>
-					</tr>
-					<tr>
-						<td><b>'.l10n('copyONnormal').' :</b></td>
-						<td>'.bool_to_string($CONF['copyONnormal']).'</td>
-					</tr>
-					<tr>
-						<td><b>'.l10n('copyPOS%s', '').' :</b></td>
-						<td>'.$CONF['copyPOS'].'</td>
-					</tr>
-					<tr>
-						<td><b>'.l10n('copySIZE').' :</b></td>
-						<td>'.$CONF['copySIZE'].'</td>
-					</tr>
-					<tr>
-						<td><b>'.l10n('copyCOLOR').' :</b></td>
-						<td>
-							#'.nice_hex_color($CONF['copyCOLOR']).'
-							<span class="color-display" style="background-color:#'.nice_hex_color($CONF['copyCOLOR']).';">&nbsp;</span>
-						</td>
-					</tr>
-					<tr>
-						<td><b>'.l10n('copyFONT').' :</b></td>
-						<td>'.$CONF['copyFONT'].'</td>
-					</tr>
-				</table>
-			</li>
-		</ul>
-		
-		<h2>'.l10n('Plugins').'</h2>
-		<ul>';
-			// Affichage des plugins
-			$PLUGIN_ACTION = 'read_config';
-			
-			foreach ($CONF['Plugins'] as $plugin_id => $plugin_config) {
-				$PAGE['content'] .= '<li>
-					<div class="plugin-title">
-						<span class="title">'.$plugin_config['name'].' :</span>
-						
-						<span class="plugin-active">';
-						if ($plugin_config['active']) {
-							$PAGE['content'] .= '<b class="new">'.l10n('Active').'</b>';
-						} else {
-							$PAGE['content'] .= '<b class="miss">'.l10n('Inactive').'</b>';
-						}
-						$PAGE['content'] .= '</span>
-						
-					</div>';
-					
-					// On affiche sa configuration
-					if (file_exists('plugins/'.$plugin_id.'/setup.php')) {
-						include('plugins/'.$plugin_id.'/setup.php');
-					}
-				$PAGE['content'] .= '</li>';
-			}
-		$PAGE['content'] .= '</ul>
-	</div>';
+          <tr>
+            <td><b>'.l10n('DIRhighORNOT').' :</b></td>
+            <td>'.bool_to_string($CONF['DIRhighORNOT']).'</td>
+          </tr>
+          <tr>
+            <td><b>'.l10n('DIMhdORNOT').' :</b></td>
+            <td>'.bool_to_string($CONF['DIMhdORNOT']).'</td>
+          </tr>
+          <tr>
+            <td><b>'.l10n('renameORNOT').' :</b></td>
+            <td>'.bool_to_string($CONF['renameORNOT']).'</td>
+          </tr>
+          <tr>
+            <td><b>'.l10n('indexORNOT').' :</b></td>
+            <td>'.bool_to_string($CONF['indexORNOT']).'</td>
+          </tr>
+          <tr>
+            <td><b>'.l10n('prefixe_mini').' :</b></td>
+            <td>'.$CONF['prefixe_mini'].'</td>
+          </tr>
+        </table>
+      </li>
+      <li>
+        <span class="title">'.l10n('Sizes and quality').'</span>
+        <table>
+          <tr>
+            <td><b>'.l10n('DIMhd').' :</b></td>
+            <td>'.$CONF['DIMhd'].' px</td>
+          </tr>
+          <tr>
+            <td><b>'.l10n('DIMnormal').' :</b></td>
+            <td>'.$CONF['DIMnormal'].' px</td>
+          </tr>
+          <tr>
+            <td><b>'.l10n('DIMthumbnail').' :</b></td>
+            <td>'.$CONF['DIMthumbnail'].' px</td>
+          </tr>
+          <tr>
+            <td><b>'.l10n('Qhd').' :</b></td>
+            <td>'.$CONF['Qhd'].' %</td>
+          </tr>
+          <tr>
+            <td><b>'.l10n('Qnormal').' :</b></td>
+            <td>'.$CONF['Qnormal'].' %</td>
+          </tr>
+          <tr>
+            <td><b>'.l10n('Qthumbnail').' :</b></td>
+            <td>'.$CONF['Qthumbnail'].' %</td>
+          </tr>
+          <tr>
+            <td><b>'.l10n('DPI').' :</b></td>
+            <td>'.$CONF['DPI'].' dpi</td>
+          </tr>
+        </table>
+      </li>
+      <li>
+        <span class="title">'.l10n('Copyright').'</span>
+        <table>
+          <tr>
+            <td><b>'.l10n('Content').' :</b></td>
+            <td>'.$CONF['copyright'].'</td>
+          </tr>
+          <tr>
+            <td><b>'.l10n('copyONhd').' :</b></td>
+            <td>'.bool_to_string($CONF['copyONhd']).'</td>
+          </tr>
+          <tr>
+            <td><b>'.l10n('copyONnormal').' :</b></td>
+            <td>'.bool_to_string($CONF['copyONnormal']).'</td>
+          </tr>
+          <tr>
+            <td><b>'.l10n('copyPOS%s', '').' :</b></td>
+            <td>'.$CONF['copyPOS'].'</td>
+          </tr>
+          <tr>
+            <td><b>'.l10n('copySIZE').' :</b></td>
+            <td>'.$CONF['copySIZE'].'</td>
+          </tr>
+          <tr>
+            <td><b>'.l10n('copyCOLOR').' :</b></td>
+            <td>
+              #'.nice_hex_color($CONF['copyCOLOR']).'
+              <span class="color-display" style="background-color:#'.nice_hex_color($CONF['copyCOLOR']).';">&nbsp;</span>
+            </td>
+          </tr>
+          <tr>
+            <td><b>'.l10n('copyFONT').' :</b></td>
+            <td>'.$CONF['copyFONT'].'</td>
+          </tr>
+        </table>
+      </li>
+    </ul>
+    
+    <h2>'.l10n('Plugins').'</h2>
+    <ul>';
+      // Affichage des plugins
+      $PLUGIN_ACTION = 'read_config';
+      
+      foreach ($CONF['Plugins'] as $plugin_id => $plugin_config) {
+        $PAGE['content'] .= '<li>
+          <div class="plugin-title">
+            <span class="title">'.$plugin_config['name'].' :</span>
+            
+            <span class="plugin-active">';
+            if ($plugin_config['active']) {
+              $PAGE['content'] .= '<b class="new">'.l10n('Active').'</b>';
+            } else {
+              $PAGE['content'] .= '<b class="miss">'.l10n('Inactive').'</b>';
+            }
+            $PAGE['content'] .= '</span>
+            
+          </div>';
+          
+          // On affiche sa configuration
+          if (file_exists('plugins/'.$plugin_id.'/setup.php')) {
+            include('plugins/'.$plugin_id.'/setup.php');
+          }
+        $PAGE['content'] .= '</li>';
+      }
+    $PAGE['content'] .= '</ul>
+  </div>';
 ?>
Index: extensions/PHP_Optimisateur/include/functions.php
===================================================================
--- extensions/PHP_Optimisateur/include/functions.php	(revision 10479)
+++ extensions/PHP_Optimisateur/include/functions.php	(revision 12819)
@@ -3,343 +3,343 @@
 // Affiche les textes localisés
 function l10n($code) {
-	global $Lang;
-	if (isset($Lang[$code])) {
-		$args = func_get_args();
-		if (count($args) > 1) {
-			array_shift($args);
-			return vsprintf($Lang[$code], $args);
-		} else {
-			return $Lang[$code];
-		}
-	} else {
-		return $code;
-	}
+  global $Lang;
+  if (isset($Lang[$code])) {
+    $args = func_get_args();
+    if (count($args) > 1) {
+      array_shift($args);
+      return vsprintf($Lang[$code], $args);
+    } else {
+      return $Lang[$code];
+    }
+  } else {
+    return $code;
+  }
 }
 
 // Retourne la langue de l'utilisateur et les langues installées
 function GetLanguage() {
-	// tableau avec les langues installées
-	$dh = opendir('language');
-	while ($file = readdir($dh)) {
-		if ($file !== '.' && $file !== '..' && is_dir('language/'.$file)) {
-			$name = (file_exists('language/'.$file.'/iso.txt')) ? file_get_contents('language/'.$file.'/iso.txt') : $file;
-			$languages[$file] = $name;
-		}
-	}
-	closedir($dh);
-	
-	// recherche du paramètre get ou session, ou langue du navigateur
-	if (isset($_GET['Lang'])) {
-		$user_lang = $_GET['Lang'];
-	} else if (isset($_SESSION['Lang']) AND $_SESSION['Lang'] != NULL) {
-		$user_lang = $_SESSION['Lang'];
-	} else {
-		$user_lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'],0,2);
-	}
-	
-	// si langue navigateur cherche une correspondance dans la tableau
-	if (strlen($user_lang) == 2) {
-		foreach (array_keys($languages) as $lang) {
-			if ($user_lang == substr($lang,0,2)) {
-				$user_lang = $lang;
-				break;
-			}
-		}
-	}
-	
-	// si pas de correspondance OU get faux, langue par défaut
-	if (!in_array($user_lang, array_keys($languages))) {
-		$user_lang = 'en_UK';
-	}
-	
-	$_SESSION['Lang'] = $user_lang;
-	return array('user_lang' => $_SESSION['Lang'], 'languages' => $languages);
+  // tableau avec les langues installées
+  $dh = opendir('language');
+  while ($file = readdir($dh)) {
+    if ($file !== '.' && $file !== '..' && is_dir('language/'.$file)) {
+      $name = (file_exists('language/'.$file.'/iso.txt')) ? file_get_contents('language/'.$file.'/iso.txt') : $file;
+      $languages[$file] = $name;
+    }
+  }
+  closedir($dh);
+  
+  // recherche du paramètre get ou session, ou langue du navigateur
+  if (isset($_GET['Lang'])) {
+    $user_lang = $_GET['Lang'];
+  } else if (isset($_SESSION['Lang']) AND $_SESSION['Lang'] != NULL) {
+    $user_lang = $_SESSION['Lang'];
+  } else {
+    $user_lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'],0,2);
+  }
+  
+  // si langue navigateur cherche une correspondance dans la tableau
+  if (strlen($user_lang) == 2) {
+    foreach (array_keys($languages) as $lang) {
+      if ($user_lang == substr($lang,0,2)) {
+        $user_lang = $lang;
+        break;
+      }
+    }
+  }
+  
+  // si pas de correspondance OU get faux, langue par défaut
+  if (!in_array($user_lang, array_keys($languages))) {
+    $user_lang = 'en_UK';
+  }
+  
+  $_SESSION['Lang'] = $user_lang;
+  return array('user_lang' => $_SESSION['Lang'], 'languages' => $languages);
 }
 
 // Supprime tous les caractères speciaux
 function delete_special_car($string) {
-	global $CONF;
-	
-	$search = array ('#[éèêë]#','#[ÊËÈÉ]#','#[àâäã]#','#[ÂÄÁÀ]#','#[îïíì]#','#[ÎÏÍÌ]#','#[ûùüúµ]#','#[ÛÙÚÜ]#','#[ôóòõö]#','#[ÓÒÖÔÕ]#','#[ç]#','#[Ç]#','#[ñ]#','#[Ñ]#','#[ýÿ]#','#[Ý]#','#[ \&\!\?\#\"\(\)\{\}\[\]\=\+\~\%]#','#[^a-zA-Z0-9_\.\-]#');
-	$replace = array ('e','E','a','A','i','I','u','U','o','O','c','C',',n','N','y','Y','_','');
-	
-	if ($CONF['renameORNOT']) {
-		return preg_replace($search, $replace, $string);
-	} else {
-		return str_replace(array('%','$',' '), '_', $string);
-	}
+  global $CONF;
+  
+  $search = array ('#[éèêë]#','#[ÊËÈÉ]#','#[àâäã]#','#[ÂÄÁÀ]#','#[îïíì]#','#[ÎÏÍÌ]#','#[ûùüúµ]#','#[ÛÙÚÜ]#','#[ôóòõö]#','#[ÓÒÖÔÕ]#','#[ç]#','#[Ç]#','#[ñ]#','#[Ñ]#','#[ýÿ]#','#[Ý]#','#[ \&\!\?\#\"\(\)\{\}\[\]\=\+\~\%]#','#[^a-zA-Z0-9_\.\-]#');
+  $replace = array ('e','E','a','A','i','I','u','U','o','O','c','C',',n','N','y','Y','_','');
+  
+  if ($CONF['renameORNOT']) {
+    return preg_replace($search, $replace, $string);
+  } else {
+    return str_replace(array('%','$',' '), '_', $string);
+  }
 }
 
 // Teste si un dossier est vide
 function is_dir_empty($dir) {
-	$array = scandir($dir);
-	if (count($array) > 2) {
-		return false;
-	} else {
-		return true;
-	}
+  $array = scandir($dir);
+  if (count($array) > 2) {
+    return false;
+  } else {
+    return true;
+  }
 }
 
 // Supprime un repertoire non-vide
 function rrmdir($dir) {
-	$dir = rtrim($dir, '/');
-	$objects = scandir($dir);
-	
-	foreach ($objects as $object) {
-		if ($object !== '.' && $object !== '..') {
-			$path = $dir.'/'.$object;
-			if (filetype($path) == 'dir') rrmdir($path); 
-			else unlink($path);
-		}
-	}
-
-	rmdir($dir);
+  $dir = rtrim($dir, '/');
+  $objects = scandir($dir);
+  
+  foreach ($objects as $object) {
+    if ($object !== '.' && $object !== '..') {
+      $path = $dir.'/'.$object;
+      if (filetype($path) == 'dir') rrmdir($path); 
+      else unlink($path);
+    }
+  }
+
+  rmdir($dir);
 } 
 
 // Parcours récursivement un dossier
 function recursive_readdir($dir, $array, $dirs=false) {
-	# si $dirs=true liste les dossiers plutot que les fichiers
-	global ${$array}; // Charge la tableau pour la sortie, déclaré à l'exterieur à cause de l'appel recursif de la fonction
-	$dir = rtrim($dir, '/');
-	$dh = opendir($dir);
-	
-	while (($file = readdir($dh)) !== false ) {
-		if ($file !== '.' && $file !== '..') {
-			$path = $dir.'/'.$file;
-			if (is_dir($path)) {
-				if($dirs) ${$array}[] = $path;
-				recursive_readdir($path, $array, $dirs);
-			} else {
-				if(!$dirs) ${$array}[] = $path;
-			}
-		}
-	}
-	closedir($dh);
+  # si $dirs=true liste les dossiers plutot que les fichiers
+  global ${$array}; // Charge la tableau pour la sortie, déclaré à l'exterieur à cause de l'appel recursif de la fonction
+  $dir = rtrim($dir, '/');
+  $dh = opendir($dir);
+  
+  while (($file = readdir($dh)) !== false ) {
+    if ($file !== '.' && $file !== '..') {
+      $path = $dir.'/'.$file;
+      if (is_dir($path)) {
+        if($dirs) ${$array}[] = $path;
+        recursive_readdir($path, $array, $dirs);
+      } else {
+        if(!$dirs) ${$array}[] = $path;
+      }
+    }
+  }
+  closedir($dh);
 }
 
 // Parse le fichier de configuration
 function XMLParse($xml) {
-	$content = array();
-	foreach ($xml as $nom => $elem) { 
-		if (trim($elem) == '' AND $elem != '') { 
-			$content[$nom] = XMLParse($elem->children()); 
-		} else { 
-			$content[$nom] = utf8_encode(utf8_decode($elem));
-		}
-	}
-	return $content;
+  $content = array();
+  foreach ($xml as $nom => $elem) { 
+    if (trim($elem) == '' AND $elem != '') { 
+      $content[$nom] = XMLParse($elem->children()); 
+    } else { 
+      $content[$nom] = utf8_encode(utf8_decode($elem));
+    }
+  }
+  return $content;
 }
 
 // Crée le fichier de configuration
 function XMLCreate($array, $level=0) {
-	$content = null;
-	foreach ($array as $nom => $elem) {
-		if (is_array($elem)) {
-			for($i=0;$i<=$level;$i++) $content .= "\t";
-			$content .= '<'.$nom.'>'."\n";
-			$content .= XMLCreate($elem, $level+1);
-			for($i=0;$i<=$level;$i++) $content .= "\t";
-			$content .= '</'.$nom.'>'."\n";
-		} else {
-			for($i=0;$i<=$level;$i++) $content .= "\t";
-			$content .= '<'.$nom.'>'.$elem.'</'.$nom.'>'."\n";
-		}
-	}
-	return $content;
+  $content = null;
+  foreach ($array as $nom => $elem) {
+    if (is_array($elem)) {
+      for($i=0;$i<=$level;$i++) $content .= "  ";
+      $content .= '<'.$nom.'>'."\n";
+      $content .= XMLCreate($elem, $level+1);
+      for($i=0;$i<=$level;$i++) $content .= "  ";
+      $content .= '</'.$nom.'>'."\n";
+    } else {
+      for($i=0;$i<=$level;$i++) $content .= "  ";
+      $content .= '<'.$nom.'>'.$elem.'</'.$nom.'>'."\n";
+    }
+  }
+  return $content;
 }
 
 // Charge la configuration
 function load_config($file) {
-	$config = simplexml_load_file($file);
-	$config = XMLParse($config);
-	$config = array_settype($config);
-	return $config;
+  $config = simplexml_load_file($file);
+  $config = XMLParse($config);
+  $config = array_settype($config);
+  return $config;
 }
 
 // Convertit les booléens, entiers et flotants d'un tableau de 'string'
 function array_settype($array) {
-	foreach ($array as $key => $value) {
-		if (is_array($value)) {
-			$array[$key] = array_settype($value);
-		} else {
-			if ($value === 'true') {
-				$array[$key] = true;		
-			} else if ($value === 'false') {
-				$array[$key] = false;	
-			} else if ($value == null) {
-				// rien à faire ^^
-			} else if (preg_match('#^([0-9]*)$#', $value)) {
-				settype($array[$key], 'int');		
-			} else if (preg_match('#^([0-9]*)(\.)([0-9]*)$#', $value)) {
-				settype($array[$key], 'float');		
-			}
-		}
-	}
-		
-	return $array;
+  foreach ($array as $key => $value) {
+    if (is_array($value)) {
+      $array[$key] = array_settype($value);
+    } else {
+      if ($value === 'true') {
+        $array[$key] = true;
+      } else if ($value === 'false') {
+        $array[$key] = false;
+      } else if ($value == null) {
+        // rien à faire ^^
+      } else if (preg_match('#^([0-9]*)$#', $value)) {
+        settype($array[$key], 'int');
+      } else if (preg_match('#^([0-9]*)(\.)([0-9]*)$#', $value)) {
+        settype($array[$key], 'float');
+      }
+    }
+  }
+    
+  return $array;
 }
 
 // Booléen vers français ou texte
 function bool_to_string($string, $just_echo=0) {
-	global $Lang;
-	# $just_echo pour pouvoir afficher un booléen tel quel (echo true; n'affiche rien)
-	if (is_bool($string)) {
-		if ($string) {
-			if ($just_echo) return 'true';
-			else return l10n('yes');
-		} else {
-			if ($just_echo) return 'false';
-			else return l10n('no');
-		}
-	} else {
-		return $string;
-	}
+  global $Lang;
+  # $just_echo pour pouvoir afficher un booléen tel quel (echo true; n'affiche rien)
+  if (is_bool($string)) {
+    if ($string) {
+      if ($just_echo) return 'true';
+      else return l10n('yes');
+    } else {
+      if ($just_echo) return 'false';
+      else return l10n('no');
+    }
+  } else {
+    return $string;
+  }
 }
 
 // Converti une chaine de config (param:value;param:value[;]) en tableau associatif
 function ExplodeString($string, $sep1=';', $sep2=':') {
-	$string = preg_replace('#[;]$#', '', $string);
-	$result = array();
-	$a = explode($sep1, $string);
-	
-	foreach ($a as $s) {
-	   $v = explode($sep2, $s);
-	   $result[$v[0]] = $v[1];
-	}
-	return $result;
+  $string = preg_replace('#[;]$#', '', $string);
+  $result = array();
+  $a = explode($sep1, $string);
+  
+  foreach ($a as $s) {
+     $v = explode($sep2, $s);
+     $result[$v[0]] = $v[1];
+  }
+  return $result;
 }
 
 // Converti un tableau associatif en chaine de config (param:value;param:value;)
 function ImplodeArray($array, $sep1=';', $sep2=':') {
-	$result = null;
-	foreach ($array as $key => $value) {
-		$result .= $key.$sep2.$value.$sep1;
-	}
-	return $result;
+  $result = null;
+  foreach ($array as $key => $value) {
+    $result .= $key.$sep2.$value.$sep1;
+  }
+  return $result;
 }
 
 // Convertit les couleurs 'numériques' et gère les 0 manquants
 function nice_hex_color($hex) {
-	$hex = strval($hex);
-	for ($i=strlen($hex); $i<6; $i++) {
-		$hex = '0'.$hex;
-	}
-	return $hex;
+  $hex = strval($hex);
+  for ($i=strlen($hex); $i<6; $i++) {
+    $hex = '0'.$hex;
+  }
+  return $hex;
 }
 
 // Converti une couleur HEX et RGB
 function hex2RGB($hexStr, $returnAsString = false, $seperator = ',') {
-	$hexStr = preg_replace("/[^0-9A-Fa-f]/", '', $hexStr); // Gets a proper hex string
-	
-	if (strlen($hexStr) == 6) { //If a proper hex code, convert using bitwise operation. No overhead... faster
-		$colorVal = hexdec($hexStr);
-		$rgbArray['r'] = 0xFF & ($colorVal >> 0x10);
-		$rgbArray['g'] = 0xFF & ($colorVal >> 0x8);
-		$rgbArray['b'] = 0xFF & $colorVal;
-	} elseif (strlen($hexStr) == 3) { //if shorthand notation, need some string manipulations
-		$rgbArray['r'] = hexdec(str_repeat(substr($hexStr, 0, 1), 2));
-		$rgbArray['g'] = hexdec(str_repeat(substr($hexStr, 1, 1), 2));
-		$rgbArray['b'] = hexdec(str_repeat(substr($hexStr, 2, 1), 2));
-	} else {
-		return false; //Invalid hex color code
-	}
-	
-	return $returnAsString ? implode($seperator, $rgbArray) : $rgbArray; // returns the rgb string or the associative array
+  $hexStr = preg_replace("/[^0-9A-Fa-f]/", '', $hexStr); // Gets a proper hex string
+  
+  if (strlen($hexStr) == 6) { //If a proper hex code, convert using bitwise operation. No overhead... faster
+    $colorVal = hexdec($hexStr);
+    $rgbArray['r'] = 0xFF & ($colorVal >> 0x10);
+    $rgbArray['g'] = 0xFF & ($colorVal >> 0x8);
+    $rgbArray['b'] = 0xFF & $colorVal;
+  } elseif (strlen($hexStr) == 3) { //if shorthand notation, need some string manipulations
+    $rgbArray['r'] = hexdec(str_repeat(substr($hexStr, 0, 1), 2));
+    $rgbArray['g'] = hexdec(str_repeat(substr($hexStr, 1, 1), 2));
+    $rgbArray['b'] = hexdec(str_repeat(substr($hexStr, 2, 1), 2));
+  } else {
+    return false; //Invalid hex color code
+  }
+  
+  return $returnAsString ? implode($seperator, $rgbArray) : $rgbArray; // returns the rgb string or the associative array
 }
 
 // Verifie si une chaine est un nombre décimal (plus strict que is_numeric qui fonctionne avec les hexadecimaux)
 function is_decimal($num) {
-	if((is_numeric($num) === true AND (float)$num == $num) OR $num === '0') {
-		return true;
-	} else {
-		return false;
-	}
+  if((is_numeric($num) === true AND (float)$num == $num) OR $num === '0') {
+    return true;
+  } else {
+    return false;
+  }
 }
 
 // Charge le fichier de langue d'un plugin
 function load_plugin_lang($plugin_id) {
-	global $CONF, $Lang;
-	if (file_exists('plugins/'.$plugin_id.'/language/'.$CONF['user_lang'].'.php')) {
-		include('plugins/'.$plugin_id.'/language/'.$CONF['user_lang'].'.php');
-	} else {
-		include('plugins/'.$plugin_id.'/language/en_UK.php');
-	}
+  global $CONF, $Lang;
+  if (file_exists('plugins/'.$plugin_id.'/language/'.$CONF['user_lang'].'.php')) {
+    include('plugins/'.$plugin_id.'/language/'.$CONF['user_lang'].'.php');
+  } else {
+    include('plugins/'.$plugin_id.'/language/en_UK.php');
+  }
 }
 
 // fonction nconvert avec gestion du log
 function nconvert($param, $log=true) {
-	global $LOG;
-
-	exec('include\nconvert.exe '. $param .' 2>&1', $out);
-	
-	if ($log) {
-		for ($i=0; $i<=3; $i++)
-			unset($out[$i]);
-		if (count($out)) $LOG[] = array_values($out);
-		//$LOG[] = "\t" . $param;
-	} else {
-		return $out;
-	}
+  global $LOG;
+
+  exec('include\nconvert.exe '. $param .' 2>&1', $out);
+  
+  if ($log) {
+    for ($i=0; $i<=3; $i++)
+      unset($out[$i]);
+    if (count($out)) $LOG[] = array_values($out);
+    //$LOG[] = "  " . $param;
+  } else {
+    return $out;
+  }
 }
 
 // fonction mkdir avec gestion du log
 function mkdir_log($dir) {
-	global $LOG;
-	mkdir($dir, 0777, true);
-	$LOG[] = 'Dir '.$dir.' created';
+  global $LOG;
+  mkdir($dir, 0777, true);
+  $LOG[] = 'Dir '.$dir.' created';
 }
 
 // fonction copy avec gestion du log
 function copy_log($src, $dest) {
-	global $LOG;
-	copy($src, $dest);
-	$LOG[] = 'Copy '.$src.' to '.$dest;
+  global $LOG;
+  copy($src, $dest);
+  $LOG[] = 'Copy '.$src.' to '.$dest;
 }
 
 // fonction rename avec gestion du log
 function rename_log($path, $new_path, $move=false) {
-	global $LOG;
-	rename($path, $new_path);
-	if ($move)
-		$LOG[] = 'Move '.$path.' to '.$new_path;
-	else
-		$LOG[] = 'Rename '.$path.' into '.$new_path;
+  global $LOG;
+  rename($path, $new_path);
+  if ($move)
+    $LOG[] = 'Move '.$path.' to '.$new_path;
+  else
+    $LOG[] = 'Rename '.$path.' into '.$new_path;
 }
 
 // enregistre le log dans un fichier
 function print_log($nb, $s) {
-	global $APPversion, $LOG;
-	
-	$config = file_get_contents('config.xml');
-	
-	$string = 
-		"PHP Optimisateur " . $APPversion . "\r\n".
-		date('r') . "\r\n".
-		$nb . " files in " . $s . " seconds" . "\r\n\r\n".
-		
-		$config . "\r\n\r\n";
-	
-	foreach ($LOG as $event) {
-		if (is_array($event)) {
-			$string .= implode("\r\n", $event) . "\r\n";
-		} else {
-			$string .= $event . "\r\n";
-		}
-	}
-	
-	if (!file_exists('logs')) {
-		mkdir('logs', 0777, true);
-	}
-	
-	$filename = 'log_' . date('Y-m-d_H-i-s') . '.txt';
-	file_put_contents('logs/'.$filename, $string);
-	return $filename;
+  global $APPversion, $LOG;
+  
+  $config = file_get_contents('config.xml');
+  
+  $string = 
+    "PHP Optimisateur " . $APPversion . "\r\n".
+    date('r') . "\r\n".
+    $nb . " files in " . $s . " seconds" . "\r\n\r\n".
+    
+    $config . "\r\n\r\n";
+  
+  foreach ($LOG as $event) {
+    if (is_array($event)) {
+      $string .= implode("\r\n", $event) . "\r\n";
+    } else {
+      $string .= $event . "\r\n";
+    }
+  }
+  
+  if (!file_exists('logs')) {
+    mkdir('logs', 0777, true);
+  }
+  
+  $filename = 'log_' . date('Y-m-d_H-i-s') . '.txt';
+  file_put_contents('logs/'.$filename, $string);
+  return $filename;
 }
 
 // case insentive version of in_array
 function in_arrayi($needle, $haystack) {
-	$needle = strtolower($needle);
-	$haystack = array_map('strtolower', $haystack);
-	return in_array($needle, $haystack);
+  $needle = strtolower($needle);
+  $haystack = array_map('strtolower', $haystack);
+  return in_array($needle, $haystack);
 }
 
Index: extensions/PHP_Optimisateur/include/header.php
===================================================================
--- extensions/PHP_Optimisateur/include/header.php	(revision 10479)
+++ extensions/PHP_Optimisateur/include/header.php	(revision 12819)
@@ -2,41 +2,41 @@
 echo '<?xml version="1.0" encoding="utf-8"?>
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
-	"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+  "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
 <head>
-	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-	<title>PHP Optimisateur '.$APPversion.'</title>
-	<link href="template/favicon.png" rel="icon" type="image/x-icon" />
-	
-	<link rel="stylesheet" type="text/css" media="screen" href="template/css/screen.css"/>
-	<link rel="stylesheet" type="text/css" media="screen" href="template/css/colorpicker.css"/>
-	<link rel="stylesheet" type="text/css" media="screen" href="template/css/jqtransform.css"/>
-	
-	<script type="text/javascript" src="template/js/jquery.js"></script>
-	<script type="text/javascript" src="template/js/colorpicker.js"></script>
-	<script type="text/javascript" src="template/js/jqtransform.js"></script>
-	
-	<script language="javascript">
-		$(function(){
-			$("form").jqTransform({imgPath:"template/images/"});
-		});
-		function Load() {
-			$(\'#ready-text\').html(\''.l10n('Processing').'\');
-			$(\'#loader\').html(\'<img src="template/images/loader.gif" alt="Load..."/>\');
-			$(\'#overlay\').css(\'display\',\'block\');
-		}
-	
-		jQuery().ready(function(){
-			jQuery("#languageSwitchLink").mouseover(function() {
-				jQuery("#languageSwitchBox").toggle();
-			});
-			jQuery("#languageSwitchBox").mouseleave(function() {
-				jQuery("#languageSwitchBox").toggle();
-			});
-		});
-	</script>
-	
-	'.$PAGE['header'].'
-	
+  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+  <title>PHP Optimisateur '.$APPversion.'</title>
+  <link href="template/favicon.png" rel="icon" type="image/x-icon" />
+  
+  <link rel="stylesheet" type="text/css" media="screen" href="template/css/screen.css"/>
+  <link rel="stylesheet" type="text/css" media="screen" href="template/css/colorpicker.css"/>
+  <link rel="stylesheet" type="text/css" media="screen" href="template/css/jqtransform.css"/>
+  
+  <script type="text/javascript" src="template/js/jquery.js"></script>
+  <script type="text/javascript" src="template/js/colorpicker.js"></script>
+  <script type="text/javascript" src="template/js/jqtransform.js"></script>
+  
+  <script language="javascript">
+    $(function(){
+      $("form").jqTransform({imgPath:"template/images/"});
+    });
+    function Load() {
+      $(\'#ready-text\').html(\''.l10n('Processing').'\');
+      $(\'#loader\').html(\'<img src="template/images/loader.gif" alt="Load..."/>\');
+      $(\'#overlay\').css(\'display\',\'block\');
+    }
+  
+    jQuery().ready(function(){
+      jQuery("#languageSwitchLink").mouseover(function() {
+        jQuery("#languageSwitchBox").toggle();
+      });
+      jQuery("#languageSwitchBox").mouseleave(function() {
+        jQuery("#languageSwitchBox").toggle();
+      });
+    });
+  </script>
+  
+  '.$PAGE['header'].'
+  
 </head>
 
@@ -46,20 +46,20 @@
 
 <div class="generic title">
-	PHP Optimisateur '.$APPversion.'
-	
-	<div id="languageSwitchLink" title="Change Language">
-		<ul>
-			<li><a href="#"><img src="language/'.$CONF['user_lang'].'/flag.png" alt="'.$CONF['languages'][$CONF['user_lang']].'"/> '.$CONF['languages'][$CONF['user_lang']].'</a></li>
-		</ul>
-	</div>
-	
-	<div id="languageSwitchBox" style="display:none;" class="generic">
-		<ul>';
-		foreach ($CONF['languages'] as $key => $name) {
-			echo '<li><a class="lang" href="index.php?Lang='.$key.'" title="'.$name.'"><img src="language/'.$key.'/flag.png" alt="'.$name.'"/> '.$name.'</a></li>';
-		}
-		echo ' </ul>
-	</div>
-	
+  PHP Optimisateur '.$APPversion.'
+  
+  <div id="languageSwitchLink" title="Change Language">
+    <ul>
+      <li><a href="#"><img src="language/'.$CONF['user_lang'].'/flag.png" alt="'.$CONF['languages'][$CONF['user_lang']].'"/> '.$CONF['languages'][$CONF['user_lang']].'</a></li>
+    </ul>
+  </div>
+  
+  <div id="languageSwitchBox" style="display:none;" class="generic">
+    <ul>';
+    foreach ($CONF['languages'] as $key => $name) {
+      echo '<li><a class="lang" href="index.php?Lang='.$key.'" title="'.$name.'"><img src="language/'.$key.'/flag.png" alt="'.$name.'"/> '.$name.'</a></li>';
+    }
+    echo ' </ul>
+  </div>
+  
 </div>';
 ?>
Index: extensions/PHP_Optimisateur/include/main.php
===================================================================
--- extensions/PHP_Optimisateur/include/main.php	(revision 10479)
+++ extensions/PHP_Optimisateur/include/main.php	(revision 12819)
@@ -2,6 +2,6 @@
 // Si mode silencieux vidage automatique du dossier de sortie
 if ($CONF['silentORNOT'] == 'erase') {
-	@rrmdir($CONF['DIRsortie']);
-	@mkdir($CONF['DIRsortie']);
+  @rrmdir($CONF['DIRsortie']);
+  @mkdir($CONF['DIRsortie']);
 }
 
@@ -10,22 +10,22 @@
 // Les caractères '%' et '$' sont systématiquement échappés, ca génère des bugs dans les noms de fichiers
 function recursive_delete_special_car($dir) {
-	$dir = rtrim($dir, '/');
-	$dh = opendir($dir);
-	
-	while (($file = readdir($dh)) !== false ) {
-		if ($file !== '.' && $file !== '..') {
-			$path = $dir.'/'.$file;
-			$new_path = $dir.'/'.delete_special_car($file);
-			
-			if ($path != $new_path) {
-				rename_log($path, $new_path);
-			}
-			
-			if (is_dir($new_path)) {
-				recursive_delete_special_car($new_path);
-			}
-		}
-	}
-	closedir($dh);
+  $dir = rtrim($dir, '/');
+  $dh = opendir($dir);
+  
+  while (($file = readdir($dh)) !== false ) {
+    if ($file !== '.' && $file !== '..') {
+      $path = $dir.'/'.$file;
+      $new_path = $dir.'/'.delete_special_car($file);
+      
+      if ($path != $new_path) {
+        rename_log($path, $new_path);
+      }
+      
+      if (is_dir($new_path)) {
+        recursive_delete_special_car($new_path);
+      }
+    }
+  }
+  closedir($dh);
 }
 
@@ -38,13 +38,13 @@
 
 if ($CONF['copyONhd']) {
-	$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'].'"';
+  $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'].'"';
 } else {
-	$CONF['copyHD'] = null;
+  $CONF['copyHD'] = null;
 }
 
 if ($CONF['copyONnormal']) {
-	$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'].'"';
+  $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'].'"';
 } else {
-	$CONF['copyNormal'] = null;
+  $CONF['copyNormal'] = null;
 }
 
@@ -55,7 +55,7 @@
 ### Plugins avant execution ###
 foreach ($CONF['Plugins'] as $plugin_id => $plugin_config) {
-	if ($plugin_config['mode'] == 'Before' AND $plugin_config['active']) {
-		include('plugins/'.$plugin_id.'/main.php');
-	}
+  if ($plugin_config['mode'] == 'Before' AND $plugin_config['active']) {
+    include('plugins/'.$plugin_id.'/main.php');
+  }
 }
 
@@ -71,73 +71,73 @@
 // Boucle sur tous les fichiers
 for ($i=0; $i<count($FilesSource); $i++) {
-	// Découpe le nom de fichier : dossier/fichier/extension
-	preg_match('#^(.*)/(.*)\.([a-z0-9]{2,4})$#', $FilesSource[$i], $matches);
-	$file['folder_src'] = $matches[1].'/'; // dossier d'entrée
-	$file['folder_out'] = str_replace($CONF['DIRsource'], $CONF['DIRsortie'], $file['folder_src']); // dossier de sortie
-	$file['name'] = $matches[2]; // nom final
-	$file['ext'] = $matches[3]; // extension orginale
-			
-	// Crée les sous-dossiers de sortie & 'pwg_high' & 'thumbnail'
-	if (!file_exists($file['folder_out'].'pwg_high') AND $CONF['DIRhighORNOT']) {
-		mkdir_log($file['folder_out'].'pwg_high');
-	}
-	if (!file_exists($file['folder_out'].'thumbnail')) {
-		mkdir_log($file['folder_out'].'thumbnail');
-	}
-	
-	if (!in_arrayi($file['ext'], $CONF['allowedExt'])) {
-		$BlockAll['main'] = true;
-		$LOG[] = 'Not image file : '.$FilesSource[$i];
-	}
-	
-	if (!isset($BlockAll)) {
-		// Informations sur le fichier
-		exec('include\nconvert.exe -info "'.$FilesSource[$i].'"', $FileInfos);
-		
-		for ($m=0; $m<=5; $m++) {
-			unset($FileInfos[$m]);
-		}
-		foreach ($FileInfos as $key) {
-			if ($key != '') {
-				$a = explode(':', $key);
-				$FileInfos[trim($a[0])] = trim($a[1]);
-			}
-		}
-	}
-		
-	// Plugins pendant l'execution, haute priorité
-	foreach ($CONF['Plugins'] as $plugin_id => $plugin_config) {
-		if ($plugin_config['mode'] == 'ProcessHigh' AND $plugin_config['active']) {
-			include('plugins/'.$plugin_id.'/main.php');
-		}
-	}
-	
-	// Plugins pendant l'execution
-	foreach ($CONF['Plugins'] as $plugin_id => $plugin_config) {
-		if ($plugin_config['mode'] == 'Process' AND $plugin_config['active']) {
-			include('plugins/'.$plugin_id.'/main.php');
-		}
-	}
-	
-	// Compresse les fichiers dans le dossier de sortie
-	if (!isset($BlockNormal) AND !isset($BlockAll)) { 
-		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].'"');
-	}
-	if (!isset($BlockThumbnail) AND !isset($BlockAll)) { 
-		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].'"');
-	}
-	if (!isset($BlockHigh) AND $CONF['DIRhighORNOT'] AND !isset($BlockAll)) {
-		if ($CONF['DIMhdORNOT']) {
-			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].'"');
-		} else if (strtolower($file['ext']) != 'jpg') {
-			nconvert('-q '.$CONF['Qhd'].' -out jpeg -o "'.$file['folder_out'].'pwg_high/'.$file['name'].'.jpg" "'.$FilesSource[$i].'"');
-		} else {
-			copy_log($FilesSource[$i], $file['folder_out'].'pwg_high/'.$file['name'].'.jpg');
-		}
-	}
-	
-	// Réinitialise les variables
-	unset($file, $FileInfos, $BlockNormal, $BlockThumbnail, $BlockHigh, $BlockAll);
-	$LOG[] = "\r\n";
+  // Découpe le nom de fichier : dossier/fichier/extension
+  preg_match('#^(.*)/(.*)\.([a-z0-9]{2,4})$#i', $FilesSource[$i], $matches);
+  $file['folder_src'] = $matches[1].'/'; // dossier d'entrée
+  $file['folder_out'] = str_replace($CONF['DIRsource'], $CONF['DIRsortie'], $file['folder_src']); // dossier de sortie
+  $file['name'] = $matches[2]; // nom final
+  $file['ext'] = $matches[3]; // extension orginale
+      
+  // Crée les sous-dossiers de sortie & 'pwg_high' & 'thumbnail'
+  if (!file_exists($file['folder_out'].'pwg_high') AND $CONF['DIRhighORNOT']) {
+    mkdir_log($file['folder_out'].'pwg_high');
+  }
+  if (!file_exists($file['folder_out'].'thumbnail')) {
+    mkdir_log($file['folder_out'].'thumbnail');
+  }
+  
+  if (!in_arrayi($file['ext'], $CONF['allowedExt'])) {
+    $BlockAll['main'] = true;
+    $LOG[] = 'Not image file : '.$FilesSource[$i];
+  }
+  
+  if (!isset($BlockAll)) {
+    // Informations sur le fichier
+    exec('include\nconvert.exe -info "'.$FilesSource[$i].'"', $FileInfos);
+    
+    for ($m=0; $m<=5; $m++) {
+      unset($FileInfos[$m]);
+    }
+    foreach ($FileInfos as $key) {
+      if ($key != '') {
+        $a = explode(':', $key);
+        $FileInfos[trim($a[0])] = trim($a[1]);
+      }
+    }
+  }
+    
+  // Plugins pendant l'execution, haute priorité
+  foreach ($CONF['Plugins'] as $plugin_id => $plugin_config) {
+    if ($plugin_config['mode'] == 'ProcessHigh' AND $plugin_config['active']) {
+      include('plugins/'.$plugin_id.'/main.php');
+    }
+  }
+  
+  // Plugins pendant l'execution
+  foreach ($CONF['Plugins'] as $plugin_id => $plugin_config) {
+    if ($plugin_config['mode'] == 'Process' AND $plugin_config['active']) {
+      include('plugins/'.$plugin_id.'/main.php');
+    }
+  }
+  
+  // Compresse les fichiers dans le dossier de sortie
+  if (!isset($BlockNormal) AND !isset($BlockAll)) { 
+    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].'"');
+  }
+  if (!isset($BlockThumbnail) AND !isset($BlockAll)) { 
+    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].'"');
+  }
+  if (!isset($BlockHigh) AND $CONF['DIRhighORNOT'] AND !isset($BlockAll)) {
+    if ($CONF['DIMhdORNOT']) {
+      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].'"');
+    } else if (strtolower($file['ext']) != 'jpg') {
+      nconvert('-q '.$CONF['Qhd'].' -out jpeg -o "'.$file['folder_out'].'pwg_high/'.$file['name'].'.jpg" "'.$FilesSource[$i].'"');
+    } else {
+      copy_log($FilesSource[$i], $file['folder_out'].'pwg_high/'.$file['name'].'.jpg');
+    }
+  }
+  
+  // Réinitialise les variables
+  unset($file, $FileInfos, $BlockNormal, $BlockThumbnail, $BlockHigh, $BlockAll);
+  $LOG[] = "\r\n";
 }
 
@@ -148,9 +148,9 @@
 
 foreach($DirsSortie as $dir) {
-	if (is_dir_empty($dir)) {
-		rmdir($dir);
-	} else if ($CONF['indexORNOT']) {
-		copy_log('include/index.php', $dir.'/index.php');
-	}
+  if (is_dir_empty($dir)) {
+    rmdir($dir);
+  } else if ($CONF['indexORNOT']) {
+    copy_log('include/index.php', $dir.'/index.php');
+  }
 }
 
@@ -160,7 +160,7 @@
 ### Plugins après execution ###
 foreach ($CONF['Plugins'] as $plugin_id => $plugin_config) {
-	if ($plugin_config['mode'] == 'After' AND $plugin_config['active']) {
-		include('plugins/'.$plugin_id.'/main.php');
-	}
+  if ($plugin_config['mode'] == 'After' AND $plugin_config['active']) {
+    include('plugins/'.$plugin_id.'/main.php');
+  }
 }
 ?>
Index: extensions/PHP_Optimisateur/include/save_config.php
===================================================================
--- extensions/PHP_Optimisateur/include/save_config.php	(revision 10479)
+++ extensions/PHP_Optimisateur/include/save_config.php	(revision 12819)
@@ -1,5 +1,9 @@
 <?php
 // Quelques traitements
-$_POST['copyPOS'] = implode('-', $_POST['copyPOS']);
+if ($_POST['copyPOS'][0] == 'center' and $_POST['copyPOS'][1] == 'center') {
+  $_POST['copyPOS'] = 'center';
+} else {
+  $_POST['copyPOS'] = implode('-', $_POST['copyPOS']);
+}
 $_POST['copyCOLOR'] = str_replace('#', null, $_POST['copyCOLOR']);
 $_POST['prefixe_mini'] = delete_special_car($_POST['prefixe_mini']);
@@ -9,36 +13,36 @@
 // Vérifications
 if (!is_decimal($_POST['Qhd']) OR $_POST['Qhd'] > 100) {
-	$_POST['Qhd'] = 100;
-	$ERRORS['conf'][] = array(l10n('Qhd'), 'must_be_integer_100');
+  $_POST['Qhd'] = 100;
+  $ERRORS['conf'][] = array(l10n('Qhd'), 'must_be_integer_100');
 }
 if (!is_decimal($_POST['Qnormal']) OR $_POST['Qnormal'] > 100) {
-	$_POST['Qnormal'] = 100;
-	$ERRORS['conf'][] = array(l10n('Qnormal'), 'must_be_integer_100');
+  $_POST['Qnormal'] = 100;
+  $ERRORS['conf'][] = array(l10n('Qnormal'), 'must_be_integer_100');
 }
 if (!is_decimal($_POST['Qthumbnail']) OR $_POST['Qthumbnail'] > 100) {
-	$_POST['Qthumbnail'] = 100;
-	$ERRORS['conf'][] = array(l10n('Qthumbnail'), 'must_be_integer_100');
+  $_POST['Qthumbnail'] = 100;
+  $ERRORS['conf'][] = array(l10n('Qthumbnail'), 'must_be_integer_100');
 }
 if (!is_decimal($_POST['DIMhd'])) {
-	$_POST['DIMhd'] = 2560;
-	$ERRORS['conf'][] = array(l10n('DIMhd'), 'must_be_integer');
+  $_POST['DIMhd'] = 2560;
+  $ERRORS['conf'][] = array(l10n('DIMhd'), 'must_be_integer');
 }
 if (!is_decimal($_POST['DIMnormal']) OR $_POST['DIMnormal'] > $_POST['DIMhd']) {
-	$_POST['DIMnormal'] = 800;
-	$ERRORS['conf'][] = array(l10n('DIMnormal'), 'must_be_integer');
+  $_POST['DIMnormal'] = 800;
+  $ERRORS['conf'][] = array(l10n('DIMnormal'), 'must_be_integer');
 }
 if (!is_decimal($_POST['DIMthumbnail']) OR $_POST['DIMthumbnail'] > $_POST['DIMnormal']) {
-	$_POST['DIMthumbnail'] = 120;
-	$ERRORS['conf'][] = array(l10n('DIMthumbnail'), 'must_be_integer');
+  $_POST['DIMthumbnail'] = 120;
+  $ERRORS['conf'][] = array(l10n('DIMthumbnail'), 'must_be_integer');
 }
 if (!is_decimal($_POST['DPI'])) {
-	$_POST['DPI'] = 72;
-	$ERRORS['conf'][] = array(l10n('DPI'), 'must_be_integer');
+  $_POST['DPI'] = 72;
+  $ERRORS['conf'][] = array(l10n('DPI'), 'must_be_integer');
 }
 if (!is_decimal($_POST['copySIZE'])) {
-	$_POST['copySIZE'] = 0.05;
-	$ERRORS['conf'][] = array(l10n('copySIZE'), 'must_be_decimal');
+  $_POST['copySIZE'] = 0.05;
+  $ERRORS['conf'][] = array(l10n('copySIZE'), 'must_be_decimal');
 }
-	
+  
 
 // Plugins : supprime les plugins manquants & charge les actions de configuration
@@ -46,9 +50,9 @@
 
 foreach ($_POST['Plugins'] as $plugin_id => $plugin_config) {
-	if (isset($plugin_config['delete'])) {
-		unset($_POST['Plugins'][$plugin_id]);
-	} else if (file_exists('plugins/'.$plugin_id.'/setup.php')) {
-		include('plugins/'.$plugin_id.'/setup.php');
-	}
+  if (isset($plugin_config['delete'])) {
+    unset($_POST['Plugins'][$plugin_id]);
+  } else if (file_exists('plugins/'.$plugin_id.'/setup.php')) {
+    include('plugins/'.$plugin_id.'/setup.php');
+  }
 }
 
@@ -65,7 +69,7 @@
 
 if (!isset($ERRORS['conf'])) {
-	// header('Location:index.php');
-	$PAGE['header'] .= '<meta http-equiv="refresh" content="3;url=index.php">';
-	$PAGE['end'] .= '<div class="generic finish">'.l10n('Saved').'</div>';
+  // header('Location:index.php');
+  $PAGE['header'] .= '<meta http-equiv="refresh" content="2;url=index.php">';
+  $PAGE['end'] .= '<div class="generic finish">'.l10n('Saved').'</div>';
 }
 
Index: extensions/PHP_Optimisateur/include/setup.php
===================================================================
--- extensions/PHP_Optimisateur/include/setup.php	(revision 10479)
+++ extensions/PHP_Optimisateur/include/setup.php	(revision 12819)
@@ -6,10 +6,10 @@
 
 foreach ($Available_Plugins as $plugin) {
-	$plugin_id = str_replace('plugins/', '', $plugin); // id du plugin
-	if (!array_key_exists($plugin_id, $CONF['Plugins'])) {
-		$CONF['Plugins'][$plugin_id] = load_config('plugins/'.$plugin_id.'/config.xml'); // configuration du plugin
-		$CONF['Plugins'][$plugin_id]['active'] = false;
-		$NewPlugins[$plugin_id] = true;
-	}
+  $plugin_id = str_replace('plugins/', '', $plugin); // id du plugin
+  if (!array_key_exists($plugin_id, $CONF['Plugins'])) {
+    $CONF['Plugins'][$plugin_id] = load_config('plugins/'.$plugin_id.'/config.xml'); // configuration du plugin
+    $CONF['Plugins'][$plugin_id]['active'] = false;
+    $NewPlugins[$plugin_id] = true;
+  }
 }
 
@@ -17,242 +17,246 @@
 ### Gestion des plugins manquants ###
 foreach ($CONF['Plugins'] as $plugin_id => $plugin_config) {
-	if (!file_exists('plugins/'.$plugin_id)) {
-		$MissingPlugins[$plugin_id] = true;
-	}
+  if (!file_exists('plugins/'.$plugin_id)) {
+    $MissingPlugins[$plugin_id] = true;
+  }
 }
 
 
 ### Formulaire ###
-$CONF['copyPOS'] = explode('-', $CONF['copyPOS']);
 $CONF['copyCOLOR'] = nice_hex_color($CONF['copyCOLOR']);
+if ($CONF['copyPOS'] == 'center') {
+  $CONF['copyPOS'] = array('center', 'center');
+} else {
+  $CONF['copyPOS'] = explode('-', $CONF['copyPOS']);
+}
 
 $PAGE['content'] .= '<form action="index.php?page=setup" method="post">
-	<div class="generic config">
-		<h2>'.l10n('Configuration').'</h2>
-		<ul>
-			<li>
-				<span class="title">'.l10n('Folders').'</span>
-				<table>
-					<tr>
-						<td>'.l10n('FolderIn').' :</td>
-						<td><input type="text" name="DIRsource" value="'.$CONF['DIRsource'].'"/></td>
-					</tr>
-					<tr>
-						<td>'.l10n('FolderOut').' :</td>
-						<td><input type="text" name="DIRsortie" value="'.$CONF['DIRsortie'].'"/></td>
-					</tr>
-				</table>
-			</li>
-			<li>
-				<span class="title">'.l10n('Options').'</span>
-				<table>
-					<tr>
-						<td>'.l10n('silentORNOT').' :</td>
-						<td>
-							<input type="radio" id="silentORNOT1" name="silentORNOT" value="erase" '.(($CONF['silentORNOT']=='erase')?'checked="checked"':'').'/> 
-							<label for="silentORNOT1">'.l10n('erase').'</label>
-							<input type="radio" id="silentORNOT2" name="silentORNOT" value="block" '.(($CONF['silentORNOT']=='block')?'checked="checked"':'').'/> 
-							<label for="silentORNOT2">'.l10n('block').'</label>
-							<input type="radio" id="silentORNOT3" name="silentORNOT" value="pass" '.(($CONF['silentORNOT']=='pass')?'checked="checked"':'').'/> 
-							<label for="silentORNOT3">'.l10n('pass').'</label>
-						</td>
-					</tr>
-					<tr>
-						<td>'.l10n('DIRhighORNOT').' :</td>
-						<td>
-							<input type="radio" id="DIRhighORNOT1" name="DIRhighORNOT" value="true" '.(($CONF['DIRhighORNOT'])?'checked="checked"':'').'/> 
-							<label for="DIRhighORNOT1">'.l10n('yes').'</label>
-							<input type="radio" id="DIRhighORNOT2" name="DIRhighORNOT" value="false" '.((!$CONF['DIRhighORNOT'])?'checked="checked"':'').'/> 
-							<label for="DIRhighORNOT2">'.l10n('no').'</label>
-						</td>
-					</tr>
-					<tr>
-						<td>'.l10n('DIMhdORNOT').' :</td>
-						<td>
-							<input type="radio" id="DIMhdORNOT1" name="DIMhdORNOT" value="true" '.(($CONF['DIMhdORNOT'])?'checked="checked"':'').'/> 
-							<label for="DIMhdORNOT1">'.l10n('yes').'</label>
-							<input type="radio" id="DIMhdORNOT" name="DIMhdORNOT" value="false" '.((!$CONF['DIMhdORNOT'])?'checked="checked"':'').'/> 
-							<label for="DIMhdORNOT2">'.l10n('no').'</label>
-						</td>
-					</tr>
-					<tr>
-						<td>'.l10n('renameORNOT').' :</td>
-						<td>
-							<input type="radio" id="renameORNOT1" name="renameORNOT" value="true" '.(($CONF['renameORNOT'])?'checked="checked"':'').'/> 
-							<label for="renameORNOT1">'.l10n('yes').'</label>
-							<input type="radio" id="renameORNOT2" name="renameORNOT" value="false" '.((!$CONF['renameORNOT'])?'checked="checked"':'').'/> 
-							<label for="renameORNOT2">'.l10n('no').'</label>
-						</td>
-					</tr>
-					<tr>
-						<td>'.l10n('indexORNOT').' :</td>
-						<td>
-							<input type="radio" id="indexORNOT1" name="indexORNOT" value="true" '.(($CONF['indexORNOT'])?'checked="checked"':'').'/> 
-							<label for="indexORNOT1">'.l10n('yes').'</label>
-							<input type="radio" id="indexORNOT2" name="indexORNOT" value="false" '.((!$CONF['indexORNOT'])?'checked="checked"':'').'/> 
-							<label for="indexORNOT2">'.l10n('no').'</label>
-						</td>
-					</tr>
-					<tr>
-						<td>'.l10n('prefixe_mini').' :</td>
-						<td><input type="text" name="prefixe_mini" value="'.$CONF['prefixe_mini'].'" size="8"/></td>
-					</tr>
-				</table>
-			</li>
-			<li>
-				<span class="title">'.l10n('Sizes and quality').'</span>
-				<table>
-					<tr>
-						<td>'.l10n('DIMhd').' :</td>
-						<td><input type="text" name="DIMhd" value="'.$CONF['DIMhd'].'" size="4"/>px</td>
-					</tr>
-					<tr>
-						<td>'.l10n('DIMnormal').' :</td>
-						<td><input type="text" name="DIMnormal" value="'.$CONF['DIMnormal'].'" size="3"/>px</td>
-					</tr>
-					<tr>
-						<td>'.l10n('DIMthumbnail').' :</td>
-						<td><input type="text" name="DIMthumbnail" value="'.$CONF['DIMthumbnail'].'" size="3"/>px</td>
-					</tr>
-					<tr>
-						<td>'.l10n('Qhd').' :</td>
-						<td><input type="text" name="Qhd" value="'.$CONF['Qhd'].'" size="3"/>%</td>
-					</tr>
-					<tr>
-						<td>'.l10n('Qnormal').' :</td>
-						<td><input type="text" name="Qnormal" value="'.$CONF['Qnormal'].'" size="3"/>%</td>
-					</tr>
-					<tr>
-						<td>'.l10n('Qthumbnail').' :</td>
-						<td><input type="text" name="Qthumbnail" value="'.$CONF['Qthumbnail'].'" size="3"/>%</td>
-					</tr>
-					<tr>
-						<td>'.l10n('DPI').' :</td>
-						<td><input type="text" name="DPI" value="'.$CONF['DPI'].'" size="3"/>dpi</td>
-					</tr>
-				</table>
-			</li>
-			<li>
-				<span class="title">'.l10n('Copyright').'</span>
-				<table>
-					<tr>
-						<td>'.l10n('Content').' :</td>
-						<td><input type="text" name="copyright" value="'.$CONF['copyright'].'"/></td>
-					</tr>
-					<tr>
-						<td>'.l10n('copyONhd').' :</td>
-						<td>
-							<input type="radio" id="copyONhd1" name="copyONhd" value="true" '.(($CONF['copyONhd'])?'checked="checked"':'').'/> 
-							<label for="copyONhd1">'.l10n('yes').'</label>
-							<input type="radio" id="copyONhd2" name="copyONhd" value="false" '.((!$CONF['copyONhd'])?'checked="checked"':'').'/> 
-							<label for="copyONhd2">'.l10n('no').'</label>
-						</td>
-					</tr>
-					<tr>
-						<td>'.l10n('copyONnormal').' :</td>
-						<td>
-							<input type="radio" id="copyONnormal1" name="copyONnormal" value="true" '.(($CONF['copyONnormal'])?'checked="checked"':'').'/> 
-							<label for="copyONnormal1">'.l10n('yes').'</label>
-							<input type="radio" id="copyONnormal2" name="copyONnormal" value="false" '.((!$CONF['copyONnormal'])?'checked="checked"':'').'/> 
-							<label for="copyONnormal2">'.l10n('no').'</label>
-						</td>
-					</tr>
-					<tr>
-						<td>'.l10n('copyPOS%s', l10n('copyPOSv')).' :</td>
-						<td>
-							<input type="radio" id="copyPOS01" name="copyPOS[0]" value="top" '.(($CONF['copyPOS'][0]=='top')?'checked="checked"':'').'/> 
-							<label for="copyPOS01">'.l10n('top').'</label>
-							<input type="radio" id="copyPOS02" name="copyPOS[0]" value="center" '.(($CONF['copyPOS'][0]=='center')?'checked="checked"':'').'/> 
-							<label for="copyPOS02">'.l10n('center').'</label>
-							<input type="radio" id="copyPOS03" name="copyPOS[0]" value="bottom" '.(($CONF['copyPOS'][0]=='bottom')?'checked="checked"':'').'/> 
-							<label for="copyPOS03">'.l10n('bottom').'</label>
-						</td>
-					</tr>
-					<tr>
-						<td>'.l10n('copyPOS%s', l10n('copyPOSh')).' :</td>
-						<td>
-							<input type="radio" id="copyPOS11" name="copyPOS[1]" value="left" '.(($CONF['copyPOS'][1]=='left')?'checked="checked"':'').'/> 
-							<label for="copyPOS11">'.l10n('left').'</label>
-							<input type="radio" id="copyPOS12" name="copyPOS[1]" value="center" '.(($CONF['copyPOS'][1]=='center')?'checked="checked"':'').'/> 
-							<label for="copyPOS12">'.l10n('center').'</label>
-							<input type="radio" id="copyPOS13" name="copyPOS[1]" value="right" '.(($CONF['copyPOS'][1]=='right')?'checked="checked"':'').'/> 
-							<label for="copyPOS13">'.l10n('right').'</label>
-						</td>
-					</tr>
-					<tr>
-						<td>'.l10n('copySIZE').' :</td>
-						<td><input type="text" name="copySIZE" value="'.$CONF['copySIZE'].'" size="5"/></td>
-					</tr>
-					<tr>
-						<td>'.l10n('copyCOLOR').' :</td>
-						<td><input type="text" id="colorpicker" name="copyCOLOR" value="'.$CONF['copyCOLOR'].'" size="6"/></td>
-						<script type="text/javascript">
-							$("#colorpicker").ColorPicker({
-								onSubmit: function(hsb, hex, rgb, el) { $(el).val(hex); $(el).ColorPickerHide(); },
-								onChange: function(hsb, hex, rgb, el) { $("#colorpicker").val(hex); },
-								onBeforeShow: function () { $(this).ColorPickerSetColor(this.value); }
-							}) .bind("keyup", function(){ $(this).ColorPickerSetColor(this.value); });
-						</script>
-					</tr>
-					<tr>
-						<td>'.l10n('copyFONT').' :</td>
-						<td><input type="text" name="copyFONT" value="'.$CONF['copyFONT'].'"/></td>
-					</tr>
-				</table>
-			</li>
-		</ul>
-	</div>
-
-	<div class="generic config">
-		<h2>'.l10n('Plugins').'</h2>
-		<ul>';
-			
-			// Affichage des plugins
-			$PLUGIN_ACTION = 'edit_config';
-			
-			foreach ($CONF['Plugins'] as $plugin_id => $plugin_config) {
-				$PAGE['content'] .= '<li>
-					<div class="plugin-title">
-						<span class="title">'.$plugin_config['name'].' :</span>
-						<input type="hidden" name="Plugins['.$plugin_id.'][name]" value="'.$plugin_config['name'].'"/>
-						<input type="hidden" name="Plugins['.$plugin_id.'][mode]" value="'.$plugin_config['mode'].'"/>';
-						
-						// Cas spéciaux dans le titre (nouveau, manquant)
-						if (isset($NewPlugins[$plugin_id])) {
-							$PAGE['content'] .= ' <b class="new">'.l10n('New !').'</b>';
-						} else if (isset($MissingPlugins[$plugin_id])) {
-							$PAGE['content'] .= ' <b class="miss">'.l10n('Missing !').'</b>';
-						}
-						
-						// Si il est manquant on ne met que la checkbox de suppression, sinon boutons d'activation
-						$PAGE['content'] .= '<span class="plugin-active">';
-							if (isset($MissingPlugins[$plugin_id])) {
-								$PAGE['content'] .= '<label><input type="checkbox" name="Plugins['.$plugin_id.'][delete]" value="true" checked="checked"/> '.l10n('erase').'</label>';
-							} else {
-								$PAGE['content'] .= '<input type="radio" id="" id="active-'.$plugin_id.'" name="Plugins['.$plugin_id.'][active]" value="true" '.(($plugin_config['active'])?'checked="checked"':'').'/>
-								<label for="active-'.$plugin_id.'">'.l10n('Active').'</label>
-								<input type="radio" id="" id="inactive-'.$plugin_id.'"name="Plugins['.$plugin_id.'][active]" value="false" '.((!$plugin_config['active'])?'checked="checked"':'').'/>
-								<label for="inactive-'.$plugin_id.'">'.l10n('Inactive').'</label>';
-							}
-						$PAGE['content'] .= '</span>
-						
-					</div>';
-					
-					
-					// On affiche sa configuration
-					if (!isset($MissingPlugins[$plugin_id]) AND file_exists('plugins/'.$plugin_id.'/setup.php')) {
-						include('plugins/'.$plugin_id.'/setup.php');
-					}
-				$PAGE['content'] .= '</li>';
-			}
-			
-		$PAGE['content'] .= '</ul>
-	</div>';
-	
-
-	$PAGE['end'] .= '<div class="generic link">
-		<input type="submit" name="submit" value="'.l10n('Valid').'"/>
-		<input type="reset" onclick="location.href=\'index.php\'" value="'.l10n('Back').'"/>
-	</div>
+  <div class="generic config">
+    <h2>'.l10n('Configuration').'</h2>
+    <ul>
+      <li>
+        <span class="title">'.l10n('Folders').'</span>
+        <table>
+          <tr>
+            <td>'.l10n('FolderIn').' :</td>
+            <td><input type="text" name="DIRsource" value="'.$CONF['DIRsource'].'"/></td>
+          </tr>
+          <tr>
+            <td>'.l10n('FolderOut').' :</td>
+            <td><input type="text" name="DIRsortie" value="'.$CONF['DIRsortie'].'"/></td>
+          </tr>
+        </table>
+      </li>
+      <li>
+        <span class="title">'.l10n('Options').'</span>
+        <table>
+          <tr>
+            <td>'.l10n('silentORNOT').' :</td>
+            <td>
+              <input type="radio" id="silentORNOT1" name="silentORNOT" value="erase" '.(($CONF['silentORNOT']=='erase')?'checked="checked"':'').'/> 
+              <label for="silentORNOT1">'.l10n('erase').'</label>
+              <input type="radio" id="silentORNOT2" name="silentORNOT" value="block" '.(($CONF['silentORNOT']=='block')?'checked="checked"':'').'/> 
+              <label for="silentORNOT2">'.l10n('block').'</label>
+              <input type="radio" id="silentORNOT3" name="silentORNOT" value="pass" '.(($CONF['silentORNOT']=='pass')?'checked="checked"':'').'/> 
+              <label for="silentORNOT3">'.l10n('pass').'</label>
+            </td>
+          </tr>
+          <tr>
+            <td>'.l10n('DIRhighORNOT').' :</td>
+            <td>
+              <input type="radio" id="DIRhighORNOT1" name="DIRhighORNOT" value="true" '.(($CONF['DIRhighORNOT'])?'checked="checked"':'').'/> 
+              <label for="DIRhighORNOT1">'.l10n('yes').'</label>
+              <input type="radio" id="DIRhighORNOT2" name="DIRhighORNOT" value="false" '.((!$CONF['DIRhighORNOT'])?'checked="checked"':'').'/> 
+              <label for="DIRhighORNOT2">'.l10n('no').'</label>
+            </td>
+          </tr>
+          <tr>
+            <td>'.l10n('DIMhdORNOT').' :</td>
+            <td>
+              <input type="radio" id="DIMhdORNOT1" name="DIMhdORNOT" value="true" '.(($CONF['DIMhdORNOT'])?'checked="checked"':'').'/> 
+              <label for="DIMhdORNOT1">'.l10n('yes').'</label>
+              <input type="radio" id="DIMhdORNOT" name="DIMhdORNOT" value="false" '.((!$CONF['DIMhdORNOT'])?'checked="checked"':'').'/> 
+              <label for="DIMhdORNOT2">'.l10n('no').'</label>
+            </td>
+          </tr>
+          <tr>
+            <td>'.l10n('renameORNOT').' :</td>
+            <td>
+              <input type="radio" id="renameORNOT1" name="renameORNOT" value="true" '.(($CONF['renameORNOT'])?'checked="checked"':'').'/> 
+              <label for="renameORNOT1">'.l10n('yes').'</label>
+              <input type="radio" id="renameORNOT2" name="renameORNOT" value="false" '.((!$CONF['renameORNOT'])?'checked="checked"':'').'/> 
+              <label for="renameORNOT2">'.l10n('no').'</label>
+            </td>
+          </tr>
+          <tr>
+            <td>'.l10n('indexORNOT').' :</td>
+            <td>
+              <input type="radio" id="indexORNOT1" name="indexORNOT" value="true" '.(($CONF['indexORNOT'])?'checked="checked"':'').'/> 
+              <label for="indexORNOT1">'.l10n('yes').'</label>
+              <input type="radio" id="indexORNOT2" name="indexORNOT" value="false" '.((!$CONF['indexORNOT'])?'checked="checked"':'').'/> 
+              <label for="indexORNOT2">'.l10n('no').'</label>
+            </td>
+          </tr>
+          <tr>
+            <td>'.l10n('prefixe_mini').' :</td>
+            <td><input type="text" name="prefixe_mini" value="'.$CONF['prefixe_mini'].'" size="8"/></td>
+          </tr>
+        </table>
+      </li>
+      <li>
+        <span class="title">'.l10n('Sizes and quality').'</span>
+        <table>
+          <tr>
+            <td>'.l10n('DIMhd').' :</td>
+            <td><input type="text" name="DIMhd" value="'.$CONF['DIMhd'].'" size="4"/>px</td>
+          </tr>
+          <tr>
+            <td>'.l10n('DIMnormal').' :</td>
+            <td><input type="text" name="DIMnormal" value="'.$CONF['DIMnormal'].'" size="3"/>px</td>
+          </tr>
+          <tr>
+            <td>'.l10n('DIMthumbnail').' :</td>
+            <td><input type="text" name="DIMthumbnail" value="'.$CONF['DIMthumbnail'].'" size="3"/>px</td>
+          </tr>
+          <tr>
+            <td>'.l10n('Qhd').' :</td>
+            <td><input type="text" name="Qhd" value="'.$CONF['Qhd'].'" size="3"/>%</td>
+          </tr>
+          <tr>
+            <td>'.l10n('Qnormal').' :</td>
+            <td><input type="text" name="Qnormal" value="'.$CONF['Qnormal'].'" size="3"/>%</td>
+          </tr>
+          <tr>
+            <td>'.l10n('Qthumbnail').' :</td>
+            <td><input type="text" name="Qthumbnail" value="'.$CONF['Qthumbnail'].'" size="3"/>%</td>
+          </tr>
+          <tr>
+            <td>'.l10n('DPI').' :</td>
+            <td><input type="text" name="DPI" value="'.$CONF['DPI'].'" size="3"/>dpi</td>
+          </tr>
+        </table>
+      </li>
+      <li>
+        <span class="title">'.l10n('Copyright').'</span>
+        <table>
+          <tr>
+            <td>'.l10n('Content').' :</td>
+            <td><input type="text" name="copyright" value="'.$CONF['copyright'].'"/></td>
+          </tr>
+          <tr>
+            <td>'.l10n('copyONhd').' :</td>
+            <td>
+              <input type="radio" id="copyONhd1" name="copyONhd" value="true" '.(($CONF['copyONhd'])?'checked="checked"':'').'/> 
+              <label for="copyONhd1">'.l10n('yes').'</label>
+              <input type="radio" id="copyONhd2" name="copyONhd" value="false" '.((!$CONF['copyONhd'])?'checked="checked"':'').'/> 
+              <label for="copyONhd2">'.l10n('no').'</label>
+            </td>
+          </tr>
+          <tr>
+            <td>'.l10n('copyONnormal').' :</td>
+            <td>
+              <input type="radio" id="copyONnormal1" name="copyONnormal" value="true" '.(($CONF['copyONnormal'])?'checked="checked"':'').'/> 
+              <label for="copyONnormal1">'.l10n('yes').'</label>
+              <input type="radio" id="copyONnormal2" name="copyONnormal" value="false" '.((!$CONF['copyONnormal'])?'checked="checked"':'').'/> 
+              <label for="copyONnormal2">'.l10n('no').'</label>
+            </td>
+          </tr>
+          <tr>
+            <td>'.l10n('copyPOS%s', l10n('copyPOSv')).' :</td>
+            <td>
+              <input type="radio" id="copyPOS01" name="copyPOS[0]" value="top" '.(($CONF['copyPOS'][0]=='top')?'checked="checked"':'').'/> 
+              <label for="copyPOS01">'.l10n('top').'</label>
+              <input type="radio" id="copyPOS02" name="copyPOS[0]" value="center" '.(($CONF['copyPOS'][0]=='center')?'checked="checked"':'').'/> 
+              <label for="copyPOS02">'.l10n('center').'</label>
+              <input type="radio" id="copyPOS03" name="copyPOS[0]" value="bottom" '.(($CONF['copyPOS'][0]=='bottom')?'checked="checked"':'').'/> 
+              <label for="copyPOS03">'.l10n('bottom').'</label>
+            </td>
+          </tr>
+          <tr>
+            <td>'.l10n('copyPOS%s', l10n('copyPOSh')).' :</td>
+            <td>
+              <input type="radio" id="copyPOS11" name="copyPOS[1]" value="left" '.(($CONF['copyPOS'][1]=='left')?'checked="checked"':'').'/> 
+              <label for="copyPOS11">'.l10n('left').'</label>
+              <input type="radio" id="copyPOS12" name="copyPOS[1]" value="center" '.(($CONF['copyPOS'][1]=='center')?'checked="checked"':'').'/> 
+              <label for="copyPOS12">'.l10n('center').'</label>
+              <input type="radio" id="copyPOS13" name="copyPOS[1]" value="right" '.(($CONF['copyPOS'][1]=='right')?'checked="checked"':'').'/> 
+              <label for="copyPOS13">'.l10n('right').'</label>
+            </td>
+          </tr>
+          <tr>
+            <td>'.l10n('copySIZE').' :</td>
+            <td><input type="text" name="copySIZE" value="'.$CONF['copySIZE'].'" size="5"/></td>
+          </tr>
+          <tr>
+            <td>'.l10n('copyCOLOR').' :</td>
+            <td><input type="text" id="colorpicker" name="copyCOLOR" value="'.$CONF['copyCOLOR'].'" size="6"/></td>
+            <script type="text/javascript">
+              $("#colorpicker").ColorPicker({
+                onSubmit: function(hsb, hex, rgb, el) { $(el).val(hex); $(el).ColorPickerHide(); },
+                onChange: function(hsb, hex, rgb, el) { $("#colorpicker").val(hex); },
+                onBeforeShow: function () { $(this).ColorPickerSetColor(this.value); }
+              }) .bind("keyup", function(){ $(this).ColorPickerSetColor(this.value); });
+            </script>
+          </tr>
+          <tr>
+            <td>'.l10n('copyFONT').' :</td>
+            <td><input type="text" name="copyFONT" value="'.$CONF['copyFONT'].'"/></td>
+          </tr>
+        </table>
+      </li>
+    </ul>
+  </div>
+
+  <div class="generic config">
+    <h2>'.l10n('Plugins').'</h2>
+    <ul>';
+      
+      // Affichage des plugins
+      $PLUGIN_ACTION = 'edit_config';
+      
+      foreach ($CONF['Plugins'] as $plugin_id => $plugin_config) {
+        $PAGE['content'] .= '<li>
+          <div class="plugin-title">
+            <span class="title">'.$plugin_config['name'].' :</span>
+            <input type="hidden" name="Plugins['.$plugin_id.'][name]" value="'.$plugin_config['name'].'"/>
+            <input type="hidden" name="Plugins['.$plugin_id.'][mode]" value="'.$plugin_config['mode'].'"/>';
+            
+            // Cas spéciaux dans le titre (nouveau, manquant)
+            if (isset($NewPlugins[$plugin_id])) {
+              $PAGE['content'] .= ' <b class="new">'.l10n('New !').'</b>';
+            } else if (isset($MissingPlugins[$plugin_id])) {
+              $PAGE['content'] .= ' <b class="miss">'.l10n('Missing !').'</b>';
+            }
+            
+            // Si il est manquant on ne met que la checkbox de suppression, sinon boutons d'activation
+            $PAGE['content'] .= '<span class="plugin-active">';
+              if (isset($MissingPlugins[$plugin_id])) {
+                $PAGE['content'] .= '<label><input type="checkbox" name="Plugins['.$plugin_id.'][delete]" value="true" checked="checked"/> '.l10n('erase').'</label>';
+              } else {
+                $PAGE['content'] .= '<input type="radio" id="" id="active-'.$plugin_id.'" name="Plugins['.$plugin_id.'][active]" value="true" '.(($plugin_config['active'])?'checked="checked"':'').'/>
+                <label for="active-'.$plugin_id.'">'.l10n('Active').'</label>
+                <input type="radio" id="" id="inactive-'.$plugin_id.'"name="Plugins['.$plugin_id.'][active]" value="false" '.((!$plugin_config['active'])?'checked="checked"':'').'/>
+                <label for="inactive-'.$plugin_id.'">'.l10n('Inactive').'</label>';
+              }
+            $PAGE['content'] .= '</span>
+            
+          </div>';
+          
+          
+          // On affiche sa configuration
+          if (!isset($MissingPlugins[$plugin_id]) AND file_exists('plugins/'.$plugin_id.'/setup.php')) {
+            include('plugins/'.$plugin_id.'/setup.php');
+          }
+        $PAGE['content'] .= '</li>';
+      }
+      
+    $PAGE['content'] .= '</ul>
+  </div>';
+  
+
+  $PAGE['end'] .= '<div class="generic link">
+    <input type="submit" name="submit" value="'.l10n('Valid').'"/>
+    <input type="reset" onclick="location.href=\'index.php\'" value="'.l10n('Back').'"/>
+  </div>
 </form>';
 ?>
Index: extensions/PHP_Optimisateur/index.php
===================================================================
--- extensions/PHP_Optimisateur/index.php	(revision 10479)
+++ extensions/PHP_Optimisateur/index.php	(revision 12819)
@@ -1,6 +1,6 @@
 <?php
 /***************************************\
-|			PHP OPTIMISATEUR			|
-|			  Version 1.4				|
+|            PHP OPTIMISATEUR           |
+|              Version 1.4              |
 \***************************************/
 
@@ -14,9 +14,9 @@
 $LOG = array();
 $PAGE = array(
-	'section' => 'home',
-	'header' => null,
-	'content' => null,
-	'msgs' => null,
-	'end' => null,
+  'section' => 'home',
+  'header' => null,
+  'content' => null,
+  'msgs' => null,
+  'end' => null,
 );
 
@@ -28,11 +28,11 @@
 ### CONFIGURATION ###
 if (!file_exists('config.xml')) {
-	$ERRORS['fatal'][] = 'ErrorConfigFile';
+  $ERRORS['fatal'][] = 'ErrorConfigFile';
 } else {
-	$CONF = load_config('config.xml');
+  $CONF = load_config('config.xml');
 }
 
 if (!file_exists('include/nconvert.exe')) {
-	$ERRORS['fatal'][] = 'ErrorNconvert';
+  $ERRORS['fatal'][] = 'ErrorNconvert';
 }
 
@@ -44,32 +44,32 @@
 ### PROCESSUS ###
 switch ($PAGE['section']) {
-	case 'home':
-		if (!isset($ERRORS['fatal'])) {
-			if (!file_exists($CONF['DIRsource'])) {
-				mkdir($CONF['DIRsource']);
-			}
-			if (!file_exists($CONF['DIRsortie'])) {
-				mkdir($CONF['DIRsortie']);
-			}
-			if (is_dir_empty($CONF['DIRsource'])) {
-				$ERRORS['fatal'][] = 'ErrorFolderIn';
-			}
-			if ($CONF['silentORNOT'] == 'block' AND !is_dir_empty($CONF['DIRsortie'])) {
-				$ERRORS['fatal'][] = 'ErrorFolderOut';
-			} else if ($CONF['silentORNOT'] == 'erase' AND !is_dir_empty($CONF['DIRsortie'])) {
-				$ERRORS['notice'][] = 'EraseFolderOut';
-			}
-		}
-		break;
-		
-	case 'setup':
-		if (isset($_POST['submit'])) {
-			include('include/save_config.php');
-		}
-		break;
-	
-	case 'process':
-		include('include/main.php');
-		break;
+  case 'home':
+    if (!isset($ERRORS['fatal'])) {
+      if (!file_exists($CONF['DIRsource'])) {
+        mkdir($CONF['DIRsource']);
+      }
+      if (!file_exists($CONF['DIRsortie'])) {
+        mkdir($CONF['DIRsortie']);
+      }
+      if (is_dir_empty($CONF['DIRsource'])) {
+        $ERRORS['fatal'][] = 'ErrorFolderIn';
+      }
+      if ($CONF['silentORNOT'] == 'block' AND !is_dir_empty($CONF['DIRsortie'])) {
+        $ERRORS['fatal'][] = 'ErrorFolderOut';
+      } else if ($CONF['silentORNOT'] == 'erase' AND !is_dir_empty($CONF['DIRsortie'])) {
+        $ERRORS['notice'][] = 'EraseFolderOut';
+      }
+    }
+    break;
+    
+  case 'setup':
+    if (isset($_POST['submit'])) {
+      include('include/save_config.php');
+    }
+    break;
+  
+  case 'process':
+    include('include/main.php');
+    break;
 }
 
@@ -78,69 +78,69 @@
 ### AFFICHAGE ###
 switch ($PAGE['section']) {
-	case 'home':
-		include('include/display_config.php');
-		
-		if (isset($ERRORS['fatal'])) {
-			$PAGE['end'] .= '
-			<div class="generic link">
-				<a class="input-submit" href="index.php">'.l10n('Reload').'</a>
-				<a class="input-submit" href="index.php?page=setup">'.l10n('Config').'</a>
-			</div>';
+  case 'home':
+    include('include/display_config.php');
+    
+    if (isset($ERRORS['fatal'])) {
+      $PAGE['end'] .= '
+      <div class="generic link">
+        <a class="input-submit" href="index.php">'.l10n('Reload').'</a>
+        <a class="input-submit" href="index.php?page=setup">'.l10n('Config').'</a>
+      </div>';
 
-		} else {
-			$PAGE['end'] .= '
-			<div class="generic finish">
-				<span id="ready-text">'.l10n('Ready').'</span>
-				<span id="loader"><img src="template/favicon.png" alt="PHP OPT"/></span>
-			</div>
-			<div class="generic link">
-				<a class="input-submit" href="index.php?page=process" onclick="Load();">'.l10n('Launch').'</a>
-				<a class="input-submit" href="index.php?page=setup">'.l10n('Config').'</a>
-			</div>';
-		}
-		break;
-		
-	case 'setup':
-		if (isset($ERRORS['fatal'])) {
-			$PAGE['end'] .= '
-			<div class="generic link">
-				<a class="input-submit" href="index.php">'.l10n('Back').'</a>
-				<a class="input-submit" href="index.php?page=setup">'.l10n('Reload').'</a>
-			</div>';
+    } else {
+      $PAGE['end'] .= '
+      <div class="generic finish">
+        <span id="ready-text">'.l10n('Ready').'</span>
+        <span id="loader"><img src="template/favicon.png" alt="PHP OPT"/></span>
+      </div>
+      <div class="generic link">
+        <a class="input-submit" href="index.php?page=process" onclick="Load();">'.l10n('Launch').'</a>
+        <a class="input-submit" href="index.php?page=setup">'.l10n('Config').'</a>
+      </div>';
+    }
+    break;
+    
+  case 'setup':
+    if (isset($ERRORS['fatal'])) {
+      $PAGE['end'] .= '
+      <div class="generic link">
+        <a class="input-submit" href="index.php">'.l10n('Back').'</a>
+        <a class="input-submit" href="index.php?page=setup">'.l10n('Reload').'</a>
+      </div>';
 
-		} else {
-			include('include/setup.php');
-		}
-		break;
-	
-	case 'process':
-		### Affichage des fichiers traités et création du log ###
-		$nb_files = count($FilesSource);
-		$time = intval((microtime(true)-$TIME_START));
-		$logfile = print_log($nb_files, $time);
-		
-		$PAGE['content'] .= '
-		<div class="generic files">
-			<h2>'.l10n('Source files').'</h2>
-			<ul>';
-				foreach ($FilesSource as $value) {
-					$PAGE['content'] .= '<li>'.$value.'</li>';
-				}
-			$PAGE['content'] .= '</ul>
-			<i>'.l10n('%d files', $nb_files).'</i><br>
-			<b>Log :</b> <a href="logs/'.$logfile.'">'.$logfile.'</a>
-		</div>';
-		
+    } else {
+      include('include/setup.php');
+    }
+    break;
+  
+  case 'process':
+    ### Affichage des fichiers traités et création du log ###
+    $nb_files = count($FilesSource);
+    $time = intval((microtime(true)-$TIME_START));
+    $logfile = print_log($nb_files, $time);
+    
+    $PAGE['content'] .= '
+    <div class="generic files">
+      <h2>'.l10n('Source files').'</h2>
+      <ul>';
+        foreach ($FilesSource as $value) {
+          $PAGE['content'] .= '<li>'.$value.'</li>';
+        }
+      $PAGE['content'] .= '</ul>
+      <i>'.l10n('%d files', $nb_files).'</i><br>
+      <b>Log :</b> <a href="logs/'.$logfile.'">'.$logfile.'</a>
+    </div>';
+    
 
-		unset($FilesSource);
-		unset($FilesSortie);
-		
-		$PAGE['end'] .= '
-		<div class="generic finish">'.l10n('Finish %d seconds', $time).'</div>
-		<div class="generic link">
-			<a class="input-submit" href="index.php">'.l10n('Back').'</a>
-			<a class="input-submit" href="index.php?page=setup">'.l10n('Config').'</a>
-		</div>';
-		break;
+    unset($FilesSource);
+    unset($FilesSortie);
+    
+    $PAGE['end'] .= '
+    <div class="generic finish">'.l10n('Finish %d seconds', $time).'</div>
+    <div class="generic link">
+      <a class="input-submit" href="index.php">'.l10n('Back').'</a>
+      <a class="input-submit" href="index.php?page=setup">'.l10n('Config').'</a>
+    </div>';
+    break;
 }
 
@@ -150,25 +150,25 @@
 // erreurs fatales
 if (isset($ERRORS['fatal'])) {
-	$PAGE['msgs'] .= '<div class="generic error">';
-		foreach ($ERRORS['fatal'] as $key) {
-			$PAGE['msgs'] .= '<div>'.l10n('fatal.'.$key).'</div>';
-		}
-	$PAGE['msgs'] .= '</div>';
+  $PAGE['msgs'] .= '<div class="generic error">';
+    foreach ($ERRORS['fatal'] as $key) {
+      $PAGE['msgs'] .= '<div>'.l10n('fatal.'.$key).'</div>';
+    }
+  $PAGE['msgs'] .= '</div>';
 }
 // informations
 if (isset($ERRORS['notice'])) {
-	$PAGE['msgs'] .= '<div class="generic notice">';
-		foreach ($ERRORS['notice'] as $key) {
-			$PAGE['msgs'] .= '<div>'.l10n('notice.'.$key).'</div>';
-		}
-	$PAGE['msgs'] .= '</div>';
+  $PAGE['msgs'] .= '<div class="generic notice">';
+    foreach ($ERRORS['notice'] as $key) {
+      $PAGE['msgs'] .= '<div>'.l10n('notice.'.$key).'</div>';
+    }
+  $PAGE['msgs'] .= '</div>';
 }
 // erreurs de configuration
 if (isset($ERRORS['conf'])) {
-	$PAGE['msgs'] .= '<div class="generic notice conf">';
-		foreach ($ERRORS['conf'] as $key) {
-			$PAGE['msgs'] .= '<div>'.l10n('notice.'.$key[1].' %s', '<i>'.$key[0].'</i>').'</div>';
-		}
-	$PAGE['msgs'] .= '</div>';
+  $PAGE['msgs'] .= '<div class="generic notice conf">';
+    foreach ($ERRORS['conf'] as $key) {
+      $PAGE['msgs'] .= '<div>'.l10n('notice.'.$key[1].' %s', '<i>'.$key[0].'</i>').'</div>';
+    }
+  $PAGE['msgs'] .= '</div>';
 }
 
@@ -183,5 +183,5 @@
 echo '
 <div class="generic footer">
-	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>
+  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>
 </div>
 
Index: extensions/PHP_Optimisateur/plugins/charlies_content/main.php
===================================================================
--- extensions/PHP_Optimisateur/plugins/charlies_content/main.php	(revision 10479)
+++ extensions/PHP_Optimisateur/plugins/charlies_content/main.php	(revision 12819)
@@ -1,6 +1,6 @@
 <?php
 /***************************************\
-|			PHP OPTIMISATEUR			|
-|	  Plugin Charlie's Content 1.0		|
+|            PHP OPTIMISATEUR           |
+|     Plugin Charlie's Content 1.0      |
 \***************************************/
 
@@ -8,12 +8,12 @@
 
 $CC_charlies_exts = array( // all extensions supported by Charlies' Content
-	'flv','swf','pls','m3u','wav','mid','au','aif','mp3','pdf',
-	'asf','wmv','divx','xvid','aiff','aac','bmp','gsm','mov','mpg',
-	'mpeg','mp4','m4a','psd','qt','qtif','qif','qti','snd','tif',
-	'tiff','3g2','3pg','zip','rar','gpx','3gp',
+  'flv','swf','pls','m3u','wav','mid','au','aif','mp3','pdf',
+  'asf','wmv','divx','xvid','aiff','aac','bmp','gsm','mov','mpg',
+  'mpeg','mp4','m4a','psd','qt','qtif','qif','qti','snd','tif',
+  'tiff','3g2','3pg','zip','rar','gpx','3gp',
 );
 $CC_video_exts = array( // extensions tested with FFmpeg
-	'wmv','mov','mkv','mp4','mpg','flv','asf','xvid','divx','mpeg',
-	'avi','rm', # <-- additional formats
+  'wmv','mov','mkv','mp4','mpg','flv','asf','xvid','divx','mpeg',
+  'avi','rm', # <-- additional formats
 );
 $CC_video_time = $CONF['Plugins']['charlies_content']['video_time'];
@@ -21,75 +21,75 @@
 if (!function_exists('ffmpeg')) {
 function ffmpeg($param, $log=true) {
-	global $LOG;
+  global $LOG;
 
-	exec('include\ffmpeg.exe '. $param .' 2>&1', $out);
-	
-	if ($log) {
-		$LOG[] = 'FFmpeg conversion : ' . $param;
-	} else {
-		return $out;
-	}
+  exec('include\ffmpeg.exe '. $param .' 2>&1', $out);
+  
+  if ($log) {
+    $LOG[] = 'FFmpeg conversion : ' . $param;
+  } else {
+    return $out;
+  }
 }
 }
 
 if (in_arrayi($file['ext'], $CC_video_exts)) {
-	// copie la video
-	copy_log($FilesSource[$i], $FilesSortie[$i]);
-	
-	// infos sur le fichier
-	$infos = ffmpeg('-i "'. $FilesSource[$i] .'"', false);
-	$infos = implode('|', $infos);
-	
-	// taille de la video
-	if (preg_match('#\, (\d+)x(\d+)#s', $infos, $sizes)) {
-		$FileInfos = array(
-			'Width' => $sizes[1],
-			'Height' => $sizes[2],
-		);
-	}
+  // copie la video
+  copy_log($FilesSource[$i], $FilesSortie[$i]);
+  
+  // infos sur le fichier
+  $infos = ffmpeg('-i "'. $FilesSource[$i] .'"', false);
+  $infos = implode('|', $infos);
+  
+  // taille de la video
+  if (preg_match('#\, (\d+)x(\d+)#s', $infos, $sizes)) {
+    $FileInfos = array(
+      'Width' => $sizes[1],
+      'Height' => $sizes[2],
+    );
+  }
 
-	// position de la miniature
-	$second = 10;
-	if ($CC_video_time == 'rand') {
-		if (preg_match('#Duration: ((\d+):(\d+):(\d+))#s', $infos, $time)) {
-			$total = ($time[2] * 3600) + ($time[3] * 60) + $time[4];
-			$second = rand(1, ($total - 1));
-		}
-	} else if (is_int($CC_video_time)) {
-		$second = $CC_video_time;
-	}
-	
-	// création d'un ficher pleine taille temporaire
-	mkdir('temp', 0777, true);
-	ffmpeg('-i "'. $FilesSource[$i] .'" -an -ss '.$second.' -t 1 -r 1 -y -vcodec mjpeg -f mjpeg "temp/'.$file['name'].'.jpg"');	
-	
-	// miniature, utilise Create Custom Thumbs si activé
-	if (
-		isset($CONF['Plugins']['create_custom_thumbs']) 
-		AND $CONF['Plugins']['create_custom_thumbs']['active']
-	) {
-		unset($BlockAll);
-		$CCT_filesource = 'temp/'.$file['name'].'.jpg';
-		include('plugins/create_custom_thumbs/main.php');
-		$BlockAll['main'] = true;
-	
-	} else {
-		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"');
-	}
+  // position de la miniature
+  $second = 10;
+  if ($CC_video_time == 'rand') {
+    if (preg_match('#Duration: ((\d+):(\d+):(\d+))#s', $infos, $time)) {
+      $total = ($time[2] * 3600) + ($time[3] * 60) + $time[4];
+      $second = rand(1, ($total - 1));
+    }
+  } else if (is_int($CC_video_time)) {
+    $second = $CC_video_time;
+  }
+  
+  // création d'un ficher pleine taille temporaire
+  mkdir('temp', 0777, true);
+  ffmpeg('-i "'. $FilesSource[$i] .'" -an -ss '.$second.' -t 1 -r 1 -y -vcodec mjpeg -f mjpeg "temp/'.$file['name'].'.jpg"');  
+  
+  // miniature, utilise Create Custom Thumbs si activé
+  if (
+    isset($CONF['Plugins']['create_custom_thumbs']) 
+    AND $CONF['Plugins']['create_custom_thumbs']['active']
+  ) {
+    unset($BlockAll);
+    $CCT_filesource = 'temp/'.$file['name'].'.jpg';
+    include('plugins/create_custom_thumbs/main.php');
+    $BlockAll['main'] = true;
+  
+  } else {
+    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"');
+  }
 
-	// suppression des fichiers temporaires
-	@rrmdir('temp');
-	
-	$BlockThumbnail['charlies_content'] = true;
-	$BlockNormal['charlies_content'] = true;
-	$BlockHigh['charlies_content'] = true;
-	
+  // suppression des fichiers temporaires
+  @rrmdir('temp');
+  
+  $BlockThumbnail['charlies_content'] = true;
+  $BlockNormal['charlies_content'] = true;
+  $BlockHigh['charlies_content'] = true;
+  
 } else if (in_arrayi($file['ext'], $CC_charlies_exts)) {
-	// copie le fichier
-	copy_log($FilesSource[$i], $FilesSortie[$i]);
-	
-	$BlockThumbnail['charlies_content'] = true;
-	$BlockNormal['charlies_content'] = true;
-	$BlockHigh['charlies_content'] = true;
+  // copie le fichier
+  copy_log($FilesSource[$i], $FilesSortie[$i]);
+  
+  $BlockThumbnail['charlies_content'] = true;
+  $BlockNormal['charlies_content'] = true;
+  $BlockHigh['charlies_content'] = true;
 }
 
Index: extensions/PHP_Optimisateur/plugins/charlies_content/setup.php
===================================================================
--- extensions/PHP_Optimisateur/plugins/charlies_content/setup.php	(revision 10479)
+++ extensions/PHP_Optimisateur/plugins/charlies_content/setup.php	(revision 12819)
@@ -3,44 +3,44 @@
 
 switch ($PLUGIN_ACTION) {
-	// Affichage simple de la configuration
-	case 'read_config':
-		// vérifie que ffmpeg est bien présent
-		if (!file_exists('include/ffmpeg.exe') AND $plugin_config['active']) {
-			$ERRORS['fatal'][] = 'charlies_content.error_ffmpeg';
-		}
-				
-		$PAGE['content'] .= '
-		<table>
-			<tr>
-				<td>'.l10n('charlies_content.video_time').' :</td>
-				<td>'.bool_to_string($plugin_config['video_time']).($plugin_config['video_time']!=='rand' ? ' sec':'om').'</td>
-			</tr>
-		</table>';
-		break;
-	
-	
-	// Actions avant enregistrement
-	case 'save_config':
-		if (!is_decimal($_POST['Plugins']['charlies_content']['video_time']) AND $_POST['Plugins']['charlies_content']['video_time'] != 'rand') {
-			$_POST['Plugins']['charlies_content']['video_time'] = 'rand';
-			$ERRORS['conf'][] = array(l10n('charlies_content.video_time'), 'must_be_integer');
-		}
+  // Affichage simple de la configuration
+  case 'read_config':
+    // vérifie que ffmpeg est bien présent
+    if (!file_exists('include/ffmpeg.exe') AND $plugin_config['active']) {
+      $ERRORS['fatal'][] = 'charlies_content.error_ffmpeg';
+    }
+        
+    $PAGE['content'] .= '
+    <table>
+      <tr>
+        <td>'.l10n('charlies_content.video_time').' :</td>
+        <td>'.bool_to_string($plugin_config['video_time']).($plugin_config['video_time']!=='rand' ? ' sec':'om').'</td>
+      </tr>
+    </table>';
+    break;
+  
+  
+  // Actions avant enregistrement
+  case 'save_config':
+    if (!is_decimal($_POST['Plugins']['charlies_content']['video_time']) AND $_POST['Plugins']['charlies_content']['video_time'] != 'rand') {
+      $_POST['Plugins']['charlies_content']['video_time'] = 'rand';
+      $ERRORS['conf'][] = array(l10n('charlies_content.video_time'), 'must_be_integer');
+    }
 
-		break;
+    break;
 
-		
-	// Formulaire d'édition
-	case 'edit_config':
-		$PAGE['content'] .='
-		<table>
-			<tr>
-				<td>'.l10n('charlies_content.video_time').' :</td>
-				<td>
-					<input type="text" name="Plugins[charlies_content][video_time]" value="'.$plugin_config['video_time'].'" size="3"/>sec
-					<i>'.l10n('charlies_content.rand').'</i>
-				</td>
-			</tr>
-		</table>';
-		break;
+    
+  // Formulaire d'édition
+  case 'edit_config':
+    $PAGE['content'] .='
+    <table>
+      <tr>
+        <td>'.l10n('charlies_content.video_time').' :</td>
+        <td>
+          <input type="text" name="Plugins[charlies_content][video_time]" value="'.$plugin_config['video_time'].'" size="3"/>sec
+          <i>'.l10n('charlies_content.rand').'</i>
+        </td>
+      </tr>
+    </table>';
+    break;
 } 
 ?>
Index: extensions/PHP_Optimisateur/plugins/convert_pan/main.php
===================================================================
--- extensions/PHP_Optimisateur/plugins/convert_pan/main.php	(revision 10479)
+++ extensions/PHP_Optimisateur/plugins/convert_pan/main.php	(revision 12819)
@@ -1,6 +1,6 @@
 <?php
 /***************************************\
-|			PHP OPTIMISATEUR			|
-|		  Plugin ConvertPan 1.3			|
+|            PHP OPTIMISATEUR           |
+|          Plugin ConvertPan 1.3        |
 \***************************************/
 
@@ -8,32 +8,32 @@
 ## Crée des miniatures rognées pour ne pas avoir de minuscules images
 
-$CP_namepanorama = $CONF['Plugins']['convert_pan']['NAMEpanorama']; 	// Suffixe des panoramas
-$CP_detectmode = $CONF['Plugins']['convert_pan']['DetectMode']; 		// Mode de détection
-$CP_dimpanorama = $CONF['Plugins']['convert_pan']['DIMpanorama']; 		// Hauteur des panoramas normaux
-$CP_ratiopan = $CONF['Plugins']['convert_pan']['RatioPan']; 			// Ratio des panoramas
-$CP_ratiopanthumb = $CONF['Plugins']['convert_pan']['RatioPanThumb']; 	// Ratio des miniatures
+$CP_namepanorama = $CONF['Plugins']['convert_pan']['NAMEpanorama'];   // Suffixe des panoramas
+$CP_detectmode = $CONF['Plugins']['convert_pan']['DetectMode'];       // Mode de détection
+$CP_dimpanorama = $CONF['Plugins']['convert_pan']['DIMpanorama'];     // Hauteur des panoramas normaux
+$CP_ratiopan = $CONF['Plugins']['convert_pan']['RatioPan'];           // Ratio des panoramas
+$CP_ratiopanthumb = $CONF['Plugins']['convert_pan']['RatioPanThumb']; // Ratio des miniatures
 
 if (!isset($BlockAll)) {
 
 if (
-	($CP_detectmode == 'name' AND strpos($file['name'],$CP_namepanorama) !== false) OR 
-	($CP_detectmode == 'ratio' AND $FileInfos['Width']/$FileInfos['Height'] >= $CP_ratiopan)
+  ($CP_detectmode == 'name' AND strpos($file['name'],$CP_namepanorama) !== false) OR 
+  ($CP_detectmode == 'ratio' AND $FileInfos['Width']/$FileInfos['Height'] >= $CP_ratiopan)
 ) {
 
-	if (!isset($BlockNormal) AND $CP_dimpanorama != 0) { 
-		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].'"');
-		$BlockNormal['convert_pan'] = true;
-	}
-	
-	if (!isset($BlockThumbnail) AND $CP_ratiopanthumb != 0) { 
-		$DIMthumbnailV = $CONF['DIMthumbnail']/$CP_ratiopanthumb;
-		
-		// on prend la miniature au milieu du panorama
-		$tmp_x = $FileInfos['Width'] * $DIMthumbnailV / $FileInfos['Height'];
-		$offset_x = ($tmp_x - $CONF['DIMthumbnail']) / 2;
-		
-		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].'"');
-		$BlockThumbnail['convert_pan'] = true;
-	}
+  if (!isset($BlockNormal) AND $CP_dimpanorama != 0) { 
+    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].'"');
+    $BlockNormal['convert_pan'] = true;
+  }
+  
+  if (!isset($BlockThumbnail) AND $CP_ratiopanthumb != 0) { 
+    $DIMthumbnailV = $CONF['DIMthumbnail']/$CP_ratiopanthumb;
+    
+    // on prend la miniature au milieu du panorama
+    $tmp_x = $FileInfos['Width'] * $DIMthumbnailV / $FileInfos['Height'];
+    $offset_x = ($tmp_x - $CONF['DIMthumbnail']) / 2;
+    
+    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].'"');
+    $BlockThumbnail['convert_pan'] = true;
+  }
 }
 
Index: extensions/PHP_Optimisateur/plugins/convert_pan/setup.php
===================================================================
--- extensions/PHP_Optimisateur/plugins/convert_pan/setup.php	(revision 10479)
+++ extensions/PHP_Optimisateur/plugins/convert_pan/setup.php	(revision 12819)
@@ -3,112 +3,112 @@
 
 switch ($PLUGIN_ACTION) {
-	// Affichage simple de la configuration
-	case 'read_config':
-		$PAGE['content'] .= '
-		<table>
-			<tr>
-				<td>'.l10n('convert_pan.DetectMode').' :</td>
-				<td>'.$plugin_config['DetectMode'].'</td>
-			</tr>';
-			
-			if ($plugin_config['DetectMode'] == 'name') {
-				$PAGE['content'] .= '
-				<tr>
-					<td>'.l10n('convert_pan.NAMEpanorama').' :</td>
-					<td>'.$plugin_config['NAMEpanorama'].'</td>
-				</tr>';
-			} else if ($plugin_config['DetectMode'] == 'ratio') {
-				$PAGE['content'] .= '
-				<tr>
-					<td>'.l10n('convert_pan.RatioPan').' :</td>
-					<td>'.$plugin_config['RatioPan'].'</td>
-				</tr>';
-			}
-			
-			$PAGE['content'] .= '
-			<tr>
-				<td>'.l10n('convert_pan.DIMpanorama').' :</td>
-				<td>'.$plugin_config['DIMpanorama'].' px</td>
-			</tr>
-			<tr>
-				<td>'.l10n('convert_pan.RatioPanThumb').' :</td>
-				<td>'.$plugin_config['RatioPanThumb'].'</td>
-			</tr>
-		</table>';
-		break;
-		
-	// Actions avant enregistrement
-	case 'save_config':
-		$_POST['Plugins']['convert_pan']['NAMEpanorama'] = delete_special_car($_POST['Plugins']['convert_pan']['NAMEpanorama']);
-		
-		if (!is_decimal($_POST['Plugins']['convert_pan']['DIMpanorama'])) {
-			$_POST['Plugins']['convert_pan']['DIMpanorama'] = 500;
-			$ERRORS['conf'][] = array(l10n('convert_pan.DIMpanorama'), 'must_be_integer');
-		}
-		if (!is_decimal($_POST['Plugins']['convert_pan']['RatioPanThumb'])) {
-			$_POST['Plugins']['convert_pan']['RatioPanThumb'] = 1.7;
-			$ERRORS['conf'][] = array(l10n('convert_pan.RatioPanThumb'), 'must_be_decimal');
-		}
-		if (!is_decimal($_POST['Plugins']['convert_pan']['RatioPan'])) {
-			$_POST['Plugins']['convert_pan']['RatioPan'] = 2.85;
-			$ERRORS['conf'][] = array(l10n('convert_pan.RatioPan'), 'must_be_decimal');
-		}
-		
-		break;
-		
-	// Formulaire d'édition
-	case 'edit_config':
-		$PAGE['content'] .= '
-		<script type="text/javascript">
-			function ToggleConfig(sel, section){
-				var obj = $("#convert_pan-tr-"+section);
-				if(sel.checked){
-					obj.show();
-				}else{
-					obj.hide();
-				}
-			}
-		</script>
-	
-		<table>
-			<tr>
-				<td>'.l10n('convert_pan.DetectMode').' :</td>
-				<td>
-					<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"':'').'/> 
-					<label for="convert_pan-radio-name">'.l10n('convert_pan.DetectMode.name').'</label>
-					<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"':'').'/> 
-					<label for="convert_pan-radio-ratio">'.l10n('convert_pan.DetectMode.ratio').'</label>
-				</td>
-			</tr>
-			<tr id="convert_pan-tr-name">
-				<td>'.l10n('convert_pan.NAMEpanorama').' :</td>
-				<td><input type="text" name="Plugins[convert_pan][NAMEpanorama]" value="'.$plugin_config['NAMEpanorama'].'" size="6"/></td>
-			</tr>
-			<tr id="convert_pan-tr-ratio">
-				<td>'.l10n('convert_pan.RatioPan').' :</td>
-				<td><input type="text" name="Plugins[convert_pan][RatioPan]" value="'.$plugin_config['RatioPan'].'" size="3"/>px</td>
-			</tr>
-			
-			<tr>
-				<td>'.l10n('convert_pan.DIMpanorama').' :</td>
-				<td>
-					<input type="text" name="Plugins[convert_pan][DIMpanorama]" value="'.$plugin_config['DIMpanorama'].'" size="3"/>px
-					<i>'.l10n('convert_pan.unactive').'</i>
-				</td>
-			</tr>
-			<tr>
-				<td>'.l10n('convert_pan.RatioPanThumb').' :</td>
-				<td>
-					<input type="text" name="Plugins[convert_pan][RatioPanThumb]" value="'.$plugin_config['RatioPanThumb'].'" size="3"/>
-					<i>'.l10n('convert_pan.unactive').'</i>
-				</td>
-			</tr>
-		</table>
-		
-		<script type="text/javascript">
-			ToggleConfig(document.forms[0].elements["Plugins[convert_pan][DetectMode]"][0], "name");
-			ToggleConfig(document.forms[0].elements["Plugins[convert_pan][DetectMode]"][1], "ratio");
-		</script>';
-		break;
+  // Affichage simple de la configuration
+  case 'read_config':
+    $PAGE['content'] .= '
+    <table>
+      <tr>
+        <td>'.l10n('convert_pan.DetectMode').' :</td>
+        <td>'.$plugin_config['DetectMode'].'</td>
+      </tr>';
+      
+      if ($plugin_config['DetectMode'] == 'name') {
+        $PAGE['content'] .= '
+        <tr>
+          <td>'.l10n('convert_pan.NAMEpanorama').' :</td>
+          <td>'.$plugin_config['NAMEpanorama'].'</td>
+        </tr>';
+      } else if ($plugin_config['DetectMode'] == 'ratio') {
+        $PAGE['content'] .= '
+        <tr>
+          <td>'.l10n('convert_pan.RatioPan').' :</td>
+          <td>'.$plugin_config['RatioPan'].'</td>
+        </tr>';
+      }
+      
+      $PAGE['content'] .= '
+      <tr>
+        <td>'.l10n('convert_pan.DIMpanorama').' :</td>
+        <td>'.$plugin_config['DIMpanorama'].' px</td>
+      </tr>
+      <tr>
+        <td>'.l10n('convert_pan.RatioPanThumb').' :</td>
+        <td>'.$plugin_config['RatioPanThumb'].'</td>
+      </tr>
+    </table>';
+    break;
+    
+  // Actions avant enregistrement
+  case 'save_config':
+    $_POST['Plugins']['convert_pan']['NAMEpanorama'] = delete_special_car($_POST['Plugins']['convert_pan']['NAMEpanorama']);
+    
+    if (!is_decimal($_POST['Plugins']['convert_pan']['DIMpanorama'])) {
+      $_POST['Plugins']['convert_pan']['DIMpanorama'] = 500;
+      $ERRORS['conf'][] = array(l10n('convert_pan.DIMpanorama'), 'must_be_integer');
+    }
+    if (!is_decimal($_POST['Plugins']['convert_pan']['RatioPanThumb'])) {
+      $_POST['Plugins']['convert_pan']['RatioPanThumb'] = 1.7;
+      $ERRORS['conf'][] = array(l10n('convert_pan.RatioPanThumb'), 'must_be_decimal');
+    }
+    if (!is_decimal($_POST['Plugins']['convert_pan']['RatioPan'])) {
+      $_POST['Plugins']['convert_pan']['RatioPan'] = 2.85;
+      $ERRORS['conf'][] = array(l10n('convert_pan.RatioPan'), 'must_be_decimal');
+    }
+    
+    break;
+    
+  // Formulaire d'édition
+  case 'edit_config':
+    $PAGE['content'] .= '
+    <script type="text/javascript">
+      function ToggleConfig(sel, section){
+        var obj = $("#convert_pan-tr-"+section);
+        if(sel.checked){
+          obj.show();
+        }else{
+          obj.hide();
+        }
+      }
+    </script>
+  
+    <table>
+      <tr>
+        <td>'.l10n('convert_pan.DetectMode').' :</td>
+        <td>
+          <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"':'').'/> 
+          <label for="convert_pan-radio-name">'.l10n('convert_pan.DetectMode.name').'</label>
+          <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"':'').'/> 
+          <label for="convert_pan-radio-ratio">'.l10n('convert_pan.DetectMode.ratio').'</label>
+        </td>
+      </tr>
+      <tr id="convert_pan-tr-name">
+        <td>'.l10n('convert_pan.NAMEpanorama').' :</td>
+        <td><input type="text" name="Plugins[convert_pan][NAMEpanorama]" value="'.$plugin_config['NAMEpanorama'].'" size="6"/></td>
+      </tr>
+      <tr id="convert_pan-tr-ratio">
+        <td>'.l10n('convert_pan.RatioPan').' :</td>
+        <td><input type="text" name="Plugins[convert_pan][RatioPan]" value="'.$plugin_config['RatioPan'].'" size="3"/>px</td>
+      </tr>
+      
+      <tr>
+        <td>'.l10n('convert_pan.DIMpanorama').' :</td>
+        <td>
+          <input type="text" name="Plugins[convert_pan][DIMpanorama]" value="'.$plugin_config['DIMpanorama'].'" size="3"/>px
+          <i>'.l10n('convert_pan.unactive').'</i>
+        </td>
+      </tr>
+      <tr>
+        <td>'.l10n('convert_pan.RatioPanThumb').' :</td>
+        <td>
+          <input type="text" name="Plugins[convert_pan][RatioPanThumb]" value="'.$plugin_config['RatioPanThumb'].'" size="3"/>
+          <i>'.l10n('convert_pan.unactive').'</i>
+        </td>
+      </tr>
+    </table>
+    
+    <script type="text/javascript">
+      ToggleConfig(document.forms[0].elements["Plugins[convert_pan][DetectMode]"][0], "name");
+      ToggleConfig(document.forms[0].elements["Plugins[convert_pan][DetectMode]"][1], "ratio");
+    </script>';
+    break;
 }
 ?>
Index: extensions/PHP_Optimisateur/plugins/create_custom_thumbs/main.php
===================================================================
--- extensions/PHP_Optimisateur/plugins/create_custom_thumbs/main.php	(revision 10479)
+++ extensions/PHP_Optimisateur/plugins/create_custom_thumbs/main.php	(revision 12819)
@@ -1,6 +1,6 @@
 <?php
 /***************************************\
-|			PHP OPTIMISATEUR			|
-|	  Plugin CreateCustomThumbs 1.1		|
+|            PHP OPTIMISATEUR           |
+|      Plugin CreateCustomThumbs 1.1    |
 \***************************************/
 
@@ -8,67 +8,67 @@
 ## Dépend de la valeur de $CONF['DIMthumbnail']
 
+if(!isset($CCT_filesource)) $CCT_filesource = $FilesSource[$i];                // fichier de travail
+$CCT_dimthumbnail = $CONF['Plugins']['create_custom_thumbs']['DIMthumbnailV']; // Hauteur de l'image
+$CCT_frameparams = $CONF['Plugins']['create_custom_thumbs']['FRAMEparams'];    // Paramètres du cadre
+
 if (!isset($BlockAll)) {
 
 // CreateCustomThumbs à la priorité sur ConvertPan
 if (isset($BlockThumbnail['convert_pan']) OR !isset($BlockThumbnail)) { 
+  
+  // Miniature de taille personnalisée
+  if ($CCT_dimthumbnail != 0) {
+    $max = max($CONF['DIMthumbnail'], $CCT_dimthumbnail);
 
-	if(!isset($CCT_filesource)) $CCT_filesource = $FilesSource[$i]; // fichier de travail
-	$CCT_dimthumbnail = $CONF['Plugins']['create_custom_thumbs']['DIMthumbnailV']; // Hauteur de l'image
-	$CCT_frameparams = $CONF['Plugins']['create_custom_thumbs']['FRAMEparams']; // Paramètres du cadre
-	
-	// Miniature de taille personnalisée
-	if ($CCT_dimthumbnail != 0) {
-		$max = max($CONF['DIMthumbnail'], $CCT_dimthumbnail);
+    // on prend la miniature au milieu de l'image
+    if ($FileInfos['Height'] >= $FileInfos['Width']) {
+      $resize_param = $max.' 0';
+      $tmp_x = $max;
+      $tmp_y = $max * $FileInfos['Height'] / $FileInfos['Width'];
+    } else {
+      $resize_param = '0 '.$max;
+      $tmp_x = $max * $FileInfos['Width'] / $FileInfos['Height'];
+      $tmp_y = $max;
+    }
+    
+    $offset_x = ceil(($tmp_x - $CONF['DIMthumbnail']) / 2);
+    $offset_y = ceil(($tmp_y - $CCT_dimthumbnail) / 2);
+    
+    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.'"');
+    
+    $BlockThumbnail['create_custom_thumbs'] = true;
+    $CCT_filesource = $file['folder_out'].'thumbnail/'.$CONF['prefixe_mini'].$file['name'].'.jpg';
+  }
 
-		// on prend la miniature au milieu de l'image
-		if ($FileInfos['Height'] >= $FileInfos['Width']) {
-			$resize_param = $max.' 0';
-			$tmp_x = $max;
-			$tmp_y = $max * $FileInfos['Height'] / $FileInfos['Width'];
-		} else {
-			$resize_param = '0 '.$max;
-			$tmp_x = $max * $FileInfos['Width'] / $FileInfos['Height'];
-			$tmp_y = $max;
-		}
-		
-		$offset_x = ceil(($tmp_x - $CONF['DIMthumbnail']) / 2);
-		$offset_y = ceil(($tmp_y - $CCT_dimthumbnail) / 2);
-		
-		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.'"');
-		
-		$BlockThumbnail['create_custom_thumbs'] = true;
-		$CCT_filesource = $file['folder_out'].'thumbnail/'.$CONF['prefixe_mini'].$file['name'].'.jpg';
-	}
+  // Cadre autour de la miniature
+  if ($CCT_frameparams['size1'] != 0 OR $CCT_frameparams['size2'] != 0) {
+    // Si la miniature n'a pas encore été générée il faut le faire
+    if ($CCT_filesource == $FilesSource[$i]) {
+      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].'"');
+      $CCT_filesource = $file['folder_out'].'thumbnail/'.$CONF['prefixe_mini'].$file['name'].'.jpg';
+    }
 
-	// Cadre autour de la miniature
-	if ($CCT_frameparams['size1'] != 0 OR $CCT_frameparams['size2'] != 0) {
-		// Si la miniature n'a pas encore été générée il faut le faire
-		if ($CCT_filesource == $FilesSource[$i]) {
-			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].'"');
-			$CCT_filesource = $file['folder_out'].'thumbnail/'.$CONF['prefixe_mini'].$file['name'].'.jpg';
-		}
+    $img = imagecreatefromjpeg($CCT_filesource);
+    $x = imagesx($img)-1;
+    $y = imagesy($img)-1;
+    
+    $colors[0] = hex2RGB($CCT_frameparams['color1']);
+    $colors[1] = hex2RGB($CCT_frameparams['color2']);
+    $colors[0] = imagecolorallocate($img, $colors[0]['r'], $colors[0]['g'], $colors[0]['b']);
+    $colors[1] = imagecolorallocate($img, $colors[1]['r'], $colors[1]['g'], $colors[1]['b']);
 
-		$img = imagecreatefromjpeg($CCT_filesource);
-		$x = imagesx($img)-1;
-		$y = imagesy($img)-1;
-		
-		$colors[0] = hex2RGB($CCT_frameparams['color1']);
-		$colors[1] = hex2RGB($CCT_frameparams['color2']);
-		$colors[0] = imagecolorallocate($img, $colors[0]['r'], $colors[0]['g'], $colors[0]['b']);
-		$colors[1] = imagecolorallocate($img, $colors[1]['r'], $colors[1]['g'], $colors[1]['b']);
-
-		for ($m=0; $m<$CCT_frameparams['size1']; $m++) {
-			imagerectangle($img, $m, $m, $x-$m, $y-$m, $colors[0]);
-		}
-		for ($m=$CCT_frameparams['size1']; $m<$CCT_frameparams['size1']+$CCT_frameparams['size2']; $m++) {
-			imagerectangle($img, $m, $m, $x-$m, $y-$m, $colors[1]);
-		}
-		
-		imagejpeg($img, $file['folder_out'].'thumbnail/'.$CONF['prefixe_mini'].$file['name'].'.jpg', $CONF['Qthumbnail']);
-		imagedestroy($img);
-		
-		$BlockThumbnail['create_custom_thumbs'] = true;
-		$CCT_filesource = $file['folder_out'].'thumbnail/'.$CONF['prefixe_mini'].$file['name'].'.jpg';
-	}
+    for ($m=0; $m<$CCT_frameparams['size1']; $m++) {
+      imagerectangle($img, $m, $m, $x-$m, $y-$m, $colors[0]);
+    }
+    for ($m=$CCT_frameparams['size1']; $m<$CCT_frameparams['size1']+$CCT_frameparams['size2']; $m++) {
+      imagerectangle($img, $m, $m, $x-$m, $y-$m, $colors[1]);
+    }
+    
+    imagejpeg($img, $file['folder_out'].'thumbnail/'.$CONF['prefixe_mini'].$file['name'].'.jpg', $CONF['Qthumbnail']);
+    imagedestroy($img);
+    
+    $BlockThumbnail['create_custom_thumbs'] = true;
+    $CCT_filesource = $file['folder_out'].'thumbnail/'.$CONF['prefixe_mini'].$file['name'].'.jpg';
+  }
 }
 
Index: extensions/PHP_Optimisateur/plugins/create_custom_thumbs/setup.php
===================================================================
--- extensions/PHP_Optimisateur/plugins/create_custom_thumbs/setup.php	(revision 10479)
+++ extensions/PHP_Optimisateur/plugins/create_custom_thumbs/setup.php	(revision 12819)
@@ -3,100 +3,100 @@
 
 switch ($PLUGIN_ACTION) {
-	// Affichage simple de la configuration
-	case 'read_config':
-		$plugin_config['FRAMEparams']['color1'] = nice_hex_color($plugin_config['FRAMEparams']['color1']);
-		$plugin_config['FRAMEparams']['color2'] = nice_hex_color($plugin_config['FRAMEparams']['color2']);
-		
-		$PAGE['content'] .= '
-		<table>
-			<tr>
-				<td>'.l10n('create_custom_thumbs.DIMthumbnailV').' :</td>
-				<td>'.bool_to_string($plugin_config['DIMthumbnailV']).' px</td>
-			</tr>
-			<tr>
-				<td>'.l10n('create_custom_thumbs.FRAMEparams').' 1 :</td>
-				<td>
-					#'.$plugin_config['FRAMEparams']['color1'].'
-					<span class="color-display" style="background-color:#'.nice_hex_color($plugin_config['FRAMEparams']['color1']).';">&nbsp;</span>
-					'.$plugin_config['FRAMEparams']['size1'].'px
-				</td>
-			</tr>
-			<tr>
-				<td>'.l10n('create_custom_thumbs.FRAMEparams').' 2 :</td>
-				<td>
-					#'.$plugin_config['FRAMEparams']['color2'].'
-					<span class="color-display" style="background-color:#'.nice_hex_color($plugin_config['FRAMEparams']['color2']).';">&nbsp;</span>
-					'.$plugin_config['FRAMEparams']['size2'].'px
-				</td>
-			</tr>
-		</table>';
-		break;
-	
-	
-	// Actions avant enregistrement
-	case 'save_config':
-		$_POST['Plugins']['create_custom_thumbs']['FRAMEparams']['color1'] = str_replace('#',null, $_POST['Plugins']['create_custom_thumbs']['FRAMEparams']['color1']);
-		$_POST['Plugins']['create_custom_thumbs']['FRAMEparams']['color2'] = str_replace('#',null, $_POST['Plugins']['create_custom_thumbs']['FRAMEparams']['color2']);
-		
-		if (!is_decimal($_POST['Plugins']['create_custom_thumbs']['DIMthumbnailV'])) {
-			$_POST['Plugins']['create_custom_thumbs']['DIMthumbnailV'] = 0;
-			$ERRORS['conf'][] = array(l10n('create_custom_thumbs.DIMthumbnailV'), 'must_be_integer');
-		}
-		if (!is_decimal($_POST['Plugins']['create_custom_thumbs']['FRAMEparams']['size1'])) {
-			$_POST['Plugins']['create_custom_thumbs']['FRAMEparams']['size1'] = 0;
-			$ERRORS['conf'][] = array(l10n('create_custom_thumbs.FRAMEparams').' 1', 'must_be_integer');
-		}
-		if (!is_decimal($_POST['Plugins']['create_custom_thumbs']['FRAMEparams']['size2'])) {
-			$_POST['Plugins']['create_custom_thumbs']['FRAMEparams']['size2'] = 0;
-			$ERRORS['conf'][] = array(l10n('create_custom_thumbs.FRAMEparams').' 2', 'must_be_integer');
-		}
-		
-		break;
+  // Affichage simple de la configuration
+  case 'read_config':
+    $plugin_config['FRAMEparams']['color1'] = nice_hex_color($plugin_config['FRAMEparams']['color1']);
+    $plugin_config['FRAMEparams']['color2'] = nice_hex_color($plugin_config['FRAMEparams']['color2']);
+    
+    $PAGE['content'] .= '
+    <table>
+      <tr>
+        <td>'.l10n('create_custom_thumbs.DIMthumbnailV').' :</td>
+        <td>'.bool_to_string($plugin_config['DIMthumbnailV']).' px</td>
+      </tr>
+      <tr>
+        <td>'.l10n('create_custom_thumbs.FRAMEparams').' 1 :</td>
+        <td>
+          #'.$plugin_config['FRAMEparams']['color1'].'
+          <span class="color-display" style="background-color:#'.nice_hex_color($plugin_config['FRAMEparams']['color1']).';">&nbsp;</span>
+          '.$plugin_config['FRAMEparams']['size1'].'px
+        </td>
+      </tr>
+      <tr>
+        <td>'.l10n('create_custom_thumbs.FRAMEparams').' 2 :</td>
+        <td>
+          #'.$plugin_config['FRAMEparams']['color2'].'
+          <span class="color-display" style="background-color:#'.nice_hex_color($plugin_config['FRAMEparams']['color2']).';">&nbsp;</span>
+          '.$plugin_config['FRAMEparams']['size2'].'px
+        </td>
+      </tr>
+    </table>';
+    break;
+  
+  
+  // Actions avant enregistrement
+  case 'save_config':
+    $_POST['Plugins']['create_custom_thumbs']['FRAMEparams']['color1'] = str_replace('#',null, $_POST['Plugins']['create_custom_thumbs']['FRAMEparams']['color1']);
+    $_POST['Plugins']['create_custom_thumbs']['FRAMEparams']['color2'] = str_replace('#',null, $_POST['Plugins']['create_custom_thumbs']['FRAMEparams']['color2']);
+    
+    if (!is_decimal($_POST['Plugins']['create_custom_thumbs']['DIMthumbnailV'])) {
+      $_POST['Plugins']['create_custom_thumbs']['DIMthumbnailV'] = 0;
+      $ERRORS['conf'][] = array(l10n('create_custom_thumbs.DIMthumbnailV'), 'must_be_integer');
+    }
+    if (!is_decimal($_POST['Plugins']['create_custom_thumbs']['FRAMEparams']['size1'])) {
+      $_POST['Plugins']['create_custom_thumbs']['FRAMEparams']['size1'] = 0;
+      $ERRORS['conf'][] = array(l10n('create_custom_thumbs.FRAMEparams').' 1', 'must_be_integer');
+    }
+    if (!is_decimal($_POST['Plugins']['create_custom_thumbs']['FRAMEparams']['size2'])) {
+      $_POST['Plugins']['create_custom_thumbs']['FRAMEparams']['size2'] = 0;
+      $ERRORS['conf'][] = array(l10n('create_custom_thumbs.FRAMEparams').' 2', 'must_be_integer');
+    }
+    
+    break;
 
-		
-	// Formulaire d'édition
-	case 'edit_config':
-		$plugin_config['FRAMEparams']['color1'] = nice_hex_color($plugin_config['FRAMEparams']['color1']);
-		$plugin_config['FRAMEparams']['color2'] = nice_hex_color($plugin_config['FRAMEparams']['color2']);
-		
-		$PAGE['content'] .='
-		<table>
-			<tr>
-				<td>'.l10n('create_custom_thumbs.DIMthumbnailV').' :</td>
-				<td>
-					<input type="text" name="Plugins[create_custom_thumbs][DIMthumbnailV]" value="'.$plugin_config['DIMthumbnailV'].'" size="3"/>px
-					<i>'.l10n('create_custom_thumbs.unactive').'</i>
-				</td>
-			</tr>
-			<tr>
-				<td>'.l10n('create_custom_thumbs.FRAMEparams').' 1 :</td>
-				<td>
-					<input type="text" id="CCT-color1" name="Plugins[create_custom_thumbs][FRAMEparams][color1]" value="'.$plugin_config['FRAMEparams']['color1'].'" size="6"/>
-					<input type="text" name="Plugins[create_custom_thumbs][FRAMEparams][size1]" value="'.$plugin_config['FRAMEparams']['size1'].'" size="1"/>px
-					<i>'.l10n('create_custom_thumbs.unactive').'</i>
-				</td>
-			</tr>
-			<tr>
-				<td>'.l10n('create_custom_thumbs.FRAMEparams').' 2 :</td>
-				<td>
-					<input type="text" id="CCT-color2" name="Plugins[create_custom_thumbs][FRAMEparams][color2]" value="'.$plugin_config['FRAMEparams']['color2'].'" size="6"/>
-					<input type="text" name="Plugins[create_custom_thumbs][FRAMEparams][size2]" value="'.$plugin_config['FRAMEparams']['size2'].'" size="1"/>px
-					<i>'.l10n('create_custom_thumbs.unactive').'</i>
-				</td>
-			</tr>
-			<script type="text/javascript">
-				$("#CCT-color1").ColorPicker({
-					onSubmit: function(hsb, hex, rgb, el) { $(el).val(hex); $(el).ColorPickerHide(); },
-					onChange: function(hsb, hex, rgb, el) { $("#CCT-color1").val(hex); },
-					onBeforeShow: function () { $(this).ColorPickerSetColor(this.value); }
-				}) .bind("keyup", function(){ $(this).ColorPickerSetColor(this.value); });
-				$("#CCT-color2").ColorPicker({
-					onSubmit: function(hsb, hex, rgb, el) { $(el).val(hex); (el).ColorPickerHide(); },
-					onChange: function(hsb, hex, rgb, el) { $("#CCT-color2").val(hex); },
-					onBeforeShow: function () { $(this).ColorPickerSetColor(this.value); }
-				}) .bind("keyup", function(){ $(this).ColorPickerSetColor(this.value); });
-			</script>
-		</table>';
-		break;
+    
+  // Formulaire d'édition
+  case 'edit_config':
+    $plugin_config['FRAMEparams']['color1'] = nice_hex_color($plugin_config['FRAMEparams']['color1']);
+    $plugin_config['FRAMEparams']['color2'] = nice_hex_color($plugin_config['FRAMEparams']['color2']);
+    
+    $PAGE['content'] .='
+    <table>
+      <tr>
+        <td>'.l10n('create_custom_thumbs.DIMthumbnailV').' :</td>
+        <td>
+          <input type="text" name="Plugins[create_custom_thumbs][DIMthumbnailV]" value="'.$plugin_config['DIMthumbnailV'].'" size="3"/>px
+          <i>'.l10n('create_custom_thumbs.unactive').'</i>
+        </td>
+      </tr>
+      <tr>
+        <td>'.l10n('create_custom_thumbs.FRAMEparams').' 1 :</td>
+        <td>
+          <input type="text" id="CCT-color1" name="Plugins[create_custom_thumbs][FRAMEparams][color1]" value="'.$plugin_config['FRAMEparams']['color1'].'" size="6"/>
+          <input type="text" name="Plugins[create_custom_thumbs][FRAMEparams][size1]" value="'.$plugin_config['FRAMEparams']['size1'].'" size="1"/>px
+          <i>'.l10n('create_custom_thumbs.unactive').'</i>
+        </td>
+      </tr>
+      <tr>
+        <td>'.l10n('create_custom_thumbs.FRAMEparams').' 2 :</td>
+        <td>
+          <input type="text" id="CCT-color2" name="Plugins[create_custom_thumbs][FRAMEparams][color2]" value="'.$plugin_config['FRAMEparams']['color2'].'" size="6"/>
+          <input type="text" name="Plugins[create_custom_thumbs][FRAMEparams][size2]" value="'.$plugin_config['FRAMEparams']['size2'].'" size="1"/>px
+          <i>'.l10n('create_custom_thumbs.unactive').'</i>
+        </td>
+      </tr>
+      <script type="text/javascript">
+        $("#CCT-color1").ColorPicker({
+          onSubmit: function(hsb, hex, rgb, el) { $(el).val(hex); $(el).ColorPickerHide(); },
+          onChange: function(hsb, hex, rgb, el) { $("#CCT-color1").val(hex); },
+          onBeforeShow: function () { $(this).ColorPickerSetColor(this.value); }
+        }) .bind("keyup", function(){ $(this).ColorPickerSetColor(this.value); });
+        $("#CCT-color2").ColorPicker({
+          onSubmit: function(hsb, hex, rgb, el) { $(el).val(hex); (el).ColorPickerHide(); },
+          onChange: function(hsb, hex, rgb, el) { $("#CCT-color2").val(hex); },
+          onBeforeShow: function () { $(this).ColorPickerSetColor(this.value); }
+        }) .bind("keyup", function(){ $(this).ColorPickerSetColor(this.value); });
+      </script>
+    </table>';
+    break;
 } 
 ?>
Index: extensions/PHP_Optimisateur/plugins/create_folders_alpha/main.php
===================================================================
--- extensions/PHP_Optimisateur/plugins/create_folders_alpha/main.php	(revision 10479)
+++ extensions/PHP_Optimisateur/plugins/create_folders_alpha/main.php	(revision 12819)
@@ -1,6 +1,6 @@
 <?php
 /***************************************\
-|			PHP OPTIMISATEUR			|
-|	  Plugin CreateFoldersAlpha 1.2		|
+|            PHP OPTIMISATEUR           |
+|      Plugin CreateFoldersAlpha 1.2    |
 \***************************************/
 
@@ -11,24 +11,24 @@
 
 while ($file = readdir($handle)) {
-	if ($file != '.' && $file != '..' && !is_dir($CONF['DIRsource'].'/'.$file)) {
-		// Récupère le parties du nom servant à créer les dossiers
-		if (preg_match('#^(.{1})([^_.]*)_(.*)#', $file, $matches)) {
-			$Letter = strtoupper($matches[1]);
-			$FolderName = $matches[1].$matches[2];
+  if ($file != '.' && $file != '..' && !is_dir($CONF['DIRsource'].'/'.$file)) {
+    // Récupère le parties du nom servant à créer les dossiers
+    if (preg_match('#^(.{1})([^_.]*)_(.*)#', $file, $matches)) {
+      $Letter = strtoupper($matches[1]);
+      $FolderName = $matches[1].$matches[2];
 
-			// Crée les dossier
-			if (!file_exists($CONF['DIRsource'].$Letter.'/'.$FolderName)) {
-				mkdir_log($CONF['DIRsource'].$Letter.'/'.$FolderName);
-			}
-			
-			// Déplace le fichier
-			rename_log($CONF['DIRsource'].$file, $CONF['DIRsource'].$Letter.'/'.$FolderName.'/'.$file, true);
-		
-		} else {
-			$LOG[] = 'The file '.$CONF['DIRsource'].$file.' doesn\'t match the patern #^(.{1})([^_.]*)_(.*)#, not moved';
-		}
-		
-		$done = true;
-	}
+      // Crée les dossier
+      if (!file_exists($CONF['DIRsource'].$Letter.'/'.$FolderName)) {
+        mkdir_log($CONF['DIRsource'].$Letter.'/'.$FolderName);
+      }
+      
+      // Déplace le fichier
+      rename_log($CONF['DIRsource'].$file, $CONF['DIRsource'].$Letter.'/'.$FolderName.'/'.$file, true);
+    
+    } else {
+      $LOG[] = 'The file '.$CONF['DIRsource'].$file.' doesn\'t match the patern #^(.{1})([^_.]*)_(.*)#, not moved';
+    }
+    
+    $done = true;
+  }
 }
 
Index: extensions/PHP_Optimisateur/plugins/front2back_support/main.php
===================================================================
--- extensions/PHP_Optimisateur/plugins/front2back_support/main.php	(revision 10479)
+++ extensions/PHP_Optimisateur/plugins/front2back_support/main.php	(revision 12819)
@@ -1,6 +1,6 @@
 <?php
 /***************************************\
-|			PHP OPTIMISATEUR			|
-|	  Plugin Front2Back Support 1.2		|
+|            PHP OPTIMISATEUR           |
+|     Plugin Front2Back Support 1.2     |
 \***************************************/
 
@@ -17,57 +17,57 @@
 // applique le tag au fichier normal si il existe un verso
 if (file_exists($file['folder_src'].$file['name'].$F2B_nameverso.'.'.$file['ext']) AND !empty($F2B_tagverso)) {
-	nconvert('-iptc_add 25 "'.$F2B_tagverso.'" "'.$FilesSource[$i].'"');
-	$LOG[] = 'Tag "'.$F2B_tagverso.'" added to '.$FilesSource[$i];
+  nconvert('-iptc_add 25 "'.$F2B_tagverso.'" "'.$FilesSource[$i].'"');
+  $LOG[] = 'Tag "'.$F2B_tagverso.'" added to '.$FilesSource[$i];
 }
 
 if (strpos($file['name'], $F2B_nameverso) !== false) {
-	$file['name_clean'] = str_replace($F2B_nameverso,null,$file['name']);
-	
-	if (!empty($F2B_tagverso)) {
-		nconvert('-iptc_add 25 "'.$F2B_tagverso.'" "'.$FilesSource[$i].'"');
-		$LOG[] = 'Tag "'.$F2B_tagverso.'" added to '.$FilesSource[$i];
-	}
-	
-	// Image normale
-	if (!file_exists($file['folder_out'].'thumbnail/verso')) {
-		mkdir_log($file['folder_out'].'thumbnail/verso');
-	}
-	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].'"');
-	
-	// Image hd
-	if ($CONF['DIRhighORNOT']) {
-		if (!file_exists($file['folder_out'].'pwg_high/verso')) {
-			mkdir($file['folder_out'].'pwg_high/verso');
-			$LOG[] = 'Dir '.$file['folder_out'].'pwg_high/verso/ created';
-		}
-		if ($CONF['DIMhdORNOT']) {
-			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].'"');
-		} else if (strtolower($file['ext']) != 'jpg') {
-			nconvert('-q '.$CONF['Qhd'].' -out jpeg -o "'.$file['folder_out'].'pwg_high/'.$file['name_clean'].'.jpg" "'.$FilesSource[$i].'"');
-		} else {
-			copy_log($FilesSource[$i], $file['folder_out'].'pwg_high/verso/'.$file['name_clean'].'.jpg');
-		}
-	}
-	
-	// Déplacement de l'image originale
-	if ($F2B_moveverso) {
-		if (!file_exists($file['folder_src'].'verso')) {
-			mkdir_log($file['folder_src'].'verso', 0777, true);
-		}
-		rename_log($file['folder_src'].$file['name'].'.'.$file['ext'], $file['folder_src'].'verso/'.$file['name_clean'].'.'.$file['ext'], true);
-	}
-	
-	// Suppression de la miniature si déjà crée (par un autre plugin)
-	if (file_exists($file['folder_out'].'thumbnail/'.$CONF['prefixe_mini'].$file['name'].'.jpg')) {
-		unlink($file['folder_out'].'thumbnail/'.$CONF['prefixe_mini'].$file['name'].'.jpg');
-	}
-	// Suppression de l'image HD si déjà crée (par un autre plugin)
-	if (file_exists($file['folder_out'].'pwg_high/'.$file['name'].'.jpg')) {
-		unlink($file['folder_out'].'pwg_high/'.$file['name'].'.jpg');
-	}
-	
-	$BlockNormal['front2back_support'] = true;
-	$BlockThumbnail['front2back_support'] = true;
-	$BlockHigh['front2back_support'] = true;
+  $file['name_clean'] = str_replace($F2B_nameverso,null,$file['name']);
+  
+  if (!empty($F2B_tagverso)) {
+    nconvert('-iptc_add 25 "'.$F2B_tagverso.'" "'.$FilesSource[$i].'"');
+    $LOG[] = 'Tag "'.$F2B_tagverso.'" added to '.$FilesSource[$i];
+  }
+  
+  // Image normale
+  if (!file_exists($file['folder_out'].'thumbnail/verso')) {
+    mkdir_log($file['folder_out'].'thumbnail/verso');
+  }
+  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].'"');
+  
+  // Image hd
+  if ($CONF['DIRhighORNOT']) {
+    if (!file_exists($file['folder_out'].'pwg_high/verso')) {
+      mkdir($file['folder_out'].'pwg_high/verso');
+      $LOG[] = 'Dir '.$file['folder_out'].'pwg_high/verso/ created';
+    }
+    if ($CONF['DIMhdORNOT']) {
+      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].'"');
+    } else if (strtolower($file['ext']) != 'jpg') {
+      nconvert('-q '.$CONF['Qhd'].' -out jpeg -o "'.$file['folder_out'].'pwg_high/'.$file['name_clean'].'.jpg" "'.$FilesSource[$i].'"');
+    } else {
+      copy_log($FilesSource[$i], $file['folder_out'].'pwg_high/verso/'.$file['name_clean'].'.jpg');
+    }
+  }
+  
+  // Déplacement de l'image originale
+  if ($F2B_moveverso) {
+    if (!file_exists($file['folder_src'].'verso')) {
+      mkdir_log($file['folder_src'].'verso', 0777, true);
+    }
+    rename_log($file['folder_src'].$file['name'].'.'.$file['ext'], $file['folder_src'].'verso/'.$file['name_clean'].'.'.$file['ext'], true);
+  }
+  
+  // Suppression de la miniature si déjà crée (par un autre plugin)
+  if (file_exists($file['folder_out'].'thumbnail/'.$CONF['prefixe_mini'].$file['name'].'.jpg')) {
+    unlink($file['folder_out'].'thumbnail/'.$CONF['prefixe_mini'].$file['name'].'.jpg');
+  }
+  // Suppression de l'image HD si déjà crée (par un autre plugin)
+  if (file_exists($file['folder_out'].'pwg_high/'.$file['name'].'.jpg')) {
+    unlink($file['folder_out'].'pwg_high/'.$file['name'].'.jpg');
+  }
+  
+  $BlockNormal['front2back_support'] = true;
+  $BlockThumbnail['front2back_support'] = true;
+  $BlockHigh['front2back_support'] = true;
 }
 
Index: extensions/PHP_Optimisateur/plugins/front2back_support/setup.php
===================================================================
--- extensions/PHP_Optimisateur/plugins/front2back_support/setup.php	(revision 10479)
+++ extensions/PHP_Optimisateur/plugins/front2back_support/setup.php	(revision 12819)
@@ -3,54 +3,54 @@
 
 switch ($PLUGIN_ACTION) {
-	// Affichage simple de la configuration
-	case 'read_config':
-		$PAGE['content'] .= '
-		<table>
-			<tr>
-				<td>'.l10n('front2back_support.NAMEverso').' :</td>
-				<td>'.$plugin_config['NAMEverso'].'</td>
-			</tr>
-			<tr>
-				<td>'.l10n('front2back_support.MOVEverso').' :</td>
-				<td>'.bool_to_string($plugin_config['MOVEverso']).'</td>
-			</tr>
-			<tr>
-				<td>'.l10n('front2back_support.TAGverso').' :</td>
-				<td>'.$plugin_config['TAGverso'].'</td>
-			</tr>
-		</table>';
-		break;
-		
-	// Actions avant enregistrement
-	case 'save_config':
-		$_POST['Plugins']['front2back_support']['NAMEverso'] = delete_special_car($_POST['Plugins']['front2back_support']['NAMEverso']);
-		break;
-		
-	// Formulaire d'édition
-	case 'edit_config':
-		$PAGE['content'] .= '
-		<table>
-			<tr>
-				<td>'.l10n('front2back_support.NAMEverso').' :</td>
-				<td><input type="text" name="Plugins[front2back_support][NAMEverso]" value="'.$plugin_config['NAMEverso'].'" size="6"/></td>
-			</tr>
-			<tr>
-				<td>'.l10n('front2back_support.MOVEverso').' :</td>
-				<td>
-					<input type="radio" id="front2back_support-move1" name="Plugins[front2back_support][MOVEverso]" value="true" '.(($plugin_config['MOVEverso'])?'checked="checked"':'').'/> 
-					<label for="front2back_support-move1">'.l10n('yes').'</label>
-					<input type="radio" id="front2back_support-move2" name="Plugins[front2back_support][MOVEverso]" value="false" '.((!$plugin_config['MOVEverso'])?'checked="checked"':'').'/> 
-					<label for="front2back_support-move2">'.l10n('no').'</label>
-				</td>
-			</tr>
-			<tr>
-				<td>'.l10n('front2back_support.TAGverso').' :</td>
-				<td>
-					<input type="text" name="Plugins[front2back_support][TAGverso]" value="'.$plugin_config['TAGverso'].'" size="10"/>
-					<i>'.l10n('front2back_support.unactive').'</i>
-				</td>
-			</tr>
-		</table>';
-		break;
+  // Affichage simple de la configuration
+  case 'read_config':
+    $PAGE['content'] .= '
+    <table>
+      <tr>
+        <td>'.l10n('front2back_support.NAMEverso').' :</td>
+        <td>'.$plugin_config['NAMEverso'].'</td>
+      </tr>
+      <tr>
+        <td>'.l10n('front2back_support.MOVEverso').' :</td>
+        <td>'.bool_to_string($plugin_config['MOVEverso']).'</td>
+      </tr>
+      <tr>
+        <td>'.l10n('front2back_support.TAGverso').' :</td>
+        <td>'.$plugin_config['TAGverso'].'</td>
+      </tr>
+    </table>';
+    break;
+    
+  // Actions avant enregistrement
+  case 'save_config':
+    $_POST['Plugins']['front2back_support']['NAMEverso'] = delete_special_car($_POST['Plugins']['front2back_support']['NAMEverso']);
+    break;
+    
+  // Formulaire d'édition
+  case 'edit_config':
+    $PAGE['content'] .= '
+    <table>
+      <tr>
+        <td>'.l10n('front2back_support.NAMEverso').' :</td>
+        <td><input type="text" name="Plugins[front2back_support][NAMEverso]" value="'.$plugin_config['NAMEverso'].'" size="6"/></td>
+      </tr>
+      <tr>
+        <td>'.l10n('front2back_support.MOVEverso').' :</td>
+        <td>
+          <input type="radio" id="front2back_support-move1" name="Plugins[front2back_support][MOVEverso]" value="true" '.(($plugin_config['MOVEverso'])?'checked="checked"':'').'/> 
+          <label for="front2back_support-move1">'.l10n('yes').'</label>
+          <input type="radio" id="front2back_support-move2" name="Plugins[front2back_support][MOVEverso]" value="false" '.((!$plugin_config['MOVEverso'])?'checked="checked"':'').'/> 
+          <label for="front2back_support-move2">'.l10n('no').'</label>
+        </td>
+      </tr>
+      <tr>
+        <td>'.l10n('front2back_support.TAGverso').' :</td>
+        <td>
+          <input type="text" name="Plugins[front2back_support][TAGverso]" value="'.$plugin_config['TAGverso'].'" size="10"/>
+          <i>'.l10n('front2back_support.unactive').'</i>
+        </td>
+      </tr>
+    </table>';
+    break;
 }
 ?>
Index: extensions/PHP_Optimisateur/plugins/watermark/main.php
===================================================================
--- extensions/PHP_Optimisateur/plugins/watermark/main.php	(revision 10479)
+++ extensions/PHP_Optimisateur/plugins/watermark/main.php	(revision 12819)
@@ -1,6 +1,6 @@
 <?php
 /***************************************\
-|			PHP OPTIMISATEUR			|
-|		  Plugin Watermark 1.1			|
+|            PHP OPTIMISATEUR           |
+|          Plugin Watermark 1.1         |
 \***************************************/
 
@@ -8,15 +8,15 @@
 ## Dépend des valeurs de $CONF['copyONhd'], $CONF['copyONnormal'] et $CONF['copyPOS']
 
-$WM_waterfile = $CONF['Plugins']['watermark']['waterFILE']; // Fichier à incruster
+$WM_waterfile = $CONF['Plugins']['watermark']['waterFILE'];   // Fichier à incruster
 $WM_wateralpha = $CONF['Plugins']['watermark']['waterALPHA']; // Opacité
 
 if (file_exists($WM_waterfile)) {
-	if ($CONF['copyONhd']) {
-		$CONF['copyHD'] = '-wmfile "'.$WM_waterfile.'" -wmflag '.$CONF['copyPOS'].' -wmpos 0 0 -wmopacity '.$WM_wateralpha.'';
-	}
-	
-	if ($CONF['copyONnormal']) {
-		$CONF['copyNormal'] = '-wmfile "'.$WM_waterfile.'" -wmflag '.$CONF['copyPOS'].' -wmpos 0 0 -wmopacity '.$WM_wateralpha.'';
-	}
+  if ($CONF['copyONhd']) {
+    $CONF['copyHD'] = '-wmfile "'.$WM_waterfile.'" -wmflag '.$CONF['copyPOS'].' -wmpos 0 0 -wmopacity '.$WM_wateralpha.'';
+  }
+  
+  if ($CONF['copyONnormal']) {
+    $CONF['copyNormal'] = '-wmfile "'.$WM_waterfile.'" -wmflag '.$CONF['copyPOS'].' -wmpos 0 0 -wmopacity '.$WM_wateralpha.'';
+  }
 }
 ?>
Index: extensions/PHP_Optimisateur/plugins/watermark/setup.php
===================================================================
--- extensions/PHP_Optimisateur/plugins/watermark/setup.php	(revision 10479)
+++ extensions/PHP_Optimisateur/plugins/watermark/setup.php	(revision 12819)
@@ -3,42 +3,42 @@
 
 switch ($PLUGIN_ACTION) {
-	// Affichage simple de la configuration
-	case 'read_config':
-		$PAGE['content'] .= '
-		<table>
-			<tr>
-				<td>'.l10n('watermark.waterFILE').' :</td>
-				<td>'.$plugin_config['waterFILE'].'</td>
-			</tr>
-			<tr>
-				<td>'.l10n('watermark.waterALPHA').' :</td>
-				<td>'.$plugin_config['waterALPHA'].' %</td>
-			</tr>
-		</table>';
-		break;
-		
-	// Actions avant enregistrement
-	case 'save_config':
-		if (!is_decimal($_POST['Plugins']['watermark']['waterALPHA'])) {
-			$_POST['Plugins']['watermark']['waterALPHA'] = 80;
-			$ERRORS['conf'][] = array(l10n('watermark.waterALPHA'), 'must_be_integer');
-		}
-		
-		break;
-		
-	// Formulaire d'édition
-	case 'edit_config':
-		$PAGE['content'] .= '
-		<table>
-			<tr>
-				<td>'.l10n('watermark.waterFILE').' :</td>
-				<td><input type="text" name="Plugins[watermark][waterFILE]" value="'.$plugin_config['waterFILE'].'" size="10"/></td>
-			</tr>
-			<tr>
-				<td>'.l10n('watermark.waterALPHA').' :</td>
-				<td><input type="text" name="Plugins[watermark][waterALPHA]" value="'.$plugin_config['waterALPHA'].'" size="3"/>%</td>
-			</tr>
-		</table>';
-		break;
+  // Affichage simple de la configuration
+  case 'read_config':
+    $PAGE['content'] .= '
+    <table>
+      <tr>
+        <td>'.l10n('watermark.waterFILE').' :</td>
+        <td>'.$plugin_config['waterFILE'].'</td>
+      </tr>
+      <tr>
+        <td>'.l10n('watermark.waterALPHA').' :</td>
+        <td>'.$plugin_config['waterALPHA'].' %</td>
+      </tr>
+    </table>';
+    break;
+    
+  // Actions avant enregistrement
+  case 'save_config':
+    if (!is_decimal($_POST['Plugins']['watermark']['waterALPHA'])) {
+      $_POST['Plugins']['watermark']['waterALPHA'] = 80;
+      $ERRORS['conf'][] = array(l10n('watermark.waterALPHA'), 'must_be_integer');
+    }
+    
+    break;
+    
+  // Formulaire d'édition
+  case 'edit_config':
+    $PAGE['content'] .= '
+    <table>
+      <tr>
+        <td>'.l10n('watermark.waterFILE').' :</td>
+        <td><input type="text" name="Plugins[watermark][waterFILE]" value="'.$plugin_config['waterFILE'].'" size="10"/></td>
+      </tr>
+      <tr>
+        <td>'.l10n('watermark.waterALPHA').' :</td>
+        <td><input type="text" name="Plugins[watermark][waterALPHA]" value="'.$plugin_config['waterALPHA'].'" size="3"/>%</td>
+      </tr>
+    </table>';
+    break;
 }
 ?>
Index: extensions/PHP_Optimisateur/template/css/colorpicker.css
===================================================================
--- extensions/PHP_Optimisateur/template/css/colorpicker.css	(revision 10479)
+++ extensions/PHP_Optimisateur/template/css/colorpicker.css	(revision 12819)
@@ -1,143 +1,143 @@
 .colorpicker {
-	width: 286px;
-	height: 176px;
-	overflow: hidden;
-	position: absolute;
-	background: url(../images/colorpicker_background.png);
-	font-family: Arial, Helvetica, sans-serif;
-	display: none;
+  width: 286px;
+  height: 176px;
+  overflow: hidden;
+  position: absolute;
+  background: url(../images/colorpicker_background.png);
+  font-family: Arial, Helvetica, sans-serif;
+  display: none;
 }
 .colorpicker_color {
-	width: 150px;
-	height: 150px;
-	left: 14px;
-	top: 13px;
-	position: absolute;
-	background: #f00;
-	overflow: hidden;
-	cursor: crosshair;
+  width: 150px;
+  height: 150px;
+  left: 14px;
+  top: 13px;
+  position: absolute;
+  background: #f00;
+  overflow: hidden;
+  cursor: crosshair;
 }
 .colorpicker_color div {
-	position: absolute;
-	top: 0;
-	left: 0;
-	width: 150px;
-	height: 150px;
-	background: url(../images/colorpicker_overlay.png);
+  position: absolute;
+  top: 0;
+  left: 0;
+  width: 150px;
+  height: 150px;
+  background: url(../images/colorpicker_overlay.png);
 }
 .colorpicker_color div div {
-	position: absolute;
-	top: 0;
-	left: 0;
-	width: 11px;
-	height: 11px;
-	overflow: hidden;
-	background: url(../images/colorpicker_select.gif);
-	margin: -5px 0 0 -5px;
+  position: absolute;
+  top: 0;
+  left: 0;
+  width: 11px;
+  height: 11px;
+  overflow: hidden;
+  background: url(../images/colorpicker_select.gif);
+  margin: -5px 0 0 -5px;
 }
 .colorpicker_hue {
-	position: absolute;
-	top: 13px;
-	left: 171px;
-	width: 35px;
-	height: 150px;
-	cursor: n-resize;
+  position: absolute;
+  top: 13px;
+  left: 171px;
+  width: 35px;
+  height: 150px;
+  cursor: n-resize;
 }
 .colorpicker_hue div {
-	position: absolute;
-	width: 35px;
-	height: 9px;
-	overflow: hidden;
-	background: url(../images/colorpicker_indic.gif) left top;
-	margin: -4px 0 0 0;
-	left: 0px;
+  position: absolute;
+  width: 35px;
+  height: 9px;
+  overflow: hidden;
+  background: url(../images/colorpicker_indic.gif) left top;
+  margin: -4px 0 0 0;
+  left: 0px;
 }
 .colorpicker_new_color {
-	position: absolute;
-	width: 60px;
-	height: 30px;
-	left: 213px;
-	top: 13px;
-	background: #f00;
+  position: absolute;
+  width: 60px;
+  height: 30px;
+  left: 213px;
+  top: 13px;
+  background: #f00;
 }
 .colorpicker_current_color {
-	display:none;
+  display:none;
 }
 .colorpicker input {
-	background-color: transparent;
-	border: 1px solid transparent;
-	position: absolute;
-	font-size: 10px;
-	font-family: Arial, Helvetica, sans-serif;
-	color: #898989;
-	top: 4px;
-	right: 11px;
-	text-align: right;
-	margin: 0;
-	padding: 0;
-	height: 11px;
+  background-color: transparent;
+  border: 1px solid transparent;
+  position: absolute;
+  font-size: 10px;
+  font-family: Arial, Helvetica, sans-serif;
+  color: #898989;
+  top: 4px;
+  right: 11px;
+  text-align: right;
+  margin: 0;
+  padding: 0;
+  height: 11px;
 }
 /* annulation des styles généraux */
 .colorpicker input:hover, .colorpicker input:focus {
-	border:none;
-	background:none;
-	-moz-box-shadow:none;
-	-webkit-box-shadow:none;
+  border:none;
+  background:none;
+  -moz-box-shadow:none;
+  -webkit-box-shadow:none;
 }
 .colorpicker_hex {
-	display:none;
+  display:none;
 }
 .colorpicker_field {
-	height: 22px;
-	width: 62px;
-	background-position: top;
-	position: absolute;
+  height: 22px;
+  width: 62px;
+  background-position: top;
+  position: absolute;
 }
 .colorpicker_field span {
-	position: absolute;
-	width: 12px;
-	height: 22px;
-	overflow: hidden;
-	top: 0;
-	right: 0;
-	cursor: n-resize;
+  position: absolute;
+  width: 12px;
+  height: 22px;
+  overflow: hidden;
+  top: 0;
+  right: 0;
+  cursor: n-resize;
 }
 .colorpicker_rgb_r {
-	background-image: url(../images/colorpicker_rgb_r.png);
-	top: 52px;
-	left: 212px;
+  background-image: url(../images/colorpicker_rgb_r.png);
+  top: 52px;
+  left: 212px;
 }
 .colorpicker_rgb_g {
-	background-image: url(../images/colorpicker_rgb_g.png);
-	top: 82px;
-	left: 212px;
+  background-image: url(../images/colorpicker_rgb_g.png);
+  top: 82px;
+  left: 212px;
 }
 .colorpicker_rgb_b {
-	background-image: url(../images/colorpicker_rgb_b.png);
-	top: 112px;
-	left: 212px;
+  background-image: url(../images/colorpicker_rgb_b.png);
+  top: 112px;
+  left: 212px;
 }
 .colorpicker_hsb_h, .colorpicker_hsb_s, .colorpicker_hsb_b {
-	display:none;
+  display:none;
 }
 .colorpicker_submit {
-	position: absolute;
-	width: 22px;
-	height: 22px;
-	background: url(../images/colorpicker_submit.png) top;
-	right: 6px;
-	bottom: 6px;
-	overflow: hidden;
+  position: absolute;
+  width: 22px;
+  height: 22px;
+  background: url(../images/colorpicker_submit.png) top;
+  right: 6px;
+  bottom: 6px;
+  overflow: hidden;
 }
 .colorpicker_focus {
-	background-position: center;
+  background-position: center;
 }
 .colorpicker_hex.colorpicker_focus {
-	background-position: bottom;
+  background-position: bottom;
 }
 .colorpicker_submit.colorpicker_focus {
-	background-position: bottom;
+  background-position: bottom;
 }
 .colorpicker_slider {
-	background-position: bottom;
+  background-position: bottom;
 }
Index: extensions/PHP_Optimisateur/template/css/jqtransform.css
===================================================================
--- extensions/PHP_Optimisateur/template/css/jqtransform.css	(revision 10479)
+++ extensions/PHP_Optimisateur/template/css/jqtransform.css	(revision 12819)
@@ -1,29 +1,29 @@
 form.jqtransformdone label{
-	display:block;
-	float:left;
+  display:block;
+  float:left;
 }
 .jqTransformRadioWrapper {
-	display:block;
-	float:left;
-	margin:2px 4px -2px 4px;
+  display:block;
+  float:left;
+  margin:2px 4px -2px 4px;
 }
 .jqTransformRadio {
-	background:url(../images/radio.png) no-repeat center top;
-	vertical-align:middle;
-	height:12px;
-	width:12px;
-	display:block;
+  background:url(../images/radio.png) no-repeat center top;
+  vertical-align:middle;
+  height:12px;
+  width:12px;
+  display:block;
 }
 .jqTransformCheckboxWrapper{
-	display:block;
-	float:left;
-	margin:2px 4px -2px 4px;
+  display:block;
+  float:left;
+  margin:2px 4px -2px 4px;
 }
 .jqTransformCheckbox {
-	background:url(../images/checkbox.png) no-repeat center top;
-	vertical-align:middle;
-	height:12px;
-	width:12px;
-	display:block;
+  background:url(../images/checkbox.png) no-repeat center top;
+  vertical-align:middle;
+  height:12px;
+  width:12px;
+  display:block;
 }
 .jqTransformChecked { background-position:center bottom; }
Index: extensions/PHP_Optimisateur/template/css/screen.css
===================================================================
--- extensions/PHP_Optimisateur/template/css/screen.css	(revision 10479)
+++ extensions/PHP_Optimisateur/template/css/screen.css	(revision 12819)
@@ -1,269 +1,273 @@
 * {
-	margin:0px;
-	padding:0px;
-	border:0px;
+  margin:0px;
+  padding:0px;
+  border:0px;
 }
 
 body {
-	font-size:13px;
-	font-family:"Calibri",sans-serif;
-	background:#0a0a0a;
-	color:#777;
-	width:990px;
-	margin:0 auto;
+  font-size:13px;
+  font-family:"Calibri",sans-serif;
+  background:#0a0a0a;
+  color:#777;
+  width:990px;
+  margin:0 auto;
 }
 
 #overlay {
-	position:fixed;
-	z-index:9999;
-	top:0;
-	left:0;
-	width:100%;
-	height:100%;
-	background:#000;
-	opacity:0.3;
-	filter:alpha(opacity=30); 
+  position:fixed;
+  z-index:9999;
+  top:0;
+  left:0;
+  width:100%;
+  height:100%;
+  background:#000;
+  opacity:0.3;
+  filter:alpha(opacity=30); 
 }
 
 div.generic {
-	width:450px;
-	margin:10px;
-	padding:10px;
-	border:1px solid #333;
-	float:left;
-	-moz-border-radius:3px;
-	-webkit-border-radius:3px;
-}
-	div.title {
-		float:none;
-		width:942px;
-		text-align:center;
-		font-weight:bold;
-		font-size:1.5em;
-		color:#eee;
-		text-shadow:0 0 4px #07f;
-		border-color:#07F;
-		-moz-box-shadow:0 0 6px #07F, inset 0 0 5px #07F;
-		-webkit-box-shadow:0 0 6px #07F, inset 0 0 5px #07F;
-		background-color:#222;
-		background-image:-moz-linear-gradient(center bottom, #111, #333);
-		background-image:-webkit-gradient(linear,center bottom,center top,color-stop(0, #111),color-stop(1, #333));
-	}
-	div.footer {
-		clear:both;
-		width:942px;
-		text-align:center;
-		border:none;
-	}
-	div.files li {
-		margin-top:0;
-	}
-
-	div.finish  {
-		background:#030;
-		color:#eee;
-		text-shadow:0 0 4px #0b0;
-		border-color:#0b0;
-		-moz-box-shadow:0 0 6px #0b0, inset 0 0 5px #0b0;
-		-webkit-box-shadow:0 0 6px #0b0, inset 0 0 5px #0b0;
-		font-weight:bold;
-		font-size:1.2em;
-	}
-
-	div.error {
-		background:#300;
-		color:#eee;
-		text-shadow:0 0 4px #B00;
-		border-color:#B00;
-		-moz-box-shadow:0 0 6px #B00, inset 0 0 5px #B00;
-		-webkit-box-shadow:0 0 6px #B00, inset 0 0 5px #B00;
-		font-weight:bold;
-		font-size:1.2em;
-	}
-	div.notice {
-		background:#440;
-		color:#eee;
-		text-shadow:0 0 4px #ff0;
-		border-color:#ff0;
-		-moz-box-shadow:0 0 6px #ff0, inset 0 0 5px #ff0;
-		-webkit-box-shadow:0 0 6px #ff0, inset 0 0 5px #ff0;
-		font-weight:bold;
-		font-size:1.2em;
-	}
-	div.notice.conf {
-		font-weight:normal;
-		font-size:1em;
-	}
-	div.link {
-		float:right;
-		font-size:1.1em;
-		border:none;
-		text-align:center;
-	}
-	
+  width:450px;
+  margin:10px;
+  padding:10px;
+  border:1px solid #333;
+  float:left;
+  -moz-border-radius:3px;
+  -webkit-border-radius:3px;
+  overflow-x:hidden;
+}
+  div.title {
+    float:none;
+    width:942px;
+    text-align:center;
+    font-weight:bold;
+    font-size:1.5em;
+    color:#eee;
+    text-shadow:0 0 4px #07f;
+    border-color:#07F;
+    -moz-box-shadow:0 0 6px #07F, inset 0 0 5px #07F;
+    -webkit-box-shadow:0 0 6px #07F, inset 0 0 5px #07F;
+    background-color:#222;
+    background-image:-moz-linear-gradient(center bottom, #111, #333);
+    background-image:-webkit-gradient(linear,center bottom,center top,color-stop(0, #111),color-stop(1, #333));
+  }
+  div.footer {
+    clear:both;
+    width:942px;
+    text-align:center;
+    border:none;
+  }
+  div.files li {
+    margin-top:0;
+  }
+
+  div.finish  {
+    background:#030;
+    color:#eee;
+    text-shadow:0 0 4px #0b0;
+    border-color:#0b0;
+    -moz-box-shadow:0 0 6px #0b0, inset 0 0 5px #0b0;
+    -webkit-box-shadow:0 0 6px #0b0, inset 0 0 5px #0b0;
+    font-weight:bold;
+    font-size:1.2em;
+  }
+
+  div.error {
+    background:#300;
+    color:#eee;
+    text-shadow:0 0 4px #B00;
+    border-color:#B00;
+    -moz-box-shadow:0 0 6px #B00, inset 0 0 5px #B00;
+    -webkit-box-shadow:0 0 6px #B00, inset 0 0 5px #B00;
+    font-weight:bold;
+    font-size:1.2em;
+  }
+  div.notice {
+    background:#440;
+    color:#eee;
+    text-shadow:0 0 4px #ff0;
+    border-color:#ff0;
+    -moz-box-shadow:0 0 6px #ff0, inset 0 0 5px #ff0;
+    -webkit-box-shadow:0 0 6px #ff0, inset 0 0 5px #ff0;
+    font-weight:bold;
+    font-size:1.2em;
+  }
+  div.notice.conf {
+    font-weight:normal;
+    font-size:1em;
+  }
+  div.link {
+    float:right;
+    font-size:1.1em;
+    border:none;
+    text-align:center;
+  }
+  
 a {
-	text-decoration:none;
-	font-style:italic;
-	font-family:"Consolas";
-	color:#e80;
-	text-shadow:0 0 4px #f70;
-}
-	a:hover {
-		color:#07F;
-		text-shadow:0 0 4px #07f;
-	}
-	.link a {
-		margin:0 10px;
-		float:right;
-		margin-bottom:1px;
-	}	
+  text-decoration:none;
+  font-style:italic;
+  font-family:"Consolas";
+  color:#e80;
+  text-shadow:0 0 4px #f70;
+}
+  a:hover {
+    color:#07F;
+    text-shadow:0 0 4px #07f;
+  }
+  .link a {
+    margin:0 10px;
+    float:right;
+    margin-bottom:1px;
+  }  
 
 h2 {
-	margin-top:-5px;
-	color:#eee;
-	text-shadow:0 0 5px #ddd;
+  margin-top:-5px;
+  color:#eee;
+  text-shadow:0 0 5px #ddd;
 }
 
 ul {
-	margin:0 0 0 20px;
-}
-	li {
-		margin-top:5px;
-	}
-		li ul li {
-			margin-top:0;
-		}
-		
-input[type="submit"], input[type="reset"], input[type="text"], a.input-submit {
-	color:#666;
-	border:1px solid #555;
-	-moz-border-radius:3px;
-	-webkit-border-radius:3px;
-	background:#111;
-	font-family:"Calibri",sans-serif;
-}
-	input[type="submit"]:hover, input[type="reset"]:hover, input[type="text"]:hover, a.input-submit:hover {
-		border-color:#07f;
-		-moz-box-shadow:0 0 3px #07f;
-		-webkit-box-shadow:0 0 3px #07f;
-	}
-	input[type="submit"]:focus, input[type="reset"]:focus, input[type="text"]:focus {
-		color:#999;
-		background:#222;
-		border-color:#f70;
-		-moz-box-shadow:0 0 3px #F70;
-		-webkit-box-shadow:0 0 3px #F70;
-	}
-	input[type="submit"], input[type="reset"], a.input-submit  {
-		margin:-5px 10px 0 10px;
-		padding:3px 8px 3px 6px;
-		color:#777;
-		font-size:1.1em;
-		font-style:italic;
-		-moz-border-radius:20px;
-		-webkit-border-radius:20px;
-		background-image:-moz-linear-gradient(center bottom, #111, #333);
-		background-image:-webkit-gradient(linear,center bottom,center top,color-stop(0, #111),color-stop(1, #333));
-	}
-	input[type="submit"]:hover, input[type="reset"]:hover, a.input-submit:hover {
-		color:#07f;
-		text-shadow:0 0 3px #07f;
-		background-image:-moz-linear-gradient(center top, #111, #222);
-		background-image:-webkit-gradient(linear,center top,center bottom,color-stop(0, #111),color-stop(1, #222));
-	}
-	
+  margin:0 0 0 20px;
+}
+  li {
+    margin-top:5px;
+  }
+    li ul li {
+      margin-top:0;
+    }
+    
+input[type="submit"], input[type="reset"], input[type="text"], a.input-submit, textarea {
+  color:#666;
+  border:1px solid #555;
+  -moz-border-radius:3px;
+  -webkit-border-radius:3px;
+  background:#111;
+  font-family:"Calibri",sans-serif;
+  font-size:12px;
+  line-height:1em;
+}
+  input[type="submit"]:hover, input[type="reset"]:hover, input[type="text"]:hover, a.input-submit:hover, textarea:hover {
+    border-color:#07f;
+    -moz-box-shadow:0 0 3px #07f;
+    -webkit-box-shadow:0 0 3px #07f;
+  }
+  input[type="submit"]:focus, input[type="reset"]:focus, input[type="text"]:focus, textarea:focus {
+    color:#999;
+    background:#222;
+    border-color:#f70;
+    -moz-box-shadow:0 0 3px #F70;
+    -webkit-box-shadow:0 0 3px #F70;
+  }
+  input[type="submit"], input[type="reset"], a.input-submit  {
+    margin:-5px 10px 0 10px;
+    padding:3px 8px 3px 6px;
+    color:#777;
+    font-size:1.1em;
+    font-style:italic;
+    -moz-border-radius:20px;
+    -webkit-border-radius:20px;
+    background-image:-moz-linear-gradient(center bottom, #111, #333);
+    background-image:-webkit-gradient(linear,center bottom,center top,color-stop(0, #111),color-stop(1, #333));
+  }
+  input[type="submit"]:hover, input[type="reset"]:hover, a.input-submit:hover {
+    color:#07f;
+    text-shadow:0 0 3px #07f;
+    background-image:-moz-linear-gradient(center top, #111, #222);
+    background-image:-webkit-gradient(linear,center top,center bottom,color-stop(0, #111),color-stop(1, #222));
+  }
+  
 a.input-submit {
-	float:none;
-	display:inline-block;
-	margin-top:1px;
-	padding:3px 10px 5px 10px;
-	text-shadow:none;
+  float:none;
+  display:inline-block;
+  margin-top:1px;
+  padding:3px 10px 5px 10px;
+  text-shadow:none;
 }
 
 
 b.new {
-	color:#0b0;
-	font-style:italic;
+  color:#0b0;
+  font-style:italic;
 }
 b.miss {
-	color:#B00;
-	font-style:italic;
+  color:#B00;
+  font-style:italic;
 }
 
 span.title {
-	font-weight:bold;
-	text-decoration:underline;
-	font-size:1.1em;
-	color:#eee;
-	text-shadow:0 0 3px #ddd;
+  font-weight:bold;
+  text-decoration:underline;
+  font-size:1.1em;
+  color:#eee;
+  text-shadow:0 0 3px #ddd;
 }
 
 table {
-	min-width:50%;
-}
-	tr td:first-child {
-		text-align:right;
-		padding-right:5px;
-		font-weight:bold;
-	}
-	tr td.legend {
-		font-weight:normal;
-		text-align:left;
-	}
-		
+  min-width:50%;
+}
+  tr td:first-child {
+    text-align:right;
+    padding-right:5px;
+    font-weight:bold;
+    min-width:100px;
+  }
+  tr td.legend {
+    font-weight:normal;
+    text-align:left;
+  }
+    
 #loader {
-	float:right;
-	margin:-8px 0 -10px 0;
+  float:right;
+  margin:-8px 0 -10px 0;
 }
 
 .plugin-title .plugin-active {
-	float:right;
+  float:right;
 }
 
 .color-display {
-	width:30px;
-	height:15px;
-	margin:-10px 0;
-	display:inline-block;
-	vertical-align:middle;
-	border:1px solid #888;
-	-moz-border-radius:3px;
-	-webkit-border-radius:3px;
-	-moz-box-shadow: 0 0 2px #888, inset 0 0 2px #888;
-	-webkit-box-shadow: 0 0 2px #888, inset 0 0 2px #888;
+  width:30px;
+  height:15px;
+  margin:-10px 0;
+  display:inline-block;
+  vertical-align:middle;
+  border:1px solid #888;
+  -moz-border-radius:3px;
+  -webkit-border-radius:3px;
+  -moz-box-shadow: 0 0 2px #888, inset 0 0 2px #888;
+  -webkit-box-shadow: 0 0 2px #888, inset 0 0 2px #888;
 }
 
 #languageSwitchLink {
-	float:right;
-	width:100px;
-	padding:0 5px;
-	text-align:left;
+  float:right;
+  width:100px;
+  padding:0 5px;
+  text-align:left;
 }
 
 #languageSwitchBox {
-	position:absolute;
-	top:5px;
-	right:50%;
-	margin-right:-470px;
-	width:100px;
-	z-index:99;
-	padding:5px;
-	background:#0a0a0a;
-	-moz-box-shadow:0 0 5px #000;
-	-webkit-box-shadow:0 0 5px #000;
-	text-align:left;
-	opacity:0.8;
-	filter:alpha(opacity=80);
+  position:absolute;
+  top:5px;
+  right:50%;
+  margin-right:-470px;
+  width:100px;
+  z-index:99;
+  padding:5px;
+  background:#0a0a0a;
+  -moz-box-shadow:0 0 5px #000;
+  -webkit-box-shadow:0 0 5px #000;
+  text-align:left;
+  opacity:0.8;
+  filter:alpha(opacity=80);
 }
 
 #languageSwitchBox *, #languageSwitchLink * {
-	font-size:13px;
-	text-shadow:none;
-	font-weight:normal;
-	color:#eee;
+  font-size:13px;
+  text-shadow:none;
+  font-weight:normal;
+  color:#eee;
 }
 
 #languageSwitchBox ul, #languageSwitchLink ul {
-	list-style:none;
-	margin:0 5px 0 5px;
-}
+  list-style:none;
+  margin:0 5px 0 5px;
+}
