Extension 'ext-coupon' moved to branch, SQLs improved:
[mailer.git] / inc / modules / guest / what-top10.php
index 8536854d676fb762afc3da15f528636253c34556..a5ad5e61faac792850edddcf981b50a5fe52f9e2 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 /************************************************************************
- * MXChange v0.2.1                                    Start: 11/24/2004 *
- * ================                             Last change: 11/26/2004 *
+ * Mailer v0.2.1-FINAL                                Start: 11/24/2004 *
+ * ===================                          Last change: 11/26/2004 *
  *                                                                      *
  * -------------------------------------------------------------------- *
  * File              : what-top10.php                                   *
  * -------------------------------------------------------------------- *
  * Kurzbeschreibung  : TOP-Logins / Bestverdiener usw.                  *
  * -------------------------------------------------------------------- *
- *                                                                      *
+ * $Revision::                                                        $ *
+ * $Date::                                                            $ *
+ * $Tag:: 0.2.1-FINAL                                                 $ *
+ * $Author::                                                          $ *
  * -------------------------------------------------------------------- *
- * Copyright (c) 2003 - 2008 by Roland Haeder                           *
+ * Copyright (c) 2003 - 2009 by Roland Haeder                           *
+ * Copyright (c) 2009 - 2011 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')) {
-       $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), "/inc") + 4) . "/security.php";
-       require($INC);
-} elseif (!EXT_IS_ACTIVE("top10")) {
-       ADD_FATAL(EXTENSION_PROBLEM_EXT_INACTIVE, "top10");
-       return;
-}
+       die();
+} // END - if
 
 // Add description as navigation point
-ADD_DESCR("guest", __FILE__);
+addYouAreHereLink('guest', __FILE__);
+
+if ((!isExtensionActive('top10')) && (!isAdmin())) {
+       displayMessage(generateExtensionInactiveNotInstalledMessage('top10'));
+       return;
+} // END - if
+
+// Init array
+$rows = array();
 
 //// TOP logins
-$ADD = "userid";
-if (EXT_IS_ACTIVE("nickname")) $ADD = "nickname";
-$result = SQL_QUERY_ESC("SELECT userid, ".$ADD.", total_logins, last_online
-FROM "._MYSQL_PREFIX."_user_data
-WHERE total_logins>0 AND status='CONFIRMED' ORDER BY total_logins DESC LIMIT %s",
- array($_CONFIG['top10_max']), __FILE__, __LINE__);
-
-$OUT = ""; $SW = 2; $cnt = 1;
-while(list($uid, $nick, $logins, $last) = SQL_FETCHROW($result))
-{
-       $nick2 = "---";
-       if (($nick != $uid) && (!empty($nick))) $nick2 = $nick;
+$result = SQL_QUERY("SELECT
+       `userid`, `total_logins`, `last_online`
+FROM
+       `{?_MYSQL_PREFIX?}_user_data`
+WHERE
+       `total_logins` > 0 AND
+       `status`='CONFIRMED'
+ORDER BY
+       `total_logins` DESC
+LIMIT {?top10_max?}", __FILE__, __LINE__);
+
+$OUT = ''; $count = 1;
+while ($content = SQL_FETCHARRAY($result)) {
+       // Init nickname
+       $content['nickname'] = '';
+
+       // Get nickname
+       if (isExtensionActive('nickname')) $content['nickname'] = getNickname($content['userid']);
 
        // Prepare data for template
        $content = array(
-               'sw'     => $SW,
-               'cnt'    => $cnt,
-               'uid'    => $uid,
-               'nick'   => $nick2,
-               'logins' => $logins,
-               'points' => TRANSLATE_COMMA(GET_TOTAL_DATA($uid, "user_points", "points")),
-               'last'   => MAKE_DATETIME($last, "3"),
+               'cnt'          => $count,
+               'userid'       => $content['userid'],
+               'nickname'     => $content['nickname'],
+               'total_logins' => $content['total_logins'],
+               'points'       => getTotalPoints($content['userid']),
+               'last_online'  => generateDateTime($content['last_online'], 3),
        );
 
        // Load row template
-       $OUT .= LOAD_TEMPLATE("guest_top10_row_login", true, $content);
+       $OUT .= loadTemplate('guest_top10_row_login', true, $content);
+
+       // Count one up
+       $count++;
+} // END - while
 
-       // Switch colors and count one up
-       $SW = 3 - $SW; $cnt++;
-}
-if ($cnt < $_CONFIG['top10_max'])
-{
+if ($count < getConfig('top10_max')) {
        // Add more "blank" rows
-       for ($i = $cnt; $i <= $_CONFIG['top10_max']; $i++)
-       {
+       for ($i = $count; $i <= getConfig('top10_max'); $i++) {
                // Prepare data for template
                $content = array(
-                       'sw'  => $SW,
-                       'idx' => $i
+                       'index' => $i
                );
 
                // Load row template
-               $OUT .= LOAD_TEMPLATE("guest_top10_empty5", true, $content);
-               $SW = 3 - $SW;
-       }
-}
-define('__TOP_LOGINS_ROWS', $OUT);
+               $OUT .= loadTemplate('guest_top10_empty5', true, $content);
+       } // END - for
+} // END - if
+
+// Remember the rows in array
+$rows['logins_out'] = $OUT;
+
+// Free result
+SQL_FREERESULT($result);
 
 //// TOP earners
-$result = SQL_QUERY_ESC("SELECT DISTINCT p.userid, d.".$ADD.", (SUM(p.points) - d.used_points) AS tpoints, d.last_online
-FROM "._MYSQL_PREFIX."_user_points AS p
-LEFT JOIN "._MYSQL_PREFIX."_user_data AS d
-ON p.userid=d.userid
-WHERE p.points > 0 AND d.status='CONFIRMED'
-GROUP BY p.userid
-ORDER BY tpoints DESC, d.last_online DESC
-LIMIT %s",
- array($_CONFIG['top10_max']), __FILE__, __LINE__);
-
-$OUT = ""; $SW = 2; $cnt = 1;
-while(list($uid, $nick, $points, $last) = SQL_FETCHROW($result))
-{
-       $nick2 = "---";
-       if (($nick != $uid) && (!empty($nick))) $nick2 = $nick;
+$result = SQL_QUERY("SELECT
+       d.userid,
+       (SUM(p.points) - d.used_points) AS `points`,
+       d.last_online
+FROM
+       `{?_MYSQL_PREFIX?}_user_data` AS d
+LEFT JOIN
+       {?_MYSQL_PREFIX?}_user_points AS p
+ON
+       p.userid=d.userid
+WHERE
+       p.points > 0 AND
+       d.`status`='CONFIRMED'
+GROUP BY
+       p.userid
+ORDER BY
+       points DESC,
+       d.last_online DESC
+LIMIT {?top10_max?}", __FILE__, __LINE__);
+
+$OUT = ''; $count = 1;
+while ($content = SQL_FETCHARRAY($result)) {
+       // Init nickname
+       $content['nickname'] = '';
+
+       // Get nickname
+       if (isExtensionActive('nickname')) $content['nickname'] = getNickname($content['userid']);
 
        // Prepare data for template
        $content = array(
-               'sw'     => $SW,
-               'cnt'    => $cnt,
-               'uid'    => bigintval($uid),
-               'nick'   => $nick2,
-               'points' => TRANSLATE_COMMA($points),
-               'last'   => MAKE_DATETIME($last, "3")
+               'cnt'         => $count,
+               'userid'      => $content['userid'],
+               'nickname'    => $content['nickname'],
+               'points'      => $content['points'],
+               'last_online' => generateDateTime($content['last_online'], 3)
        );
 
        // Load row template
-       $OUT .= LOAD_TEMPLATE("guest_top10_row_earner", true, $content);
+       $OUT .= loadTemplate('guest_top10_row_earner', true, $content);
+
+       // Count one up
+       $count++;
+} // END - while
 
-       // Switch colors and count one up
-       $SW = 3 - $SW; $cnt++;
-}
-if ($cnt < $_CONFIG['top10_max'])
-{
+if ($count < getConfig('top10_max')) {
        // Add more "blank" rows
-       for ($i = $cnt; $i <= $_CONFIG['top10_max']; $i++)
-       {
+       for ($i = $count; $i <= getConfig('top10_max'); $i++) {
                // Prepare data for template
                $content = array(
-                       'sw'  => $SW,
-                       'idx' => $i
+                       'index' => $i
                );
 
                // Load row template
-               $OUT .= LOAD_TEMPLATE("guest_top10_empty4", true, $content);
-               $SW = 3 - $SW;
-       }
-}
-define('__TOP_POINTS_ROWS', $OUT);
+               $OUT .= loadTemplate('guest_top10_empty4', true, $content);
+       } // END - for
+} // END - if
+
+// Remember the rows in array
+$rows['points_out'] = $OUT;
+
+// Free result
+SQL_FREERESULT($result);
 
 //// TOP referal "hunter"
-$result = SQL_QUERY_ESC("SELECT DISTINCT r.userid, d.".$ADD.", SUM(r.counter) AS refs, d.last_online
-FROM "._MYSQL_PREFIX."_refsystem AS r
-LEFT JOIN "._MYSQL_PREFIX."_user_data AS d
-ON r.userid=d.userid
-WHERE r.counter > 0 AND d.status='CONFIRMED'
-GROUP BY r.userid
-ORDER BY refs DESC, d.last_online DESC
-LIMIT %s",
- array($_CONFIG['top10_max']), __FILE__, __LINE__);
-
-$OUT = ""; $SW = 2; $cnt = 1;
-while(list($uid, $nick, $refs, $last) = SQL_FETCHROW($result))
-{
-       $nick2 = "---";
-       if (($nick != $uid) && (!empty($nick))) $nick2 = $nick;
+$result = SQL_QUERY("SELECT
+       d.userid,
+       SUM(r.counter) AS refs,
+       d.last_online
+FROM
+       `{?_MYSQL_PREFIX?}_user_data` AS d
+LEFT JOIN
+       {?_MYSQL_PREFIX?}_refsystem AS r
+ON
+       r.userid=d.userid
+WHERE
+       r.counter > 0 AND
+       d.`status`='CONFIRMED'
+GROUP BY
+       r.userid
+ORDER BY
+       refs DESC,
+       d.last_online DESC
+LIMIT {?top10_max?}", __FILE__, __LINE__);
+
+$OUT = ''; $count = 1;
+while ($content = SQL_FETCHARRAY($result)) {
+       // Init nickname
+       $content['nickname'] = '';
+
+       // Get nickname
+       if (isExtensionActive('nickname')) $content['nickname'] = getNickname($content['userid']);
 
        // Prepare data for template
        $content = array(
-               'sw'     => $SW,
-               'cnt'    => $cnt,
-               'uid'    => bigintval($uid),
-               'refs'   => $refs,
-               'nick'   => $nick2,
-               'points' => TRANSLATE_COMMA(GET_TOTAL_DATA($uid, "user_points", "points")),
-               'last'   => MAKE_DATETIME($last, "3")
+               'cnt'         => $count,
+               'userid'      => $content['userid'],
+               'refs'        => $content['refs'],
+               'nickname'    => $content['nickname'],
+               'points'      => getTotalPoints($content['userid']),
+               'last_online' => generateDateTime($content['last_online'], 3)
        );
 
        // Load row template
-       $OUT .= LOAD_TEMPLATE("guest_top10_row_refs", true, $content);
+       $OUT .= loadTemplate('guest_top10_row_refs', true, $content);
+
+       // Count one up
+       $count++;
+} // END - while
 
-       // Switch colors and count one up
-       $SW = 3 - $SW; $cnt++;
-}
-if ($cnt < $_CONFIG['top10_max'])
-{
+if ($count < getConfig('top10_max')) {
        // Add more "blank" rows
-       for ($i = $cnt; $i <= $_CONFIG['top10_max']; $i++)
-       {
+       for ($i = $count; $i <= getConfig('top10_max'); $i++) {
                // Prepare data for template
                $content = array(
-                       'sw'  => $SW,
-                       'idx' => $i
+                       'index' => $i
                );
 
                // Load row template
-               $OUT .= LOAD_TEMPLATE("guest_top10_empty5", true, $content);
-               $SW = 3 - $SW;
-       }
-}
-define('__TOP_REFERRAL_ROWS', $OUT);
+               $OUT .= loadTemplate('guest_top10_empty5', true, $content);
+       } // END - for
+} // END - if
+
+// Remember the rows in array
+$rows['referals_out'] = $OUT;
 
-// Remember other values in constants
-define('__TOP10_MAX', $_CONFIG['top10_max']);
+// Free result
+SQL_FREERESULT($result);
 
 // Load final template
-LOAD_TEMPLATE("guest_top10");
+loadTemplate('guest_top10', false, $rows);
 
-//
+// [EOF]
 ?>