root/dev/common/index.php @ 134

Revision 134, 2.9 KB (checked in by exi, 14 years ago)

Added standings-management.
Changed installer step 3 to only use POST data now.
Character portraits should now look a bit better.
Changed all smarty template requests to use a wrapper function.
Modified standard page for IGB.
Added php compat file to reduce minimal needed version to 4.0.9.

Line 
1<?php
2require_once('db.php');
3require_once('class.killboard.php');
4require_once('smarty/Smarty.class.php');
5require_once('config.php');
6
7$page = str_replace('.', '', $_GET['a']);
8$page = str_replace('/', '', $page);
9if ($page == '')
10{
11    $page = 'home';
12}
13if (substr($_SERVER['HTTP_USER_AGENT'], 0, 15) == 'EVE-minibrowser')
14{
15    define('IS_IGB', true);
16    if (!isset($_GET['a']))
17    {
18        $page = 'igb';
19    }
20}
21else
22{
23    define('IS_IGB', false);
24}
25
26$killboard = new Killboard(KB_SITE);
27$config = $killboard->getConfig();
28$smarty = new Smarty();
29$smarty->template_dir = './templates';
30$smarty->compile_dir = './cache/templates_c';
31$smarty->cache_dir = './cache/data';
32$smarty->assign('style_url', STYLE_URL);
33$smarty->assign('img_url', IMG_URL);
34$smarty->assign_by_ref('config', $config);
35if (!is_dir('./cache/templates_c'))
36{
37    if (mkdir('./cache/templates_c'))
38    {
39        chmod('./cache/templates_c', 0777);
40    }
41    else
42    {
43        exit('please create cache/templates_c and chmod it 777');
44    }
45}
46// if ($killboard->isSuspended())
47// $page = 'suspended';
48
49if (substr($page, 0, 9) == 'settings_')
50{
51    $settingsPage = true;
52}
53$mods_active = explode(',', $config->getConfig('mods_active'));
54$modOverrides = false;
55foreach ($mods_active as $mod)
56{
57    if (file_exists('mods/'.$mod.'/'.$page.'.php'))
58    {
59        if ($modOverrides)
60        {
61            die('Error: Two or more of the mods you have activated are conflicting');
62        }
63        $modOverrides = true;
64        $modOverride = $mod;
65    }
66}
67if (!$settingsPage && !file_exists('common/'.$page.'.php') && !$modOverrides)
68{
69    $page = 'home';
70}
71
72if (KB_CACHE == 1 && count($_POST) == 0 && !in_array($page, $cacheignore))
73{
74    $docache = true;
75}
76
77if ($docache)
78{
79    if (!file_exists(KB_CACHEDIR . '/' . KB_SITE))
80    {
81        @mkdir(KB_CACHEDIR . '/' . KB_SITE);
82    }
83
84    if ($cachetimes[$page])
85    {
86        $cachetime = $cachetimes[$page];
87    }
88    else
89    {
90        $cachetime = 5;
91    }
92
93    $cachetime = $cachetime * 60;
94
95    $cachefile = KB_CACHEDIR . '/' . KB_SITE . '/' . md5($_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']) . '.cache';
96    $timestamp = ((@file_exists($cachefile))) ? @filemtime($cachefile) : 0;
97
98    if (time() - $cachetime < $timestamp)
99    {
100        ob_start('ob_gzhandler');
101        @readfile($cachefile);
102        ob_end_flush();
103        exit();
104    }
105
106    ob_start();
107}
108
109if ($settingsPage)
110{
111    include ('mods/'.substr($page, 9, strlen($page)-9).'/settings.php');
112}
113elseif ($modOverrides)
114{
115    include('mods/'.$modOverride.'/'.$page.'.php');
116}
117else
118{
119    include('common/'.$page.'.php');
120}
121
122if ($docache)
123{
124    $fp = @fopen($cachefile, 'w');
125    @fwrite($fp, ob_get_contents());
126    @fwrite($fp, '<!-- Generated from cache -->');
127    @fclose($fp);
128    ob_end_flush();
129}
130?>
Note: See TracBrowser for help on using the browser.