// Check returned values against current access permissions
//
// Admin access ----- Guest access ----- --- Guest or member? ---
- if ((IS_ADMIN()) || (($locked == "N") && ($admin == "N") && (($mem == "N") || (IS_LOGGED_IN())))) {
+ 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_LOGGED_IN())) {
+ } elseif (($mem == "Y") && (!IS_MEMBER())) {
// You have to login first!
$ret = "mem_only";
} elseif (($admin == "Y") && (!IS_ADMIN())) {
// Still no luck or not found?
if (($ret == "major") || ($ret == "cache_miss") || (!$found)) {
- // ----- Legacy module ----- ---- Module in base folder ---- --- Module with extension's name ---
- if ((file_exists(PATH."inc/modules/".$mod.".php")) || (file_exists(PATH.$mod.".php")) || (file_exists(PATH.$extension."/".$mod.".php"))) {
+ // ----- 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
if (SQL_AFFECTEDROWS() == 0) {
// Something bad happend!
return "major";
- }
+ } // END - if
// Destroy cache here
if (GET_EXT_VERSION("cache") >= "0.1.2") {
if ($cacheInstance->cache_file("mod_reg", true)) $cacheInstance->cache_destroy();
unset($cacheArray['modules']);
- }
+ } // END - if
// And reload data
$ret = CHECK_MODULE($mod_chk);
// Module not found we don't add it to the database
$ret = "404";
}
- }
+ } // END - if
// Return the value
return $ret;
// Full file name for checking menu
//* DEBUG: */ echo __LINE__.":!!!!".$sub_what."!!!<br />\n";
$test_inc = sprintf("%sinc/modules/%s/what-%s.php", PATH, $MODE, $sub_what);
- $test = (file_exists($test_inc) && is_readable($test_inc));
+ $test = (FILE_READABLE($test_inc));
if ($test) {
if ((!empty($wht)) && (($wht == $sub_what))) {
$content = "<STRONG>";
// This is a menu block... ;-)
$BLOCK_MODE = true;
$INC_BLOCK = sprintf("%sinc/modules/%s/action-%s.php", PATH, $MODE, $main_action);
- if ((file_exists($INC_BLOCK)) && (is_readable($INC_BLOCK))) {
+ if (FILE_READABLE($INC_BLOCK)) {
// Load include file
if ((!EXT_IS_ACTIVE($main_action)) || ($main_action == "online")) OUTPUT_HTML("<TR>
<TD class=\"".$MODE."_menu_whats\">");
}
}
//
-function IS_LOGGED_IN()
+function IS_MEMBER()
{
global $status, $LAST;
if (!is_array($LAST)) $LAST = array();
$newl = time() + bigintval(get_session('lifetime'));
// Recheck if logged in
- if (!IS_LOGGED_IN()) return false;
+ if (!IS_MEMBER()) return false;
// Load last module and last online time
$result = SQL_QUERY_ESC("SELECT last_module, last_online FROM "._MYSQL_PREFIX."_user_data WHERE userid=%s LIMIT 1", array($GLOBALS['userid']), __FILE__, __LINE__);
//
function VALIDATE_MENU_ACTION ($MODE, $act, $wht, $UPDATE=false)
{
- global $link;
$ret = false;
$ADD = "";
if ((!IS_ADMIN()) && ($MODE != "admin")) $ADD = " AND locked='N'";
$result = SQL_QUERY($SQL, __FILE__, __LINE__);
if ($UPDATE)
{
- if (SQL_AFFECTEDROWS($link, __FILE__, __LINE__) == 1) $ret = true;
+ if (SQL_AFFECTEDROWS() == 1) $ret = true;
//* DEBUG: */ debug_print_backtrace();
}
else
*/
function ADD_POINTS_REFSYSTEM($uid, $points, $send_notify=false, $rid="0", $locked=false, $add_mode="ref")
{
- global $DEPTH, $_CONFIG, $DATA, $link;
+ global $DEPTH, $_CONFIG, $DATA;
// Debug message
//DEBUG_LOG(__FUNCTION__.": uid={$uid},points={$points}");
//
function UPDATE_REF_COUNTER($uid)
{
- global $REF_LVL, $link, $cacheInstance;
+ global $REF_LVL, $cacheInstance;
// Make it sure referral level zero (member him-/herself) is at least selected
if (empty($REF_LVL)) $REF_LVL = "0";
array(bigintval($uid), $REF_LVL), __FILE__, __LINE__);
// When no entry was updated then we have to create it here
- if (SQL_AFFECTEDROWS($link) == 0)
+ if (SQL_AFFECTEDROWS() == 0)
{
// First count!
$result = SQL_QUERY_ESC("INSERT INTO "._MYSQL_PREFIX."_refsystem (userid, level, counter) VALUES ('%s', '%s', '1')",
//
function UPDATE_ONLINE_LIST($SID, $mod, $act, $wht)
{
- global $link, $_CONFIG;
+ global $_CONFIG;
+
// Do not update online list when extension is deactivated
if (!EXT_IS_ACTIVE("online", true)) return;
if (!empty($GLOBALS['userid']))
{
// Update member status only when userid is valid
- if (($GLOBALS['userid'] > 0) && (IS_LOGGED_IN()))
+ if (($GLOBALS['userid'] > 0) && (IS_MEMBER()))
{
// Is valid user
$uid = $GLOBALS['userid'];
// Selection from array
if (is_array($id) && is_array($name) && sizeof($id) == sizeof($name)) {
// Both are arrays
- foreach ($id as $idx=>$value) {
+ foreach ($id as $idx => $value) {
$ret .= "<OPTION value=\"".$value."\"";
if ($default == $value) $ret .= " selected checked";
$ret .= ">".$name[$idx]."</OPTION>\n";
if ((is_array($cacheArray)) && (isset($cacheArray['config'][$no])) && (is_array($cacheArray['config'][$no]))) {
// Load config from cache
//* DEBUG: */ echo gettype($cacheArray['config'][$no])."<br />\n";
- foreach ($cacheArray['config'][$no] as $key=>$value) {
+ foreach ($cacheArray['config'][$no] as $key => $value) {
$CFG_DUMMY[$key] = $value;
} // END - foreach
return $wht;
}
//
-function MODULE_HAS_MENU($mod)
+function MODULE_HAS_MENU($mod, $forceDb = false)
{
global $cacheArray, $_CONFIG;
// All is false by default
$ret = false;
+ //* DEBUG: */ echo __FUNCTION__.":mod={$mod},cache=".GET_EXT_VERSION("cache")."<br />\n";
if (GET_EXT_VERSION("cache") >= "0.1.2") {
- if (isset($cacheArray['modules']['has_menu'][$mod]))
- {
+ // Cache version is okay, so let's check the cache!
+ if (isset($cacheArray['modules']['has_menu'][$mod])) {
// Check module cache and count hit
$ret = ($cacheArray['modules']['has_menu'][$mod] == "Y");
$_CONFIG['cache_hits']++;
- }
- elseif (isset($cacheArray['extensions']['ext_menu'][$mod]))
- {
+ } elseif (isset($cacheArray['extensions']['ext_menu'][$mod])) {
// Check cache and count hit
$ret = ($cacheArray['extensions']['ext_menu'][$mod] == "Y");
$_CONFIG['cache_hits']++;
}
- } elseif ((GET_EXT_VERSION("sql_patches") >= "0.3.6") && (!EXT_IS_ACTIVE("cache"))) {
+ } elseif ((GET_EXT_VERSION("sql_patches") >= "0.3.6") && ((!EXT_IS_ACTIVE("cache")) || ($forceDb === true))) {
// Check database for entry
$result = SQL_QUERY_ESC("SELECT has_menu FROM "._MYSQL_PREFIX."_mod_reg WHERE module='%s' LIMIT 1",
array($mod), __FILE__, __LINE__);
//DEBUG_LOG(__FUNCTION__.":entries={$entries}");
SQL_QUERY("UPDATE "._MYSQL_PREFIX."_config SET ".$entries." WHERE config=0 LIMIT 1", __FILE__, __LINE__);
- // Destroy cache
- if ((GET_EXT_VERSION("cache") >= "0.1.2") && (SQL_AFFECTEDROWS() == 1)) {
+ // Get affected rows
+ $affectedRows = SQL_AFFECTEDROWS();
+ //* DEBUG: */ echo __FUNCTION__.":entries={$entries},affectedRows={$affectedRows}<br />\n";
+
+ // Destroy cache?
+ if ((GET_EXT_VERSION("cache") >= "0.1.2") && ($affectedRows == 1)) {
global $cacheInstance, $_CONFIG, $CSS;
if ($cacheInstance->cache_file("config", true)) $cacheInstance->cache_destroy();
);
// Load text for task
- if ((file_exists($tpl)) && (is_readable($tpl))) {
+ if (FILE_READABLE($tpl)) {
// Load extension's own text template (HTML!)
$msg = LOAD_TEMPLATE("ext_".$ext, true);
} else {