Index: trunk/admin/images/monthly_visits.img.php
===================================================================
--- trunk/admin/images/monthly_visits.img.php	(revision 537)
+++ trunk/admin/images/monthly_visits.img.php	(revision 537)
@@ -0,0 +1,121 @@
+<?php
+// +-----------------------------------------------------------------------+
+// |                              monthly_visits.img.php                               |
+// +-----------------------------------------------------------------------+
+// | application   : PhpWebGallery <http://phpwebgallery.net>              |
+// | branch        : BSF (Best So Far)                                     |
+// +-----------------------------------------------------------------------+
+// | file          : $RCSfile$
+// | last update   : $Date$
+// | last modifier : $Author$
+// | revision      : $Revision$
+// +-----------------------------------------------------------------------+
+// | 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
+define('PHPWG_ROOT_PATH','../../');
+define('IN_ADMIN', true);
+include_once( PHPWG_ROOT_PATH.'include/common.inc.php' );
+include_once( PHPWG_ROOT_PATH.'admin/include/isadmin.inc.php' );
+include_once( 'phpBarGraph.php' );
+
+//------------------------------------------------ variable definition
+$outputFormat = "png";
+$legend = $lang['stats_pages_seen_graph_title'];
+$imageHeight = 256;
+$imageWidth = 320;
+$sql = "SELECT DISTINCT COUNT(*), MONTH(date) 
+  FROM phpwg_history 
+  WHERE (date > DATE_SUB(CURRENT_DATE(), INTERVAL 12 MONTH)) 
+  GROUP BY DATE_FORMAT(date,'%Y-%m') DESC;";
+
+//------------------------------------------------ Image definition
+$image = ImageCreate($imageWidth, $imageHeight);
+//$image = ImageCreateTrueColor($imageWidth, $imageHeight);
+// Fill it with your favorite background color..
+$backgroundColor = ImageColorAllocate($image, 184, 184, 184);
+ImageFill($image, 0, 0, $backgroundColor);
+$white = ImageColorAllocate($image, 0, 0, 0);
+
+// Interlace the image..
+Imageinterlace($image, 1);
+
+// Create a new BarGraph..
+$myBarGraph = new PhpBarGraph;
+$myBarGraph->SetX(10);              // Set the starting x position
+$myBarGraph->SetY(10);              // Set the starting y position
+$myBarGraph->SetWidth($imageWidth-20);    // Set how wide the bargraph will be
+$myBarGraph->SetHeight($imageHeight-20);  // Set how tall the bargraph will be
+$myBarGraph->SetNumOfValueTicks(3); // Set this to zero if you don't want to show any. These are the vertical bars to help see the values.
+
+
+// You can try uncommenting these lines below for different looks.
+
+// $myBarGraph->SetShowLabels(false);  // The default is true. Setting this to false will cause phpBarGraph to not print the labels of each bar.
+ $myBarGraph->SetShowValues(false);  // The default is true. Setting this to false will cause phpBarGraph to not print the values of each bar.
+// $myBarGraph->SetBarBorder(false);   // The default is true. Setting this to false will cause phpBarGraph to not print the border of each bar.
+// $myBarGraph->SetShowFade(false);    // The default is true. Setting this to false will cause phpBarGraph to not print each bar as a gradient.
+// $myBarGraph->SetShowOuterBox(false);   // The default is true. Setting this to false will cause phpBarGraph to not print the outside box.
+$myBarGraph->SetBarSpacing(5);     // The default is 10. This changes the space inbetween each bar.
+
+
+// Add Values to the bargraph..
+$result = mysql_query($sql)
+or die(mysql_errno().": ".mysql_error()."<BR>".$sql);
+
+//$monthes =array_fill(1,12,0);
+$monthes =array();
+$date = getdate();
+$current_month = $date['mon'];
+for ($i=0;$i<12;$i++)
+{
+  $monthes[(($current_month-$i+11)%12)+1]=0;
+}
+
+while ($r = mysql_fetch_row($result))
+{ 
+  if (!$monthes[$r[1]]) $monthes[$r[1]]= $r[0];
+}
+$monthes = array_reverse($monthes,true);
+while (list ($key,$value) = each($monthes))
+{
+  $nls_key = substr($lang['month'][$key],0,3);
+  $myBarGraph->AddValue($nls_key, $value);
+}
+
+//$myBarGraph->SetDebug(true);
+// Set the colors of the bargraph..
+$myBarGraph->SetStartBarColor("6666ff");  // This is the color on the top of every bar.
+$myBarGraph->SetEndBarColor("2222aa");    // This is the color on the bottom of every bar. This is not used when SetShowFade() is set to false.
+$myBarGraph->SetLineColor("000000");      // This is the color all the lines and text are printed out with.
+
+// Print the BarGraph to the image..
+$myBarGraph->DrawBarGraph($image);
+Imagestring($image, 2, 2, $imageHeight-14, $legend, $white);
+   
+//------------------------------------------------ Image output
+if ($outputFormat == "png")
+{
+  header("Content-type: image/png");
+  ImagePNG($image);
+}
+else if ($outputFormat == "jpg")
+{
+  header("Content-type: image/jpeg");
+  Imagejpeg($image);
+}
+// Destroy the image.
+Imagedestroy($image);
+?> 
Index: trunk/admin/images/phpBarGraph.php
===================================================================
--- trunk/admin/images/phpBarGraph.php	(revision 537)
+++ trunk/admin/images/phpBarGraph.php	(revision 537)
@@ -0,0 +1,391 @@
+<?php
+// +-----------------------------------------------------------------------+
+// |                             phpBarGraph.php                              |
+// +-----------------------------------------------------------------------+
+// | application   : PhpWebGallery <http://phpwebgallery.net>              |
+// | branch        : BSF (Best So Far)                                     |
+// +-----------------------------------------------------------------------+
+// | file          : $RCSfile$
+// | last update   : $Date$
+// | last modifier : $Author$
+// | revision      : $Revision$
+// +-----------------------------------------------------------------------+
+// | 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.                                                                  |
+// +-----------------------------------------------------------------------+
+
+// Original PhpBarGraph Version 2.3 
+// Written By TJ Hunter (tjhunter@ruistech.com)
+// http://www.ruistech.com/phpBarGraph
+// This class has been adapted to fill phpWG requirements
+
+class PhpBarGraph
+{
+   /* -------------------------------- */
+   /* Preference Variables             */
+   /* -------------------------------- */
+   var $_debug;
+   var $_image;            // The image to print the bargraph too.
+   var $_x;                // The starting column of the bargraph
+   var $_y;                // The starting row of the bargraph
+   var $_width;            // The width of the bargraph
+   var $_height;           // The height of the bargraph
+   var $_startBarColorHex; // The top color of the bargraph
+   var $_endBarColorHex;   // The bottom color of the bargraph
+   var $_lineColorHex;     // The color of the lines and text
+   var $_barSpacing;       // The spacing width in between each bar
+   var $_numOfValueTicks;  // The number of horizontal rule ticks
+   var $_values;           // An array of arrays of the values of each bargraph and it's label
+   var $_showLabels;       // If true, print the labels to the image
+   var $_showValues;       // If true, print the values to the image
+   var $_showBarBorder;    // If true, draws a box of around each bar
+   var $_showFade;         // If true, draws each bar with a gradient
+   var $_showOuterBox;     // If true, draws the box on the outside of the bargraph
+
+   /* -------------------------------- */
+   /* Private Variables                */
+   /* -------------------------------- */
+   var $_topMargin;
+   var $_bottomMargin;
+   var $_leftMargin;
+   var $_rightMargin;
+   var $_barWidth;
+   var $_minBarHeight;
+   var $_maxBarHeight;
+   var $_realMinBarHeight;
+   var $_realMaxBarHeight;
+   var $_buffer;
+
+   function PhpBarGraph()
+   {
+      $this->_debug = false;
+      $this->_values = array();
+      $this->_startBarColorHex = "0000ff";
+      $this->_endBarColorHex = "ffffff";
+      $this->_lineColorHex = "000000";
+      $this->_barSpacing = 10;
+      $this->_numOfValueTicks = 4;
+      $this->_buffer = .5;
+      $this->_showLabels = true;
+      $this->_showValues = true;
+      $this->_showBarBorder = true;
+      $this->_showFade = true;
+      $this->_showOuterBox = true;
+   }
+
+   function AddValue($labelName, $theValue)
+   {
+      array_push($this->_values, array("label" => $labelName, "value" => $theValue));
+   }
+
+   function SetDebug($debug)
+   {
+      $this->_debug = $debug;
+   }
+
+   function SetX($x)
+   {
+      $this->_x = $x;
+   }
+
+   function SetY($y)
+   {
+      $this->_y = $y;
+   }
+
+   function SetWidth($width)
+   {
+      $this->_width = $width;
+   }
+
+   function SetHeight($height)
+   {
+      $this->_height = $height;
+   }
+
+   function SetStartBarColor($color)
+   {
+      $this->_startBarColorHex = $color;
+   }
+
+   function SetEndBarColor($color)
+   {
+      $this->_endBarColorHex = $color;
+   }
+
+   function SetLineColor($color)
+   {
+      $this->_lineColorHex = $color;
+   }
+
+   function SetBarSpacing($barSpacing)
+   {
+      $this->_barSpacing = $barSpacing;
+   }
+
+   function SetNumOfValueTicks($ticks)
+   {
+      $this->_numOfValueTicks = $ticks;
+   }
+
+   function SetShowLabels($labels)
+   {
+      $this->_showLabels = $labels;
+   }
+
+   function SetShowValues($values)
+   {
+      $this->_showValues = $values;
+   }
+
+   function SetBarBorder($border)
+   {
+      $this->_showBarBorder = $border;
+   }
+
+   function SetShowFade($fade)
+   {
+      $this->_showFade = $fade;
+   }
+
+   function SetShowOuterBox($box)
+   {
+      $this->_showOuterBox = $box;
+   }
+
+
+   function RGBColor($hexColor) // Returns an array of decimal values from a hex color
+   {
+      $r = hexdec(substr($hexColor, 0, 2));
+      $g = hexdec(substr($hexColor, 2, 2));
+      $b = hexdec(substr($hexColor, 4, 2));
+
+      $RGBColors = array("red" => $r, "green" => $g, "blue" => $b);
+
+      return $RGBColors;
+   }
+
+   function DebugPrint() // Prints a bunch of debug information.
+   {
+      foreach($this->_values as $value)
+      {
+         echo $value["label"] . "=" . $value["value"] . "<br>\n";
+      }
+
+      $startColor = $this->RGBColor($this->_startBarColorHex);
+      echo "StartColor: " . $startColor["red"] . ", " . $startColor["green"] . ", " . $startColor["blue"] . "<br>\n";
+
+      $endColor = $this->RGBColor($this->_endBarColorHex);
+      echo "EndColor: " . $endColor["red"] . ", " . $endColor["green"] . ", " . $endColor["blue"] . "<br>\n";
+
+      $lineColor = $this->RGBColor($this->_lineColorHex);
+      echo "LineColor: " . $lineColor["red"] . ", " . $lineColor["green"] . ", " . $lineColor["blue"] . "<br>\n";
+
+      echo "x=" . $this->_x . "<br>\n";
+      echo "y=" . $this->_y . "<br>\n";
+      echo "width=" . $this->_width . "<br>\n";
+      echo "height=" . $this->_height . "<br>\n";
+      echo "startBarColorHex=" . $this->_startBarColorHex . "<br>\n";
+      echo "endBarColorHex=" . $this->_endBarColorHex . "<br>\n";
+      echo "lineColorHex=" . $this->_lineColorHex . "<br>\n";
+      echo "barSpacing=" . $this->_barSpacing . "<br>\n";
+      echo "numOfValueTicks=" . $this->_numOfValueTicks . "<br>\n";
+
+   }
+
+   function dif ($start,$end)
+   {
+	   if ($start >= $end)
+		   $dif = $start - $end;
+   	else
+	   	$dif = $end - $start;
+		
+	   return $dif;
+   }
+
+   function draw($start,$end,$pos,$step_width)
+   {
+   	if ($start > $end)	
+   		$color = $start - $step_width * $pos;
+   	else
+   		$color = $start + $step_width * $pos;
+   		
+   	return $color;
+   }	
+
+   function fadeBar($image, $x1, $y1, $x2, $y2, $colorsStart, $colorsEnd, $height, $width) // Draws a rectangle with a gradient
+   {
+      $startColor = $this->RGBColor($colorsStart);
+      $red_start = $startColor["red"];
+      $green_start = $startColor["green"];
+      $blue_start = $startColor["blue"];
+
+      $endColor = $this->RGBColor($colorsEnd);
+      $red_end = $endColor["red"];
+      $green_end = $endColor["green"];
+      $blue_end = $endColor["blue"];
+      
+      // difference between start and end
+      $dif_red = $this->dif($red_start,$red_end);
+      $dif_green = $this->dif($green_start,$green_end);
+      $dif_blue = $this->dif($blue_start,$blue_end);
+      
+      $height = $height + 1;
+
+      // width of one color step
+      $step_red = $dif_red / $height;
+      $step_green = $dif_green / $height;
+      $step_blue = $dif_blue / $height;
+      $width = $width - 1;
+      
+      
+      for ($pos=0; $pos<=$height; $pos++)
+      {
+         $color = imagecolorexact ($image, $this->draw($red_start,$red_end,$pos,$step_red),
+      						   			$this->draw($green_start,$green_end,$pos,$step_green),
+      						   			$this->draw($blue_start,$blue_end,$pos,$step_blue));
+         if ($color == -1) // If this color is already allocatated, don't allocate it again.
+         {
+         	$color = ImageColorAllocate($image,$this->draw($red_start,$red_end,$pos,$step_red),
+         						   			$this->draw($green_start,$green_end,$pos,$step_green),
+         						   			$this->draw($blue_start,$blue_end,$pos,$step_blue));	
+         }      	
+      	imageline($image,$x1,$pos+$y1,$x1+$width,$pos+$y1,$color);
+      	
+      }
+      
+   }
+
+   function DrawBarGraph($image)
+   {
+      if ($this->_debug)
+         $this->DebugPrint();
+
+      // Setup the margins
+      $this->_topMargin = 0;
+      $this->_bottomMargin = 30;
+      $this->_leftMargin = 20;
+      $this->_rightMargin = $this->_barSpacing + 1 + 10;
+
+      // setup the color for the lines
+      $tempLineColor = $this->RGBColor($this->_lineColorHex);
+      $lineColor = ImageColorAllocate($image, $tempLineColor["red"], $tempLineColor["green"], $tempLineColor["blue"]);
+
+      $tempStartColor = $this->RGBColor($this->_startBarColorHex);
+      $startColor = ImageColorAllocate($image, $tempStartColor["red"], $tempStartColor["green"], $tempStartColor["blue"]);
+
+      // Figure out how wide each bar is going to be.
+      $this->_barWidth = ($this->_width - ($this->_leftMargin + $this->_rightMargin + 1) - (count($this->_values) * $this->_barSpacing)) / count($this->_values);
+
+      // Find out what the smallest and largest amount is.
+      $this->_minBarHeight = $this->_values[0]["value"];
+      $this->_maxBarHeight = $this->_values[0]["value"];
+      for ($i=1; $i < count($this->_values); $i++)
+      {
+         if ($this->_minBarHeight > $this->_values[$i]["value"])
+         {
+            $this->_minBarHeight = $this->_values[$i]["value"];
+         }
+         if ($this->_maxBarHeight < $this->_values[$i]["value"])
+         {
+            $this->_maxBarHeight = $this->_values[$i]["value"];
+         }
+      }
+      
+      if ($this->_minBarHeight == 0 && $this->_maxBarHeight > 0) // Having the min value as 0 looks funny
+      {
+         $this->_minBarHeight = 1;
+      }
+      $buff = 1;
+      // Figure out how tall the tallest and smallest bar are going to be.
+      $this->_realMinBarHeight = $this->_minBarHeight - ($this->_minBarHeight * $buff + 1);
+      $this->_realMaxBarHeight = $this->_maxBarHeight * ($this->_buffer + 1);
+      $workArea = $this->_height - $this->_bottomMargin - $this->_topMargin - 1;
+
+      // Print out all the ticks
+      if ($this->_numOfValueTicks > $this->_maxBarHeight)
+      {
+         $this->_numOfValueTicks = $this->_maxBarHeight;
+      }
+      
+      for ($i=1; $i<=$this->_numOfValueTicks; $i++)
+      {
+         $thisBarValue = floor((($this->_maxBarHeight - $this->_minBarHeight) / $this->_numOfValueTicks) * $i) + $this->_minBarHeight;
+         $myTickheight = ($workArea / ($this->_maxBarHeight - $this->_realMinBarHeight) * ($thisBarValue - $this->_realMinBarHeight));
+
+         // Figure out where we're going to put this tick..
+         $y1 = $this->_height - $this->_bottomMargin - 1 - ($myTickheight);
+
+         if ($thisBarValue >= $this->_minBarHeight)
+         {
+            imageline($image, $this->_leftMargin - 5 + $this->_x, $y1 + $this->_y,  $this->_width - $this->_rightMargin + $this->_barSpacing + $this->_x, $y1 + $this->_y, $lineColor);
+            Imagestring($image, 1, $this->_leftMargin + $this->_x - 15, $y1 + $this->_y + 2, $thisBarValue, $lineColor);
+         }
+      }
+      
+      // Print out all the bars
+      for ($i=1; $i<=count($this->_values); $i++)
+      {
+         // Get the bar height for this bar.
+         $myBarheight = ($workArea / ($this->_maxBarHeight - $this->_realMinBarHeight) * ($this->_values[$i-1]["value"] - $this->_realMinBarHeight));
+         
+         // Figure out where we're going to put this bar..
+         $x1 = $this->_leftMargin + 1 + (($i-1) * $this->_barWidth) + ($i * $this->_barSpacing);
+         $y1 = $this->_height - $this->_bottomMargin - 1 - ($myBarheight);
+         $x2 = $this->_leftMargin + (($i-1) * $this->_barWidth) + ($i * $this->_barSpacing) + $this->_barWidth;
+         $y2 = $this->_height - $this->_bottomMargin - 1;
+   
+         if ($this->_values[$i-1]["value"] != 0) // Don't print a bar if the value is 0
+         {
+            // Print the bar
+            if ($this->_showFade)
+            {
+               $this->fadeBar($image, $x1 + $this->_x, $y1 + $this->_y, $x2 + $this->_x, $y2 + $this->_y, $this->_startBarColorHex, $this->_endBarColorHex, $myBarheight, $this->_barWidth);
+            }
+            else
+            {
+               ImageFilledRectangle($image, $x1 + $this->_x, $y1 + $this->_y, $x2 + $this->_x, $y2 + $this->_y, $startColor);
+            }
+   
+            if ($this->_showBarBorder)
+            {
+               ImageRectangle($image, $x1 + $this->_x, $y1 + $this->_y, $x2 + $this->_x, $y2 + $this->_y + 1, $lineColor);
+            }
+         }   
+         // Print the amount of the bar
+         if ($this->_showValues)
+         {
+            Imagestring($image, 2, $x1 + $this->_x, $this->_height-($this->_bottomMargin/2)-10 + $this->_y, $this->_values[$i-1]["value"], $lineColor); 
+         }
+
+         // Print out the label of the bar.
+         if ($this->_showLabels)
+         {
+            Imagestring($image, 2, $x1 + $this->_x, $this->_height-($this->_bottomMargin/2) + $this->_y, $this->_values[$i-1]["label"], $lineColor); 
+         }
+      }
+
+      // draw the border box
+      if ($this->_showOuterBox)
+      {
+         ImageRectangle($image, $this->_leftMargin + $this->_x, $this->_topMargin + $this->_y, $this->_width - $this->_rightMargin + $this->_barSpacing + $this->_x, $this->_height - $this->_bottomMargin + $this->_y, $lineColor);
+      }
+
+
+       
+   }
+}
+
+
+?>
Index: trunk/admin/include/isadmin.inc.php
===================================================================
--- trunk/admin/include/isadmin.inc.php	(revision 536)
+++ trunk/admin/include/isadmin.inc.php	(revision 537)
@@ -32,5 +32,5 @@
 {
   echo '<div style="text-align:center;">'.$lang['access_forbiden'].'<br />';
-  echo '<a href="./identification.php">'.$lang['ident_title'].'</a></div>';
+  echo '<a href="'.PHPWG_ROOT_PATH.'identification.php">'.$lang['ident_title'].'</a></div>';
   exit();
 }
