X-Git-Url: https://git.mxchange.org/?p=mailer.git;a=blobdiff_plain;f=inc%2Fmysql-manager.php;h=3e3b5124a42578cab52ef822ddc9e665dc1ed86b;hp=4544a12929f4df7a27f14bcc6ff2908bc2c408c5;hb=668485e1cdc24a6d918c41ea1f2214566ed71226;hpb=6735263051e05523d5afc11972de027999d47e96 diff --git a/inc/mysql-manager.php b/inc/mysql-manager.php index 4544a12929..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; @@ -662,36 +675,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; @@ -858,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 } @@ -1004,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"; } @@ -1107,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 ------------------------