Even more rewrites/fixes from EL branch (please report any broken part after you...
[mailer.git] / inc / modules / admin / what-surfbar_stats.php
index c758fdb18fc857f28467125e65406754d782aab3..62a5ca2c7351ab76fccdcf423746a8feaef1da99 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 /************************************************************************
- * MXChange v0.2.1                                    Start: 09/09/2008 *
- * ================                             Last change: 09/09/2008 *
+ * Mailer v0.2.1-FINAL                                Start: 09/09/2008 *
+ * ===================                          Last change: 09/09/2008 *
  *                                                                      *
  * -------------------------------------------------------------------- *
  * File              : what-surfbar_stats.php                           *
  * -------------------------------------------------------------------- *
  * Kurzbeschreibung  : URL-Statistiken fuer die Surfbar                 *
  * -------------------------------------------------------------------- *
- *                                                                      *
+ * $Revision::                                                        $ *
+ * $Date::                                                            $ *
+ * $Tag:: 0.2.1-FINAL                                                 $ *
+ * $Author::                                                          $ *
+ * Needs to be in all Files and every File needs "svn propset           *
+ * svn:keywords Date Revision" (autoprobset!) at least!!!!!!            *
  * -------------------------------------------------------------------- *
- * Copyright (c) 2003 - 2008 by Roland Haeder                           *
+ * Copyright (c) 2003 - 2009 by Roland Haeder                           *
+ * Copyright (c) 2009, 2010 by Mailer Developer Team                    *
  * For more information visit: http://www.mxchange.org                  *
  *                                                                      *
  * This program is free software; you can redistribute it and/or modify *
  ************************************************************************/
 
 // Some security stuff...
-if ((!defined('__SECURITY')) || (!IS_ADMIN())) {
-       $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), "/inc") + 4) . "/security.php";
-       require($INC);
+if ((!defined('__SECURITY')) || (!isAdmin())) {
+       die();
 }
 
 // Add description as navigation point
-ADD_DESCR("admin", __FILE__);
+addMenuDescription('admin', __FILE__);
+
+// Is the 'url_id' set?
+if (isGetRequestParameterSet(('url_id'))) {
+       // Generate general statistics
+       $result = SQL_QUERY_ESC("SELECT
+       `stats_userid`,
+       `stats_count` AS `total_visits`,
+       UNIX_TIMESTAMP(`stats_last_surfed`) AS `last_surfed`
+FROM
+       `{?_MYSQL_PREFIX?}_surfbar_stats`
+WHERE
+       `stats_url_id`=%s
+ORDER BY
+       `stats_userid` ASC",
+               array(bigintval(getRequestParameter('url_id'))), __FILE__, __LINE__);
+
+       // Entries found?
+       if (SQL_NUMROWS($result) > 0) {
+               // Get all rows
+               $OUT = ''; $SW = 2; $cnt = '0'; $visits = '0';
+               while ($content = SQL_FETCHARRAY($result)) {
+                       // Count totals
+                       $visits += $content['total_visits'];
+
+                       // "Translate" some data
+                       $content['stats_userid'] = generateUserProfileLink($content['stats_userid']);
+                       $content['total_visits'] = translateComma($content['total_visits']);
+                       $content['last_surfed']  = generateDateTime($content['last_surfed'], 2);
+                       $content['sw']           = $SW;
+
+                       // Load row template
+                       $OUT .= loadTemplate('admin_surfbar_url_stats_row', true, $content);
+                       $cnt++; $SW = 3 - $SW;
+               } // END - while
+
+               // Prepare content
+               $content = array(
+                       'rows'    => $OUT,
+                       'userids' => $cnt,
+                       'visits'  => $visits
+               );
+
+
+               // Load main template
+               loadTemplate('admin_surfbar_url_stats', false, $content);
+       } else {
+               // No statistics so far
+               loadTemplate('admin_settings_saved', false, getMessage('ADMIN_SURFBAR_NO_URL_STATS'));
+       }
+} else {
+       // Generate general statistics
+       $result = SQL_QUERY("SELECT
+       `stats_userid`,
+       COUNT(`stats_url_id`) AS `visited_urls`,
+       SUM(`stats_count`) AS `total_visits`
+FROM
+       `{?_MYSQL_PREFIX?}_surfbar_stats`
+GROUP BY
+       `stats_userid`
+ORDER BY
+       `stats_userid` ASC", __FILE__, __LINE__);
+
+       // Entries found?
+       if (SQL_NUMROWS($result) > 0) {
+               // Get all rows
+               $OUT = ''; $SW = 2; $urlArray = '0'; $visits = '0';
+               while ($content = SQL_FETCHARRAY($result)) {
+                       // Count totals
+                       $urlArray   += $content['visited_urls'];
+                       $visits += $content['total_visits'];
+
+                       // "Translate" some data
+                       // @TODO Can't all these translation blocks moved into templates? This code looks ugly.
+                       $content['stats_userid'] = generateUserProfileLink($content['stats_userid']);
+                       $content['visited_urls'] = translateComma($content['visited_urls']);
+                       $content['total_visits'] = translateComma($content['total_visits']);
+                       $content['sw']           = $SW;
+
+                       // Load row template
+                       $OUT .= loadTemplate('admin_surfbar_stats_row', true, $content);
+                       $SW = 3 - $SW;
+               } // END - while
+
+               // Prepare content
+               $content = array(
+                       'rows'   => $OUT,
+                       'urls'   => $urlArray,
+                       'visits' => $visits
+               );
+
+
+               // Load main template
+               loadTemplate('admin_surfbar_stats', false, $content);
+       } else {
+               // No statistics so far
+               loadTemplate('admin_settings_saved', false, getMessage('ADMIN_SURFBAR_NO_STATS'));
+       }
+}
+
+// Free result
+SQL_FREERESULT($result);
 
 //
 ?>