summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--INSTALL6
-rw-r--r--htaccess.template10
-rw-r--r--include/output.php29
4 files changed, 38 insertions, 8 deletions
diff --git a/.gitignore b/.gitignore
index 6a0fae2..73d57b1 100644
--- a/.gitignore
+++ b/.gitignore
@@ -8,3 +8,4 @@ pics/arrow2.svg
pics/arrow3.svg
scoretest.txt
testscoring.php
+.htaccess \ No newline at end of file
diff --git a/INSTALL b/INSTALL
index 1929213..886a94d 100644
--- a/INSTALL
+++ b/INSTALL
@@ -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>