X-Git-Url: https://git.mxchange.org/?p=mailer.git;a=blobdiff_plain;f=inc%2Fmysql-manager.php;h=491bf296ffee12acb3e81cacc81c5a8297464957;hp=6d8037fa6c91dbe0f2044aab981c70ae9607401e;hb=f928ad2bed60fa256d0641eaf6d2c027a2944688;hpb=a6471bb025f8149ec310a1eb6371cdc7d0011b49 diff --git a/inc/mysql-manager.php b/inc/mysql-manager.php index 6d8037fa6c..491bf296ff 100644 --- a/inc/mysql-manager.php +++ b/inc/mysql-manager.php @@ -87,12 +87,12 @@ function getModuleTitle ($mod) { function getModuleDescription ($mode, $wht, $column = '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", @@ -112,7 +112,7 @@ function getModuleDescription ($mode, $wht, $column = 'what') { // Check validity of a given module name (no file extension) function checkModulePermissions ($mod) { // Filter module name (names with low chars and underlines are fine!) - $mod = preg_replace("/[^a-z_]/", '', $mod); + $mod = preg_replace('/[^a-z_]/', '', $mod); // Check for prefix is a extension... $modSplit = explode("_", $mod); @@ -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) { @@ -184,30 +194,33 @@ function checkModulePermissions ($mod) { // // Admin access ----- Guest access ----- --- Guest or member? --- if ((IS_ADMIN()) || (($locked == 'N') && ($admin == 'N') && (($mem == 'N') || (IS_MEMBER())))) { + // Count module + countModuleHit($mod_chk); + // If you are admin you are welcome for everything! $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", - $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,23 +228,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); @@ -239,24 +253,28 @@ function checkModulePermissions ($mod) { // Module not found we don't add it to the database $ret = '404'; } - } elseif (!$found) { + } elseif (($ret == 'cache_miss') && (getOutputMode() > -1)) { + // 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); @@ -266,11 +284,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'; $search = substr($file, 7); - switch ($ACC_LVL) { + switch ($accessLevel) { case 'admin': $modCheck = 'admin'; break; @@ -278,54 +296,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'; $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'; $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 +354,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 +367,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 . "\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 +416,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` ASC", + array($mode), __FUNCTION__, __LINE__); + //* DEBUG: */ echo __LINE__.'/'.$main_cnt.'/'.$main_action.'/'.$sub_what.':'.getWhat()."*
\n"; if (SQL_NUMROWS($result_main) > 0) { OUTPUT_HTML(""); // There are menus available, so we simply display them... :) while ($content = SQL_FETCHARRAY($result_main)) { - //* DEBUG: */ echo __LINE__.'/'.$main_cnt.'/'.$content['action'].'/'.$sub_what.':'.$GLOBALS['what']."*
\n"; + //* 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); @@ -441,7 +460,7 @@ function ADD_MENU ($mode, $act, $wht) { } // Navigation link - $OUT .= ""; + $OUT .= ""; } else { $OUT .= ""; } @@ -470,30 +489,32 @@ function ADD_MENU ($mode, $act, $wht) { // Add regular menu row or bottom row? if ($cnt < $ctl) { - LOAD_TEMPLATE($mode."_menu_row", false, $content); + LOAD_TEMPLATE($mode . '_menu_row', false, $content); } else { - LOAD_TEMPLATE($mode."_menu_bottom", false, $content); + LOAD_TEMPLATE($mode . '_menu_bottom', false, $content); } } } 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 if ((!EXT_IS_ACTIVE($content['action'])) || ($content['action'] == 'online')) OUTPUT_HTML(""); } - //* DEBUG: */ echo __LINE__.'/'.$main_cnt.'/'.$content['action'].'/'.$content['sub_what'].':'.$GLOBALS['what']."*
\n"; + //* DEBUG: */ echo __LINE__.'/'.$main_cnt.'/'.$content['action'].'/'.$content['sub_what'].':'.getWhat()."*
\n"; } $main_cnt++; - //* DEBUG: */ echo __LINE__.'/'.$main_cnt.'/'.$content['action'].'/'.$content['sub_what'].':'.$GLOBALS['what']."*
\n"; + //* DEBUG: */ echo __LINE__.'/'.$main_cnt.'/'.$content['action'].'/'.$content['sub_what'].':'.getWhat()."*
\n"; if (SQL_NUMROWS($result_main) > $main_cnt) { OUTPUT_HTML("
"); } // END - if @@ -503,9 +524,9 @@ function ADD_MENU ($mode, $act, $wht) { SQL_FREERESULT($result_main); // Close table - //* DEBUG: */ echo __LINE__.'/'.$main_cnt.'/'.$content['action'].'/'.$content['sub_what'].':'.$GLOBALS['what']."*
\n"; + //* DEBUG: */ echo __LINE__.'/'.$main_cnt.'/'.$content['action'].'/'.$content['sub_what'].':'.getWhat()."*
\n"; OUTPUT_HTML("
"); - //* DEBUG: */ echo __LINE__.'/'.$main_cnt.'/'.$content['action'].'/'.$content['sub_what'].':'.$GLOBALS['what']."*
\n"; + //* DEBUG: */ echo __LINE__.'/'.$main_cnt.'/'.$content['action'].'/'.$content['sub_what'].':'.getWhat()."*
\n"; loadInclude($INC_BLOCK); - //* DEBUG: */ echo __LINE__.'/'.$main_cnt.'/'.$content['action'].'/'.$content['sub_what'].':'.$GLOBALS['what']."*
\n"; + //* DEBUG: */ echo __LINE__.'/'.$main_cnt.'/'.$content['action'].'/'.$content['sub_what'].':'.getWhat()."*
\n"; if ((!EXT_IS_ACTIVE($content['action'])) || ($content['action'] == 'online')) OUTPUT_HTML("
"); - } + } // END - if } // Checks wether the current user is a member @@ -532,7 +553,7 @@ function IS_MEMBER () { // Are cookies set? 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", + $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__); if (SQL_NUMROWS($result) == 1) { // Load data from cookies @@ -730,15 +751,15 @@ function isMenuActionValid ($mode, $act, $wht, $UPDATE=false) { if (($mode != 'admin') && ($UPDATE === true)) { // 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))) { + array($mode, $act, $wht), __FUNCTION__, __LINE__, false); + } 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); + $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); } else { // Admin login overview - $sql = SQL_QUERY_ESC("SELECT id, what FROM `{!_MYSQL_PREFIX!}_%s_menu` WHERE `action`='%s' AND (`what`='' OR `what` IS NULL)".$add." ORDER BY action DESC LIMIT 1", - array($mode, $act), __FUNCTION__, __LINE__, false); + $sql = SQL_QUERY_ESC("SELECT `id`, `what` FROM `{!_MYSQL_PREFIX!}_%s_menu` WHERE `action`='%s' AND (`what`='' OR `what` IS NULL)".$add." ORDER BY `action` DESC LIMIT 1", + array($mode, $act), __FUNCTION__, __LINE__, false); } // Run SQL command @@ -766,8 +787,8 @@ function sendModeMails ($mod, $modes) { global $DATA; // Load hash - $result_main = SQL_QUERY_ESC("SELECT password FROM `{!_MYSQL_PREFIX!}_user_data` WHERE userid=%s AND `status`='CONFIRMED' LIMIT 1", - array(getUserId()), __FUNCTION__, __LINE__); + $result_main = SQL_QUERY_ESC("SELECT `password` FROM `{!_MYSQL_PREFIX!}_user_data` WHERE `userid`=%s AND `status`='CONFIRMED' LIMIT 1", + array(getUserId()), __FUNCTION__, __LINE__); if (SQL_NUMROWS($result_main) == 1) { // Load hash from database list($hashDB) = SQL_FETCHROW($result_main); @@ -779,7 +800,7 @@ function sendModeMails ($mod, $modes) { $hash = generatePassString($hashDB); if (($hash == getSession('u_hash')) || (REQUEST_POST('pass1') == REQUEST_POST('pass2'))) { // Load user's data - $result = SQL_QUERY_ESC("SELECT gender, surname, family, street_nr, country, zip, city, email FROM `{!_MYSQL_PREFIX!}_user_data` WHERE userid=%s AND password='%s' LIMIT 1", + $result = SQL_QUERY_ESC("SELECT gender, surname, family, street_nr, country, zip, city, email FROM `{!_MYSQL_PREFIX!}_user_data` WHERE `userid`=%s AND password='%s' LIMIT 1", array(getUserId(), $hashDB), __FUNCTION__, __LINE__); if (SQL_NUMROWS($result) == 1) { // Load the data @@ -827,15 +848,15 @@ function sendModeMails ($mod, $modes) { $content = merge_array($content, REQUEST_POST_ARRAY()); // Load template - $msg = LOAD_EMAIL_TEMPLATE('member_mydata_notify', $content, getUserId()); + $message = LOAD_EMAIL_TEMPLATE('member_mydata_notify', $content, getUserId()); if (getConfig('admin_notify') == 'Y') { // The admin needs to be notified about a profile change - $msg_admin = 'admin_mydata_notify'; + $message_admin = 'admin_mydata_notify'; $sub_adm = getMessage('ADMIN_CHANGED_DATA'); } else { // No mail to admin - $msg_admin = ''; + $message_admin = ''; $sub_adm = ''; } @@ -865,16 +886,16 @@ function sendModeMails ($mod, $modes) { } // Send email to user if required - if ((!empty($sub_mem)) && (!empty($msg))) { + if ((!empty($sub_mem)) && (!empty($message))) { // Send member mail - sendEmail($DATA[7], $sub_mem, $msg); + sendEmail($DATA[7], $sub_mem, $message); } // END - if // Send only if no other error has occured if (empty($content)) { - if ((!empty($sub_adm)) && (!empty($msg_admin))) { + if ((!empty($sub_adm)) && (!empty($message_admin))) { // Send admin mail - sendAdminNotification($sub_adm, $msg_admin, $content, getUserId()); + sendAdminNotification($sub_adm, $message_admin, $content, getUserId()); } elseif (getConfig('admin_notify') == 'Y') { // Cannot send mails to admin! $content = getMessage('CANNOT_SEND_ADMIN_MAILS'); @@ -890,21 +911,19 @@ function sendModeMails ($mod, $modes) { // Update module counter function countModuleHit($mod) { - if ($mod != "css") { - // Do count all other modules but not accesses on CSS file css.php! - SQL_QUERY_ESC("UPDATE `{!_MYSQL_PREFIX!}_mod_reg` SET clicks=clicks+1 WHERE `module`='%s' LIMIT 1", + // Do count all other modules but not accesses on CSS file css.php! + SQL_QUERY_ESC("UPDATE `{!_MYSQL_PREFIX!}_mod_reg` SET `clicks`=`clicks`+1 WHERE `module`='%s' LIMIT 1", array($mod), __FUNCTION__, __LINE__); - } // END - if } // 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 @@ -913,16 +932,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"; @@ -931,11 +950,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", @@ -1036,7 +1055,7 @@ function getPaymentPoints ($pid, $lookFor = 'price') { } // Remove a receiver's ID from $receivers and add a link for him to confirm -function removeReceiver (&$receivers, $key, $uid, $pool_id, $stats_id='', $bonus=false) { +function removeReceiver (&$receivers, $key, $uid, $pool_id, $stats_id = '', $bonus = false) { // Default is not removed $ret = 'failed'; @@ -1058,7 +1077,7 @@ function removeReceiver (&$receivers, $key, $uid, $pool_id, $stats_id='', $bonus // 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')", + 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__); $ret = 'done'; } else { @@ -1084,22 +1103,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 @@ -1206,7 +1225,7 @@ function ADD_POINTS_REFSYSTEM ($subject, $uid, $points, $send_notify = false, $r if ($locked) $data = 'locked_points'; // Check user account - $result_user = SQL_QUERY_ESC("SELECT refid, email FROM `{!_MYSQL_PREFIX!}_user_data` WHERE userid=%s AND `status`='CONFIRMED' LIMIT 1", + $result_user = SQL_QUERY_ESC("SELECT refid, email FROM `{!_MYSQL_PREFIX!}_user_data` WHERE `userid`=%s AND `status`='CONFIRMED' LIMIT 1", array(bigintval($uid)), __FUNCTION__, __LINE__); //* DEBUG: */ print __FUNCTION__."(".__LINE__."):uid={$uid},numRows=".SQL_NUMROWS($result_user).",points={$points}
\n"; @@ -1233,7 +1252,7 @@ function ADD_POINTS_REFSYSTEM ($subject, $uid, $points, $send_notify = false, $r } // END - if // Update points... - SQL_QUERY_ESC("UPDATE `{!_MYSQL_PREFIX!}_user_points` SET %s=%s+%s WHERE userid=%s AND ref_depth='%s' LIMIT 1", + SQL_QUERY_ESC("UPDATE `{!_MYSQL_PREFIX!}_user_points` SET %s=%s+%s WHERE `userid`=%s AND ref_depth='%s' LIMIT 1", array($data, $data, $ref_points, bigintval($uid), bigintval($GLOBALS['ref_level'])), __FUNCTION__, __LINE__); //* DEBUG: */ print __FUNCTION__."(".__LINE__."):data={$data},ref_points={$ref_points},uid={$uid},depth={$GLOBALS['ref_level']},mode={$add_mode} - UPDATE! (".SQL_AFFECTEDROWS().")
\n"; @@ -1262,9 +1281,9 @@ function ADD_POINTS_REFSYSTEM ($subject, $uid, $points, $send_notify = false, $r ); // Load email template - $msg = LOAD_EMAIL_TEMPLATE('confirm-referal', $content, bigintval($uid)); + $message = LOAD_EMAIL_TEMPLATE('confirm-referal', $content, bigintval($uid)); - sendEmail($email, THANX_REFERRAL_ONE, $msg); + sendEmail($email, THANX_REFERRAL_ONE, $message); } elseif (($send_notify) && ($ref == 0) && (!$locked) && ($add_mode == 'direct') && (!defined('__POINTS_VALUE'))) { // Direct payment shall be notified about define('__POINTS_VALUE', $ref_points); @@ -1276,11 +1295,11 @@ function ADD_POINTS_REFSYSTEM ($subject, $uid, $points, $send_notify = false, $r ); // Load message - $msg = LOAD_EMAIL_TEMPLATE('add-points', $content, $uid); + $message = LOAD_EMAIL_TEMPLATE('add-points', $content, $uid); // 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')); + sendEmail($email, getMessage('SUBJECT_DIRECT_PAYMENT'), $message); + if (!REQUEST_ISSET_GET('mid')) LOAD_TEMPLATE('admin_settings_saved', false, getMessage('ADMIN_POINTS_ADDED')); } // Maybe there's another ref? @@ -1309,21 +1328,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); @@ -1354,12 +1373,12 @@ function updateReferalCounter ($uid) { // Sends out mail to all administrators. This function is no longer obsolete // because we need it when there is no ext-admins installed -function SEND_ADMIN_EMAILS ($subj, $msg) { +function SEND_ADMIN_EMAILS ($subj, $message) { // 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); + sendEmail($content['email'], $subj, $message); } // END - if // Free result @@ -1615,7 +1634,7 @@ WHERE p.userid=%s", array(bigintval($uid)), __FUNCTION__, __LINE__); list($points) = SQL_FETCHROW($result); // Delete points entries as well - SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM `{!_MYSQL_PREFIX!}_user_points` WHERE userid=%s", array(bigintval($uid)), __FUNCTION__, __LINE__); + SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM `{!_MYSQL_PREFIX!}_user_points` WHERE `userid`=%s", array(bigintval($uid)), __FUNCTION__, __LINE__); // Update mediadata as well if (GET_EXT_VERSION('mediadata') >= '0.0.4') { @@ -1631,21 +1650,21 @@ WHERE p.userid=%s", array(bigintval($uid)), __FUNCTION__, __LINE__); SQL_FREERESULT($result); // Delete category selections as well... - SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM `{!_MYSQL_PREFIX!}_user_cats` WHERE userid=%s", + SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM `{!_MYSQL_PREFIX!}_user_cats` WHERE `userid`=%s", array(bigintval($uid)), __FUNCTION__, __LINE__); // Remove from rallye if found if (EXT_IS_ACTIVE('rallye')) { - SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM `{!_MYSQL_PREFIX!}_rallye_users` WHERE userid=%s", + SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM `{!_MYSQL_PREFIX!}_rallye_users` WHERE `userid`=%s", array(bigintval($uid)), __FUNCTION__, __LINE__); } // END - if // Now a mail to the user and that's all... - $msg = LOAD_EMAIL_TEMPLATE('del-user', array('text' => $reason), $uid); - sendEmail($uid, getMessage('ADMIN_DEL_ACCOUNT'), $msg); + $message = LOAD_EMAIL_TEMPLATE('del-user', array('text' => $reason), $uid); + sendEmail($uid, getMessage('ADMIN_DEL_ACCOUNT'), $message); // Ok, delete the account! - SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM `{!_MYSQL_PREFIX!}_user_data` WHERE userid=%s LIMIT 1", array(bigintval($uid)), __FUNCTION__, __LINE__); + SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM `{!_MYSQL_PREFIX!}_user_data` WHERE `userid`=%s LIMIT 1", array(bigintval($uid)), __FUNCTION__, __LINE__); } // Generates meta description for given module and 'what' value @@ -1717,10 +1736,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 +1754,7 @@ function getWhatFromModule ($modCheck) { default: $wht = ''; break; - } + } // END - switch // Return what value return $wht; @@ -1743,10 +1763,11 @@ function getWhatFromModule ($modCheck) { // Subtract points from database and mediadata cache 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__); + 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__); // Insert booking record + // @TODO Rewrite this to a filter if (EXT_IS_ACTIVE('booking')) { // Add record ADD_BOOKING_RECORD($subject, $uid, $points, 'sub'); @@ -1762,7 +1783,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 @@ -1885,9 +1906,14 @@ function generateCategoryOptionsList ($mode) { $uid_cnt = 0; // @TODO Rewrite this to $content = SQL_FETCHARRAY() while (list($ucat) = SQL_FETCHROW($result_uids)) { - $result_ver = SQL_QUERY_ESC("SELECT userid FROM `{!_MYSQL_PREFIX!}_user_data` -WHERE userid=%s AND `status`='CONFIRMED' AND receive_mails > 0".PREPARE_SQL_HTML_HOLIDAY($mode)." LIMIT 1", - array(bigintval($ucat)), __FUNCTION__, __LINE__); + $result_ver = SQL_QUERY_ESC("SELECT + `userid` +FROM + `{!_MYSQL_PREFIX!}_user_data` +WHERE + `userid`=%s AND `status`='CONFIRMED' AND receive_mails > 0".PREPARE_SQL_HTML_HOLIDAY($mode)." +LIMIT 1", + array(bigintval($ucat)), __FUNCTION__, __LINE__); // Add user count $uid_cnt += SQL_NUMROWS($result_ver); @@ -2063,9 +2089,13 @@ function getTimestampFromUserStats ($type, $data, $uid = 0) { // Try to find the entry $result = SQL_QUERY_ESC("SELECT UNIX_TIMESTAMP(`inserted`) AS `stamp` FROM `{!_MYSQL_PREFIX!}_user_stats_data` -WHERE userid=%s AND stats_type='%s' AND stats_data='%s' +WHERE `userid`=%s AND `stats_type`='%s' AND `stats_data`='%s' LIMIT 1", - array(bigintval($uid), $type, $data), __FUNCTION__, __LINE__); + array( + bigintval($uid), + $type, + $data + ), __FUNCTION__, __LINE__); // Is the entry there? if (SQL_NUMROWS($result) == 1) { @@ -2095,7 +2125,7 @@ function insertUserStatsRecord ($uid, $type, $data) { array(bigintval($uid), $type, $data), __FUNCTION__, __LINE__); } elseif (is_array($data)) { // Invalid data! - DEBUG_LOG(__FUNCTION__, __LINE__, " uid={$uid},type={$type},data={".gettype($data).": Invalid statistics data type!"); + DEBUG_LOG(__FUNCTION__, __LINE__, "uid={$uid},type={$type},data={".gettype($data).": Invalid statistics data type!"); } } @@ -2185,7 +2215,7 @@ function reduceRecipientReceivedMails ($column, $id, $count) { // Now update all user accounts SQL_QUERY_ESC("UPDATE `{!_MYSQL_PREFIX!}_user_data` SET `emails_received`=`emails_received`-1 WHERE `userid` IN (%s) LIMIT %s", - array(implode(',', $UIDs), count($UIDs)), __FUNCTION__, __LINE__); + array(implode(',', $UIDs), count($UIDs)), __FUNCTION__, __LINE__); } // END - if // Free result @@ -2252,10 +2282,18 @@ function COUNT_SQLS () { // Checks wether the SQLs array is filled function IS_SQLS_VALID () { return ( - (IS_SQLS_INITIALIZED()) && - (COUNT_SQLS() > 0) + (IS_SQLS_INITIALIZED()) + && + (COUNT_SQLS() > 0) ); } +// Creates a new task +function createNewTask($subject, $notes, $taskType, $userid = 0, $admin_id = 0, $strip = true) { + // Insert the task data into the database + SQL_QUERY_ESC("INSERT INTO `{!_MYSQL_PREFIX!}_task_system` (`assigned_admin`, `userid`, `status`, `task_type`, `subject`, `text`, `task_created`) VALUES (%s,%s,'NEW','%s','%s','%s', UNIX_TIMESTAMP())", + array($admin_id, $userid, $taskType, $subject, $notes), __FUNCTION__, __LINE__, true, $strip); +} + // [EOF] ?>