A lot has been rewritten, ext-teams added, ext-forced continued:
[mailer.git] / inc / modules / member / what-primera.php
index eb8b8136155cb2ca10371cdbaf68ca0b8b8f0910..cf4a196098614d7320d30ea384d2e2210405956f 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-primera.php                                 *
  * $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 - 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 (!IS_MEMBER()) {
+       die();
+} elseif (!isMember()) {
        // User is not logged in
-       redirectToUrl('modules.php?module=index');
-} elseif ((!EXT_IS_ACTIVE('primera')) && (!IS_ADMIN())) {
-       // Extension 'primera' is not activated
-       addFatalMessage(__FILE__, __LINE__, sprintf(getMessage('EXTENSION_PROBLEM_EXT_INACTIVE'), 'primera'));
-       return;
+       redirectToIndexMemberOnlyModule();
 }
 
 // Add description as navigation point
-ADD_DESCR('member', __FILE__);
+addYouAreHereLink('member', __FILE__);
+
+if ((!isExtensionActive('primera')) && (!isAdmin())) {
+       // Extension 'primera' is not activated
+       displayMessage('{%pipe,generateExtensionInactiveNotInstalledMessage=primera%}');
+       return;
+} // END - if
 
 // Check if the admin has entered the data
 if ((getConfig('primera_api_name') == '') || (getConfig('primera_api_md5') == '')) {
        // Something important is missing...
-       LOAD_TEMPLATE('admin_settings_saved', false, getMessage('PRIMERA_MEMBER_API_DATA_MISSING'));
+       displayMessage('{--MEMBER_PRIMERA_API_DATA_MISSING--}');
        return;
-}
+} // END - if
 
 // Init the content array and points
-$content = array(); $points = false;
+$content = array();
+$points = false;
 
 // Is the mode set (payout only)