Index: trunk/admin/stats.php
===================================================================
--- trunk/admin/stats.php	(revision 536)
+++ trunk/admin/stats.php	(revision 537)
@@ -30,60 +30,14 @@
 }
 include_once( PHPWG_ROOT_PATH.'admin/include/isadmin.inc.php' );
-$max_pixels = 500;
-//------------------------------------------------------------ comment deletion
-if ( isset( $_GET['del'] ) and is_numeric( $_GET['del'] ) )
-{
-  $query = 'DELETE FROM '.COMMENTS_TABLE;
-  $query.= ' WHERE id = '.$_GET['del'];
-  $query.= ';';
-  mysql_query( $query );
-}
-//--------------------------------------------------------- history table empty
-if ( isset( $_GET['act'] ) and $_GET['act'] == 'empty' )
-{
-  $query = 'DELETE FROM '.HISTORY_TABLE.';';
-  mysql_query( $query );
-}
 
-// empty link
-$url_empty = PHPWG_ROOT_PATH.'admin.php?page=stats';
-if (isset($_GET['last_days']))
-  	$url_empty .='&amp;last_days='.$_GET['last_days'];
-$url_empty.= '&amp;act=empty';
+$url_img_monthly_report = PHPWG_ROOT_PATH.'/admin/images/monthly_visits.img.php';
 //----------------------------------------------------- template initialization
 $template->set_filenames( array('stats'=>'admin/stats.tpl') );
 
