From 5d9a865fe1931869d3d9edb19f64d66783a0f4f4 Mon Sep 17 00:00:00 2001 From: plegall Date: Tue, 16 Jan 2007 23:39:39 +0000 Subject: Modification: new data model for history, more compact, more efficient. A summary table is used as cache for history stats display. New: a Perl script fill_history.pl was added to simulate a high load on history table (making the efficiency of the new data model obvious). Modification: function prepend_append_array_items moved from include/functions_search.inc.php to include/functions_search.inc.php since this function is used in new file admin/history.php Modification: admin/images/*_stats.img.php replaced by a simpler and more generic admin/images/stats.img.php unique file. New: a history detail search page was added. Currently, only start and end dates can be modified, it's just a beginning. git-svn-id: http://piwigo.org/svn/trunk@1727 68402e56-0260-453c-a942-63ccdbb3a9ee --- admin/images/daily_stats.img.php | 126 ------------------- admin/images/global_stats.img.php | 126 ------------------- admin/images/monthly_stats.img.php | 126 ------------------- admin/images/stats.img.php | 241 +++++++++++++++++++++++++++++++++++++ 4 files changed, 241 insertions(+), 378 deletions(-) delete mode 100644 admin/images/daily_stats.img.php delete mode 100644 admin/images/global_stats.img.php delete mode 100644 admin/images/monthly_stats.img.php create mode 100644 admin/images/stats.img.php (limited to 'admin/images') diff --git a/admin/images/daily_stats.img.php b/admin/images/daily_stats.img.php deleted file mode 100644 index e5d320e86..000000000 --- a/admin/images/daily_stats.img.php +++ /dev/null @@ -1,126 +0,0 @@ -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 = pwg_query($sql) -or die(mysql_errno().": ".mysql_error()."
".$sql); - -$hours = array(); -for ($i = 0; $i <= 23; $i++) -{ - $hours[$i] = 0; -} - -while ($r = mysql_fetch_row($result)) -{ - $hours[$r[1]]= $r[0]; -} -$o=0; -while (list ($key,$value) = each($hours )) -{ - $myBarGraph->AddValue($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 (in_array($outputFormat, array("jpg", "jpeg"))) -{ - header("Content-type: image/jpeg"); - Imagejpeg($image); -} -// Destroy the image. -Imagedestroy($image); -?> diff --git a/admin/images/global_stats.img.php b/admin/images/global_stats.img.php deleted file mode 100644 index 557067e42..000000000 --- a/admin/images/global_stats.img.php +++ /dev/null @@ -1,126 +0,0 @@ - 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 = pwg_query($sql) -or die(mysql_errno().": ".mysql_error()."
".$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 (in_array($outputFormat, array("jpg", "jpeg"))) -{ - header("Content-type: image/jpeg"); - Imagejpeg($image); -} -// Destroy the image. -Imagedestroy($image); -?> \ No newline at end of file diff --git a/admin/images/monthly_stats.img.php b/admin/images/monthly_stats.img.php deleted file mode 100644 index 5ad3b0f55..000000000 --- a/admin/images/monthly_stats.img.php +++ /dev/null @@ -1,126 +0,0 @@ -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 = pwg_query($sql) -or die(mysql_errno().": ".mysql_error()."
".$sql); - -$days = array(); -for ($i = 1; $i <= 31; $i++) -{ - $days[$i] = 0; -} - -while ($r = mysql_fetch_row($result)) -{ - $days[$r[1]]= $r[0]; -} -$o=0; -while (list ($key,$value) = each($days )) -{ - $myBarGraph->AddValue($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 (in_array($outputFormat, array("jpg", "jpeg"))) -{ - header("Content-type: image/jpeg"); - Imagejpeg($image); -} -// Destroy the image. -Imagedestroy($image); -?> \ No newline at end of file diff --git a/admin/images/stats.img.php b/admin/images/stats.img.php new file mode 100644 index 000000000..7a9d676a8 --- /dev/null +++ b/admin/images/stats.img.php @@ -0,0 +1,241 @@ +SetX(10); + +// Set the starting y position +$myBarGraph->SetY(10); + +// Set how wide the bargraph will be +$myBarGraph->SetWidth($imageWidth-20); + +// Set how tall the bargraph will be +$myBarGraph->SetHeight($imageHeight-20); + +// Set this to zero if you don't want to show any. These are the vertical +// bars to help see the values. +// $myBarGraph->SetNumOfValueTicks(3); + + +// You can try uncommenting these lines below for different looks. +// +// The default is true. Setting this to false will cause phpBarGraph to not +// print the labels of each bar. +$myBarGraph->SetShowLabels(true); + +// The default is true. Setting this to false will cause phpBarGraph to not +// print the values of each bar. +$myBarGraph->SetShowValues(false); + +// The default is true. Setting this to false will cause phpBarGraph to not +// print the border of each bar. +$myBarGraph->SetBarBorder(true); + +// The default is true. Setting this to false will cause phpBarGraph to not +// print each bar as a gradient. +$myBarGraph->SetShowFade(true); + +// The default is true. Setting this to false will cause phpBarGraph to not +// print the outside box. +$myBarGraph->SetShowOuterBox(true); + +// The default is 10. This changes the space inbetween each bar. +$myBarGraph->SetBarSpacing(5); + + +// Add Values to the bargraph.. +$result = pwg_query($query); +$datas = array(); +while ($row = mysql_fetch_array($result)) +{ + $datas[$row['x']] = $row['y']; +} + +if (!isset($min_x) and !isset($max_x)) +{ + $min_x = min(array_keys($datas)); + $max_x = max(array_keys($datas)); +} + +for ($i = $min_x; $i <= $max_x; $i++) +{ + if (!isset($datas[$i])) + { + $datas[$i] = 0; + } + + $myBarGraph->AddValue($i, $datas[$i]); +} + +// Set the colors of the bargraph.. +// +// This is the color on the top of every bar. +$myBarGraph->SetStartBarColor("6666ff"); + +// This is the color on the bottom of every bar. This is not used when +// SetShowFade() is set to false. +$myBarGraph->SetEndBarColor("2222aa"); + +// This is the color all the lines and text are printed out with. +$myBarGraph->SetLineColor("000000"); + +// 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 (in_array($outputFormat, array("jpg", "jpeg"))) +{ + header("Content-type: image/jpeg"); + Imagejpeg($image); +} +// Destroy the image. +Imagedestroy($image); +?> \ No newline at end of file -- cgit v1.2.3