Index: extensions/PHP_Optimisateur/include/display_config.php
===================================================================
--- extensions/PHP_Optimisateur/include/display_config.php	(revision 9633)
+++ extensions/PHP_Optimisateur/include/display_config.php	(revision 10337)
@@ -5,5 +5,5 @@
 \***************************************/
 
-$PAGE_CONTENT[0] .= '<div class="generic config">
+$PAGE['content'] .= '<div class="generic config">
 		<h2>'.l10n('Configuration').'</h2>
 		<ul>
@@ -56,29 +56,29 @@
 					<tr>
 						<td><b>'.l10n('DIMhd').' :</b></td>
-						<td>'.$CONF['DIMhd'].'px</td>
+						<td>'.$CONF['DIMhd'].' px</td>
 					</tr>
 					<tr>
 						<td><b>'.l10n('DIMnormal').' :</b></td>
-						<td>'.$CONF['DIMnormal'].'px</td>
+						<td>'.$CONF['DIMnormal'].' px</td>
 					</tr>
 					<tr>
 						<td><b>'.l10n('DIMthumbnail').' :</b></td>
-						<td>'.$CONF['DIMthumbnail'].'px</td>
+						<td>'.$CONF['DIMthumbnail'].' px</td>
 					</tr>
 					<tr>
 						<td><b>'.l10n('Qhd').' :</b></td>
-						<td>'.$CONF['Qhd'].'%</td>
+						<td>'.$CONF['Qhd'].' %</td>
 					</tr>
 					<tr>
 						<td><b>'.l10n('Qnormal').' :</b></td>
-						<td>'.$CONF['Qnormal'].'%</td>
+						<td>'.$CONF['Qnormal'].' %</td>
 					</tr>
 					<tr>
 						<td><b>'.l10n('Qthumbnail').' :</b></td>
-						<td>'.$CONF['Qthumbnail'].'%</td>
+						<td>'.$CONF['Qthumbnail'].' %</td>
 					</tr>
 					<tr>
 						<td><b>'.l10n('DPI').' :</b></td>
-						<td>'.$CONF['DPI'].'dpi</td>
+						<td>'.$CONF['DPI'].' dpi</td>
 					</tr>
 				</table>
@@ -128,16 +128,15 @@
 			
 			foreach ($CONF['Plugins'] as $plugin_id => $plugin_config) {
-				$PAGE_CONTENT[0] .= '<li>
+				$PAGE['content'] .= '<li>
 					<div class="plugin-title">
 						<span class="title">'.$plugin_config['name'].' :</span>
 						
 						<span class="plugin-active">';
-						// Si il est manquant on ne met que la checkbox de suppression, sinon boutons d'activation
 						if ($plugin_config['active']) {
-							$PAGE_CONTENT[0] .= '<b class="new">'.l10n('Active').'</b>';
+							$PAGE['content'] .= '<b class="new">'.l10n('Active').'</b>';
 						} else {
-							$PAGE_CONTENT[0] .= '<b class="miss">'.l10n('Inactive').'</b>';
+							$PAGE['content'] .= '<b class="miss">'.l10n('Inactive').'</b>';
 						}
-						$PAGE_CONTENT[0] .= '</span>
+						$PAGE['content'] .= '</span>
 						
 					</div>';
@@ -147,7 +146,7 @@
 						include('plugins/'.$plugin_id.'/setup.php');
 					}
-				$PAGE_CONTENT[0] .= '</li>';
+				$PAGE['content'] .= '</li>';
 			}
-		$PAGE_CONTENT[0] .= '</ul>
+		$PAGE['content'] .= '</ul>
 	</div>';
 ?>
Index: extensions/PHP_Optimisateur/include/functions.php
===================================================================
--- extensions/PHP_Optimisateur/include/functions.php	(revision 9633)
+++ extensions/PHP_Optimisateur/include/functions.php	(revision 10337)
@@ -1,3 +1,4 @@
 <?php
+
 // Affiche les textes localisés
 function l10n($code) {
@@ -22,5 +23,5 @@
 	while ($file = readdir($dh)) {
 		if ($file !== '.' && $file !== '..' && is_dir('language/'.$file)) {
-			$name = (file_exists('language/'.$file.'/'.$file.'.txt')) ? file_get_contents('language/'.$file.'/'.$file.'.txt') : $file;
+			$name = (file_exists('language/'.$file.'/iso.txt')) ? file_get_contents('language/'.$file.'/iso.txt') : $file;
 			$languages[$file] = $name;
 		}
@@ -66,5 +67,5 @@
 		return preg_replace($search, $replace, $string);
 	} else {
-		return str_replace(array('%','$'), '_', $string);
+		return str_replace(array('%','$',' '), '_', $string);
 	}
 }
@@ -121,5 +122,5 @@
 	$content = array();
 	foreach ($xml as $nom => $elem) { 
-		if (trim($elem) == '') { 
+		if (trim($elem) == '' AND $elem != '') { 
 			$content[$nom] = XMLParse($elem->children()); 
 		} else { 
@@ -165,5 +166,7 @@
 				$array[$key] = true;		
 			} else if ($value === 'false') {
-				$array[$key] = false;		
+				$array[$key] = false;	
+			} else if ($value == null) {
+				// rien à faire ^^
 			} else if (preg_match('#^([0-9]*)$#', $value)) {
 				settype($array[$key], 'int');		
@@ -247,5 +250,5 @@
 // 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) {
+	if((is_numeric($num) === true AND (float)$num == $num) OR $num === '0') {
 		return true;
 	} else {
@@ -257,9 +260,87 @@
 function load_plugin_lang($plugin_id) {
 	global $CONF, $Lang;
-	if (file_exists('plugins/'.$plugin_id.'/lang/'.$CONF['user_lang'].'.php')) {
-		include('plugins/'.$plugin_id.'/lang/'.$CONF['user_lang'].'.php');
-	} else {
-		include('plugins/'.$plugin_id.'/lang/en_UK.php');
-	}
-}
+	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;
+	}
+}
+
+// fonction mkdir avec gestion du log
+function mkdir_log($dir) {
+	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;
+}
+
+// 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;
+}
+
+// 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;
+}
+
+// case insentive version of in_array
+function in_arrayi($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 9633)
+++ extensions/PHP_Optimisateur/include/header.php	(revision 10337)
@@ -35,5 +35,7 @@
 			});
 		});
-	</script>	
+	</script>
+	
+	'.$PAGE['header'].'
 	
 </head>
@@ -48,5 +50,5 @@
 	<div id="languageSwitchLink" title="Change Language">
 		<ul>
-			<li><a href="#"><img src="language/'.$CONF['user_lang'].'/'.$CONF['user_lang'].'.png" alt="'.$CONF['languages'][$CONF['user_lang']].'"/> '.$CONF['languages'][$CONF['user_lang']].'</a></li>
+			<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>
@@ -55,5 +57,5 @@
 		<ul>';
 		foreach ($CONF['languages'] as $key => $name) {
-			echo '<li><a class="lang" href="index.php?Lang='.$key.'" title="'.$name.'"><img src="language/'.$key.'/'.$key.'.png" alt="'.$name.'"/> '.$name.'</a></li>';
+			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>
Index: extensions/PHP_Optimisateur/include/main.php
===================================================================
--- extensions/PHP_Optimisateur/include/main.php	(revision 9633)
+++ extensions/PHP_Optimisateur/include/main.php	(revision 10337)
@@ -17,5 +17,8 @@
 			$path = $dir.'/'.$file;
 			$new_path = $dir.'/'.delete_special_car($file);
-			rename($path, $new_path);
+			
+			if ($path != $new_path) {
+				rename_log($path, $new_path);
+			}
 			
 			if (is_dir($new_path)) {
@@ -47,5 +50,5 @@
 
 $CONF['convOptions'] = '-ratio -rtype lanczos -rflag decr';
-$CONF['JPGexts'] = array('jpg', 'JPG'); // extensions admises pour le jpg
+$CONF['allowedExt'] = array('jpg', 'jpeg', 'png', 'gif', 'bmp', 'tiff');
 
 
@@ -68,26 +71,37 @@
 // Boucle sur tous les fichiers
 for ($i=0; $i<count($FilesSource); $i++) {
-	// Découpe le nom de fichier : dossier/fichier
-	preg_match('#(.*)/(.*).((?i)[a-z0-9]{3,4})$#', $FilesSortie[$i], $matches);
-	$FileFolder = $matches[1].'/'; // dossier de sortie
-	$FileName = $matches[2]; // nom final
-	$FileExt = $matches[3]; // extension orginale
-		
+	// 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($FileFolder.'pwg_high') AND $CONF['DIRhighORNOT']) {
-		mkdir($FileFolder.'pwg_high', 0777, true);
+	if (!file_exists($file['folder_out'].'pwg_high') AND $CONF['DIRhighORNOT']) {
+		mkdir_log($file['folder_out'].'pwg_high');
 	}
-	if (!file_exists($FileFolder.'thumbnail')) {
-		mkdir($FileFolder.'thumbnail', 0777, true);
+	if (!file_exists($file['folder_out'].'thumbnail')) {
+		mkdir_log($file['folder_out'].'thumbnail');
 	}
 	
-	// Informations sur le fichier
-	exec('include\nconvert.exe -info "'.$FilesSource[$i].'"', $FileInfos);
-	for ($m=0; $m<=5; $m++) {
-		unset($FileInfos[$m]);
+	if (!in_arrayi($file['ext'], $CONF['allowedExt'])) {
+		$BlockAll['main'] = true;
+		$LOG[] = 'Not image file : '.$FilesSource[$i];
 	}
-	foreach ($FileInfos as $key) {
-		$a = explode(':', $key);
-		$FileInfos[trim($a[0])] = trim($a[1]);
+	
+	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]);
+			}
+		}
 	}
 		
@@ -107,25 +121,23 @@
 	
 	// Compresse les fichiers dans le dossier de sortie
-	if (!isset($BlockNormal)) { 
-		exec('include\nconvert.exe -q '.$CONF['Qnormal'].' -out jpeg -o "'.$FileFolder.$FileName.'.jpg" -dpi 72 '.$CONF['convOptions'].' -resize '.$CONF['DIMnormal'].' '.$CONF['DIMnormal'].' '.$CONF['copyNormal'].' "'.$FilesSource[$i].'"');
+	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)) { 
-		exec('include\nconvert.exe -q '.$CONF['Qthumbnail'].' -out jpeg -o "'.$FileFolder.'thumbnail/'.$CONF['prefixe_mini'].$FileName.'.jpg" -dpi 72 '.$CONF['convOptions'].' -resize '.$CONF['DIMthumbnail'].' '.$CONF['DIMthumbnail'].' -rmeta -rexifthumb "'.$FilesSource[$i].'"');
+	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']) {
+	if (!isset($BlockHigh) AND $CONF['DIRhighORNOT'] AND !isset($BlockAll)) {
 		if ($CONF['DIMhdORNOT']) {
-			exec('include\nconvert.exe -q '.$CONF['Qhd'].' -out jpeg -o "'.$FileFolder.'pwg_high/'.$FileName.'.jpg" -dpi '.$CONF['DPI'].' '.$CONF['convOptions'].' -resize '.$CONF['DIMhd'].' '.$CONF['DIMhd'].' '.$CONF['copyHD'].' "'.$FilesSource[$i].'"');
-		} else if (!in_array($FileExt, $CONF['JPGexts'])) {
-			exec('include\nconvert.exe -q '.$CONF['Qhd'].' -out jpeg -o "'.$FileFolder.'pwg_high/'.$FileName.'.jpg" "'.$FilesSource[$i].'"');
+			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($FilesSource[$i], $FileFolder.'pwg_high/'.$FileName.'.jpg');
+			copy_log($FilesSource[$i], $file['folder_out'].'pwg_high/'.$file['name'].'.jpg');
 		}
 	}
 	
-	// Réinitialise les bloqueurs
-	unset($FileInfos);
-	unset($BlockNormal);
-	unset($BlockThumbnail);
-	unset($BlockHigh);
+	// Réinitialise les variables
+	unset($file, $FileInfos, $BlockNormal, $BlockThumbnail, $BlockHigh, $BlockAll);
+	$LOG[] = "\r\n";
 }
 
@@ -139,5 +151,5 @@
 		rmdir($dir);
 	} else if ($CONF['indexORNOT']) {
-		copy('include/index.php', $dir.'/index.php');
+		copy_log('include/index.php', $dir.'/index.php');
 	}
 }
Index: extensions/PHP_Optimisateur/include/save_config.php
===================================================================
--- extensions/PHP_Optimisateur/include/save_config.php	(revision 9633)
+++ extensions/PHP_Optimisateur/include/save_config.php	(revision 10337)
@@ -2,37 +2,41 @@
 // Quelques traitements
 $_POST['copyPOS'] = implode('-', $_POST['copyPOS']);
-$_POST['copyCOLOR'] = str_replace('#','', $_POST['copyCOLOR']);
+$_POST['copyCOLOR'] = str_replace('#', null, $_POST['copyCOLOR']);
 $_POST['prefixe_mini'] = delete_special_car($_POST['prefixe_mini']);
-if (!preg_match('#(.*)/$#', $_POST['DIRsource'])) $_POST['DIRsource'] .= '/';
-if (!preg_match('#(.*)/$#', $_POST['DIRsortie'])) $_POST['DIRsortie'] .= '/';
+$_POST['DIRsource'] = rtrim($_POST['DIRsource'], '/') . '/';
+$_POST['DIRsortie'] = rtrim($_POST['DIRsortie'], '/') . '/';
 
 // Vérifications
 if (!is_decimal($_POST['Qhd']) OR $_POST['Qhd'] > 100) {
 	$_POST['Qhd'] = 100;
-	$Errors['ErrorConfig'] = 'notice';
+	$ERRORS['conf'][] = array(l10n('Qhd'), 'must_be_integer_100');
 }
 if (!is_decimal($_POST['Qnormal']) OR $_POST['Qnormal'] > 100) {
 	$_POST['Qnormal'] = 100;
-	$Errors['ErrorConfig'] = 'notice';
+	$ERRORS['conf'][] = array(l10n('Qnormal'), 'must_be_integer_100');
 }
 if (!is_decimal($_POST['Qthumbnail']) OR $_POST['Qthumbnail'] > 100) {
 	$_POST['Qthumbnail'] = 100;
-	$Errors['ErrorConfig'] = 'notice';
+	$ERRORS['conf'][] = array(l10n('Qthumbnail'), 'must_be_integer_100');
 }
 if (!is_decimal($_POST['DIMhd'])) {
 	$_POST['DIMhd'] = 2560;
-	$Errors['ErrorConfig'] = 'notice';
+	$ERRORS['conf'][] = array(l10n('DIMhd'), 'must_be_integer');
 }
 if (!is_decimal($_POST['DIMnormal']) OR $_POST['DIMnormal'] > $_POST['DIMhd']) {
 	$_POST['DIMnormal'] = 800;
-	$Errors['ErrorConfig'] = 'notice';
+	$ERRORS['conf'][] = array(l10n('DIMnormal'), 'must_be_integer');
 }
 if (!is_decimal($_POST['DIMthumbnail']) OR $_POST['DIMthumbnail'] > $_POST['DIMnormal']) {
 	$_POST['DIMthumbnail'] = 120;
-	$Errors['ErrorConfig'] = 'notice';
+	$ERRORS['conf'][] = array(l10n('DIMthumbnail'), 'must_be_integer');
 }
 if (!is_decimal($_POST['DPI'])) {
 	$_POST['DPI'] = 72;
-	$Errors['ErrorConfig'] = 'notice';
+	$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');
 }
 	
