X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=inc%2Fmysql-manager.php;h=39238bf8d5c97eef289f92c28345e7b8565494dd;hb=a38de258ffd36319f8b8338fa057957c205d89e3;hp=4fda5f3680729d6841a1bc0afc900f38a79c3951;hpb=03f62d0b89aa9276ac37f4d616d940fae184d850;p=mailer.git diff --git a/inc/mysql-manager.php b/inc/mysql-manager.php index 4fda5f3680..39238bf8d5 100644 --- a/inc/mysql-manager.php +++ b/inc/mysql-manager.php @@ -146,6 +146,7 @@ function checkModulePermissions ($mod) { // Check if cache is latest version if (GET_EXT_VERSION('cache') >= '0.1.2') { // Is the cache there? + //* DEBUG: */ DEBUG_LOG(__FUNCTION__, __LINE__, 'Using cache.'); if (!isset($GLOBALS['cache_array']['modules'])) { // This happens when a new extension is registered while ext-cache is installed $ret = 'cache_miss'; @@ -154,6 +155,7 @@ function checkModulePermissions ($mod) { // Is the module cached? if (isset($GLOBALS['cache_array']['modules']['locked'][$mod_chk])) { // Check cache + //* DEBUG: */ DEBUG_LOG(__FUNCTION__, __LINE__, 'Cache found.'); $locked = $GLOBALS['cache_array']['modules']['locked'][$mod_chk]; $hidden = $GLOBALS['cache_array']['modules']['hidden'][$mod_chk]; $admin = $GLOBALS['cache_array']['modules']['admin_only'][$mod_chk]; @@ -168,15 +170,23 @@ function checkModulePermissions ($mod) { } } elseif (!EXT_IS_ACTIVE('cache')) { // Check for module in database - $result = SQL_QUERY_ESC("SELECT locked, hidden, admin_only, mem_only FROM `{!_MYSQL_PREFIX!}_mod_reg` WHERE `module`='%s' LIMIT 1", - array($mod_chk), __FUNCTION__, __LINE__); + //* DEBUG: */ DEBUG_LOG(__FUNCTION__, __LINE__, 'Using database.'); + $result = SQL_QUERY_ESC("SELECT `locked`, `hidden`, `admin_only`, `mem_only` FROM `{!_MYSQL_PREFIX!}_mod_reg` WHERE `module`='%s' LIMIT 1", + array($mod_chk), __FUNCTION__, __LINE__); if (SQL_NUMROWS($result) == 1) { // Read data + //* DEBUG: */ DEBUG_LOG(__FUNCTION__, __LINE__, 'Entry found.'); list($locked, $hidden, $admin, $mem) = SQL_FETCHROW($result); - SQL_FREERESULT($result); $found = true; + } elseif (isDebugModeEnabled()) { + // Debug message only in debug-mode... + DEBUG_LOG(__FUNCTION__, __LINE__, 'Module ' . $mod_chk . ' not found!'); } + + // Free result + SQL_FREERESULT($result); } + //* DEBUG: */ DEBUG_LOG(__FUNCTION__, __LINE__, 'ret=' . $ret); // Is the module found? if ($found === true) { @@ -198,16 +208,16 @@ function checkModulePermissions ($mod) { } else { // @TODO Nothing helped??? DEBUG_LOG(__FUNCTION__, __LINE__, sprintf("ret=%s,locked=%s,admin=%s,mem=%s", - $ret, - $locked, - $admin, - $mem + $ret, + $locked, + $admin, + $mem )); } } // END - if // Still no luck or not found? - if (($ret == 'cache_miss') || (!$found)) { + if (($found === false) && (!EXT_IS_ACTIVE('cache')) && ($ret != 'done')) { // ----- Legacy module ----- ---- Module in base folder ---- --- Module with extension's name --- if ((isFileReadable(sprintf("%sinc/modules/%s.php", constant('PATH'), $mod))) || (isFileReadable(sprintf("%s%s.php", constant('PATH'), $mod))) || (isFileReadable(sprintf("%s%s/%s.php", constant('PATH'), $extension, $mod)))) { // Data is missing so we add it @@ -215,12 +225,12 @@ function checkModulePermissions ($mod) { // Since 0.3.6 we have a has_menu column, this took me a half hour // to find a loop here... *sigh* SQL_QUERY_ESC("INSERT INTO `{!_MYSQL_PREFIX!}_mod_reg` -(module, locked, hidden, mem_only, admin_only, has_menu) VALUES +(`module`, `locked`, `hidden`, `mem_only`, `admin_only`, `has_menu`) VALUES ('%s','Y','N','N','N','N')", array($mod_chk), __FUNCTION__, __LINE__); } else { // Wrong/missing sql_patches! SQL_QUERY_ESC("INSERT INTO `{!_MYSQL_PREFIX!}_mod_reg` -(module, locked, hidden, mem_only, admin_only) VALUES +(`module`, `locked`, `hidden`, `mem_only`, `admin_only`) VALUES ('%s','Y','N','N','N')", array($mod_chk), __FUNCTION__, __LINE__); } @@ -231,6 +241,7 @@ function checkModulePermissions ($mod) { } // END - if // Destroy cache here + // @TODO Rewrite this to a filter rebuildCacheFiles('modreg', 'modreg'); // And reload data @@ -239,24 +250,28 @@ function checkModulePermissions ($mod) { // Module not found we don't add it to the database $ret = '404'; } - } elseif (!$found) { + } elseif ($ret == 'cache_miss') { + // Rebuild the cache files + rebuildCacheFiles('modreg', 'modreg'); + } elseif ($found === false) { // 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 + $mod, + $ret, + $locked, + $hidden, + $mem, + $admin )); } // Return the value + //* DEBUG: */ DEBUG_LOG(__FUNCTION__, __LINE__, 'ret=' . $ret); return $ret; } // Add menu description pending on given file name (without path!) -function ADD_DESCR ($ACC_LVL, $FQFN, $return = false, $output = true) { +function ADD_DESCR ($accessLevel, $FQFN, $return = false, $output = true) { // Use only filename of the FQFN... $file = basename($FQFN); @@ -270,7 +285,7 @@ function ADD_DESCR ($ACC_LVL, $FQFN, $return = false, $output = true) { // This is an action file! $type = 'action'; $search = substr($file, 7); - switch ($ACC_LVL) { + switch ($accessLevel) { case 'admin': $modCheck = 'admin'; break; @@ -287,7 +302,7 @@ function ADD_DESCR ($ACC_LVL, $FQFN, $return = false, $output = true) { $type = 'what'; $search = substr($file, 5); $AND = ''; - switch ($ACC_LVL) { + switch ($accessLevel) { case 'admin': $modCheck = 'admin'; break; @@ -300,9 +315,10 @@ function ADD_DESCR ($ACC_LVL, $FQFN, $return = false, $output = true) { } break; } + $dummy = substr($search, 0, -4); - $AND .= " AND `action`='".getModeAction($ACC_LVL, $dummy)."'"; - } elseif (($ACC_LVL == 'sponsor') || ($ACC_LVL == "engine")) { + $AND .= " AND `action`='".getModeAction($accessLevel, $dummy)."'"; + } elseif (($accessLevel == 'sponsor') || ($accessLevel == "engine")) { // Sponsor / engine menu $type = 'what'; $search = $file; @@ -310,7 +326,7 @@ function ADD_DESCR ($ACC_LVL, $FQFN, $return = false, $output = true) { $AND = ''; } else { // Other - $type = "menu"; + $type = 'menu'; $search = $file; $modCheck = getModule(); $AND = ''; @@ -325,7 +341,7 @@ function ADD_DESCR ($ACC_LVL, $FQFN, $return = false, $output = true) { $prefix = ''; } - $prefix .= " -> "; + $prefix .= ' -> '; // We need to remove .php and the end if (substr($search, -4, 4) == '.php') { @@ -335,7 +351,7 @@ function ADD_DESCR ($ACC_LVL, $FQFN, $return = false, $output = true) { // Get the title from menu $result = SQL_QUERY_ESC("SELECT title FROM `{!_MYSQL_PREFIX!}_%s_menu` WHERE %s='%s' ".$AND." LIMIT 1", - array($ACC_LVL, $type, $search), __FUNCTION__, __LINE__); + array($accessLevel, $type, $search), __FUNCTION__, __LINE__); // Menu found? if (SQL_NUMROWS($result) == 1) { @@ -348,7 +364,7 @@ function ADD_DESCR ($ACC_LVL, $FQFN, $return = false, $output = true) { return $ret; } elseif (((GET_EXT_VERSION('sql_patches') >= '0.2.3') && (getConfig('youre_here') == 'Y')) || ((IS_ADMIN()) && ($modCheck == 'admin'))) { // Output HTML code - $OUT = $prefix."".$ret."\n"; + $OUT = $prefix . "\n"; @@ -359,7 +375,7 @@ function ADD_DESCR ($ACC_LVL, $FQFN, $return = false, $output = true) { $GLOBALS['nav_depth'] = '0'; // Run the filter chain - $ret = runFilterChain('post_youhere_line', array('access_level' => $ACC_LVL, 'type' => $type, 'content' => "")); + $ret = runFilterChain('post_youhere_line', array('access_level' => $accessLevel, 'type' => $type, 'content' => "")); $OUT .= $ret['content']; } // END - if } @@ -397,8 +413,8 @@ function ADD_MENU ($mode, $act, $wht) { } // END - if // Load SQL data and add the menu to the output stream... - $result_main = SQL_QUERY_ESC("SELECT title, action FROM `{!_MYSQL_PREFIX!}_%s_menu` WHERE (`what`='' OR `what` IS NULL)".$AND." ORDER BY `sort`", - array($mode), __FUNCTION__, __LINE__); + $result_main = SQL_QUERY_ESC("SELECT `title`, `action` FROM `{!_MYSQL_PREFIX!}_%s_menu` WHERE (`what`='' OR `what` IS NULL)".$AND." ORDER BY `sort`", + array($mode), __FUNCTION__, __LINE__); //* DEBUG: */ echo __LINE__.'/'.$main_cnt.'/'.$main_action.'/'.$sub_what.':'.getWhat()."*
\n"; if (SQL_NUMROWS($result_main) > 0) { OUTPUT_HTML(""); @@ -406,15 +422,15 @@ function ADD_MENU ($mode, $act, $wht) { while ($content = SQL_FETCHARRAY($result_main)) { //* DEBUG: */ echo __LINE__.'/'.$main_cnt.'/'.$content['action'].'/'.$sub_what.':'.getWhat()."*
\n"; // Init variables - $GLOBALS['block_mode'] = false; + enableBlockMode(false); $act = $content['action']; // Load menu header template - LOAD_TEMPLATE($mode."_menu_title", false, $content); + LOAD_TEMPLATE($mode . '_menu_title', false, $content); // Sub menu - $result_sub = SQL_QUERY_ESC("SELECT title AS sub_title, what AS sub_what FROM `{!_MYSQL_PREFIX!}_%s_menu` WHERE `action`='%s' AND `what` != '' AND `what` IS NOT NULL ".$AND." ORDER BY `sort`", - array($mode, $content['action']), __FUNCTION__, __LINE__); + $result_sub = SQL_QUERY_ESC("SELECT `title` AS sub_title, `what` AS sub_what FROM `{!_MYSQL_PREFIX!}_%s_menu` WHERE `action`='%s' AND `what` != '' AND `what` IS NOT NULL ".$AND." ORDER BY `sort`", + array($mode, $content['action']), __FUNCTION__, __LINE__); // Get number of rows $ctl = SQL_NUMROWS($result_sub); @@ -477,7 +493,9 @@ function ADD_MENU ($mode, $act, $wht) { } } else { // This is a menu block... ;-) - $GLOBALS['block_mode'] = true; + enableBlockMode(); + + // Load menu block $INC_BLOCK = sprintf("inc/modules/%s/action-%s.php", $mode, $content['action']); if (isFileReadable($INC_BLOCK)) { // Load include file @@ -1084,22 +1102,22 @@ function GET_TOTAL_DATA ($search, $tableName, $lookFor = 'id', $whereStatement = if ($countRows === true) { // Count whole table $result = SQL_QUERY_ESC("SELECT COUNT(`%s`) FROM `{!_MYSQL_PREFIX!}_%s`".$add, - array($lookFor, $tableName), __FUNCTION__, __LINE__); + array($lookFor, $tableName), __FUNCTION__, __LINE__); } else { // Sum whole table $result = SQL_QUERY_ESC("SELECT SUM(`%s`) FROM `{!_MYSQL_PREFIX!}_%s`".$add, - array($lookFor, $tableName), __FUNCTION__, __LINE__); + array($lookFor, $tableName), __FUNCTION__, __LINE__); } } elseif (($countRows === true) || ($lookFor == 'userid')) { // Count rows //* DEBUG: */ echo "COUNT!
\n"; $result = SQL_QUERY_ESC("SELECT COUNT(`%s`) FROM `{!_MYSQL_PREFIX!}_%s` WHERE `%s`='%s'".$add, - array($lookFor, $tableName, $whereStatement, $search), __FUNCTION__, __LINE__); + array($lookFor, $tableName, $whereStatement, $search), __FUNCTION__, __LINE__); } else { // Add all rows //* DEBUG: */ echo "SUM!
\n"; $result = SQL_QUERY_ESC("SELECT SUM(`%s`) FROM `{!_MYSQL_PREFIX!}_%s` WHERE `%s`='%s'".$add, - array($lookFor, $tableName, $whereStatement, $search), __FUNCTION__, __LINE__); + array($lookFor, $tableName, $whereStatement, $search), __FUNCTION__, __LINE__); } // Load row @@ -1280,7 +1298,7 @@ function ADD_POINTS_REFSYSTEM ($subject, $uid, $points, $send_notify = false, $r // And sent it away sendEmail($email, getMessage('SUBJECT_DIRECT_PAYMENT'), $msg); - if (!REQUEST_ISSET_GET(('mid'))) LOAD_TEMPLATE('admin_settings_saved', false, getMessage('ADMIN_POINTS_ADDED')); + if (!REQUEST_ISSET_GET('mid')) LOAD_TEMPLATE('admin_settings_saved', false, getMessage('ADMIN_POINTS_ADDED')); } // Maybe there's another ref? @@ -1309,21 +1327,21 @@ function updateReferalCounter ($uid) { //* DEBUG: */ print __FUNCTION__."(".__LINE__."):uid={$uid},level={$GLOBALS['cache_array']['ref_level'][$uid]}
\n"; // Update counter - SQL_QUERY_ESC("UPDATE `{!_MYSQL_PREFIX!}_refsystem` SET counter=counter+1 WHERE userid=%s AND level='%s' LIMIT 1", - array(bigintval($uid), $GLOBALS['cache_array']['ref_level'][$uid]), __FUNCTION__, __LINE__); + SQL_QUERY_ESC("UPDATE `{!_MYSQL_PREFIX!}_refsystem` SET `counter`=`counter`+1 WHERE `userid`=%s AND `level`='%s' LIMIT 1", + array(bigintval($uid), $GLOBALS['cache_array']['ref_level'][$uid]), __FUNCTION__, __LINE__); // When no entry was updated then we have to create it here //* DEBUG: */ print __FUNCTION__."(".__LINE__."):updated=".SQL_AFFECTEDROWS()."
\n"; if (SQL_AFFECTEDROWS() < 1) { // First count! - SQL_QUERY_ESC("INSERT INTO `{!_MYSQL_PREFIX!}_refsystem` (userid, level, counter) VALUES (%s,%s,1)", - array(bigintval($uid), $GLOBALS['cache_array']['ref_level'][$uid]), __FUNCTION__, __LINE__); + SQL_QUERY_ESC("INSERT INTO `{!_MYSQL_PREFIX!}_refsystem` (`userid`, `level`, `counter`) VALUES (%s,%s,1)", + array(bigintval($uid), $GLOBALS['cache_array']['ref_level'][$uid]), __FUNCTION__, __LINE__); //* DEBUG: */ print __FUNCTION__."(".__LINE__."):uid={$uid}
\n"; } // END - if // Check for his referal - $result = SQL_QUERY_ESC("SELECT refid FROM `{!_MYSQL_PREFIX!}_user_data` WHERE userid=%s LIMIT 1", - array(bigintval($uid)), __FUNCTION__, __LINE__); + $result = SQL_QUERY_ESC("SELECT `refid` FROM `{!_MYSQL_PREFIX!}_user_data` WHERE `userid`=%s LIMIT 1", + array(bigintval($uid)), __FUNCTION__, __LINE__); // Load refid list($ref) = SQL_FETCHROW($result); @@ -1356,7 +1374,7 @@ function updateReferalCounter ($uid) { // because we need it when there is no ext-admins installed function SEND_ADMIN_EMAILS ($subj, $msg) { // Load all admin email addresses - $result = SQL_QUERY("SELECT email FROM `{!_MYSQL_PREFIX!}_admins` ORDER BY `id` ASC", __FUNCTION__, __LINE__); + $result = SQL_QUERY("SELECT `email` FROM `{!_MYSQL_PREFIX!}_admins` ORDER BY `id` ASC", __FUNCTION__, __LINE__); while ($content = SQL_FETCHARRAY($result)) { // Send the email out sendEmail($content['email'], $subj, $msg); @@ -1717,10 +1735,11 @@ function getWhatFromModule ($modCheck) { return REQUEST_GET('what'); } // END - if + // Default is empty $wht = ''; + //* DEBUG: */ echo __LINE__.'!'.$modCheck."!
\n"; - switch ($modCheck) - { + switch ($modCheck) { case 'admin': $wht = 'overview'; break; @@ -1734,7 +1753,7 @@ function getWhatFromModule ($modCheck) { default: $wht = ''; break; - } + } // END - switch // Return what value return $wht; @@ -1744,9 +1763,10 @@ function getWhatFromModule ($modCheck) { function SUB_POINTS ($subject, $uid, $points) { // Add points to used points SQL_QUERY_ESC("UPDATE `{!_MYSQL_PREFIX!}_user_data` SET `used_points`=`used_points`+%s WHERE userid=%s LIMIT 1", - array($points, bigintval($uid)), __FUNCTION__, __LINE__); + array($points, bigintval($uid)), __FUNCTION__, __LINE__); // Insert booking record + // @TODO Rewrite this to a filter if (EXT_IS_ACTIVE('booking')) { // Add record ADD_BOOKING_RECORD($subject, $uid, $points, 'sub');