/** * Obtém a string HTML de uma View que será renderizada. * * @param type $view * @param type $vars * @param type $layout * * @return <string> */ private static function get_html($view, $vars = array(), $layout = null) { # iniciamos uma sessão de buffer para obter o resultado HTML compremido. ob_start(); if ($layout !== null) { self::$view = $view; self::$vars = $vars; self::render_if_exists('@elements/layouts/' . $layout); } else { self::render_if_exists($view, $vars); } # obtemos o HTML e finalizamos a sessão de buffer $html = ob_get_contents(); ob_end_clean(); return $html; }
/** * Initialize view and set template & layout properties * @global object $db Instance of database object * @global object $config Site configuration settings * @param string $page [optional] Page whose information to load * @return void View is initialized */ static function InitView($page = null) { if (!empty(self::$vars)) { return true; } global $db, $config; self::$vars = new stdClass(); self::$vars->db = $db; self::$vars->config = $config; self::$options = new stdClass(); self::$options->layout = 'default'; self::$options->header = self::GetFallbackPath('layouts/' . self::$options->layout . '.header.tpl'); self::$options->footer = self::GetFallbackPath('layouts/' . self::$options->layout . '.footer.tpl'); self::$options->blocks = array(); // Load page's meta information into memory for use in templates if ($page) { self::$options->page = $page; self::$vars->meta = Language::GetMeta($page); if (empty(self::$vars->meta->title)) { self::$vars->meta->title = $config->sitename; } } Plugin::Trigger('view.init'); }
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=Edge" /> <?php View::partial('metatags', View::vars()); ?> <?php $url = !empty($_SERVER['HTTPS']) ? 'https://' : 'http://'; $url .= $_SERVER['HTTP_HOST'] . htmlspecialchars($_SERVER['REQUEST_URI']); echo '<meta property="og:url" content="' . $url . '" />'; ?> <meta property="og:type" content="website" /> <meta property="og:site_name" content="SubLite" /> <meta property="fb:app_id" content="478408982286879"/> <link rel="shortcut icon" type="image/png" href="data:<?php echo $GLOBALS['dirpre']; ?> assets/gfx/favicon.png" /> <!-- JQUERY --> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> <script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.2/jquery-ui.min.js"></script> <link rel="stylesheet" href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/themes/smoothness/jquery-ui.css"> <script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.3/jquery-ui.min.js"></script> <?php