@@ -49,4 +53,9 @@
 }
 
+
+// écrase la configuration
+unset($_POST['submit']);
+$CONF = array_merge($CONF, array_settype($_POST));
+
 // Contenu du fichier
 $content = '<?xml version="1.0" encoding="UTF-8"?>'."\r\n".'<config>'."\r\n";
@@ -55,8 +64,9 @@
 file_put_contents('config.xml', $content);
 
-if (isset($Errors['ErrorConfig'])) {
-	header('Location:index.php?page=setup&ErrorConfig='.$Errors['ErrorConfig']);
-} else {
-	header('Location:index.php');
+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>';
 }
+
 ?>
Index: extensions/PHP_Optimisateur/include/setup.php
===================================================================
--- extensions/PHP_Optimisateur/include/setup.php	(revision 9633)
+++ extensions/PHP_Optimisateur/include/setup.php	(revision 10337)
@@ -27,5 +27,5 @@
 $CONF['copyCOLOR'] = nice_hex_color($CONF['copyCOLOR']);
 
-$PAGE_CONTENT[0] .= '<form action="index.php?page=setup" method="post">
+$PAGE['content'] .= '<form action="index.php?page=setup" method="post">
 	<div class="generic config">
 		<h2>'.l10n('Configuration').'</h2>
@@ -212,5 +212,5 @@
 			
 			foreach ($CONF['Plugins'] as $plugin_id => $plugin_config) {
-				$PAGE_CONTENT[0] .= '<li>
+				$PAGE['content'] .= '<li>
 					<div class="plugin-title">
 						<span class="title">'.$plugin_config['name'].' :</span>
@@ -220,20 +220,20 @@
 						// Cas spéciaux dans le titre (nouveau, manquant)
 						if (isset($NewPlugins[$plugin_id])) {
-							$PAGE_CONTENT[0] .= ' <b class="new">'.l10n('New !').'</b>';
+							$PAGE['content'] .= ' <b class="new">'.l10n('New !').'</b>';
 						} else if (isset($MissingPlugins[$plugin_id])) {
-							$PAGE_CONTENT[0] .= ' <b class="miss">'.l10n('Missing !').'</b>';
+							$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[0] .= '<span class="plugin-active">';
+						$PAGE['content'] .= '<span class="plugin-active">';
 							if (isset($MissingPlugins[$plugin_id])) {
-								$PAGE_CONTENT[0] .= '<label><input type="checkbox" name="Plugins['.$plugin_id.'][delete]" value="true" checked="checked"/> '.l10n('erase').'</label>';
+								$PAGE['content'] .= '<label><input type="checkbox" name="Plugins['.$plugin_id.'][delete]" value="true" checked="checked"/> '.l10n('erase').'</label>';
 							} else {
-								$PAGE_CONTENT[0] .= '<input type="radio" id="" id="active-'.$plugin_id.'" name="Plugins['.$plugin_id.'][active]" value="true" '.(($plugin_config['active'])?'checked="checked"':'').'/>
+								$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[0] .= '</span>
+						$PAGE['content'] .= '</span>
 						
 					</div>';
@@ -244,13 +244,13 @@
 						include('plugins/'.$plugin_id.'/setup.php');
 					}
-				$PAGE_CONTENT[0] .= '</li>';
+				$PAGE['content'] .= '</li>';
 			}
 			
-		$PAGE_CONTENT[0] .= '</ul>
+		$PAGE['content'] .= '</ul>
 	</div>';
 	
 
-	$PAGE_CONTENT[2] .= '<div class="generic link">
-		<input type="submit" value="'.l10n('Valid').'"/>
+	$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>
Index: extensions/PHP_Optimisateur/index.php
===================================================================
--- extensions/PHP_Optimisateur/index.php	(revision 9633)
+++ extensions/PHP_Optimisateur/index.php	(revision 10337)
@@ -2,18 +2,26 @@
 /***************************************\
 |			PHP OPTIMISATEUR			|
-|			  Version 1.3.3				|
+|			  Version 1.4				|
 \***************************************/
 
 session_start();
 set_time_limit(7200);
+define('ROOT_DIR', dirname(__FILE__).'\\');
 
-$APPversion = '1.3';
+$APPversion = '1.4';
 $TIME_START = microtime(true);
 $ERRORS = array();
 $CONF = array();
-$PAGE_CONTENT = array(0=>null,1=>null,2=>null);
+$LOG = array();
+$PAGE = array(
+	'section' => 'home',
+	'header' => null,
+	'content' => null,
+	'msgs' => null,
+	'end' => null,
+);
 
 include('include/functions.php');
-$PAGE = (isset($_GET['page'])) ? $_GET['page'] : 'home';
+if (isset($_GET['page'])) $PAGE['section'] = $_GET['page'];
 
 
@@ -21,5 +29,5 @@
 ### CONFIGURATION ###
 if (!file_exists('config.xml')) {
-	$ERRORS['fatal']['ErrorConfigFile'] = true;
+	$ERRORS['fatal'][] = 'ErrorConfigFile';
 } else {
 	$CONF = load_config('config.xml');
@@ -27,45 +35,113 @@
 
 if (!file_exists('include/nconvert.exe')) {
-	$ERRORS['fatal']['ErrorNconvert'] = true;
+	$ERRORS['fatal'][] = 'ErrorNconvert';
+}
+
+$CONF = array_merge($CONF, GetLanguage());
+include('language/'.$CONF['user_lang'].'/common.lang.php');
+
+
+
+### 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;
 }
 
 
 
-### HEADER ###
-$CONF = array_merge($CONF, GetLanguage());
-include('language/'.$CONF['user_lang'].'/'.$CONF['user_lang'].'.php');
-include('include/header.php');
+### 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>';
 
+		} 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>';
+		
 
-### PROCESSUS ###
-if ($PAGE == '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'] = true;
-		}
-		if ($CONF['silentORNOT'] == 'block' AND !is_dir_empty($CONF['DIRsortie'])) {
-			$ERRORS['fatal']['ErrorFolderOut'] = true;
-		} else if ($CONF['silentORNOT'] == 'erase' AND !is_dir_empty($CONF['DIRsortie'])) {
-			$ERRORS['notice']['EraseFolderOut'] = true;
-		}
-	}
-	
-} else if ($PAGE == 'setup') {
-	if (isset($_GET['ErrorConfig'])) {
-		$ERRORS['notice']['ErrorConfig'] = true;
-	}
-	if (isset($_POST['DIRsource'])) {
-		include('include/save_config.php');
-	}
-	
-} else if ($PAGE = 'process') {
-	include('include/main.php');
+		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;
 }
 
@@ -73,81 +149,36 @@
 
 ### ERREURS ###
