function fill_template($data, $template, $context = NULL) { $context[] = $data; foreach ($template as $tem) { if (is_string($tem)) { $output .= $tem; } else { $tag = array_shift($tem); if ($tem) { # sub-template $value = tem_get($tag, $context); foreach (template_rows($value) as $row) { $output .= fill_template($row, $tem, $context); } } else { $output .= tem_get_enc($tag, $context); } } } return $output; }
$title = "A propos de BreakFast"; $description = 'L\'entreprise <b>BreakFast Company</b> est un "start-up", qu\'était fondue en 2014. Notre but sera de vous propose un déjeuner d\'une qualité excellente dans un temps minimal.<br /> Nos déjeuners sont préparés par notre team à la minute - n\'importe si l\'ordre est placée en ligne ou en magasin.<br />'; $subTitle = "Notre team"; break; } function fill_template(&$template, $tag, $content) { $template = str_replace("@{$tag}@", $content, $template); } $template = file_get_contents(ROOT . "/sites/about_us.html"); fill_template($template, "title", $title); fill_template($template, "description", $description); fill_template($template, "subTitle", $subTitle); echo $template; ?> <table> <tr> <td><img src="./img/user-a.png" width="100px" /></td> <td>Timo Bürk<br /> <?php echo '<img src="' . $status_burkt4["img_url"] . '" alt="' . $status_burkt4["text"] . '" title="' . $status_burkt4["text"] . '">'; echo " " . getSkypeStatusText($status_burkt4); ?> </td> </tr> <tr> <td><img src="./img/user-b.png" width="100px" /></td>
<td>+1 123 456 79</td> </tr>'; break; case "fr": $address = 'The BreakFast Company<br /> Aarefeldstrasse 16<br /> 3600 Thoune <br /> <br />'; $phoneNumbers = '<tr> <td>Téléphone: </td> <td>+1 123 456 78</td> </tr> <tr> <td>Fax:</td> <td>+1 123 456 79</td> </tr>'; break; } $template = file_get_contents(ROOT . "/sites/contact.html"); fill_template($template, "lang", $lang); fill_template($template, "title", $contactTitle); fill_template($template, "address", $address); fill_template($template, "contactNumbers", $phoneNumbers); fill_template($template, "contactUs", $contactFormHeading); fill_template($template, "firstname", $AddressFirstnameLabel); fill_template($template, "lastname", $AddressLastnameLabel); fill_template($template, "email", $AddressEmailLabel); fill_template($template, "phonenumber", $contactPhoneNumber); fill_template($template, "comments", $contactComments); fill_template($template, "send", $contactFormSend); echo $template;
function run_php($dest = false) { if ($dest) { # if it has a : it must be a full URL, redirect if (strpos($dest, ':')) { redirect($dest); exit; } # if it starts with './' then it's a relative URL, redirect if (substr($dest, 0, 2) == './') { redirect(ereg_replace('/[^/]*$', substr($dest, 1), this_url())); exit; } # otherwise, it's a normal basename, display that content $basename = $dest; } else { # no dest arg $basename = $_SERVER['REDIRECT_URL']; $basename = ereg_replace('.*/', '', $basename); $basename = ereg_replace('\\.html$', '', $basename); if ($basename == '') { $basename = 'index'; } } $html_file = "{$basename}.html"; $php_file = "{$basename}.php"; $html_exists = file_exists($html_file); $php_exists = file_exists($php_file); # cms_get can return one of: # 1) false to indicate that there's no cms content for this basename # 2) a string to request a soft/full redirect just like foo_main() # 3) a hash of key/value pairs to be added to the template if (function_exists('cms_get')) { $cms_content = cms_get($basename); if (is_string($cms_content)) { run_php($cms_content); return; } } if ($php_exists) { # files can return a basename or URL of a page to be run/displayed $other = file_run($php_file); if ($other) { run_php($other); return; } } elseif ($html_exists) { readfile($html_file); exit; } elseif (!$cms_content) { header('HTTP/1.0 404 File Not Found'); if (file_exists('404.php') || file_exists('404.html')) { run_php('404'); return; } else { echo '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html><head><title>404</title></head><body><h1>404 File Not Found</h1></body></html>'; } } $data =& $GLOBALS['wfpl_template']; $data['basename'] = $basename; if ($cms_content) { foreach ($cms_content as $name => $value) { $data[$name] .= $value; } } if (file_exists("{$basename}.css")) { $data['css_link'] = "{$basename}.css"; } if (file_exists("template.html")) { $template = parse_template_file("template.html"); if ($html_exists) { $subs = parse_template_file($html_file); $template = merge_templates($template, $subs); } } elseif ($html_exists) { $template = parse_template_file("{$html_file}"); } if ($template) { print fill_template($data, $template); } }