X-Git-Url: https://jasonwoof.com/gitweb/?a=blobdiff_plain;f=run.php;h=dac7bc4d6fb95ec96d48e860c0fcfab1421548b9;hb=dabdfec87e89ad579cf543608ad118f30981a1c5;hp=79a05dc661c5c40b0b6a0b19647262cb50a0ede3;hpb=22d5fb7ab7d4ee86bd59e194387dca268bd577a1;p=wfpl.git diff --git a/run.php b/run.php index 79a05dc..dac7bc4 100644 --- a/run.php +++ b/run.php @@ -53,32 +53,26 @@ # RewriteEngine on # RewriteRule ^$ /foo/run.php -# RewriteRule ^/foo/[^/]*\.html$ /foo/run.php +# RewriteRule ^foo/[^/]*\.html$ /foo/run.php require_once('code/wfpl/file_run.php'); +require_once('code/wfpl/http.php'); +require_once('code/wfpl/template.php'); function run_php($basename = false) { - if($basename) { - $html_file = "$basename.html"; - $php_file = "$basename.php"; - } else { - $html_file = $_SERVER['REDIRECT_URL']; - $html_file = ereg_replace('.*/', '', $html_file); - if($html_file == '') { - $html_file = 'index.html'; + if(!$basename) { + $basename = $_SERVER['REDIRECT_URL']; + $basename = ereg_replace('.*/', '', $basename); + $basename = ereg_replace('\.html$', '', $basename); + if($basename == '') { + $basename = 'index'; } - $php_file = ereg_replace('\.html$', '.php', $html_file); } - if($php_file != $html_file && file_exists($php_file)) { - require_once('code/wfpl/template.php'); - if(file_exists($html_file)) tem_load($html_file); - $other = file_run($php_file); - if($other) { - run_php($other); - return; - } - if(file_exists($html_file)) tem_output(); - } else { + + $html_file = "$basename.html"; + $php_file = "$basename.php"; + + if(!file_exists($php_file)) { if(file_exists($html_file)) { readfile($html_file); } else { @@ -89,6 +83,45 @@ function run_php($basename = false) { echo '404

404 File Not Found

'; } } + exit(); + } + + if(file_exists($html_file)) { + $GLOBALS['wfpl_template'] = new tem(); + tem_load($html_file); + } + + $other = file_run($php_file); + if($other) { + if(strpos($other, ':')) { + redirect($other); + exit(); + } + run_php($other); + return; + } + + if($GLOBALS['wfpl_template']) { + if(file_exists('template.html')) { + $tem = new tem(); + $tem->load("template.html"); + $sections = tem_top_subs(); + if($sections) foreach($sections as $name => $val) { + $tem->set($name, $val); + } + + if(file_exists("$basename.css")) { + $tem->set('css_link', "$basename.css"); + $tem->sub('css_links'); + } + + $GLOBALS['wfpl_template'] = $tem; + } + + if(function_exists('display_messages')) { + display_messages(); + } + tem_output(); } }