+// erreurs fatales
 if (isset($ERRORS['fatal'])) {
-	$PAGE_CONTENT[1] .= '<div class="generic error">';
-		foreach ($ERRORS['fatal'] as $key => $i) {
-			$PAGE_CONTENT[1] .= '<div>'.l10n('fatal.'.$key).'</div>';
+	$PAGE['msgs'] .= '<div class="generic error">';
+		foreach ($ERRORS['fatal'] as $key) {
+			$PAGE['msgs'] .= '<div>'.l10n('fatal.'.$key).'</div>';
 		}
-	$PAGE_CONTENT[1] .= '</div>';
+	$PAGE['msgs'] .= '</div>';
 }
+// informations
 if (isset($ERRORS['notice'])) {
-	$PAGE_CONTENT[1] .= '<div class="generic notice">';
-		foreach ($ERRORS['notice'] as $key => $i) {
-			$PAGE_CONTENT[1] .= '<div>'.l10n('notice.'.$key).'</div>';
+	$PAGE['msgs'] .= '<div class="generic notice">';
+		foreach ($ERRORS['notice'] as $key) {
+			$PAGE['msgs'] .= '<div>'.l10n('notice.'.$key).'</div>';
 		}
-	$PAGE_CONTENT[1] .= '</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>';
 }
 
 
 
-### AFFICHAGE ###
-if ($PAGE == 'home') {
-	if (isset($ERRORS['fatal'])) {
-		$PAGE_CONTENT[2] .= '
-		<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>';
-
-	} else {
-		include('include/display_config.php');
-		
-		$PAGE_CONTENT[2] .= '
-		<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>';
-	}
-	
-} else if ($PAGE == 'setup') {
-	if (isset($ERRORS['fatal'])) {
-		$PAGE_CONTENT[2] .= '<div class="generic link"><a class="input-submit" href="index.php">'.l10n('Back').'</a></div>';
-
-	} else {
-		include('include/setup.php');
-	}
-	
-} else if ($PAGE = 'process') {
-	### Affichage des fichiers traités ###
-	$PAGE_CONTENT[0] .= '
-	<div class="generic files">
-		<h2>'.l10n('Source files').'</h2>
-		<ul>';
-			foreach ($FilesSource as $value) {
-				$PAGE_CONTENT[0] .= '<li>'.$value.'</li>';
-			}
-		$PAGE_CONTENT[0] .= '</ul>
-		<i>'.l10n('%d files', count($FilesSource)).'</i>
-	</div>';
-
-	unset($FilesSource);
-	unset($FilesSortie);
-	
-	$PAGE_CONTENT[2] .= '
-	<div class="generic finish">'.l10n('Finish %d seconds', intval((microtime(true)-$TIME_START))).'</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>';
-}
-
-
 ### FIN ###
-echo $PAGE_CONTENT[0];
-echo $PAGE_CONTENT[1];
-echo $PAGE_CONTENT[2];
+include('include/header.php');
+echo $PAGE['content'];
+echo $PAGE['msgs'];
+echo $PAGE['end'];
 
 echo '
Index: extensions/PHP_Optimisateur/language/de_DE/common.lang.php
===================================================================
--- extensions/PHP_Optimisateur/language/de_DE/common.lang.php	(revision 10337)
+++ extensions/PHP_Optimisateur/language/de_DE/common.lang.php	(revision 10337)
@@ -0,0 +1,69 @@
+<?php
+$Lang['fatal.ErrorConfigFile'] = "Schwerwiegender Fehler: Konfigurationsdatei fehlt.";
+$Lang['fatal.ErrorFolderIn'] = "Schwerwiegender Fehler: Input-Ordner ist leer.";
+$Lang['fatal.ErrorFolderOut'] = "Schwerwiegender Fehler: Output Ordner ist nicht leer.";
+$Lang['fatal.ErrorNconvert'] = "Schwerwiegender Fehler: Das Programm <i>nconvert.exe</i> wurde nicht gefunden.";
+$Lang['fatal.ErrorConfig'] = "Schwerwiegender Fehler: Konfiguration nicht korrekt.";
+$Lang['notice.EraseFolderOut'] = "Warnung: Der Output Ordner wird komplett gelehrt.";
+$Lang['notice.ErrorConfig'] = "Einige Konfigurationsfehler wurden gefixt , bitte kontrollieren Sie Ihre Einstellungen.";
+$Lang['notice.must_be_integer %s'] = "%s must be an integer.";
+$Lang['notice.must_be_integer_100 %s'] = "%s must be a decimal below 100.";
+$Lang['notice.must_be_decimal %s'] = "%s must be a decimal.";
+
+$Lang['Source files'] = "Bearbeitete Dateien";
+$Lang['%d files'] = "%d Dateien";
+$Lang['Finish %d seconds'] = "Prozess durchgeführt: %d Sekunden.";
+$Lang['Ready'] = "Bereit zum Start.";
+$Lang['Processing'] = "In Verarbeitung";
+$Lang['Launch'] = "Start";
+$Lang['Config'] = "Konfigurieren";
+$Lang['Back'] = "Zurück";
+$Lang['Reload'] = "Reload";
+$Lang['Saved'] = "Configuration saved. <i>Redirection...</i>";
+$Lang['Configuration'] = "Konfiguration";
+$Lang['Folders'] = "Ordner";
+$Lang['FolderIn'] = "Input-Ordner";
+$Lang['FolderOut'] = "Output Ordner";
+$Lang['Options'] = "Optionen";
+$Lang['silentORNOT'] = "Wenn Output Ordner nicht lehr ist";
+$Lang['DIRhighORNOT'] = "HD Ordner erstellen";
+$Lang['DIMhdORNOT'] = " Größe der HD Bilder ändern";
+$Lang['renameORNOT'] = "Dateien und Ordner umbenennen";
+$Lang['indexORNOT'] = "index.php Dateien hinzufügen";
+$Lang['prefixe_mini'] = "Präfix der Miniaturbilder";
+$Lang['Sizes and quality'] = "Größe und Qualität";
+$Lang['DIMhd'] = "Maximal Größe der HD Bilder";
+$Lang['DIMnormal'] = "Maximal Größe der normalen Bilder";
+$Lang['DIMthumbnail'] = "Größe der Miniaturbilder";
+$Lang['Qhd'] = "Qualität der HD Bilder";
+$Lang['Qnormal'] = "Qualität der normalen Bilder";
+$Lang['Qthumbnail'] = "Qualität der Miniaturbilder";
+$Lang['DPI'] = "Auflösung der HD Bilder";
+$Lang['Copyright'] = "Copyright";
+$Lang['Content'] = "Inhalt";
+$Lang['copyONhd'] = "in HD";
+$Lang['copyONnormal'] = "Normal";
+$Lang['copyPOS%s'] = "%s Position";
+$Lang['copyPOSh'] = "Horizontal ";
+$Lang['copyPOSv'] = "Vertikal ";
+$Lang['copySIZE'] = "Größe (Ratio Bild/Text)";
+$Lang['copyCOLOR'] = "Farbe";
+$Lang['copyFONT'] = "Schriftart";
+$Lang['Plugins'] = "Plug-Ins";
+$Lang['yes'] = "Ja";
+$Lang['no'] = "Nein";
+$Lang['top'] = "Oben";
+$Lang['center'] = "Mitte";
+$Lang['bottom'] = "Unten";
+$Lang['left'] = "Links";
+$Lang['right'] = "Rechts";
+$Lang['erase'] = "Löschen";
+$Lang['pass'] = "Fortfahren";
+$Lang['block'] = "Block";
+$Lang['New !'] = "Neu !";
+$Lang['Missing !'] = "Fehlt!";
+$Lang['Reset'] = "Reset";
+$Lang['Valid'] = "Validieren";
+$Lang['Active'] = "Aktiv";
+$Lang['Inactive'] = "Inaktiv";
+?>
Index: extensions/PHP_Optimisateur/language/de_DE/de_DE.php
===================================================================
--- extensions/PHP_Optimisateur/language/de_DE/de_DE.php	(revision 9633)
+++ 	(revision )
@@ -1,63 +1,0 @@
-<?php
-$Lang['fatal.ErrorConfigFile'] = "Schwerwiegender Fehler: Konfigurationsdatei fehlt.";
-$Lang['fatal.ErrorFolderIn'] = "Schwerwiegender Fehler: Input-Ordner ist leer.";
-$Lang['fatal.ErrorFolderOut'] = "Schwerwiegender Fehler: Output Ordner ist nicht leer.";
-$Lang['fatal.ErrorNconvert'] = "Schwerwiegender Fehler: Das Programm <i>nconvert.exe</i> wurde nicht gefunden.";
-$Lang['fatal.ErrorConfig'] = "Schwerwiegender Fehler: Konfiguration nicht korrekt.";
-$Lang['notice.EraseFolderOut'] = "Warnung: Der Output Ordner wird komplett gelehrt.";
-$Lang['notice.ErrorConfig'] = "Einige Konfigurationsfehler wurden gefixt , bitte kontrollieren Sie Ihre Einstellungen.";
-$Lang['Source files'] = "Bearbeitete Dateien";
-$Lang['%d files'] = "%d Dateien";
-$Lang['Finish %d seconds'] = "Prozess durchgeführt: %d Sekunden.";
-$Lang['Ready'] = "Bereit zum Start.";
-$Lang['Processing'] = "In Verarbeitung";
-$Lang['Launch'] = "Start";
-$Lang['Config'] = "Konfigurieren";
-$Lang['Back'] = "Zurück";
-$Lang['Configuration'] = "Konfiguration";
-$Lang['Folders'] = "Ordner";
-$Lang['FolderIn'] = "Input-Ordner";
-$Lang['FolderOut'] = "Output Ordner";
-$Lang['Options'] = "Optionen";
-$Lang['silentORNOT'] = "Wenn Output Ordner nicht lehr ist";
-$Lang['DIRhighORNOT'] = "HD Ordner erstellen";
-$Lang['DIMhdORNOT'] = " Größe der HD Bilder ändern";
-$Lang['renameORNOT'] = "Dateien und Ordner umbenennen";
-$Lang['indexORNOT'] = "index.php Dateien hinzufügen";
-$Lang['prefixe_mini'] = "Präfix der Miniaturbilder";
-$Lang['Sizes and quality'] = "Größe und Qualität";
-$Lang['DIMhd'] = "Maximal Größe der HD Bilder";
-$Lang['DIMnormal'] = "Maximal Größe der normalen Bilder";
-$Lang['DIMthumbnail'] = "Größe der Miniaturbilder";
-$Lang['Qhd'] = "Qualität der HD Bilder";
-$Lang['Qnormal'] = "Qualität der normalen Bilder";
-$Lang['Qthumbnail'] = "Qualität der Miniaturbilder";
-$Lang['DPI'] = "Auflösung der HD Bilder";
-$Lang['Copyright'] = "Copyright";
-$Lang['Content'] = "Inhalt";
-$Lang['copyONhd'] = "in HD";
-$Lang['copyONnormal'] = "Normal";
-$Lang['copyPOS%s'] = "%s Position";
-$Lang['copyPOSh'] = "Horizontal ";
-$Lang['copyPOSv'] = "Vertikal ";
-$Lang['copySIZE'] = "Größe (Ratio Bild/Text)";
-$Lang['copyCOLOR'] = "Farbe";
-$Lang['copyFONT'] = "Schriftart";
-$Lang['Plugins'] = "Plug-Ins";
-$Lang['yes'] = "Ja";
-$Lang['no'] = "Nein";
-$Lang['top'] = "Oben";
-$Lang['center'] = "Mitte";
-$Lang['bottom'] = "Unten";
-$Lang['left'] = "Links";
-$Lang['right'] = "Rechts";
-$Lang['erase'] = "Löschen";
-$Lang['pass'] = "Fortfahren";
-$Lang['block'] = "Block";
-$Lang['New !'] = "Neu !";
-$Lang['Missing !'] = "Fehlt!";
-$Lang['Reset'] = "Reset";
-$Lang['Valid'] = "Validieren";
-$Lang['Active'] = "Aktiv";
-$Lang['Inactive'] = "Inaktiv";
-?>
Index: extensions/PHP_Optimisateur/language/de_DE/de_DE.txt
===================================================================
--- extensions/PHP_Optimisateur/language/de_DE/de_DE.txt	(revision 9633)
+++ 	(revision )
@@ -1,1 +1,0 @@
-Deutsch
Index: extensions/PHP_Optimisateur/language/de_DE/iso.txt
===================================================================
--- extensions/PHP_Optimisateur/language/de_DE/iso.txt	(revision 10337)
+++ extensions/PHP_Optimisateur/language/de_DE/iso.txt	(revision 10337)
@@ -0,0 +1,1 @@
+Deutsch
Index: extensions/PHP_Optimisateur/language/en_UK/common.lang.php
===================================================================
--- extensions/PHP_Optimisateur/language/en_UK/common.lang.php	(revision 10337)
+++ extensions/PHP_Optimisateur/language/en_UK/common.lang.php	(revision 10337)
@@ -0,0 +1,69 @@
+<?php
+$Lang['fatal.ErrorConfigFile'] = "Fatal error : Configuration file missing.";
+$Lang['fatal.ErrorFolderIn'] = "Fatal error : Input folder empty.";
+$Lang['fatal.ErrorFolderOut'] = "Fatal error : Output folder not empty.";
+$Lang['fatal.ErrorNconvert'] = "Fatal error : The program <i>nconvert.exe</i> is not found.";
+$Lang['fatal.ErrorConfig'] = "Fatal error : Configuration incorrect.";
+$Lang['notice.EraseFolderOut'] = "Warning : The output folder will be completely emptied.";
+$Lang['notice.ErrorConfig'] = "Some configuration errors have been fixed, please check your parameters.";
+$Lang['notice.must_be_integer %s'] = "%s must be an integer.";
+$Lang['notice.must_be_integer_100 %s'] = "%s must be a decimal below 100.";
+$Lang['notice.must_be_decimal %s'] = "%s must be a decimal.";
+
+$Lang['Source files'] = "Handled files";
+$Lang['%d files'] = "%d files";
+$Lang['Finish %d seconds'] = "Process done : %d seconds.";
+$Lang['Ready'] = "Ready to launch.";
+$Lang['Processing'] = "Processing.";
+$Lang['Launch'] = "Launch";
+$Lang['Config'] = "Configure";
+$Lang['Back'] = "Back";
+$Lang['Reload'] = "Reload";
+$Lang['Saved'] = "Configuration saved. <i>Redirection...</i>";
+$Lang['Configuration'] = "Configuration";
+$Lang['Folders'] = "Folders";
+$Lang['FolderIn'] = "Input folder";
+$Lang['FolderOut'] = "Output folder";
+$Lang['Options'] = "Options";
+$Lang['silentORNOT'] = "If output folder not empty";
+$Lang['DIRhighORNOT'] = "Create high-definition folders";
+$Lang['DIMhdORNOT'] = "Resize HD pictures";
+$Lang['renameORNOT'] = "Rename files and folders";
+$Lang['indexORNOT'] = "Add index.php files";
+$Lang['prefixe_mini'] = "Thumbnail prefix";
+$Lang['Sizes and quality'] = "Sizes and quality";
+$Lang['DIMhd'] = "HD pictures max size";
+$Lang['DIMnormal'] = "Normal pictures max size";
+$Lang['DIMthumbnail'] = "Thumbnails size";
+$Lang['Qhd'] = "HD pictures quality";
+$Lang['Qnormal'] = "Normal pictures quality";
+$Lang['Qthumbnail'] = "Thumbails quality";
+$Lang['DPI'] = "HD pictures resolution";
+$Lang['Copyright'] = "Copyright";
+$Lang['Content'] = "Content";
+$Lang['copyONhd'] = "On high-definition";
+$Lang['copyONnormal'] = "On normal";
+$Lang['copyPOS%s'] = "%sPosition";
+$Lang['copyPOSh'] = "Horizontal ";
+$Lang['copyPOSv'] = "Vertical ";
+$Lang['copySIZE'] = "Size (ratio image/text)";
+$Lang['copyCOLOR'] = "Color";
+$Lang['copyFONT'] = "Font";
+$Lang['Plugins'] = "Plugins";
+$Lang['yes'] = "yes";
+$Lang['no'] = "no";
+$Lang['top'] = "top";
+$Lang['center'] = "center";
+$Lang['bottom'] = "bottom";
+$Lang['left'] = "left";
+$Lang['right'] = "right";
+$Lang['erase'] = "Erase";
+$Lang['pass'] = "Continue";
+$Lang['block'] = "Block";
+$Lang['New !'] = "New !";
+$Lang['Missing !'] = "Missing !";
+$Lang['Reset'] = "Reset";
+$Lang['Valid'] = "Validate";
+$Lang['Active'] = "Active";
+$Lang['Inactive'] = "Inactive";
+?>
Index: extensions/PHP_Optimisateur/language/en_UK/en_UK.php
===================================================================
--- extensions/PHP_Optimisateur/language/en_UK/en_UK.php	(revision 9633)
+++ 	(revision )
@@ -1,63 +1,0 @@
-<?php
-$Lang['fatal.ErrorConfigFile'] = "Fatal error : Configuration file missing.";
-$Lang['fatal.ErrorFolderIn'] = "Fatal error : Input folder empty.";
-$Lang['fatal.ErrorFolderOut'] = "Fatal error : Output folder not empty.";
-$Lang['fatal.ErrorNconvert'] = "Fatal error : The program <i>nconvert.exe</i> is not found.";
-$Lang['fatal.ErrorConfig'] = "Fatal error : Configuration incorrect.";
-$Lang['notice.EraseFolderOut'] = "Warning : The output folder will be completely emptied.";
-$Lang['notice.ErrorConfig'] = "Some configuration errors have been fixed, please check your parameters.";
-$Lang['Source files'] = "Handled files";
-$Lang['%d files'] = "%d files";
-$Lang['Finish %d seconds'] = "Process done : %d seconds.";
-$Lang['Ready'] = "Ready to launch.";
-$Lang['Processing'] = "Processing.";
-$Lang['Launch'] = "Launch";
-$Lang['Config'] = "Configure";
-$Lang['Back'] = "Back";
-$Lang['Configuration'] = "Configuration";
-$Lang['Folders'] = "Folders";
-$Lang['FolderIn'] = "Input folder";
-$Lang['FolderOut'] = "Output folder";
-$Lang['Options'] = "Options";
-$Lang['silentORNOT'] = "If output folder not empty";
-$Lang['DIRhighORNOT'] = "Create high-definition folders";
-$Lang['DIMhdORNOT'] = "Resize HD pictures";
-$Lang['renameORNOT'] = "Rename files and folders";
-$Lang['indexORNOT'] = "Add index.php files";
-$Lang['prefixe_mini'] = "Thumbnail prefix";
-$Lang['Sizes and quality'] = "Sizes and quality";
-$Lang['DIMhd'] = "HD pictures max size";
-$Lang['DIMnormal'] = "Normal pictures max size";
-$Lang['DIMthumbnail'] = "Thumbnails size";
-$Lang['Qhd'] = "HD pictures quality";
-$Lang['Qnormal'] = "Normal pictures quality";
-$Lang['Qthumbnail'] = "Thumbails quality";
-$Lang['DPI'] = "HD pictures resolution";
-$Lang['Copyright'] = "Copyright";
-$Lang['Content'] = "Content";
-$Lang['copyONhd'] = "On high-definition";
-$Lang['copyONnormal'] = "On normal";
-$Lang['copyPOS%s'] = "%sPosition";
-$Lang['copyPOSh'] = "Horizontal ";
-$Lang['copyPOSv'] = "Vertical ";
-$Lang['copySIZE'] = "Size (ratio image/text)";
-$Lang['copyCOLOR'] = "Color";
-$Lang['copyFONT'] = "Font";
-$Lang['Plugins'] = "Plugins";
-$Lang['yes'] = "yes";
-$Lang['no'] = "no";
-$Lang['top'] = "top";
-$Lang['center'] = "center";
-$Lang['bottom'] = "bottom";
-$Lang['left'] = "left";
-$Lang['right'] = "right";
-$Lang['erase'] = "Erase";
-$Lang['pass'] = "Continue";
-$Lang['block'] = "Block";
-$Lang['New !'] = "New !";
-$Lang['Missing !'] = "Missing !";
-$Lang['Reset'] = "Reset";
-$Lang['Valid'] = "Validate";
-$Lang['Active'] = "Active";
-$Lang['Inactive'] = "Inactive";
-?>
Index: extensions/PHP_Optimisateur/language/en_UK/en_UK.txt
===================================================================
--- extensions/PHP_Optimisateur/language/en_UK/en_UK.txt	(revision 9633)
+++ 	(revision )
@@ -1,1 +1,0 @@
-English
Index: extensions/PHP_Optimisateur/language/en_UK/iso.txt
===================================================================
--- extensions/PHP_Optimisateur/language/en_UK/iso.txt	(revision 10337)
+++ extensions/PHP_Optimisateur/language/en_UK/iso.txt	(revision 10337)
@@ -0,0 +1,1 @@
+English
Index: extensions/PHP_Optimisateur/language/es_ES/common.lang.php
===================================================================
--- extensions/PHP_Optimisateur/language/es_ES/common.lang.php	(revision 10337)
+++ extensions/PHP_Optimisateur/language/es_ES/common.lang.php	(revision 10337)
@@ -0,0 +1,69 @@
+<?php
+$Lang['fatal.ErrorConfigFile'] = "Error grave : Archivo de configuración que no se encuentra.";
+$Lang['fatal.ErrorFolderIn'] = "Error grave : Carpeta fuente vacia.";
+$Lang['fatal.ErrorFolderOut'] = "Error grave : Carpeta de salida no está vacío.";
+$Lang['fatal.ErrorNconvert'] = "Error grave : El programa <i>nconvert.exe</i> no se encuentra.";
+$Lang['fatal.ErrorConfig'] = "Error grave : Configuración errónea.";
+$Lang['notice.EraseFolderOut'] = "Atención: La carpeta de salida será vaciado por completo.";
+$Lang['notice.ErrorConfig'] = "Los errores de configuración se han corregido, por favor, compruebe los ajustes.";
+$Lang['notice.must_be_integer %s'] = "%s must be an integer.";
+$Lang['notice.must_be_integer_100 %s'] = "%s must be a decimal below 100.";
+$Lang['notice.must_be_decimal %s'] = "%s must be a decimal.";
+
+$Lang['Source files'] = "Archivos procesados";
+$Lang['%d files'] = "%d Archivos";
+$Lang['Finish %d seconds'] = "Terminado:% d segundos.";
+$Lang['Ready'] = "Listo para empezar.";
+$Lang['Processing'] = "En proceso";
+$Lang['Launch'] = "Ejecutar";
+$Lang['Config'] = "Configurar";
+$Lang['Back'] = "Volver";
+$Lang['Reload'] = "Reload";
+$Lang['Saved'] = "Configuration saved. <i>Redirection...</i>";
+$Lang['Configuration'] = "Configuración";
+$Lang['Folders'] = "Directorios";
+$Lang['FolderIn'] = "Directorio fuente";
+$Lang['FolderOut'] = "Directorio de salida";
+$Lang['Options'] = "Opciónes";
+$Lang['silentORNOT'] = "Si la carpeta de salida no está vacío";
+$Lang['DIRhighORNOT'] = "Crear el directorio alta definición";
+$Lang['DIMhdORNOT'] = "Cambiar el tamaño de las imágenes HD";
+$Lang['renameORNOT'] = "Cambiar el nombre de los archivos";
+$Lang['indexORNOT'] = "Añadir archivos index.php";
+$Lang['prefixe_mini'] = "Prefijo de miniaturas";
+$Lang['Sizes and quality'] = "Tamaños y calidad";
+$Lang['DIMhd'] = "Máximo tamaño de las imágenes HD";
+$Lang['DIMnormal'] = "Imágenes de tamaño normal";
+$Lang['DIMthumbnail'] = "Tamaño de la miniatura";
+$Lang['Qhd'] = "Calidad de imagen HD";
+$Lang['Qnormal'] = "Calidad de imagenes normales";
+$Lang['Qthumbnail'] = "Calidad de las miniaturas";
+$Lang['DPI'] = "Resolución de las imagenes HD";
+$Lang['Copyright'] = "Copyright";
+$Lang['Content'] = "Texto";
+$Lang['copyONhd'] = "Sobre las imágenes HD";
+$Lang['copyONnormal'] = "Sobre las imágenes normales";
+$Lang['copyPOS%s'] = "Posición%s";
+$Lang['copyPOSh'] = " horizontal";
+$Lang['copyPOSv'] = " vertical";
+$Lang['copySIZE'] = "Relación de tamaño (imagen / texto)";
+$Lang['copyCOLOR'] = "Color";
+$Lang['copyFONT'] = "Fuente";
+$Lang['Plugins'] = "Plugins";
+$Lang['yes'] = "si";
+$Lang['no'] = "no";
+$Lang['top'] = "arriba";
+$Lang['center'] = "centro";
+$Lang['bottom'] = "abajo";
+$Lang['left'] = "izsquierda";
+$Lang['right'] = "derecha";
+$Lang['erase'] = "Borrar";
+$Lang['pass'] = "Seguir";
+$Lang['block'] = "Bloquear";
+$Lang['New !'] = "Nuevo !";
+$Lang['Missing !'] = "Falta !";
+$Lang['Reset'] = "Reiniciar";
+$Lang['Valid'] = "Validar";
+$Lang['Active'] = "Activar";
+$Lang['Inactive'] = "Desactivar";
+?>
Index: extensions/PHP_Optimisateur/language/es_ES/es_ES.php
===================================================================
--- extensions/PHP_Optimisateur/language/es_ES/es_ES.php	(revision 9633)
+++ 	(revision )
@@ -1,63 +1,0 @@
-<?php
-$Lang['fatal.ErrorConfigFile'] = "Error grave : Archivo de configuración que no se encuentra.";
-$Lang['fatal.ErrorFolderIn'] = "Error grave : Carpeta fuente vacia.";
-$Lang['fatal.ErrorFolderOut'] = "Error grave : Carpeta de salida no está vacío.";
-$Lang['fatal.ErrorNconvert'] = "Error grave : El programa <i>nconvert.exe</i> no se encuentra.";
-$Lang['fatal.ErrorConfig'] = "Error grave : Configuración errónea.";
-$Lang['notice.EraseFolderOut'] = "Atención: La carpeta de salida será vaciado por completo.";
-$Lang['notice.ErrorConfig'] = "Los errores de configuración se han corregido, por favor, compruebe los ajustes.";
-$Lang['Source files'] = "Archivos procesados";
-$Lang['%d files'] = "%d Archivos";
-$Lang['Finish %d seconds'] = "Terminado:% d segundos.";
-$Lang['Ready'] = "Listo para empezar.";
-$Lang['Processing'] = "En proceso";
-$Lang['Launch'] = "Ejecutar";
-$Lang['Config'] = "Configurar";
-$Lang['Back'] = "Volver";
-$Lang['Configuration'] = "Configuración";
-$Lang['Folders'] = "Directorios";
-$Lang['FolderIn'] = "Directorio fuente";
-$Lang['FolderOut'] = "Directorio de salida";
-$Lang['Options'] = "Opciónes";
-$Lang['silentORNOT'] = "Si la carpeta de salida no está vacío";
-$Lang['DIRhighORNOT'] = "Crear el directorio alta definición";
-$Lang['DIMhdORNOT'] = "Cambiar el tamaño de las imágenes HD";
-$Lang['renameORNOT'] = "Cambiar el nombre de los archivos";
-$Lang['indexORNOT'] = "Añadir archivos index.php";
-$Lang['prefixe_mini'] = "Prefijo de miniaturas";
-$Lang['Sizes and quality'] = "Tamaños y calidad";
-$Lang['DIMhd'] = "Máximo tamaño de las imágenes HD";
-$Lang['DIMnormal'] = "Imágenes de tamaño normal";
-$Lang['DIMthumbnail'] = "Tamaño de la miniatura";
-$Lang['Qhd'] = "Calidad de imagen HD";
-$Lang['Qnormal'] = "Calidad de imagenes normales";
-$Lang['Qthumbnail'] = "Calidad de las miniaturas";
-$Lang['DPI'] = "Resolución de las imagenes HD";
-$Lang['Copyright'] = "Copyright";
-$Lang['Content'] = "Texto";
-$Lang['copyONhd'] = "Sobre las imágenes HD";
-$Lang['copyONnormal'] = "Sobre las imágenes normales";
-$Lang['copyPOS%s'] = "Posición%s";
-$Lang['copyPOSh'] = " horizontal";
-$Lang['copyPOSv'] = " vertical";
-$Lang['copySIZE'] = "Relación de tamaño (imagen / texto)";
-$Lang['copyCOLOR'] = "Color";
-$Lang['copyFONT'] = "Fuente";
-$Lang['Plugins'] = "Plugins";
-$Lang['yes'] = "si";
-$Lang['no'] = "no";
-$Lang['top'] = "arriba";
-$Lang['center'] = "centro";
-$Lang['bottom'] = "abajo";
-$Lang['left'] = "izsquierda";
-$Lang['right'] = "derecha";
-$Lang['erase'] = "Borrar";
-$Lang['pass'] = "Seguir";
-$Lang['block'] = "Bloquear";
-$Lang['New !'] = "Nuevo !";
-$Lang['Missing !'] = "Falta !";
-$Lang['Reset'] = "Reiniciar";
-$Lang['Valid'] = "Validar";
-$Lang['Active'] = "Activar";
-$Lang['Inactive'] = "Desactivar";
-?>
Index: extensions/PHP_Optimisateur/language/es_ES/es_ES.txt
===================================================================
--- extensions/PHP_Optimisateur/language/es_ES/es_ES.txt	(revision 9633)
+++ 	(revision )
@@ -1,1 +1,0 @@
-Español
Index: extensions/PHP_Optimisateur/language/es_ES/iso.txt
===================================================================
--- extensions/PHP_Optimisateur/language/es_ES/iso.txt	(revision 10337)
+++ extensions/PHP_Optimisateur/language/es_ES/iso.txt	(revision 10337)
@@ -0,0 +1,1 @@
+Español
Index: extensions/PHP_Optimisateur/language/fr_FR/common.lang.php
===================================================================
--- extensions/PHP_Optimisateur/language/fr_FR/common.lang.php	(revision 10337)
+++ extensions/PHP_Optimisateur/language/fr_FR/common.lang.php	(revision 10337)
@@ -0,0 +1,69 @@
+<?php
+$Lang['fatal.ErrorConfigFile'] = "Erreur fatale : Fichier de configuration introuvable.";
+$Lang['fatal.ErrorFolderIn'] = "Erreur fatale : Dossier source vide.";
+$Lang['fatal.ErrorFolderOut'] = "Erreur fatale : Dossier de sortie non vide.";
+$Lang['fatal.ErrorNconvert'] = "Erreur fatale : Le programme <i>nconvert.exe</i> est introuvable.";
+$Lang['fatal.ErrorConfig'] = "Erreur fatale : Configuration incorrecte.";
+$Lang['notice.EraseFolderOut'] = "Attention : Le dossier de sortie va être entièrement vidé.";
+$Lang['notice.ErrorConfig'] = "Des erreurs de configuration ont été corrigées, veuillez vérifier les réglages.";
+$Lang['notice.must_be_integer %s'] = "%s doit être un entier.";
+$Lang['notice.must_be_integer_100 %s'] = "%s doit être un nombre décimal inférieur à 100.";
+$Lang['notice.must_be_decimal %s'] = "%s doit être un nombre décimal.";
+
+$Lang['Source files'] = "Fichiers traités";
+$Lang['%d files'] = "%d fichiers";
+$Lang['Finish %d seconds'] = "Opération terminée : %d secondes.";
+$Lang['Ready'] = "Prêt à commencer.";
+$Lang['Processing'] = "En cours de traitement.";
+$Lang['Launch'] = "Exécuter";
+$Lang['Config'] = "Configurer";
+$Lang['Back'] = "Retour";
+$Lang['Reload'] = "Recharger";
+$Lang['Saved'] = "Configuration sauvegardée. <i>Redirection...</i>";
+$Lang['Configuration'] = "Configuration";
+$Lang['Folders'] = "Répertoires";
+$Lang['FolderIn'] = "Répertoire source";
+$Lang['FolderOut'] = "Répertoire de sortie";
+$Lang['Options'] = "Options";
+$Lang['silentORNOT'] = "Si dossier de sortie non vide";
+$Lang['DIRhighORNOT'] = "Créer le dossier haute définition";
+$Lang['DIMhdORNOT'] = "Redimensionner les images HD";
+$Lang['renameORNOT'] = "Renommer les fichiers";
+$Lang['indexORNOT'] = "Ajouter les fichiers index.php";
+$Lang['prefixe_mini'] = "Préfixe des miniatures";
+$Lang['Sizes and quality'] = "Tailles et qualité";
+$Lang['DIMhd'] = "Taille maximale des images HD";
+$Lang['DIMnormal'] = "Taille des images normales";
+$Lang['DIMthumbnail'] = "Taille des miniatures";
+$Lang['Qhd'] = "Qualité des images HD";
+$Lang['Qnormal'] = "Qualité des images normales";
+$Lang['Qthumbnail'] = "Qualité des miniatures";
+$Lang['DPI'] = "Résolution des images HD";
+$Lang['Copyright'] = "Copyright";
+$Lang['Content'] = "Texte";
+$Lang['copyONhd'] = "Sur les images HD";
+$Lang['copyONnormal'] = "Sur les images normales";
+$Lang['copyPOS%s'] = "Position%s";
+$Lang['copyPOSh'] = " horizontale";
+$Lang['copyPOSv'] = " verticale";
+$Lang['copySIZE'] = "Taille (ratio image/texte)";
+$Lang['copyCOLOR'] = "Couleur";
+$Lang['copyFONT'] = "Police";
+$Lang['Plugins'] = "Plugins";
+$Lang['yes'] = "oui";
+$Lang['no'] = "non";
+$Lang['top'] = "haut";
+$Lang['center'] = "milieu";
+$Lang['bottom'] = "bas";
+$Lang['left'] = "gauche";
+$Lang['right'] = "droite";
+$Lang['erase'] = "Effacer";
+$Lang['pass'] = "Continuer";
+$Lang['block'] = "Bloquer";
+$Lang['New !'] = "Nouveau !";
+$Lang['Missing !'] = "Manquant !";
+$Lang['Reset'] = "Réinitialiser";
+$Lang['Valid'] = "Valider";
+$Lang['Active'] = "Activé";
+$Lang['Inactive'] = "Désactivé";
+?>
Index: extensions/PHP_Optimisateur/language/fr_FR/fr_FR.php
===================================================================
--- extensions/PHP_Optimisateur/language/fr_FR/fr_FR.php	(revision 9633)
+++ 	(revision )
@@ -1,63 +1,0 @@
-<?php
-$Lang['fatal.ErrorConfigFile'] = "Erreur fatale : Fichier de configuration introuvable.";
-$Lang['fatal.ErrorFolderIn'] = "Erreur fatale : Dossier source vide.";
-$Lang['fatal.ErrorFolderOut'] = "Erreur fatale : Dossier de sortie non vide.";
-$Lang['fatal.ErrorNconvert'] = "Erreur fatale : Le programme <i>nconvert.exe</i> est introuvable.";
-$Lang['fatal.ErrorConfig'] = "Erreur fatale : Configuration incorrecte.";
-$Lang['notice.EraseFolderOut'] = "Attention : Le dossier de sortie va être entièrement vidé.";
-$Lang['notice.ErrorConfig'] = "Des erreurs de configuration ont été corrigées, veuillez vérifier les réglages.";
-$Lang['Source files'] = "Fichiers traités";
-$Lang['%d files'] = "%d fichiers";
-$Lang['Finish %d seconds'] = "Opération terminée : %d secondes.";
-$Lang['Ready'] = "Prêt à commencer.";
-$Lang['Processing'] = "En cours de traitement.";
-$Lang['Launch'] = "Exécuter";
-$Lang['Config'] = "Configurer";
-$Lang['Back'] = "Retour";
-$Lang['Configuration'] = "Configuration";
-$Lang['Folders'] = "Répertoires";
-$Lang['FolderIn'] = "Répertoire source";
-$Lang['FolderOut'] = "Répertoire de sortie";
-$Lang['Options'] = "Options";
-$Lang['silentORNOT'] = "Si dossier de sortie non vide";
-$Lang['DIRhighORNOT'] = "Créer le dossier haute définition";
-$Lang['DIMhdORNOT'] = "Redimensionner les images HD";
-$Lang['renameORNOT'] = "Renommer les fichiers";
-$Lang['indexORNOT'] = "Ajouter les fichiers index.php";
-$Lang['prefixe_mini'] = "Préfixe des miniatures";
-$Lang['Sizes and quality'] = "Tailles et qualité";
-$Lang['DIMhd'] = "Taille maximale des images HD";
-$Lang['DIMnormal'] = "Taille des images normales";
-$Lang['DIMthumbnail'] = "Taille des miniatures";
-$Lang['Qhd'] = "Qualité des images HD";
-$Lang['Qnormal'] = "Qualité des images normales";
-$Lang['Qthumbnail'] = "Qualité des miniatures";
-$Lang['DPI'] = "Résolution des images HD";
-$Lang['Copyright'] = "Copyright";
-$Lang['Content'] = "Texte";
-$Lang['copyONhd'] = "Sur les images HD";
-$Lang['copyONnormal'] = "Sur les images normales";
-$Lang['copyPOS%s'] = "Position%s";
-$Lang['copyPOSh'] = " horizontale";
-$Lang['copyPOSv'] = " verticale";
-$Lang['copySIZE'] = "Taille (ratio image/texte)";
-$Lang['copyCOLOR'] = "Couleur";
-$Lang['copyFONT'] = "Police";
-$Lang['Plugins'] = "Plugins";
-$Lang['yes'] = "oui";
-$Lang['no'] = "non";
-$Lang['top'] = "haut";
-$Lang['center'] = "milieu";
-$Lang['bottom'] = "bas";
-$Lang['left'] = "gauche";
-$Lang['right'] = "droite";
-$Lang['erase'] = "Effacer";
-$Lang['pass'] = "Continuer";
-$Lang['block'] = "Bloquer";
-$Lang['New !'] = "Nouveau !";
-$Lang['Missing !'] = "Manquant !";
-$Lang['Reset'] = "Réinitialiser";
-$Lang['Valid'] = "Valider";
-$Lang['Active'] = "Activé";
-$Lang['Inactive'] = "Désactivé";
-?>
Index: extensions/PHP_Optimisateur/language/fr_FR/fr_FR.txt
===================================================================
--- extensions/PHP_Optimisateur/language/fr_FR/fr_FR.txt	(revision 9633)
+++ 	(revision )
@@ -1,1 +1,0 @@
-Français
Index: extensions/PHP_Optimisateur/language/fr_FR/iso.txt
===================================================================
--- extensions/PHP_Optimisateur/language/fr_FR/iso.txt	(revision 10337)
+++ extensions/PHP_Optimisateur/language/fr_FR/iso.txt	(revision 10337)
@@ -0,0 +1,1 @@
+Français
Index: extensions/PHP_Optimisateur/language/it_IT/common.lang.php
===================================================================
--- extensions/PHP_Optimisateur/language/it_IT/common.lang.php	(revision 10337)
+++ extensions/PHP_Optimisateur/language/it_IT/common.lang.php	(revision 10337)
@@ -0,0 +1,69 @@
+<?php
+$Lang['fatal.ErrorConfigFile'] = "Errore fatale : File di configurazione mancante.";
+$Lang['fatal.ErrorFolderIn'] = "Errore fatale : La cartella input è vuota.";
+$Lang['fatal.ErrorFolderOut'] = "Errore fatale : La cartella output non è vuota.";
+$Lang['fatal.ErrorNconvert'] = "Errore fatale : Il Programma <i>nconvert.exe</i> non si trova.";
+$Lang['fatal.ErrorConfig'] = "Errore fatale : Configurazione incorretta.";
+$Lang['notice.EraseFolderOut'] = "Attenzione : La cartella output sarà completamente svuotata.";
+$Lang['notice.ErrorConfig'] = "Alcuni errori di configurazione sono stati risolti, si prega di controllare i vostri parametri.";
+$Lang['notice.must_be_integer %s'] = "%s must be an integer.";
+$Lang['notice.must_be_integer_100 %s'] = "%s must be a decimal below 100.";
+$Lang['notice.must_be_decimal %s'] = "%s must be a decimal.";
+
+$Lang['Source files'] = "File gestiti";
+$Lang['%d files'] = "%d file";
+$Lang['Finish %d seconds'] = "Elaborazione terminata : %d secondi.";
+$Lang['Ready'] = "Pronto per l'avvio.";
+$Lang['Processing'] = "Elaborazione.";
+$Lang['Launch'] = "Avvio";
+$Lang['Config'] = "Configurare";
+$Lang['Back'] = "Indietro";
+$Lang['Reload'] = "Reload";
+$Lang['Saved'] = "Configuration saved. <i>Redirection...</i>";
+$Lang['Configuration'] = "Configurazione";
+$Lang['Folders'] = "Cartelle";
+$Lang['FolderIn'] = "Cartella input";
+$Lang['FolderOut'] = "Cartella output";
+$Lang['Options'] = "Impostazioni";
+$Lang['silentORNOT'] = "Se la cartella d'output non è vuota";
+$Lang['DIRhighORNOT'] = "Creare delle cartelle HD";
+$Lang['DIMhdORNOT'] = "Ridimensionare le immagini HD";
+$Lang['renameORNOT'] = "Rinominare i file e le cartelle";
+$Lang['indexORNOT'] = "Aggiungere dei file index.php";
+$Lang['prefixe_mini'] = "Prefisso dei thumbnail";
+$Lang['Sizes and quality'] = "Grandezze e qualità";
+$Lang['DIMhd'] = "Grandezza massima delle immagini in HD";
+$Lang['DIMnormal'] = "Grandezza massima delle immagini normali";
+$Lang['DIMthumbnail'] = "Grandezza dei thumbnail";
+$Lang['Qhd'] = "Qualità delle immagini in HD";
+$Lang['Qnormal'] = "Qualità delle immagini normali";
+$Lang['Qthumbnail'] = "Qualità dei thumbnail";
+$Lang['DPI'] = "Risoluzione delle immagini in HD";
+$Lang['Copyright'] = "Copyright";
+$Lang['Content'] = "Contenuto";
+$Lang['copyONhd'] = "In alta definizione";
+$Lang['copyONnormal'] = "Normale";
+$Lang['copyPOS%s'] = "%s Posizione";
+$Lang['copyPOSh'] = "Orizzontale ";
+$Lang['copyPOSv'] = "Verticale ";
+$Lang['copySIZE'] = "Grandezza (ratio immagine/testo)";
+$Lang['copyCOLOR'] = "Colore";
+$Lang['copyFONT'] = "Font";
+$Lang['Plugins'] = "Plug-In";
+$Lang['yes'] = "su";
+$Lang['no'] = "no";
+$Lang['top'] = "cima";
+$Lang['center'] = "centro";
+$Lang['bottom'] = "fondo";
+$Lang['left'] = "sinistra";
+$Lang['right'] = "destra";
+$Lang['erase'] = "Eliminare";
+$Lang['pass'] = "Continuare";
+$Lang['block'] = "Blocco";
+$Lang['New !'] = "Nuovo !";
+$Lang['Missing !'] = "Manca !";
+$Lang['Reset'] = "Reset";
+$Lang['Valid'] = "Validare";
+$Lang['Active'] = "Attivo";
+$Lang['Inactive'] = "Inattivo";
+?>
Index: extensions/PHP_Optimisateur/language/it_IT/iso.txt
===================================================================
--- extensions/PHP_Optimisateur/language/it_IT/iso.txt	(revision 10337)
+++ extensions/PHP_Optimisateur/language/it_IT/iso.txt	(revision 10337)
@@ -0,0 +1,1 @@
+Italiano
Index: extensions/PHP_Optimisateur/language/it_IT/it_IT.php
===================================================================
--- extensions/PHP_Optimisateur/language/it_IT/it_IT.php	(revision 9633)
+++ 	(revision )
@@ -1,63 +1,0 @@
-<?php
-$Lang['fatal.ErrorConfigFile'] = "Errore fatale : File di configurazione mancante.";
-$Lang['fatal.ErrorFolderIn'] = "Errore fatale : La cartella input è vuota.";
-$Lang['fatal.ErrorFolderOut'] = "Errore fatale : La cartella output non è vuota.";
-$Lang['fatal.ErrorNconvert'] = "Errore fatale : Il Programma <i>nconvert.exe</i> non si trova.";
-$Lang['fatal.ErrorConfig'] = "Errore fatale : Configurazione incorretta.";
-$Lang['notice.EraseFolderOut'] = "Attenzione : La cartella output sarà completamente svuotata.";
-$Lang['notice.ErrorConfig'] = "Alcuni errori di configurazione sono stati risolti, si prega di controllare i vostri parametri.";
-$Lang['Source files'] = "File gestiti";
-$Lang['%d files'] = "%d file";
-$Lang['Finish %d seconds'] = "Elaborazione terminata : %d secondi.";
-$Lang['Ready'] = "Pronto per l'avvio.";
-$Lang['Processing'] = "Elaborazione.";
-$Lang['Launch'] = "Avvio";
-$Lang['Config'] = "Configurare";
-$Lang['Back'] = "Indietro";
-$Lang['Configuration'] = "Configurazione";
-$Lang['Folders'] = "Cartelle";
-$Lang['FolderIn'] = "Cartella input";
-$Lang['FolderOut'] = "Cartella output";
-$Lang['Options'] = "Impostazioni";
-$Lang['silentORNOT'] = "Se la cartella d'output non è vuota";
-$Lang['DIRhighORNOT'] = "Creare delle cartelle HD";
-$Lang['DIMhdORNOT'] = "Ridimensionare le immagini HD";
-$Lang['renameORNOT'] = "Rinominare i file e le cartelle";
-$Lang['indexORNOT'] = "Aggiungere dei file index.php";
-$Lang['prefixe_mini'] = "Prefisso dei thumbnail";
-$Lang['Sizes and quality'] = "Grandezze e qualità";
-$Lang['DIMhd'] = "Grandezza massima delle immagini in HD";
-$Lang['DIMnormal'] = "Grandezza massima delle immagini normali";
-$Lang['DIMthumbnail'] = "Grandezza dei thumbnail";
-$Lang['Qhd'] = "Qualità delle immagini in HD";
-$Lang['Qnormal'] = "Qualità delle immagini normali";
-$Lang['Qthumbnail'] = "Qualità dei thumbnail";
-$Lang['DPI'] = "Risoluzione delle immagini in HD";
-$Lang['Copyright'] = "Copyright";
-$Lang['Content'] = "Contenuto";
-$Lang['copyONhd'] = "In alta definizione";
-$Lang['copyONnormal'] = "Normale";
-$Lang['copyPOS%s'] = "%s Posizione";
-$Lang['copyPOSh'] = "Orizzontale ";
-$Lang['copyPOSv'] = "Verticale ";
-$Lang['copySIZE'] = "Grandezza (ratio immagine/testo)";
-$Lang['copyCOLOR'] = "Colore";
-$Lang['copyFONT'] = "Font";
-$Lang['Plugins'] = "Plug-In";
-$Lang['yes'] = "su";
-$Lang['no'] = "no";
-$Lang['top'] = "cima";
-$Lang['center'] = "centro";
-$Lang['bottom'] = "fondo";
-$Lang['left'] = "sinistra";
-$Lang['right'] = "destra";
-$Lang['erase'] = "Eliminare";
-$Lang['pass'] = "Continuare";
-$Lang['block'] = "Blocco";
-$Lang['New !'] = "Nuovo !";
-$Lang['Missing !'] = "Manca !";
-$Lang['Reset'] = "Reset";
-$Lang['Valid'] = "Validare";
-$Lang['Active'] = "Attivo";
-$Lang['Inactive'] = "Inattivo";
-?>
Index: extensions/PHP_Optimisateur/language/it_IT/it_IT.txt
===================================================================
--- extensions/PHP_Optimisateur/language/it_IT/it_IT.txt	(revision 9633)
+++ 	(revision )
@@ -1,1 +1,0 @@
-Italiano
Index: extensions/PHP_Optimisateur/language/lv_LV/common.lang.php
===================================================================
--- extensions/PHP_Optimisateur/language/lv_LV/common.lang.php	(revision 10337)
+++ extensions/PHP_Optimisateur/language/lv_LV/common.lang.php	(revision 10337)
@@ -0,0 +1,69 @@
+<?php
+$Lang['fatal.ErrorConfigFile'] = "Fatāla kļūda : Trūkst konfigurācijas fails.";
+$Lang['fatal.ErrorFolderIn'] = "Fatāla kļūda : Tukša ievades mape.";
+$Lang['fatal.ErrorFolderOut'] = "Fatāla kļūda : Nav tukša izvades mape.";
+$Lang['fatal.ErrorNconvert'] = "Fatāla kļūda : Nav atrasta programma nconvert.exe.";
+$Lang['fatal.ErrorConfig'] = "Fatāla kļūda : Nekorekta konfigurācija.";
+$Lang['notice.EraseFolderOut'] = "Brīdinājums : Izvades mape tiks pilnībā iztukšota.";
+$Lang['notice.ErrorConfig'] = "Fiksētas dažas konfigurācija kļūdas, lūdzu pārbaudiet parametrus.";
+$Lang['notice.must_be_integer %s'] = "%s must be an integer.";
+$Lang['notice.must_be_integer_100 %s'] = "%s must be a decimal below 100.";
+$Lang['notice.must_be_decimal %s'] = "%s must be a decimal.";
+
+$Lang['Source files'] = "Apstrādātie faili";
+$Lang['%d files'] = "%d faili";
+$Lang['Finish %d seconds'] = "Process paveikts : %d sekundes.";
+$Lang['Ready'] = "Gatavs sākt.";
+$Lang['Processing'] = "Apstrāde.";
+$Lang['Launch'] = "Sākt";
+$Lang['Config'] = "Konfigurēt";
+$Lang['Back'] = "Atpakaļ";
+$Lang['Reload'] = "Reload";
+$Lang['Saved'] = "Configuration saved. <i>Redirection...</i>";
+$Lang['Configuration'] = "Konfigurācija";
+$Lang['Folders'] = "Mapes";
+$Lang['FolderIn'] = "Ievades mape";
+$Lang['FolderOut'] = "Izvades mape";
+$Lang['Options'] = "Opcijas";
+$Lang['silentORNOT'] = "Ja izvades mape nav tukša";
+$Lang['DIRhighORNOT'] = "Izveidot augstas izšķirtspējas (HD) mapes";
+$Lang['DIMhdORNOT'] = "Izmainīt HD attēlu izmērus";
+$Lang['renameORNOT'] = "Pārdēvēt failus un mapes";
+$Lang['indexORNOT'] = "Pievienot index.php failus";
+$Lang['prefixe_mini'] = "Sīkbilžu prefiksi";
+$Lang['Sizes and quality'] = "Izmēri un kvalitāte";
+$Lang['DIMhd'] = "HD attēla maksimālais izmērs";
+$Lang['DIMnormal'] = "Normāla attēla maksimālais izmērs";
+$Lang['DIMthumbnail'] = "Sīkbildes izmērs";
+$Lang['Qhd'] = "HD attēla kvalitāte";
+$Lang['Qnormal'] = "Normāla attēla kvalitāte";
+$Lang['Qthumbnail'] = "Sīkbildes kvalitāte";
+$Lang['DPI'] = "HD attēla izšķirtspēja";
+$Lang['Copyright'] = "Autortiesības";
+$Lang['Content'] = "Saturs";
+$Lang['copyONhd'] = "Augstā izšķirtspējā";
+$Lang['copyONnormal'] = "Normālā izšķirtspējā";
+$Lang['copyPOS%s'] = "%sPozīcija";
+$Lang['copyPOSh'] = "Horizontāli ";
+$Lang['copyPOSv'] = "Vertikāli ";
+$Lang['copySIZE'] = "Izmērs (attēls/teksts attiecība)";
+$Lang['copyCOLOR'] = "Krāsa";
+$Lang['copyFONT'] = "Fonts";
+$Lang['Plugins'] = "Spraudnis";
+$Lang['yes'] = "jā";
+$Lang['no'] = "nē";
+$Lang['top'] = "augšā";
+$Lang['center'] = "vidū";
+$Lang['bottom'] = "apakšā";
+$Lang['left'] = "pa kreisi";
+$Lang['right'] = "pa labi";
+$Lang['erase'] = "Dzēst";
+$Lang['pass'] = "Turpināt";
+$Lang['block'] = "Bloķēt";
+$Lang['New !'] = "Jauns !";
+$Lang['Missing !'] = "Trūkst !";
+$Lang['Reset'] = "Atjaunot";
+$Lang['Valid'] = "Validēt";
+$Lang['Active'] = "Aktīvs";
+$Lang['Inactive'] = "Neaktīvs";
+?>
Index: extensions/PHP_Optimisateur/language/lv_LV/iso.txt
===================================================================
--- extensions/PHP_Optimisateur/language/lv_LV/iso.txt	(revision 10337)
+++ extensions/PHP_Optimisateur/language/lv_LV/iso.txt	(revision 10337)
@@ -0,0 +1,1 @@
+Latvian
Index: extensions/PHP_Optimisateur/language/lv_LV/lv_LV.php
===================================================================
--- extensions/PHP_Optimisateur/language/lv_LV/lv_LV.php	(revision 9633)
+++ 	(revision )
@@ -1,63 +1,0 @@
-<?php
-$Lang['fatal.ErrorConfigFile'] = "Fatāla kļūda : Trūkst konfigurācijas fails.";
-$Lang['fatal.ErrorFolderIn'] = "Fatāla kļūda : Tukša ievades mape.";
-$Lang['fatal.ErrorFolderOut'] = "Fatāla kļūda : Nav tukša izvades mape.";
-$Lang['fatal.ErrorNconvert'] = "Fatāla kļūda : Nav atrasta programma nconvert.exe.";
-$Lang['fatal.ErrorConfig'] = "Fatāla kļūda : Nekorekta konfigurācija.";
-$Lang['notice.EraseFolderOut'] = "Brīdinājums : Izvades mape tiks pilnībā iztukšota.";
-$Lang['notice.ErrorConfig'] = "Fiksētas dažas konfigurācija kļūdas, lūdzu pārbaudiet parametrus.";
-$Lang['Source files'] = "Apstrādātie faili";
-$Lang['%d files'] = "%d faili";
-$Lang['Finish %d seconds'] = "Process paveikts : %d sekundes.";
-$Lang['Ready'] = "Gatavs sākt.";
-$Lang['Processing'] = "Apstrāde.";
-$Lang['Launch'] = "Sākt";
-$Lang['Config'] = "Konfigurēt";
-$Lang['Back'] = "Atpakaļ";
-$Lang['Configuration'] = "Konfigurācija";
-$Lang['Folders'] = "Mapes";
-$Lang['FolderIn'] = "Ievades mape";
-$Lang['FolderOut'] = "Izvades mape";
-$Lang['Options'] = "Opcijas";
-$Lang['silentORNOT'] = "Ja izvades mape nav tukša";
-$Lang['DIRhighORNOT'] = "Izveidot augstas izšķirtspējas (HD) mapes";
-$Lang['DIMhdORNOT'] = "Izmainīt HD attēlu izmērus";
-$Lang['renameORNOT'] = "Pārdēvēt failus un mapes";
-$Lang['indexORNOT'] = "Pievienot index.php failus";
-$Lang['prefixe_mini'] = "Sīkbilžu prefiksi";
-$Lang['Sizes and quality'] = "Izmēri un kvalitāte";
-$Lang['DIMhd'] = "HD attēla maksimālais izmērs";
-$Lang['DIMnormal'] = "Normāla attēla maksimālais izmērs";
-$Lang['DIMthumbnail'] = "Sīkbildes izmērs";
-$Lang['Qhd'] = "HD attēla kvalitāte";
-$Lang['Qnormal'] = "Normāla attēla kvalitāte";
-$Lang['Qthumbnail'] = "Sīkbildes kvalitāte";
-$Lang['DPI'] = "HD attēla izšķirtspēja";
-$Lang['Copyright'] = "Autortiesības";
-$Lang['Content'] = "Saturs";
-$Lang['copyONhd'] = "Augstā izšķirtspējā";
-$Lang['copyONnormal'] = "Normālā izšķirtspējā";
-$Lang['copyPOS%s'] = "%sPozīcija";
-$Lang['copyPOSh'] = "Horizontāli ";
-$Lang['copyPOSv'] = "Vertikāli ";
-$Lang['copySIZE'] = "Izmērs (attēls/teksts attiecība)";
-$Lang['copyCOLOR'] = "Krāsa";
-$Lang['copyFONT'] = "Fonts";
-$Lang['Plugins'] = "Spraudnis";
-$Lang['yes'] = "jā";
-$Lang['no'] = "nē";
-$Lang['top'] = "augšā";
-$Lang['center'] = "vidū";
-$Lang['bottom'] = "apakšā";
-$Lang['left'] = "pa kreisi";
-$Lang['right'] = "pa labi";
-$Lang['erase'] = "Dzēst";
-$Lang['pass'] = "Turpināt";
-$Lang['block'] = "Bloķēt";
-$Lang['New !'] = "Jauns !";
-$Lang['Missing !'] = "Trūkst !";
-$Lang['Reset'] = "Atjaunot";
-$Lang['Valid'] = "Validēt";
-$Lang['Active'] = "Aktīvs";
-$Lang['Inactive'] = "Neaktīvs";
-?>
Index: extensions/PHP_Optimisateur/language/lv_LV/lv_LV.txt
===================================================================
--- extensions/PHP_Optimisateur/language/lv_LV/lv_LV.txt	(revision 9633)
+++ 	(revision )
@@ -1,1 +1,0 @@
-Latvian
Index: extensions/PHP_Optimisateur/language/sk_SK/common.lang.php
===================================================================
--- extensions/PHP_Optimisateur/language/sk_SK/common.lang.php	(revision 10337)
+++ extensions/PHP_Optimisateur/language/sk_SK/common.lang.php	(revision 10337)
@@ -0,0 +1,69 @@
+<?php
+$Lang['fatal.ErrorConfigFile'] = "Fatálna chyba: Konfiguračný súbor chýba.";
+$Lang['fatal.ErrorFolderIn'] = "Fatálna chyba: Načítavací adresár je prázdny.";
+$Lang['fatal.ErrorFolderOut'] = "Fatálna chyba: Výstupný adresár je prázdny.";
+$Lang['fatal.ErrorNconvert'] = "Fatálna chyba: Program <i>nconvert.exe</i> nenájdený.";
+$Lang['fatal.ErrorConfig'] = "Fatálna chyba: Nekorektná konfigurácia.";
+$Lang['notice.EraseFolderOut'] = "Upozornenie: Výstupný adresár bude celý vyprázdnený.";
+$Lang['notice.ErrorConfig'] = "Niektoré konfiguračné chyby budú opravené, skontrolujte prosím Vaše parametre.";
+$Lang['notice.must_be_integer %s'] = "%s must be an integer.";
+$Lang['notice.must_be_integer_100 %s'] = "%s must be a decimal below 100.";
+$Lang['notice.must_be_decimal %s'] = "%s must be a decimal.";
+
+$Lang['Source files'] = "Ovládné súbory";
+$Lang['%d files'] = "%d súborov";
+$Lang['Finish %d seconds'] = "Proces ukončený o: %d sekúnd.";
+$Lang['Ready'] = "Pripravený na spustenie.";
+$Lang['Processing'] = "Spracovanie.";
+$Lang['Launch'] = "Spustenie";
+$Lang['Config'] = "Nastavenie";
+$Lang['Back'] = "Späť";
+$Lang['Reload'] = "Reload";
+$Lang['Saved'] = "Configuration saved. <i>Redirection...</i>";
+$Lang['Configuration'] = "Konfigurácia";
+$Lang['Folders'] = "Adresáre";
+$Lang['FolderIn'] = "Načítavací adresár";
+$Lang['FolderOut'] = "Výstupný adresár";
+$Lang['Options'] = "Možnosti";
+$Lang['silentORNOT'] = "Ak výstupný adresár nie je prázdny";
+$Lang['DIRhighORNOT'] = "Vytvorenie vysoko-definovaných adresárov ";
+$Lang['DIMhdORNOT'] = "Zmena veľkosti HD fotografie";
+$Lang['renameORNOT'] = "Premenovanie súborov a adresárov";
+$Lang['indexORNOT'] = "Pridanie index.php súborov";
+$Lang['prefixe_mini'] = "Predpona náhľadov";
+$Lang['Sizes and quality'] = "Veľkosti a kvalita";
+$Lang['DIMhd'] = "HD fotografie max veľkosti";
+$Lang['DIMnormal'] = "Normálna fotografia max veľkosti";
+$Lang['DIMthumbnail'] = "Veľkosť náhľadov";
+$Lang['Qhd'] = "Kvalita HD fotografií";
+$Lang['Qnormal'] = "Kvalita normálnych fotografií";
+$Lang['Qthumbnail'] = "Kvalita náhľadov";
+$Lang['DPI'] = "Rozlíšenie HD fotografií";
+$Lang['Copyright'] = "Copyright";
+$Lang['Content'] = "Obsah";
+$Lang['copyONhd'] = "Na vysoko-definované";
+$Lang['copyONnormal'] = "Na normálne";
+$Lang['copyPOS%s'] = "%spozícia";
+$Lang['copyPOSh'] = "Horizontálne ";
+$Lang['copyPOSv'] = "Vertikálne ";
+$Lang['copySIZE'] = "Veľkosť (pomer fotografia/text)";
+$Lang['copyCOLOR'] = "Farba";
+$Lang['copyFONT'] = "Font";
+$Lang['Plugins'] = "Doplnky";
+$Lang['yes'] = "áno";
+$Lang['no'] = "nie";
+$Lang['top'] = "hore";
+$Lang['center'] = "centrovane";
+$Lang['bottom'] = "dole";
+$Lang['left'] = "vľavo";
+$Lang['right'] = "vpravo";
+$Lang['erase'] = "Vymazať";
+$Lang['pass'] = "Pokračovať";
+$Lang['block'] = "Blok";
+$Lang['New !'] = "Nové!";
+$Lang['Missing !'] = "Chýbajúce!";
+$Lang['Reset'] = "Resetovať";
+$Lang['Valid'] = "Potvrdiť";
+$Lang['Active'] = "Platné";
+$Lang['Inactive'] = "Neplatné";
+?>
Index: extensions/PHP_Optimisateur/language/sk_SK/iso.txt
===================================================================
--- extensions/PHP_Optimisateur/language/sk_SK/iso.txt	(revision 10337)
+++ extensions/PHP_Optimisateur/language/sk_SK/iso.txt	(revision 10337)
@@ -0,0 +1,1 @@
+Slovensky
Index: extensions/PHP_Optimisateur/language/sk_SK/sk_SK.php
===================================================================
--- extensions/PHP_Optimisateur/language/sk_SK/sk_SK.php	(revision 9633)
+++ 	(revision )
@@ -1,63 +1,0 @@
-<?php
-$Lang['fatal.ErrorConfigFile'] = "Fatálna chyba: Konfiguračný súbor chýba.";
-$Lang['fatal.ErrorFolderIn'] = "Fatálna chyba: Načítavací adresár je prázdny.";
-$Lang['fatal.ErrorFolderOut'] = "Fatálna chyba: Výstupný adresár je prázdny.";
-$Lang['fatal.ErrorNconvert'] = "Fatálna chyba: Program <i>nconvert.exe</i> nenájdený.";
-$Lang['fatal.ErrorConfig'] = "Fatálna chyba: Nekorektná konfigurácia.";
-$Lang['notice.EraseFolderOut'] = "Upozornenie: Výstupný adresár bude celý vyprázdnený.";
-$Lang['notice.ErrorConfig'] = "Niektoré konfiguračné chyby budú opravené, skontrolujte prosím Vaše parametre.";
-$Lang['Source files'] = "Ovládné súbory";
-$Lang['%d files'] = "%d súborov";
-$Lang['Finish %d seconds'] = "Proces ukončený o: %d sekúnd.";
-$Lang['Ready'] = "Pripravený na spustenie.";
-$Lang['Processing'] = "Spracovanie.";
-$Lang['Launch'] = "Spustenie";
-$Lang['Config'] = "Nastavenie";
-$Lang['Back'] = "Späť";
-$Lang['Configuration'] = "Konfigurácia";
-$Lang['Folders'] = "Adresáre";
-$Lang['FolderIn'] = "Načítavací adresár";
-$Lang['FolderOut'] = "Výstupný adresár";
-$Lang['Options'] = "Možnosti";
-$Lang['silentORNOT'] = "Ak výstupný adresár nie je prázdny";
-$Lang['DIRhighORNOT'] = "Vytvorenie vysoko-definovaných adresárov ";
-$Lang['DIMhdORNOT'] = "Zmena veľkosti HD fotografie";
-$Lang['renameORNOT'] = "Premenovanie súborov a adresárov";
-$Lang['indexORNOT'] = "Pridanie index.php súborov";
-$Lang['prefixe_mini'] = "Predpona náhľadov";
-$Lang['Sizes and quality'] = "Veľkosti a kvalita";
-$Lang['DIMhd'] = "HD fotografie max veľkosti";
-$Lang['DIMnormal'] = "Normálna fotografia max veľkosti";
-$Lang['DIMthumbnail'] = "Veľkosť náhľadov";
-$Lang['Qhd'] = "Kvalita HD fotografií";
-$Lang['Qnormal'] = "Kvalita normálnych fotografií";
-$Lang['Qthumbnail'] = "Kvalita náhľadov";
-$Lang['DPI'] = "Rozlíšenie HD fotografií";
-$Lang['Copyright'] = "Copyright";
-$Lang['Content'] = "Obsah";
-$Lang['copyONhd'] = "Na vysoko-definované";
-$Lang['copyONnormal'] = "Na normálne";
-$Lang['copyPOS%s'] = "%s pozícia";
-$Lang['copyPOSh'] = "Horizontálne ";
-$Lang['copyPOSv'] = "Vertikálne ";
-$Lang['copySIZE'] = "Veľkosť (pomer fotografia/text)";
-$Lang['copyCOLOR'] = "Farba";
-$Lang['copyFONT'] = "Font";
-$Lang['Plugins'] = "Doplnky";
-$Lang['yes'] = "áno";
-$Lang['no'] = "nie";
-$Lang['top'] = "hore";
-$Lang['center'] = "centrovane";
-$Lang['bottom'] = "dole";
-$Lang['left'] = "vľavo";
-$Lang['right'] = "vpravo";
-$Lang['erase'] = "Vymazať";
-$Lang['pass'] = "Pokračovať";
-$Lang['block'] = "Blok";
-$Lang['New !'] = "Nové!";
-$Lang['Missing !'] = "Chýbajúce!";
-$Lang['Reset'] = "Resetovať";
-$Lang['Valid'] = "Potvrdiť";
-$Lang['Active'] = "Platné";
-$Lang['Inactive'] = "Neplatné";
-?>
Index: extensions/PHP_Optimisateur/language/sk_SK/sk_SK.txt
===================================================================
--- extensions/PHP_Optimisateur/language/sk_SK/sk_SK.txt	(revision 9633)
+++ 	(revision )
@@ -1,1 +1,0 @@
-Slovensky
Index: extensions/PHP_Optimisateur/plugins/charlies_content/config.xml
===================================================================
--- extensions/PHP_Optimisateur/plugins/charlies_content/config.xml	(revision 10337)
+++ extensions/PHP_Optimisateur/plugins/charlies_content/config.xml	(revision 10337)
@@ -0,0 +1,5 @@
+<plugin>
+	<name>Charlie's Content</name>
+	<mode>ProcessHigh</mode>
+	<video_time>rand</video_time>
+</plugin>
Index: extensions/PHP_Optimisateur/plugins/charlies_content/language/en_UK.php
===================================================================
--- extensions/PHP_Optimisateur/plugins/charlies_content/language/en_UK.php	(revision 10337)
+++ extensions/PHP_Optimisateur/plugins/charlies_content/language/en_UK.php	(revision 10337)
@@ -0,0 +1,5 @@
+<?php
+$Lang['charlies_content.rand'] = "&nbsp;&nbsp;'rand' to random";
+$Lang['charlies_content.video_time'] = "Thumbnail position";
+$Lang['fatal.charlies_content.error_ffmpeg'] = "Fatal error : The program <i>ffmpeg.exe</i> is unavailable.";
+?>
Index: extensions/PHP_Optimisateur/plugins/charlies_content/language/fr_FR.php
===================================================================
--- extensions/PHP_Optimisateur/plugins/charlies_content/language/fr_FR.php	(revision 10337)
+++ extensions/PHP_Optimisateur/plugins/charlies_content/language/fr_FR.php	(revision 10337)
@@ -0,0 +1,5 @@
+<?php
+$Lang['charlies_content.rand'] = "&nbsp;&nbsp;'rand' pour choix aléatoire";
+$Lang['charlies_content.video_time'] = "Position de la miniature";
+$Lang['fatal.charlies_content.error_ffmpeg'] = "Erreur fatale : Le programme <i>ffmpeg.exe</i> est introuvable.";
+?>
Index: extensions/PHP_Optimisateur/plugins/charlies_content/main.php
===================================================================
--- extensions/PHP_Optimisateur/plugins/charlies_content/main.php	(revision 10337)
+++ extensions/PHP_Optimisateur/plugins/charlies_content/main.php	(revision 10337)
@@ -0,0 +1,96 @@
+<?php
+/***************************************\
+|			PHP OPTIMISATEUR			|
+|	  Plugin Charlie's Content 1.0		|
+\***************************************/
+
+## Génère des miniatures pour divers types de fichiers
+
+$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',
+);
+$CC_video_exts = array( // extensions tested with FFmpeg
+	'wmv','mov','mkv','mp4','mpg','flv','asf','xvid','divx','mpeg',
+	'avi','rm', # <-- additional formats
+);
+$CC_video_time = $CONF['Plugins']['charlies_content']['video_time'];
+
+if (!function_exists('ffmpeg')) {
+function ffmpeg($param, $log=true) {
+	global $LOG;
+
+	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 "'. ROOT_DIR.$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"');
+	}
+
+	// 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;
+}
+
+?>
Index: extensions/PHP_Optimisateur/plugins/charlies_content/setup.php
===================================================================
--- extensions/PHP_Optimisateur/plugins/charlies_content/setup.php	(revision 10337)
+++ extensions/PHP_Optimisateur/plugins/charlies_content/setup.php	(revision 10337)
@@ -0,0 +1,46 @@
+<?php
+load_plugin_lang('charlies_content');
+
+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');
+		}
+
+		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/language/en_UK.php
===================================================================
--- extensions/PHP_Optimisateur/plugins/convert_pan/language/en_UK.php	(revision 10337)
+++ extensions/PHP_Optimisateur/plugins/convert_pan/language/en_UK.php	(revision 10337)
@@ -0,0 +1,10 @@
+<?php
+$Lang['convert_pan.unactive'] = "&nbsp;&nbsp;'0' to unactive";
+$Lang['convert_pan.DetectMode'] = "Detection mode";
+$Lang['convert_pan.DetectMode.name'] = "suffix";
+$Lang['convert_pan.DetectMode.ratio'] = "ratio";
+$Lang['convert_pan.DIMpanorama'] = "Panorama height";
+$Lang['convert_pan.NAMEpanorama'] = "Distinctive suffix";
+$Lang['convert_pan.RatioPan'] = "Minimal ratio";
+$Lang['convert_pan.RatioPanThumb'] = "Thumbnails ratio";
+?>
Index: extensions/PHP_Optimisateur/plugins/convert_pan/language/fr_FR.php
===================================================================
--- extensions/PHP_Optimisateur/plugins/convert_pan/language/fr_FR.php	(revision 10337)
+++ extensions/PHP_Optimisateur/plugins/convert_pan/language/fr_FR.php	(revision 10337)
@@ -0,0 +1,10 @@
+<?php
+$Lang['convert_pan.unactive'] = "&nbsp;&nbsp;'0' pour désactiver";
+$Lang['convert_pan.DetectMode'] = "Mode de détection";
+$Lang['convert_pan.DetectMode.name'] = "suffixe";
+$Lang['convert_pan.DetectMode.ratio'] = "ratio";
+$Lang['convert_pan.DIMpanorama'] = "Hauteur du panorama";
+$Lang['convert_pan.NAMEpanorama'] = "Suffixe distinctif";
+$Lang['convert_pan.RatioPan'] = "Ratio minimum";
+$Lang['convert_pan.RatioPanThumb'] = "Ratio des miniatures";
+?>
Index: extensions/PHP_Optimisateur/plugins/convert_pan/main.php
===================================================================
--- extensions/PHP_Optimisateur/plugins/convert_pan/main.php	(revision 9633)
+++ extensions/PHP_Optimisateur/plugins/convert_pan/main.php	(revision 10337)
@@ -2,5 +2,5 @@
 /***************************************\
 |			PHP OPTIMISATEUR			|
-|		  Plugin ConvertPan 1.2			|
+|		  Plugin ConvertPan 1.3			|
 \***************************************/
 
