]> git.mxchange.org Git - mailer.git/blobdiff - inc/modules/admin/what-surfbar_stats.php
Even more rewritten
[mailer.git] / inc / modules / admin / what-surfbar_stats.php
index 3bc8f9f4073961a268ee50fb026d98d4bf832022..daf8f50e9c900e01315e57005017ec398348d3b9 100644 (file)
  * -------------------------------------------------------------------- *
  * 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                           *
  * For more information visit: http://www.mxchange.org                  *
  ************************************************************************/
 
 // Some security stuff...
-if ((ereg(basename(__FILE__), $_SERVER['PHP_SELF'])) || (!is_admin())) {
-       $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), "/inc") + 4) . "/security.php";
+if ((!defined('__SECURITY')) || (!IS_ADMIN())) {
+       $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), '/inc') + 4) . '/security.php';
        require($INC);
 }
 
 // Add description as navigation point
-ADD_DESCR("admin", basename(__FILE__));
+ADD_DESCR('admin', __FILE__);
+
+// Is the 'url_id' set?
+if (REQUEST_ISSET_GET(('url_id'))) {
+       // Generate general statistics
+       $result = SQL_QUERY_ESC("SELECT `userid`,`count` AS `total_visits`, UNIX_TIMESTAMP(`last_online`) AS `last_online`
+FROM `{!_MYSQL_PREFIX!}_surfbar_stats`
+WHERE `url_id`=%s
+ORDER BY `userid` ASC",
+               array(bigintval(REQUEST_GET('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['userid']       = ADMIN_USER_PROFILE_LINK($content['userid']);
+                       $content['total_visits'] = TRANSLATE_COMMA($content['total_visits']);
+                       $content['last_online']  = MAKE_DATETIME($content['last_online'], "2");
+                       $content['sw']           = $SW;
+
+                       // Load row template
+                       $OUT .= LOAD_TEMPLATE("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
+               LOAD_TEMPLATE("admin_surfbar_url_stats", false, $content);
+       } else {
+               // No statistics so far
+               LOAD_TEMPLATE('admin_settings_saved', false, getMessage('ADMIN_SURFBAR_NO_URL_STATS'));
+       }
+} else {
+       // Generate general statistics
+       $result = SQL_QUERY("SELECT `userid`, COUNT(`url_id`) AS `visited_urls`, SUM(`count`) AS `total_visits`
+FROM `{!_MYSQL_PREFIX!}_surfbar_stats`
+GROUP BY `userid`
+ORDER BY `userid` ASC", __FILE__, __LINE__);
+
+       // Entries found?
+       if (SQL_NUMROWS($result) > 0) {
+               // Get all rows
+               $OUT = ''; $SW = 2; $urls = 0; $visits = 0;
+               while ($content = SQL_FETCHARRAY($result)) {
+                       // Count totals
+                       $urls   += $content['visited_urls'];
+                       $visits += $content['total_visits'];
+
+                       // "Translate" some data
+                       $content['userid']       = ADMIN_USER_PROFILE_LINK($content['userid']);
+                       $content['visited_urls'] = TRANSLATE_COMMA($content['visited_urls']);
+                       $content['total_visits'] = TRANSLATE_COMMA($content['total_visits']);
+                       $content['sw']           = $SW;
+
+                       // Load row template
+                       $OUT .= LOAD_TEMPLATE("admin_surfbar_stats_row", true, $content);
+                       $SW = 3 - $SW;
+               } // END - while
+
+               // Prepare content
+               $content = array(
+                       'rows'   => $OUT,
+                       'urls'   => $urls,
+                       'visits' => $visits
+               );
+
+
+               // Load main template
+               LOAD_TEMPLATE("admin_surfbar_stats", false, $content);
+       } else {
+               // No statistics so far
+               LOAD_TEMPLATE('admin_settings_saved', false, getMessage('ADMIN_SURFBAR_NO_STATS'));
+       }
+}
+
+// Free result
+SQL_FREERESULT($result);
 
 //
 ?>