Merge pull request #11 from bessl/patch-2
[gitphp.git] / index.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
<?php
/**
 * GitPHP
 *
 * Index
 *
 * @author Christopher Han <xiphux@gmail.com>
 * @copyright Copyright (c) 2010 Christopher Han
 * @package GitPHP
 */
 
/**
 * Define start time / memory for benchmarking
 */
define('GITPHP_START_TIME', microtime(true));
define('GITPHP_START_MEM', memory_get_usage());
 
/**
 * Define some paths
 */
define('GITPHP_BASEDIR', dirname(__FILE__) . '/');
define('GITPHP_CONFIGDIR', GITPHP_BASEDIR . 'config/');
define('GITPHP_INCLUDEDIR', GITPHP_BASEDIR . 'include/');
define('GITPHP_LOCALEDIR', GITPHP_BASEDIR . 'locale/');
define('GITPHP_CACHEDIR', GITPHP_BASEDIR . 'cache/');
define('GITPHP_LIBDIR', GITPHP_BASEDIR . 'lib/');
define('GITPHP_SMARTYDIR', GITPHP_LIBDIR . 'smarty/libs/');
define('GITPHP_GESHIDIR', GITPHP_LIBDIR . 'geshi/');
 
define('GITPHP_COMPRESS_TAR', 'tar');
define('GITPHP_COMPRESS_BZ2', 'tbz2');
define('GITPHP_COMPRESS_GZ', 'tgz');
define('GITPHP_COMPRESS_ZIP', 'zip');
 
/**
 * Low level setup
 */
if (function_exists('mb_internal_encoding')) {
        mb_internal_encoding("UTF-8");
}
date_default_timezone_set('UTC');
 
/**
 * Version header
 */
include(GITPHP_INCLUDEDIR . 'version.php');
 
/**
 * Autoload setup
 */
require(GITPHP_INCLUDEDIR . 'AutoLoader.class.php');
spl_autoload_register(array('GitPHP_AutoLoader', 'AutoLoad'));
 
 
$router = new GitPHP_Router();
 
try {
 
        $controller = $router->GetController();
        if ($controller) {
                $controller->Initialize();
                $controller->RenderHeaders();
                $controller->Render();
        }
 
} catch (Exception $e) {
 
        $messageController = $router->GetMessageController();
        $messageController->Initialize();
 
        if (!($e instanceof GitPHP_MessageException)) {
                $config = $messageController->GetConfig();
                if ($config && $config->GetValue('debug')) {
                        throw $e;
                }
        }
 
        $messageController->SetParam('exception', $e);
        $messageController->RenderHeaders();
        $messageController->Render();
 
        unset($messageController);
 
}
 
unset($router);
 
if (isset($controller)) {
        $log = $controller->GetLog();
        if ($log && $log->GetEnabled()) {
                $entries = $log->GetEntries();
                foreach ($entries as $logline) {
                        echo "<br />\n" . htmlspecialchars($logline, ENT_QUOTES, 'UTF-8', true);
                }
                unset($logline);
                unset($entries);
        }
        unset($controller);
}
 
?>
 
comments