@@ -14,8 +14,13 @@
 $CP_ratiopanthumb = $CONF['Plugins']['convert_pan']['RatioPanThumb']; 	// Ratio des miniatures
 
-if (($CP_detectmode == 'name' AND strpos($FileName,$CP_namepanorama) !== false) OR ($CP_detectmode == 'ratio' AND $FileInfos['Width']/$FileInfos['Height'] >= $CP_ratiopan)) {
+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)
+) {
 
 	if (!isset($BlockNormal) AND $CP_dimpanorama != 0) { 
-		exec('include\nconvert.exe -q '.$CONF['Qnormal'].' -out jpeg -o "'.$FileFolder.$FileName.'.jpg" -dpi 72 '.$CONF['convOptions'].' -resize 0 '.$CP_dimpanorama.' '.$CONF['copyNormal'].' "'.$FilesSource[$i].'"');
+		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;
 	}
@@ -28,7 +33,9 @@
 		$offset_x = ($tmp_x - $CONF['DIMthumbnail']) / 2;
 		
-		exec('include\nconvert.exe -q '.$CONF['Qthumbnail'].' -out jpeg -o "'.$FileFolder.'thumbnail/'.$CONF['prefixe_mini'].$FileName.'.jpg" -dpi 72 '.$CONF['convOptions'].' -resize 0 '.$DIMthumbnailV.' -crop '.$offset_x.' 0 '.$CONF['DIMthumbnail'].' '.$DIMthumbnailV.' -rmeta -rexifthumb "'.$FilesSource[$i].'"');
+		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 9633)
+++ extensions/PHP_Optimisateur/plugins/convert_pan/setup.php	(revision 10337)
@@ -1,8 +1,9 @@
 <?php
