$null) { echo '
'.l10n($key).'
'; } echo ''; } ### EXECUTION ### if (isset($_GET['Process']) AND !isset($Errors)) { // Si mode silencieux vidage automatique du dossier de sortie if ($silentORNOT == 'erase') { rrmdir($DIRsortie); mkdir($DIRsortie); } ### Supprimer les caractères spéciaux - dossiers & fichiers ### // Les caractères '%' et '$' sont systématiquement échappés, ca génère des bugs dans les noms de fichiers function recursive_delete_special_car($dir) { $dir = rtrim($dir, '/'); $dh = opendir($dir); while (($file = readdir($dh)) !== false ) { if ($file !== '.' && $file !== '..') { $path = $dir.'/'.$file; $new_path = $dir.'/'.delete_special_car($file); rename($path, $new_path); if (is_dir($new_path)) { recursive_delete_special_car($new_path); } } } closedir($dh); } recursive_delete_special_car($DIRsource); ### Copyright & Options générales des conversion ### $copyright = utf8_decode($copyright); $copyCOLOR = hex2RGB(substr($copyCOLOR,1), true, ' '); if ($copyONhd) { $copyHD = '-text_font "'.$copyFONT.'" '.$DIMnormal*$copySIZE.' -text_color '.$copyCOLOR.' -text_flag '.$copyPOS.' -text_pos 0 0 -text "'.$copyright.'"'; } else { $copyHD = null; } if ($copyONnormal) { $copyNormal = '-text_font "'.$copyFONT.'" '.$DIMnormal*$copySIZE.' -text_color '.$copyCOLOR.' -text_flag '.$copyPOS.' -text_pos 0 0 -text "'.$copyright.'"'; } else { $copyNormal = null; } $convOptions = '-ratio -rtype lanczos -rflag decr'; ### Plugins avant execution ### foreach ($PluginsBefore as $name => $config) { if ($config['active']) { include('plugins/'.$name.'.php'); } } ### Processus principal ### // Tableau avec les fichiers source $FilesSource = array(); recursive_readdir($DIRsource, 'FilesSource'); // Tableau avec les fichiers de sortie $FilesSortie = str_replace($DIRsource, $DIRsortie, $FilesSource); // Boucle sur tous les fichiers for ($i=0; $i $config) { if ($config['active']) { include('plugins/'.$name.'.php'); } } // Compresse les fichiers dans le dossier de sortie if (!isset($BlockNormal)) { exec('files\nconvert.exe -q '.$Qnormal.' -out jpeg -o "'.$FileFolder.'/'.$FileName.'" -dpi 72 '.$convOptions.' -resize '.$DIMnormal.' '.$DIMnormal.' '.$copyNormal.' "'.$FilesSource[$i].'"'); } if (!isset($BlockThumbnail)) { exec('files\nconvert.exe -q '.$Qthumbnail.' -out jpeg -o "'.$FileFolder.'/thumbnail/'.$prefixe_mini.$FileName.'" -dpi 72 '.$convOptions.' -resize '.$DIMthumbnail.' '.$DIMthumbnail.' -rmeta -rexifthumb "'.$FilesSource[$i].'"'); } if (!isset($BlockHigh) AND $DIRhighORNOT) { if ($DIMhdORNOT) { exec('files\nconvert.exe -q '.$Qhd.' -out jpeg -o "'.$FileFolder.'/pwg_high/'.$FileName.'" -dpi '.$DPI.' '.$convOptions.' -resize '.$DIMhd.' '.$DIMhd.' '.$copyHD.' "'.$FilesSource[$i].'"'); } else { copy($FilesSource[$i], $FileFolder.'/pwg_high/'.$FileName); } } // Réinitialise les bloqueurs unset($FileInfos); unset($BlockNormal); unset($BlockThumbnail); unset($BlockHigh); } ### Affichage des fichiers traités ### echo '

'.l10n('Source files').'

'.l10n('%d files', count($FilesSource)).'
'; unset($FilesSource); unset($FilesSortie); ### Supprime les dossiers vides et copie les fichiers index.php ### $DirsSortie = array(); recursive_readdir($DIRsortie, 'DirsSortie', true); foreach($DirsSortie as $dir) { if (is_dir_empty($dir)) { rmdir($dir); } else if ($indexORNOT) { copy('files/index.php', $dir.'/index.php'); } } unset($DirsSortie); ### Plugins après execution ### foreach ($PluginsAfter as $name => $config) { if ($config['active']) { include('plugins/'.$name.'.php'); } } ### Message final ### echo '
'.l10n('Finish %d seconds', intval((microtime(true)-$TIME_START))).'
'; ### READY ### } else if (!isset($Errors)) { echo '
'.l10n('Ready').'
'; } ### FIN ### echo ' '; ?>