Better in ext-user and dependency of confirmation with ext-user
authorRoland Häder <roland@mxchange.org>
Sun, 22 Aug 2010 13:42:36 +0000 (13:42 +0000)
committerRoland Häder <roland@mxchange.org>
Sun, 22 Aug 2010 13:42:36 +0000 (13:42 +0000)
DOCS/TODOs.txt
inc/libs/user_functions.php
inc/modules/guest/what-confirm.php
inc/mysql-manager.php

index 214df446bc8df0a122ef1a657a957a8e51eebf72..e460fa7985026a3a73bf7cae6135a0ad54e76cdd 100644 (file)
@@ -86,6 +86,7 @@
 ./inc/libs/user_functions.php:327:                     // @TODO Make this filter working: $ADDON = runFilterChain('post_login_update', $content);
 ./inc/libs/user_functions.php:347:                     // @TODO Make this filter working: $url = runFilterChain('do_login', array('content' => $content, 'addon' => $ADDON));
 ./inc/libs/user_functions.php:423:     // @TODO We should try to rewrite this to fetchUserData() somehow
+./inc/libs/user_functions.php:609:                                     // @TODO Try to rewrite the following unset()
 ./inc/libs/yoomedia_functions.php:116: $response = YOOMEDIA_QUERY_API('out_textmail.php', true); // @TODO Ask Yoo!Media for test script
 ./inc/load_config.php:77:      // @TODO Rewrite them to avoid this else block
 ./inc/loader/load_cache-extension.php:13: * @TODO Rewrite this whole file to load_cache-extensions.php           *
 ./inc/mysql-manager.php:1536:  // @TODO Rewrite this to a filter
 ./inc/mysql-manager.php:1903:                  // @TODO Rewrite this to a filter
 ./inc/mysql-manager.php:1947:// @TODO Fix inconsistency between last_module and getWhat()
-./inc/mysql-manager.php:2022:                                  // @TODO Try to rewrite the following unset()
 ./inc/mysql-manager.php:370:   // @TODO Try to rewrite this to one or more functions
 ./inc/mysql-manager.php:46:// @TODO Can we cache this?
 ./inc/reset/reset_beg.php:51:// @TODO This should be converted in a daily beg rallye
index b4fefbb35d5de0499468da2f06fac8c2b8f7652f..187afc76159406e3dc21e957e8c2829adf7f696e 100644 (file)
@@ -542,6 +542,111 @@ function insertUserStatsRecord ($userid, $statsType, $statsData) {
        }
 }
 
