]> git.mxchange.org Git - mailer.git/blobdiff - inc/functions.php
Last references to now replaced with mergeConfig()
[mailer.git] / inc / functions.php
index 2ee2e1e2648972fae280c075f2c5f2596276302e..591a56c702a432cd908f76714cba97d5b76506a2 100644 (file)
@@ -98,7 +98,7 @@ function OUTPUT_HTML ($HTML, $newLine = true) {
                default:
                        // Huh, something goes wrong or maybe you have edited config.php ???
                        DEBUG_LOG(__FUNCTION__, __LINE__, sprintf("Invalid renderer %s detected.", constant('OUTPUT_MODE')));
-                       mxchange_die("<strong>{!FATAL_ERROR!}:</strong> {!LANG_NO_RENDER_DIRECT!}");
+                       mxchange_die("<strong>{--FATAL_ERROR--}:</strong> {--LANG_NO_RENDER_DIRECT--}");
                        break;
                }
        } elseif ((constant('_OB_CACHING') == "on") && ($footer == 1)) {
@@ -145,7 +145,7 @@ function OUTPUT_HTML ($HTML, $newLine = true) {
                        // Was that eval okay?
                        if (empty($newContent)) {
                                // Something went wrong!
-                               die("Evaluation error:<pre>".htmlentities($eval)."</pre>");
+                               mxchange_die("Evaluation error:<pre>".htmlentities($eval)."</pre>");
                        } // END - if
                        $OUTPUT = $newContent;
                } // END - while
@@ -185,15 +185,17 @@ function OUTPUT_RAW ($HTML) {
 function addFatalMessage ($message, $extra="") {
        global $FATAL;
 
-       if (empty($extra)) {
-               // Regular text message to add to $FATAL
-               $FATAL[] = $message;
-       } else {
+       if (is_array($extra)) {
+               // Multiple extras for a message with masks
+               $message = call_user_func_array('sprintf', $extra);
+       } elseif (!empty($extra)) {
                // $message is text with a mask plus extras to insert into the text
                $message = sprintf($message, $extra);
-               $FATAL[] = $message;
        }
 
+       // Add message to $FATAL
+       $FATAL[] = $message;
+
        // Log fatal messages away
        DEBUG_LOG(__FUNCTION__, __LINE__, " message={$message}");
 }
@@ -853,22 +855,22 @@ function LOAD_EMAIL_TEMPLATE($template, $content=array(), $UID="0") {
                $tmpl_file = addslashes($tmpl_file);
 
                // Run code
-               $tmpl_file = "\$newContent=html_entity_decode(\"".COMPILE_CODE($tmpl_file)."\");";
+               $tmpl_file = "\$newContent = html_entity_decode(\"".COMPILE_CODE($tmpl_file)."\");";
                @eval($tmpl_file);
        } elseif (!empty($template)) {
                // Template file not found!
-               $newContent = TEMPLATE_404.": ".$template."<br />
-".TEMPLATE_CONTENT."
+               $newContent = "{--TEMPLATE_404--}: ".$template."<br />
+{--TEMPLATE_CONTENT--}
 <pre>".print_r($content, true)."</pre>
-".TEMPLATE_DATA."
+{--TEMPLATE_DATA--}
 <pre>".print_r($DATA, true)."</pre>
 <br /><br />";
 
                // Debug mode not active? Then remove the HTML tags
-               if (!DEBUG_MODE) $newContent = strip_tags($newContent);
+               if (!isBooleanConstantAndTrue('DEBUG_MODE')) $newContent = strip_tags($newContent);
        } else {
                // No template name supplied!
-               $newContent = NO_TEMPLATE_SUPPLIED;
+               $newContent = getMessage('NO_TEMPLATE_SUPPLIED');
        }
 
        // Is there some content?
@@ -1197,9 +1199,9 @@ function ADD_SELECTION($type, $DEFAULT, $prefix="", $id="0") {
        case "yn":
                $OUT .= "<option value=\"Y\"";
                if ($DEFAULT == "Y") $OUT .= " selected=\"selected\"";
-               $OUT .= ">{!YES!}</option>\n<option value=\"N\"";
+               $OUT .= ">{--YES--}</option>\n<option value=\"N\"";
                if ($DEFAULT == "N") $OUT .= " selected=\"selected\"";
-               $OUT .= ">{!NO!}</option>\n";
+               $OUT .= ">{--NO--}</option>\n";
                break;
        }
        $OUT .= "    </select>\n";
@@ -1403,31 +1405,31 @@ function CREATE_TIME_SELECTIONS ($timestamp, $prefix="", $display="", $align="ce
                $OUT .= "<tr>\n";
 
                if (ereg('Y', $display) || (empty($display))) {
-                       $OUT .= "  <td align=\"center\" class=\"admin_title bottom\"><div class=\"tiny\">"._YEARS."</strong></td>\n";
+                       $OUT .= "  <td align=\"center\" class=\"admin_title bottom\"><div class=\"tiny\">{--_YEARS--}</strong></td>\n";
                }
 
                if (ereg("M", $display) || (empty($display))) {
-                       $OUT .= "  <td align=\"center\" class=\"admin_title bottom\"><div class=\"tiny\">"._MONTHS."</strong></td>\n";
+                       $OUT .= "  <td align=\"center\" class=\"admin_title bottom\"><div class=\"tiny\">{--_MONTHS--}</strong></td>\n";
                }
 
                if (ereg("W", $display) || (empty($display))) {
-                       $OUT .= "  <td align=\"center\" class=\"admin_title bottom\"><div class=\"tiny\">"._WEEKS."</strong></td>\n";
+                       $OUT .= "  <td align=\"center\" class=\"admin_title bottom\"><div class=\"tiny\">{--_WEEKS--}</strong></td>\n";
                }
 
                if (ereg("D", $display) || (empty($display))) {
-                       $OUT .= "  <td align=\"center\" class=\"admin_title bottom\"><div class=\"tiny\">"._DAYS."</strong></td>\n";
+                       $OUT .= "  <td align=\"center\" class=\"admin_title bottom\"><div class=\"tiny\">{--_DAYS--}</strong></td>\n";
                }
 
                if (ereg("h", $display) || (empty($display))) {
-                       $OUT .= "  <td align=\"center\" class=\"admin_title bottom\"><div class=\"tiny\">"._HOURS."</strong></td>\n";
+                       $OUT .= "  <td align=\"center\" class=\"admin_title bottom\"><div class=\"tiny\">{--_HOURS--}</strong></td>\n";
                }
 
                if (ereg("m", $display) || (empty($display))) {
-                       $OUT .= "  <td align=\"center\" class=\"admin_title bottom\"><div class=\"tiny\">"._MINUTES."</strong></td>\n";
+                       $OUT .= "  <td align=\"center\" class=\"admin_title bottom\"><div class=\"tiny\">{--_MINUTES--}</strong></td>\n";
                }
 
                if (ereg("s", $display) || (empty($display))) {
-                       $OUT .= "  <td align=\"center\" class=\"admin_title bottom\"><div class=\"tiny\">"._SECONDS."</strong></td>\n";
+                       $OUT .= "  <td align=\"center\" class=\"admin_title bottom\"><div class=\"tiny\">{--_SECONDS--}</strong></td>\n";
                }
 
                $OUT .= "</tr>\n";
@@ -1438,7 +1440,7 @@ function CREATE_TIME_SELECTIONS ($timestamp, $prefix="", $display="", $align="ce
                        $OUT .= "  <td align=\"center\"><select class=\"mini_select\" name=\"".$prefix."_ye\" size=\"1\">\n";
                        for ($idx = 0; $idx <= 10; $idx++) {
                                $OUT .= "    <option class=\"mini_select\" value=\"".$idx."\"";
-                               if ($idx == $Y) $OUT .= " selected default";
+                               if ($idx == $Y) $OUT .= " selected=\"selected\"";
                                $OUT .= ">".$idx."</option>\n";
                        }
                        $OUT .= "  </select></td>\n";
@@ -1452,7 +1454,7 @@ function CREATE_TIME_SELECTIONS ($timestamp, $prefix="", $display="", $align="ce
                        for ($idx = 0; $idx <= 11; $idx++)
                        {
                                        $OUT .= "  <option class=\"mini_select\" value=\"".$idx."\"";
-                               if ($idx == $M) $OUT .= " selected default";
+                               if ($idx == $M) $OUT .= " selected=\"selected\"";
                                $OUT .= ">".$idx."</option>\n";
                        }
                        $OUT .= "  </select></td>\n";
@@ -1465,7 +1467,7 @@ function CREATE_TIME_SELECTIONS ($timestamp, $prefix="", $display="", $align="ce
                        $OUT .= "  <td align=\"center\"><select class=\"mini_select\" name=\"".$prefix."_we\" size=\"1\">\n";
                        for ($idx = 0; $idx <= 4; $idx++) {
                                $OUT .= "  <option class=\"mini_select\" value=\"".$idx."\"";
-                               if ($idx == $W) $OUT .= " selected default";
+                               if ($idx == $W) $OUT .= " selected=\"selected\"";
                                $OUT .= ">".$idx."</option>\n";
                        }
                        $OUT .= "  </select></td>\n";
@@ -1478,7 +1480,7 @@ function CREATE_TIME_SELECTIONS ($timestamp, $prefix="", $display="", $align="ce
                        $OUT .= "  <td align=\"center\"><select class=\"mini_select\" name=\"".$prefix."_da\" size=\"1\">\n";
                        for ($idx = 0; $idx <= 31; $idx++) {
                                $OUT .= "  <option class=\"mini_select\" value=\"".$idx."\"";
-                               if ($idx == $D) $OUT .= " selected default";
+                               if ($idx == $D) $OUT .= " selected=\"selected\"";
                                $OUT .= ">".$idx."</option>\n";
                        }
                        $OUT .= "  </select></td>\n";
@@ -1491,7 +1493,7 @@ function CREATE_TIME_SELECTIONS ($timestamp, $prefix="", $display="", $align="ce
                        $OUT .= "  <td align=\"center\"><select class=\"mini_select\" name=\"".$prefix."_ho\" size=\"1\">\n";
                        for ($idx = 0; $idx <= 23; $idx++)      {
                                $OUT .= "  <option class=\"mini_select\" value=\"".$idx."\"";
-                               if ($idx == $h) $OUT .= " selected default";
+                               if ($idx == $h) $OUT .= " selected=\"selected\"";
                                $OUT .= ">".$idx."</option>\n";
                        }
                        $OUT .= "  </select></td>\n";
@@ -1504,7 +1506,7 @@ function CREATE_TIME_SELECTIONS ($timestamp, $prefix="", $display="", $align="ce
                        $OUT .= "  <td align=\"center\"><select class=\"mini_select\" name=\"".$prefix."_mi\" size=\"1\">\n";
                        for ($idx = 0; $idx <= 59; $idx++) {
                                $OUT .= "  <option class=\"mini_select\" value=\"".$idx."\"";
-                               if ($idx == $m) $OUT .= " selected default";
+                               if ($idx == $m) $OUT .= " selected=\"selected\"";
                                $OUT .= ">".$idx."</option>\n";
                        }
                        $OUT .= "  </select></td>\n";
@@ -1517,7 +1519,7 @@ function CREATE_TIME_SELECTIONS ($timestamp, $prefix="", $display="", $align="ce
                        $OUT .= "  <td align=\"center\"><select class=\"mini_select\" name=\"".$prefix."_se\" size=\"1\">\n";
                        for ($idx = 0; $idx <= 59; $idx++) {
                                $OUT .= "  <option class=\"mini_select\" value=\"".$idx."\"";
-                               if ($idx == $s) $OUT .= " selected default";
+                               if ($idx == $s) $OUT .= " selected=\"selected\"";
                                $OUT .= ">".$idx."</option>\n";
                        }
                        $OUT .= "  </select></td>\n";
@@ -1559,9 +1561,10 @@ function CREATE_TIMESTAMP_FROM_SELECTIONS ($prefix, $POST) {
        // Return calculated value
        return $ret;
 }
+
 // Sends out mail to all administrators
 // IMPORTANT: Please use SEND_ADMIN_NOTIFCATION() for now!
-function SEND_ADMIN_EMAILS_PRO($subj, $template, $content, $UID) {
+function SEND_ADMIN_EMAILS_PRO ($subj, $template, $content, $UID) {
        // Trim template name
        $template = trim($template);
 
@@ -1585,17 +1588,28 @@ function SEND_ADMIN_EMAILS_PRO($subj, $template, $content, $UID) {
                $aids = array();
                while (list($aid) = SQL_FETCHROW($result)) {
                        $aids[] = $aid;
-               }
+               } // END - while
 
                // Free memory
                SQL_FREERESULT($result);
 
+               // Init result
+               $result = false;
+
                // "implode" IDs and query string
                $aid = implode(",", $aids);
                if ($aid == "-1") {
-                       // Add line to userlog
-                       USERLOG_ADD_LINE($subj, $msg, $UID);
-                       return;
+                       if (EXT_IS_ACTIVE("events")) {
+                               // Add line to user events
+                               EVENTS_ADD_LINE($subj, $msg, $UID);
+                       } else {
+                               // Log error for debug
+                               DEBUG_LOG(__FUNCTION__, __LINE__, sprintf("Extension 'events' missing: tpl=%s,subj=%s,UID=%s",
+                                       $template,
+                                       $subj,
+                                       $UID
+                               ));
+                       }
                } elseif ($aid == "0") {
                        // Select all email adresses
                        $result = SQL_QUERY("SELECT email FROM `{!_MYSQL_PREFIX!}_admins` ORDER BY `id`", __FILE__, __LINE__);
@@ -1608,7 +1622,7 @@ function SEND_ADMIN_EMAILS_PRO($subj, $template, $content, $UID) {
        // Load email addresses and send away
        while (list($email) = SQL_FETCHROW($result)) {
                SEND_EMAIL($email, $subj, $msg);
-       }
+       } // END - while
 
        // Free memory
        SQL_FREERESULT($result);
@@ -1945,7 +1959,7 @@ function MEMBER_ACTION_LINKS ($uid, $status = "") {
        $eval = "\$OUT = \"[&nbsp;";
 
        foreach ($TARGETS as $tar) {
-               $eval .= "<span class=\\\"admin_user_link\\\"><a href=\\\"{!URL!}/modules.php?module=admin&amp;what=".$tar."&amp;u_id=".$uid."\\\" title=\\\"{!ADMIN_LINK_";
+               $eval .= "<span class=\\\"admin_user_link\\\"><a href=\\\"{!URL!}/modules.php?module=admin&amp;what=".$tar."&amp;u_id=".$uid."\\\" title=\\\"{--ADMIN_LINK_";
                //* DEBUG: */ echo "*".$tar."/".$status."*<br />\n";
                if (($tar == "lock_user") && ($status == "LOCKED")) {
                        // Locked accounts shall be unlocked
@@ -1954,7 +1968,7 @@ function MEMBER_ACTION_LINKS ($uid, $status = "") {
                        // All other status is fine
                        $eval .= strtoupper($tar);
                }
-               $eval .= "_TITLE!}\\\">{!ADMIN_";
+               $eval .= "_TITLE--}\\\">{--ADMIN_";
                if (($tar == "lock_user") && ($status == "LOCKED")) {
                        // Locked accounts shall be unlocked
                        $eval .= "UNLOCK_USER";
@@ -1962,7 +1976,7 @@ function MEMBER_ACTION_LINKS ($uid, $status = "") {
                        // All other status is fine
                        $eval .= strtoupper($tar);
                }
-               $eval .= "!}</a></span>&nbsp;|&nbsp;";
+               $eval .= "--}</a></span>&nbsp;|&nbsp;";
        }
 
        // Finish navigation link
@@ -2638,7 +2652,7 @@ function CACHE_PURGE_ADMIN_MENU ($id=0, $action="", $what="", $str="") {
                // No cache instance!
                DEBUG_LOG(__FUNCTION__, __LINE__, " No cache instance found.");
                return false;
-       } elseif ((!isConfigEntrySet('cache_admin_menu')) || (getConfig('cache_admin_menu') == "N")) {
+       } elseif ((!isConfigEntrySet('cache_admin_menu')) || (getConfig('cache_admin_menu') != "Y")) {
                // Caching disabled (currently experiemental!)
                return false;
        }
@@ -2821,6 +2835,12 @@ function IF_APACHE_MODULE_LOADED ($apacheModule) {
        return (((function_exists('apache_get_modules')) && (in_array($apacheModule, apache_get_modules()))) || (!function_exists('apache_get_modules')));
 }
 
+// Merges $_CONFIG with data in given array
+function mergeConfig ($newConfig) {
+       global $_CONFIG;
+       $_CONFIG = merge_array($_CONFIG, $newConfig);
+}
+
 // Getter for $_CONFIG entries
 function getConfig ($entry) {
        global $_CONFIG;
@@ -3184,7 +3204,7 @@ function debug_report_bug ($message = "") {
 }
 
 // Generates a ***weak*** seed (taken from de.php.net/mt_srand)
-function make_seed () {
+function generateSeed () {
        list($usec, $sec) = explode(" ", microtime());
        return ((float)$sec + (float)$usec);
 }
@@ -3194,7 +3214,7 @@ function convertCodeToMessage ($code) {
        $msg = "";
        switch ($code) {
                case constant('CODE_LOGOUT_DONE')      : $msg = getMessage('LOGOUT_DONE'); break;
-               case constant('CODE_LOGOUT_FAILED')    : $msg = "<span class=\"guest_failed\">{!LOGOUT_FAILED!}</span>"; break;
+               case constant('CODE_LOGOUT_FAILED')    : $msg = "<span class=\"guest_failed\">{--LOGOUT_FAILED--}</span>"; break;
                case constant('CODE_DATA_INVALID')     : $msg = getMessage('MAIL_DATA_INVALID'); break;
                case constant('CODE_POSSIBLE_INVALID') : $msg = getMessage('MAIL_POSSIBLE_INVALID'); break;
                case constant('CODE_ACCOUNT_LOCKED')   : $msg = getMessage('MEMBER_ACCOUNT_LOCKED_UNC'); break;
@@ -3228,6 +3248,44 @@ function convertCodeToMessage ($code) {
        return $msg;
 }
 
+// Checks wether the given extension is currently not installed
+// and redirects if so.
+function REDIRCT_ON_UNINSTALLED_EXTENSION ($ext_name) {
+       // Is the extension uninstalled/inactive?
+       if (!EXT_IS_ACTIVE($ext_name)) {
+               // Redirect to index
+               LOAD_URL("modules.php?module=index&amp;msg=".constant('CODE_EXTENSION_PROBLEM')."&amp;ext=".$ext_name);
+       } // END - if
+}
+
+// Generate a "link" for the given admin id (aid)
+function GENERATE_AID_LINK ($aid) {
+       // No assigned admin is default
+       $admin = "<div class=\"admin_note\">{--ADMIN_NO_ADMIN_ASSIGNED--}</div>";
+
+       // Zero? = Not assigned
+       if ($aid == "0") {
+               // Load admin's login
+               $login = GET_ADMIN_LOGIN($aid);
+               if ($login != "***") {
+                       // Is the extension there?
+                       if (EXT_IS_ACTIVE("admins")) {
+                               // Admin found
+                               $admin = "<a href=\"".ADMINS_CREATE_EMAIL_LINK(GET_ADMIN_EMAIL($aid))."\">".$login."</a>";
+                       } else {
+                               // Extension not found
+                               $admin = sprintf(getMessage('EXTENSION_PROBLEM_NOT_INSTALLED'), "admins");
+                       }
+               } else {
+                       // Maybe deleted?
+                       $admin = "<div class=\"admin_note\">".sprintf(getMessage('ADMIN_ID_404'), $aid)."</div>";
+               }
+       } // END - if
+
+       // Return result
+       return $admin;
+}
+
 //////////////////////////////////////////////////
 // AUTOMATICALLY RE-GENERATED MISSING FUNCTIONS //
 //////////////////////////////////////////////////