]> git.mxchange.org Git - mailer.git/blobdiff - inc/libs/output_functions.php
Problem with one URL not in reload lock fixed
[mailer.git] / inc / libs / output_functions.php
index 060927966717e3db8bd44fb4eb41cf748e44cbe1..c4391284349b458d32b065d4726abb86aff4981f 100644 (file)
@@ -38,40 +38,37 @@ if (ereg(basename(__FILE__), $_SERVER['PHP_SELF']))
        require($INC);
 }
 // Add HTML to the output stream
-class HTMLParser
-{
+class HTMLParser {
 
 // Initializer
-function HTMLParser()
-{
+function HTMLParser() {
 }
 
 // Add HTML-Code to buffer
-function add_html ($HTML, $NEW_LINE = true)
-{
+function add_html ($HTML, $NEW_LINE = true) {
        global $OUTPUT;
 }
+
 // Compiles HTML code
-function compile_html($code, $simple=false)
-{
+function compile_html($code, $simple=false) {
        global $SEC_CHARS;
 
        // Compile constants
-       $code = str_replace("{--", '".', str_replace("--}", '."', $code));
+       $code = str_replace('{--', '".', str_replace('--}', '."', $code));
 
        // Compile QUOT and other non-HTML codes
-       foreach ($SEC_CHARS['to'] as $k=>$from)
-       {
+       foreach ($SEC_CHARS['to'] as $k=>$from) {
                // Do the reversed thing as in inc/libs/security_functions.php
                $code = str_replace($from, $SEC_CHARS['from'][$k], $code);
        }
 
        // But keep simple quotes for later use
-       if ($simple) $code = str_replace("'", "{QUOT}", $code);
+       if ($simple) $code = str_replace("'", '{QUOT}', $code);
 
        // Return compiled code
        return $code;
 }
+
 // Load a template file and return it's content (only it's name; do not use ' or ")
 function get_template ($template, $return=false, $content="")
 {
@@ -79,93 +76,75 @@ function get_template ($template, $return=false, $content="")
        global $DATA, $ACTION, $WHAT;
        $REFID = bigintval(get_session('refid'));
 
-       if ($template == "member_support_form")
-       {
+       if ($template == "member_support_form") {
                // Support request of a member
-               $ID = bigintval($GLOBALS['userid']);
-               $result = SQL_QUERY_ESC("SELECT sex, surname, family FROM "._MYSQL_PREFIX."_user_data WHERE userid='%s' LIMIT 1", array($ID), __FILE__, __LINE__);
+               $result = SQL_QUERY_ESC("SELECT sex, surname, family FROM "._MYSQL_PREFIX."_user_data WHERE userid='%s' LIMIT 1", array($GLOBALS['userid']), __FILE__, __LINE__);
                list($sex, $surname, $family) = SQL_FETCHROW($result);
                SQL_FREERESULT($result);
                $salut = TRANSLATE_SEX($sex);
        }
 
        // Base directory
-       $BASE = PATH."templates/".GET_LANGUAGE()."/html/";
+       $BASE = sprintf("%stemplates/%s/html/", PATH, GET_LANGUAGE());
        $MODE = "";
 
        // Check for admin/guest/member templates
-       if (strpos($template, "admin_") > -1)
-       {
+       if (strpos($template, "admin_") > -1) {
                // Admin template found
                $MODE = "admin/";
-       }
-        elseif (strpos($template, "guest_") > -1)
-       {
+       } elseif (strpos($template, "guest_") > -1) {
                // Guest template found
                $MODE = "guest/";
-       }
-        elseif (strpos($template, "member_") > -1)
-       {
+       } elseif (strpos($template, "member_") > -1) {
                // Member template found
                $MODE = "member/";
-       }
-        elseif (strpos($template, "install_") > -1)
-       {
+       } elseif (strpos($template, "install_") > -1) {
                // Installation template found
                $MODE = "install/";
-       }
-        elseif (strpos($template, "mailid_") > -1)
-       {
+       } elseif (strpos($template, "mailid_") > -1) {
                // Mail confirmation template found
                $MODE = "mailid/";
        }
 
        // Generate file name
        $file = $BASE.$MODE.$template.".tpl";
-       if ((!empty($HTTP_GET_VARS['what'])) && ((strpos($template, "_header") > 0) || (strpos($template, "_footer") > 0)) && (($MODE == "guest/") || ($MODE == "member/") || ($MODE == "admin/")))
-       {
+       if ((!empty($_GET['what'])) && ((strpos($template, "_header") > 0) || (strpos($template, "_footer") > 0)) && (($MODE == "guest/") || ($MODE == "member/") || ($MODE == "admin/"))) {
                // Select what depended header/footer template file for admin/guest/member area
-               $file2 = $BASE.$MODE.$template."_".$HTTP_GET_VARS['what'].".tpl";
+               $file2 = sprintf("%s%s%s_%s.tpl", $BASE, $MODE, $template, SQL_ESCAPE($_GET['what']));
 
                // Probe for it...
-               if (file_exists($file2)) $file = $file2;
+               if ((file_exists($file2)) && (is_readable($file2))) $file = $file2;
 
                // Remove variable from memory
                unset($file2);
-       }
+       } // END - if
 
        // Does the special template exists?
-       if (!file_exists($file))
-       {
+       if ((!file_exists($file)) || (!is_readable($file))) {
                // Reset to default template
-               $file = PATH."templates/".GET_LANGUAGE()."/html/".$template.".tpl";
-       }
+               $file = sprintf("%stemplates/%s/html/%s.tpl", PATH, GET_LANGUAGE(), $template);
+       } // END - if
 
        // Now does the final template exists?
-       if (file_exists($file))
-       {
+       if ((file_exists($file)) && (is_readable($file))) {
                // The local file does exists so we load it. :)
                $tmpl_file = implode("", file($file));
-               $tmpl_file = str_replace("'", "{QUOT}", $tmpl_file);
+               $tmpl_file = str_replace("'", '{QUOT}', $tmpl_file);
 
                // Compile and run code
                $ret = COMPILE_CODE(addslashes($tmpl_file), false, true);
                $ret = "<!-- Template ".$template." - Start -->\n".$ret."<!-- Template ".$template." - End -->\n";
-       }
-        elseif (IS_ADMIN())
-       {
+       } elseif (IS_ADMIN()) {
                // Only admins shall see this warning
                $ret = "<br /><SPAN class=\"guest_failed\">".TEMPLATE_404."</SPAN><br />
 (".basename($file).")
 <br /><br />";
        }
-       if ($return)
-       {
+
+       if ($return) {
                // Return the HTML code
                return $ret;
-       }
-        else
-       {
+       } else {
                // Output directly
                $this->add_html ($ret);
        }
@@ -173,5 +152,6 @@ function get_template ($template, $return=false, $content="")
 
        // END OF CLASS
 }
+
 //
 ?>