]> git.mxchange.org Git - mailer.git/blobdiff - inc/libs/user_functions.php
Mailer project continued:
[mailer.git] / inc / libs / user_functions.php
index e31d35a01634d148c55d734518f29258ad46ae59..d0b5379881d64c08411a2b0f1fe82b4f65b144dd 100644 (file)
@@ -543,7 +543,7 @@ function insertUserStatsRecord ($userid, $statsType, $statsData) {
        // Does it exist?
        if ((!getEpocheTimeFromUserStats($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')",
+               SQL_QUERY_ESC("INSERT INTO `{?_MYSQL_PREFIX?}_user_stats_data` (`userid`, `stats_type`, `stats_data`) VALUES (%s,'%s','%s')",
                        array(
                                bigintval($userid),
                                $statsType,
@@ -573,7 +573,7 @@ function doConfirmUserAccount ($hash) {
        $userid = NULL;
 
        // Search for an unconfirmed or confirmed account
-       $result = SQL_QUERY_ESC("SELECT `userid`,`refid` FROM `{?_MYSQL_PREFIX?}_user_data` WHERE `user_hash`='%s' AND (`status`='UNCONFIRMED' OR `status`='CONFIRMED') LIMIT 1",
+       $result = SQL_QUERY_ESC("SELECT `userid`, `refid` FROM `{?_MYSQL_PREFIX?}_user_data` WHERE `user_hash`='%s' AND (`status`='UNCONFIRMED' OR `status`='CONFIRMED') LIMIT 1",
                array($hash), __FILE__, __LINE__);
        if (SQL_NUMROWS($result) == 1) {
                // Ok, he want's to confirm now so we load some data
@@ -824,15 +824,52 @@ function prepareSubId ($subId) {
 }
 
 // Check whether given sub *id* is assigned to current member
-function isUserSubIdAssignedToMember ($subId) {
+function isUserSubIdAssignedToMember ($subId, $userid = NULL) {
        // Is there cache?
-       if (!isset($GLOBALS[__FUNCTION__][$subId])) {
+       if (!isset($GLOBALS[__FUNCTION__][$subId][$userid])) {
                // Determine it
-               $GLOBALS[__FUNCTION__][$subId] = ((isMember()) && (countSumTotalData(getMemberId(), 'user_subids', 'id', 'userid', true, sprintf(" AND `id`=%s", bigintval($subId))) == 1));
+               $GLOBALS[__FUNCTION__][$subId][$userid] = (
+                       (
+                               // Is a userid set or current set?
+                               (isValidUserId($userid)) || (isMember())
+                       ) && (
+                               // .. and it assigned with subid's id?
+                               countSumTotalData(
+                                       (isValidUserId($userid) ? $userid : getMemberId()),
+                                               'user_subids',
+                                               'id',
+                                               'userid',
+                                               true,
+                                               sprintf(" AND `id`=%s", bigintval($subId))
+                               ) == 1
+                       )
+               );
        } // END - if
 
        // Return cache
-       return $GLOBALS[__FUNCTION__][$subId];
+       return $GLOBALS[__FUNCTION__][$subId][$userid];
+}
+
+// Getter for subid from given id number
+function getSubId ($id) {
+       // Is there cache?
+       if (!isset($GLOBALS[__FUNCTION__][$id])) {
+               // Check database for record
+               $result = SQL_QUERY_ESC("SELECT `subid` FROM `{?_MYSQL_PREFIX?}_user_subids` WHERE `id`=%s LIMIT 1",
+                       array(bigintval($id)), __FUNCTION__, __LINE__);
+
+               // Is there an entry?
+               if (SQL_NUMROWS($result) == 1) {
+                       // Load it
+                       list($GLOBALS[__FUNCTION__][$id]) = SQL_FETCHROW($result);
+               } // END - if
+
+               // Free result
+               SQL_FREERESULT($result);
+       } // END - if
+
+       // Return cache
+       return $GLOBALS[__FUNCTION__][$id];
 }
 
 //-----------------------------------------------------------------------------