+load_plugin_lang('convert_pan');
+
 switch ($PLUGIN_ACTION) {
 	// Affichage simple de la configuration
 	case 'read_config':
-		load_plugin_lang('convert_pan');
-		$PAGE_CONTENT[0] .= '
+		$PAGE['content'] .= '
 		<table>
 			<tr>
@@ -12,5 +13,5 @@
 			
 			if ($plugin_config['DetectMode'] == 'name') {
-				$PAGE_CONTENT[0] .= '
+				$PAGE['content'] .= '
 				<tr>
 					<td>'.l10n('convert_pan.NAMEpanorama').' :</td>
@@ -18,5 +19,5 @@
 				</tr>';
 			} else if ($plugin_config['DetectMode'] == 'ratio') {
-				$PAGE_CONTENT[0] .= '
+				$PAGE['content'] .= '
 				<tr>
 					<td>'.l10n('convert_pan.RatioPan').' :</td>
@@ -25,8 +26,8 @@
 			}
 			
-			$PAGE_CONTENT[0] .= '
+			$PAGE['content'] .= '
 			<tr>
 				<td>'.l10n('convert_pan.DIMpanorama').' :</td>
-				<td>'.$plugin_config['DIMpanorama'].'px</td>
+				<td>'.$plugin_config['DIMpanorama'].' px</td>
 			</tr>
 			<tr>
@@ -43,13 +44,13 @@
 		if (!is_decimal($_POST['Plugins']['convert_pan']['DIMpanorama'])) {
 			$_POST['Plugins']['convert_pan']['DIMpanorama'] = 500;
-			$Errors['ErrorConfig'] = 'notice';
+			$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['ErrorConfig'] = 'notice';
+			$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['ErrorConfig'] = 'notice';
+			$ERRORS['conf'][] = array(l10n('convert_pan.RatioPan'), 'must_be_decimal');
 		}
 		
@@ -58,6 +59,5 @@
 	// Formulaire d'édition
 	case 'edit_config':
-		load_plugin_lang('convert_pan');
-		$PAGE_CONTENT[0] .= '
+		$PAGE['content'] .= '
 		<script type="text/javascript">
 			function ToggleConfig(sel, section){
Index: extensions/PHP_Optimisateur/plugins/create_custom_thumbs/language/en_UK.php
===================================================================
--- extensions/PHP_Optimisateur/plugins/create_custom_thumbs/language/en_UK.php	(revision 10337)
+++ extensions/PHP_Optimisateur/plugins/create_custom_thumbs/language/en_UK.php	(revision 10337)
@@ -0,0 +1,5 @@
+<?php
+$Lang['create_custom_thumbs.unactive'] = "&nbsp;&nbsp;'0' to unactive";
+$Lang['create_custom_thumbs.DIMthumbnailV'] = "Thumbnails height";
+$Lang['create_custom_thumbs.FRAMEparams'] = "Border";
+?>
Index: extensions/PHP_Optimisateur/plugins/create_custom_thumbs/language/fr_FR.php
===================================================================
--- extensions/PHP_Optimisateur/plugins/create_custom_thumbs/language/fr_FR.php	(revision 10337)
+++ extensions/PHP_Optimisateur/plugins/create_custom_thumbs/language/fr_FR.php	(revision 10337)
@@ -0,0 +1,5 @@
+<?php
+$Lang['create_custom_thumbs.unactive'] = "&nbsp;&nbsp;'0' pour désactiver";
+$Lang['create_custom_thumbs.DIMthumbnailV'] = "Hauteur des miniatures";
+$Lang['create_custom_thumbs.FRAMEparams'] = "Bordure";
+?>
Index: extensions/PHP_Optimisateur/plugins/create_custom_thumbs/main.php
===================================================================
--- extensions/PHP_Optimisateur/plugins/create_custom_thumbs/main.php	(revision 9633)
+++ extensions/PHP_Optimisateur/plugins/create_custom_thumbs/main.php	(revision 10337)
@@ -2,5 +2,5 @@
 /***************************************\
 |			PHP OPTIMISATEUR			|
-|	  Plugin CreateCustomThumbs 1.0.a	|
+|	  Plugin CreateCustomThumbs 1.1		|
 \***************************************/
 
@@ -8,8 +8,10 @@
 ## Dépend de la valeur de $CONF['DIMthumbnail']
 
+if (!isset($BlockAll)) {
+
 // CreateCustomThumbs à la priorité sur ConvertPan
 if (isset($BlockThumbnail['convert_pan']) OR !isset($BlockThumbnail)) { 
 
-	$FileSource = $FilesSource[$i]; // fichier de travail
+	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
@@ -30,11 +32,11 @@
 		}
 		
-		$offset_x = ($tmp_x - $CONF['DIMthumbnail']) / 2;
-		$offset_y = ($tmp_y - $CCT_dimthumbnail) / 2;
+		$offset_x = ceil(($tmp_x - $CONF['DIMthumbnail']) / 2);
+		$offset_y = ceil(($tmp_y - $CCT_dimthumbnail) / 2);
 		
-		exec('include\nconvert.exe -overwrite -q '.$CONF['Qthumbnail'].' -out jpeg -o "'.$FileFolder.'thumbnail/'.$CONF['prefixe_mini'].$FileName.'.jpg" -dpi 72 '.$CONF['convOptions'].' -resize '.$resize_param.' -crop '.$offset_x.' '.$offset_y.' '.$CONF['DIMthumbnail'].' '.$CCT_dimthumbnail.' -rmeta -rexifthumb 	"'.$FileSource.'"');
+		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;
-		$FileSource = $FileFolder.'thumbnail/'.$CONF['prefixe_mini'].$FileName.'.jpg';
+		$CCT_filesource = $file['folder_out'].'thumbnail/'.$CONF['prefixe_mini'].$file['name'].'.jpg';
 	}
 
@@ -42,10 +44,10 @@
 	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 ($FileSource == $FilesSource[$i]) {
-			exec('include\nconvert.exe -q '.$CONF['Qthumbnail'].' -out jpeg -o "'.$FileFolder.'thumbnail/'.$CONF['prefixe_mini'].$FileName.'.jpg" -dpi 72 '.$CONF['convOptions'].' -resize '.$CONF['DIMthumbnail'].' '.$CONF['DIMthumbnail'].' -rmeta -rexifthumb 	"'.$FilesSource[$i].'"');
-			$FileSource = $FileFolder.'thumbnail/'.$CONF['prefixe_mini'].$FileName.'.jpg';
+		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($FileSource);
+		$img = imagecreatefromjpeg($CCT_filesource);
 		$x = imagesx($img)-1;
 		$y = imagesy($img)-1;
@@ -63,11 +65,12 @@
 		}
 		
-		imagejpeg($img, $FileFolder.'thumbnail/'.$CONF['prefixe_mini'].$FileName.'.jpg', $CONF['Qthumbnail']);
+		imagejpeg($img, $file['folder_out'].'thumbnail/'.$CONF['prefixe_mini'].$file['name'].'.jpg', $CONF['Qthumbnail']);
 		imagedestroy($img);
 		
 		$BlockThumbnail['create_custom_thumbs'] = true;
-		$FileSource = $FileFolder.'thumbnail/'.$CONF['prefixe_mini'].$FileName.'.jpg';
+		$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 9633)
+++ extensions/PHP_Optimisateur/plugins/create_custom_thumbs/setup.php	(revision 10337)
@@ -1,16 +1,16 @@
 <?php
+load_plugin_lang('create_custom_thumbs');
+
 switch ($PLUGIN_ACTION) {
 	// Affichage simple de la configuration
 	case 'read_config':
-		load_plugin_lang('create_custom_thumbs');
-		
 		$plugin_config['FRAMEparams']['color1'] = nice_hex_color($plugin_config['FRAMEparams']['color1']);
 		$plugin_config['FRAMEparams']['color2'] = nice_hex_color($plugin_config['FRAMEparams']['color2']);
 		
-		$PAGE_CONTENT[0] .= '
+		$PAGE['content'] .= '
 		<table>
 			<tr>
 				<td>'.l10n('create_custom_thumbs.DIMthumbnailV').' :</td>
-				<td>'.bool_to_string($plugin_config['DIMthumbnailV']).'</td>
+				<td>'.bool_to_string($plugin_config['DIMthumbnailV']).' px</td>
 			</tr>
 			<tr>
@@ -36,18 +36,18 @@
 	// Actions avant enregistrement
 	case 'save_config':
-		$_POST['Plugins']['create_custom_thumbs']['FRAMEparams']['color1'] = str_replace('#','', $_POST['Plugins']['create_custom_thumbs']['FRAMEparams']['color1']);
-		$_POST['Plugins']['create_custom_thumbs']['FRAMEparams']['color2'] = str_replace('#','', $_POST['Plugins']['create_custom_thumbs']['FRAMEparams']['color2']);
+		$_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['ErrorConfig'] = 'notice';
+			$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['ErrorConfig'] = 'notice';
+			$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['ErrorConfig'] = 'notice';
+			$ERRORS['conf'][] = array(l10n('create_custom_thumbs.FRAMEparams').' 2', 'must_be_integer');
 		}
 		
@@ -57,15 +57,13 @@
 	// Formulaire d'édition
 	case 'edit_config':
-		load_plugin_lang('create_custom_thumbs');
-
 		$plugin_config['FRAMEparams']['color1'] = nice_hex_color($plugin_config['FRAMEparams']['color1']);
 		$plugin_config['FRAMEparams']['color2'] = nice_hex_color($plugin_config['FRAMEparams']['color2']);
 		
-		$PAGE_CONTENT[0] .='
+		$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"/>
+					<input type="text" name="Plugins[create_custom_thumbs][DIMthumbnailV]" value="'.$plugin_config['DIMthumbnailV'].'" size="3"/>px
 					<i>'.l10n('create_custom_thumbs.unactive').'</i>
 				</td>
Index: extensions/PHP_Optimisateur/plugins/create_folders_alpha/main.php
===================================================================
--- extensions/PHP_Optimisateur/plugins/create_folders_alpha/main.php	(revision 9633)
+++ extensions/PHP_Optimisateur/plugins/create_folders_alpha/main.php	(revision 10337)
@@ -2,5 +2,5 @@
 /***************************************\
 |			PHP OPTIMISATEUR			|
-|	  Plugin CreateFoldersAlpha 1.1		|
+|	  Plugin CreateFoldersAlpha 1.2		|
 \***************************************/
 
@@ -19,11 +19,19 @@
 			// Crée les dossier
 			if (!file_exists($CONF['DIRsource'].$Letter.'/'.$FolderName)) {
-				mkdir($CONF['DIRsource'].$Letter.'/'.$FolderName, 0777, true);
+				mkdir_log($CONF['DIRsource'].$Letter.'/'.$FolderName);
 			}
 			
 			// Déplace le fichier
-			rename($CONF['DIRsource'].$file, $CONF['DIRsource'].$Letter.'/'.$FolderName.'/'.$file);
+			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;
+	}
 }
