X-Git-Url: https://git.mxchange.org/?p=mailer.git;a=blobdiff_plain;f=inc%2Ffunctions.php;h=25035b54e0e03248558d00c23390a97d97afe73d;hp=becc231d6bb8ac81e4d037009b5e5625b95248f6;hb=ee3a0b42f93de7676fca549c866c1c2e6f3f0576;hpb=7c6a5b9e1e07dd360286130fe7e39000bfc68d4a diff --git a/inc/functions.php b/inc/functions.php index becc231d6b..25035b54e0 100644 --- a/inc/functions.php +++ b/inc/functions.php @@ -635,44 +635,44 @@ function array_pk_sort (&$array, $a_sort, $primary_key = '0', $order = -1, $nums // function generateRandomCode ($length, $code, $userid, $extraData = '') { // Build server string - $server = $_SERVER['PHP_SELF'] . getEncryptSeperator() . detectUserAgent() . getEncryptSeperator() . getenv('SERVER_SOFTWARE') . getEncryptSeperator() . detectRealIpAddress() . getEncryptSeperator() . detectRemoteAddr(); + $server = $_SERVER['PHP_SELF'] . getEncryptSeparator() . detectUserAgent() . getEncryptSeparator() . getenv('SERVER_SOFTWARE') . getEncryptSeparator() . detectRealIpAddress() . getEncryptSeparator() . detectRemoteAddr(); // Build key string - $keys = getSiteKey() . getEncryptSeperator() . getDateKey(); + $keys = getSiteKey() . getEncryptSeparator() . getDateKey(); if (isConfigEntrySet('secret_key')) { - $keys .= getEncryptSeperator() . getSecretKey(); + $keys .= getEncryptSeparator() . getSecretKey(); } // END - if if (isConfigEntrySet('file_hash')) { - $keys .= getEncryptSeperator() . getFileHash(); + $keys .= getEncryptSeparator() . getFileHash(); } // END - if - $keys .= getEncryptSeperator() . getDateFromRepository(); + $keys .= getEncryptSeparator() . getDateFromRepository(); if (isConfigEntrySet('master_salt')) { - $keys .= getEncryptSeperator() . getMasterSalt(); + $keys .= getEncryptSeparator() . getMasterSalt(); } // END - if // Build string from misc data - $data = $code . getEncryptSeperator() . $userid . getEncryptSeperator() . $extraData; + $data = $code . getEncryptSeparator() . $userid . getEncryptSeparator() . $extraData; // Add more additional data if (isSessionVariableSet('u_hash')) { - $data .= getEncryptSeperator() . getSession('u_hash'); + $data .= getEncryptSeparator() . getSession('u_hash'); } // END - if - // Add referal id, language, theme and userid - $data .= getEncryptSeperator() . determineReferalId(); - $data .= getEncryptSeperator() . getLanguage(); - $data .= getEncryptSeperator() . getCurrentTheme(); - $data .= getEncryptSeperator() . getMemberId(); + // Add referral id, language, theme and userid + $data .= getEncryptSeparator() . determineReferralId(); + $data .= getEncryptSeparator() . getLanguage(); + $data .= getEncryptSeparator() . getCurrentTheme(); + $data .= getEncryptSeparator() . getMemberId(); // Calculate number for generating the code $a = $code + getConfig('_ADD') - 1; if (isConfigEntrySet('master_salt')) { // Generate hash with master salt from modula of number with the prime number and other data - $saltedHash = generateHash(($a % getPrime()) . getEncryptSeperator() . $server . getEncryptSeperator() . $keys . getEncryptSeperator() . $data . getEncryptSeperator() . getDateKey() . getEncryptSeperator() . $a, getMasterSalt()); + $saltedHash = generateHash(($a % getPrime()) . getEncryptSeparator() . $server . getEncryptSeparator() . $keys . getEncryptSeparator() . $data . getEncryptSeparator() . getDateKey() . getEncryptSeparator() . $a, getMasterSalt()); } else { // Generate hash with "hash of site key" from modula of number with the prime number and other data - $saltedHash = generateHash(($a % getPrime()) . getEncryptSeperator() . $server . getEncryptSeperator() . $keys . getEncryptSeperator() . $data . getEncryptSeperator() . getDateKey() . getEncryptSeperator() . $a, substr(sha1(getSiteKey()), 0, getSaltLength())); + $saltedHash = generateHash(($a % getPrime()) . getEncryptSeparator() . $server . getEncryptSeparator() . $keys . getEncryptSeparator() . $data . getEncryptSeparator() . getDateKey() . getEncryptSeparator() . $a, substr(sha1(getSiteKey()), 0, getSaltLength())); } // Create number from hash @@ -698,6 +698,7 @@ function generateRandomCode ($length, $code, $userid, $extraData = '') { // Does only allow numbers function bigintval ($num, $castValue = true, $abortOnMismatch = true) { + //* DEBUG: */ debugOutput('[' . __FUNCTION__ . ':' . __LINE__ . '] ' . 'num=' . $num . ',castValue=' . intval($castValue) . ',abortOnMismatch=' . intval($abortOnMismatch) . ' - ENTERED!'); // Filter all numbers out $ret = preg_replace('/[^0123456789]/', '', $num); @@ -714,6 +715,7 @@ function bigintval ($num, $castValue = true, $abortOnMismatch = true) { } // END - if // Return result + //* DEBUG: */ debugOutput('[' . __FUNCTION__ . ':' . __LINE__ . '] ' . 'num=' . $num . ',castValue=' . intval($castValue) . ',abortOnMismatch=' . intval($abortOnMismatch) . ',ret=' . $ret . ' - EXIT!'); return $ret; } @@ -783,45 +785,6 @@ function createFancyTime ($stamp) { return $ret; } -// Extract host from script name -function extractHostnameFromUrl (&$script) { - // Use default SERVER_URL by default... ;) So? - $url = getServerUrl(); - - // Is this URL valid? - if (substr($script, 0, 7) == 'http://') { - // Use the hostname from script URL as new hostname - $url = substr($script, 7); - $extract = explode('/', $url); - $url = $extract[0]; - // Done extracting the URL :) - } // END - if - - // Extract host name - $host = str_replace('http://', '', $url); - if (isInString('/', $host)) { - $host = substr($host, 0, strpos($host, '/')); - } // END - if - - // Generate relative URL - //* DEBUG: */ debugOutput('SCRIPT=' . $script); - if (substr(strtolower($script), 0, 7) == 'http://') { - // But only if http:// is in front! - $script = substr($script, (strlen($url) + 7)); - } elseif (substr(strtolower($script), 0, 8) == 'https://') { - // Does this work?! - $script = substr($script, (strlen($url) + 8)); - } - - //* DEBUG: */ debugOutput('SCRIPT=' . $script); - if (substr($script, 0, 1) == '/') { - $script = substr($script, 1); - } // END - if - - // Return host name - return $host; -} - // Taken from www.php.net isInStringIgnoreCase() user comments function isEmailValid ($email) { // Check first part of email address @@ -887,19 +850,19 @@ function generateHash ($plainText, $salt = '', $hash = true) { // When the salt is empty build a new one, else use the first x configured characters as the salt if (empty($salt)) { // Build server string for more entropy - $server = $_SERVER['PHP_SELF'] . getEncryptSeperator() . detectUserAgent() . getEncryptSeperator() . getenv('SERVER_SOFTWARE') . getEncryptSeperator() . detectRealIpAddress() . getEncryptSeperator() . detectRemoteAddr(); + $server = $_SERVER['PHP_SELF'] . getEncryptSeparator() . detectUserAgent() . getEncryptSeparator() . getenv('SERVER_SOFTWARE') . getEncryptSeparator() . detectRealIpAddress() . getEncryptSeparator() . detectRemoteAddr(); // Build key string - $keys = getSiteKey() . getEncryptSeperator() . getDateKey() . getEncryptSeperator() . getSecretKey() . getEncryptSeperator() . getFileHash() . getEncryptSeperator() . getDateFromRepository() . getEncryptSeperator() . getMasterSalt(); + $keys = getSiteKey() . getEncryptSeparator() . getDateKey() . getEncryptSeparator() . getSecretKey() . getEncryptSeparator() . getFileHash() . getEncryptSeparator() . getDateFromRepository() . getEncryptSeparator() . getMasterSalt(); // Additional data - $data = $plainText . getEncryptSeperator() . uniqid(mt_rand(), true) . getEncryptSeperator() . time(); + $data = $plainText . getEncryptSeparator() . uniqid(mt_rand(), true) . getEncryptSeparator() . time(); // Calculate number for generating the code $a = time() + getConfig('_ADD') - 1; // Generate SHA1 sum from modula of number and the prime number - $sha1 = sha1(($a % getPrime()) . $server . getEncryptSeperator() . $keys . getEncryptSeperator() . $data . getEncryptSeperator() . getDateKey() . getEncryptSeperator() . $a); + $sha1 = sha1(($a % getPrime()) . $server . getEncryptSeparator() . $keys . getEncryptSeparator() . $data . getEncryptSeparator() . getDateKey() . getEncryptSeparator() . $a); //* DEBUG: */ debugOutput('SHA1=' . $sha1.' ('.strlen($sha1).')
'); $sha1 = scrambleString($sha1); //* DEBUG: */ debugOutput('Scrambled=' . $sha1.' ('.strlen($sha1).')
'); @@ -1172,7 +1135,7 @@ function getMessageFromErrorCode ($code) { switch ($code) { case '': break; case getCode('LOGOUT_DONE') : $message = '{--LOGOUT_DONE--}'; break; - case getCode('LOGOUT_FAILED') : $message = '{--LOGOUT_FAILED--}'; break; + case getCode('LOGOUT_FAILED') : $message = '{--LOGOUT_FAILED--}'; break; case getCode('DATA_INVALID') : $message = '{--MAIL_DATA_INVALID--}'; break; case getCode('POSSIBLE_INVALID') : $message = '{--MAIL_POSSIBLE_INVALID--}'; break; case getCode('USER_404') : $message = '{--USER_404--}'; break; @@ -1609,8 +1572,8 @@ function determineRealRemoteAddress ($remoteAddr = false) { // This is a high-level function! function addNewBonusMail ($data, $mode = '', $output = true) { // Use mode from data if not set and availble ;-) - if ((empty($mode)) && (isset($data['mode']))) { - $mode = $data['mode']; + if ((empty($mode)) && (isset($data['mail_mode']))) { + $mode = $data['mail_mode']; } // END - if // Generate receiver list @@ -1644,96 +1607,96 @@ function addNewBonusMail ($data, $mode = '', $output = true) { } } -// Determines referal id and sets it -function determineReferalId () { +// Determines referral id and sets it +function determineReferralId () { // Skip this in non-html-mode and outside ref.php if ((!isHtmlOutputMode()) && (basename($_SERVER['PHP_SELF']) != 'ref.php')) { return false; } // END - if // Check if refid is set - if (isReferalIdValid()) { + if (isReferralIdValid()) { // This is fine... - //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Using refid from GLOBALS (' . getReferalId() . ')'); + //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Using refid from GLOBALS (' . getReferralId() . ')'); } elseif (isPostRequestElementSet('refid')) { - // Get referal id from POST element refid + // Get referral id from POST element refid //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Using refid from POST data (' . postRequestElement('refid') . ')'); - setReferalId(secureString(postRequestElement('refid'))); + setReferralId(secureString(postRequestElement('refid'))); } elseif (isGetRequestElementSet('refid')) { - // Get referal id from GET parameter refid + // Get referral id from GET parameter refid //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Using refid from GET data (' . getRequestElement('refid') . ')'); - setReferalId(secureString(getRequestElement('refid'))); + setReferralId(secureString(getRequestElement('refid'))); } elseif (isGetRequestElementSet('ref')) { - // Set refid=ref (the referal link uses such variable) + // Set refid=ref (the referral link uses such variable) //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Using ref from GET data (' . getRequestElement('refid') . ')'); - setReferalId(secureString(getRequestElement('ref'))); + setReferralId(secureString(getRequestElement('ref'))); } elseif ((isGetRequestElementSet('user')) && (basename($_SERVER['PHP_SELF']) == 'click.php')) { // The variable user comes from click.php //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Using user from GET data (' . getRequestElement('user') . ')'); - setReferalId(bigintval(getRequestElement('user'))); + setReferralId(bigintval(getRequestElement('user'))); } elseif ((isSessionVariableSet('refid')) && (isValidUserId(getSession('refid')))) { // Set session refid as global //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Using refid from SESSION data (' . getSession('refid') . ')'); - setReferalId(bigintval(getSession('refid'))); - } elseif (isRandomReferalIdEnabled()) { + setReferralId(bigintval(getSession('refid'))); + } elseif (isRandomReferralIdEnabled()) { // Select a random user which has confirmed enougth mails - //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Checking random referal id'); - setReferalId(determineRandomReferalId()); + //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Checking random referral id'); + setReferralId(determineRandomReferralId()); } elseif ((isExtensionInstalledAndNewer('sql_patches', '0.1.2')) && (isValidUserId(getDefRefid()))) { // Set default refid as refid in URL //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Using default refid (' . getDefRefid() . ')'); - setReferalId(getDefRefid()); + setReferralId(getDefRefid()); } else { // No default id when sql_patches is not installed or none set //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Using NULL as refid'); - setReferalId(NULL); + setReferralId(NULL); } // Set cookie when default refid > 0 - if ((!isSessionVariableSet('refid')) || (!isValidUserId(getReferalId())) || ((!isValidUserId(getSession('refid'))) && (isExtensionInstalledAndNewer('sql_patches', '0.1.2')) && (isValidUserId(getDefRefid())))) { + if ((!isSessionVariableSet('refid')) || (!isValidUserId(getReferralId())) || ((!isValidUserId(getSession('refid'))) && (isExtensionInstalledAndNewer('sql_patches', '0.1.2')) && (isValidUserId(getDefRefid())))) { // Default is not found $found = false; // Do we have nickname or userid set? - if ((isExtensionActive('nickname')) && (isNicknameUsed(getReferalId()))) { + if ((isExtensionActive('nickname')) && (isNicknameUsed(getReferralId()))) { // Nickname in URL, so load the id - $found = fetchUserData(getReferalId(), 'nickname'); + $found = fetchUserData(getReferralId(), 'nickname'); - // If we found it, use the userid as referal id + // If we found it, use the userid as referral id if ($found === true) { // Set the userid as 'refid' //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Using refid from user account by nickname (' . getUserData('userid') . ')'); - setReferalId(getUserData('userid')); + setReferralId(getUserData('userid')); } // END - if - } elseif (isValidUserId(getReferalId())) { + } elseif (isValidUserId(getReferralId())) { // Direct userid entered - //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Using direct userid (' . getReferalId() . ')'); - $found = fetchUserData(getReferalId()); + //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Using direct userid (' . getReferralId() . ')'); + $found = fetchUserData(getReferralId()); } // Is the record valid? if ((($found === false) || (!isUserDataValid())) && (isExtensionInstalledAndNewer('sql_patches', '0.1.2'))) { - // No, then reset referal id + // No, then reset referral id //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Using default refid (' . getDefRefid() . ')'); - setReferalId(getDefRefid()); + setReferralId(getDefRefid()); } // END - if // Set cookie - //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Saving refid to session (' . getReferalId() . ') #1'); - setSession('refid', getReferalId()); - } elseif ((!isReferalIdValid()) || (!fetchUserData(getReferalId()))) { + //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Saving refid to session (' . getReferralId() . ') #1'); + setSession('refid', getReferralId()); + } elseif ((!isReferralIdValid()) || (!fetchUserData(getReferralId()))) { // Not valid! - //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Not valid referal id (' . getReferalId() . '), setting NULL in session'); - setReferalId(NULL); + //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Not valid referral id (' . getReferralId() . '), setting NULL in session'); + setReferralId(NULL); setSession('refid', NULL); } else { // Set it from GLOBALS array in session - //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Saving refid to session (' . getReferalId() . ') #2'); - setSession('refid', getReferalId()); + //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Saving refid to session (' . getReferralId() . ') #2'); + setSession('refid', getReferralId()); } // Return determined refid - return getReferalId(); + return getReferralId(); } // Enables the reset mode and runs it @@ -2070,19 +2033,19 @@ function encodeUrl ($url, $outputMode = '0') { // Do we have a valid session? if (((!isset($GLOBALS['valid_session'])) || ($GLOBALS['valid_session'] === false) || (!isset($_COOKIE[session_name()]))) && (isSpider() === false)) { // Invalid session - // Determine right seperator - $seperator = '&'; + // Determine right separator + $separator = '&'; if (!isInString('?', $url)) { // No question mark - $seperator = '?'; + $separator = '?'; } elseif ((!isHtmlOutputMode()) || ($outputMode != '0')) { // Non-HTML mode (or forced non-HTML mode - $seperator = '&'; + $separator = '&'; } // Add it to URL if (session_id() != '') { - $url .= $seperator . session_name() . '=' . session_id(); + $url .= $separator . session_name() . '=' . session_id(); } // END - if } // END - if @@ -2400,18 +2363,18 @@ function determinePointsColumnFromSubjectLocked ($subject, $locked) { return $pointsColumn; } -// Setter for referal id (no bigintval, or nicknames will fail!) -function setReferalId ($refid) { +// Setter for referral id (no bigintval, or nicknames will fail!) +function setReferralId ($refid) { $GLOBALS['refid'] = $refid; } // Checks if 'refid' is valid -function isReferalIdValid () { - return ((isset($GLOBALS['refid'])) && (getReferalId() !== NULL) && (getReferalId() > 0)); +function isReferralIdValid () { + return ((isset($GLOBALS['refid'])) && (getReferralId() !== NULL) && (getReferralId() > 0)); } -// Getter for referal id -function getReferalId () { +// Getter for referral id +function getReferralId () { return $GLOBALS['refid']; }