<?php
/************************************************************************
- * MXChange v0.2.1 Start: 04/04/2009 *
- * =============== Last change: 04/04/2009 *
+ * Mailer v0.2.1-FINAL Start: 04/04/2009 *
+ * =================== Last change: 04/04/2009 *
* *
* -------------------------------------------------------------------- *
* File : wrapper-functions.php *
* 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 *
} // END - if
// Read a given file
-function readFromFile ($FQFN, $sqlPrepare = false) {
+function readFromFile ($FQFN) {
// Sanity-check if file is there (should be there, but just to make it sure)
if (!isFileReadable($FQFN)) {
// This should not happen
debug_report_bug(__FUNCTION__.': File ' . basename($FQFN) . ' is not readable!');
} // END - if
- // Load the file
- if (function_exists('file_get_contents')) {
- // Use new function
- $content = file_get_contents($FQFN);
- } else {
- // Fall-back to implode-file chain
- $content = implode('', file($FQFN));
- }
-
- // Prepare SQL queries?
- if ($sqlPrepare === true) {
- // Remove some unwanted chars
- $content = str_replace("\r", '', $content);
- $content = str_replace("\n\n", "\n", $content);
+ // Is it cached?
+ if (!isset($GLOBALS['file_content'][$FQFN])) {
+ // Load the file
+ if (function_exists('file_get_contents')) {
+ // Use new function
+ $GLOBALS['file_content'][$FQFN] = file_get_contents($FQFN);
+ } else {
+ // Fall-back to implode-file chain
+ $GLOBALS['file_content'][$FQFN] = implode('', file($FQFN));
+ }
} // END - if
// Return the content
- return $content;
+ return $GLOBALS['file_content'][$FQFN];
}
// Writes content to a file
// Mark it as readable
$GLOBALS['file_readable'][$FQFN] = true;
+ // Remember content in cache
+ $GLOBALS['file_content'][$FQFN] = $content;
+
// Return status
return changeMode($FQFN, 0644);
}
return $str;
}
-// Smartly adds slashes
-function smartAddSlashes ($unquoted) {
- // Do we have cache?
- if (!isset($GLOBALS['smart_addslashes'][$unquoted])) {
- // Remove slashe
- $unquoted = str_replace("\\", '', $unquoted);
-
- // Put it in cache and add slashes
- $GLOBALS['smart_addslashes'][$unquoted] = addslashes($unquoted);
- } // END - if
-
- // Return result
- return $GLOBALS['smart_addslashes'][$unquoted];
-}
-
// Decode entities in a nicer way
-function decodeEntities ($str) {
+function decodeEntities ($str, $quote = ENT_NOQUOTES) {
// Decode the entities to UTF-8 now
- $decodedString = html_entity_decode($str, ENT_NOQUOTES, 'UTF-8');
+ $decodedString = html_entity_decode($str, $quote, 'UTF-8');
// Return decoded string
return $decodedString;
if (!isset($GLOBALS['file_readable'][$FQFN])) {
// Check all...
$GLOBALS['file_readable'][$FQFN] = ((file_exists($FQFN)) && (is_file($FQFN)) && (is_readable($FQFN)));
- } // END - if
+
+ // Debug message
+ //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'file=' . basename($FQFN) . ' - CHECK! (' . intval($GLOBALS['file_readable'][$FQFN]) . ')');
+ } else {
+ // Cache used
+ //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'file=' . basename($FQFN) . ' - CACHE! (' . intval($GLOBALS['file_readable'][$FQFN]) . ')');
+ }
// Return result
return $GLOBALS['file_readable'][$FQFN];
}
// "Getter" for user agent
-function detectUserAgent () {
+function detectUserAgent ($alwaysReal = false) {
// Get remote ip from environment
$userAgent = getenv('HTTP_USER_AGENT');
// Is removeip installed?
- if (isExtensionActive('removeip')) {
+ if ((isExtensionActive('removeip')) && ($alwaysReal === false)) {
// Then anonymize it
$userAgent = getAnonymousUserAgent($userAgent);
} // END - if
return $referer;
}
+// "Getter" for request URI
+function detectRequestUri () {
+ // Return it
+ return (getenv('REQUEST_URI'));
+}
+
+// "Getter" for query string
+function detectQueryString () {
+ return str_replace('&', '&', (getenv('QUERY_STRING')));
+}
+
+// "Getter" for SERVER_NAME
+function detectServerName () {
+ // Return it
+ return (getenv('SERVER_NAME'));
+}
+
// Check wether we are installing
function isInstalling () {
// Determine wether we are installing
if (!isset($GLOBALS['mxchange_installing'])) {
// Check URL (css.php/js.php need this)
- $GLOBALS['mxchange_installing'] = isGetRequestElementSet('installing');
+ $GLOBALS['mxchange_installing'] = isGetRequestParameterSet('installing');
} // END - if
// Return result
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
// Wrapper function for header()
// Send a header but checks before if we can do so
function sendHeader ($header) {
+ // Send the header
+ $GLOBALS['header'][] = trim($header);
+}
+
+// Flushes all headers
+function flushHeaders () {
// Is the header already sent?
if (headers_sent()) {
// Then abort here
debug_report_bug('Headers already sent!');
} // END - if
- // Send the header
- header(trim($header));
+ // 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 for chmod()
// Wrapper for $_POST['sel']
function countPostSelection ($element = 'sel') {
// Is it set?
- if (isPostRequestElementSet($element)) {
+ if (isPostRequestParameterSet($element)) {
// Return counted elements
- return countSelection(postRequestElement($element));
+ return countSelection(postRequestParameter($element));
} else {
// Return zero if not found
return 0;
$isUsed = $GLOBALS['is_nickname_used'][$userid];
} else {
// Determine it
- $isUsed = ((isExtensionActive('nickname')) && (('' . round($userid) . '') != $userid));
+ $isUsed = (('' . round($userid) . '') != $userid);
// And write it to the cache
$GLOBALS['is_nickname_used'][$userid] = $isUsed;
// Checks wether what is set and optionally aborts on miss
function isWhatSet ($strict = false) {
// Check for it
- $isset = (isset($GLOBALS['what']));
+ $isset = isset($GLOBALS['what']);
// Should we abort here?
if (($strict === true) && ($isset === false)) {
// Checks wether action is set and optionally aborts on miss
function isActionSet ($strict = false) {
// Check for it
- $isset = (isset($GLOBALS['action']));
+ $isset = ((isset($GLOBALS['action'])) && (!empty($GLOBALS['action'])));
// Should we abort here?
if (($strict === true) && ($isset === false)) {
// Should we abort here?
if (($strict === true) && ($isset === false)) {
// Output backtrace
- print 'Module not set!<pre>';
- debug_print_backtrace();
- die('</pre');
debug_report_bug('module is empty.');
} // END - if
// Return it
- return $isset;
+ return (($isset === true) && ($GLOBALS['module'] != 'unknown')) ;
}
// Getter for 'output_mode' value
// Get username
function getUsername () {
- return $GLOBALS['username'];
+ // default is guest
+ $username = getMessage('USERNAME_GUEST');
+
+ // User name set?
+ if (isset($GLOBALS['username'])) {
+ // Use the set name
+ $username = $GLOBALS['username'];
+ } // END - if
+
+ // Return it
+ return $username;
}
// Wrapper function for installation phase
// Checks wether the admin hash is set
function isAdminHashSet ($admin) {
+ if (!isset($GLOBALS['cache_array']['admin'])) debug_report_bug('Cache not set.');
return isset($GLOBALS['cache_array']['admin']['password'][$admin]);
}
return isset($GLOBALS['current_userid']);
}
+// Checks wether we are debugging template cache
+function isDebuggingTemplateCache () {
+ return (getConfig('DEBUG_TEMPLATE_CACHE') == 'Y');
+}
+
+// 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);
+ } // END - if
+
+ // Return it
+ return $data;
+}
+
// [EOF]
?>