}
// Add link into output stream (or return it) for 'You Are Here' navigation
-function addYouAreHereLink ($accessLevel, $FQFN, $return = false) {
+function addYouAreHereLink ($accessLevel, $FQFN, $return = FALSE) {
// Use only filename of the FQFN...
$file = basename($FQFN);
// Add default content
$prefix .= '<div class="you_are_here">{--YOU_ARE_HERE--} <strong><a class="you_are_here" href="{%url=modules.php?module=' . getModule() . $linkAdd . '%}">Home</a></strong>';
- } elseif ($return === false) {
+ } elseif ($return === FALSE) {
// Count depth
$GLOBALS['nav_depth']++;
}
} // END - if
// Return or output HTML code?
- if ($return === true) {
+ if ($return === TRUE) {
// Return HTML code
return $OUT;
} else {
$main_cnt = '0';
// is the menu action valid?
- if (!isMenuActionValid($mode, $action, $what, true)) {
+ if (!isMenuActionValid($mode, $action, $what, TRUE)) {
return getCode('MENU_NOT_VALID');
} // END - if
while ($content = SQL_FETCHARRAY($result_main)) {
//* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'main_cnt=' . $main_cnt . ',action=' . $content['action'] . ',getWhat()=' . getWhat());
// Disable the block-mode
- enableBlockMode(false);
+ enableBlockMode(FALSE);
// Load menu header template
- $GLOBALS['rows'] .= loadTemplate($mode . '_menu_title', true, $content);
+ $GLOBALS['rows'] .= loadTemplate($mode . '_menu_title', TRUE, $content);
// Sub menu
$result_sub = SQL_QUERY_ESC("SELECT
// Add regular menu row or bottom row?
if ($count < SQL_NUMROWS($result_sub)) {
- $GLOBALS['rows'] .= loadTemplate($mode . '_menu_row', true, $content);
+ $GLOBALS['rows'] .= loadTemplate($mode . '_menu_row', TRUE, $content);
} else {
- $GLOBALS['rows'] .= loadTemplate($mode . '_menu_bottom', true, $content);
+ $GLOBALS['rows'] .= loadTemplate($mode . '_menu_bottom', TRUE, $content);
}
} // END - while
} else {
$INC = sprintf("inc/modules/%s/action-%s.php", $mode, $content['action']);
if (isFileReadable($INC)) {
// Load include file
- if ((!isExtensionActive($content['action'])) || ($content['action'] == 'online')) $GLOBALS['rows'] .= loadTemplate('menu_what_begin', true, $mode);
+ if ((!isExtensionActive($content['action'])) || ($content['action'] == 'online')) $GLOBALS['rows'] .= loadTemplate('menu_what_begin', TRUE, $mode);
//* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'main_cnt=' . $main_cnt . ',action=' . $content['action'] . ',getWhat()=' . getWhat());
loadInclude($INC);
//* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'main_cnt=' . $main_cnt . ',action=' . $content['action'] . ',getWhat()=' . getWhat());
- if ((!isExtensionActive($content['action'])) || ($content['action'] == 'online')) $GLOBALS['rows'] .= loadTemplate('menu_what_end', true, $mode);
+ if ((!isExtensionActive($content['action'])) || ($content['action'] == 'online')) $GLOBALS['rows'] .= loadTemplate('menu_what_end', TRUE, $mode);
}
//* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'main_cnt=' . $main_cnt . ',action=' . $content['action'] . ',getWhat()=' . getWhat());
}
//* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'main_cnt=' . $main_cnt . ',getWhat()=' . getWhat());
if (SQL_NUMROWS($result_main) > $main_cnt) {
// Add separator
- $GLOBALS['rows'] .= loadTemplate('menu_separator', true, $mode);
+ $GLOBALS['rows'] .= loadTemplate('menu_separator', TRUE, $mode);
// Should we display adverts in this menu?
if ((isExtensionInstalledAndNewer('menu', '0.0.1')) && (getConfig($mode . '_menu_advert_enabled') == 'Y') && ($action != 'admin')) {
// Display advert template
- $GLOBALS['rows'] .= loadTemplate('menu_' . $mode . '_advert_' . $action, true);
+ $GLOBALS['rows'] .= loadTemplate('menu_' . $mode . '_advert_' . $action, TRUE);
// Add separator again
- $GLOBALS['rows'] .= loadTemplate('menu_separator', true, $mode);
+ $GLOBALS['rows'] .= loadTemplate('menu_separator', TRUE, $mode);
} // END - if
} // END - if
} // END - while
// Should we display adverts in this menu?
if ((isExtensionInstalledAndNewer('menu', '0.0.1')) && (getConfig($mode . '_menu_advert_enabled') == 'Y')) {
// Add separator again
- $GLOBALS['rows'] .= loadTemplate('menu_separator', true, $mode);
+ $GLOBALS['rows'] .= loadTemplate('menu_separator', TRUE, $mode);
// Display advert template
- $GLOBALS['rows'] .= loadTemplate('menu_' . $mode . '_advert_end', true);
+ $GLOBALS['rows'] .= loadTemplate('menu_' . $mode . '_advert_end', TRUE);
} // END - if
// Prepare data
// Load main template
//* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'main_cnt=' . $main_cnt . ',getWhat()=' . getWhat());
- loadTemplate('menu_table', false, $content);
+ loadTemplate('menu_table', FALSE, $content);
} // END - if
}
// Checks whether the current user is a member
function isMember () {
// By default no member
- $ret = false;
+ $ret = FALSE;
// Fix missing 'last_online' array, damn stupid code :(((
// @TODO Try to rewrite this to one or more functions
//* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'No member set in cookie/session.');
// Abort further processing
- return false;
+ return FALSE;
}
// Get userid secured from session
fixDeletedCookies(array('userid', 'u_hash'));
// Are cookies set and can the member data be loaded?
- if ((isMemberIdSet()) && (isSessionVariableSet('u_hash')) && (fetchUserData(getMemberId()) === true)) {
+ if ((isMemberIdSet()) && (isSessionVariableSet('u_hash')) && (fetchUserData(getMemberId()) === TRUE)) {
// Validate password by created the difference of it and the secret key
$valPass = encodeHashForCookie(getUserData('password'));
$GLOBALS['last_online']['online'] = getUserData('last_online');
// Account is confirmed and all cookie data is valid so he is definely logged in! :-)
- $ret = true;
+ $ret = TRUE;
} // END - if
} // END - if
// Is $ret still false?
- if ($ret === false) {
+ if ($ret === FALSE) {
// Yes, so destroy the session
destroyMemberSession();
} // END - if
// Extension ext-user must be there at any case
if (!isExtensionActive('user')) {
// Absent ext-user is really not good
- return false;
+ return FALSE;
} elseif (is_null($value)) {
// This shall never happen, so please report it
reportBug(__FUNCTION__, __LINE__, 'value=NULL,column=' . $column . ' - value can never be NULL');
} elseif (isUserDataValid()) {
// Use cache, so it is fine
//* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'value=' . $value . ' is valid, using cache #1');
- return true;
+ return TRUE;
} // END - if
} elseif (isUserDataValid()) {
// Using cache is fine
//* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'value=' . $value . ' is valid, using cache #2');
- return true;
+ return TRUE;
}
// By default none was found
- $found = false;
+ $found = FALSE;
// Extra SQL statements
$ADD = runFilterChain('convert_user_data_columns', ' ');
function isAdmin () {
// No admin in installation phase!
if ((isInstallationPhase()) || (!isAdminRegistered())) {
- return false;
+ return FALSE;
} // END - if
// Init variables
- $ret = false;
+ $ret = FALSE;
$adminId = '0';
$passwordFromCookie = '';
$valPass = '';
//* NOISY-DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Current adminId is zero. isSessionVariableSet(admin_id)=' . intval(isSessionVariableSet('admin_id')) . ',isSessionVariableSet(admin_md5)=' . intval(isSessionVariableSet('admin_md5')));
// Abort here now
- return false;
+ return FALSE;
} // END - if
// Is there cache?
if (!isset($GLOBALS[__FUNCTION__][$adminId])) {
// Init it with failed
- $GLOBALS[__FUNCTION__][$adminId] = false;
+ $GLOBALS[__FUNCTION__][$adminId] = FALSE;
// Search in array for entry
if (isset($GLOBALS['admin_hash'])) {
// Use cached string
$valPass = $GLOBALS['admin_hash'];
- } elseif ((!empty($passwordFromCookie)) && (isAdminHashSet($adminId) === true) && (!empty($adminId))) {
+ } elseif ((!empty($passwordFromCookie)) && (isAdminHashSet($adminId) === TRUE) && (!empty($adminId))) {
// Login data is valid or not?
$valPass = encodeHashForCookie(getAdminHash($adminId));
// Count cache hits
incrementStatsEntry('cache_hits');
- } elseif ((!empty($adminId)) && ((!isExtensionActive('cache')) || (isAdminHashSet($adminId) === false))) {
+ } elseif ((!empty($adminId)) && ((!isExtensionActive('cache')) || (isAdminHashSet($adminId) === FALSE))) {
// Get admin hash and hash it
$valPass = encodeHashForCookie(getAdminHash($adminId));
// Generates a list of "max receiveable emails per day"
function addMaxReceiveList ($mode, $default = '') {
$OUT = '';
- $result = false;
+ $result = FALSE;
switch ($mode) {
case 'guest':
}
// Load template
- $OUT = loadTemplate(($mode . '_receive_table'), true, $OUT);
+ $OUT = loadTemplate(($mode . '_receive_table'), TRUE, $OUT);
} else {
// Maybe the admin has to setup some maximum values?
reportBug(__FUNCTION__, __LINE__, 'Nothing is being done here?');
}
// Validate the given menu action
-function isMenuActionValid ($mode, $action, $what, $updateEntry = false) {
+function isMenuActionValid ($mode, $action, $what, $updateEntry = FALSE) {
// Is the cache entry there and we shall not update?
- if ((isset($GLOBALS['action_valid'][$mode][$action][$what])) && ($updateEntry === false)) {
+ if ((isset($GLOBALS['action_valid'][$mode][$action][$what])) && ($updateEntry === FALSE)) {
// Count cache hit
incrementStatsEntry('cache_hits');
} // END - if
// By default nothing is valid
- $ret = false;
+ $ret = FALSE;
// Look in all menus or only unlocked
$add = '';
if ((!isAdmin()) && ($mode != 'admin')) $add = " AND `locked`='N'";
//* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'mode=' . $mode . ',action=' . $action . ',what=' . $what);
- if (($mode != 'admin') && ($updateEntry === true)) {
+ if (($mode != 'admin') && ($updateEntry === 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,
$action,
$what
- ), __FUNCTION__, __LINE__, false);
+ ), __FUNCTION__, __LINE__, FALSE);
} elseif (($what != 'welcome') && (!empty($what))) {
// 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",
$mode,
$action,
$what
- ), __FUNCTION__, __LINE__, false);
+ ), __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,
$action
- ), __FUNCTION__, __LINE__, false);
+ ), __FUNCTION__, __LINE__, FALSE);
}
// Run SQL command
$result = SQL_QUERY($sql, __FUNCTION__, __LINE__);
// Should we look for affected rows (only update) or found rows?
- if ($updateEntry === true) {
+ if ($updateEntry === TRUE) {
// Check updated/affected rows
$ret = (!SQL_HASZEROAFFECTED());
} else {
$data['action'] = '';
if (!isExtensionInstalledAndNewer('sql_patches', '0.0.5')) {
- // sql_patches is missing so choose depending on mode
+ // ext-sql_patches is missing so choose depending on mode
$what = determineWhat($module);
} elseif ((empty($what)) && ($module != 'admin')) {
// Use configured 'home'
// Free memory
SQL_FREERESULT($result);
} elseif ((!isExtensionInstalled('sql_patches')) && ($module != 'admin') && ($module != 'unknown')) {
- // No sql_patches installed, but maybe we need to register an admin?
+ // No ext-sql_patches installed, but maybe we need to register an admin?
if (isAdminRegistered()) {
// Redirect to admin area
redirectToUrl('admin.php');
}
// Get a string of "mail title" and price back
-function getPaymentTitlePrice ($paymentsId, $full = false) {
+function getPaymentTitlePrice ($paymentsId, $full = FALSE) {
// Only title or also including price?
- if ($full === false) {
+ if ($full === FALSE) {
$ret = getPaymentData($paymentsId, 'main_title');
} else {
$ret = getPaymentData($paymentsId, 'main_title') . ' / {%pipe,getPaymentData,translateComma=' . $paymentsId . '%} {?POINTS?}';
}
// Remove a receiver's id from $receivers and add a link for him to confirm
-function removeReceiver (&$receivers, $key, $userid, $poolId, $statsId = 0, $isBonusMail = false) {
+function removeReceiver (&$receivers, $key, $userid, $poolId, $statsId = 0, $isBonusMail = FALSE) {
// Default is not removed
$ret = 'failed';
$rowName = 'stats_id';
// Only when we got a real stats id continue searching for the entry
- if ($isBonusMail === true) {
+ if ($isBonusMail === TRUE) {
$type = 'BONUS';
$rowName = 'bonus_id';
} // END - if
$type
), __FUNCTION__, __LINE__);
- // Update 'mails_sent' if sql_patches is updated
+ // Update 'mails_sent' if ext-sql_patches is updated
if (isExtensionInstalledAndNewer('sql_patches', '0.7.4')) {
// Update the pool
SQL_QUERY_ESC('UPDATE `{?_MYSQL_PREFIX?}_pool` SET `mails_sent`=`mails_sent`+1 WHERE `id`=%s LIMIT 1',
}
// Calculate sum (default) or count records of given criteria
-function countSumTotalData ($search, $tableName, $lookFor = 'id', $whereStatement = 'userid', $countRows = false, $add = '', $mode = '=') {
- // Init count/sum
- $data['res'] = '0';
-
+function countSumTotalData ($search, $tableName, $lookFor = 'id', $whereStatement = 'userid', $countRows = FALSE, $add = '', $mode = '=') {
+ // Debug message
//* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'search=' . $search . ',tableName=' . $tableName . ',lookFor=' . $lookFor . ',whereStatement=' . $whereStatement . ',add=' . $add);
if ((empty($search)) && ($search != '0')) {
// Count or sum whole table?
- if ($countRows === true) {
+ if ($countRows === TRUE) {
// Count whole table
+ //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'COUNT!');
$result = SQL_QUERY_ESC('SELECT COUNT(`%s`) AS `res` FROM `{?_MYSQL_PREFIX?}_%s`' . $add . ' LIMIT 1',
array(
$lookFor,
), __FUNCTION__, __LINE__);
} else {
// Sum whole table
+ //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'SUM!');
$result = SQL_QUERY_ESC('SELECT SUM(`%s`) AS `res` FROM `{?_MYSQL_PREFIX?}_%s`' . $add . ' LIMIT 1',
array(
$lookFor,
$tableName
), __FUNCTION__, __LINE__);
}
- } elseif (($countRows === true) || ($lookFor == 'userid')) {
+ } elseif (($countRows === TRUE) || ($lookFor == 'userid')) {
// Count rows
//* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'COUNT!');
$result = SQL_QUERY_ESC("SELECT COUNT(`%s`) AS `res` FROM `{?_MYSQL_PREFIX?}_%s` WHERE `%s`%s'%s'" . $add . ' LIMIT 1',
* Sends out mail to all administrators. This function is no longer obsolete
* because we need it when there is no ext-admins installed
*/
-function sendAdminEmails ($subject, $message, $isBugReport = false) {
+function sendAdminEmails ($subject, $message, $isBugReport = FALSE) {
// Default is no special header
$mailHeader = '';
// Is it a bug report?
- if ($isBugReport === true) {
+ if ($isBugReport === TRUE) {
// Then add a reply-to line back to the author (me)
$mailHeader = 'Reply-To: webmaster@mxchange.org' . chr(10);
} // END - if
// By default an invalid ACL value is returned
$data['default_acl'] = 'NO-ACL';
- // Is sql_patches there and was it found in cache?
+ // Is ext-sql_patches there and was it found in cache?
if (!isExtensionActive('sql_patches')) {
// Not found, which is bad, so we need to allow all
$data['default_acl'] = 'allow';
// By default an invalid mode
$data['la_mode'] = 'INVALID';
- // Is sql_patches there and was it found in cache?
+ // Is ext-sql_patches there and was it found in cache?
if (!isExtensionActive('sql_patches')) {
// Not found, which is bad, so we need to allow all
$data['la_mode'] = 'global';
$result = SQL_QUERY_ESC("SELECT
(SUM(p.`points`) - d.`used_points`) AS `points`
FROM
- `{?_MYSQL_PREFIX?}_user_points` AS p
+ `{?_MYSQL_PREFIX?}_user_points` AS `p`
LEFT JOIN
- `{?_MYSQL_PREFIX?}_user_data` AS d
+ `{?_MYSQL_PREFIX?}_user_data` AS `d`
ON
p.`userid`=d.`userid`
WHERE
// Start adding all
while ($data = SQL_FETCHARRAY($result_userids)) {
// Add user count
- $userid_cnt += countSumTotalData($data['userid'], 'user_data', 'userid', 'userid', true, runFilterChain('user_exclusion_sql', " AND `status`='CONFIRMED' AND `receive_mails` > 0"));
+ $userid_cnt += countSumTotalData($data['userid'], 'user_data', 'userid', 'userid', TRUE, runFilterChain('user_exclusion_sql', " AND `status`='CONFIRMED' AND `receive_mails` > 0"));
} // END - while
// Free memory
// Is admin or bonus extension there?
if (!isAdmin()) {
// Abort here
- return false;
+ return FALSE;
} elseif (!isExtensionActive('bonus')) {
// Abort here
- return false;
+ return FALSE;
}
// Calculcate target sent
`html_msg`
) VALUES (
'%s',
- %s',
+ '%s',
'%s',
%s,
%s,
// Init variables
$extraColumns = '';
$receiverList = '';
- $result = false;
+ $result = FALSE;
// Secure data
$categoryId = bigintval($categoryId);
// @TODO Rewrite this to a filter
if ((isset($data['stats_id'])) && ($data['stats_id'] > 0)) {
// User email
- $num = countSumTotalData($data['userid'], 'user_stats_data', 'id', 'userid', true, sprintf(" AND `stats_type`='mailid' AND `stats_data`=%s", bigintval($data['stats_id'])));
+ $num = countSumTotalData($data['userid'], 'user_stats_data', 'id', 'userid', TRUE, sprintf(" AND `stats_type`='mailid' AND `stats_data`=%s", bigintval($data['stats_id'])));
} elseif ((isset($data['bonus_id'])) && ($data['bonus_id'] > 0)) {
// Bonus mail
- $num = countSumTotalData($data['userid'], 'user_stats_data', 'id', 'userid', true, sprintf(" AND `stats_type`='bonusid' AND `stats_data`=%s", bigintval($data['bonus_id'])));
+ $num = countSumTotalData($data['userid'], 'user_stats_data', 'id', 'userid', TRUE, sprintf(" AND `stats_type`='bonusid' AND `stats_data`=%s", bigintval($data['bonus_id'])));
}
// Reduce this users total received emails?
if (count($userids) > 0) {
// 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(',', $userids), count($userids)), __FUNCTION__, __LINE__);
+ array(
+ implode(',', $userids),
+ count($userids)
+ ), __FUNCTION__, __LINE__);
} else {
// Nothing deleted
displayMessage('{%message,ADMIN_MAIL_NOTHING_DELETED=' . $id . '%}');
}
// Creates a new task
-function createNewTask ($subject, $notes, $taskType, $userid = NULL, $adminId = NULL, $strip = true) {
+function createNewTask ($subject, $notes, $taskType, $userid = NULL, $adminId = NULL, $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())",
+ 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(
convertZeroToNull($adminId),
convertZeroToNull($userid),
$taskType,
$subject,
$notes
- ), __FUNCTION__, __LINE__, true, $strip);
+ ), __FUNCTION__, __LINE__, TRUE, $strip);
// Return insert id which is the task id
return SQL_INSERTID();
}
// Updates last module / online time
-function updateLastActivity($userid) {
+function updateLastActivity ($userid) {
// Is 'what' set?
if (isWhatSet()) {
// Run the update query
SQL_QUERY_ESC("UPDATE
`{?_MYSQL_PREFIX?}_user_data`
SET
- `%s`='%s',
+ `{%%pipe,getUserLastWhatName%%}`='{%%pipe,getWhat%%}',
`last_online`=UNIX_TIMESTAMP(),
- `REMOTE_ADDR`='%s'
+ `REMOTE_ADDR`='{%%pipe,detectRemoteAddr%%}'
WHERE
`userid`=%s
LIMIT 1",
array(
- getUserLastWhatName(),
- getWhat(),
- detectRemoteAddr(),
bigintval($userid)
), __FUNCTION__, __LINE__);
} else {
SQL_QUERY_ESC("UPDATE
`{?_MYSQL_PREFIX?}_user_data`
SET
- `%s`=NULL,
+ `{%%pipe,getUserLastWhatName%%}`=NULL,
`last_online`=UNIX_TIMESTAMP(),
- `REMOTE_ADDR`='%s'
+ `REMOTE_ADDR`='{%%pipe,detectRemoteAddr%%}'
WHERE
`userid`=%s
LIMIT 1",
array(
- getUserLastWhatName(),
- detectRemoteAddr(),
bigintval($userid)
), __FUNCTION__, __LINE__);
}
foreach ($orderByColumns as $orderByColumn => $array) {
// Get keys (table/alias) and values (sorting itself)
$table = trim(implode('', array_keys($array)));
- $sorting = trim(implode('', array_keys($array)));
+ $sorting = trim(implode('', array_values($array)));
// table/alias can be omitted
if (!empty($table)) {
} // END - if
// Call the callback-function
- //* NOISY-DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'callbackFunction=' . $callbackName . ',args=<pre>'.print_r($args, true).'</pre>');
+ //* NOISY-DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'callbackFunction=' . $callbackName . ',args=<pre>'.print_r($args, TRUE).'</pre>');
// @TODO If we can rewrite the EL sub-system to support more than one parameter, this call_user_func_array() can be avoided
$content[$columnName] = call_user_func_array($callbackName, $args);
} // END - foreach
// Load row template
- $OUT .= loadTemplate(trim($rowTemplate[0]), true, $content);
+ $OUT .= loadTemplate(trim($rowTemplate[0]), TRUE, $content);
} // END - while
// Load main template
- loadTemplate(trim($tableTemplate[0]), false, $OUT);
+ loadTemplate(trim($tableTemplate[0]), FALSE, $OUT);
} else {
// No URLs in surfbar
displayMessage('{--' .$noEntryMessageId[0] . '--}');
// Adds a given entry to the database
function doGenericAddEntries ($tableName, $columns = array(), $filterFunctions = array(), $extraValues = array(), $timeColumns = array(), $columnIndex = NULL) {
- //* DEBUG: */ die('columns=<pre>'.print_r($columns,true).'</pre>,filterFunctions=<pre>'.print_r($filterFunctions,true).'</pre>,extraValues=<pre>'.print_r($extraValues,true).'</pre>,POST=<pre>'.print_r($_POST,true).'</pre>');
+ //* DEBUG: */ die(__FUNCTION__.':columns=<pre>'.print_r($columns,TRUE).'</pre>,filterFunctions=<pre>'.print_r($filterFunctions,TRUE).'</pre>,extraValues=<pre>'.print_r($extraValues,TRUE).'</pre>,timeColumns=<pre>'.print_r($timeColumns,TRUE).'</pre>,columnIndex=<pre>'.print_r($columnIndex,TRUE).'</pre>,POST=<pre>'.print_r($_POST,TRUE).'</pre>');
// Verify that tableName and columns are not empty
if ((!is_array($tableName)) || (count($tableName) != 1)) {
// No tableName specified
$sqlValues = array();
// Default is that all went fine
- $GLOBALS['__XML_PARSE_RESULT'] = true;
+ $GLOBALS['__XML_PARSE_RESULT'] = TRUE;
// Is there "time columns"?
if (count($timeColumns) > 0) {
// Is columnIndex set?
if (!is_null($columnIndex)) {
// Check conditions
- //* DEBUG: */ die('columnIndex=<pre>'.print_r($columnIndex,true).'</pre>'.debug_get_printable_backtrace());
+ //* DEBUG: */ die('columnIndex=<pre>'.print_r($columnIndex,TRUE).'</pre>'.debug_get_printable_backtrace());
assert((is_array($columnName)) && (is_string($columnIndex)) && (isset($columnName[$columnIndex])));
// Then use that index "blindly"
} // END - if
// Debug message
- //* NOISY-DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'key=' . $key . ',columnName[' . gettype($columnName) . ']=' . $columnName . ',filterFunctions=' . $filterFunctions[$key] . ',extraValues=' . intval(isset($extraValues[$key])) . ',extraValuesName=' . intval(isset($extraValues[$columnName . '_list'])) . '<br />');
+ //* NOISY-DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'key=' . $key . ',columnName[' . gettype($columnName) . ']=' . $columnName . ',filterFunctions=' . $filterFunctions[$key] . ',extraValues=' . intval(isset($extraValues[$key])) . ',extraValuesName=' . intval(isset($extraValues[$columnName . '_list'])));
// Copy entry securely to the final arrays
$sqlColumns[$key] = SQL_ESCAPE($columnName);
$sqlValues[$key] = SQL_ESCAPE(postRequestElement($columnName));
- // Send data through the filter function if found
- if ((isset($filterFunctions[$key])) && (isset($extraValues[$key . '_list']))) {
- // Filter function set!
- //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'sqlValues[' . $key . '][' . gettype($sqlValues[$key]) . ']=' . $sqlValues[$key] . ' - BEFORE!');
- $sqlValues[$key] = call_user_func_array($filterFunctions[$key], merge_array(array($columnName), $extraValues[$key . '_list']));
- //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'sqlValues[' . $key . '][' . gettype($sqlValues[$key]) . ']=' . $sqlValues[$key] . ' - AFTER!');
- } elseif ((isset($filterFunctions[$key])) && (!empty($filterFunctions[$key]))) {
- // Run through an extra filter
- //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'sqlValues[' . $key . '][' . gettype($sqlValues[$key]) . ']=' . $sqlValues[$key] . ' - BEFORE!');
- $sqlValues[$key] = handleExtraValues($filterFunctions[$key], $sqlValues[$key], '');
- //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'sqlValues[' . $key . '][' . gettype($sqlValues[$key]) . ']=' . $sqlValues[$key] . ' - AFTER!');
- }
+ // Try to handle call-back functions and/or extra values on the list
+ $sqlValues[$key] = doHandleExtraValues($filterFunctions, $extraValues, $key . '_list', $sqlValues[$key], $userIdColumn, key(search_array($columns, 'column', $key)));
// Is the value not a number?
//* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'sqlValues[' . $key . '][' . gettype($sqlValues[$key]) . ']=' . $sqlValues[$key]);
} // END - if
// Is the value false?
- if ($sqlValues[$key] === false) {
+ if ($sqlValues[$key] === FALSE) {
// One "parser" didn't like it
- $GLOBALS['__XML_PARSE_RESULT'] = false;
+ $GLOBALS['__XML_PARSE_RESULT'] = FALSE;
break;
} // END - if
} // END - foreach
// If all values are okay, continue
- if ($sqlValues[$key] !== false) {
+ if ($sqlValues[$key] !== FALSE) {
// Build the SQL query
$sql = 'INSERT INTO `{?_MYSQL_PREFIX?}_' . $tableName[0] . '` (`' . implode('`, `', $sqlColumns) . "`) VALUES (" . implode(',', $sqlValues) . ')';
// Run the SQL query
SQL_QUERY($sql, __FUNCTION__, __LINE__);
- // Add id
+ // Add id number
setPostRequestElement('id', SQL_INSERTID());
// Prepare filter data array
}
// Edit rows by given id numbers
-function doGenericEditEntriesConfirm ($tableName, $columns = array(), $filterFunctions = array(), $extraValues = array(), $timeColumns = array(), $editNow = array(false), $idColumn = array('id'), $userIdColumn = array('userid'), $rawUserId = array('userid'), $cacheFiles = array()) {
+function doGenericEditEntriesConfirm ($tableName, $columns = array(), $filterFunctions = array(), $extraValues = array(), $timeColumns = array(), $editNow = array(FALSE), $idColumn = array('id'), $userIdColumn = array('userid'), $rawUserId = array('userid'), $cacheFiles = array(), $subject = '') {
+ // Is there "time columns"?
+ if (count($timeColumns) > 0) {
+ // Then "walk" through all entries
+ foreach ($timeColumns as $column) {
+ // Convert all (possible) selections
+ convertSelectionsToEpocheTimeInPostData($column . '_ye');
+ } // END - foreach
+ } // END - if
+
// Change them all
$affected = '0';
foreach (postRequestElement($idColumn[0]) as $id => $sel) {
+ // Secure id number
+ $id = bigintval($id);
+
// Prepare content array (new values)
$content = array();
// "Walk" through all entries
foreach (postRequestArray() as $key => $entries) {
// Skip raw userid which is always invalid
- if ($key == $rawUserId[0]) {
+ if (($key == $rawUserId[0]) || ($key == 'do_edit')) {
// Continue with next field
//* NOISY-DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'key=' . $key . ',idColumn[0]=' . $idColumn[0] . ',rawUserId=' . $rawUserId[0]);
continue;
} // END - if
// Debug message
- //* NOISY-DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'key=' . $key . ',idColumn[0]=' . $idColumn[0] . ',entries=<pre>'.print_r($entries,true).'</pre>');
+ /* NOISY-DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'key=' . $key . ',id=' . $id . ',idColumn[0]=' . $idColumn[0] . ',entries=<pre>'.print_r($entries,TRUE).'</pre>');
// Is entries an array?
if (($key != $idColumn[0]) && (is_array($entries)) && (isset($entries[$id]))) {
+ // Search for the right array index
+ $search = key(search_array($columns, 'column', $key));
+
// Add this entry to content
$content[$key] = $entries[$id];
- // Send data through the filter function if found
- if ($key == $userIdColumn[0]) {
- // Is the userid, we have to process it with convertZeroToNull()
- $entries[$id] = convertZeroToNull($entries[$id]);
- } elseif ((isset($filterFunctions[$key])) && (isset($extraValues[$key]))) {
- // Filter function set!
- $entries[$id] = handleExtraValues($filterFunctions[$key], $entries[$id], $extraValues[$key]);
- }
+ // Debug message
+ //* BUG: */ die($key.'/'.$id.'/'.$search.'=<pre>'.print_r($columns,TRUE).'</pre><pre>'.print_r($filterFunctions,TRUE).'</pre>');
- // Is the value NULL?
- if ($entries[$id] == 'NULL') {
- // Add it directly
- $sql .= sprintf(' `%s`=NULL,',
- SQL_ESCAPE($key)
- );
- } else {
- // Else add the value covered
- $sql .= sprintf(" `%s`='%s',",
- SQL_ESCAPE($key),
- SQL_ESCAPE($entries[$id])
- );
- }
+ // Handle possible call-back functions and/or extra values
+ $entries[$id] = doHandleExtraValues($filterFunctions, $extraValues, $key, $entries[$id], $userIdColumn, $search);
+
+ // Add key/value pair to SQL string
+ $sql .= addKeyValueSql($key, $entries[$id]);
} elseif (($key != $idColumn[0]) && (!is_array($entries))) {
- // Add normal entries as well!
- $content[$key] = $entries;
+ // Search for it
+ $search = key(search_array($columns, 'column', $key));
+ //* BUG: */ die($key.'/<pre>'.print_r($search, TRUE).'</pre>=<pre>'.print_r($columns, TRUE).'</pre>');
+
+ // Debug message
+ /* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'key=' . $key . ',entries[' . gettype($entries) . ']=' . $entries . ',search=' . $search . ' - BEFORE!');
+
+ // Add normal entries as well
+ $content[$key] = $entries;
+
+ // Handle possible call-back functions and/or extra values
+ $entries = doHandleExtraValues($filterFunctions, $extraValues, $key, $entries, $userIdColumn, $search);
+
+ // Debug message
+ /* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'key=' . $key . ',entries[' . gettype($entries) . ']=' . $entries . ',search=' . $search . ' - AFTER!');
+
+ // Add key/value pair to SQL string
+ $sql .= addKeyValueSql($key, $entries);
}
} // END - foreach
$sql .= " LIMIT 1";
// Run this query
+ //* BUG: */ die($sql.'<pre>'.print_r(postRequestArray(), TRUE).'</pre>');
SQL_QUERY($sql, __FUNCTION__, __LINE__);
// Add affected rows
'table_name' => $tableName,
'content' => $content,
'id' => $id,
- 'subject' => '',
+ 'subject' => $subject,
'userid_column' => $userIdColumn,
'raw_userid' => $rawUserId,
'affected' => $edited,
}
// Delete rows by given id numbers
-function doGenericDeleteEntriesConfirm ($tableName, $columns = array(), $filterFunctions = array(), $extraValues = array(), $deleteNow = array(false), $idColumn = array('id'), $userIdColumn = array('userid'), $rawUserId = array('userid'), $cacheFiles = array()) {
+function doGenericDeleteEntriesConfirm ($tableName, $columns = array(), $filterFunctions = array(), $extraValues = array(), $deleteNow = array(FALSE), $idColumn = array('id'), $userIdColumn = array('userid'), $rawUserId = array('userid'), $cacheFiles = array()) {
// The base SQL command:
$sql = "DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_%s` WHERE `%s` IN (%s)";
// Is a user id provided?
- //* BUG: */ die('<pre>'.print_r($rawUserId,true).'</pre><pre>'.print_r($userIdColumn,true).'</pre>');
+ //* BUG: */ die('<pre>'.print_r($rawUserId,TRUE).'</pre><pre>'.print_r($userIdColumn,TRUE).'</pre>');
if ((isset($rawUserId[0])) && (isPostRequestElementSet($rawUserId[0])) && (isset($userIdColumn[0]))) {
// Add user id as well
$sql .= ' AND `' . $userIdColumn[0] . '`=' . bigintval(postRequestElement($rawUserId[0]));
} // END - if
// Delete them all
- //* BUG: */ die($sql.'<br /><pre>'.print_r($tableName,true).'</pre><pre>'.print_r($columns,true).'</pre><pre>'.print_r($filterFunctions,true).'</pre><pre>'.print_r($extraValues,true).'</pre><pre>'.print_r($deleteNow,true).'</pre><pre>'.print_r($idColumn,true).'</pre>');
+ //* BUG: */ die($sql.'<pre>'.print_r($tableName,TRUE).'</pre><pre>'.print_r($columns,TRUE).'</pre><pre>'.print_r($filterFunctions,TRUE).'</pre><pre>'.print_r($extraValues,TRUE).'</pre><pre>'.print_r($deleteNow,TRUE).'</pre><pre>'.print_r($idColumn,TRUE).'</pre>');
$idList = '';
foreach (postRequestElement($idColumn[0]) as $id => $sel) {
// Is id zero?
$OUT = '';
// "Walk" through all entries
- //* DEBUG: */ reportBug(__FUNCTION__, __LINE__, 'listType=<pre>'.print_r($listType,true).'</pre>,tableName<pre>'.print_r($tableName,true).'</pre>,columns=<pre>'.print_r($columns,true).'</pre>,filterFunctions=<pre>'.print_r($filterFunctions,true).'</pre>,extraValues=<pre>'.print_r($extraValues,true).'</pre>,idColumn=<pre>'.print_r($idColumn,true).'</pre>,userIdColumn=<pre>'.print_r($userIdColumn,true).'</pre>,rawUserId=<pre>'.print_r($rawUserId,true).'</pre>');
+ //* DEBUG: */ reportBug(__FUNCTION__, __LINE__, 'listType=<pre>'.print_r($listType,TRUE).'</pre>,tableName<pre>'.print_r($tableName,TRUE).'</pre>,columns=<pre>'.print_r($columns,TRUE).'</pre>,filterFunctions=<pre>'.print_r($filterFunctions,TRUE).'</pre>,extraValues=<pre>'.print_r($extraValues,TRUE).'</pre>,idColumn=<pre>'.print_r($idColumn,TRUE).'</pre>,userIdColumn=<pre>'.print_r($userIdColumn,TRUE).'</pre>,rawUserId=<pre>'.print_r($rawUserId,TRUE).'</pre>');
foreach (postRequestElement($idColumn[0]) as $id => $selected) {
// Secure id number
$id = bigintval($id);
$idx = searchXmlArray($key, $columns, 'column');
// Skip any missing entries
- if ($idx === false) {
+ if ($idx === FALSE) {
// Skip this one
//* DEBUG: */ reportBug(__FUNCTION__, __LINE__, 'key=' . $key . ' - SKIPPED!');
continue;
$GLOBALS[$prefix . '_list_builder_id_value'] = bigintval($value);
} // END - if
- // Is there a call-back function and extra-value pair?
- if ((isset($filterFunctions[$idx])) && (isset($extraValues[$idx]))) {
- // Handle the call in external function
- //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'key=' . $key . ',fucntion=' . $filterFunctions[$idx] . ',value=' . $value);
- $content[$key] = handleExtraValues(
- $filterFunctions[$idx],
- $value,
- $extraValues[$idx]
- );
- } elseif ((isset($columns[$idx]['name'])) && (isset($filterFunctions[$columns[$idx]['name']])) && (isset($extraValues[$columns[$idx]['name']]))) {
- // Handle the call in external function
- //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'key=' . $key . ',fucntion=' . $filterFunctions[$columns[$idx]['name']] . ',value=' . $value);
- $content[$key] = handleExtraValues(
- $filterFunctions[$columns[$idx]['name']],
- $value,
- $extraValues[$columns[$idx]['name']]
- );
- }
+ // Try to handle call-back functions and/or extra values
+ $content[$key] = doHandleExtraValues($filterFunctions, $extraValues, $idx, $content[$key], $userIdColumn, $idx);
} // END - foreach
// Then list it
$prefix,
$listType,
$tableName[0]
- ), true, $content
+ ), TRUE, $content
);
} // END - if
$prefix,
$listType,
$tableName[0]
- ), false, $OUT
+ ), FALSE, $OUT
);
}
// Checks whether given URL is blacklisted
function isUrlBlacklisted ($url) {
// Mark it as not listed by default
- $listed = false;
+ $listed = FALSE;
// Is black-listing enbaled?
if (!isUrlBlacklistEnabled()) {
// No, then all URLs are not in this list
- return false;
+ return FALSE;
} elseif (!isset($GLOBALS['blacklist_data'][$url])) {
// Check black-list for given URL
$result = SQL_QUERY_ESC("SELECT UNIX_TIMESTAMP(`timestamp`) AS `blist_timestamp` FROM `{?_MYSQL_PREFIX?}_url_blacklist` WHERE `url`='%s' LIMIT 1",
$GLOBALS['blacklist_data'][$url] = SQL_FETCHARRAY($result);
// Mark it as listed
- $listed = true;
+ $listed = TRUE;
} // END - if
// Free result
SQL_FREERESULT($result);
} else {
// Is found in cache -> black-listed
- $listed = true;
+ $listed = TRUE;
}
// Return result
return $listed;
}
+// Adds key/value pair to a working SQL string together
+function addKeyValueSql ($key, $value) {
+ // Init SQL
+ $sql = '';
+
+ // Is it NULL?
+ if (($value == 'NULL') || (is_null($value))) {
+ // Add key with NULL
+ $sql .= sprintf(' `%s`=NULL,',
+ SQL_ESCAPE($key)
+ );
+ } elseif ((is_double($value)) || (is_float($value)) || (is_int($value))) {
+ // Is a number, so addd it directly
+ $sql .= sprintf(" `%s`=%s,",
+ SQL_ESCAPE($key),
+ $value
+ );
+ } else {
+ // Else add the value escape'd
+ $sql .= sprintf(" `%s`='%s',",
+ SQL_ESCAPE($key),
+ SQL_ESCAPE($value)
+ );
+ }
+
+ // Return SQL string
+ return $sql;
+}
+
// [EOF]
?>