Moved "fix" files (which only helps to fix stuff) in own inc/fixes/ folder.
[mailer.git] / inc / libs / user_functions.php
index f20c7f3b00f40b8efc517390f4f4087015a91167..5c0dcb49467a423e911e4b1a8a058f1c59d9d7c6 100644 (file)
@@ -596,10 +596,30 @@ function doConfirmUserAccount ($hash) {
        } // END - if
 
        // Load all data and add points
-       $content = getUserDataArray();
+       $content = merge_array($content, getUserDataArray());
 
-       // Unlock his account (but only when it is on UNCONFIRMED!)
-       sqlQueryEscaped("UPDATE
+       // Is 'user' updated?
+       if (isExtensionInstalledAndNewer('user', '0.6.3')) {
+               // Unlock his account (but only when it is on UNCONFIRMED!)
+               sqlQueryEscaped("UPDATE
+       `{?_MYSQL_PREFIX?}_user_data`
+SET
+       `status`='CONFIRMED',
+       `user_hash`=NULL,
+       `confirmed_timestamp`=NOW(),
+       `confirmed_ip_address`='%s'
+WHERE
+       `user_hash`='%s' AND
+       `status`='UNCONFIRMED'
+LIMIT 1",
+                       array(
+                               determineRealRemoteAddress(),
+                               $hash
+                       ), __FILE__, __LINE__
+               );
+       } else {
+               // Unlock his account (but only when it is on UNCONFIRMED!)
+               sqlQueryEscaped("UPDATE
        `{?_MYSQL_PREFIX?}_user_data`
 SET
        `status`='CONFIRMED',
@@ -608,7 +628,11 @@ WHERE
        `user_hash`='%s' AND
        `status`='UNCONFIRMED'
 LIMIT 1",
-               array($hash), __FILE__, __LINE__);
+                       array(
+                               $hash
+                       ), __FILE__, __LINE__
+               );
+       }
 
        // Was it updated?
        if (ifSqlHasZeroAffectedRows()) {