Index: /extensions/square_thumbnails/language/en_UK/description.txt
===================================================================
--- /extensions/square_thumbnails/language/en_UK/description.txt	(revision 5943)
+++ /extensions/square_thumbnails/language/en_UK/description.txt	(revision 5943)
@@ -0,0 +1,1 @@
+﻿Add an option to make square thumbnails
Index: /extensions/square_thumbnails/language/en_UK/index.php
===================================================================
--- /extensions/square_thumbnails/language/en_UK/index.php	(revision 5943)
+++ /extensions/square_thumbnails/language/en_UK/index.php	(revision 5943)
@@ -0,0 +1,33 @@
+<?php
+// +-----------------------------------------------------------------------+
+// | PhpWebGallery - a PHP based picture gallery                           |
+// | Copyright (C) 2002-2003 Pierrick LE GALL - pierrick@phpwebgallery.net |
+// | Copyright (C) 2003-2007 PhpWebGallery Team - http://phpwebgallery.net |
+// +-----------------------------------------------------------------------+
+// | file          : $Id: index.php 1912 2007-03-16 06:30:07Z rub $
+// | last update   : $Date: 2007-03-16 07:30:07 +0100 (ven, 16 mar 2007) $
+// | last modifier : $Author: rub $
+// | revision      : $Revision: 1912 $
+// +-----------------------------------------------------------------------+
+// | This program is free software; you can redistribute it and/or modify  |
+// | it under the terms of the GNU General Public License as published by  |
+// | the Free Software Foundation                                          |
+// |                                                                       |
+// | This program is distributed in the hope that it will be useful, but   |
+// | WITHOUT ANY WARRANTY; without even the implied warranty of            |
+// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU      |
+// | General Public License for more details.                              |
+// |                                                                       |
+// | You should have received a copy of the GNU General Public License     |
+// | along with this program; if not, write to the Free Software           |
+// | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, |
+// | USA.                                                                  |
+// +-----------------------------------------------------------------------+
+
+// Recursive call
+$url = '../';
+header( 'Request-URI: '.$url );
+header( 'Content-Location: '.$url );
+header( 'Location: '.$url );
+exit();
+?>
Index: /extensions/square_thumbnails/language/en_UK/plugin.lang.php
===================================================================
--- /extensions/square_thumbnails/language/en_UK/plugin.lang.php	(revision 5943)
+++ /extensions/square_thumbnails/language/en_UK/plugin.lang.php	(revision 5943)
@@ -0,0 +1,5 @@
+<?php
+
+$lang['Square Thumbnails'] = 'Square Thumbnails';
+
+?>
Index: /extensions/square_thumbnails/language/fr_FR/description.txt
===================================================================
--- /extensions/square_thumbnails/language/fr_FR/description.txt	(revision 5943)
+++ /extensions/square_thumbnails/language/fr_FR/description.txt	(revision 5943)
@@ -0,0 +1,1 @@
+﻿Ajoute une option pour faire des miniatures carrées
Index: /extensions/square_thumbnails/language/fr_FR/index.php
===================================================================
--- /extensions/square_thumbnails/language/fr_FR/index.php	(revision 5943)
+++ /extensions/square_thumbnails/language/fr_FR/index.php	(revision 5943)
@@ -0,0 +1,33 @@
+<?php
+// +-----------------------------------------------------------------------+
+// | PhpWebGallery - a PHP based picture gallery                           |
+// | Copyright (C) 2002-2003 Pierrick LE GALL - pierrick@phpwebgallery.net |
+// | Copyright (C) 2003-2007 PhpWebGallery Team - http://phpwebgallery.net |
+// +-----------------------------------------------------------------------+
+// | file          : $Id: index.php 1912 2007-03-16 06:30:07Z rub $
+// | last update   : $Date: 2007-03-16 07:30:07 +0100 (ven, 16 mar 2007) $
+// | last modifier : $Author: rub $
+// | revision      : $Revision: 1912 $
+// +-----------------------------------------------------------------------+
+// | This program is free software; you can redistribute it and/or modify  |
+// | it under the terms of the GNU General Public License as published by  |
+// | the Free Software Foundation                                          |
+// |                                                                       |
+// | This program is distributed in the hope that it will be useful, but   |
+// | WITHOUT ANY WARRANTY; without even the implied warranty of            |
+// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU      |
+// | General Public License for more details.                              |
+// |                                                                       |
+// | You should have received a copy of the GNU General Public License     |
+// | along with this program; if not, write to the Free Software           |
+// | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, |
+// | USA.                                                                  |
+// +-----------------------------------------------------------------------+
+
+// Recursive call
+$url = '../';
+header( 'Request-URI: '.$url );
+header( 'Content-Location: '.$url );
+header( 'Location: '.$url );
+exit();
+?>
Index: /extensions/square_thumbnails/language/fr_FR/plugin.lang.php
===================================================================
--- /extensions/square_thumbnails/language/fr_FR/plugin.lang.php	(revision 5943)
+++ /extensions/square_thumbnails/language/fr_FR/plugin.lang.php	(revision 5943)
@@ -0,0 +1,5 @@
+<?php
+
+$lang['Square Thumbnails'] = 'Miniatures carrées';
+
+?>
Index: /extensions/square_thumbnails/main.inc.php
===================================================================
--- /extensions/square_thumbnails/main.inc.php	(revision 5943)
+++ /extensions/square_thumbnails/main.inc.php	(revision 5943)
@@ -0,0 +1,29 @@
+<?php
+/*
+Plugin Name: Square Thumbnails
+Version: auto
+Description: Add an option to make square thumbnails
+Plugin URI: auto
+Author: P@t
+Author URI: http://www.gauchon.com
+*/
+
+if (!defined('PHPWG_ROOT_PATH')) die('Hacking attempt!');
+
+define('SQUARE_THUMB_PATH' , PHPWG_PLUGINS_PATH . basename(dirname(__FILE__)) . '/');
+
+function change_admin_thumb_link($menu)
+{
+  global $template;
+
+  $template->assign('U_THUMBNAILS',
+    get_admin_plugin_menu_link(SQUARE_THUMB_PATH.'thumbnail.php')
+  );
+
+  return $menu;
+}
+
+add_event_handler('get_admin_plugin_menu_links', 'change_admin_thumb_link');
+
+
+?>
Index: /extensions/square_thumbnails/thumbnail.php
===================================================================
--- /extensions/square_thumbnails/thumbnail.php	(revision 5943)
+++ /extensions/square_thumbnails/thumbnail.php	(revision 5943)
@@ -0,0 +1,378 @@
+<?php
+// +-----------------------------------------------------------------------+
+// | Piwigo - a PHP based picture gallery                                  |
+// +-----------------------------------------------------------------------+
+// | Copyright(C) 2008-2010 Piwigo Team                  http://piwigo.org |
+// | Copyright(C) 2003-2008 PhpWebGallery Team    http://phpwebgallery.net |
+// | Copyright(C) 2002-2003 Pierrick LE GALL   http://le-gall.net/pierrick |
+// +-----------------------------------------------------------------------+
+// | This program is free software; you can redistribute it and/or modify  |
+// | it under the terms of the GNU General Public License as published by  |
+// | the Free Software Foundation                                          |
+// |                                                                       |
+// | This program is distributed in the hope that it will be useful, but   |
+// | WITHOUT ANY WARRANTY; without even the implied warranty of            |
+// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU      |
+// | General Public License for more details.                              |
+// |                                                                       |
+// | You should have received a copy of the GNU General Public License     |
+// | along with this program; if not, write to the Free Software           |
+// | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, |
+// | USA.                                                                  |
+// +-----------------------------------------------------------------------+
+
+include_once(PHPWG_ROOT_PATH.'admin/include/functions.php');
+
+// +-----------------------------------------------------------------------+
+// | Check Access and exit when user status is not ok                      |
+// +-----------------------------------------------------------------------+
+check_status(ACCESS_ADMINISTRATOR);
+
+//------------------------------------------------------------------- functions
+// 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)
+{
+  global $conf, $lang, $page;
+
+  if (!function_exists('gd_info'))
+  {
+    return;
+  }
+
+  $filename = basename($path);
+  $dirname = dirname($path);
+  
+  // extension of the picture filename
+  $extension = get_extension($filename);
+
+  if (in_array($extension, array('jpg', 'JPG', 'jpeg', 'JPEG')))
+  {
+    $srcImage = @imagecreatefromjpeg($path);
+  }
+  else if ($extension == 'png' or $extension == 'PNG')
+  {
+    $srcImage = @imagecreatefrompng($path);
+  }
+  else
+  {
+    unset($extension);
+  }
+
+  if ( isset( $srcImage ) )
+  {
+    // width/height
+    $srcWidth    = imagesx( $srcImage ); 
+    $srcHeight   = imagesy( $srcImage ); 
+    $x = 0;
+    $y = 0;
+
+    if (isset($_POST['square']))
+    {
+      if($srcWidth > $srcHeight)
+      {
+        $x = ceil(($srcWidth - $srcHeight) / 2 );
+        $srcWidth = $srcHeight;
+      }
+      elseif ($srcHeight > $srcWidth)
+      {
+        $y = ceil(($srcHeight - $srcWidth) / 2);
+        $srcHeight = $srcWidth;
+      }
+    }
+
+    $ratioWidth  = $srcWidth/$newWidth;
+    $ratioHeight = $srcHeight/$newHeight;
+
+    // maximal size exceeded ?
+    if ( ( $ratioWidth > 1 ) or ( $ratioHeight > 1 ) )
+    {
+      if ( $ratioWidth < $ratioHeight)
+      { 
+        $destWidth = $srcWidth/$ratioHeight;
+        $destHeight = $newHeight; 
+      }
+      else
+      { 
+        $destWidth = $newWidth; 
+        $destHeight = $srcHeight/$ratioWidth;
+      }
+    }
+    else
+    {
+      $destWidth = $srcWidth;
+      $destHeight = $srcHeight;
+    }
+
+    // according to the GD version installed on the server
+    if ( $_POST['gd'] == 2 )
+    {
+      // GD 2.0 or more recent -> good results (but slower)
+      $destImage = imagecreatetruecolor( $destWidth, $destHeight); 
+      imagecopyresampled( $destImage, $srcImage, 0, 0, $x, $y,
+                          $destWidth,$destHeight,$srcWidth,$srcHeight );
+    }
+    else
+    {
+      // GD prior to version  2 -> pretty bad results :-/ (but fast)
+      $destImage = imagecreate( $destWidth, $destHeight);
+      imagecopyresized( $destImage, $srcImage, 0, 0, $x, $y,
+                        $destWidth,$destHeight,$srcWidth,$srcHeight );
+    }
+
+    if (($tndir = mkget_thumbnail_dir($dirname, $page['errors'])) == false)
+    {
+      return false;
+    }
+
+    $dest_file = $tndir.'/'.$conf['prefix_thumbnail'];
+    $dest_file.= get_filename_wo_extension($filename);
+    $dest_file.= '.'.$tn_ext;
+    
+    // creation and backup of final picture
+    if (!is_writable($tndir))
+    {
+      array_push($page['errors'], '['.$tndir.'] : '.l10n('no write access'));
+      return false;
+    }
+    imagejpeg($destImage, $dest_file, $conf['tn_compression_level']);
+    // freeing memory ressources
+    imagedestroy( $srcImage );
+    imagedestroy( $destImage );
+    
+    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,
+                   'tn_size'   => $tn_size );
+    return $info;
+  }
+  // error
+  else
+  {
+    echo l10n('Picture unreachable or no support')." ";
+    if ( isset( $extenstion ) )
+    {
+      echo l10n('for the file format').' '.$extension;
+    }
+    else
+    {
+      echo l10n('for this file format');
+    }
+    exit();
+  }
+}
+
+$pictures = array();
+$stats = array();
+
+if (!function_exists('gd_info'))
+{
+  array_push($page['errors'], l10n('GD library is missing'));
+}
+
+// +-----------------------------------------------------------------------+
+// |                       template initialization                         |
+// +-----------------------------------------------------------------------+
+$template->set_filename('thumbnail', realpath(SQUARE_THUMB_PATH.'thumbnail.tpl'));
+
+load_language('plugin.lang', SQUARE_THUMB_PATH);
+
+$template->assign(
+  array('U_HELP' => get_root_url().'admin/popuphelp.php?page=thumbnail')
+  );
+// +-----------------------------------------------------------------------+
+// |                   search pictures without thumbnails                  |
+// +-----------------------------------------------------------------------+
+$wo_thumbnails = array();
+$thumbnalized = array();
+
+// what is the directory to search in ?
+$query = '
+SELECT galleries_url FROM '.SITES_TABLE.'
+  WHERE galleries_url NOT LIKE "http://%"
+;';
+$result = pwg_query($query);
+while ( $row=pwg_db_fetch_assoc($result) )
+{
+  $basedir = preg_replace('#/*$#', '', $row['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);
+  
+      // only files matching the authorized filename pattern can be considered
+      // as "without thumbnail"
+      if (!preg_match('/^[a-zA-Z0-9-_.]+$/', $filename))
+      {
+        continue;
+      }
+      
+      // searching the element
+      $filename_wo_ext = get_filename_wo_extension($filename);
+      $tn_ext = '';
+      $base_test = $dirname.'/'.$conf['dir_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);
+      }
+    }
+  } // next element
+} // next site id
+// +-----------------------------------------------------------------------+
+// |                         thumbnails creation                           |
+// +-----------------------------------------------------------------------+
+if (isset($_POST['submit']))
+{
+  $times = array();
+  $infos = array();
+  
+  // checking criteria
+  if (!preg_match('/^[0-9]{2,3}$/', $_POST['width']) or $_POST['width'] < 10)
+  {
+    array_push($page['errors'], l10n('width must be a number superior to').' 10');
+  }
+  if (!preg_match('/^[0-9]{2,3}$/', $_POST['height']) or $_POST['height'] < 10)
+  {
+    array_push($page['errors'], l10n('height must be a number superior to').' 10');
+  }
+  
+  // picture miniaturization
+  if (count($page['errors']) == 0)
+  {
+    $num = 1;
+    foreach ($wo_thumbnails as $path)
+    {
+      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;
+      }
+    }
+
+    if (count($infos) > 0)
+    {
+      $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);
+      }
+      
+      $tpl_var = 
+        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',
+          'elements' => array()
+          );
+      
+      foreach ($infos as $i => $info)
+      {
+        $tpl_var['elements'][] =
+          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',
+            );
+      }
+      $template->assign('results', $tpl_var);
+    }
+  }
+}
+// +-----------------------------------------------------------------------+
+// |             form & pictures without thumbnails display                |
+// +-----------------------------------------------------------------------+
+$remainings = array_diff($wo_thumbnails, $thumbnalized);
+
+if (count($remainings) > 0)
+{
+  $form_url = get_admin_plugin_menu_link(SQUARE_THUMB_PATH.'thumbnail.php');
+  $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;
+  
+  $template->assign(
+    'params',
+    array(
+      'F_ACTION'=> $form_url,
+      'GD_SELECTED' => $gd,
+      'SQUARE' => isset($_POST['square']),
+      'N_SELECTED' => $n,
+      'WIDTH_TN'=>$width,
+      'HEIGHT_TN'=>$height
+      ));
+
+  $template->assign(
+    'TOTAL_NB_REMAINING',
+    count($remainings));
+
+  foreach ($remainings as $path)
+  {
+    list($width, $height) = getimagesize($path);
+    $size = floor(filesize($path) / 1024).' KB';
+
+    $template->append(
+      'remainings',
+      array(
+        'PATH'=>$path,
+        'FILESIZE_IMG'=>$size,
+        'WIDTH_IMG'=>$width,
+        'HEIGHT_IMG'=>$height,
+        ));
+  }
+}
+
+// +-----------------------------------------------------------------------+
+// |                           return to admin                             |
+// +-----------------------------------------------------------------------+
+$template->assign_var_from_handle('ADMIN_CONTENT', 'thumbnail');
+?>
Index: /extensions/square_thumbnails/thumbnail.tpl
===================================================================
--- /extensions/square_thumbnails/thumbnail.tpl	(revision 5943)
+++ /extensions/square_thumbnails/thumbnail.tpl	(revision 5943)
@@ -0,0 +1,146 @@
+{html_head}
+{literal}
+<script type="text/javascript">
+jQuery().ready(function(){
+  jQuery(':text').keyup(function(){
+    if(jQuery('#square').attr('checked')){
+      if (this.id == 'width'){
+        jQuery('#height').attr('value', this.value);
+      }else{
+        jQuery('#width').attr('value', this.value);
+      }
+    }
+  });
+  jQuery('#square').click(function(){
+    if (this.checked)
+      jQuery('#height').attr('value', jQuery('#width').attr('value'));
+  });
+});
+</script>
+{/literal}
+{/html_head}
+
+<div class="titrePage">
+  <h2>{'Thumbnail creation'|@translate}</h2>
+</div>
+
+{if isset($results) }
+<div class="admin">{'Results of miniaturization'|@translate}</div>
+<table style="width:100%;">
+  <tr class="throw">
+    <td>{'Path'|@translate}</td>
+    <td>{'Thumbnail'|@translate}</td>
+    <td>{'generated in'|@translate}</td>
+    <td>{'Filesize'|@translate}</td>
+    <td>{'Dimensions'|@translate}</td>
+  </tr>
+  {foreach from=$results.elements item=elt}
+  <tr>
+    <td>{$elt.PATH}</td>
+    <td><img src="{$elt.TN_FILE_IMG}"></td>
+    <td style="text-align:right;">{$elt.GEN_TIME}</td>
+    <td style="text-align:right;">{$elt.TN_FILESIZE_IMG}</td>
+    <td style="text-align:right;">{$elt.TN_WIDTH_IMG} x {$elt.TN_HEIGHT_IMG}</td>
+  </tr>
+  {/foreach}
+</table>
+
+<table class="table2">
+  <tr class="throw">
+    <td colspan="2">{'General statistics'|@translate}</td>
+  </tr>
+  <tr>
+    <td>{'number of miniaturized pictures'|@translate}</td>
+    <td style="text-align:center;">{$results.TN_NB}</td>
+  </tr>
+  <tr>
+    <td>{'total time'|@translate}</td>
+    <td style="text-align:right;">{$results.TN_TOTAL}</td>
+  </tr>
+  <tr>
+    <td>{'max time'|@translate}</td>
+    <td style="text-align:right;">{$results.TN_MAX}</td>
+  </tr>
+  <tr>
+    <td>{'min time'|@translate}</td>
+    <td style="text-align:right;">{$results.TN_MIN}</td>
+  </tr>
+  <tr>
+    <td>{'average time'|@translate}</td>
+    <td style="text-align:right;">{$results.TN_AVERAGE}</td>
+  </tr>
+</table>
+<br>
+{/if}
+
+{if isset($params) }
+<form method="post" action="{$params.F_ACTION}" class="properties">
+
+  <fieldset>
+    <legend>{'Miniaturization parameters'|@translate}</legend>
+
+    <ul>
+      <li>
+        <span class="property">{'GD version'|@translate}</span>
+	<label>
+          <input type="radio" name="gd" value="2" {if $params.GD_SELECTED==2}checked="checked"{/if}>2.x
+        </label>
+        <label>
+          <input type="radio" name="gd" value="1" {if $params.GD_SELECTED==1}checked="checked"{/if}>1.x
+        </label>
+      </li>
+
+      <li>
+        <span class="property">{'Square Thumbnails'|@translate}</span>
+	     <label><input type="checkbox" name="square" id="square" {if $params.SQUARE}checked="checked"{/if}></label>
+      </li>
+
+      <li>
+        <span class="property">
+          <label for="width">{'maximum width'|@translate}</label>
+        </span>
+	<input type="text" id="width" name="width" value="{$params.WIDTH_TN}">
+      </li>
+
+      <li>
+        <span class="property">
+          <label for="height">{'maximum height'|@translate}</label>
+        </span>
+	<input type="text" id="height" name="height" value="{$params.HEIGHT_TN}">
+      </li>
+
+      <li>
+        <span class="property">{'Number of thumbnails to create'|@translate}</span>
+	<label><input type="radio" name="n" value="5"   {if $params.N_SELECTED==5}checked="checked"{/if}> 5</label>
+	<label><input type="radio" name="n" value="10"  {if $params.N_SELECTED==10}checked="checked"{/if}> 10</label>
+	<label><input type="radio" name="n" value="20"  {if $params.N_SELECTED==20}checked="checked"{/if}> 20</label>
+	<label><input type="radio" name="n" value="all" {if $params.N_SELECTED=='all'}checked="checked"{/if}> {'all'|@translate}</label>
+      </li>
+    </ul>
+  </fieldset>
+
+  <p><input class="submit" type="submit" name="submit" value="{'Submit'|@translate}" {$TAG_INPUT_ENABLED}></p>
+</form>
+{/if} {*isset params*}
+
+{if !empty($remainings) }
+<div class="admin">{$TOTAL_NB_REMAINING} {'pictures without thumbnail (jpeg and png only)'|@translate}</div>
+<table style="width:100%;">
+  <tr class="throw">
+    <td>&nbsp;</td>
+    <td style="width:60%;">{'Path'|@translate}</td>
+    <td>{'Filesize'|@translate}</td>
+    <td>{'Dimensions'|@translate}</td>
+  </tr>
+  {foreach from=$remainings item=elt name=remain_loop}
+  <tr class="{if $smarty.foreach.remain_loop.index is odd}row1{else}row2{/if}">
+    <td>{$smarty.foreach.remain_loop.iteration}</td>
+    <td><div style="margin-left:10px;">{$elt.PATH}</div></td>
+    <td><div style="margin-left:10px;">{$elt.FILESIZE_IMG}</div></td>
+    <td><div style="margin-left:10px;">{$elt.WIDTH_IMG} x {$elt.HEIGHT_IMG}</div></td>
+  </tr>
+  {/foreach}
+</table>
+{else}
+<div style="text-align:center;font-weight:bold;margin:10px;"> [ {'No missing thumbnail'|@translate} ]</div>
+{/if}
