]> git.mxchange.org Git - mailer.git/blobdiff - inc/functions.php
Admin surfbar stats finished
[mailer.git] / inc / functions.php
index 9cabe85c619b2dcf34aedfa0f93ccc6575227b7e..291d865adba1237ce19a8942adc57650db4055a7 100644 (file)
@@ -196,13 +196,18 @@ function OUTPUT_RAW ($HTML) {
 // Add a fatal error message to the queue array
 function ADD_FATAL ($message, $extra="") {
        global $FATAL;
+
        if (empty($extra)) {
                // Regular text message to add to $FATAL
                $FATAL[] = $message;
        } else {
                // $message is text with a mask plus extras to insert into the text
-               $FATAL[] = sprintf($message, $extra);
+               $message = sprintf($message, $extra);
+               $FATAL[] = $message;
        }
+
+       // Log fatal messages away
+       DEBUG_LOG(__FUNCTION__."(".__LINE__."): message={$message}");
 }
 
 // Load a template file and return it's content (only it's name; do not use ' or ")
@@ -227,21 +232,20 @@ function LOAD_TEMPLATE($template, $return=false, $content=array()) {
                $result = SQL_QUERY_ESC("SELECT gender, surname, family, email FROM "._MYSQL_PREFIX."_user_data WHERE userid=%s LIMIT 1",
                 array($GLOBALS['userid']), __FILE__, __LINE__);
 
-               // @TODO Merge this data into $content
-               list($gender, $surname, $family, $email) = SQL_FETCHROW($result);
+               // Is content an array?
+               if (is_array($content)) {
+                       // Merge data
+                       $content = array_merge($content, SQL_FETCHARRAY($result));
 
-               // Translate gender
-               $gender = TRANSLATE_GENDER($gender);
+                       // Translate gender
+                       $content['gender'] = TRANSLATE_GENDER($content['gender']);
+               } else {
+                       // DEPRECATED: Load data in direct variables
+                       list($gender, $surname, $family, $email) = SQL_FETCHROW($result);
 
-               // Insert data if content is an array
-               if (is_array($content)) {
-                       // Please switch to $content[bla] in all your templates! Direct
-                       // variables are deprecated as of 09/13/2008.
-                       $content['gender']  = $gender;
-                       $content['surname'] = $surname;
-                       $content['family']  = $family;
-                       $content['email']   = $email;
-               } // END - if
+                       // Translate gender
+                       $gender = TRANSLATE_GENDER($gender);
+               }
 
                // Free result
                SQL_FREERESULT($result);
@@ -342,6 +346,10 @@ function LOAD_TEMPLATE($template, $return=false, $content=array()) {
 <br /><br />";
        }
 
+       // Remove content and data
+       unset($content);
+       unset($DATA);
+
        // Do we have some content to output or return?
        if (!empty($ret)) {
                // Not empty so let's put it out! ;)
@@ -419,6 +427,10 @@ function SEND_EMAIL($TO, $SUBJECT, $MSG, $HTML = "N", $FROM = "") {
        $eval = "\$TO = \"".COMPILE_CODE(addslashes($TO))."\";";
        eval($eval);
 
+       // Compile "MSG"
+       $eval = "\$MSG = \"".COMPILE_CODE(addslashes($MSG))."\";";
+       eval($eval);
+
        // Fix HTML parameter (default is no!)
        if (empty($HTML)) $HTML = "N";
        if (isBooleanConstantAndTrue('DEBUG_MODE')) {
@@ -437,10 +449,10 @@ Message : ".$MSG."
                SEND_HTML_EMAIL($TO, $SUBJECT, $MSG, $FROM);
        } elseif (!empty($TO)) {
                // Send Mail away
-               SEND_RAW_EMAIL($TO, COMPILE_CODE($SUBJECT), COMPILE_CODE($MSG), $FROM);
+               SEND_RAW_EMAIL($TO, $SUBJECT, $MSG, $FROM);
        } elseif ($HTML == "N") {
                // Problem found!
-               SEND_RAW_EMAIL(WEBMASTER, COMPILE_CODE($SUBJECT), COMPILE_CODE($MSG), $FROM);
+               SEND_RAW_EMAIL(WEBMASTER, "[PROBLEM:]".$SUBJECT, $MSG, $FROM);
        }
 }
 
@@ -557,13 +569,18 @@ function MAKE_DATETIME ($time, $mode="0")
 }
 
 // Translates the american decimal dot into a german comma
-function TRANSLATE_COMMA ($dotted, $cut=true) {
+function TRANSLATE_COMMA ($dotted, $cut=true, $max=0) {
        global $_CONFIG;
 
        // Default is 3 you can change this in admin area "Misc -> Misc Options"
        if (empty($_CONFIG['max_comma'])) $_CONFIG['max_comma'] = "3";
+
+       // Use from config is default
        $maxComma = $_CONFIG['max_comma'];
 
+       // Use from parameter?
+       if ($max > 0) $maxComma = $max;
+
        // Cut zeros off?
        if ($cut) {
                // Test for commata if in cut-mode
@@ -858,6 +875,10 @@ function LOAD_EMAIL_TEMPLATE($template, $content=array(), $UID="0") {
                if (function_exists('error_get_last')) $newContent .= "\n--------------------------------------\nDebug:\n".print_r(error_get_last(), true)."--------------------------------------\nPlease don't alter these informations!\nThanx.";
        } // END - if
 
+       // Remove content and data
+       unset($content);
+       unset($DATA);
+
        // Return compiled content
        return COMPILE_CODE($newContent);
 }
@@ -2084,7 +2105,7 @@ function genScrambleString($len) {
        $scrambleString = implode(":", $scrambleNumbers);
        return $scrambleString;
 }
-// Append data like session ID referral ID to the given URL which would
+// Append data like session ID or referal ID to the given URL which would
 // normally be stored in cookies
 function ADD_URL_DATA($URL) {
        global $_CONFIG;
@@ -2672,7 +2693,42 @@ function GET_REFERER () {
        // Return it
        return $referer;
 }
-//
+
+// Adds a bonus mail to the queue
+// This is a high-level function!
+function ADD_NEW_BONUS_MAIL ($data, $mode="", $output=true) {
+       // Use mode from data if not set and availble ;-)
+       if ((empty($mode)) && (isset($data['mode']))) $mode = $data['mode'];
+
+       // Generate receiver list
+       $RECEIVER = GENERATE_RECEIVER_LIST($data['cat'], $data['receiver'], $mode);
+
+       // Receivers added?
+       if (!empty($RECEIVER)) {
+               // Add bonus mail to queue
+               ADD_BONUS_MAIL_TO_QUEUE(
+                       $data['subject'],
+                       $data['text'],
+                       $RECEIVER,
+                       $data['points'],
+                       $data['seconds'],
+                       $data['url'],
+                       $data['cat'],
+                       $mode,
+                       $data['receiver']
+               );
+
+               // Mail inserted into bonus pool
+               if ($output) LOAD_TEMPLATE("admin_settings_saved", false, ADMIN_BONUS_SEND);
+       } elseif ($output) {
+               // More entered than can be reached!
+               LOAD_TEMPLATE("admin_settings_saved", false, ADMIN_MORE_SELECTED);
+       } else {
+               // Debug log
+               DEBUG_LOG(__FUNCTION__."(".__LINE__."): cat={$data['cat']},receiver={$data['receiver']},data=".base64_encode(serialize($data))." More selected, than available!");
+       }
+}
+
 //////////////////////////////////////////////////
 //                                              //
 // AUTOMATICALLY RE-GENERATED MISSING FUNCTIONS //