+
+if (isset($done)) $LOG[] = "\r\n";
+
 ?>
Index: extensions/PHP_Optimisateur/plugins/front2back_support/config.xml
===================================================================
--- extensions/PHP_Optimisateur/plugins/front2back_support/config.xml	(revision 9633)
+++ extensions/PHP_Optimisateur/plugins/front2back_support/config.xml	(revision 10337)
@@ -4,3 +4,4 @@
 	<NAMEverso>_verso</NAMEverso>
 	<MOVEverso>true</MOVEverso>
+	<TAGverso>alternate</TAGverso>
 </plugin>
Index: extensions/PHP_Optimisateur/plugins/front2back_support/language/en_UK.php
===================================================================
--- extensions/PHP_Optimisateur/plugins/front2back_support/language/en_UK.php	(revision 10337)
+++ extensions/PHP_Optimisateur/plugins/front2back_support/language/en_UK.php	(revision 10337)
@@ -0,0 +1,6 @@
+<?php
+$Lang['front2back_support.unactive'] = "&nbsp;&nbsp;empty to unactive";
+$Lang['front2back_support.NAMEverso'] = "Distinctive suffix";
+$Lang['front2back_support.MOVEverso'] = "Move input file";
+$Lang['front2back_support.TAGverso'] = "Add IPTC tag";
+?>
Index: extensions/PHP_Optimisateur/plugins/front2back_support/language/fr_FR.php
===================================================================
--- extensions/PHP_Optimisateur/plugins/front2back_support/language/fr_FR.php	(revision 10337)
+++ extensions/PHP_Optimisateur/plugins/front2back_support/language/fr_FR.php	(revision 10337)
@@ -0,0 +1,6 @@
+<?php
+$Lang['front2back_support.unactive'] = "&nbsp;&nbsp;vide pour désactiver";
+$Lang['front2back_support.NAMEverso'] = "Suffixe distinctif";
+$Lang['front2back_support.MOVEverso'] = "Déplacer le fichier source";
+$Lang['front2back_support.TAGverso'] = "Tag IPTC à ajouter";
+?>
Index: extensions/PHP_Optimisateur/plugins/front2back_support/main.php
===================================================================
--- extensions/PHP_Optimisateur/plugins/front2back_support/main.php	(revision 9633)
+++ extensions/PHP_Optimisateur/plugins/front2back_support/main.php	(revision 10337)
@@ -2,5 +2,5 @@
 /***************************************\
 |			PHP OPTIMISATEUR			|
-|	  Plugin Front2Back Support 1.1.a	|
+|	  Plugin Front2Back Support 1.2		|
 \***************************************/
 
