X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=inc%2Fmysql-manager.php;h=a50e4e23fa8707ca9bd448082fc1cd1a6363cb18;hb=211058a32ac0f0eaa69987158f41d8102663ec4d;hp=2d5d26fa9af300d84339cf283937fcf42e9b7e2e;hpb=1355d2c0b29510dbd407f9cde9f41a5ac02d01fa;p=mailer.git
diff --git a/inc/mysql-manager.php b/inc/mysql-manager.php
index 2d5d26fa9a..a50e4e23fa 100644
--- a/inc/mysql-manager.php
+++ b/inc/mysql-manager.php
@@ -85,14 +85,14 @@ function getModuleTitle ($mod) {
// "Getter" for module description
function getModuleDescription ($mode, $wht, $column = 'what') {
- // Fix empty "what"
+ // Fix empty 'what'
if (empty($wht)) {
- $wht = "welcome";
+ $wht = 'welcome';
if (getConfig('index_home') != '') $wht = getConfig('index_home');
} // END - if
// Default is not found
- $ret = "??? (".$wht.')';
+ $ret = '??? (' . $wht . ')';
// Look for title
$result = SQL_QUERY_ESC("SELECT title FROM `{!_MYSQL_PREFIX!}_%s_menu` WHERE %s='%s' LIMIT 1",
@@ -128,7 +128,7 @@ function checkModulePermissions ($mod) {
} // END - if
// Major error in module registry is the default
- $ret = "major";
+ $ret = 'major';
// Check if script is installed if not return a 'done' to prevent some errors
if ((!isInstalled()) || (isInstalling()) || (!isAdminRegistered())) {
@@ -146,14 +146,16 @@ 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 should normally not happen...
- debug_report_bug("Cache 'modules' is gone.");
+ // This happens when a new extension is registered while ext-cache is installed
+ $ret = 'cache_miss';
} // END - if
// 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];
@@ -164,19 +166,27 @@ function checkModulePermissions ($mod) {
$found = true;
} else {
// No, then we have to update it!
- $ret = "cache_miss";
+ $ret = 'cache_miss';
}
} 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) {
@@ -188,13 +198,13 @@ function checkModulePermissions ($mod) {
$ret = 'done';
} elseif ($locked == 'Y') {
// Module is locked
- $ret = "locked";
+ $ret = 'locked';
} elseif (($mem == 'Y') && (!IS_MEMBER())) {
// You have to login first!
- $ret = "mem_only";
+ $ret = 'mem_only';
} elseif (($admin == 'Y') && (!IS_ADMIN())) {
// Only the Admin is allowed to enter this module!
- $ret = "admin_only";
+ $ret = 'admin_only';
} else {
// @TODO Nothing helped???
DEBUG_LOG(__FUNCTION__, __LINE__, sprintf("ret=%s,locked=%s,admin=%s,mem=%s",
@@ -207,7 +217,7 @@ function checkModulePermissions ($mod) {
} // 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
@@ -215,23 +225,24 @@ 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__);
}
// Everthing is fine?
if (SQL_AFFECTEDROWS() < 1) {
// Something bad happend!
- return "major";
+ return 'major';
} // END - if
// Destroy cache here
- rebuildCacheFiles("modreg", "modreg");
+ // @TODO Rewrite this to a filter
+ rebuildCacheFiles('modreg', 'modreg');
// And reload data
$ret = checkModulePermissions($mod_chk);
@@ -242,21 +253,22 @@ function checkModulePermissions ($mod) {
} 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);
@@ -266,11 +278,11 @@ function ADD_DESCR ($ACC_LVL, $FQFN, $return = false, $output = true) {
$AND = '';
// First we have to do some analysis...
- if (substr($file, 0, 7) == "action-") {
+ if (substr($file, 0, 7) == 'action-') {
// This is an action file!
- $type = "action";
+ $type = 'action';
$search = substr($file, 7);
- switch ($ACC_LVL) {
+ switch ($accessLevel) {
case 'admin':
$modCheck = 'admin';
break;
@@ -278,54 +290,55 @@ function ADD_DESCR ($ACC_LVL, $FQFN, $return = false, $output = true) {
case 'sponsor':
case 'guest':
case 'member':
- $modCheck = $GLOBALS['module'];
+ $modCheck = getModule();
break;
}
$AND = " AND (`what`='' OR `what` IS NULL)";
- } elseif (substr($file, 0, 5) == "what-") {
+ } elseif (substr($file, 0, 5) == 'what-') {
// This is an admin what file!
- $type = "what";
+ $type = 'what';
$search = substr($file, 5);
$AND = '';
- switch ($ACC_LVL) {
+ switch ($accessLevel) {
case 'admin':
$modCheck = 'admin';
break;
case 'guest':
case 'member':
- $modCheck = $GLOBALS['module'];
+ $modCheck = getModule();
if (!IS_ADMIN()) {
$AND = " AND `visible`='Y' AND `locked`='N'";
}
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";
+ $type = 'what';
$search = $file;
- $modCheck = $GLOBALS['module'];
+ $modCheck = getModule();
$AND = '';
} else {
// Other
- $type = "menu";
+ $type = 'menu';
$search = $file;
- $modCheck = $GLOBALS['module'];
+ $modCheck = getModule();
$AND = '';
}
// Begin the navigation line
if ((!isset($GLOBALS['nav_depth'])) && (!$return)) {
$GLOBALS['nav_depth'] = 0;
- $prefix = "
{--YOU_ARE_HERE--}
Home";
+ $prefix = "
{--YOU_ARE_HERE--}
Home";
} else {
if (!$return) $GLOBALS['nav_depth']++;
$prefix = '';
}
- $prefix .= " -> ";
+ $prefix .= ' -> ';
// We need to remove .php and the end
if (substr($search, -4, 4) == '.php') {
@@ -335,7 +348,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,18 +361,18 @@ 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 . "
" . $ret . "\n";
// Can we close the you-are-here navigation?
- //* DEBUG: */ echo __LINE__."*".$type.'/'.$GLOBALS['what']."*
\n";
- if (($type == "what") || (($type == "action") && ((!isset($GLOBALS['what'])) || ($GLOBALS['what'] == "overview")))) {
+ //* DEBUG: */ echo __LINE__."*".$type.'/'.getWhat()."*
\n";
+ if (($type == 'what') || (($type == 'action') && ((!isWhatSet()) || (getWhat() == 'overview')))) {
//* DEBUG: */ echo __LINE__.'+'.$type."+
\n";
// Add closing div and br-tag
$OUT .= "
\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
}
@@ -397,24 +410,24 @@ 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__);
- //* DEBUG: */ echo __LINE__.'/'.$main_cnt.'/'.$main_action.'/'.$sub_what.':'.$GLOBALS['what']."*
\n";
+ $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("");
}
}
// Checks wether the current user is a member
function IS_MEMBER () {
- // @TODO Why is this global??? #100
- global $status;
-
- if (!is_array($GLOBALS['last'])) $GLOBALS['last'] = array();
+ // By default no member
$ret = false;
+ // Fix missing 'last' array, damn stupid code :(((
+ // @TODO Try to rewrite this to one or more functions
+ if ((!isset($GLOBALS['last'])) || (!is_array($GLOBALS['last']))) $GLOBALS['last'] = array();
+
// is the cache entry there?
- if (isset($GLOBALS['cache_array']['is_member'])) {
+ if (isset($GLOBALS['is_member'])) {
// Then return it
- return $GLOBALS['cache_array']['is_member'];
+ return $GLOBALS['is_member'];
} // END - if
+ // Init global 'status'
+ $GLOBALS['status'] = false;
+
// Fix "deleted" cookies first
fixDeletedCookies(array('userid', 'u_hash'));
@@ -529,23 +548,23 @@ function IS_MEMBER () {
if ((isUserIdSet()) && (isSessionVariableSet('u_hash'))) {
// Cookies are set with values, but are they valid?
$result = SQL_QUERY_ESC("SELECT password, status, last_module, last_online FROM `{!_MYSQL_PREFIX!}_user_data` WHERE userid=%s LIMIT 1",
- array(getUserId()), __FUNCTION__, __LINE__);
+ array(getUserId()), __FUNCTION__, __LINE__);
if (SQL_NUMROWS($result) == 1) {
// Load data from cookies
- list($password, $status, $mod, $onl) = SQL_FETCHROW($result);
+ list($password, $GLOBALS['status'], $mod, $onl) = SQL_FETCHROW($result);
// Validate password by created the difference of it and the secret key
$valPass = generatePassString($password);
// Transfer last module and online time
if ((!empty($mod)) && (empty($GLOBALS['last']['module']))) {
+ // @TODO Try to rewrite this to one or more functions
$GLOBALS['last']['module'] = $mod;
$GLOBALS['last']['online'] = $onl;
} // END - if
// So did we now have valid data and an unlocked user?
- //* DEBUG: */ echo $valPass."
".getSession('u_hash')."
";
- if (($status == 'CONFIRMED') && ($valPass == getSession('u_hash'))) {
+ if (($GLOBALS['status'] == 'CONFIRMED') && ($valPass == getSession('u_hash'))) {
// Account is confirmed and all cookie data is valid so he is definely logged in! :-)
$ret = true;
} else {
@@ -568,7 +587,7 @@ function IS_MEMBER () {
}
// Cache status
- $GLOBALS['cache_array']['is_member'] = $ret;
+ $GLOBALS['is_member'] = $ret;
// Return status
return $ret;
@@ -727,7 +746,7 @@ function isMenuActionValid ($mode, $act, $wht, $UPDATE=false) {
// 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), __FUNCTION__, __LINE__, false);
- } elseif (($wht != "overview") && (!empty($wht))) {
+ } elseif (($wht != 'overview') && (!empty($wht))) {
// Other actions
$sql = SQL_QUERY_ESC("SELECT id, what FROM `{!_MYSQL_PREFIX!}_%s_menu` WHERE `action`='%s' AND `what`='%s'".$add." ORDER BY action DESC LIMIT 1",
array($mode, $act, $wht), __FUNCTION__, __LINE__, false);
@@ -894,13 +913,13 @@ function countModuleHit($mod) {
}
// Get action value from mode (admin/guest/member) and what-value
-function getModeAction ($mode, &$wht) {
+function getModeAction ($mode, $wht) {
// Init status
$ret = '';
- //* DEBUG: */ echo __LINE__.'='.$mode.'/'.$wht.'/'.$GLOBALS['action']."=
";
+ //* DEBUG: */ echo __LINE__.'='.$mode.'/'.$wht.'/'.getAction()."=
";
if ((empty($wht)) && ($mode != 'admin')) {
- $wht = "welcome";
+ $wht = 'welcome';
if (getConfig('index_home') != '') $wht = getConfig('index_home');
} // END - if
@@ -909,16 +928,16 @@ function getModeAction ($mode, &$wht) {
if (REQUEST_ISSET_GET('action')) {
// Use from request!
return REQUEST_GET('action');
- } elseif (!empty($GLOBALS['action'])) {
+ } elseif (isActionSet()) {
// Get it directly from URL
- return $GLOBALS['action'];
- } elseif (($wht == "overview") || (empty($GLOBALS['what']))) {
+ return getAction();
+ } elseif (($wht == 'overview') || (!isWhatSet())) {
// Default value for admin area
- $ret = "login";
+ $ret = 'login';
}
- } elseif (!empty($GLOBALS['action'])) {
+ } elseif (isActionSet()) {
// Get it directly from URL
- return $GLOBALS['action'];
+ return getAction();
}
//* DEBUG: */ echo __FUNCTION__."(
".__LINE__."): ret=".$ret."
\n";
@@ -927,11 +946,11 @@ function getModeAction ($mode, &$wht) {
// Rewriting modules to menu
switch ($mode) {
case 'index': $mode = 'guest'; break;
- case "login": $mode = 'member'; break;
+ case 'login': $mode = 'member'; break;
} // END - switch
- // Guest and member menu is "main" as the default
- if (empty($ret)) $ret = "main";
+ // Guest and member menu is 'main' as the default
+ if (empty($ret)) $ret = 'main';
// Load from database
$result = SQL_QUERY_ESC("SELECT action FROM `{!_MYSQL_PREFIX!}_%s_menu` WHERE `what`='%s' LIMIT 1",
@@ -1049,13 +1068,13 @@ function removeReceiver (&$receivers, $key, $uid, $pool_id, $stats_id='', $bonus
// Try to look the entry up
$result = SQL_QUERY_ESC("SELECT `id` FROM `{!_MYSQL_PREFIX!}_user_links` WHERE %s='%s' AND `userid`=%s AND link_type='%s' LIMIT 1",
- array($rowName, $stats_id, bigintval($uid), $type), __FUNCTION__, __LINE__);
+ array($rowName, $stats_id, bigintval($uid), $type), __FUNCTION__, __LINE__);
// Was it *not* found?
if (SQL_NUMROWS($result) == 0) {
// So we add one!
SQL_QUERY_ESC("INSERT INTO `{!_MYSQL_PREFIX!}_user_links` (%s, userid, link_type) VALUES ('%s','%s','%s')",
- array($rowName, $stats_id, bigintval($uid), $type), __FUNCTION__, __LINE__);
+ array($rowName, $stats_id, bigintval($uid), $type), __FUNCTION__, __LINE__);
$ret = 'done';
} else {
// Already found
@@ -1713,10 +1732,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;
@@ -1730,7 +1750,7 @@ function getWhatFromModule ($modCheck) {
default:
$wht = '';
break;
- }
+ } // END - switch
// Return what value
return $wht;
@@ -1740,9 +1760,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');
@@ -1758,7 +1779,7 @@ function SUB_POINTS ($subject, $uid, $points) {
// Update config entries
function updateConfiguration ($entries, $values, $updateMode='') {
// Do not update config in CSS mode
- if (($GLOBALS['output_mode'] == '1') || ($GLOBALS['output_mode'] == -1)) {
+ if ((getOutputMode() == '1') || (getOutputMode() == -1)) {
return;
} // END - if