X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=inc%2Fmysql-manager.php;h=00f7d155e3ed547a09234f6c41f498a584328103;hb=769d7314f3dd962b40373d0e5fa67f0815d698c9;hp=1def31192837709bc8214be54562fc4295a8229e;hpb=1090de8d4e7bf659002468fec8571388e7487a00;p=mailer.git diff --git a/inc/mysql-manager.php b/inc/mysql-manager.php index 1def311928..00f7d155e3 100644 --- a/inc/mysql-manager.php +++ b/inc/mysql-manager.php @@ -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__); } @@ -1389,7 +1390,7 @@ WHERE sid='%s' LIMIT 1", array($_CONFIG['online_timeout']), __FILE__, __LINE__); } // OBSULETE: Sends out mail to all administrators -function SEND_ADMIN_EMAILS($subj, $msg) { +function SEND_ADMIN_EMAILS ($subj, $msg) { // Load all admin email addresses $result = SQL_QUERY("SELECT email FROM "._MYSQL_PREFIX."_admins ORDER BY id ASC", __FILE__, __LINE__); while (list($email) = SQL_FETCHROW($result)) { @@ -1403,7 +1404,7 @@ function SEND_ADMIN_EMAILS($subj, $msg) { // Really simple... ;-) } // Get ID number from administrator's login name -function GET_ADMIN_ID($login) { +function GET_ADMIN_ID ($login) { global $cacheArray, $_CONFIG; $ret = "-1"; if (!empty($cacheArray['admins']['aid'][$login])) { @@ -1427,26 +1428,26 @@ function GET_ADMIN_ID($login) { } // // Get password hash from administrator's login name -function GET_ADMIN_HASH($login) +function GET_ADMIN_HASH ($aid) { global $cacheArray, $_CONFIG; $ret = "-1"; - if (!empty($cacheArray['admins']['password'][$login])) { + if (!empty($cacheArray['admins']['password'][$aid])) { // Check cache - $ret = $cacheArray['admins']['password'][$login]; + $ret = $cacheArray['admins']['password'][$aid]; // Update cache hits if (isset($_CONFIG['cache_hits'])) { $_CONFIG['cache_hits']++; } else { $_CONFIG['cache_hits'] = 1; } } elseif (!EXT_IS_ACTIVE("cache")) { // Load from database - $result = SQL_QUERY_ESC("SELECT password FROM "._MYSQL_PREFIX."_admins WHERE login='%s' LIMIT 1", - array($login), __FILE__, __LINE__); + $result = SQL_QUERY_ESC("SELECT password FROM "._MYSQL_PREFIX."_admins WHERE id=%s LIMIT 1", + array($aid), __FILE__, __LINE__); if (SQL_NUMROWS($result) == 1) { // Fetch data list($ret) = SQL_FETCHROW($result); // Set cache - $cacheArray['admins']['password'][$login] = $ret; + $cacheArray['admins']['password'][$aid] = $ret; } // Free result @@ -1486,7 +1487,7 @@ function GET_ADMIN_EMAIL ($aid) { global $cacheArray, $_CONFIG; $ret = "***"; - if (!empty($cacheArray['admins']['email'])) { + if (!empty($cacheArray['admins']['email'][$aid])) { // Get cache $ret = $cacheArray['admins']['email'][$aid]; @@ -1516,17 +1517,17 @@ function GET_ADMIN_DEFAULT_ACL ($aid) { global $cacheArray, $_CONFIG; $ret = "***"; - if (!empty($cacheArray['admins']['def_acl'])) { + if (!empty($cacheArray['admins']['def_acl'][$aid])) { // Use cache $ret = $cacheArray['admins']['def_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, @@ -2267,5 +2268,28 @@ ORDER BY ur.refid ASC", 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] ?>