X-Git-Url: https://git.mxchange.org/?p=mailer.git;a=blobdiff_plain;f=inc%2Fmysql-manager.php;h=3e3b5124a42578cab52ef822ddc9e665dc1ed86b;hp=ec8d7ce688784133eef930093d2069c7b3ff6714;hb=668485e1cdc24a6d918c41ea1f2214566ed71226;hpb=39172de4ecec2f6ddc597a5ae439e7aef79c75ed
diff --git a/inc/mysql-manager.php b/inc/mysql-manager.php
index ec8d7ce688..3e3b5124a4 100644
--- a/inc/mysql-manager.php
+++ b/inc/mysql-manager.php
@@ -105,7 +105,7 @@ function CHECK_MODULE ($mod) {
// Check if cache is latest version
$locked = "Y"; $hidden = "N"; $admin = "N"; $mem = "N"; $found = false;
- if ((GET_EXT_VERSION("cache") >= "0.1.2") && (isset($cacheArray['modules']['module'])) && (is_array($cacheArray['modules']['module']))) {
+ if (GET_EXT_VERSION("cache") >= "0.1.2") {
// Is the module cached?
if (isset($cacheArray['modules']['locked'][$mod_chk])) {
// Check cache
@@ -132,37 +132,40 @@ function CHECK_MODULE ($mod) {
}
}
- // Check returned values against current access permissions
- //
- // Admin access ----- Guest access ----- --- Guest or member? ---
- if ((IS_ADMIN()) || (($locked == "N") && ($admin == "N") && (($mem == "N") || (IS_MEMBER())))) {
- // If you are admin you are welcome for everything!
- $ret = "done";
- } elseif ($locked == "Y") {
- // Module is locked
- $ret = "locked";
- } elseif (($mem == "Y") && (!IS_MEMBER())) {
- // You have to login first!
- $ret = "mem_only";
- } elseif (($admin == "Y") && (!IS_ADMIN())) {
- // Only the Admin is allowed to enter this module!
- $ret = "admin_only";
- }
+ // Is the module found?
+ if ($found) {
+ // Check returned values against current access permissions
+ //
+ // Admin access ----- Guest access ----- --- Guest or member? ---
+ if ((IS_ADMIN()) || (($locked == "N") && ($admin == "N") && (($mem == "N") || (IS_MEMBER())))) {
+ // If you are admin you are welcome for everything!
+ $ret = "done";
+ } elseif ($locked == "Y") {
+ // Module is locked
+ $ret = "locked";
+ } elseif (($mem == "Y") && (!IS_MEMBER())) {
+ // You have to login first!
+ $ret = "mem_only";
+ } elseif (($admin == "Y") && (!IS_ADMIN())) {
+ // Only the Admin is allowed to enter this module!
+ $ret = "admin_only";
+ }
+ } // END - if
// Still no luck or not found?
- if (($ret == "major") || ($ret == "cache_miss") || (!$found)) {
+ if (($ret == "cache_miss") || (!$found)) {
// ----- Legacy module ----- ---- Module in base folder ---- --- Module with extension's name ---
if ((FILE_READABLE(sprintf("%sinc/modules/%s.php", PATH, $mod))) || (FILE_READABLE(sprintf("%s%s.php", PATH, $mod))) || (FILE_READABLE(sprintf("%s%s/%s.php", PATH, $extension, $mod)))) {
// Data is missing so we add it
if (GET_EXT_VERSION("sql_patches") >= "0.3.6") {
// Since 0.3.6 we have a has_menu column, this took me a half hour
// to find a loop here... *sigh*
- $result = SQL_QUERY_ESC("INSERT INTO "._MYSQL_PREFIX."_mod_reg
+ SQL_QUERY_ESC("INSERT INTO "._MYSQL_PREFIX."_mod_reg
(module, locked, hidden, mem_only, admin_only, has_menu) VALUES
('%s','Y','N','N','N','N')", array($mod_chk), __FILE__, __LINE__);
} else {
// Wrong/missing sql_patches!
- $result = SQL_QUERY_ESC("INSERT INTO "._MYSQL_PREFIX."_mod_reg
+ SQL_QUERY_ESC("INSERT INTO "._MYSQL_PREFIX."_mod_reg
(module, locked, hidden, mem_only, admin_only) VALUES
('%s','Y','N','N','N')", array($mod_chk), __FILE__, __LINE__);
}
@@ -182,7 +185,17 @@ function CHECK_MODULE ($mod) {
// Module not found we don't add it to the database
$ret = "404";
}
- } // END - if
+ } elseif (!$found) {
+ // Problem with module detected
+ DEBUG_LOG(__FUNCTION__, __LINE__, sprintf("Problem in module %s detected. ret=%s, locked=%s, hidden=%s, mem=%s, admin=%s",
+ $mod,
+ $ret,
+ $locked,
+ $hidden,
+ $mem,
+ $admin
+ ));
+ }
// Return the value
return $ret;
@@ -656,88 +669,33 @@ function IS_MEMBER()
return $ret;
}
//
-function UPDATE_LOGIN_DATA () {
- global $LAST, $_CONFIG;
- if (!is_array($LAST)) $LAST = array();
-
- // Recheck if logged in
- if (!IS_MEMBER()) return false;
-
- // Secure user ID
- $GLOBALS['userid'] = bigintval(get_session('userid'));
-
- // Extract last online time (life) and how long is auto-login valid (time)
- $newl = time() + bigintval(get_session('lifetime'));
-
- // Load last module and last online time
- $result = SQL_QUERY_ESC("SELECT last_module, last_online FROM `"._MYSQL_PREFIX."_user_data` WHERE userid=%s LIMIT 1", array($GLOBALS['userid']), __FILE__, __LINE__);
- if (SQL_NUMROWS($result) == 1) {
- // Load last module and online time
- list($mod, $onl) = SQL_FETCHROW($result);
- SQL_FREERESULT($result);
-
- // Maybe first login time?
- if (empty($mod)) $mod = "login";
-
- if (set_session("userid", $GLOBALS['userid'], $newl, COOKIE_PATH) && set_session("u_hash", get_session('u_hash'), $newl, COOKIE_PATH) && set_session("lifetime", bigintval(get_session('lifetime')), $newl, COOKIE_PATH)) {
- // This will be displayed on welcome page! :-)
- if (empty($LAST['module'])) {
- $LAST['module'] = $mod; $LAST['online'] = $onl;
- } // END - if
-
- // "what" not set?
- if (empty($GLOBALS['what'])) {
- // Fix it to default
- $GLOBALS['what'] = "welcome";
- if (getConfig('index_home') != "") $GLOBALS['what'] = getConfig('index_home');
- } // END - if
-
- // Update last module / online time
- $result = SQL_QUERY_ESC("UPDATE `"._MYSQL_PREFIX."_user_data` SET last_module='%s', last_online=UNIX_TIMESTAMP(), REMOTE_ADDR='%s' WHERE userid=%s LIMIT 1",
- array($GLOBALS['what'], GET_REMOTE_ADDR(), $GLOBALS['userid']), __FILE__, __LINE__);
- }
- } else {
- // Destroy session, we cannot update!
- destroy_user_session();
- }
-}
-//
function VALIDATE_MENU_ACTION ($MODE, $act, $wht, $UPDATE=false)
{
$ret = false;
$ADD = "";
if ((!IS_ADMIN()) && ($MODE != "admin")) $ADD = " AND locked='N'";
//* DEBUG: */ echo __LINE__.":".$MODE."/".$act."/".$wht."*
\n";
- if (($MODE != "admin") && ($UPDATE))
- {
+ if (($MODE != "admin") && ($UPDATE)) {
// Update guest or member menu
$SQL = SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_%s_menu SET counter=counter+1 WHERE action='%s' AND what='%s'".$ADD." LIMIT 1",
- array($MODE, $act, $wht), __FILE__, __LINE__, false);
- }
- elseif ($wht != "overview")
- {
+ array($MODE, $act, $wht), __FILE__, __LINE__, false);
+ } elseif ($wht != "overview") {
// Other actions
$SQL = SQL_QUERY_ESC("SELECT id, what FROM "._MYSQL_PREFIX."_%s_menu WHERE action='%s'".$ADD." ORDER BY action DESC LIMIT 1",
- array($MODE, $act), __FILE__, __LINE__, false);
- }
- else
- {
+ array($MODE, $act), __FILE__, __LINE__, false);
+ } else {
// Admin login overview
$SQL = SQL_QUERY_ESC("SELECT id, what FROM "._MYSQL_PREFIX."_%s_menu WHERE action='%s' AND (what='' OR what IS NULL)".$ADD." ORDER BY action DESC LIMIT 1",
- array($MODE, $act), __FILE__, __LINE__, false);
+ array($MODE, $act), __FILE__, __LINE__, false);
}
// Run SQL command
$result = SQL_QUERY($SQL, __FILE__, __LINE__);
- if ($UPDATE)
- {
+ if ($UPDATE) {
if (SQL_AFFECTEDROWS() == 1) $ret = true;
//* DEBUG: */ debug_print_backtrace();
- }
- else
- {
+ } else {
if (SQL_NUMROWS($result) == 1) {
- list($id, $wht2) = SQL_FETCHROW($result);
//* DEBUG: */ echo __LINE__."+".$SQL."+
\n";
//* DEBUG: */ echo __LINE__."*".$id."/".$wht."/".$wht2."*
\n";
$ret = true;
@@ -904,7 +862,7 @@ function SEND_MODE_MAILS($mod, $modes)
function COUNT_MODULE($mod) {
if ($mod != "css") {
// Do count all other modules but not accesses on CSS file css.php!
- $result = SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_mod_reg SET clicks=clicks+1 WHERE module='%s' LIMIT 1",
+ SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_mod_reg SET clicks=clicks+1 WHERE module='%s' LIMIT 1",
array($mod), __FILE__, __LINE__);
} // END - if
}
@@ -1050,7 +1008,7 @@ function REMOVE_RECEIVER (&$ARRAY, $key, $uid, $pool_id, $stats_id="", $bonus=fa
if (SQL_NUMROWS($result) == 0)
{
// No, so we add one!
- $result = SQL_QUERY_ESC("INSERT INTO "._MYSQL_PREFIX."_user_links (%s, userid, link_type) VALUES ('%s','%s','%s')",
+ SQL_QUERY_ESC("INSERT INTO "._MYSQL_PREFIX."_user_links (%s, userid, link_type) VALUES ('%s','%s','%s')",
array($rowName, $stats_id, bigintval($uid), $type), __FILE__, __LINE__);
$ret = "done";
}
@@ -1153,7 +1111,7 @@ function GET_REF_LEVEL_PERCENTS ($level) {
*/
function ADD_POINTS_REFSYSTEM ($subject, $uid, $points, $send_notify=false, $rid="0", $locked=false, $add_mode="ref") {
//* DEBUG: */ print "----------------------- ".__FUNCTION__." - ENTRY ------------------------
"; - debug_print_backtrace(); - die(""); - } // END - if - - // Initialize variables - $uid = 0; $rid = 0; $MEM = "N"; $ADMIN = "N"; - - // Valid userid? - if ((!empty($GLOBALS['userid'])) && ($GLOBALS['userid'] > 0) && (IS_MEMBER())) { - // Is valid user - $uid = bigintval($GLOBALS['userid']); - $MEM = "Y"; - } // END - if - - if (IS_ADMIN()) { - // Is administrator - $ADMIN = "Y"; - } // END - if - - if (isSessionVariableSet('refid')) { - // Check cookie - if (get_session('refid') > 0) $rid = bigintval($GLOBALS['refid']); - } // END - if - // Now search for the user - $result = SQL_QUERY_ESC("SELECT timestamp FROM "._MYSQL_PREFIX."_online -WHERE sid='%s' LIMIT 1", - array($SID), __FILE__, __LINE__); - - // Entry found? - if (SQL_NUMROWS($result) == 1) { - // Then update it - SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_online SET -module='%s', -action='%s', -what='%s', -userid=%s, -refid=%s, -is_member='%s', -is_admin='%s', -timestamp=UNIX_TIMESTAMP() -WHERE sid='%s' LIMIT 1", - array($mod, $act, $wht, $uid, $rid, $MEM, $ADMIN, $SID), __FILE__, __LINE__ - ); - } else { - // No entry does exists so we simply add it! - SQL_QUERY_ESC("INSERT INTO "._MYSQL_PREFIX."_online (module, action, what, userid, refid, is_member, is_admin, timestamp, sid, ip) VALUES ('%s','%s','%s', %s, %s, '%s','%s', UNIX_TIMESTAMP(), '%s','%s')", - array($mod, $act, $wht, $uid, $rid, $MEM, $ADMIN, $SID, GET_REMOTE_ADDR()), __FILE__, __LINE__ - ); - } - - // Free result - SQL_FREERESULT($result); - - // Purge old entries - $result = SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM "._MYSQL_PREFIX."_online WHERE timestamp <= (UNIX_TIMESTAMP() - %s)", - array(getConfig('online_timeout')), __FILE__, __LINE__); -} // OBSOLETE: Sends out mail to all administrators function SEND_ADMIN_EMAILS ($subj, $msg) { // Load all admin email addresses @@ -1412,6 +1303,7 @@ function SEND_ADMIN_EMAILS ($subj, $msg) { // Really simple... ;-) } + // Get ID number from administrator's login name function GET_ADMIN_ID ($login) { global $cacheArray, $_CONFIG; @@ -1517,8 +1409,8 @@ function GET_ADMIN_EMAIL ($aid) { } elseif (!EXT_IS_ACTIVE("cache")) { // Load from database $result_aid = SQL_QUERY_ESC("SELECT email 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) { // Get data list($ret) = SQL_FETCHROW($result_aid); @@ -1607,13 +1499,10 @@ function ADD_OPTION_LINES($table, $id, $name, $default="",$special="",$where="") } // Activate exchange (DEPERECATED???) function activateExchange() { - global $_CONFIG; - $result = SQL_QUERY("SELECT userid FROM `"._MYSQL_PREFIX."_user_data` WHERE status='CONFIRMED' AND max_mails > 0", __FILE__, __LINE__); - if (SQL_NUMROWS($result) >= getConfig('activate_xchange')) - { - // Free memory - SQL_FREERESULT($result); + // Check total amount of users + $totalUsers = GET_TOTAL_DATA("CONFIRMED", "user_data", "userid", "status", true, " AND max_mails > 0"); + if ($totalUsers >= getConfig('activate_xchange')) { // Activate System $SQLs = array( "UPDATE "._MYSQL_PREFIX."_mod_reg SET locked='N', hidden='N', mem_only='Y' WHERE module='order' LIMIT 1", @@ -1622,12 +1511,11 @@ function activateExchange() { ); // Run SQLs - foreach ($SQLs as $sql) { - $result = SQL_QUERY($sql, __FILE__, __LINE__); - } + RUN_FILTER('run_sqls', array('dry_run' => false, 'sqls' => $SQLs)); - // @TODO Destroy cache - } + // Rebuild cache + REBUILD_CACHE("config", "config"); + } // END - if } // function DELETE_USER_ACCOUNT($uid, $reason) @@ -1644,7 +1532,7 @@ WHERE p.userid=%s", array(bigintval($uid)), __FILE__, __LINE__); SQL_FREERESULT($result); // Delete points entries as well - $result = SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM "._MYSQL_PREFIX."_user_points WHERE userid=%s", array(bigintval($uid)), __FILE__, __LINE__); + SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM "._MYSQL_PREFIX."_user_points WHERE userid=%s", array(bigintval($uid)), __FILE__, __LINE__); // Update mediadata as well if (GET_EXT_VERSION("mediadata") >= "0.0.4") { @@ -1657,12 +1545,12 @@ WHERE p.userid=%s", array(bigintval($uid)), __FILE__, __LINE__); } // Delete category selections as well... - $result = SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM "._MYSQL_PREFIX."_user_cats WHERE userid=%s", + SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM "._MYSQL_PREFIX."_user_cats WHERE userid=%s", array(bigintval($uid)), __FILE__, __LINE__); // Remove from rallye if found if (EXT_IS_ACTIVE("rallye")) { - $result = SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM "._MYSQL_PREFIX."_rallye_users WHERE userid=%s", + SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM "._MYSQL_PREFIX."_rallye_users WHERE userid=%s", array(bigintval($uid)), __FILE__, __LINE__); } @@ -1671,11 +1559,11 @@ WHERE p.userid=%s", array(bigintval($uid)), __FILE__, __LINE__); SEND_EMAIL($uid, ADMIN_DEL_ACCOUNT, $msg); // Ok, delete the account! - $result = SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM `"._MYSQL_PREFIX."_user_data` WHERE userid=%s LIMIT 1", array(bigintval($uid)), __FILE__, __LINE__); + SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM `"._MYSQL_PREFIX."_user_data` WHERE userid=%s LIMIT 1", array(bigintval($uid)), __FILE__, __LINE__); } // function META_DESCRIPTION ($mod, $wht) { - global $_CONFIG, $DEPTH; + global $_CONFIG; // Exclude admin and member's area if (($mod != "admin") && ($mod != "login")) { @@ -1687,20 +1575,20 @@ function META_DESCRIPTION ($mod, $wht) { } // END - if // Remove depth - unset($DEPTH); + unset($GLOBALS['ref_level']); } // function ADD_JACKPOT($points) { $result = SQL_QUERY("SELECT points FROM "._MYSQL_PREFIX."_jackpot WHERE ok='ok' LIMIT 1", __FILE__, __LINE__); if (SQL_NUMROWS($result) == 0) { // Create line - $result = SQL_QUERY_ESC("INSERT INTO "._MYSQL_PREFIX."_jackpot (ok, points) VALUES ('ok','%s')", array($points), __FILE__, __LINE__); + SQL_QUERY_ESC("INSERT INTO "._MYSQL_PREFIX."_jackpot (ok, points) VALUES ('ok','%s')", array($points), __FILE__, __LINE__); } else { // Free memory SQL_FREERESULT($result); // Update points - $result = SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_jackpot SET points=points+%s WHERE ok='ok' LIMIT 1", + SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_jackpot SET points=points+%s WHERE ok='ok' LIMIT 1", array($points), __FILE__, __LINE__); } } @@ -1797,7 +1685,7 @@ function GET_WHAT($modCheck) { // Subtract points from database and mediadata cache function SUB_POINTS ($subject, $uid, $points) { // Add points to used points - $result = SQL_QUERY_ESC("UPDATE `"._MYSQL_PREFIX."_user_data` SET `used_points`=`used_points`+%s WHERE userid=%s LIMIT 1", + SQL_QUERY_ESC("UPDATE `"._MYSQL_PREFIX."_user_data` SET `used_points`=`used_points`+%s WHERE userid=%s LIMIT 1", array($points, bigintval($uid)), __FILE__, __LINE__); // Insert booking record @@ -1994,7 +1882,7 @@ function ADD_BONUS_MAIL_TO_QUEUE ($subject, $text, $receiverList, $points, $seco if ($mode == "html") $HTML = "Y"; // Add HTML mail - $result = SQL_QUERY_ESC("INSERT INTO "._MYSQL_PREFIX."_bonus + SQL_QUERY_ESC("INSERT INTO "._MYSQL_PREFIX."_bonus (subject, text, receivers, points, time, data_type, timestamp, url, cat_id, target_send, mails_sent, html_msg) VALUES ('%s','%s','%s','%s','%s','NEW', UNIX_TIMESTAMP(),'%s','%s','%s','%s','%s')", array( @@ -2011,7 +1899,7 @@ VALUES ('%s','%s','%s','%s','%s','NEW', UNIX_TIMESTAMP(),'%s','%s','%s','%s','%s ), __FILE__, __LINE__); } else { // Add regular mail - $result = SQL_QUERY_ESC("INSERT INTO "._MYSQL_PREFIX."_bonus + SQL_QUERY_ESC("INSERT INTO "._MYSQL_PREFIX."_bonus (subject, text, receivers, points, time, data_type, timestamp, url, cat_id, target_send, mails_sent) VALUES ('%s','%s','%s','%s','%s','NEW', UNIX_TIMESTAMP(),'%s','%s','%s','%s')", array(