first commit after cleaning
[sview.git] / s.php
CommitLineData
3e641f63
BA
1<?php
2
3//Function to get resources (using $nlevels below)
4function r($toppath) {
5 global $nlevels;
6 $res = '';
7 for ($i=0; $i<$nlevels; $i++)
8 $res .= '../';
9 $res .= $toppath;
10 return $res;
11}
12
13//////////////////////////////////////////////////
14
15//Start buffering output
16ob_start();
17
18//Report any error
19error_reporting(E_ALL);
20
21//Sub-path path to the currently running script. If we're directly on top of a
22//domain, this will probably be empty, else for instance: /john/mysite
23$subpath = str_replace('/index.php', '', $_SERVER['PHP_SELF']);
24
25//Turn a request like /john/mysite/get/page.php?a=32 into /get/page.php?a=32
26$request = str_replace($subpath, '', $_SERVER['REQUEST_URI']);
27
28//Turn a request like /get/page.php?a=32 into get/page?a=32
29$request = str_replace('.php', '', $request);
30
31//Keep only what stands before '?' : get/page
32$location = trim(explode('?', $request)[0], '/');
33//[HACK] The following works better on my university server
34//~ $interrmark = strrpos($request, '?');
35//~ $location = trim(($interrmark!==FALSE ? substr($request,0,$interrmark) : $request), '/');
36
37//If the user asked for main index.php, consider he wanted home page
38if ($location == 'index') $location = '';
39
40//[HACK] Count the number of sub-levels to go up to meet assets folder
41$nlevels = substr_count($location, '/');
42
43//Turn get/page into site/get/page.php
44$phpfile = 'site/'.(strlen($location)>0?$location:'home').'.php';
45
46//Include default values for title, headers, javascripts...
47include 'defaults.php';
48
49//Include common PHP code (functions and constants)
50include 'common.php';
51
52//Finally, include the PHP file
53include (file_exists($phpfile) ? $phpfile : 'site/404.php');
54
55//regular template: flush output into $content variable
56$content = ob_get_contents();
57ob_end_clean();