-if ( isset( $_GET['last_days'] ) ) define( 'MAX_DAYS', $_GET['last_days'] );
-else                               define( 'MAX_DAYS', 0 );
-
-foreach ( $conf['last_days'] as $option ) {
-  $url = $_SERVER['PHP_SELF'].'?last_days='.($option - 1);
-  $url.= '&amp;page=stats';
-  $template->assign_block_vars(
-    'last_day_option',
-    array(
-      'OPTION'=>$option,
-      'T_STYLE'=>(( $option == MAX_DAYS + 1 )?'text-decoration:underline;':''),
-      'U_OPTION'=>add_session_id( $url )
-      )
-    );
-}
-
 $template->assign_vars(array(
-  'L_STAT_LASTDAYS'=>$lang['stats_last_days'],
-  'L_STAT_DATE'=>$lang['date'],
-  'L_STAT_LOGIN'=>$lang['login'],
-  'L_STAT_IP'=>$lang['IP'],
-  'L_STAT_FILE'=>$lang['file'],
-  'L_STAT_CATEGORY'=>$lang['category'],
-  'L_STAT_PICTURE'=>$lang['picture'],
-  'L_STAT_EMPTY'=>$lang['stats_empty'],
-  'L_STAT_SEEN'=>$lang['stats_pages_seen'],
-  'L_STAT_VISITOR'=>$lang['stats_visitors'],
-  
-  'STAT_EMPTY_URL'=>$url_empty
+  'L_STAT_TITLE'=>$lang['stats_last_days'],
+  'L_STAT_MONTHLY_ALT'=>$lang['stats_pages_seen_graph_title'],
+  'IMG_MONTHLY_REPORT'=>add_session_id($url_img_monthly_report)
   ));
