public function render($controller) { $root = $controller->config['zombie_root']; if ($controller->do_run) { foreach ($controller->data as $var => $val) { ${$var} = $val; } if ($controller->config['env'] == 'dev') { require_once "{$root}/zombie-core/template/createTemplate.php"; eval("?>" . getPHPTemplate("home", "open")); eval("?>" . getPHPTemplate($controller->view_base, $controller->view)); eval("?>" . getPHPTemplate("home", "close")); } else { $file = $root . "/apps/" . $controller->view_base . "/views/.compiled/" . $controller->view . ".php"; $home_view_dir = $root . "/apps/home/views/.compiled/"; $open_view = $home_view_dir . "open.php"; $close_view = $home_view_dir . "close.php"; @(include $open_view); if (file_exists($file)) { @(include $file); } else { $this->warn("Template does not exist: " . $controller->view_base . "/" . $controller->view); } @(include $close_view); } } renderErrorsJs(); $this->renderJsMesg($controller); }
public function render($controller) { $root = $controller->config['zombie_root']; if ($controller->config['env'] == 'dev') { require_once "{$root}/zombie-core/template/createTemplate.php"; eval("?>" . getPHPTemplate("home", "404")); } else { $file = $root . "/apps/home/views/.compiled/404.php"; @(include $file); } $this->renderMessages($controller); }
function compileTemplates() { $config = getZombieConfig(); $root = $config['zombie_root']; $apps = getDirContents($root . "/apps/", array("dir")); foreach ($apps as $app) { $view_dir = "{$root}/apps/{$app}/views/"; $views = getDirContents($view_dir, array("file")); foreach ($views as $view) { $file_in = $view_dir . $view; $parts = pathinfo($file_in); $view_name = $parts['filename']; $ext = $parts['extension']; $compile_dir = $view_dir . ".compiled/"; $file_out_php = $compile_dir . $view_name . ".php"; $file_out_js = $compile_dir . $view_name . ".js"; if (!file_exists($compile_dir)) { mkdir($compile_dir); } if ($ext == 'html') { $php_code = getPHPTemplate($app, $view_name); $js_code = getJSTemplate($app, $view_name); echo "writing {$file_out_php}\n\n"; file_put_contents($file_out_php, $php_code); echo "writing {$file_out_js}\n\n"; file_put_contents($file_out_js, $js_code); } else { if ($ext == 'js') { echo "copying {$file_in}\nto {$file_out_js}\n\n"; copy($file_in, $file_out_js); } else { if ($ext == 'php') { echo "copying {$file_in}\nto {$file_out_php}\n\n"; copy($file_in, $file_out_php); } } } } } }