X-Git-Url: https://git.mxchange.org/?p=mailer.git;a=blobdiff_plain;f=inc%2Fwrapper-functions.php;h=eb9419c94e5f07279ce1377e9ab169636f293b3f;hp=dc9f9eff7c09fd8a28c2e4af41c3eae8198a0a38;hb=adb05fb6876bdca84e73f4ea04998c1400e2cfb7;hpb=0a4b0f81eea5f4daf5e55e695d79a0ee2669bdd8 diff --git a/inc/wrapper-functions.php b/inc/wrapper-functions.php index dc9f9eff7c..eb9419c94e 100644 --- a/inc/wrapper-functions.php +++ b/inc/wrapper-functions.php @@ -16,7 +16,7 @@ * $Author:: $ * * -------------------------------------------------------------------- * * Copyright (c) 2003 - 2009 by Roland Haeder * - * Copyright (c) 2009, 2010 by Mailer Developer Team * + * Copyright (c) 2009 - 2011 by Mailer Developer Team * * For more information visit: http://www.mxchange.org * * * * This program is free software; you can redistribute it and/or modify * @@ -194,10 +194,25 @@ function isDirectory ($FQFN) { return $GLOBALS[__FUNCTION__][$FQFN]; } +// "Getter" for the real remote IP number +function detectRealIpAddress () { + // Get remote ip from environment + $remoteAddr = determineRealRemoteAddress(); + + // Is removeip installed? + if (isExtensionActive('removeip')) { + // Then anonymize it + $remoteAddr = getAnonymousRemoteAddress($remoteAddr); + } // END - if + + // Return it + return $remoteAddr; +} + // "Getter" for remote IP number function detectRemoteAddr () { // Get remote ip from environment - $remoteAddr = determineRealRemoteAddress(); + $remoteAddr = determineRealRemoteAddress(true); // Is removeip installed? if (isExtensionActive('removeip')) { @@ -271,6 +286,28 @@ function detectServerName () { return (getenv('SERVER_NAME')); } +// Removes any existing www. from SERVER_NAME. This is very silly but enough +// for our purpose here. +function detectDomainName () { + // Do we have cache? + if (!isset($GLOBALS[__FUNCTION__])) { + // Get server name + $domainName = detectServerName(); + + // Is there any www. ? + if (substr($domainName, 0, 4) == 'www.') { + // Remove it + $domainName = substr($domainName, 4); + } // END - if + + // Set cache + $GLOBALS[__FUNCTION__] = $domainName; + } // END - if + + // Return cache + return $GLOBALS[__FUNCTION__]; +} + // Check wether we are installing function isInstalling () { // Determine wether we are installing @@ -333,6 +370,12 @@ function isAdminRegistered () { return $GLOBALS[__FUNCTION__]; } +// Checks wether the hourly reset mode is active +function isHourlyResetEnabled () { + // Now simply check it + return ((isset($GLOBALS['hourly_enabled'])) && ($GLOBALS['hourly_enabled'] === true)); +} + // Checks wether the reset mode is active function isResetModeEnabled () { // Now simply check it @@ -351,6 +394,18 @@ function isDebugModeEnabled () { return $GLOBALS[__FUNCTION__]; } +// Checks wether the debug reset is enabled +function isDebugResetEnabled () { + // Is cache set? + if (!isset($GLOBALS[__FUNCTION__])) { + // Simply check it + $GLOBALS[__FUNCTION__] = ((isConfigEntrySet('DEBUG_RESET')) && (getConfig('DEBUG_RESET') == 'Y')); + } // END - if + + // Return it + return $GLOBALS[__FUNCTION__]; +} + // Checks wether SQL debugging is enabled function isSqlDebuggingEnabled () { // Is cache set? @@ -623,17 +678,23 @@ function isModuleSet ($strict = false) { // Getter for 'output_mode' value function getScriptOutputMode () { - // Default is null - $output_mode = null; + // Do we have cache? + if (!isset($GLOBALS[__FUNCTION__])) { + // Default is null + $output_mode = null; - // Is the value set? - if (isOutputModeSet(true)) { - // Then use it - $output_mode = $GLOBALS['output_mode']; + // Is the value set? + if (isOutputModeSet(true)) { + // Then use it + $output_mode = $GLOBALS['output_mode']; + } // END - if + + // Store it in cache + $GLOBALS[__FUNCTION__] = $output_mode; } // END - if - // Return it - return $output_mode; + // Return cache + return $GLOBALS[__FUNCTION__]; } // Setter for 'output_mode' value @@ -649,7 +710,7 @@ function isOutputModeSet ($strict = false) { // Should we abort here? if (($strict === true) && ($isset === false)) { // Output backtrace - debug_report_bug(__FUNCTION__, __LINE__, 'Output_mode is empty.'); + debug_report_bug(__FUNCTION__, __LINE__, 'Output mode is not set.'); } // END - if // Return it @@ -679,7 +740,7 @@ function addPointsDirectly ($subject, $userid, $points) { unset($GLOBALS['ref_level']); // Call more complicated method (due to more parameters) - return addPointsThroughReferalSystem($subject, $userid, $points, false, 0, 'direct'); + return addPointsThroughReferalSystem($subject, $userid, $points, false, 0, 'DIRECT'); } // Wrapper for redirectToUrl but URL comes from a configuration entry @@ -691,7 +752,7 @@ function redirectToConfiguredUrl ($configEntry) { // Wrapper function to redirect from member-only modules to index function redirectToIndexMemberOnlyModule () { // Do the redirect here - redirectToUrl('modules.php?module=index&code=' . getCode('MODULE_MEMBER_ONLY') . '&mod=' . getModule()); + redirectToUrl('modules.php?module=index&code=' . getCode('MODULE_MEMBER_ONLY') . '&mod=' . getModule()); } // Wrapper function to redirect to current URL @@ -700,9 +761,9 @@ function redirectToRequestUri () { } // Wrapper function to redirect to de-refered URL -function redirectToDereferedUrl ($URL) { +function redirectToDereferedUrl ($url) { // Redirect to to - redirectToUrl(generateDerefererUrl($URL)); + redirectToUrl(generateDerefererUrl($url)); } // Wrapper function for checking if extension is installed and newer or same version @@ -717,7 +778,7 @@ function isExtensionInstalledAndNewer ($ext_name, $version) { } // Return it - //* DEBUG: */ debugOutput(__FUNCTION__.':'.$ext_name.'=>'.$version.':'.intval($GLOBALS[__FUNCTION__][$ext_name][$version])); + //* DEBUG: */ debugOutput(__FUNCTION__ . ':' . $ext_name . '=>' . $version . ':' . intval($GLOBALS[__FUNCTION__][$ext_name][$version])); return $GLOBALS[__FUNCTION__][$ext_name][$version]; } @@ -733,7 +794,7 @@ function isExtensionInstalledAndOlder ($ext_name, $version) { } // Return it - //* DEBUG: */ debugOutput(__FUNCTION__.':'.$ext_name.'<'.$version.':'.intval($GLOBALS[__FUNCTION__][$ext_name][$version])); + //* DEBUG: */ debugOutput(__FUNCTION__ . ':' . $ext_name . '<' . $version . ':' . intval($GLOBALS[__FUNCTION__][$ext_name][$version])); return $GLOBALS[__FUNCTION__][$ext_name][$version]; } @@ -771,7 +832,7 @@ function isDemoModeActive () { // Is cache set? if (!isset($GLOBALS[__FUNCTION__])) { // Simply check it - $GLOBALS[__FUNCTION__] = ((isExtensionActive('demo')) && (getAdminLogin(getSession('admin_id')) == 'demo')); + $GLOBALS[__FUNCTION__] = ((isExtensionActive('demo')) && (getCurrentAdminLogin() == 'demo')); } // END - if // Return it @@ -800,6 +861,69 @@ function setAdminHash ($adminId, $hash) { $GLOBALS['cache_array']['admin']['password'][$adminId] = $hash; } +// Getter for current admin login +function getCurrentAdminLogin () { + // Log debug message + //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'called!'); + + // Do we have cache? + if (!isset($GLOBALS[__FUNCTION__])) { + // Determine it + $GLOBALS[__FUNCTION__] = getAdminLogin(getCurrentAdminId()); + } // END - if + + // Return it + return $GLOBALS[__FUNCTION__]; +} + +// Setter for admin id (and current) +function setAdminId ($adminId) { + // Log debug message + //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'adminId=' . $adminId); + + // Set session + $status = setSession('admin_id', bigintval($adminId)); + + // Set current id + setCurrentAdminId($adminId); + + // Return status + return $status; +} + +// Setter for admin_last +function setAdminLast ($adminLast) { + // Log debug message + //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'adminLast=' . $adminLast); + + // Set session + $status = setSession('admin_last', $adminLast); + + // Return status + return $status; +} + +// Setter for admin_md5 +function setAdminMd5 ($adminMd5) { + // Log debug message + //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'adminMd5=' . $adminMd5); + + // Set session + $status = setSession('admin_md5', $adminMd5); + + // Return status + return $status; +} + +// Getter for admin_md5 +function getAdminMd5 () { + // Log debug message + //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'called!'); + + // Get session + return getSession('admin_md5'); +} + // Init user data array function initUserData () { // User id should not be zero @@ -945,6 +1069,13 @@ function setHttpStatus ($status) { // Getter for HTTP status function getHttpStatus () { + // Is the status set? + if (!isset($GLOBALS['http_status'])) { + // Abort here + debug_report_bug(__FUNCTION__, __LINE__, 'No HTTP status set!'); + } // END - if + + // Return it return $GLOBALS['http_status']; } @@ -1017,7 +1148,11 @@ function getTotalConfirmedUser () { // Is it cached? if (!isset($GLOBALS[__FUNCTION__])) { // Then do it - $GLOBALS[__FUNCTION__] = countSumTotalData('CONFIRMED', 'user_data', 'userid', 'status', true); + if (isExtensionActive('user')) { + $GLOBALS[__FUNCTION__] = countSumTotalData('CONFIRMED', 'user_data', 'userid', 'status', true); + } else { + $GLOBALS[__FUNCTION__] = 0; + } } // END - if // Return cached value @@ -1029,7 +1164,11 @@ function getTotalUnconfirmedUser () { // Is it cached? if (!isset($GLOBALS[__FUNCTION__])) { // Then do it - $GLOBALS[__FUNCTION__] = countSumTotalData('UNCONFIRMED', 'user_data', 'userid', 'status', true); + if (isExtensionActive('user')) { + $GLOBALS[__FUNCTION__] = countSumTotalData('UNCONFIRMED', 'user_data', 'userid', 'status', true); + } else { + $GLOBALS[__FUNCTION__] = 0; + } } // END - if // Return cached value @@ -1041,7 +1180,11 @@ function getTotalLockedUser () { // Is it cached? if (!isset($GLOBALS[__FUNCTION__])) { // Then do it - $GLOBALS[__FUNCTION__] = countSumTotalData('LOCKED', 'user_data', 'userid', 'status', true); + if (isExtensionActive('user')) { + $GLOBALS[__FUNCTION__] = countSumTotalData('LOCKED', 'user_data', 'userid', 'status', true); + } else { + $GLOBALS[__FUNCTION__] = 0; + } } // END - if // Return cached value @@ -1089,7 +1232,9 @@ function getYear ($timestamp = null) { // Is it cached? if (!isset($GLOBALS[__FUNCTION__][$timestamp])) { // null is time() - if (is_null($timestamp)) $timestamp = time(); + if (is_null($timestamp)) { + $timestamp = time(); + } // END - if // Then create it $GLOBALS[__FUNCTION__][$timestamp] = date('Y', $timestamp); @@ -1117,12 +1262,31 @@ function getMonth ($timestamp = null) { return $GLOBALS[__FUNCTION__][$timestamp]; } +// Getter for current hour (default) +function getHour ($timestamp = null) { + // Is it cached? + if (!isset($GLOBALS[__FUNCTION__][$timestamp])) { + // null is time() + if (is_null($timestamp)) { + $timestamp = time(); + } // END - if + + // Then create it + $GLOBALS[__FUNCTION__][$timestamp] = date('H', $timestamp); + } // END - if + + // Return cache + return $GLOBALS[__FUNCTION__][$timestamp]; +} + // Getter for current day (default) function getDay ($timestamp = null) { // Is it cached? if (!isset($GLOBALS[__FUNCTION__][$timestamp])) { // null is time() - if (is_null($timestamp)) $timestamp = time(); + if (is_null($timestamp)) { + $timestamp = time(); + } // END - if // Then create it $GLOBALS[__FUNCTION__][$timestamp] = date('d', $timestamp); @@ -1399,6 +1563,30 @@ function getSecretKey () { return $GLOBALS[__FUNCTION__]; } +// "Getter" for SITE_KEY +function getSiteKey () { + // Do we have cache? + if (!isset($GLOBALS[__FUNCTION__])) { + // Determine it + $GLOBALS[__FUNCTION__] = getConfig('SITE_KEY'); + } // END - if + + // Return cache + return $GLOBALS[__FUNCTION__]; +} + +// "Getter" for DATE_KEY +function getDateKey () { + // Do we have cache? + if (!isset($GLOBALS[__FUNCTION__])) { + // Determine it + $GLOBALS[__FUNCTION__] = getConfig('DATE_KEY'); + } // END - if + + // Return cache + return $GLOBALS[__FUNCTION__]; +} + // "Getter" for master_salt function getMasterSalt () { // Do we have cache? @@ -1855,6 +2043,270 @@ function getOneDay () { return $GLOBALS[__FUNCTION__]; } +// "Getter" for activate_xchange +function getActivateXchange () { + // Do we have cache? + if (!isset($GLOBALS[__FUNCTION__])) { + // Determine it + $GLOBALS[__FUNCTION__] = getConfig('activate_xchange'); + } // END - if + + // Return cache + return $GLOBALS[__FUNCTION__]; +} + +// "Getter" for img_type +function getImgType () { + // Do we have cache? + if (!isset($GLOBALS[__FUNCTION__])) { + // Determine it + $GLOBALS[__FUNCTION__] = getConfig('img_type'); + } // END - if + + // Return cache + return $GLOBALS[__FUNCTION__]; +} + +// "Getter" for code_length +function getCodeLength () { + // Do we have cache? + if (!isset($GLOBALS[__FUNCTION__])) { + // Determine it + $GLOBALS[__FUNCTION__] = getConfig('code_length'); + } // END - if + + // Return cache + return $GLOBALS[__FUNCTION__]; +} + +// "Getter" for least_cats +function getLeastCats () { + // Do we have cache? + if (!isset($GLOBALS[__FUNCTION__])) { + // Determine it + $GLOBALS[__FUNCTION__] = getConfig('least_cats'); + } // END - if + + // Return cache + return $GLOBALS[__FUNCTION__]; +} + +// "Getter" for pass_len +function getPassLen () { + // Do we have cache? + if (!isset($GLOBALS[__FUNCTION__])) { + // Determine it + $GLOBALS[__FUNCTION__] = getConfig('pass_len'); + } // END - if + + // Return cache + return $GLOBALS[__FUNCTION__]; +} + +// "Getter" for admin_menu +function getAdminMenu () { + // Do we have cache? + if (!isset($GLOBALS[__FUNCTION__])) { + // Determine it + $GLOBALS[__FUNCTION__] = getConfig('admin_menu'); + } // END - if + + // Return cache + return $GLOBALS[__FUNCTION__]; +} + +// "Getter" for last_month +function getLastMonth () { + // Do we have cache? + if (!isset($GLOBALS[__FUNCTION__])) { + // Determine it + $GLOBALS[__FUNCTION__] = getConfig('last_month'); + } // END - if + + // Return cache + return $GLOBALS[__FUNCTION__]; +} + +// "Getter" for max_send +function getMaxSend () { + // Do we have cache? + if (!isset($GLOBALS[__FUNCTION__])) { + // Determine it + $GLOBALS[__FUNCTION__] = getConfig('max_send'); + } // END - if + + // Return cache + return $GLOBALS[__FUNCTION__]; +} + +// "Getter" for mails_page +function getMailsPage () { + // Do we have cache? + if (!isset($GLOBALS[__FUNCTION__])) { + // Determine it + $GLOBALS[__FUNCTION__] = getConfig('mails_page'); + } // END - if + + // Return cache + return $GLOBALS[__FUNCTION__]; +} + +// "Getter" for rand_no +function getRandNo () { + // Do we have cache? + if (!isset($GLOBALS[__FUNCTION__])) { + // Determine it + $GLOBALS[__FUNCTION__] = getConfig('rand_no'); + } // END - if + + // Return cache + return $GLOBALS[__FUNCTION__]; +} + +// "Getter" for __DB_NAME +function getDbName () { + // Do we have cache? + if (!isset($GLOBALS[__FUNCTION__])) { + // Determine it + $GLOBALS[__FUNCTION__] = getConfig('__DB_NAME'); + } // END - if + + // Return cache + return $GLOBALS[__FUNCTION__]; +} + +// "Getter" for DOMAIN +function getDomain () { + // Do we have cache? + if (!isset($GLOBALS[__FUNCTION__])) { + // Determine it + $GLOBALS[__FUNCTION__] = getConfig('DOMAIN'); + } // END - if + + // Return cache + return $GLOBALS[__FUNCTION__]; +} + +// "Getter" for proxy_username +function getProxyUsername () { + // Do we have cache? + if (!isset($GLOBALS[__FUNCTION__])) { + // Determine it + $GLOBALS[__FUNCTION__] = getConfig('proxy_username'); + } // END - if + + // Return cache + return $GLOBALS[__FUNCTION__]; +} + +// "Getter" for proxy_password +function getProxyPassword () { + // Do we have cache? + if (!isset($GLOBALS[__FUNCTION__])) { + // Determine it + $GLOBALS[__FUNCTION__] = getConfig('proxy_password'); + } // END - if + + // Return cache + return $GLOBALS[__FUNCTION__]; +} + +// "Getter" for proxy_host +function getProxyHost () { + // Do we have cache? + if (!isset($GLOBALS[__FUNCTION__])) { + // Determine it + $GLOBALS[__FUNCTION__] = getConfig('proxy_host'); + } // END - if + + // Return cache + return $GLOBALS[__FUNCTION__]; +} + +// "Getter" for proxy_port +function getProxyPort () { + // Do we have cache? + if (!isset($GLOBALS[__FUNCTION__])) { + // Determine it + $GLOBALS[__FUNCTION__] = getConfig('proxy_port'); + } // END - if + + // Return cache + return $GLOBALS[__FUNCTION__]; +} + +// "Getter" for SMTP_HOSTNAME +function getSmtpHostname () { + // Do we have cache? + if (!isset($GLOBALS[__FUNCTION__])) { + // Determine it + $GLOBALS[__FUNCTION__] = getConfig('SMTP_HOSTNAME'); + } // END - if + + // Return cache + return $GLOBALS[__FUNCTION__]; +} + +// "Getter" for SMTP_USER +function getSmtpUser () { + // Do we have cache? + if (!isset($GLOBALS[__FUNCTION__])) { + // Determine it + $GLOBALS[__FUNCTION__] = getConfig('SMTP_USER'); + } // END - if + + // Return cache + return $GLOBALS[__FUNCTION__]; +} + +// "Getter" for SMTP_PASSWORD +function getSmtpPassword () { + // Do we have cache? + if (!isset($GLOBALS[__FUNCTION__])) { + // Determine it + $GLOBALS[__FUNCTION__] = getConfig('SMTP_PASSWORD'); + } // END - if + + // Return cache + return $GLOBALS[__FUNCTION__]; +} + +// "Getter" for points_word +function getPointsWord () { + // Do we have cache? + if (!isset($GLOBALS[__FUNCTION__])) { + // Determine it + $GLOBALS[__FUNCTION__] = getConfig('points_word'); + } // END - if + + // Return cache + return $GLOBALS[__FUNCTION__]; +} + +// "Getter" for profile_lock +function getProfileLock () { + // Do we have cache? + if (!isset($GLOBALS[__FUNCTION__])) { + // Determine it + $GLOBALS[__FUNCTION__] = getConfig('profile_lock'); + } // END - if + + // Return cache + return $GLOBALS[__FUNCTION__]; +} + +// "Getter" for url_tlock +function getUrlTlock () { + // Do we have cache? + if (!isset($GLOBALS[__FUNCTION__])) { + // Determine it + $GLOBALS[__FUNCTION__] = getConfig('url_tlock'); + } // END - if + + // Return cache + return $GLOBALS[__FUNCTION__]; +} + // Checks wether proxy configuration is used function isProxyUsed () { // Do we have cache? @@ -1895,8 +2347,17 @@ function isVerboseSqlEnabled () { function getTotalPoints ($userid) { // Do we have cache? if (!isset($GLOBALS[__FUNCTION__][$userid])) { + // Init array for filter chain + $data = array( + 'userid' => $userid, + 'points' => 0 + ); + + // Run filter chain for getting more point values + $data = runFilter('get_total_points', $data); + // Determine it - $GLOBALS[__FUNCTION__][$userid] = countSumTotalData($userid, 'user_points', 'points') - countSumTotalData($userid, 'user_data', 'used_points'); + $GLOBALS[__FUNCTION__][$userid] = $data['points'] - countSumTotalData($userid, 'user_data', 'used_points'); } // END - if // Return cache @@ -1975,5 +2436,87 @@ function ifUserPointsLocked ($userid) { return $GLOBALS[__FUNCTION__][$userid]; } +// Appends a line to an existing file or creates it instantly with given content. +// This function does always add a new-line character to every line. +function appendLineToFile ($file, $line) { + $fp = fopen($file, 'a') or debug_report_bug(__FUNCTION__, __LINE__, 'Cannot write to file ' . basename($file) . '!'); + fwrite($fp, $line . "\n"); + fclose($fp); +} + +// Wrapper for changeDataInFile() but with full path added +function changeDataInInclude ($FQFN, $comment, $prefix, $suffix, $DATA, $seek=0) { + // Add full path + $FQFN = getPath() . $FQFN; + + // Call inner function + return changeDataInFile($FQFN, $comment, $prefix, $suffix, $DATA, $seek); +} + +// Wrapper for changing entries in config-local.php +function changeDataInLocalConfigurationFile ($comment, $prefix, $suffix, $DATA, $seek = 0) { + // Call the inner function + return changeDataInInclude(getCachePath() . 'config-local.php', $comment, $prefix, $suffix, $DATA, $seek); +} + +// Shortens ucfirst(strtolower()) calls +function firstCharUpperCase ($str) { + return ucfirst(strtolower($str)); +} + +// Shortens calls with configuration entry as first argument (the second will become obsolete in the future) +function createConfigurationTimeSelections ($configEntry, $stamps, $align = 'center') { + // Get the configuration entry + $configValue = getConfig($configEntry); + + // Call inner method + return createTimeSelections($configValue, $configEntry, $stamps, $align); +} + +// Shortens converting of German comma to Computer's version in POST data +function convertCommaToDotInPostData ($postEntry) { + // Read and convert given entry + $postValue = convertCommaToDot(postRequestParameter($postEntry)); + + // ... and set it again + setPostRequestParameter($postEntry, $postValue); +} + +// Converts German commas to Computer's version in all entries +function convertCommaToDotInPostDataArray (array $postEntries) { + // Replace german decimal comma with computer decimal dot + foreach ($postEntries as $entry) { + // Is the entry there? + if (isPostRequestParameterSet($entry)) { + // Then convert it + convertCommaToDotInPostData($entry); + } // END - if + } // END - foreach +} + +// Getter for 'check_double_email' +function getCheckDoubleEmail () { + // Is the cache entry set? + if (!isset($GLOBALS[__FUNCTION__])) { + // No, so determine it + $GLOBALS[__FUNCTION__] = getConfig('check_double_email'); + } // END - if + + // Return cached entry + return $GLOBALS[__FUNCTION__]; +} + +// Checks wether 'check_double_email' is "YES" +function isCheckDoubleEmailEnabled () { + // Is the cache entry set? + if (!isset($GLOBALS[__FUNCTION__])) { + // No, so determine it + $GLOBALS[__FUNCTION__] = (getCheckDoubleEmail() == 'Y'); + } // END - if + + // Return cached entry + return $GLOBALS[__FUNCTION__]; +} + // [EOF] ?>