@@ -11,25 +11,40 @@
 $F2B_nameverso = $CONF['Plugins']['front2back_support']['NAMEverso']; // Suffixe des versions alternatives
 $F2B_moveverso = $CONF['Plugins']['front2back_support']['MOVEverso']; // Déplacer les images originales dans un sous dosssier 'verso'
+$F2B_tagverso  = $CONF['Plugins']['front2back_support']['TAGverso'];  // Ajoute un tag à toutes les images possédant une version alternative
 
-if (strpos($FileName, $F2B_nameverso) !== false) {
-	$FileNameClean = str_replace($F2B_nameverso, '', $FileName);
+if (!isset($BlockAll)) {
+
+// 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];
+}
+
+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($FileFolder.'thumbnail/verso')) {
-		mkdir($FileFolder.'thumbnail/verso');
+	if (!file_exists($file['folder_out'].'thumbnail/verso')) {
+		mkdir_log($file['folder_out'].'thumbnail/verso');
 	}
-	exec('include\nconvert.exe -q '.$CONF['Qnormal'].' -out jpeg -o "'.$FileFolder.'thumbnail/verso/'.$FileNameClean.'.jpg" -dpi 72 '.$CONF['convOptions'].' -resize '.$CONF['DIMnormal'].' '.$CONF['DIMnormal'].' '.$CONF['copyNormal'].' "'.$FilesSource[$i].'"');
+	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($FileFolder.'pwg_high/verso')) {
-			mkdir($FileFolder.'pwg_high/verso');
+		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']) {
-			exec('include\nconvert.exe -q '.$CONF['Qhd'].' -out jpeg -o "'.$FileFolder.'pwg_high/verso/'.$FileNameClean.'.jpg" -dpi '.$CONF['DPI'].' '.$CONF['convOptions'].' -resize '.$CONF['DIMhd'].' '.$CONF['DIMhd'].' '.$CONF['copyHD'].' "'.$FilesSource[$i].'"');
-		} else if (!in_array($FileExt, $CONF['JPGexts'])) {
-			exec('include\nconvert.exe -q '.$CONF['Qhd'].' -out jpeg -o "'.$FileFolder.'pwg_high/'.$FileNameClean.'.jpg" "'.$FilesSource[$i].'"');
+			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($FilesSource[$i], $FileFolder.'pwg_high/verso/'.$FileNameClean.'.jpg');
+			copy_log($FilesSource[$i], $file['folder_out'].'pwg_high/verso/'.$file['name_clean'].'.jpg');
 		}
 	}