-
-$tpl = array( 'stats_pages_seen_graph_title', 'stats_visitors_graph_title');
 
 //---------------------------------------------------------------- log  history
@@ -94,7 +48,7 @@
 $starttime = mktime(  0, 0, 0,date('n'),date('j'),date('Y') );
 $endtime   = mktime( 23,59,59,date('n'),date('j'),date('Y') );
-for ( $i = 0; $i <= MAX_DAYS; $i++ )
+//for ( $i = 0; $i <= MAX_DAYS; $i++ )
 {
-  $day = array();
+  /*$day = array();
   $template->assign_block_vars('day',array(
     ));
Index: trunk/include/functions.inc.php
===================================================================
--- trunk/include/functions.inc.php	(revision 536)
+++ trunk/include/functions.inc.php	(revision 537)
@@ -346,7 +346,7 @@
   if ( $conf['log'] )
   {
-    $query = 'insert into '.PREFIX_TABLE.'history';
+    $query = 'insert into '.HISTORY_TABLE;
     $query.= ' (date,login,IP,file,category,picture) values';
-    $query.= " (".time().", '".$user['username']."'";
+    $query.= " (NOW(), '".$user['username']."'";
     $query.= ",'".$_SERVER['REMOTE_ADDR']."'";
     $query.= ",'".$file."','".$category."','".$picture."');";
Index: trunk/install/phpwebgallery_structure.sql
===================================================================
--- trunk/install/phpwebgallery_structure.sql	(revision 536)
+++ trunk/install/phpwebgallery_structure.sql	(revision 537)
@@ -95,10 +95,11 @@
 DROP TABLE IF EXISTS phpwebgallery_history;
 CREATE TABLE phpwebgallery_history (
-  date int(11) NOT NULL default '0',
+  date datetime NOT NULL default '0000-00-00 00:00:00',
   login varchar(15) default NULL,
   IP varchar(50) NOT NULL default '',
   category varchar(150) default NULL,
   file varchar(50) default NULL,
-  picture varchar(150) default NULL
+  picture varchar(150) default NULL,
+  PRIMARY KEY `date` (`date`)
 ) TYPE=MyISAM;
 
Index: trunk/template/default/admin/stats.tpl
===================================================================
--- trunk/template/default/admin/stats.tpl	(revision 537)
+++ trunk/template/default/admin/stats.tpl	(revision 537)
@@ -0,0 +1,3 @@
+<div class="admin">{L_STAT_TITLE}</div>
+
+<img src="{IMG_MONTHLY_REPORT}" alt="{L_STAT_MONTHLY_ALT}" />
Index: trunk/template/default/admin/stats.vtp
===================================================================
--- trunk/template/default/admin/stats.vtp	(revision 536)
+++ 	(revision )
@@ -1,83 +1,0 @@
-<div style="text-align:center;margin-top:5px;">
-  <!--VTP_last_day_option-->
-  <a href="{#link}" style="{#style}">{#option}</a>{#separation}
-  <!--/VTP_last_day_option-->
-  {#stats_last_days}
-</div>
-
-<table width="100%">
-  <tr>
-    <th width="1%">{#date}</th>
-    <th>{#login}</th>
-    <th>{#IP}</th>
-    <th>{#file}</th>
-    <th>{#category}</th>
-    <th>{#picture}</th>
-  </tr>
-  <tr>
-    <td colspan="6" style="text-align:center;"><a href="{#emply_url}">{#stats_empty}</a></td>
-  </tr>
-  <!--VTP_day-->
-  <tr>
-    <td colspan="6">
-      <a href="{#url}"><!--VTP_collapsed--><img src="./template/{#user_template}/admin/images/collapsed.gif" style="border:none;" /><!--/VTP_collapsed--><!--VTP_expanded--><img src="./template/{#user_template}/admin/images/expanded.gif" style="border:none;" /><!--/VTP_expanded--></a>
-      <span style="font-weight:bold;">{#name}</span> [ {#nb_pages} {#stats_pages_seen} - {#nb_visitors} {#stats_visitors} ]
-      [ <a href="{#url}">{#open_or_close}</a> ]
-    </td>
-  </tr>
-  <!--VTP_line-->
-  <tr>
-    <td>{#date}</td>
-    <td style="text-align:center;">{#login}</td>
-    <td>{#IP}</td>
-    <td>{#file}</td>
-    <td>{#category}</td>
-    <td>{#picture}</td>
-  </tr>
-  <!--/VTP_line-->
-  <!--/VTP_day-->
-</table>
-
-<!-- Graph with the number of pages seen per day -->
-<table style="margin:auto;margin-top:10px;margin-bottom:10px;border:1px solid black;">
-<tr>
-  <td colspan="3" style="text-align:center;font-weight:bold">{#stats_pages_seen_graph_title}</td>
-</tr>
-<!--VTP_pages_day-->
-<tr>
-  <td>{#date}</td>
-  <td>
-    <table style="border-collapse:collapse;">
-      <tr>
-        <td style="padding:0;"><img src="./template/{#user_template}/admin/images/stat_left.gif" width="4" height="12" /></td>
-        <td style="padding:0;"><img src="./template/{#user_template}/admin/images/stat_middle.gif" width="{#width}" height="12" /></td>
-        <td style="padding:0;"><img src="./template/{#user_template}/admin/images/stat_right.gif" width="4" height="12" /></td>
-      </tr>
-    </table>
-  </td>
-  <td align="center">[ {#nb_pages} ]</td>
-</tr>
-<!--/VTP_pages_day-->
-</table>
-
-<!-- Graph with the number of visitors per day -->
-<table style="margin:auto;margin-top:10px;margin-bottom:10px;border:1px solid black;">
-<tr>
-  <td colspan="3" style="text-align:center;font-weight:bold">{#stats_visitors_graph_title}</td>
-</tr>
-<!--VTP_visitors_day-->
-<tr>
-  <td>{#date}</td>
-  <td>
-    <table style="border-collapse:collapse;">
-      <tr>
-        <td style="padding:0;"><img src="./template/{#user_template}/admin/images/stat_left.gif" width="4" height="12" /></td>
-        <td style="padding:0;"><img src="./template/{#user_template}/admin/images/stat_middle.gif" width="{#width}" height="12" /></td>
-        <td style="padding:0;"><img src="./template/{#user_template}/admin/images/stat_right.gif" width="4" height="12" /></td>
-      </tr>
-    </table>
-  </td>
-  <td align="center">[ {#nb_visitors} ]</td>
-</tr>
-<!--/VTP_visitors_day-->
-</table>
