* -------------------------------------------------------------------- *
* *
* -------------------------------------------------------------------- *
- * 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 *
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));
// 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);
}
// 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="")
{
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);
// 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);
}
// END OF CLASS
}
+
//
?>