X-Git-Url: https://git.mxchange.org/?p=mailer.git;a=blobdiff_plain;f=inc%2Fmysql-manager.php;h=4f2c89ca681ed7aa7032b0e7fa4fcceafeb02a6e;hp=4544a12929f4df7a27f14bcc6ff2908bc2c408c5;hb=f36ab6ae1503ee54a7c9d0083a8089286d8b37ef;hpb=6735263051e05523d5afc11972de027999d47e96 diff --git a/inc/mysql-manager.php b/inc/mysql-manager.php index 4544a12929..4f2c89ca68 100644 --- a/inc/mysql-manager.php +++ b/inc/mysql-manager.php @@ -39,7 +39,7 @@ if (!defined('__SECURITY')) { // function ADD_MODULE_TITLE($mod) { - global $cacheArray, $_CONFIG; + global $cacheArray; $name = ""; $result = false; // Is the script installed? @@ -50,7 +50,7 @@ function ADD_MODULE_TITLE($mod) { $name = $cacheArray['modules']['title'][$mod]; // Update cache hits - if (getConfig('cache_hits') > 0) { $_CONFIG['cache_hits']++; } else { $_CONFIG['cache_hits'] = 1; } + incrementConfigEntry('cache_hits'); } elseif (!EXT_IS_ACTIVE("cache")) { // Load from database $result = SQL_QUERY_ESC("SELECT title FROM "._MYSQL_PREFIX."_mod_reg WHERE module='%s' LIMIT 1", array($mod), __FILE__, __LINE__); @@ -79,7 +79,7 @@ function ADD_MODULE_TITLE($mod) { // Check validity of a given module name (no file extension) function CHECK_MODULE ($mod) { // We need them now here... - global $cacheArray, $_CONFIG, $cacheInstance; + global $cacheArray, $cacheInstance; // Filter module name (names with low chars and underlines are fine!) $mod = preg_replace("/[^a-z_]/", "", $mod); @@ -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 @@ -115,7 +115,7 @@ function CHECK_MODULE ($mod) { $mem = $cacheArray['modules']['mem_only'][$mod_chk]; // Update cache hits - if (getConfig('cache_hits') > 0) { $_CONFIG['cache_hits']++; } else { $_CONFIG['cache_hits'] = 1; } + incrementConfigEntry('cache_hits'); $found = true; } else { // No, then we have to update it! @@ -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,15 +185,25 @@ 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; } // Add menu description pending on given file name (without path!) -function ADD_DESCR($ACC_LVL, $file, $return = false, $output = true) { - global $NAV_DEPTH, $_CONFIG; +function ADD_DESCR ($ACC_LVL, $file, $return = false, $output = true) { + global $NAV_DEPTH; // Use only filename of the file ;) $file = basename($file); @@ -284,7 +297,6 @@ function ADD_DESCR($ACC_LVL, $file, $return = false, $output = true) { // Can we close the you-are-here navigation? //* DEBUG: */ echo __LINE__."*".$type."/".$GLOBALS['what']."*
\n"; - //* DEBUG: */ die("
".print_r($_CONFIG, true)."
"); if (($type == "what") || (($type == "action") && ((!isset($GLOBALS['what'])) || ($GLOBALS['what'] == "overview")))) { //* DEBUG: */ echo __LINE__."+".$type."+
\n"; // Add closing div and br-tag @@ -311,9 +323,7 @@ function ADD_DESCR($ACC_LVL, $file, $return = false, $output = true) { } } // -function ADD_MENU($MODE, $act, $wht) { - global $_CONFIG; - +function ADD_MENU ($MODE, $act, $wht) { // Init some variables $main_cnt = 0; $AND = ""; @@ -428,9 +438,10 @@ function ADD_MENU($MODE, $act, $wht) { } } // This patched function will reduce many SELECT queries for the specified or current admin login -function IS_ADMIN($admin="") -{ - global $cacheArray, $_CONFIG; +function IS_ADMIN ($admin="") { + global $cacheArray; + + // Init variables $ret = false; $passCookie = ""; $valPass = ""; //* DEBUG: */ echo __LINE__."ADMIN:".$admin."
"; @@ -448,7 +459,7 @@ function IS_ADMIN($admin="") $valPass = $cacheArray['admin_hash']; } elseif ((!empty($passCookie)) && (isset($cacheArray['admins']['password'][$admin])) && (!empty($admin))) { // Count cache hits - if (getConfig('cache_hits') > 0) { $_CONFIG['cache_hits']++; } else { $_CONFIG['cache_hits'] = 1; } + incrementConfigEntry('cache_hits'); // Login data is valid or not? $valPass = generatePassString($cacheArray['admins']['password'][$admin]); @@ -662,36 +673,27 @@ function VALIDATE_MENU_ACTION ($MODE, $act, $wht, $UPDATE=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; @@ -731,9 +733,8 @@ function GET_MOD_DESCR($MODE, $wht, $column="what") return $ret; } // -function SEND_MODE_MAILS($mod, $modes) -{ - global $_CONFIG, $DATA; +function SEND_MODE_MAILS($mod, $modes) { + global $DATA; // Load hash $result_main = SQL_QUERY_ESC("SELECT password FROM `"._MYSQL_PREFIX."_user_data` WHERE userid=%s AND status='CONFIRMED' LIMIT 1", @@ -858,14 +859,14 @@ 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 } // Get action value from mode (admin/guest/member) and what-value -function GET_ACTION ($MODE, &$wht) -{ - global $ret, $_CONFIG; +function GET_ACTION ($MODE, &$wht) { + global $ret; + // @DEPRECATED Init status $ret = ""; @@ -890,6 +891,7 @@ function GET_ACTION ($MODE, &$wht) } //* DEBUG: */ echo __FUNCTION__."(".__LINE__."): ret=".$ret."
\n"; + // Does the module have a menu? if (MODULE_HAS_MENU($MODE)) { // Rewriting modules to menu switch ($MODE) { @@ -910,7 +912,10 @@ function GET_ACTION ($MODE, &$wht) // Free memory SQL_FREERESULT($result); - } // END - if + } elseif ((GET_EXT_VERSION("sql_patches") == "") && ($MODE != "admin")) { + // No sql_patches installed! + LOAD_URL("admin.php"); + } // Return action value return $ret; @@ -1004,7 +1009,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"; } @@ -1058,7 +1063,7 @@ function GET_TOTAL_DATA ($search, $tableName, $lookFor, $whereStatement="userid" } // "Getter fro ref level percents function GET_REF_LEVEL_PERCENTS ($level) { - global $cacheInstance, $_CONFIG, $cacheArray; + global $cacheInstance, $cacheArray; // Default is zero $per = 0; @@ -1072,7 +1077,7 @@ function GET_REF_LEVEL_PERCENTS ($level) { $per = $cacheArray['ref_depths']['percents'][$key]; // Count cache hit - if (getConfig('cache_hits') > 0) { $_CONFIG['cache_hits']++; } else { $_CONFIG['cache_hits'] = 1; } + incrementConfigEntry('cache_hits'); } } elseif (!EXT_IS_ACTIVE("cache")) { // Get referal data @@ -1107,7 +1112,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 ------------------------