示例#1
0
<?php

$view['masterview'] = "master_email";
$view['plaintext'] = $model['message'];
jabRequire("markdown");
jabEnterMarkdown(true);
echo $model['message'];
jabLeaveMarkdown();
示例#2
0
function jabRenderPartialView($file, &$model, $renderContext = "partial")
{
    global $jab;
    // Include theme folder and shared view folders
    $oldpath = get_include_path();
    set_include_path($jab['themeFolder'] . PATH_SEPARATOR . get_include_path() . PATH_SEPARATOR . $jab['jab_dir'] . "/shared_views");
    if (substr($file, -4) == ".jab") {
        // Load jab file
        $view = jabLoadContent($file);
        if (isset($view['syntax'])) {
            $jab['syntax_language'] = $view['syntax'];
        }
        // Format content
        jabRequire("markdown");
        $view['content'] = jabMarkdown($view['content']);
    } else {
        if (substr($file, -4) == ".php") {
            // Start buffering
            ob_start();
            // Render it
            include $file;
            // Auto close markdown blocks
            while ($jab['markdown_depth'] > 0) {
                jabLeaveMarkdown();
            }
            // Capture it
            $view['content'] = ob_get_contents();
            // End buffering
            ob_end_clean();
        } else {
            throw new Exception("Unknown view extension for view '" . $file . "'");
        }
    }
    // Use a masterview?
    if ($view['masterview'] == "none") {
        // Just echo the content
        echo $view['content'];
    } else {
        // Default masterview?
        if (!isset($view['masterview'])) {
            $view['masterview'] = "master_view";
        }
        // Include the masterview
        include $view['masterview'] . ".php";
    }
    set_include_path($oldpath);
}