-
Notifications
You must be signed in to change notification settings - Fork 0
/
init.php
124 lines (121 loc) · 3.85 KB
/
init.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
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
<?php
ini_set("arg_separator.output", "&");
ini_set('default_charset', 'utf-8');
// Start output buffering with gzip compression and start the session
ob_start('ob_gzhandler');
session_start();
// get full path to collabtive
define("CL_ROOT", realpath(dirname(__FILE__)));
// configuration to load
define("CL_CONFIG", "standard");
// collabtive version
define("CL_VERSION", 0.6);
// uncomment for debugging
//error_reporting(E_ALL | E_STRICT);
// include config file , pagination and global functions
require(CL_ROOT . "/config/" . CL_CONFIG . "/config.php");
require(CL_ROOT . "/include/SmartyPaginate.class.php");
require(CL_ROOT . "/include/initfunctions.php");
// Start database connection
if (!empty($db_name) and !empty($db_user))
{
$tdb = new datenbank();
$conn = $tdb->connect($db_name, $db_user, $db_pass, $db_host);
}
// Start template engine
$template = new Smarty();
// get the available languages
$languages = getAvailableLanguages();
// get URL to collabtive
$url = getMyUrl();
$template->assign("url", $url);
$template->assign("languages", $languages);
$template->assign("myversion", "0.6.4");
$template->assign("cl_config", CL_CONFIG);
// Assign globals to all templates
if (isset($_SESSION["userid"]))
{
// unique ID of the user
$userid = $_SESSION["userid"];
// name of the user
$username = $_SESSION["username"];
// timestamp of last login
$lastlogin = $_SESSION["lastlogin"];
// selected locale
$locale = $_SESSION["userlocale"];
// gender
$gender = $_SESSION["usergender"];
// what the user may or may not do
$userpermissions = $_SESSION["userpermissions"];
// assign it all to the templates
$template->assign("userid", $userid);
$template->assign("username", $username);
$template->assign("lastlogin", $lastlogin);
$template->assign("usergender", $gender);
$template->assign("userpermissions", $userpermissions);
$template->assign("loggedin", 1);
}
else
{
$template->assign("loggedin", 0);
}
// get system settings
if (isset($conn))
{
$set = (object) new settings();
$settings = $set->getSettings();
define("CL_DATEFORMAT", $settings["dateformat"]);
date_default_timezone_set($settings["timezone"]);
$template->assign("settings", $settings);
}
// Set Template directory
// If no directory is set in the system settings, default to the standard theme
if (isset($settings['template']))
{
$template->template_dir = CL_ROOT . "/templates/$settings[template]/";
$template->tname = $settings["template"];
}
else
{
$template->template_dir = CL_ROOT . "/templates/standard/";
$template->tname = "standard";
}
if (!isset($locale))
{
if (isset($settings["locale"]))
{
$locale = $settings['locale'];
}
else
{
$locale = "en";
}
$_SESSION['userlocale'] = $locale;
}
// if detected locale doesnt have a corresponding langfile , use system default locale
// if, for whatever reason, no system default language is set, default to english as a last resort
if (!file_exists(CL_ROOT . "/language/$locale/lng.conf"))
{
$locale = $settings['locale'];
$_SESSION['userlocale'] = $locale;
}
// Set locale directory
$template->config_dir = CL_ROOT . "/language/$locale/";
// read language file into PHP array
$langfile = readLangfile($locale);
$template->assign("langfile", $langfile);
$template->assign("locale", $locale);
// css classes for headmenue
// this indicates which of the 3 main stages the user is on
$mainclasses = array("desktop" => "desktop",
"profil" => "profil",
"admin" => "admin"
);
$template->assign("mainclasses", $mainclasses);
$they = date("Y");
$them = date("n");
$template->assign("theM", $them);
$template->assign("theY", $they);
// clear session data for pagination
SmartyPaginate::disconnect();
?>