// 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
}