Getting total/own points rewritten to filter:
[mailer.git] / inc / modules / admin / what-list_user.php
index 3bd4aabdd964e5e4cb0e9bb8c814c7caf1e8ff7e..2d6592c839600bcef9fb2f6624cbe27d51cf22a0 100644 (file)
  * $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 - 2009 by Roland Haeder                           *
- * Copyright (c) 2009, 2010 by Mailer Developer Team                    *
+ * 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 *
@@ -43,11 +41,11 @@ if ((!defined('__SECURITY')) || (!isAdmin())) {
 } // END - if
 
 // Add description as navigation point
-addMenuDescription('admin', __FILE__);
+addYouAreHereLink('admin', __FILE__);
 
 if ((!isExtensionInstalled('user')) || (!isExtensionActive('user'))) {
        // Missing extension!
-       loadTemplate('admin_settings_saved', false, generateExtensionInactiveNotInstalledMessage('user'));
+       displayMessage(generateExtensionInactiveNotInstalledMessage('user'));
        return;
 } // END - if
 
@@ -99,7 +97,7 @@ if (isGetRequestParameterSet('userid')) {
 
        // Does the account exists?
        $result_user = SQL_QUERY_ESC("SELECT
-       `gender`, `surname`, `family`, `street_nr`, `zip`, `city`, `country`, `email`, `birth_day`, `birth_month`, `birth_year`, `max_mails`, `receive_mails`, `refid`, `status`, `REMOTE_ADDR`, `last_online`, `last_module`, `ref_clicks`, `total_logins`, `used_points`, `emails_sent`, `joined`, `last_update`, `last_profile_sent`, `notified`, `ref_payout`, `emails_received`, `mails_confirmed`".$MORE."
+       `userid`, `gender`, `surname`, `family`, `street_nr`, `zip`, `city`, `country`, `email`, `birth_day`, `birth_month`, `birth_year`, `max_mails`, `receive_mails`, `refid`, `status`, `REMOTE_ADDR`, `last_online`, `last_module`, `ref_clicks`, `total_logins`, `used_points`, `emails_sent`, `joined`, `last_update`, `last_profile_sent`, `notified`, `ref_payout`, `emails_received`, `mails_confirmed`".$MORE."
 FROM
        `{?_MYSQL_PREFIX?}_user_data`
 WHERE
@@ -109,7 +107,7 @@ LIMIT 1",
 
        // User found?
        if (SQL_NUMROWS($result_user) == 1) {
-               // Account found!
+               // Account found
                $content  = SQL_FETCHARRAY($result_user);
 
                // Get count/sum of refs, selected categories, unconfirmed mails
@@ -120,8 +118,8 @@ LIMIT 1",
                // Add links to the numbers
                if ($content['links'] > 0) $content['links'] = $base . '&amp;what=list_links&amp;userid=' . $userid . '%}">' . $content['links'] . '</a>]';
                if (isValidUserId($content['refid'])) $content['refid'] = $base . '&amp;what=list_user&amp;userid=' . $content['refid'] . '%}">'.$content['refid'] . '</a>]';
-               if ($content['refs']  > 0) $content['refs']  = $base . '&amp;what=list_refs&amp;userid=' . $userid . '%}">' . translateComma($content['refs']) . '</a>]';
-               if ($content['cats']  > 0) $content['cats']  = $base . '&amp;what=list_cats&amp;userid=' . $userid . '%}">' . translateComma($content['cats']) . '</a>]';
+               if ($content['refs']  > 0) $content['refs']  = $base . '&amp;what=list_refs&amp;userid=' . $userid . '%}">{%pipe,translateComma=' . $content['refs'] . '%}</a>]';
+               if ($content['cats']  > 0) $content['cats']  = $base . '&amp;what=list_cats&amp;userid=' . $userid . '%}">{%pipe,translateComma=' . $content['cats'] . '%}</a>]';
 
                // Calculate timestamp for birthday
                $stamp = mktime(0, 0, 0, $content['birth_month'], $content['birth_day'], $content['birth_year']);
@@ -138,18 +136,36 @@ LIMIT 1",
                // Prepare data for template
                $content['email_link']        = generateEmailLink($content['email'], 'user_data');
                $content['last_online']       = generateDateTime($content['last_online'], 0);
-               if ($content['emails_sent'] > 0) $content['emails_sent'] = $base . '&amp;what=email_details&amp;userid=' . $userid . '%}">' . translateComma($content['emails_sent']) . '</a>]';
                $content['joined']            = generateDateTime($content['joined'], 0);
                $content['last_update']       = generateDateTime($content['last_update'], 0);
                $content['last_profile_sent'] = generateDateTime($content['last_profile_sent'], 0);
-               $content['total']             = countSumTotalData($userid, 'user_points', 'points');
-               $content['locked']            = countSumTotalData($userid, 'user_points', 'locked_points');
+               $content['total_points']      = getTotalPoints($content['userid']);
+               $content['locked_points']     = countSumTotalData($content['userid'], 'user_points', 'locked_points') + countSumTotalData($content['userid'], 'user_points', 'locked_order_points');
+
+               // Prepare array for filter
+               $data = array(
+                       'userid' => $content['userid'],
+                       'points' => 0
+               );
+
+               // Run the filter chain
+               $data = runFilterChain('get_own_points', $data);
+
+               // Add more data
+               $content['own_points']        = $data['points'];
                $content['lock_timestamp']    = generateDateTime($content['lock_timestamp'], 2);
                $content['nickname']          = '{--EXT_NICKNAME_404--}';
 
+               // Link to email_details if some are sent
+               if ($content['emails_sent'] > 0) {
+                       $content['emails_sent'] = $base . '&amp;what=email_details&amp;userid=' . $content['userid'] . '%}">}{%pipe,translateComma=' . $content['emails_sent'] . '%}</a>]';
+               } // END - if
+
                // Nickname inclusion?
                // @TODO Rewrite these to filters
-               if (isExtensionInstalled('nickname')) $content['nickname'] = getNickname($content['userid']);
+               if (isExtensionInstalled('nickname')) {
+                       $content['nickname'] = getNickname($content['userid']);
+               } // END - if
 
                // Clickrate
                $content['click_rate'] = '0';
@@ -173,7 +189,7 @@ LIMIT 1",
                loadTemplate('admin_user_details', false, $content);
        } else {
                // Account does not exist!
-               loadTemplate('admin_settings_saved', false, getMaskedMessage('ADMIN_MEMBER_404', $userid));
+               displayMessage(getMaskedMessage('ADMIN_MEMBER_404', $userid));
        }
 
        // Free the result
@@ -186,7 +202,7 @@ LIMIT 1",
        } // END - if
 
        // Parse the status or mode parameter
-       if (isGetRequestParameterSet(('status'))) {
+       if (isGetRequestParameterSet('status')) {
                // Is a WHERE statement already there?
                if (!empty($whereStatement)) {
                        // Then append the status column
@@ -225,7 +241,7 @@ LIMIT 1",
        // Calculate page count (0.5 fixes a bug with page count)
        if (getConfig('user_limit') == '0') {
                setConfigEntry('user_limit', 100);
-               loadTemplate('admin_settings_saved', false, '{--EXTENSION_WARNING_USER_LIMIT--}');
+               displayMessage('{--EXTENSION_WARNING_USER_LIMIT--}');
        } // END - if
 
        // Activate the extension please!
@@ -239,7 +255,7 @@ LIMIT 1",
        $result = SQL_QUERY($sql, __FILE__, __LINE__);
 
        // Are there some entries?
-       if (SQL_NUMROWS($result_master) > 0) {
+       if (!SQL_HASZERONUMS($result_master)) {
                // We have some (new?) registrations!
                $templateContent['colspan2']   = ($colspan + 2);
                $templateContent['user_count'] = getTotalConfirmedUser();
@@ -269,17 +285,20 @@ LIMIT 1",
 
                        // Get number of unconfirmed mails
                        $content['links'] = countSumTotalData($content['userid'], 'user_links', 'id', 'userid', true);
-                       if ($content['links'] > 0) $content['links'] = $base . '&amp;what=list_links&amp;userid=' . $content['userid'] . '%}">' . translateComma($content['links']) . '</a>]';
+                       if ($content['links'] > 0) {
+                               $content['links'] = $base . '&amp;what=list_links&amp;userid=' . $content['userid'] . '%}">{%pipe,translateComma=' . $content['links'] . '%}</a>]';
+                       } // END - if
 
                        // Set link to sent mails if present
-                       if ($content['emails_sent'] > 0) $content['emails_sent'] = $base . '&amp;what=email_details&amp;userid=' . $content['userid'] . '%}">' . translateComma($content['emails_sent']) . '</a>]';
+                       if ($content['emails_sent'] > 0) {
+                               $content['emails_sent'] = $base . '&amp;what=email_details&amp;userid=' . $content['userid'] . '%}">{%pipe,translateComma=' . $content['emails_sent'] . '%}</a>]';
+                       } // END - if
 
                        // Add nickname
                        $content['nickname'] = '{--EXT_NICKNAME_404--}';
-                       if (isExtensionInstalled('nickname')) $content['nickname'] = getNickname($content['userid']);
-
-                       // Calculate total points
-                       $content['points'] = countSumTotalData($content['userid'], 'user_points', 'points')  - countSumTotalData($content['userid'], 'user_data', 'used_points');
+                       if (isExtensionInstalled('nickname')) {
+                               $content['nickname'] = getNickname($content['userid']);
+                       } // END - if
 
                        // Clickrate
                        $content['rate'] = '0';
@@ -291,10 +310,13 @@ LIMIT 1",
                        $content['email']          = '[<a href="' . generateEmailLink($content['email'], 'user_data') . '">' . $content['email'] . '</a>]';
                        $content['lock_timestamp'] = generateDateTime($content['lock_timestamp'], 2);
                        $content['refs']           = countSumTotalData($content['userid'], 'user_refs', 'id', 'userid', true);
-                       $content['locked']         = countSumTotalData($content['userid'], 'user_points', 'locked_points');
+                       $content['own_points']     = countSumTotalData($content['userid'], 'user_points', 'points') + countSumTotalData($content['userid'], 'user_points', 'order_points');
+                       $content['locked_points']  = countSumTotalData($content['userid'], 'user_points', 'locked_points') + countSumTotalData($content['userid'], 'user_points', 'locked_order_points');
 
                        // If we have at least one referal, make it clickable to referal list
-                       if ($content['refs'] > 0) $content['refs'] = $base . '&amp;what=list_refs&amp;userid=' . $content['userid'] . '%}">' . translateComma($content['refs']) . '</a>]';
+                       if ($content['refs'] > 0) {
+                               $content['refs'] = $base . '&amp;what=list_refs&amp;userid=' . $content['userid'] . '%}">{%pipe,translateComma=' . $content['refs'] . '%}</a>]';
+                       } // END - if
 
                        // Is the extension 'country' installed?
                        // @TODO Rewrite this into a filter
@@ -319,16 +341,6 @@ LIMIT 1",
                // Remember all rows
                $content['rows'] = $OUT;
 
-               // Init title with "all accounts"
-               $content['title'] = '{--ADMIN_ALL_ACCOUNTS--}';
-               if (isGetRequestParameterSet(('status'))) {
-                       // Set title according to the 'status'
-                       $content['title'] = getMessage(sprintf("ADMIN_LIST_STATUS_%s_ACCOUNTS", strtoupper(getRequestParameter(('status')))));
-               } elseif (isGetRequestParameterSet('mode')) {
-                       // Set title according to the "mode"
-                       $content['title'] = getMessage(sprintf("ADMIN_LIST_MODE_%s_ACCOUNTS", strtoupper(getRequestParameter('mode'))));
-               }
-
                // Merge more data again
                $content = merge_array($content, $templateContent);
 
@@ -336,7 +348,7 @@ LIMIT 1",
                loadTemplate('admin_list_user', false, $content);
        } else {
                // No one as registered so far! :-(
-               loadTemplate('admin_settings_saved', false, '{--ADMIN_NO_NONE_REGISTERED--}');
+               displayMessage('{--ADMIN_NO_NONE_REGISTERED--}');
        }
 
        // Free memory