/** * finally sends complete template $name, parsed * and compressed (if setup in config-file) * * @param string template file name * @param string type of output (html,js,css...) * * @access public * * @author patrick.kracht */ public function output($name, $type = "html") { if (!isset($name)) { return trigger_error("Bitte geben Sie ein Template zur Ausgabe an!"); } if (!isset(self::$template[$name])) { self::load($name); } self::set_sql_performance(); self::set_php_performance($name); self::parsed($name); self::special_chars(self::$template[$name]); if (self::$debugoff) { self::compress($name); } // save all previously sent output (with byte-order-mark-filter) $obget = trim(ob_get_clean()); $obget = str_replace("", "", $obget); //BOM $obget = strip_tags(utf8_encode($obget)); // if errormessages were printed, append hidden if (!empty($obget)) { self::$debugout = $obget; } // DEBUGGING (only HTML pages!) if ($type == "html" && (!empty(self::$debugout) || self::$performance)) { self::$template[$name] .= "\n\n<!--\n"; if (!empty(self::$debugout)) { self::$template[$name] .= "\nDEBUG MESSAGES\n\n" . self::$debugout . "\n\n"; } self::$template[$name] .= self::$php_perform; self::$template[$name] .= self::$sql_perform; self::$template[$name] .= "\n-->\n"; } // GZIP ON | OFF if (self::accepts_gzip()) { self::$template[$name] = gzencode(self::$template[$name], 9); } self::headers($type); header("Content-Length: " . strlen(self::$template[$name])); echo self::$template[$name]; }