* svn:keywords Date Revision" (autoprobset!) at least!!!!!! *
* -------------------------------------------------------------------- *
* Copyright (c) 2003 - 2009 by Roland Haeder *
+ * Copyright (c) 2009, 2010 by Mailer Developer Team *
* For more information visit: http://www.mxchange.org *
* *
* This program is free software; you can redistribute it and/or modify *
return ((isConfigEntrySet('DEBUG_MODE')) && (getConfig('DEBUG_MODE') == 'Y'));
}
+// Checks wether SQL debugging is enabled
+function isSqlDebuggingEnabled () {
+ return ((isConfigEntrySet('DEBUG_SQL')) && (getConfig('DEBUG_SQL') == 'Y'));
+}
+
// Checks wether we shall debug regular expressions
function isDebugRegExpressionEnabled () {
// Simply check it
// Send a header but checks before if we can do so
function sendHeader ($header) {
// Send the header
+ //* DEBUG: */ logDebugMessage(__FUNCTION__ . ': header=' . $header);
$GLOBALS['header'][] = trim($header);
}
debug_report_bug('Headers already sent!');
} // END - if
- // Flush all headers
- foreach ($GLOBALS['header'] as $header) {
- header($header);
- } // END - foreach
+ // Flush all headers if found
+ if ((isset($GLOBALS['header'])) && (is_array($GLOBALS['header']))) {
+ foreach ($GLOBALS['header'] as $header) {
+ header($header);
+ } // END - foreach
+ } // END - if
// Mark them as flushed
$GLOBALS['header'] = array();
// Wrapper function to redirect from member-only modules to index
function redirectToIndexMemberOnlyModule () {
// Do the redirect here
- redirectToUrl('modules.php?module=index&code=' . getCode('MODULE_MEM_ONLY') . '&mod=' . getModule());
+ redirectToUrl('modules.php?module=index&code=' . getCode('MODULE_MEM_ONLY') . '&mod=' . getModule());
+}
+
+// Wrapper function to redirect to current URL
+function redirectToRequestUri () {
+ redirectToUrl(basename(detectRequestUri()));
+}
+
+// Wrapper function to redirect to de-refered URL
+function redirectToDereferedUrl ($URL) {
+ // Redirect to to
+ redirectToUrl(generateDerefererUrl($URL));
}
// Wrapper function for checking if extension is installed and newer or same version
// Get username
function getUsername () {
- // default is guest
- $username = getMessage('USERNAME_GUEST');
-
// User name set?
- if (isset($GLOBALS['username'])) {
- // Use the set name
- $username = $GLOBALS['username'];
+ if (!isset($GLOBALS['username'])) {
+ // No, so it has to be a guest
+ $GLOBALS['username'] = getMessage('USERNAME_GUEST');
} // END - if
// Return it
- return $username;
+ return $GLOBALS['username'];
}
// Wrapper function for installation phase
return ((isExtensionActive('demo')) && (getSession('admin_login') == 'demo'));
}
-// Wrapper function to redirect to de-refered URL
-function redirectToDereferedUrl ($URL) {
- // De-refer the URL
- $URL = generateDerefererUrl($URL);
-
- // Redirect to to
- redirectToUrl($URL);
-}
-
// Getter for PHP caching value
function getPhpCaching () {
return $GLOBALS['php_caching'];
// Checks wether the admin hash is set
function isAdminHashSet ($admin) {
- if (!isset($GLOBALS['cache_array']['admin'])) debug_report_bug('Cache not set.');
+ /**
+ * @TODO Do we really need this check? If yes, try to fix this:
+ * 1.:functions.php:2504, debug_get_mailable_backtrace(0)
+ * 2.:wrapper-functions.php:744, debug_report_bug(1)
+ * 3.:mysql-manager.php:728, isAdminHashSet(1)
+ * 4.:filters.php:384, isAdmin(0)
+ * 5.:debug_get_mailable_backtrace:2457, FILTER_DETERMINE_USERNAME(1)
+ * 6.:filter-functions.php:280, call_user_func_array(2)
+ * 7.:load_cache.php:74, runFilterChain(1)
+ * 8.:inc-functions.php:131, include(1)
+ * 9.:inc-functions.php:145, loadInclude(1)
+ * 10.:mysql-connect.php:104, loadIncludeOnce(1)
+ * 11.:inc-functions.php:131, include(1)
+ * 12.:inc-functions.php:145, loadInclude(1)
+ * 13.:config-global.php:106, loadIncludeOnce(1)
+ * 14.:js.php:57, require(1)
+ */
+ if (!isset($GLOBALS['cache_array']['admin'])) {
+ debug_report_bug('Cache not set.');
+ } // END - if
+
+ // Check for admin hash
return isset($GLOBALS['cache_array']['admin']['password'][$admin]);
}
// Geter for whole user data array
function getUserDataArray () {
+ // Get user id
+ $uid = getCurrentUserId();
+
// User id should not be zero
- if (getCurrentUserId() < 1) debug_report_bug(__FUNCTION__.': User id is zero.');
+ if ($uid < 1) debug_report_bug(__FUNCTION__.': User id is zero.');
- // Get the whole array
- return $GLOBALS['user_data'][getCurrentUserId()];
+ // Get the whole array if found
+ if (isset($GLOBALS['user_data'][$uid])) {
+ // Found, so return it
+ return $GLOBALS['user_data'][$uid];
+ } else {
+ // Return empty array
+ return array();
+ }
}
// Checks if the user data is valid, this may indicate that the user has logged
// User id should not be zero so abort here
if (!isCurrentUserIdSet()) return false;
- // Is the array there and filled?
- return ((isset($GLOBALS['user_data'][getCurrentUserId()])) && (count($GLOBALS['user_data'][getCurrentUserId()]) > 1));
+ // Is it cached?
+ if (!isset($GLOBALS['is_userdata_valid'][getCurrentUserId()])) {
+ // Determine it
+ $GLOBALS['is_userdata_valid'][getCurrentUserId()] = ((isset($GLOBALS['user_data'][getCurrentUserId()])) && (count($GLOBALS['user_data'][getCurrentUserId()]) > 1));
+ } // END - if
+
+ // Return the result
+ return $GLOBALS['is_userdata_valid'][getCurrentUserId()];
}
// Setter for current userid
// Wrapper for fetchUserData() and getUserData() calls
function getFetchedUserData ($keyColumn, $userId, $valueColumn) {
- // Default is 'guest'
- $data = getMessage('USERNAME_GUEST');
-
- // Can we fetch the user data?
- if (($userId > 0) && (fetchUserData($userId, $keyColumn))) {
- // Now get the data back
- $data = getUserData($valueColumn);
+ // Is it cached?
+ if (!isset($GLOBALS['user_data_cache'][$userid][$keyColumn][$valueColumn])) {
+ // Default is 'guest'
+ $data = getMessage('USERNAME_GUEST');
+
+ // Can we fetch the user data?
+ if (($userId > 0) && (fetchUserData($userId, $keyColumn))) {
+ // Now get the data back
+ $data = getUserData($valueColumn);
+ } // END - if
+
+ // Cache it
+ $GLOBALS['user_data_cache'][$userid][$keyColumn][$valueColumn] = $data;
} // END - if
// Return it
- return $data;
+ return $GLOBALS['user_data_cache'][$userid][$keyColumn][$valueColumn];
+}
+
+// Wrapper for strpos() to ease porting from deprecated ereg() function
+function isInString ($needle, $haystack) {
+ //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'needle=' . $needle . ', haystack=' . $haystack . ', returned=' . intval(strpos($haystack, $needle) !== false));
+ return (strpos($haystack, $needle) !== false);
+}
+
+// Wrapper for strpos() to ease porting from deprecated eregi() function
+// This function is case-insensitive
+function isInStringIgnoreCase ($needle, $haystack) {
+ return (isInString(strtolower($needle), strtolower($haystack)));
+}
+
+// Wrapper to check for if fatal errors where detected
+function ifFatalErrorsDetected () {
+ // Just call the inner function
+ return (getTotalFatalErrors() > 0);
}
// [EOF]