X-Git-Url: https://jasonwoof.com/gitweb/?a=blobdiff_plain;f=run.php;h=03d849afb636727f2ce6643556b539633eb8a358;hb=d03e8554ee3e80a6333126e67dd4c20f54ec700e;hp=3a3d85a2d285e718437186d88f60c0f978bfcfd6;hpb=97722b7dc03c635483cf18bdeec9a8f18c1d7260;p=wfpl.git diff --git a/run.php b/run.php index 3a3d85a..03d849a 100644 --- a/run.php +++ b/run.php @@ -4,20 +4,19 @@ # # This file is part of wfpl. # -# wfpl is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) +# wfpl is free software; you can redistribute it and/or modify it under the +# terms of the GNU Lesser General Public License as published by the Free +# Software Foundation; either version 2.1 of the License, or (at your option) # any later version. # -# wfpl is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. +# wfpl is distributed in the hope that it will be useful, but WITHOUT ANY +# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for +# more details. # -# You should have received a copy of the GNU General Public License -# along with wfpl; see the file COPYING. If not, write to the -# Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, -# MA 02111-1307, USA. +# You should have received a copy of the GNU Lesser General Public License +# along with wfpl; if not, write to the Free Software Foundation, Inc., 51 +# Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA # This file facilitates making a site with mixed PHP and html files. All URLs @@ -54,7 +53,10 @@ # RewriteEngine on # RewriteRule ^$ /foo/run.php -# RewriteRule .*\.html$ /foo/run.php +# RewriteRule ^foo/[^/]*\.html$ /foo/run.php + +require_once('code/wfpl/file_run.php'); +require_once('code/wfpl/http.php'); function run_php($basename = false) { if($basename) { @@ -70,12 +72,23 @@ function run_php($basename = false) { } 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; + 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(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')) {