]> git.mxchange.org Git - mailer.git/blobdiff - inc/libs/user_functions.php
Another empty line removed to avoid 'headers already sent' bug
[mailer.git] / inc / libs / user_functions.php
index 709369f4adcd1804a89d3ac407deb61f78c1516e..61ae0ea3cc8ddeb615cfd35589eba711c7a2ac83 100644 (file)
@@ -290,9 +290,12 @@ function doUserLogin ($userid, $passwd, $successUrl = '', $errorUrl = 'modules.p
                fetchUserData($userid);
        }
 
-       // Get user data array and set userid (e.g. important if we login with nickname)
-       $content = getUserDataArray();
-       if (!empty($content['userid'])) $userid = bigintval($content['userid']);
+       // No error found?
+       if ($errorCode == '0') {
+               // Get user data array and set userid (e.g. important if we login with nickname)
+               $content = getUserDataArray();
+               if (!empty($content['userid'])) $userid = bigintval($content['userid']);
+       } // END - if
 
        // Is there an entry?
        if ((isUserDataValid()) && (getUserData('status') == 'CONFIRMED') && (!empty($content['userid']))) {
@@ -461,5 +464,69 @@ function doNewUserPassword ($email, $userid) {
        return $errorCode;
 }
 
+// Get timestamp for given stats type and data
+function getTimestampFromUserStats ($statsType, $statsData, $userid = '0') {
+       // Default timestamp is zero
+       $data['inserted'] = '0';
+
+       // User id set?
+       if ((isMemberIdSet()) && ($userid == '0')) {
+               $userid = getMemberId();
+       } // END - if
+
+       // Is the extension installed and updated?
+       if ((!isExtensionActive('sql_patches')) || (isExtensionOlder('sql_patches', '0.5.6'))) {
+               // Return zero here
+               return $data['inserted'];
+       } // END - if
+
+       // Try to find the entry
+       $result = SQL_QUERY_ESC("SELECT
+       UNIX_TIMESTAMP(`inserted`) AS inserted
+FROM
+       `{?_MYSQL_PREFIX?}_user_stats_data`
+WHERE
+       `userid`=%s AND
+       `stats_type`='%s' AND
+       `stats_data`='%s'
+LIMIT 1",
+               array(
+                       bigintval($userid),
+                       $statsType,
+                       $statsData
+               ), __FUNCTION__, __LINE__);
+
+       // Is the entry there?
+       if (SQL_NUMROWS($result) == 1) {
+               // Get this stamp
+               $data = SQL_FETCHARRAY($result);
+       } // END - if
+
+       // Free result
+       SQL_FREERESULT($result);
+
+       // Return stamp
+       return $data['inserted'];
+}
+
+// Inserts user stats
+function insertUserStatsRecord ($userid, $statsType, $statsData) {
+       // Is the extension installed and updated?
+       if ((!isExtensionActive('sql_patches')) || (isExtensionOlder('sql_patches', '0.5.6'))) {
+               // Return zero here
+               return false;
+       } // END - if
+
+       // Does it exist?
+       if ((!getTimestampFromUserStats($statsType, $statsData, $userid)) && (!is_array($statsData))) {
+               // Then insert it!
+               SQL_QUERY_ESC("INSERT INTO `{?_MYSQL_PREFIX?}_user_stats_data` (`userid`,`stats_type`,`stats_data`) VALUES (%s,'%s','%s')",
+                       array(bigintval($userid), $statsType, $statsData), __FUNCTION__, __LINE__);
+       } elseif (is_array($statsData)) {
+               // Invalid data!
+               logDebugMessage(__FUNCTION__, __LINE__, "userid={$userid},type={$statsType},data={".gettype($statsData).": Invalid statistics data type!");
+       }
+}
+
 // [EOF]
 ?>