-if (!REQUEST_ISSET_GET(('mode'))) {
-       // Get referal id
-       $content['refid'] = getConfig(('primera_refid'));
-
-       // Get Primus id
-       $result = SQL_QUERY_ESC("SELECT primera_userid FROM `{!_MYSQL_PREFIX!}_user_data` WHERE userid=%s LIMIT 1",
-               array(getUserId()), __FILE__, __LINE__);
-
-       // Are there some entries?
-       if (SQL_NUMROWS($result) == 1) {
-               // Fetch ID
-               list($content['primera_nickname']) = SQL_FETCHROW($result);
-       } // END - if
-
-       // Free result
-       SQL_FREERESULT($result);
-
-       // Is there an ID?
-       if ((!empty($content['primera_nickname'])) && (!REQUEST_ISSET_GET(('mode')))) {
+if (!isGetRequestParameterSet('mode')) {
+       // Is there an id?
+       if ((!empty($content['primera_nickname'])) && (!isGetRequestParameterSet('mode'))) {
                // Then use an other "mode"
-               REQUEST_SET_GET('mode', "list");
+               setGetRequestParameter('mode', 'list');
 
                // And load all rows!
-               $result = SQL_QUERY_ESC("SELECT `id`,`primera_account`,`primera_amount`,`primera_timestamp`,`primera_type` FROM `{!_MYSQL_PREFIX!}_user_primera` WHERE `userid` = %s ORDER BY `primera_timestamp` DESC",
-                       array(getUserId()), __FILE__, __LINE__);
+               $result = SQL_QUERY_ESC("SELECT `id`,`primera_account`,`primera_amount`,`primera_timestamp`,`primera_type` FROM `{?_MYSQL_PREFIX?}_user_primera` WHERE `userid`=%s ORDER BY `primera_timestamp` DESC",
+                       array(getMemberId()), __FILE__, __LINE__);
 
                // Load all rows
-               $content['rows'] = ''; $SW = 2;
+               $content['rows'] = '';
                while ($data = SQL_FETCHARRAY($result)) {
                        // Prepare data for output
-                       $rowContent = array(
-                               'stamp'         => generateDateTime($data['primera_timestamp'], "2"),
-                               'points'                => translateComma($data['primera_amount']),
-                               'acc'           => SQL_ESCAPE($data['primera_account']),
-                               'status'                => PRIMERA_TRANSFER_STATUS($data['primera_type']),
-                               'raw_type'      => strtolower($data['primera_type']),
-                               'sw'                    => $SW,
-                       );
+                       $rowContent['primera_timestamp'] = generateDateTime($data['primera_timestamp'], 2);
 
                        // Load row template
-                       $content['rows'] .= LOAD_TEMPLATE("member_primera_mode_list_row", true, $rowContent);
-                       $SW = 3 - $SW;
-               }
+                       $content['rows'] .= loadTemplate('member_primera_mode_list_row', true, $rowContent);
+               } // END - while
 
                // Free result
                SQL_FREERESULT($result);
        } else {
                // Mode pay
-               REQUEST_SET_GET('mode', "pay");
+               setGetRequestParameter('mode', 'pay');
        }
 } // END - if
-if (REQUEST_GET('mode') == "pay") {
+
+if (getRequestParameter('mode') == 'pay') {
        // Get total points and check if the user can request a payout
-       $points = GET_TOTAL_DATA(getUserId(), "user_points", "points") - GET_TOTAL_DATA(getUserId(), "user_data", "used_points");
+       $points = getTotalPoints(getMemberId());
 
        // No dots here...
        $points = explode('.', $points);
        $points = bigintval($points[0]);
 
        // Remove the registration fee
-       $points = $points - getConfig('points_register');
+       $points = $points - getPointsRegister();
 
        // Is this enougth for a payout?
        if ($points < getConfig('primera_min_payout')) {
                // No, then abort here
-               LOAD_TEMPLATE('admin_settings_saved', false, sprintf(getMessage('PRIMERA_MEMBER_MIN_PAYOUT_PAYOUT'), translateComma(getConfig('primera_min_payout'))));
+               displayMessage('{--MEMBER_PRIMERA_MIN_PAYOUT_PAYOUT--}');
                return;
-       }
+       } // END - if
 
        // Add points to content array
-       $content['points']              = $points;
-       $content['min_points']  = translateComma(getConfig('primera_min_payout'));
-
-       // Get Primera id
-       $content['primera_nickname'] = '';
-       $result = SQL_QUERY_ESC("SELECT primera_userid FROM `{!_MYSQL_PREFIX!}_user_data` WHERE userid=%s LIMIT 1",
-               array(getUserId()), __FILE__, __LINE__);
-
-       // Are there some entries?
-       if (SQL_NUMROWS($result) == 1) {
-               // Fetch ID
-               list($content['primera_nickname']) = SQL_FETCHROW($result);
-       }
-
-       // Free result
-       SQL_FREERESULT($result);
+       $content['points'] = $points;
 } else {
        // Invalid mode!
-       LOAD_TEMPLATE('admin_settings_saved', false, sprintf(getMessage('PRIMERA_MEMBER_MODE_INVALID'), REQUEST_GET(('mode'))));
+       displayMessage('{%message,MEMBER_PRIMERA_MODE_INVALID=' . getRequestParameter('mode') . '%}');
        return;
 }
 
 // Is the formular sent?
-if ((IS_FORM_SENT()) && (REQUEST_ISSET_GET(('mode')))) {
+if ((isFormSent()) && (isGetRequestParameterSet('mode'))) {
        // Check input data depending on the mode and execute the requested mode
-       switch (REQUEST_GET('mode')) {
-               case "pay": // Payout this exchange -> Primus
-                       // Is the user ID and password set?
-                       if (!REQUEST_ISSET_POST(('primera_nickname'))) {
+       switch (getRequestParameter('mode')) {
+               case 'pay': // Payout this exchange -> Primus
+                       // Is the user id and password set?
+                       if (!isPostRequestParameterSet('primera_nickname')) {
                                // Nothing entered in Primus nickname
-                               LOAD_TEMPLATE('admin_settings_saved', false, getMessage('PRIMERA_MEMBER_EMPTY_USERNAME'));
-                       } elseif (!REQUEST_ISSET_POST(('primera_password'))) {
+                               displayMessage('{--MEMBER_PRIMERA_EMPTY_USERNAME--}');
+                       } elseif (!isPostRequestParameterSet('primera_password')) {
                                // Nothing entered in Primera password
-                               LOAD_TEMPLATE('admin_settings_saved', false, getMessage('PRIMERA_MEMBER_EMPTY_PASSWORD'));
-                       } elseif (!REQUEST_ISSET_POST(('amount'))) {
+                               displayMessage('{--MEMBER_PRIMERA_EMPTY_PASSWORD--}');
+                       } elseif (!isPostRequestParameterSet('amount')) {
                                // Nothing entered in amount
-                               LOAD_TEMPLATE('admin_settings_saved', false, getMessage('PRIMERA_MEMBER_EMPTY_AMOUNT'));
-                       } elseif (REQUEST_POST('amount') != bigintval(REQUEST_POST('amount'))) {
+                               displayMessage('{--MEMBER_PRIMERA_EMPTY_AMOUNT--}');
+                       } elseif (postRequestParameter('amount') != bigintval(postRequestParameter('amount'))) {
                                // Only numbers in amount!
-                               LOAD_TEMPLATE('admin_settings_saved', false, getMessage('PRIMERA_MEMBER_INVALID_AMOUNT'));
-                       } elseif (REQUEST_POST('amount') < getConfig('primera_min_payout')) {
+                               displayMessage('{--MEMBER_PRIMERA_INVALID_AMOUNT--}');
+                       } elseif (postRequestParameter('amount') < getConfig('primera_min_payout')) {
                                // Not enougth entered!
-                               LOAD_TEMPLATE('admin_settings_saved', false, sprintf(getMessage('PRIMERA_MEMBER_AMOUNT_SMALLER_MIN'), getConfig(('primera_min_payout'))));
-                       } elseif (REQUEST_POST('amount') > $points) {
+                               displayMessage('{--MEMBER_PRIMERA_AMOUNT_SMALLER_MIN--}');
+                       } elseif (postRequestParameter('amount') > $points) {
                                // Not enougth points left!
-                               LOAD_TEMPLATE('admin_settings_saved', false, sprintf(getMessage('PRIMERA_MEMBER_PAYOUT_POINTS_DEPLETED'), bigintval(REQUEST_POST('amount')), bigintval($points)));
+                               displayMessage(sprintf(getMessage('MEMBER_PRIMERA_PAYOUT_POINTS_DEPLETED'), bigintval(postRequestParameter('amount')), bigintval($points)));
                        } else {
                                // All is fine here so do the payout
-                               $success = PRIMERA_EXECUTE_PAYOUT(REQUEST_POST('primera_nickname'), md5(REQUEST_POST('primera_password')), REQUEST_POST('amount'));
+                               $success = executePrimeraPayout(postRequestParameter('primera_nickname'), md5(postRequestParameter('primera_password')), postRequestParameter('amount'));
                                if ($success) {
                                        // Default is locked!
                                        $locked = true;
 
-                                       // Shall I "pay" the referal points imidiately?
+                                       // Shall I 'pay' the referal points imidiately?
                                        if (getConfig('ref_payout') == '0') {
-                                               // Yes, "pay" it now
+                                               // Yes, 'pay' it now
                                                $locked = false;
                                        } // END - if
 
-                                       // Remove points from account
-                                       SUB_POINTS("primera_payout", getUserId(), REQUEST_POST('amount'));
+                                       // Subtract points from account and ignore return status
+                                       subtractPoints('primera_payout', getMemberId(), postRequestParameter('amount'));
 
                                        // Update primera nickname
-                                       SQL_QUERY_ESC("UPDATE `{!_MYSQL_PREFIX!}_user_data` SET `primera_userid`=%s WHERE userid=%s LIMIT 1",
-                                               array(REQUEST_POST('primera_nickname'), getUserId()), __FILE__, __LINE__);
+                                       SQL_QUERY_ESC("UPDATE `{?_MYSQL_PREFIX?}_user_data` SET `primera_nickname`=%s WHERE `userid`=%s LIMIT 1",
+                                               array(postRequestParameter('primera_nickname'), getMemberId()), __FILE__, __LINE__);
 
                                        // All done!
-                                       LOAD_TEMPLATE('admin_settings_saved', false, getMessage('PRIMERA_MEMBER_PAYOUT_DONE'));
+                                       displayMessage('{--MEMBER_PRIMERA_PAYOUT_DONE--}');
                                        return;
-                               } elseif ((GET_PRIMERA_ERROR_CODE() == "user_failed") || (GET_PRIMERA_ERROR_CODE() == "own_failed") || (GET_PRIMERA_ERROR_CODE() == "amount_failed") || (GET_PRIMERA_ERROR_CODE() == "api_amount_failed")) {
+                               } elseif ((GET_PRIMERA_ERROR_CODE() == 'user_failed') || (GET_PRIMERA_ERROR_CODE() == 'own_failed') || (GET_PRIMERA_ERROR_CODE() == 'amount_failed') || (GET_PRIMERA_ERROR_CODE() == 'api_amount_failed')) {
                                        // Wrong login data
-                                       LOAD_TEMPLATE('admin_settings_saved', false, GET_PRIMERA_ERROR_MESSAGE());
+                                       displayMessage(GET_PRIMERA_ERROR_MESSAGE());
                                } else {
                                        // Something went wrong
-                                       LOAD_TEMPLATE('admin_settings_saved', false, sprintf(getMessage('PRIMERA_MEMBER_PAYOUT_FAILED'), GET_PRIMERA_ERROR_MESSAGE()));
+                                       displayMessage('{%message,MEMBER_PRIMERA_PAYOUT_FAILED=' . GET_PRIMERA_ERROR_MESSAGE() . '%}');
                                }
                        }
                        break;
 
                default: // Invalid mode!
-                       DEBUG_LOG(__FILE__, __LINE__, sprintf("Invalid mode %s detected.", REQUEST_GET('mode')));
-                       LOAD_TEMPLATE('admin_settings_saved', false, sprintf(getMessage('PRIMERA_MEMBER_MODE_INVALID'), REQUEST_GET(('mode'))));
+                       logDebugMessage(__FILE__, __LINE__, sprintf("Invalid mode %s detected.", getRequestParameter('mode')));
+                       displayMessage('{%message,MEMBER_PRIMERA_MODE_INVALID=' . getRequestParameter('mode') . '%}');
                        return;
        }
 } // END - if
 
 // Prepare mode for template name
-$mode = sprintf("member_primera_mode_%s", REQUEST_GET(('mode')));
+$mode = sprintf("member_primera_mode_%s", getRequestParameter('mode'));
 
 // Load the template
-LOAD_TEMPLATE($mode, false, $content);
+loadTemplate($mode, false, $content);
 
 //
 ?>