+// Confirms a user account
+function doConfirmUserAccount () {
+       // Init content
+       $content = array(
+               'message' => '{--GUEST_CONFIRMED_FAILED--}',
+               'userid'  => 0,
+       );
+
+       // Initialize the user id
+       $userid = '0';
+
+       // Search for an unconfirmed or confirmed account
+       $result = SQL_QUERY_ESC("SELECT `userid`, `email`, `refid` FROM `{?_MYSQL_PREFIX?}_user_data` WHERE `user_hash`='%s' AND (`status`='UNCONFIRMED' OR `status`='CONFIRMED') LIMIT 1",
+               array(getRequestParameter('hash')), __FILE__, __LINE__);
+       if (SQL_NUMROWS($result) == 1) {
+               // Ok, he want's to confirm now so we load some data
+               list($userid, $email, $refid) = SQL_FETCHROW($result);
+
+               // Fetch user data
+               if (!fetchUserData($userid)) {
+                       // Not found, should not happen
+                       debug_report_bug(__FILE__, __LINE__, 'User account ' . $userid . ' not found.');
+               } // END - if
+
+               // Load all data and add points
+               $content = getUserDataArray();
+
+               // Unlock his account (but only when it is on UNCONFIRMED!)
+               SQL_QUERY_ESC("UPDATE
+       `{?_MYSQL_PREFIX?}_user_data`
+SET
+       `status`='CONFIRMED',
+       `ref_payout`={?ref_payout?},
+       `user_hash`=NULL
+WHERE
+       `user_hash`='%s' AND
+       `status`='UNCONFIRMED'
+LIMIT 1",
+                       array(getRequestParameter('hash')), __FILE__, __LINE__);
+               if (SQL_AFFECTEDROWS() == 1) {
+                       // Send email if updated
+                       $message = loadEmailTemplate('confirm-member', $content, bigintval($userid));
+
+                       // And send him right away the confirmation mail
+                       sendEmail($email, '{--GUEST_THANX_CONFIRM--}', $message);
+
+                       // Maybe he got "referaled"?
+                       if (($refid > 0) && ($refid != $userid)) {
+                               // Select the referal userid
+                               if (fetchUserData($refid)) {
+                                       // Update ref counter...
+                                       updateReferalCounter($refid);
+
+                                       // If version matches add ref bonus to refid's account
+                                       if ((isExtensionInstalledAndNewer('bonus', '0.4.4')) && (isBonusRallyeActive())) {
+                                               // Add points (directly only!)
+                                               SQL_QUERY_ESC("UPDATE `{?_MYSQL_PREFIX?}_user_data` SET `bonus_ref`=`bonus_ref`+{?bonus_ref?} WHERE `userid`=%s LIMIT 1",
+                                                       array(bigintval($refid)), __FILE__, __LINE__);
+
+                                               // Subtract points from system
+                                               handleBonusPoints(getConfig('bonus_ref'));
+                                       } // END - if
+
+                                       // Add one-time referal bonus over referal system or directly
+                                       // @TODO Try to rewrite the following unset()
+                                       unset($GLOBALS['ref_level']);
+                                       addPointsThroughReferalSystem('referal_bonus', $refid, getPointsRef(), true, bigintval($userid), getConfig('reg_points_mode'));
+                               } // END - if
+                       } // END - if
+
+                       if (isExtensionActive('rallye')) {
+                               // Add user to rallye (or not?)
+                               addUserToReferalRallye(bigintval($userid));
+                       } // END - if
+
+                       // Account confirmed!
+                       if (isExtensionActive('lead')) {
+                               // Set special lead cookie
+                               setSession('lead_userid', bigintval($userid));
+
+                               // Lead-Code mode enabled
+                               redirectToUrl('lead-confirm.php');
+                       } else {
+                               $content['message'] = '{--GUEST_CONFIRMED_DONE--}';
+                               $content['userid']  = bigintval($userid);
+                       }
+               } elseif (isExtensionActive('lead')) {
+                       // Set special lead cookie
+                       setSession('lead_userid', bigintval($userid));
+
+                       // Lead-Code mode enabled
+                       redirectToUrl('lead-confirm.php');
+               } else {
+                       // Nobody was found unter this hash key... or our new member want's to confirm twice?
+                       $content['message'] = '{--GUEST_CONFIRMED_TWICE--}';
+               }
+       } else {
+               // Nobody was found unter this hash key... or our new member want's to confirm twice?
+               $content['message'] = '{--GUEST_CONFIRMED_TWICE--}';
+       }
+
+       // Load template
+       loadTemplate('admin_settings_saved', false, $content['message']);
+}
+
 // Expression call-back function for fetching user data
 function doExpressionUser ($data) {
        // Use current userid by default
index a97110740193836eac1601b5d051ba1ba29b3be0..a3f4e8617530828194aea5ab89aafab4253d2806 100644 (file)
@@ -45,6 +45,11 @@ if (!defined('__SECURITY')) {
 // Add description as navigation point
 addMenuDescription('guest', __FILE__);
 
+if ((!isExtensionActive('user')) && (!isAdmin())) {
+       loadTemplate('admin_settings_saved', false, generateExtensionInactiveNotInstalledMessage('user'));
+       return;
+} // END - if
+
 if (isGetRequestParameterSet('hash')) {
        // Do user account confirmation
        doConfirmUserAccount(getRequestParameter('hash'));
index 134282477552bcd52eddd173eafe2b040c136a17..18b9be1b48bf06c2a706ec29932637bf6465c705 100644 (file)
@@ -1955,110 +1955,5 @@ function updateLastActivity($userid) {
                ), __FUNCTION__, __LINE__);
 }
 
-// Confirms a user account
-function doConfirmUserAccount () {
-       // Init content
-       $content = array(
-               'message' => '{--GUEST_CONFIRMED_FAILED--}',
-               'userid'  => 0,
-       );
-
-       // Initialize the user id
-       $userid = '0';
-
-       // Search for an unconfirmed or confirmed account
-       $result = SQL_QUERY_ESC("SELECT `userid`, `email`, `refid` FROM `{?_MYSQL_PREFIX?}_user_data` WHERE `user_hash`='%s' AND (`status`='UNCONFIRMED' OR `status`='CONFIRMED') LIMIT 1",
-               array(getRequestParameter('hash')), __FILE__, __LINE__);
-       if (SQL_NUMROWS($result) == 1) {
-               // Ok, he want's to confirm now so we load some data
-               list($userid, $email, $refid) = SQL_FETCHROW($result);
-
-               // Fetch user data
-               if (!fetchUserData($userid)) {
-                       // Not found, should not happen
-                       debug_report_bug(__FILE__, __LINE__, 'User account ' . $userid . ' not found.');
-               } // END - if
-
-               // Load all data and add points
-               $content = getUserDataArray();
-
-               // Unlock his account (but only when it is on UNCONFIRMED!)
-               SQL_QUERY_ESC("UPDATE
-       `{?_MYSQL_PREFIX?}_user_data`
-SET
-       `status`='CONFIRMED',
-       `ref_payout`={?ref_payout?},
-       `user_hash`=NULL
-WHERE
-       `user_hash`='%s' AND
-       `status`='UNCONFIRMED'
-LIMIT 1",
-                       array(getRequestParameter('hash')), __FILE__, __LINE__);
-               if (SQL_AFFECTEDROWS() == 1) {
-                       // Send email if updated
-                       $message = loadEmailTemplate('confirm-member', $content, bigintval($userid));
-
-                       // And send him right away the confirmation mail
-                       sendEmail($email, '{--GUEST_THANX_CONFIRM--}', $message);
-
-                       // Maybe he got "referaled"?
-                       if (($refid > 0) && ($refid != $userid)) {
-                               // Select the referal userid
-                               if (fetchUserData($refid)) {
-                                       // Update ref counter...
-                                       updateReferalCounter($refid);
-
-                                       // If version matches add ref bonus to refid's account
-                                       if ((isExtensionInstalledAndNewer('bonus', '0.4.4')) && (isBonusRallyeActive())) {
-                                               // Add points (directly only!)
-                                               SQL_QUERY_ESC("UPDATE `{?_MYSQL_PREFIX?}_user_data` SET `bonus_ref`=`bonus_ref`+{?bonus_ref?} WHERE `userid`=%s LIMIT 1",
-                                                       array(bigintval($refid)), __FILE__, __LINE__);
-
-                                               // Subtract points from system
-                                               handleBonusPoints(getConfig('bonus_ref'));
-                                       } // END - if
-
-                                       // Add one-time referal bonus over referal system or directly
-                                       // @TODO Try to rewrite the following unset()
-                                       unset($GLOBALS['ref_level']);
-                                       addPointsThroughReferalSystem('referal_bonus', $refid, getPointsRef(), true, bigintval($userid), getConfig('reg_points_mode'));
-                               } // END - if
-                       } // END - if
-
-                       if (isExtensionActive('rallye')) {
-                               // Add user to rallye (or not?)
-                               addUserToReferalRallye(bigintval($userid));
-                       } // END - if
-
-                       // Account confirmed!
-                       if (isExtensionActive('lead')) {
-                               // Set special lead cookie
-                               setSession('lead_userid', bigintval($userid));
-
-                               // Lead-Code mode enabled
-                               redirectToUrl('lead-confirm.php');
-                       } else {
-                               $content['message'] = '{--GUEST_CONFIRMED_DONE--}';
-                               $content['userid']  = bigintval($userid);
-                       }
-               } elseif (isExtensionActive('lead')) {
-                       // Set special lead cookie
-                       setSession('lead_userid', bigintval($userid));
-
-                       // Lead-Code mode enabled
-                       redirectToUrl('lead-confirm.php');
-               } else {
-                       // Nobody was found unter this hash key... or our new member want's to confirm twice?
-                       $content['message'] = '{--GUEST_CONFIRMED_TWICE--}';
-               }
-       } else {
-               // Nobody was found unter this hash key... or our new member want's to confirm twice?
-               $content['message'] = '{--GUEST_CONFIRMED_TWICE--}';
-       }
-
-       // Load template
-       loadTemplate('admin_settings_saved', false, $content['message']);
-}
-
 // [EOF]
 ?>