Fix for broken admin_add_sponsor template
[mailer.git] / inc / functions.php
index 999c6e8e64c792af404dce3b14196a2a5f5fe32d..67a149808f6a231ce91a6d12910edd2bc2bf5900 100644 (file)
@@ -342,7 +342,7 @@ function LOAD_TEMPLATE($template, $return=false, $content=array()) {
                $tmpl_file = implode("", file($file));
 
                // Replace ' to our own chars to preventing them being quoted
-               while (strpos($tmpl_file, "\'") !== false) { $tmpl_file = str_replace("\'", '{QUOT}', $tmpl_file); }
+               while (strpos($tmpl_file, "'") !== false) { $tmpl_file = str_replace("'", '{QUOT}', $tmpl_file); }
 
                // Do we have to compile the code?
                $ret = "";
@@ -458,15 +458,12 @@ function SEND_EMAIL($TO, $SUBJECT, $MSG, $HTML = "N", $FROM = "") {
        if (empty($HTML)) $HTML = "N";
        if (isBooleanConstantAndTrue('DEBUG_MODE')) {
                // In debug mode we want to display the mail instead of sending it away so we can debug this part
-               echo "<pre>
+               print("<pre>
 ".htmlentities(trim($FROM))."
 To      : ".$TO."
 Subject : ".$SUBJECT."
 Message : ".$MSG."
-</pre>\n";
-
-               // Log the mail away
-               if (defined('DEBUG_MAIL')) DEBUG_LOG(__FUNCTION__, __LINE__, "to={$TO},subject={$SUBJECT},msg={$MSG}");
+</pre>\n");
        } elseif (($HTML == "Y") && (EXT_IS_ACTIVE("html_mail"))) {
                // Send mail as HTML away
                SEND_HTML_EMAIL($TO, $SUBJECT, $MSG, $FROM);
@@ -1003,7 +1000,7 @@ function COMPILE_CODE($code, $simple = false, $constants = true, $full = true) {
        } // END - foreach
 
        // But shall I keep simple quotes for later use?
-       if ($simple) $code = str_replace("\'", '{QUOT}', $code);
+       if ($simple) $code = str_replace("'", '{QUOT}', $code);
 
        // Find $content[bla][blub] entries
        @preg_match_all('/\$(content|DATA)((\[([a-zA-Z0-9-_]+)\])*)/', $code, $matches);
@@ -1599,11 +1596,11 @@ function SEND_ADMIN_EMAILS_PRO($subj, $template, $content, $UID) {
 
        // Check which admin shall receive this mail
        $result = SQL_QUERY_ESC("SELECT DISTINCT admin_id FROM "._MYSQL_PREFIX."_admins_mails WHERE mail_template='%s' ORDER BY admin_id",
-        array($template), __FILE__, __LINE__);
+               array($template), __FILE__, __LINE__);
        if (SQL_NUMROWS($result) == 0) {
                // Create new entry (to all admins)
-               $result = SQL_QUERY_ESC("INSERT INTO "._MYSQL_PREFIX."_admins_mails (admin_id, mail_template) VALUES (0, '%s')",
-                array($template), __FILE__, __LINE__);
+               SQL_QUERY_ESC("INSERT INTO "._MYSQL_PREFIX."_admins_mails (admin_id, mail_template) VALUES (0, '%s')",
+                       array($template), __FILE__, __LINE__);
        } else {
                // Load admin IDs...
                $aids = array();
@@ -2004,7 +2001,7 @@ function ADD_CATEGORY_TABLE ($MODE, $return=false) {
        return REGISTER_ADD_CATEGORY_TABLE ($MODE, $return);
 }
 // Generate an email link
-function CREATE_EMAIL_LINK($email, $table="admins") {
+function CREATE_EMAIL_LINK ($email, $table = "admins") {
        // Default email link (INSECURE! Spammer can read this by harvester programs)
        $EMAIL = "mailto:".$email;
 
@@ -2868,6 +2865,120 @@ function getConfig ($entry) {
        return $value;
 }
 
+// @TODO Rewrite all language constants to the function getLanguage().
+// "Getter" for language strings
+function getMessage ($messageId) {
+       // Default is not found!
+       $return = "!".$messageId."!";
+
+       // Is the language string found?
+       if (isset($GLOBALS['msg'][$messageId])) {
+               // Language array element found
+               $return = $GLOBALS['msg'][$messageId];
+       } elseif (defined($messageId)) {
+               // @DEPRECATED Deprecated constant found
+               $return = constant($messageId);
+       } else {
+               // Missing language constant
+               DEBUG_LOG(__FUNCTION__, __LINE__, sprintf("Missing message string %s detected.", $messageId));
+       }
+
+       // Return the string
+       return $return;
+}
+
+// Get current theme name
+function GET_CURR_THEME() {
+       global $INC_POOL, $_CONFIG, $CSS, $cacheArray;
+
+       // The default theme is 'default'... ;-)
+       $ret = "default";
+
+       // Load default theme if not empty from configuration
+       if (getConfig('default_theme') != "") $ret = getConfig('default_theme');
+
+       if (!isSessionVariableSet('mxchange_theme')) {
+               // Set default theme
+               set_session("mxchange_theme", $ret);
+       } elseif ((isSessionVariableSet('mxchange_theme')) && (GET_EXT_VERSION("sql_patches") >= "0.1.4")) {
+               //die("<pre>".print_r($cacheArray['themes'], true)."</pre>");
+               // Get theme from cookie
+               $ret = get_session('mxchange_theme');
+
+               // Is it valid?
+               if (THEME_GET_ID($ret) == 0) {
+                       // Fix it to default
+                       $ret = "default";
+               } // END - if
+       } elseif ((!isBooleanConstantAndTrue('mxchange_installed')) && ((isBooleanConstantAndTrue('mxchange_installing')) || ($CSS == true)) && ((!empty($_GET['theme'])) || (!empty($_POST['theme'])))) {
+               // Prepare FQFN for checking
+               $theme = sprintf("%stheme/%s/theme.php", PATH, SQL_ESCAPE($_GET['theme']));
+
+               // Installation mode active
+               if ((!empty($_GET['theme'])) && (FILE_READABLE($theme))) {
+                       // Set cookie from URL data
+                       set_session("mxchange_theme", SQL_ESCAPE($_GET['theme']));
+               } elseif (FILE_READABLE(sprintf("%stheme/%s/theme.php", PATH, SQL_ESCAPE($_POST['theme'])))) {
+                       // Set cookie from posted data
+                       set_session("mxchange_theme", SQL_ESCAPE($_POST['theme']));
+               }
+
+               // Set return value
+               $ret = get_session('mxchange_theme');
+       } else {
+               // Invalid design, reset cookie
+               set_session("mxchange_theme", $ret);
+       }
+
+       // Add (maybe) found theme.php file to inclusion list
+       $theme = sprintf("%stheme/%s/theme.php", PATH, SQL_ESCAPE($ret));
+
+       // Try to load the requested include file
+       if (FILE_READABLE($theme)) $INC_POOL[] = $theme;
+
+       // Return theme value
+       return $ret;
+}
+
+// Get id from theme
+function THEME_GET_ID ($name) {
+       global $cacheArray, $_CONFIG;
+
+       // Is the extension "theme" installed?
+       if (!EXT_IS_ACTIVE("theme")) {
+               // Then abort here
+               return 0;
+       } // END - if
+
+       // Default id
+       $id = 0;
+
+       // Is the cache entry there?
+       if (isset($cacheArray['themes']['id'][$name])) {
+               // Get the version from cache
+               $id = $cacheArray['themes']['id'][$name];
+
+               // Count up
+               if (getConfig('cache_hits') > 0) { $_CONFIG['cache_hits']++; } else { $_CONFIG['cache_hits'] = 1; }
+       } elseif (GET_EXT_VERSION("cache") != "0.1.8") {
+               // Check if current theme is already imported or not
+               $result = SQL_QUERY_ESC("SELECT id FROM `"._MYSQL_PREFIX."_themes` WHERE theme_path='%s' LIMIT 1",
+                       array($name), __FILE__, __LINE__);
+
+               // Entry found?
+               if (SQL_NUMROWS($result) == 1) {
+                       // Fetch data
+                       list($id) = SQL_FETCHROW($result);
+               } // END - if
+
+               // Free result
+               SQL_FREERESULT($result);
+       }
+
+       // Return id
+       return $id;
+}
+
 //////////////////////////////////////////////////
 //                                              //
 // AUTOMATICALLY RE-GENERATED MISSING FUNCTIONS //