]> git.mxchange.org Git - mailer.git/blobdiff - inc/functions.php
Referal id will now always be stored, if valid can be found in GLOBALS array
[mailer.git] / inc / functions.php
index c85d6fde9ab3ecafe1d007323eb746dac57a7dd4..2dddd0d30fa38a87429d51d50af2a2c66e1f976e 100644 (file)
@@ -868,7 +868,7 @@ function generateHash ($plainText, $salt = '', $hash = true) {
        // Is the required extension 'sql_patches' there and a salt is not given?
        // 123                            4                      43    3     4     432    2                  3             32    2                             3                32    2      3     3      21
        if (((isExtensionInstalledAndOlder('sql_patches', '0.3.6')) && (empty($salt))) || (!isExtensionActive('sql_patches')) || (!isExtensionInstalledAndNewer('other', '0.2.5')) || (strlen($salt) == 32)) {
-               // Extension sql_patches is missing/outdated so we hash the plain text with MD5
+               // Extension ext-sql_patches is missing/outdated so we hash the plain text with MD5
                if ($hash === true) {
                        // Is plain password
                        return md5($plainText);
@@ -1104,10 +1104,10 @@ function generateErrorCodeFromUserStatus ($status = '') {
        } // END - if
 
        // Default error code if unknown account status
-       $errorCode = getCode('ACCOUNT_STATUS_UNKNOWN');
+       $errorCode = getCode('ACCOUNT_UNKNOWN');
 
        // Generate constant name
-       $codeName = sprintf("ACCOUNT_STATUS_%s", strtoupper($status));
+       $codeName = sprintf("ACCOUNT_%s", strtoupper($status));
 
        // Is the constant there?
        if (isCodeSet($codeName)) {
@@ -1317,8 +1317,10 @@ function isUrlValidSimple ($url) {
                $reg = ($reg || preg_match(('^' . $pat . '^'), $url));
 
                // Does it match?
-               if ($reg === true) break;
-       }
+               if ($reg === true) {
+                       break;
+               } // END - if
+       } // END - foreach
 
        // Return true/false
        return $reg;
@@ -1326,7 +1328,7 @@ function isUrlValidSimple ($url) {
 
 // Wtites data to a config.php-style file
 // @TODO Rewrite this function to use readFromFile() and writeToFile()
-function changeDataInFile ($FQFN, $comment, $prefix, $suffix, $DATA, $seek=0) {
+function changeDataInFile ($FQFN, $comment, $prefix, $suffix, $inserted, $seek=0) {
        // Initialize some variables
        $done = false;
        $seek++;
@@ -1356,7 +1358,7 @@ function changeDataInFile ($FQFN, $comment, $prefix, $suffix, $DATA, $seek=0) {
                                        // Read from source file
                                        $line = fgets ($fp, 1024);
 
-                                       if (strpos($line, $search) > -1) { 
+                                       if (strpos($line, $search) > -1) {
                                                $next = '0';
                                                $found = true;
                                        } // END - if
@@ -1364,7 +1366,7 @@ function changeDataInFile ($FQFN, $comment, $prefix, $suffix, $DATA, $seek=0) {
                                        if ($next > -1) {
                                                if ($next === $seek) {
                                                        $next = -1;
-                                                       $line = $prefix . $DATA . $suffix . "\n";
+                                                       $line = $prefix . $inserted . $suffix . "\n";
                                                } else {
                                                        $next++;
                                                }
@@ -1652,30 +1654,39 @@ function determineReferalId () {
        // Check if refid is set
        if (isReferalIdValid()) {
                // This is fine...
+               //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Using refid from GLOBALS (' . getReferalId() . ')');
        } elseif (isPostRequestParameterSet('refid')) {
                // Get referal id from POST element refid
+               //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Using refid from POST data (' . postRequestParameter('refid') . ')');
                setReferalId(secureString(postRequestParameter('refid')));
        } elseif (isGetRequestParameterSet('refid')) {
                // Get referal id from GET parameter refid
+               //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Using refid from GET data (' . getRequestParameter('refid') . ')');
                setReferalId(secureString(getRequestParameter('refid')));
        } elseif (isGetRequestParameterSet('ref')) {
                // Set refid=ref (the referal link uses such variable)
+               //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Using ref from GET data (' . getRequestParameter('refid') . ')');
                setReferalId(secureString(getRequestParameter('ref')));
        } elseif ((isGetRequestParameterSet('user')) && (basename($_SERVER['PHP_SELF']) == 'click.php')) {
                // The variable user comes from  click.php
+               //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Using user from GET data (' . getRequestParameter('user') . ')');
                setReferalId(bigintval(getRequestParameter('user')));
        } elseif ((isSessionVariableSet('refid')) && (isValidUserId(getSession('refid')))) {
-               // Set session refid als global
+               // Set session refid as global
+               //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Using refid from SESSION data (' . getSession('refid') . ')');
                setReferalId(bigintval(getSession('refid')));
        } elseif (isRandomReferalIdEnabled()) {
                // Select a random user which has confirmed enougth mails
+               //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Checking random referal id');
                setReferalId(determineRandomReferalId());
        } 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());
        } else {
                // No default id when sql_patches is not installed or none set
-               setReferalId(null);
+               //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Using NULL as refid');
+               setReferalId(NULL);
        }
 
        // Set cookie when default refid > 0
@@ -1691,24 +1702,33 @@ function determineReferalId () {
                        // If we found it, use the userid as referal 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'));
                        } // END - if
                } elseif (isValidUserId(getReferalId())) {
                        // Direct userid entered
+                       //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Using direct userid (' . getReferalId() . ')');
                        $found = fetchUserData(getReferalId());
                }
 
                // Is the record valid?
                if ((($found === false) || (!isUserDataValid())) && (isExtensionInstalledAndNewer('sql_patches', '0.1.2'))) {
                        // No, then reset referal id
+                       //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Using default refid (' . getDefRefid() . ')');
                        setReferalId(getDefRefid());
                } // END - if
 
                // Set cookie
+               //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Saving refid to session (' . getReferalId() . ') #1');
                setSession('refid', getReferalId());
        } elseif (!isReferalIdValid()) {
                // Not valid!
-               setSession('refid', 0);
+               //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Not valid referal id (' . getReferalId() . '), setting NULL in session');
+               setSession('refid', NULL);
+       } elseif ((!isSessionVariableSet('refid')) && (isValidUserId(getReferalId()))) {
+               // Set it from GLOBALS array in session
+               //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Saving refid to session (' . getReferalId() . ') #2');
+               setSession('refid', getReferalId());
        }
 
        // Return determined refid
@@ -2149,7 +2169,7 @@ function handleFieldWithBraces ($field) {
        return $field;
 }
 
-// Converts a userid so it can be used in SQL queries
+// Converts a zero or NULL to word 'NULL'
 function makeZeroToNull ($number) {
        // Is it a valid username?
        if ((!is_null($number)) && ($number > 0)) {
@@ -2164,6 +2184,18 @@ function makeZeroToNull ($number) {
        return $number;
 }
 
+// Converts NULL into number zero
+function makeNullToZero ($number) {
+       // Is this a NULL?
+       if ((is_null($number)) || (empty($number))) {
+               // Simply set it
+               $number = '0';
+       } // END - if
+
+       // Return it
+       return $number;
+}
+
 // Capitalizes a string with underscores, e.g.: some_foo_string will become SomeFooString
 // Note: This function is cached
 function capitalizeUnderscoreString ($str) {
@@ -2337,7 +2369,7 @@ function getArrayKeysFromSubStrArray ($heystack, $needles, $offset = 0) {
 
 // Determines database column name from given subject and locked
 function determinePointsColumnFromSubjectLocked ($subject, $locked) {
-       /* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'subject=' . $subject . ',locked=' . intval($locked) . ' - ENTERED!');
+       //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'subject=' . $subject . ',locked=' . intval($locked) . ' - ENTERED!');
        // Default is 'normal' points
        $pointsColumn = 'points';
 
@@ -2360,7 +2392,7 @@ function determinePointsColumnFromSubjectLocked ($subject, $locked) {
        $pointsColumn = $filterData['column'];
 
        // Return it
-       /* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'subject=' . $subject . ',locked=' . intval($locked) . ',pointsColumn=' . $pointsColumn . ' - EXIT!');
+       //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'subject=' . $subject . ',locked=' . intval($locked) . ',pointsColumn=' . $pointsColumn . ' - EXIT!');
        return $pointsColumn;
 }
 
@@ -2410,6 +2442,24 @@ function translateTaskType ($taskType) {
        return $message;
 }
 
+// Translates points subject to human-readable
+function translatePointsSubject ($subject) {
+       // Construct message id
+       $messageId = 'POINTS_SUBJECT_' . strtoupper($subject) . '';
+
+       // Is the message id there?
+       if (isMessageIdValid($messageId)) {
+               // Then construct message
+               $message = '{--' . $messageId . '--}';
+       } else {
+               // Else it is an unknown task type
+               $message = '{%message,POINTS_SUBJECT_UNKNOWN=' . $subject . '%}';
+       } // END - if
+
+       // Return message
+       return $message;
+}
+
 // "Translates" 'true' to true and 'false' to false
 function convertStringToBoolean ($str) {
        // Trim it lower-case for validation
@@ -2425,6 +2475,30 @@ function convertStringToBoolean ($str) {
        return (($str == 'true') ? true : false);
 }
 
+/**
+ * "Makes" a variable in given string parseable, this function will throw an
+ * error if the first character is not a dollar sign.
+ *
+ * @param      $varString      String which contains a variable
+ * @return     $return         String with added single quotes for better parsing
+ */
+function makeParseableVariable ($varString) {
+       // The first character must be a dollar sign
+       if (substr($varString, 0, 1) != '$') {
+               // Please report this
+               debug_report_bug(__FUNCTION__, __LINE__, 'varString=' . $varString . ' - No dollar sign detected, will not parse it.');
+       } // END - if
+
+       // Do we have cache?
+       if (!isset($GLOBALS[__FUNCTION__][$varString])) {
+               // Snap them in, if [,] are there
+               $GLOBALS[__FUNCTION__][$varString] = str_replace('[', "['", str_replace(']', "']", $varString));
+       } // END - if
+
+       // Return cache
+       return $GLOBALS[__FUNCTION__][$varString];
+}
+
 //-----------------------------------------------------------------------------
 // Automatically re-created functions, all taken from user comments on www.php.net
 //-----------------------------------------------------------------------------