X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=inc%2Flibs%2Foutput_functions.php;h=fb245f9b709f25f690c10aeac7bed389c4f4690c;hb=ea2a5e6a7838127d2f9dec02ba68ec575188528b;hp=060927966717e3db8bd44fb4eb41cf748e44cbe1;hpb=0e899620c7a065952d6787c236fb2b33ae337d6a;p=mailer.git diff --git a/inc/libs/output_functions.php b/inc/libs/output_functions.php index 0609279667..fb245f9b70 100644 --- a/inc/libs/output_functions.php +++ b/inc/libs/output_functions.php @@ -12,7 +12,7 @@ * -------------------------------------------------------------------- * * * * -------------------------------------------------------------------- * - * Copyright (c) 2003, 2004, 2005, 2006, 2007 by Roland Haeder * + * Copyright (c) 2003 - 2008 by Roland Haeder * * For more information visit: http://www.mxchange.org * * * * This program is free software; you can redistribute it and/or modify * @@ -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 = "\n".$ret."\n"; - } - elseif (IS_ADMIN()) - { + } elseif (IS_ADMIN()) { // Only admins shall see this warning $ret = "
".TEMPLATE_404."
(".basename($file).")

"; } - 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 } + // ?>