X-Git-Url: https://git.mxchange.org/?p=mailer.git;a=blobdiff_plain;f=inc%2Fmysql-manager.php;h=b47722f6d9c735cc4c978dc6a3ab34744c7d953b;hp=ecfa0a3c20fe176334a05977af59c94ddaa78676;hb=0211214187aa95bd5726ecc7dac13dfe0f699c63;hpb=357b2ca133fc1f89db74097955c366cb4bee6996 diff --git a/inc/mysql-manager.php b/inc/mysql-manager.php index ecfa0a3c20..b47722f6d9 100644 --- a/inc/mysql-manager.php +++ b/inc/mysql-manager.php @@ -198,7 +198,7 @@ function ADD_DESCR($ACC_LVL, $file, $return = false, $output = true) { $LINK_ADD = ""; $OUT = ""; $AND = ""; // First we have to do some analysis... - if (ereg("action-", $file)) { + if (substr($file, 0, 7) == "action-") { // This is an action file! $type = "action"; $search = substr($file, 7); @@ -215,7 +215,7 @@ function ADD_DESCR($ACC_LVL, $file, $return = false, $output = true) { break; } $AND = " AND (what='' OR what IS NULL)"; - } elseif (ereg("what-", $file)) { + } elseif (substr($file, 0, 5) == "what-") { // This is an admin what file! $type = "what"; $search = substr($file, 5); @@ -1074,16 +1074,17 @@ function REMOVE_RECEIVER(&$ARRAY, $key, $uid, $pool_id, $stats_id="", $bonus=fal // Return status for sending routine return $ret; } -// + +// Calculate sum (default) or count records of given criteria function GET_TOTAL_DATA($search, $tableName, $lookFor, $whereStatement="userid", $onlyRows=false, $add="") { $ret = 0; if ($onlyRows) { // Count rows - $result = SQL_QUERY_ESC("SELECT COUNT(%s) FROM "._MYSQL_PREFIX."_%s WHERE %s='%s'%s", + $result = SQL_QUERY_ESC("SELECT COUNT(`%s`) FROM `"._MYSQL_PREFIX."_%s` WHERE `%s`='%s'%s", array($lookFor, $tableName, $whereStatement, $search, $add), __FILE__, __LINE__); } else { // Add all rows - $result = SQL_QUERY_ESC("SELECT SUM(%s) FROM "._MYSQL_PREFIX."_%s WHERE %s='%s'%s", + $result = SQL_QUERY_ESC("SELECT SUM(`%s`) FROM `"._MYSQL_PREFIX."_%s` WHERE `%s`='%s'%s", array($lookFor, $tableName, $whereStatement, $search, $add), __FILE__, __LINE__); } @@ -1349,7 +1350,7 @@ function UPDATE_ONLINE_LIST($SID, $mod, $act, $wht) { $ADMIN = "Y"; } // END - if - if (isSessionVariableSet('up_refid')) { + if (isSessionVariableSet('refid')) { // Check cookie if (get_session('refid') > 0) $rid = bigintval($GLOBALS['refid']); } // END - if @@ -1522,11 +1523,11 @@ function GET_ADMIN_DEFAULT_ACL ($aid) { // Update cache hits if (isset($_CONFIG['cache_hits'])) { $_CONFIG['cache_hits']++; } else { $_CONFIG['cache_hits'] = 1; } - } else { + } elseif (!EXT_IS_ACTIVE("cache")) { // Load from database $result_aid = SQL_QUERY_ESC("SELECT default_acl FROM "._MYSQL_PREFIX."_admins WHERE id=%s LIMIT 1", - array(bigintval($ret)), __FILE__, __LINE__); - if (SQL_NUMROWS($result) == 1) { + array(bigintval($aid)), __FILE__, __LINE__); + if (SQL_NUMROWS($result_aid) == 1) { // Fetch data list($ret) = SQL_FETCHROW($result_aid); @@ -1917,7 +1918,7 @@ VALUES (%s,0,'NEW','EXTENSION','%s','%s',UNIX_TIMESTAMP())", array( $admin_id, $subject, - addslashes($msg), + SQL_ESCAPE($msg), ), __FILE__, __LINE__, true, false ); } // END - if @@ -2057,7 +2058,7 @@ function ADD_BONUS_MAIL_TO_QUEUE ($subject, $text, $receiverList, $points, $seco VALUES ('%s','%s','%s','%s','%s','NEW', UNIX_TIMESTAMP(),'%s','%s','%s','%s','%s')", array( $subject, - addslashes($text), + $text, $receiverList, $points, $seconds, @@ -2074,7 +2075,7 @@ VALUES ('%s','%s','%s','%s','%s','NEW', UNIX_TIMESTAMP(),'%s','%s','%s','%s','%s VALUES ('%s','%s','%s','%s','%s','NEW', UNIX_TIMESTAMP(),'%s','%s','%s','%s')", array( $subject, - addslashes($text), + $text, $receiverList, $points, $seconds, @@ -2118,7 +2119,7 @@ function GENERATE_RECEIVER_LIST ($cat, $receiver, $mode="") { $CAT_WHERE .= " AND d.holiday_active='N'"; } // END - if - if ((EXT_IS_ACTIVE("html_mail")) && ($_GET['mode'] == "html")) { + if ((EXT_IS_ACTIVE("html_mail")) && ($mode == "html")) { // Only include HTML receivers $result = SQL_QUERY_ESC("SELECT d.userid FROM "._MYSQL_PREFIX."_user_data AS d ".$CAT_TABS." WHERE d.status='CONFIRMED' AND d.html='Y'".$CAT_WHERE." ORDER BY d.%s %s LIMIT %s", array($cat, $_CONFIG['order_select'], $_CONFIG['order_mode'], $receiver), __FILE__, __LINE__); @@ -2147,5 +2148,148 @@ function GENERATE_RECEIVER_LIST ($cat, $receiver, $mode="") { return $receiverList; } -// +// Get timestamp for given stats type and data +function USER_STATS_GET_TIMESTAMP ($type, $data, $uid = 0) { + // Default timestamp is zero + $stamp = 0; + + // User id set? + if ((isset($GLOBALS['userid'])) && ($uid == 0)) { + $uid = $GLOBALS['userid']; + } // END - if + + // Is the extension installed and updated? + if ((!EXT_IS_ACTIVE("sql_patches")) || (EXT_VERSION_IS_OLDER("sql_patches", "0.5.6"))) { + // Return zero here + return $stamp; + } // END - if + + // Try to find the entry + $result = SQL_QUERY_ESC("SELECT UNIX_TIMESTAMP(`inserted`) AS `stamp` +FROM "._MYSQL_PREFIX."_user_stats_data +WHERE userid=%s AND stats_type='%s' AND stats_data='%s' +LIMIT 1", + array(bigintval($uid), $type, $data), __FILE__, __LINE__); + + // Is the entry there? + if (SQL_NUMROWS($result) == 1) { + // Get this stamp + list($stamp) = SQL_FETCHROW($result); + } // END - if + + // Free result + SQL_FREERESULT($result); + + // Return stamp + return $stamp; +} + +// Inserts user stats +function USER_STATS_INSERT_RECORD ($uid, $type, $data) { + // Is the extension installed and updated? + if ((!EXT_IS_ACTIVE("sql_patches")) || (EXT_VERSION_IS_OLDER("sql_patches", "0.5.6"))) { + // Return zero here + return false; + } // END - if + + // Does it exist? + if ((!USER_STATS_GET_TIMESTAMP($type, $data, $uid)) && (!is_array($data))) { + // Then insert it! + SQL_QUERY_ESC("INSERT INTO "._MYSQL_PREFIX."_user_stats_data (`userid`,`stats_type`,`stats_data`) VALUES (%s,'%s','%s')", + array(bigintval($uid), $type, $data), __FILE__, __LINE__); + } elseif (is_array($data)) { + // Invalid data! + DEBUG_LOG(__FUNCTION__."(".__LINE__."): uid={$uid},type={$type},data={".gettype($data).": Invalid statistics data type!"); + } +} + +// "Getter" for array for user refs and points in given level +function GET_USER_REF_POINTS ($uid, $level) { + global $_CONFIG; + + //* DEBUG: */ print "----------------------- ".__FUNCTION__." - ENTRY ----------------------------------------------- ".__FUNCTION__." - EXIT ------------------------
\n"; + return $refs; +} + +// Recuced the amount of received emails for the receipients for given email +function REDUCT_RECIPIENT_RECEIVED_MAILS ($column, $id, $count) { + // Search for mail in database + $result = SQL_QUERY_ESC("SELECT `userid` FROM `"._MYSQL_PREFIX."_user_links` WHERE `%s`=%s ORDER BY `userid` ASC LIMIT %s", + array($column, bigintval($id), $count), __FILE__, __LINE__); + + // Are there entries? + if (SQL_NUMROWS($result) > 0) { + // Now load all userids for one big query! + $UIDs = array(); + while (list($uid) = SQL_FETCHROW($result)) { + $UIDs[$uid] = $uid; + } // END - while + + // Now update all user accounts + SQL_QUERY_ESC("UPDATE `"._MYSQL_PREFIX."_user_data` SET `emails_received`=`emails_received`-1 WHERE `userid` IN (%s) LIMIT %s", + array(implode(",", $UIDs), count($UIDs)), __FILE__, __LINE__); + } // END - if + + // Free result + SQL_FREERESULT($result); +} + +// [EOF] ?>