diff options
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | INSTALL | 6 | ||||
-rw-r--r-- | htaccess.template | 10 | ||||
-rw-r--r-- | include/output.php | 29 |
4 files changed, 38 insertions, 8 deletions
@@ -8,3 +8,4 @@ pics/arrow2.svg pics/arrow3.svg scoretest.txt testscoring.php +.htaccess
\ No newline at end of file @@ -55,6 +55,10 @@ Installation return; } -3) Log in and enjoy ;) +3) install .htaccess: copy htaccess.template to .htaccess and edit it to set RewriteBase. + If your site is at http://example.org/~test/edoko you need to set + RewriteBase to /~test/edoko + +4) Log in and enjoy ;) Arun diff --git a/htaccess.template b/htaccess.template new file mode 100644 index 0000000..351842c --- /dev/null +++ b/htaccess.template @@ -0,0 +1,10 @@ +RewriteEngine on + +# need to set this to your web path +RewriteBase /<web path to your files> + +# hide git directory (and others) +RedirectMatch 404 \.(git|cvs|svn|bzr|hg)(/.*|$) + +# use autoversioning of js and css files +RewriteRule ^(.*)\.[[:xdigit:]]{32}\.(css|js)$ $1.$2 [L] diff --git a/include/output.php b/include/output.php index 92c301f..a075fb3 100644 --- a/include/output.php +++ b/include/output.php @@ -26,6 +26,21 @@ if(!isset($HOST)) /* functions which only ouput html */ +function autoversion($file) +{ + /* changes the file name of e.g. css/style.css to css/style.<md5>.css/js + * this way the browser can cache the file and will reload it if the file changed + * needs to have .htaccess set up correctly to link back to css/style.css */ + + /* only use it for file that have an absolut path */ + if(!file_exists(dirname($_SERVER['SCRIPT_FILENAME']). '/' . $file)) + return $file; + + $md5 = md5_file(dirname($_SERVER['SCRIPT_FILENAME']). '/' . $file); + return preg_replace('{\\.([^./]+)$}', ".$md5.\$1", $file); +} + + function output_ask_for_new_game($playerA,$playerB,$playerC,$playerD,$oldgameid) { global $RULES; @@ -410,13 +425,13 @@ function output_header() <meta charset="utf-8" /> <meta name="viewport" content="width=device-width; initial-scale=1.0;" /> <link rel="shortcut icon" href="pics/edoko-favicon.png" /> - <link rel="stylesheet" href="css/normalize.css?v=1" /> - <link rel="stylesheet" href="css/standard.css?v=41" /> - <link rel="stylesheet" href="css/dateinput.css?v=1"/> - <script type="text/javascript" src="include/jquery.js"> </script> - <script type="text/javascript" src="include/jquery.tablesorter.js"></script> - <script type="text/javascript" src="include/jquery.tools.min.js"></script> - <script type="text/javascript" src="include/game.js"> </script> + <link rel="stylesheet" href="<?php echo autoversion("css/normalize.css"); ?>" /> + <link rel="stylesheet" href="<?php echo autoversion("css/standard.css"); ?>" /> + <link rel="stylesheet" href="<?php echo autoversion("css/dateinput.css"); ?>"/> + <script type="text/javascript" src="<?php echo autoversion("include/jquery.js"); ?>"> </script> + <script type="text/javascript" src="<?php echo autoversion("include/jquery.tablesorter.js"); ?>"></script> + <script type="text/javascript" src="<?php echo autoversion("include/jquery.tools.min.js"); ?>"></script> + <script type="text/javascript" src="<?php echo autoversion("include/game.js"); ?>"> </script> <script type="text/javascript"> </script> </head> |