X-Git-Url: https://git.mxchange.org/?p=mailer.git;a=blobdiff_plain;f=inc%2Fmysql-manager.php;h=db3015241a05653e8326fa33ccd6c73562a577eb;hp=c019248ea03d23b3979f8d096028ef7fb5d29803;hb=b29dab42eab7c64ca1945eb70fa7713f8898f6ae;hpb=4001187f22197f55e5a1f211fc8defcc180f7c32 diff --git a/inc/mysql-manager.php b/inc/mysql-manager.php index c019248ea0..db3015241a 100644 --- a/inc/mysql-manager.php +++ b/inc/mysql-manager.php @@ -10,7 +10,12 @@ * -------------------------------------------------------------------- * * Kurzbeschreibung : Alle MySQL-Relevanten Funktionen * * -------------------------------------------------------------------- * - * * + * $Revision:: $ * + * $Date:: $ * + * $Tag:: 0.2.1-FINAL $ * + * $Author:: $ * + * Needs to be in all Files and every File needs "svn propset * + * svn:keywords Date Revision" (autoprobset!) at least!!!!!! * * -------------------------------------------------------------------- * * Copyright (c) 2003 - 2008 by Roland Haeder * * For more information visit: http://www.mxchange.org * @@ -54,7 +59,7 @@ function ADD_MODULE_TITLE ($mod) { incrementConfigEntry('cache_hits'); } elseif (!EXT_IS_ACTIVE("cache")) { // Load from database - $result = SQL_QUERY_ESC("SELECT title FROM `{!_MYSQL_PREFIX!}_mod_reg` WHERE module='%s' LIMIT 1", + $result = SQL_QUERY_ESC("SELECT title FROM `{!_MYSQL_PREFIX!}_mod_reg` WHERE `module`='%s' LIMIT 1", array($mod), __FUNCTION__, __LINE__); list($name) = SQL_FETCHROW($result); SQL_FREERESULT($result); @@ -137,7 +142,7 @@ function checkModulePermissions ($mod) { } } 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", + $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 @@ -250,7 +255,7 @@ function ADD_DESCR ($ACC_LVL, $FQFN, $return = false, $output = true) { $modCheck = $GLOBALS['module']; break; } - $AND = " AND (what='' OR `what` IS NULL)"; + $AND = " AND (`what`='' OR `what` IS NULL)"; } elseif (substr($file, 0, 5) == "what-") { // This is an admin what file! $type = "what"; @@ -357,7 +362,7 @@ function ADD_MENU ($MODE, $act, $wht) { // is the menu action valid? if (!VALIDATE_MENU_ACTION($MODE, $act, $wht, true)) { - return getMessage('CODE_MENU_NOT_VALID'); + return getCode('MENU_NOT_VALID'); } // END - if // Non-admin shall not see all menus @@ -366,7 +371,7 @@ 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`", + $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"; if (SQL_NUMROWS($result_main) > 0) { @@ -624,10 +629,10 @@ function IS_MEMBER () { FIX_DELETED_COOKIES(array('userid', 'u_hash')); // Are cookies set? - if ((!empty($GLOBALS['userid'])) && (isSessionVariableSet('u_hash'))) { + 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($GLOBALS['userid']), __FUNCTION__, __LINE__); + array(getUserId()), __FUNCTION__, __LINE__); if (SQL_NUMROWS($result) == 1) { // Load data from cookies list($password, $status, $mod, $onl) = SQL_FETCHROW($result); @@ -687,21 +692,21 @@ function VALIDATE_MENU_ACTION ($MODE, $act, $wht, $UPDATE=false) { $ret = false; // Look in all menus or only unlocked - $ADD = ""; - if ((!IS_ADMIN()) && ($MODE != "admin")) $ADD = " AND `locked`='N'"; + $add = ""; + if ((!IS_ADMIN()) && ($MODE != "admin")) $add = " AND `locked`='N'"; //* DEBUG: */ echo __LINE__.":".$MODE."/".$act."/".$wht."*
\n"; 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", + $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))) { // 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", + $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", + $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); } @@ -756,7 +761,7 @@ function SEND_MODE_MAILS($mod, $modes) { // Load hash $result_main = SQL_QUERY_ESC("SELECT password FROM `{!_MYSQL_PREFIX!}_user_data` WHERE userid=%s AND `status`='CONFIRMED' LIMIT 1", - array($GLOBALS['userid']), __FUNCTION__, __LINE__); + array(getUserId()), __FUNCTION__, __LINE__); if (SQL_NUMROWS($result_main) == 1) { // Load hash from database list($hashDB) = SQL_FETCHROW($result_main); @@ -769,7 +774,7 @@ function SEND_MODE_MAILS($mod, $modes) { if (($hash == get_session('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", - array($GLOBALS['userid'], $hashDB), __FUNCTION__, __LINE__); + array(getUserId(), $hashDB), __FUNCTION__, __LINE__); if (SQL_NUMROWS($result) == 1) { // Load the data $DATA = SQL_FETCHROW($result); @@ -813,7 +818,7 @@ function SEND_MODE_MAILS($mod, $modes) { } // END - if // Load template - $msg = LOAD_EMAIL_TEMPLATE("member_mydata_notify", $content, $GLOBALS['userid']); + $msg = LOAD_EMAIL_TEMPLATE("member_mydata_notify", $content, getUserId()); if (getConfig('admin_notify') == "Y") { // The admin needs to be notified about a profile change @@ -860,7 +865,7 @@ function SEND_MODE_MAILS($mod, $modes) { if (empty($content)) { if ((!empty($sub_adm)) && (!empty($msg_admin))) { // Send admin mail - SEND_ADMIN_NOTIFICATION($sub_adm, $msg_admin, $content, $GLOBALS['userid']); + SEND_ADMIN_NOTIFICATION($sub_adm, $msg_admin, $content, getUserId()); } elseif (getConfig('admin_notify') == "Y") { // Cannot send mails to admin! $content = getMessage('CANNOT_SEND_ADMIN_MAILS'); @@ -878,7 +883,7 @@ function SEND_MODE_MAILS($mod, $modes) { 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", + SQL_QUERY_ESC("UPDATE `{!_MYSQL_PREFIX!}_mod_reg` SET clicks=clicks+1 WHERE `module`='%s' LIMIT 1", array($mod), __FUNCTION__, __LINE__); } // END - if } @@ -938,7 +943,7 @@ function GET_ACTION ($MODE, &$wht) { if (isAdminRegistered()) { // Redirect // @TODO Why does this lead into an endless loop but we still need it??? - // Commented out LOAD_URL("admin.php"); + // @TODO Commented out LOAD_URL("admin.php"); } // END - if } @@ -1012,31 +1017,33 @@ function GET_PAY_POINTS ($pid, $lookFor = "price") { return $ret; } -// Remove a receiver's ID from $ARRAY and add a link for him to confirm -function REMOVE_RECEIVER (&$ARRAY, $key, $uid, $pool_id, $stats_id="", $bonus=false) { +// Remove a receiver's ID from $receivers and add a link for him to confirm +function REMOVE_RECEIVER (&$receivers, $key, $uid, $pool_id, $stats_id="", $bonus=false) { + // Default is not removed $ret = "failed"; - if ($uid > 0) - { + + // Is the userid valid? + if ($uid > 0) { // Remove entry from array - unset($ARRAY[$key]); + unset($receivers[$key]); // Is there already a line for this user available? - if ($stats_id > 0) - { + if ($stats_id > 0) { // Only when we got a real stats ID continue searching for the entry $type = "NORMAL"; $rowName = "stats_id"; if ($bonus) { $type = "BONUS"; $rowName = "bonus_id"; } + + // 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__); - if (SQL_NUMROWS($result) == 0) - { - // No, so we add one! + 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 - { + } else { // Already found $ret = "already"; } @@ -1045,15 +1052,27 @@ function REMOVE_RECEIVER (&$ARRAY, $key, $uid, $pool_id, $stats_id="", $bonus=fa SQL_FREERESULT($result); } } + // Return status for sending routine return $ret; } // Calculate sum (default) or count records of given criteria -function GET_TOTAL_DATA ($search, $tableName, $lookFor, $whereStatement="userid", $onlyRows=false, $add="") { +function GET_TOTAL_DATA ($search, $tableName, $lookFor = "id", $whereStatement = "userid", $countRows = false, $add = "") { $ret = 0; //* DEBUG: */ echo $search."/".$tableName."/".$lookFor."/".$whereStatement."/".$add."
\n"; - if (($onlyRows) || ($lookFor == "userid")) { + if ((empty($search)) && ($search != "0")) { + // Count or sum whole table? + if ($countRows === true) { + // Count whole table + $result = SQL_QUERY_ESC("SELECT COUNT(`%s`) FROM `{!_MYSQL_PREFIX!}_%s`".$add, + 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__); + } + } 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, @@ -1453,7 +1472,11 @@ function GET_ADMIN_DEFAULT_ACL ($aid) { // By default an invalid ACL value is returned $ret = "***"; - if (isset($GLOBALS['cache_array']['admins']['def_acl'][$aid])) { + // Is sql_patches there and was it found in cache? + if (!EXT_IS_ACTIVE("sql_patches")) { + // Not found, which is bad, so we need to allow all + $ret = "allow"; + } elseif (isset($GLOBALS['cache_array']['admins']['def_acl'][$aid])) { // Use cache $ret = $GLOBALS['cache_array']['admins']['def_acl'][$aid]; @@ -1523,13 +1546,19 @@ function ADD_OPTION_LINES ($table, $id, $name, $default="", $special="", $where= } // Activate exchange function activateExchange () { + // Is the extension 'user' there? + if (!EXT_IS_ACTIVE("user")) { + // Silently abort here + return false; + } // END - if + // Check total amount of users $totalUsers = GET_TOTAL_DATA("CONFIRMED", "user_data", "userid", "status", true, " AND max_mails > 0"); if ($totalUsers >= getConfig('activate_xchange')) { // Activate System SET_SQLS(array( - "UPDATE `{!_MYSQL_PREFIX!}_mod_reg` SET `locked`='N', hidden='N', mem_only='Y' WHERE module='order' LIMIT 1", + "UPDATE `{!_MYSQL_PREFIX!}_mod_reg` SET `locked`='N', hidden='N', mem_only='Y' WHERE `module`='order' LIMIT 1", "UPDATE `{!_MYSQL_PREFIX!}_member_menu` SET `visible`='Y', `locked`='N' WHERE `what`='order' OR `what`='unconfirmed' LIMIT 2", "UPDATE `{!_MYSQL_PREFIX!}_config` SET activate_xchange='0' WHERE config=0 LIMIT 1" )); @@ -1985,8 +2014,8 @@ function USER_STATS_GET_TIMESTAMP ($type, $data, $uid = 0) { $stamp = 0; // User id set? - if ((isset($GLOBALS['userid'])) && ($uid == 0)) { - $uid = $GLOBALS['userid']; + if ((isUserIdSet()) && ($uid == 0)) { + $uid = getUserId(); } // END - if // Is the extension installed and updated? @@ -2038,16 +2067,16 @@ function USER_STATS_INSERT_RECORD ($uid, $type, $data) { function GET_USER_REF_POINTS ($uid, $level) { //* DEBUG: */ print "----------------------- ".__FUNCTION__." - ENTRY ------------------------