aboutsummaryrefslogtreecommitdiffhomepage
path: root/inc/3rdparty/PicoFarad/Template.php
blob: c32be3093e5a0a91def4b5bce43856357db5c001 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<?php

namespace PicoFarad\Template;

const PATH = 'templates/';

// Template\load('template_name', ['bla' => 'value']);
function load()
{
    if (func_num_args() < 1 || func_num_args() > 2) {
        die('Invalid template arguments');
    }

    if (! file_exists(PATH.func_get_arg(0).'.php')) {
        die('Unable to load the template: "'.func_get_arg(0).'"');
    }

    if (func_num_args() === 2) {

        if (! is_array(func_get_arg(1))) {
            die('Template variables must be an array');
        }

        extract(func_get_arg(1));
    }

    ob_start();
    include PATH.func_get_arg(0).'.php';
    return ob_get_clean();
}


function layout($template_name, array $template_args = array(), $layout_name = 'layout')
{
    return load($layout_name, $template_args + array('content_for_layout' => load($template_name, $template_args)));
}