@@ -37,14 +52,17 @@
 	// Déplacement de l'image originale
 	if ($F2B_moveverso) {
-		$FileFolderSource = str_replace($CONF['DIRsortie'], $CONF['DIRsource'], $FileFolder);
-		if (!file_exists($FileFolderSource.'verso')) {
-			mkdir($FileFolderSource.'verso', 0777, true);
+		if (!file_exists($file['folder_src'].'verso')) {
+			mkdir_log($file['folder_src'].'verso', 0777, true);
 		}
-		rename($FileFolderSource.$FileName.'.'.$FileExt, $FileFolderSource.'verso/'.$FileNameClean.'.'.$FileExt);
+		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($FileFolder.'thumbnail/'.$CONF['prefixe_mini'].$FileName.'.jpg')) {
-		unlink($FileFolder.'thumbnail/'.$CONF['prefixe_mini'].$FileName.'.jpg');
+	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');
 	}
 	
@@ -53,3 +71,5 @@
 	$BlockHigh['front2back_support'] = true;
 }
+
+}
 ?>
Index: extensions/PHP_Optimisateur/plugins/front2back_support/setup.php
===================================================================
--- extensions/PHP_Optimisateur/plugins/front2back_support/setup.php	(revision 9633)
+++ extensions/PHP_Optimisateur/plugins/front2back_support/setup.php	(revision 10337)
@@ -1,8 +1,9 @@
 <?php
+load_plugin_lang('front2back_support');
+
 switch ($PLUGIN_ACTION) {
 	// Affichage simple de la configuration
 	case 'read_config':
-		load_plugin_lang('front2back_support');
-		$PAGE_CONTENT[0] .= '
+		$PAGE['content'] .= '
 		<table>
 			<tr>
@@ -13,4 +14,8 @@
 				<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>';
@@ -24,6 +29,5 @@
 	// Formulaire d'édition
 	case 'edit_config':
-		load_plugin_lang('front2back_support');
-		$PAGE_CONTENT[0] .= '
+		$PAGE['content'] .= '
 		<table>
 			<tr>
@@ -40,4 +44,11 @@
 				</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/language/en_UK.php
===================================================================
--- extensions/PHP_Optimisateur/plugins/watermark/language/en_UK.php	(revision 10337)
+++ extensions/PHP_Optimisateur/plugins/watermark/language/en_UK.php	(revision 10337)
@@ -0,0 +1,4 @@
+<?php
+$Lang['watermark.waterFILE'] = "File";
+$Lang['watermark.waterALPHA'] = "Opacity";
+?>
Index: extensions/PHP_Optimisateur/plugins/watermark/language/fr_FR.php
===================================================================
--- extensions/PHP_Optimisateur/plugins/watermark/language/fr_FR.php	(revision 10337)
+++ extensions/PHP_Optimisateur/plugins/watermark/language/fr_FR.php	(revision 10337)
@@ -0,0 +1,4 @@
+<?php
+$Lang['watermark.waterFILE'] = "Fichier";
+$Lang['watermark.waterALPHA'] = "Opacité";
+?>
Index: extensions/PHP_Optimisateur/plugins/watermark/setup.php
===================================================================
--- extensions/PHP_Optimisateur/plugins/watermark/setup.php	(revision 9633)
+++ extensions/PHP_Optimisateur/plugins/watermark/setup.php	(revision 10337)
@@ -1,8 +1,9 @@
 <?php
+load_plugin_lang('watermark');
+
 switch ($PLUGIN_ACTION) {
 	// Affichage simple de la configuration
 	case 'read_config':
-		load_plugin_lang('watermark');
-		$PAGE_CONTENT[0] .= '
+		$PAGE['content'] .= '
 		<table>
 			<tr>
@@ -12,5 +13,5 @@
 			<tr>
 				<td>'.l10n('watermark.waterALPHA').' :</td>
-				<td>'.$plugin_config['waterALPHA'].'%</td>
+				<td>'.$plugin_config['waterALPHA'].' %</td>
 			</tr>
 		</table>';
@@ -21,5 +22,5 @@
 		if (!is_decimal($_POST['Plugins']['watermark']['waterALPHA'])) {
 			$_POST['Plugins']['watermark']['waterALPHA'] = 80;
-			$Errors['ErrorConfig'] = 'notice';
+			$ERRORS['conf'][] = array(l10n('watermark.waterALPHA'), 'must_be_integer');
 		}
 		
@@ -28,6 +29,5 @@
 	// Formulaire d'édition
 	case 'edit_config':
-		load_plugin_lang('watermark');
-		$PAGE_CONTENT[0] .= '
+		$PAGE['content'] .= '
 		<table>
 			<tr>
Index: extensions/PHP_Optimisateur/template/css/screen.css
===================================================================
--- extensions/PHP_Optimisateur/template/css/screen.css	(revision 9633)
+++ extensions/PHP_Optimisateur/template/css/screen.css	(revision 10337)
@@ -54,5 +54,4 @@
 		width:942px;
 		text-align:center;
-		font-size:0.9em;
 		border:none;
 	}
@@ -91,4 +90,8 @@
 		font-weight:bold;
 		font-size:1.2em;
+	}
+	div.notice.conf {
+		font-weight:normal;
+		font-size:1em;
 	}
 	div.link {
@@ -101,5 +104,4 @@
 a {
 	text-decoration:none;
-	font-size:1.2em;
 	font-style:italic;
 	font-family:"Consolas";
@@ -115,15 +117,5 @@
 		float:right;
 		margin-bottom:1px;
-	}
-	/* .lang a {
-		margin:-4px 10px;
-		float:right;
-		border:none;
-	}
-		.lang a:hover img {
-			-moz-box-shadow:0 0 4px #07f;
-			-webkit-box-shadow:0 0 4px #07f;
-		} */
-	
+	}	
 
 h2 {
@@ -210,12 +202,9 @@
 	min-width:50%;
 }
-	/* td {
-		width:50%;
-	} */
-		tr td:first-child {
-			text-align:right;
-			padding-right:5px;
-			font-weight:bold;
-		}
+	tr td:first-child {
+		text-align:right;
+		padding-right:5px;
+		font-weight:bold;
+	}
 	tr td.legend {
 		font-weight:normal;
@@ -247,5 +236,5 @@
 #languageSwitchLink {
 	float:right;
-	width:90px;
+	width:100px;
 	padding:0 5px;
 	text-align:left;
@@ -257,5 +246,5 @@
 	right:50%;
 	margin-right:-470px;
-	width:90px;
+	width:100px;
 	z-index:99;
 	padding:5px;
