X-Git-Url: https://jasonwoof.com/gitweb/?a=blobdiff_plain;f=run.php;h=20b3111120675cb5545c337015c0e65ed3fb571b;hb=130669e105c06dbfa3272ae9a2c41d5f11003a80;hp=1b5b19bd4bb07a76874a9d3d74ed4eaaf8b24118;hpb=1b701682c788072eb0d469fc77b2925fc8ef16b5;p=wfpl.git diff --git a/run.php b/run.php index 1b5b19b..20b3111 100644 --- a/run.php +++ b/run.php @@ -42,44 +42,46 @@ -# To activate this script in a directory, you'll need to put something like the -# following in you your .htaccess file (where /foo/ is the part of the url -# between the hostname and the filename.) The example below would work for this -# url: http://example.com/foo/bar.html +# To activate this script in a directory, you'll need to: +# +# 1) make a symbolic link to (or copy of) this file in your directory. and +# +# 3) Set your webserver to run this script instead of html files. Here's how to +# do that with apache: put something like the following in you your .htaccess +# file (where /foo/ is the part of the url between the hostname and the +# filename.) The example below would work for this url: +# http://example.com/foo/bar.html # RewriteEngine on -# RewriteBase /foo/ -# RewriteRule .*\.html$ /foo/code/wfpl/run.php +# RewriteRule ^$ /foo/run.php +# RewriteRule .*\.html$ /foo/run.php + +require_once('code/wfpl/file_run.php'); function run_php($basename = false) { if($basename) { $html_file = "$basename.html"; $php_file = "$basename.php"; } else { - - # first we must find the file and directory that was actually requested - # (before we messed it up with mod_rewrite) - $fs_path = $_SERVER['DOCUMENT_ROOT'] . $_SERVER['REDIRECT_URL']; - $split = strrpos($fs_path, '/'); # find the last slash - $directory = substr($fs_path, 0, $split); - $file = substr($fs_path, $split + 1); - - if($file == '') { - $file = 'index.html'; + $html_file = $_SERVER['REDIRECT_URL']; + $html_file = ereg_replace('.*/', '', $html_file); + if($html_file == '') { + $html_file = 'index.html'; } - - chdir($directory); - $html_file = $file; $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); - require $php_file; + $other = file_run($php_file); + if($other) { + run_php($other); + return; + } if(file_exists($html_file)) tem_output(); } else { if(file_exists($html_file)) { - require $html_file; + readfile($html_file); } else { header('HTTP/1.0 404 File Not Found'); if(file_exists('404.php') || file_exists('404.html')) {