");
+ } // END - if
}
// Free memory
SQL_FREERESULT($result_main);
// Close table
- //* DEBUG: */ echo __LINE__."/".$main_cnt."/".$main_action."/".$sub_what.":".$GLOBALS['what']."* \n";
+ //* DEBUG: */ echo __LINE__."/".$main_cnt."/".$content['action']."/".$content['sub_what'].":".$GLOBALS['what']."* \n";
OUTPUT_HTML("
");
}
}
@@ -529,53 +545,49 @@ function IS_ADMIN ($admin="") {
// Generates a list of "max receiveable emails per day"
function ADD_MAX_RECEIVE_LIST ($MODE, $default = "", $return = false) {
$OUT = "";
+ $result = false;
+
switch ($MODE) {
- case "guest":
- // Guests (in the registration form) are not allowed to select 0 mails per day.
- $result = SQL_QUERY("SELECT value, comment FROM `{!_MYSQL_PREFIX!}_max_receive` WHERE value > 0 ORDER BY value", __FUNCTION__, __LINE__);
- if (SQL_NUMROWS($result) > 0) {
- $OUT = "";
- while (list($value, $comment) = SQL_FETCHROW($result)) {
- $OUT .= " \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);
}
@@ -749,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);
@@ -762,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);
@@ -806,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
@@ -853,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');
@@ -931,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
}
@@ -1005,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";
}
@@ -1038,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,
@@ -1226,7 +1252,7 @@ function ADD_POINTS_REFSYSTEM ($subject, $uid, $points, $send_notify=false, $rid
// Prepare content
$content = array(
- 'text' => REASON_DIRECT_PAYMENT,
+ 'text' => getMessage('REASON_DIRECT_PAYMENT'),
'points' => TRANSLATE_COMMA($ref_points)
);
@@ -1234,7 +1260,7 @@ function ADD_POINTS_REFSYSTEM ($subject, $uid, $points, $send_notify=false, $rid
$msg = LOAD_EMAIL_TEMPLATE("add-points", $content, $uid);
// And sent it away
- SEND_EMAIL($email, SUBJECT_DIRECT_PAYMENT, $msg);
+ SEND_EMAIL($email, getMessage('SUBJECT_DIRECT_PAYMENT'), $msg);
if (!REQUEST_ISSET_GET(('mid'))) LOAD_TEMPLATE("admin_settings_saved", false, getMessage('ADMIN_POINTS_ADDED'));
}
@@ -1301,13 +1327,14 @@ function UPDATE_REF_COUNTER ($uid) {
} // END - if
}
-// OBSOLETE: Sends out mail to all administrators
+// 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) {
// Load all admin email addresses
$result = SQL_QUERY("SELECT email FROM `{!_MYSQL_PREFIX!}_admins` ORDER BY `id` ASC", __FUNCTION__, __LINE__);
- while (list($email) = SQL_FETCHROW($result)) {
+ while ($content = SQL_FETCHARRAY($result)) {
// Send the email out
- SEND_EMAIL($email, $subj, $msg);
+ SEND_EMAIL($content['email'], $subj, $msg);
} // END - if
// Free result
@@ -1475,7 +1502,7 @@ function ADD_OPTION_LINES ($table, $id, $name, $default="", $special="", $where=
$ret = "";
if ($table == "/ARRAY/") {
// Selection from array
- if (is_array($id) && is_array($name) && sizeof($id) == sizeof($name)) {
+ if (is_array($id) && is_array($name) && count($id) == count($name)) {
// Both are arrays
foreach ($id as $idx => $value) {
$ret .= "\n";
+ $ret = "\n";
}
}
// Return - hopefully - the requested data
return $ret;
}
-// Activate exchange (DEPERECATED???)
-function activateExchange() {
+// 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");
@@ -1798,21 +1832,24 @@ function ADD_CATEGORY_OPTIONS ($mode) {
$result = SQL_QUERY("SELECT id, cat FROM `{!_MYSQL_PREFIX!}_cats`".$whereStatement." ORDER BY `sort`", __FUNCTION__, __LINE__);
if (SQL_NUMROWS($result) > 0) {
// ... and begin loading stuff
- while (list($id, $cat) = SQL_FETCHROW($result)) {
+ while ($content = SQL_FETCHARRAY($result)) {
// Transfer some data
- $CATS['id'][] = $id;
- $CATS['name'][] = $cat;
+ $CATS['id'][] = $content['id'];
+ $CATS['name'][] = $content['cat'];
// Check which users are in this category
$result_uids = SQL_QUERY_ESC("SELECT userid FROM `{!_MYSQL_PREFIX!}_user_cats` WHERE cat_id=%s",
- array(bigintval($id)), __FUNCTION__, __LINE__);
+ array(bigintval($content['id'])), __FUNCTION__, __LINE__);
// Start adding all
$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__);
+ array(bigintval($ucat)), __FUNCTION__, __LINE__);
+
+ // Add user count
$uid_cnt += SQL_NUMROWS($result_ver);
// Free memory
@@ -1824,7 +1861,7 @@ WHERE userid=%s AND `status`='CONFIRMED' AND receive_mails > 0".PREPARE_SQL_HTML
// Add counter
$CATS['uids'][] = $uid_cnt;
- }
+ } // END - while
// Free memory
SQL_FREERESULT($result);
@@ -1833,8 +1870,8 @@ WHERE userid=%s AND `status`='CONFIRMED' AND receive_mails > 0".PREPARE_SQL_HTML
$OUT = "";
foreach ($CATS['id'] as $key => $value) {
if (strlen($CATS['name'][$key]) > 20) $CATS['name'][$key] = substr($CATS['name'][$key], 0, 17)."...";
- $OUT .= " \n";
- }
+ $OUT .= " \n";
+ } // END - foreach
} else {
// No cateogries are defined yet
$OUT = "\n";
@@ -1913,6 +1950,7 @@ function GENERATE_RECEIVER_LIST ($cat, $receiver, $mode="") {
$CAT_TABS = "%s";
$CAT_WHERE = "";
$receiverList = "";
+ $result = false;
// Secure data
$cat = bigintval($cat);
@@ -1940,19 +1978,19 @@ function GENERATE_RECEIVER_LIST ($cat, $receiver, $mode="") {
if ((EXT_IS_ACTIVE("html_mail")) && ($mode == "html")) {
// Only include HTML receivers
$result = SQL_QUERY_ESC("SELECT d.userid FROM `{!_MYSQL_PREFIX!}_user_data` AS d ".$CAT_TABS." WHERE d.`status`='CONFIRMED' AND d.html='Y'".$CAT_WHERE." ORDER BY d.%s %s LIMIT %s",
- array($cat, getConfig('order_select'), getConfig('order_mode'), $receiver), __FUNCTION__, __LINE__);
+ array($cat, getConfig('order_select'), getConfig('order_mode'), $receiver), __FUNCTION__, __LINE__);
} else {
// Include all
$result = SQL_QUERY_ESC("SELECT d.userid FROM `{!_MYSQL_PREFIX!}_user_data` AS d ".$CAT_TABS." WHERE d.`status`='CONFIRMED'".$CAT_WHERE." ORDER BY d.%s %s LIMIT %s",
- array($cat, getConfig('order_select'), getConfig('order_mode'), $receiver), __FUNCTION__, __LINE__);
+ array($cat, getConfig('order_select'), getConfig('order_mode'), $receiver), __FUNCTION__, __LINE__);
}
// Entries found?
if ((SQL_NUMROWS($result) >= $receiver) && ($receiver > 0)) {
// Load all entries
- while (list($REC) = SQL_FETCHROW($result)) {
+ while ($content = SQL_FETCHARRAY($result)) {
// Add receiver when not empty
- if (!empty($REC)) $receiverList .= $REC.";";
+ if (!empty($content['userid'])) $receiverList .= $content['userid'].";";
} // END - while
// Free memory
@@ -1972,8 +2010,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?
@@ -2025,16 +2063,16 @@ function USER_STATS_INSERT_RECORD ($uid, $type, $data) {
function GET_USER_REF_POINTS ($uid, $level) {
//* DEBUG: */ print "----------------------- ".__FUNCTION__." - ENTRY ------------------------
\n";
// Default is no refs and no nickname
- $ADD = "";
+ $add = "";
$refs = array();
// Do we have nickname extension installed?
if (EXT_IS_ACTIVE("nickname")) {
- $ADD = ", ud.nickname";
+ $add = ", ud.nickname";
} // END - if
// Get refs from database
- $result = SQL_QUERY_ESC("SELECT ur.id, ur.refid, ud.status, ud.last_online, ud.mails_confirmed, ud.emails_received".$ADD."
+ $result = SQL_QUERY_ESC("SELECT ur.id, ur.refid, ud.status, ud.last_online, ud.mails_confirmed, ud.emails_received".$add."
FROM `{!_MYSQL_PREFIX!}_user_refs` AS ur
LEFT JOIN `{!_MYSQL_PREFIX!}_user_points` AS up
ON ur.refid=up.userid AND ur.level=0
@@ -2099,6 +2137,7 @@ function REDUCED_RECIPIENT_RECEIVED_MAILS ($column, $id, $count) {
// Are there entries?
if (SQL_NUMROWS($result) > 0) {
// Now load all userids for one big query!
+ // @TODO This can be somehow rewritten
$UIDs = array();
while (list($uid) = SQL_FETCHROW($result)) {
$UIDs[$uid] = $uid;
@@ -2140,6 +2179,7 @@ function GET_SQLS () {
// Add an SQL to the list
function ADD_SQL ($sql) {
+ //* DEBUG: */ DEBUG_LOG(__FUNCTION__, __LINE__, sprintf("sql=%s, count=%d", $sql, COUNT_SQLS()));
$GLOBALS['sqls'][] = (string) $sql;
}
@@ -2157,6 +2197,7 @@ function COUNT_SQLS () {
if (IS_SQLS_INITIALIZED()) {
// Then count it
$count = count($GLOBALS['sqls']);
+ //* DEBUG: */ DEBUG_LOG(__FUNCTION__, __LINE__, sprintf("count=%d", $count));
} // END - if
// Return it