-// 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!");
- }
-}
-