$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').'
';
foreach ($FilesSource as $value) {
echo '- '.$value.'
';
}
echo '
'.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 '