// 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';
// 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];
}
} 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) {
} // END - if
// Still no luck or not found?
- if (($ret == 'cache_miss') || (!$found)) {
+ if ((($ret == 'cache_miss') || ($found === false)) && (getOutputMode() == '0')) {
// ----- 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
// 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__);
}
} // END - if
// Destroy cache here
+ // @TODO Rewrite this to a filter
rebuildCacheFiles('modreg', 'modreg');
// And reload data
} 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
+ $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);
// This is an action file!
$type = 'action';
$search = substr($file, 7);
- switch ($ACC_LVL) {
+ switch ($accessLevel) {
case 'admin':
$modCheck = 'admin';
break;
$type = 'what';
$search = substr($file, 5);
$AND = '';
- switch ($ACC_LVL) {
+ switch ($accessLevel) {
case 'admin':
$modCheck = 'admin';
break;
}
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;
$AND = '';
} else {
// Other
- $type = "menu";
+ $type = 'menu';
$search = $file;
$modCheck = getModule();
$AND = '';
$prefix = '';
}
- $prefix .= " -> ";
+ $prefix .= ' -> ';
// We need to remove .php and the end
if (substr($search, -4, 4) == '.php') {
// 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) {
return $ret;
} elseif (((GET_EXT_VERSION('sql_patches') >= '0.2.3') && (getConfig('youre_here') == 'Y')) || ((IS_ADMIN()) && ($modCheck == 'admin'))) {
// Output HTML code
- $OUT = $prefix."<strong><a class=\"you_are_here\" href=\"{!URL!}/modules.php?module=".$modCheck.'&'.$type.'='.$search.$LINK_ADD."\">".$ret."</a></strong>\n";
+ $OUT = $prefix . "<strong><a class=\"you_are_here\" href=\"{!URL!}/modules.php?module=" . $modCheck . '&' . $type . '=' . $search.$LINK_ADD . "\">" . $ret . "</a></strong>\n";
// Can we close the you-are-here navigation?
//* DEBUG: */ echo __LINE__."*".$type.'/'.getWhat()."*<br />\n";
$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
}
} // 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()."*<br />\n";
if (SQL_NUMROWS($result_main) > 0) {
OUTPUT_HTML("<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\" class=\"".$mode."_menu\">");
while ($content = SQL_FETCHARRAY($result_main)) {
//* DEBUG: */ echo __LINE__.'/'.$main_cnt.'/'.$content['action'].'/'.$sub_what.':'.getWhat()."*<br />\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);
}
} 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
return REQUEST_GET('what');
} // END - if
+ // Default is empty
$wht = '';
+
//* DEBUG: */ echo __LINE__.'!'.$modCheck."!<br />\n";
- switch ($modCheck)
- {
+ switch ($modCheck) {
case 'admin':
$wht = 'overview';
break;
default:
$wht = '';
break;
- }
+ } // END - switch
// Return what value
return $wht;
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');