diff options
author | plegall <plg@piwigo.org> | 2005-01-16 11:13:30 +0000 |
---|---|---|
committer | plegall <plg@piwigo.org> | 2005-01-16 11:13:30 +0000 |
commit | d5c2a2eda88f89bd3ed40523283fd601e90216ab (patch) | |
tree | 14ae7f3aded18e19ae294a7e1c12d8dcac01b3a6 | |
parent | cc5ba30bd061d00be17bb26061962016e4112b9d (diff) |
- big update in thumbnail creation process : form is always shown with the
comprehensive list of pictures without thumbnails (no matter the
directory) unless there are no thumbnail missing.
- thumbnail creation process : form parameters are saved between 2 thumbnail
generations thanks to new process
- thumbnail creation process : can ask to create all missing thumbnails
- thumbnail creation process : default thumbnail width and height are
configured in include/config.inc.php
- thumbnail creation process : errors due to no write access directories are
catched
git-svn-id: http://piwigo.org/svn/trunk@695 68402e56-0260-453c-a942-63ccdbb3a9ee
Diffstat (limited to '')
-rw-r--r-- | admin/thumbnail.php | 487 | ||||
-rw-r--r-- | include/config.inc.php | 9 | ||||
-rw-r--r-- | language/en_UK.iso-8859-1/admin.lang.php | 2 | ||||
-rw-r--r-- | language/fr_FR.iso-8859-1/admin.lang.php | 2 | ||||
-rw-r--r-- | template/default/admin/thumbnail.tpl | 56 | ||||
-rw-r--r-- | template/default/default.css | 10 |
6 files changed, 258 insertions, 308 deletions
diff --git a/admin/thumbnail.php b/admin/thumbnail.php index a300c26ca..60982caa6 100644 --- a/admin/thumbnail.php +++ b/admin/thumbnail.php @@ -26,104 +26,30 @@ // +-----------------------------------------------------------------------+ include_once( PHPWG_ROOT_PATH.'admin/include/isadmin.inc.php' ); //------------------------------------------------------------------- functions -// get_subdirs returns an array containing all sub directory names, -// excepting : '.', '..' and 'thumbnail'. -function get_subdirs( $dir ) +// RatioResizeImg creates a new picture (a thumbnail since it is supposed to +// be smaller than original picture !) in the sub directory named +// "thumbnail". +function RatioResizeImg($path, $newWidth, $newHeight, $tn_ext) { - $sub_dirs = array(); - if ( $opendir = opendir( $dir ) ) - { - while ( $file = readdir( $opendir ) ) - { - if ($file != 'thumbnail' - and $file != 'pwg_representative' - and $file != 'pwg_high' - and $file != '.' - and $file != '..' - and is_dir($dir.'/'.$file)) - { - array_push( $sub_dirs, $file ); - } - } - } - return $sub_dirs; -} + global $conf, $lang, $errors; -// get_images_without_thumbnail returns an array with all the picture names -// that don't have associated thumbnail in the directory. Each picture name -// is associated with the width, heigh and filesize of the picture. -function get_images_without_thumbnail( $dir ) -{ - $images = array(); - if ( $opendir = opendir( $dir ) ) + $filename = basename($path); + $dirname = dirname($path); + + // extension of the picture filename + $extension = get_extension($filename); + + if ($extension == 'jpg' or $extension == 'JPG') { - while ( $file = readdir( $opendir ) ) - { - $path = $dir.'/'.$file; - if ( is_image( $path, true ) ) - { - if ( !TN_exists( $dir, $file ) ) - { - $image_infos = getimagesize( $path ); - $size = floor( filesize( $path ) / 1024 ). ' KB'; - array_push( $images, array( 'name' => $file, - 'width' => $image_infos[0], - 'height' => $image_infos[1], - 'size' => $size ) ); - } - } - } + $srcImage = @imagecreatefromjpeg($path); } - return $images; -} - -// phpwg_scandir scans a dir to find pictures without thumbnails. Once found, -// creation of the thumbnails (RatioResizeImg). Only the first $_POST['n'] -// pictures without thumbnails are treated. -// scandir returns an array with the generation time of each thumbnail (for -// statistics purpose) -function phpwg_scandir( $dir, $width, $height ) -{ - global $conf; - $stats = array(); - if ( $opendir = opendir( $dir ) ) + else if ($extension == 'png' or $extension == 'PNG') { - while ( $file = readdir ( $opendir ) ) - { - $path = $dir.'/'.$file; - if ( is_image( $path, true ) ) - { - if ( count( $stats ) < $_POST['n'] and !TN_exists( $dir, $file ) ) - { - $starttime = get_moment(); - $info = RatioResizeImg( $file, $width, $height, $dir.'/', 'jpg' ); - $endtime = get_moment(); - $info['time'] = ( $endtime - $starttime ) * 1000; - array_push( $stats, $info ); - } - } - } + $srcImage = @imagecreatefrompng($path); } - return $stats; -} - -// RatioResizeImg creates a new picture (a thumbnail since it is supposed to -// be smaller than original picture !) in the sub directory named -// "thumbnail". -function RatioResizeImg( $filename, $newWidth, $newHeight, $path, $tn_ext ) -{ - global $conf, $lang; - // full path to picture - $filepath = $path.$filename; - // extension of the picture filename - $extension = get_extension( $filepath ); - switch( $extension ) + else { - case 'jpg': $srcImage = @imagecreatefromjpeg( $filepath ); break; - case 'JPG': $srcImage = @imagecreatefromjpeg( $filepath ); break; - case 'png': $srcImage = @imagecreatefrompng( $filepath ); break; - case 'PNG': $srcImage = @imagecreatefrompng( $filepath ); break; - default : unset( $extension ); break; + unset($extension); } if ( isset( $srcImage ) ) @@ -168,31 +94,38 @@ function RatioResizeImg( $filename, $newWidth, $newHeight, $path, $tn_ext ) imagecopyresized( $destImage, $srcImage, 0, 0, 0, 0, $destWidth,$destHeight,$srcWidth,$srcHeight ); } - - - if( !is_dir( $path.'thumbnail' ) ) + + $tndir = $dirname.'/thumbnail'; + if (!is_dir($tndir)) { - umask( 0000 ); - mkdir( $path.'thumbnail', 0777 ); + if (!is_writable($dirname)) + { + array_push($errors, '['.$dirname.'] : '.$lang['no_write_access']); + return false; + } + umask(0000); + mkdir($tndir, 0777); } - $dest_file = $path.'thumbnail/'.$conf['prefix_thumbnail']; - $dest_file.= get_filename_wo_extension( $filename ); + + $dest_file = $tndir.'/'.$conf['prefix_thumbnail']; + $dest_file.= get_filename_wo_extension($filename); $dest_file.= '.'.$tn_ext; - + // creation and backup of final picture - imagejpeg( $destImage, $dest_file ); + if (!is_writable($tndir)) + { + array_push($errors, '['.$tndir.'] : '.$lang['no_write_access']); + return false; + } + imagejpeg($destImage, $dest_file); // freeing memory ressources imagedestroy( $srcImage ); imagedestroy( $destImage ); - - list( $width,$height ) = getimagesize( $filepath ); - $size = floor( filesize( $filepath ) / 1024 ).' KB'; - list( $tn_width,$tn_height ) = getimagesize( $dest_file ); - $tn_size = floor( filesize( $dest_file ) / 1024 ).' KB'; - $info = array( 'file' => $filename, - 'width' => $width, - 'height' => $height, - 'size' => $size, + + list($tn_width, $tn_height) = getimagesize($dest_file); + $tn_size = floor(filesize($dest_file) / 1024).' KB'; + + $info = array( 'path' => $path, 'tn_file' => $dest_file, 'tn_width' => $tn_width, 'tn_height' => $tn_height, @@ -218,36 +151,17 @@ function RatioResizeImg( $filename, $newWidth, $newHeight, $path, $tn_ext ) $errors = array(); $pictures = array(); $stats = array(); - -if ( isset( $_GET['dir'] ) && isset( $_POST['submit'] )) -{ - $pictures = get_images_without_thumbnail( $_GET['dir'] ); - // checking criteria - if ( !ereg( "^[0-9]{2,3}$", $_POST['width'] ) or $_POST['width'] < 10 ) - { - array_push( $errors, $lang['tn_err_width'].' 10' ); - } - if ( !ereg( "^[0-9]{2,3}$", $_POST['height'] ) or $_POST['height'] < 10 ) - { - array_push( $errors, $lang['tn_err_height'].' 10' ); - } - - // picture miniaturization - if ( count( $errors ) == 0 ) - { - $stats = phpwg_scandir( $_GET['dir'], $_POST['width'], $_POST['height'] ); - } -} - -//----------------------------------------------------- template initialization +// +-----------------------------------------------------------------------+ +// | template initialization | +// +-----------------------------------------------------------------------+ $template->set_filenames( array('thumbnail'=>'admin/thumbnail.tpl') ); $template->assign_vars(array( 'L_THUMBNAIL_TITLE'=>$lang['tn_dirs_title'], - 'L_UNLINK'=>$lang['tn_dirs_alone'], + 'L_UNLINK'=>$lang['tn_no_missing'], 'L_MISSING_THUMBNAILS'=>$lang['tn_dirs_alone'], 'L_RESULTS'=>$lang['tn_results_title'], - 'L_TN_PICTURE'=>$lang['tn_picture'], + 'L_PATH'=>$lang['path'], 'L_FILESIZE'=>$lang['filesize'], 'L_WIDTH'=>$lang['tn_width'], 'L_HEIGHT'=>$lang['tn_height'], @@ -273,182 +187,223 @@ $template->assign_vars(array( 'T_STYLE'=>$user['template'] )); +// +-----------------------------------------------------------------------+ +// | search pictures without thumbnails | +// +-----------------------------------------------------------------------+ +$wo_thumbnails = array(); +$thumbnalized = array(); -//----------------------------------------------------- miniaturization results -if ( sizeof( $errors ) != 0 ) +// what is the directory to search in ? +$query = ' +SELECT galleries_url + FROM '.SITES_TABLE.' + WHERE id = 1 +;'; +list($galleries_url) = mysql_fetch_array(pwg_query($query)); +$basedir = preg_replace('#/*$#', '', $galleries_url); + +$fs = get_fs($basedir); +// because isset is one hundred time faster than in_array +$fs['thumbnails'] = array_flip($fs['thumbnails']); + +foreach ($fs['elements'] as $path) { - $template->assign_block_vars('errors',array()); - for ( $i = 0; $i < sizeof( $errors ); $i++ ) + // only pictures need thumbnails + if (in_array(get_extension($path), $conf['picture_ext'])) { - $template->assign_block_vars('errors.error',array('ERROR'=>$errors[$i])); + $dirname = dirname($path); + $filename = basename($path); + // searching the element + $filename_wo_ext = get_filename_wo_extension($filename); + $tn_ext = ''; + $base_test = $dirname.'/thumbnail/'; + $base_test.= $conf['prefix_thumbnail'].$filename_wo_ext.'.'; + foreach ($conf['picture_ext'] as $ext) + { + if (isset($fs['thumbnails'][$base_test.$ext])) + { + $tn_ext = $ext; + break; + } + } + + if (empty($tn_ext)) + { + array_push($wo_thumbnails, $path); + } } } -else if (isset($_GET['dir']) and isset($_POST['submit']) and !empty($stats)) +// +-----------------------------------------------------------------------+ +// | thumbnails creation | +// +-----------------------------------------------------------------------+ +if (isset($_POST['submit'])) { + $errors = array(); $times = array(); - foreach ($stats as $stat) + $infos = array(); + + // checking criteria + if (!ereg('^[0-9]{2,3}$', $_POST['width']) or $_POST['width'] < 10) { - array_push( $times, $stat['time'] ); + array_push($errors, $lang['tn_err_width'].' 10'); } - $sum=array_sum( $times ); - $average = $sum/sizeof($times); - sort( $times, SORT_NUMERIC ); - $max = array_pop($times); - $min = array_shift( $times); - - $template->assign_block_vars( - 'results', - array( - 'TN_NB'=>count( $stats ), - 'TN_TOTAL'=>number_format( $sum, 2, '.', ' ').' ms', - 'TN_MAX'=>number_format( $max, 2, '.', ' ').' ms', - 'TN_MIN'=>number_format( $min, 2, '.', ' ').' ms', - 'TN_AVERAGE'=>number_format( $average, 2, '.', ' ').' ms' - )); - if (!count($pictures)) + if (!ereg('^[0-9]{2,3}$', $_POST['height']) or $_POST['height'] < 10) { - $template->assign_block_vars('warning',array()); + array_push($errors, $lang['tn_err_height'].' 10'); } - foreach ($stats as $i => $stat) + // picture miniaturization + if (count($errors) == 0) { - $class = ($i % 2)? 'row1':'row2'; - $color=''; - if ($stat['time'] == $max) + $num = 1; + foreach ($wo_thumbnails as $path) { - $color = 'red'; + if (is_numeric($_POST['n']) and $num > $_POST['n']) + { + break; + } + + $starttime = get_moment(); + if ($info = RatioResizeImg($path,$_POST['width'],$_POST['height'],'jpg')) + { + $endtime = get_moment(); + $info['time'] = ($endtime - $starttime) * 1000; + array_push($infos, $info); + array_push($times, $info['time']); + array_push($thumbnalized, $path); + $num++; + } + else + { + break; + } } - else if ($stat['time'] == $min) + + if (count($infos) > 0) { - $color = '#33FF00'; - } - - $template->assign_block_vars( - 'results.picture', - array( - 'NB_IMG'=>($i+1), - 'FILE_IMG'=>$stat['file'], - 'FILESIZE_IMG'=>$stat['size'], - 'WIDTH_IMG'=>$stat['width'], - 'HEIGHT_IMG'=>$stat['height'], - 'TN_FILE_IMG'=>$stat['tn_file'], - 'TN_FILESIZE_IMG'=>$stat['tn_size'], - 'TN_WIDTH_IMG'=>$stat['tn_width'], - 'TN_HEIGHT_IMG'=>$stat['tn_height'], - 'GEN_TIME'=>number_format( $stat['time'], 2, '.', ' ').' ms', + $sum = array_sum($times); + $average = $sum / count($times); + sort($times, SORT_NUMERIC); + $max = array_pop($times); + if (count($thumbnalized) == 1) + { + $min = $max; + } + else + { + $min = array_shift($times); + } + + $template->assign_block_vars( + 'results', + array( + 'TN_NB'=>count($infos), + 'TN_TOTAL'=>number_format($sum, 2, '.', ' ').' ms', + 'TN_MAX'=>number_format($max, 2, '.', ' ').' ms', + 'TN_MIN'=>number_format($min, 2, '.', ' ').' ms', + 'TN_AVERAGE'=>number_format($average, 2, '.', ' ').' ms' + )); + + foreach ($infos as $i => $info) + { + if ($info['time'] == $max) + { + $class = 'worst_gen_time'; + } + else if ($info['time'] == $min) + { + $class = 'best_gen_time'; + } + else + { + $class = ''; + } - 'T_COLOR'=>$color, - 'T_CLASS'=>$class - )); + $template->assign_block_vars( + 'results.picture', + array( + 'PATH'=>$info['path'], + 'TN_FILE_IMG'=>$info['tn_file'], + 'TN_FILESIZE_IMG'=>$info['tn_size'], + 'TN_WIDTH_IMG'=>$info['tn_width'], + 'TN_HEIGHT_IMG'=>$info['tn_height'], + 'GEN_TIME'=>number_format($info['time'], 2, '.', ' ').' ms', + + 'T_CLASS'=>$class + )); + } + } + } +} +// +-----------------------------------------------------------------------+ +// | errors display | +// +-----------------------------------------------------------------------+ +if (count($errors) != 0) +{ + $template->assign_block_vars('errors',array()); + foreach ($errors as $error) + { + $template->assign_block_vars('errors.error',array('ERROR'=>$error)); } } -//-------------------------------------------------- miniaturization parameters -if (isset($_GET['dir']) and !sizeof($pictures)) +// +-----------------------------------------------------------------------+ +// | form & pictures without thumbnails display | +// +-----------------------------------------------------------------------+ +$remainings = array_diff($wo_thumbnails, $thumbnalized); + +if (count($remainings) > 0) { - $form_url = PHPWG_ROOT_PATH.'admin.php?page=thumbnail&dir='.$_GET['dir']; - $gd = !empty( $_POST['gd'] )?$_POST['gd']:2; - $width = !empty( $_POST['width'] )?$_POST['width']:128; - $height = !empty( $_POST['height'] )?$_POST['height']:96; + $form_url = PHPWG_ROOT_PATH.'admin.php?page=thumbnail'; + $gd = !empty($_POST['gd']) ? $_POST['gd'] : 2; + $width = !empty($_POST['width']) ? $_POST['width'] : $conf['tn_width']; + $height = !empty($_POST['height']) ? $_POST['height'] : $conf['tn_height']; + $n = !empty($_POST['n']) ? $_POST['n'] : 5; + $gdlabel = 'GD'.$gd.'_CHECKED'; + $nlabel = 'n_'.$n.'_CHECKED'; $template->assign_block_vars( 'params', array( 'F_ACTION'=>add_session_id($form_url), $gdlabel=>'checked="checked"', + $nlabel=>'checked="checked"', 'WIDTH_TN'=>$width, 'HEIGHT_TN'=>$height )); -//---------------------------------------------------------- remaining pictures - $pictures = get_images_without_thumbnail( $_GET['dir'] ); + $template->assign_block_vars( 'remainings', - array('TOTAL_IMG'=>count($pictures))); + array('TOTAL_IMG'=>count($remainings))); - foreach ($pictures as $i => $picture) + $num = 1; + foreach ($remainings as $path) { - $class = ($i % 2)? 'row1':'row2'; + $class = ($num % 2) ? 'row1' : 'row2'; + list($width, $height) = getimagesize($path); + $size = floor(filesize($path) / 1024).' KB'; + $template->assign_block_vars( 'remainings.remaining', array( - 'NB_IMG'=>($i+1), - 'FILE_TN'=>$picture['name'], - 'FILESIZE_IMG'=>$picture['size'], - 'WIDTH_IMG'=>$picture['width'], - 'HEIGHT_IMG'=>$picture['height'], - + 'NB_IMG'=>($num), + 'PATH'=>$path, + 'FILESIZE_IMG'=>$size, + 'WIDTH_IMG'=>$width, + 'HEIGHT_IMG'=>$height, + 'T_CLASS'=>$class )); + + $num++; } } -//-------------------------------------------------------------- directory list else { - $wo_thumbnails = array(); - - // what is the directory to search in ? - $query = ' -SELECT galleries_url - FROM '.SITES_TABLE.' - WHERE id = 1 -;'; - list($galleries_url) = mysql_fetch_array(pwg_query($query)); - $basedir = preg_replace('#/*$#', '', $galleries_url); - - $fs = get_fs($basedir); - // because isset is one hundred time faster than in_array - $fs['thumbnails'] = array_flip($fs['thumbnails']); - - foreach ($fs['elements'] as $path) - { - // only pictures need thumbnails - if (in_array(get_extension($path), $conf['picture_ext'])) - { - $dirname = dirname($path); - $filename = basename($path); - // searching the element - $filename_wo_ext = get_filename_wo_extension($filename); - $tn_ext = ''; - $base_test = $dirname.'/thumbnail/'; - $base_test.= $conf['prefix_thumbnail'].$filename_wo_ext.'.'; - foreach ($conf['picture_ext'] as $ext) - { - if (isset($fs['thumbnails'][$base_test.$ext])) - { - $tn_ext = $ext; - break; - } - } - - if (empty($tn_ext)) - { - if (!isset($wo_thumbnails[$dirname])) - { - $wo_thumbnails[$dirname] = 1; - } - else - { - $wo_thumbnails[$dirname]++; - } - } - } - } - - if (count($wo_thumbnails) > 0) - { - $template->assign_block_vars('directory_list', array()); - foreach ($wo_thumbnails as $directory => $nb_missing) - { - $url = PHPWG_ROOT_PATH.'admin.php?page=thumbnail&dir='.$directory; - - $template->assign_block_vars( - 'directory_list.directory', - array( - 'DIRECTORY'=>$directory, - 'URL'=>add_session_id($url), - 'NB_MISSING'=>$nb_missing)); - } - } + $template->assign_block_vars('warning', array()); } +// +-----------------------------------------------------------------------+ +// | return to admin | +// +-----------------------------------------------------------------------+ $template->assign_var_from_handle('ADMIN_CONTENT', 'thumbnail'); ?> diff --git a/include/config.inc.php b/include/config.inc.php index a25f22b98..edf3fb539 100644 --- a/include/config.inc.php +++ b/include/config.inc.php @@ -183,10 +183,17 @@ $conf['newcat_default_visible'] = 'true'; $conf['newcat_default_status'] = 'public'; // level_separator : character string used for separating a category level -// to the sub level +// to the sub level. Suggestions : ' / ', ' » ', ' → ', ' - ', +// ' >' $conf['level_separator'] = ' / '; // paginate_pages_around : on paginate navigation bar, how many pages // display before and after the current page ? $conf['paginate_pages_around'] = 2; + +// tn_width : default width for thumbnails creation +$conf['tn_width'] = 128; + +// tn_height : default height for thumbnails creation +$conf['tn_height'] = 96; ?> diff --git a/language/en_UK.iso-8859-1/admin.lang.php b/language/en_UK.iso-8859-1/admin.lang.php index 93189f50b..22beb924e 100644 --- a/language/en_UK.iso-8859-1/admin.lang.php +++ b/language/en_UK.iso-8859-1/admin.lang.php @@ -52,6 +52,7 @@ $lang['unlock'] = 'Unlock'; $lang['up'] = 'Move up'; $lang['down'] = 'Move down'; $lang['path'] = 'path'; +$lang['no_write_access'] = 'no write access'; // Specific words $lang['phpinfos'] = 'PHP Information'; @@ -263,6 +264,7 @@ $lang['tn_params_format_info'] = 'only jpeg file format is supported for thumbna $lang['tn_alone_title'] = 'pictures without thumbnail (jpeg and png only)'; $lang['tn_dirs_title'] = 'Directories list'; $lang['tn_dirs_alone'] = 'pictures without thumbnail'; +$lang['tn_no_missing'] = 'No missing thumbnail'; // Waiting files $lang['waiting_update'] = 'Validated pictures will be displayed only once pictures database updated'; diff --git a/language/fr_FR.iso-8859-1/admin.lang.php b/language/fr_FR.iso-8859-1/admin.lang.php index fb8470828..c8f32a111 100644 --- a/language/fr_FR.iso-8859-1/admin.lang.php +++ b/language/fr_FR.iso-8859-1/admin.lang.php @@ -53,6 +53,7 @@ $lang['unlock'] = 'Déverrouiller'; $lang['up'] = 'Monter'; $lang['down'] = 'Descendre'; $lang['path'] = 'Chemin d\'accès'; +$lang['no_write_access'] = 'pas d\'accès en écriture'; // Specific words $lang['phpinfos'] = 'Informations PHP'; @@ -269,6 +270,7 @@ $lang['tn_params_format_info'] = 'seul le format jpeg est supporté pour la créat $lang['tn_alone_title'] = 'images sans miniatures (format jpg et png uniquement)'; $lang['tn_dirs_title'] = 'Liste des répertoires'; $lang['tn_dirs_alone'] = 'images sans miniatures'; +$lang['tn_no_missing'] = 'Aucune miniature ne manque'; // Waiting files $lang['waiting_update'] = 'Les images validées ne seront visibles qu\'après mise à jour de la base d\'images.'; diff --git a/template/default/admin/thumbnail.tpl b/template/default/admin/thumbnail.tpl index f03ae1748..946173708 100644 --- a/template/default/admin/thumbnail.tpl +++ b/template/default/admin/thumbnail.tpl @@ -1,15 +1,3 @@ -<!-- BEGIN directory_list --> -<div class="admin">{L_THUMBNAIL_TITLE}</div> -<ul class="menu"> - <!-- BEGIN directory --> - <li>[<a href="{directory_list.directory.URL}">{directory_list.directory.DIRECTORY}</a>] {directory_list.directory.NB_MISSING} {L_MISSING_THUMBNAILS}</li> - <!-- END directory --> -</ul> -<!-- END directory_list --> -<!-- BEGIN warning --> -<div style="text-align:center;font-weight:bold;margin:10px;"> [ 0 {L_UNLINK} ]</div> -<!-- END warning --> - <!-- BEGIN errors --> <div class="errors"> <ul> @@ -24,37 +12,25 @@ <div class="admin">{L_RESULTS}</div> <table style="width:100%;"> <tr class="throw"> - <th> </td> - <th>{L_TN_PICTURE}</td> - <th>{L_FILESIZE}</td> - <th>{L_WIDTH}</td> - <th>{L_HEIGHT}</td> - <th>{L_GENERATED}</th> + <th>{L_PATH}</td> <th>{L_THUMBNAIL}</td> + <th>{L_GENERATED}</th> <th>{L_FILESIZE}</td> <th>{L_WIDTH}</td> <th>{L_HEIGHT}</td> </tr> <!-- BEGIN picture --> <tr class="{results.picture.T_CLASS}"> - <td>{results.picture.NB_IMG}</td> - <td>{results.picture.FILE_IMG}</td> - <td style="text-align:right;">{results.picture.FILESIZE_IMG}</td> - <td style="text-align:right;">{results.picture.WIDTH_IMG}</td> - <td style="text-align:right;">{results.picture.HEIGHT_IMG}</td> - <th> - <div style="text-align:right;margin-right:5px;color:{results.picture.T_COLOR};">{results.picture.GEN_TIME}</div> - </th> + <td>{results.picture.PATH}</td> <td><img src="{results.picture.TN_FILE_IMG}" /></td> + <td style="text-align:right;" class="{results.picture.T_CLASS}">{results.picture.GEN_TIME}</td> <td style="text-align:right;">{results.picture.TN_FILESIZE_IMG}</td> <td style="text-align:right;">{results.picture.TN_WIDTH_IMG}</td> <td style="text-align:right;">{results.picture.TN_HEIGHT_IMG}</td> </tr> <!-- END picture --> - <tr> - <td colspan="10"> </td> - </tr> </table> + <table class="table2"> <tr class="throw"> <th colspan="2">{L_TN_STATS}</td> @@ -69,11 +45,11 @@ </tr> <tr> <td>{L_TN_MAX}</td> - <td style="text-align:right;color:red;">{results.TN_MAX}</td> + <td style="text-align:right;" class="worst_gen_time">{results.TN_MAX}</td> </tr> <tr> <td>{L_TN_MIN}</td> - <td style="text-align:right;color:#33FF00;">{results.TN_MIN}</td> + <td style="text-align:right;" class="best_gen_time">{results.TN_MIN}</td> </tr> <tr> <td>{L_TN_AVERAGE}</td> @@ -115,12 +91,10 @@ <tr> <td><div class="key">{L_CREATE}</div></td> <td class="choice"> - <select name="n"> - <option selected>5</option> - <option>10</option> - <option>20</option> - <option>40</option> - </select> + <input type="radio" name="n" value="5" {params.n_5_CHECKED} /> 5 + <input type="radio" name="n" value="10" {params.n_10_CHECKED} /> 10 + <input type="radio" name="n" value="20" {params.n_20_CHECKED} /> 20 + <input type="radio" name="n" value="all" {params.n_all_CHECKED} /> all </td> <td>{L_CREATE_INFO}</td> </tr> @@ -138,12 +112,16 @@ </form> <!-- END params --> +<!-- BEGIN warning --> +<div style="text-align:center;font-weight:bold;margin:10px;"> [ {L_UNLINK} ]</div> +<!-- END warning --> + <!-- BEGIN remainings --> <div class="admin">{remainings.TOTAL_IMG} {L_REMAINING}</div> <table style="width:100%;"> <tr class="throw"> <th> </td> - <th style="width:60%;">{L_TN_PICTURE}</td> + <th style="width:60%;">{L_PATH}</td> <th>{L_FILESIZE}</td> <th>{L_WIDTH}</td> <th>{L_HEIGHT}</td> @@ -151,7 +129,7 @@ <!-- BEGIN remaining --> <tr class="{remainings.remaining.T_CLASS}"> <td>{remainings.remaining.NB_IMG}</td> - <td><div style="margin-left:10px;">{remainings.remaining.FILE_TN}</div></td> + <td><div style="margin-left:10px;">{remainings.remaining.PATH}</div></td> <td><div style="margin-left:10px;">{remainings.remaining.FILESIZE_IMG}</div></td> <td><div style="margin-left:10px;">{remainings.remaining.WIDTH_IMG}</div></td> <td><div style="margin-left:10px;">{remainings.remaining.HEIGHT_IMG}</div></td> diff --git a/template/default/default.css b/template/default/default.css index 53631e8bc..9e043a061 100644 --- a/template/default/default.css +++ b/template/default/default.css @@ -18,8 +18,14 @@ input,select,textarea { color:#FFFFCC;} /* Forms font color */ .commentDate { color:#999999;} /* Comments date */ .throw { color:#FFFFCC;} /* First line of tables */ .bouton, .errors { color:#FFFFFF;} /* Buttons & errors */ -.update_summary_new { color:#9cb4ce;} /* Update results (admin side only) */ -.update_summary_del { color:#ffe1e1;} /* Update results (admin side only) */ + +/* Update results (admin side only) */ +.update_summary_new, .best_gen_time +{ color:#9cb4ce;} + +/* Update results (admin side only) */ +.update_summary_del,.worst_gen_time +{ color:#ffe1e1;} /* ANCHORS */ |