-
Notifications
You must be signed in to change notification settings - Fork 2
/
inc.bootstrap.php
68 lines (49 loc) · 1.76 KB
/
inc.bootstrap.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
<?php
$_start = microtime(1);
// Always. UTF-8. Everywhere. Always.
header('Content-type: text/html; charset=utf-8');
const JIRA_COOKIE_NAME = 'JIRA_AUTH_2';
// Some app constants
define('FORCE_JIRA_USER_SYNC', 600); // 10m
define('FORCE_AUTO_VARS_SYNC', 14400); // 4h
define('FORMAT_DATETIME', "j M 'y H:i");
define('FORMAT_DATE', "j M 'y");
define('WORKLOG_DATETIME', 'Y-m-d\\TH:i:s.000O');
// Context
require 'env.php';
require 'vendor/autoload.php';
require 'inc.functions.php';
// Database
$db = db_sqlite::open(array('database' => DB_PATH));
$db->ensureSchema(require 'inc.schema.php');
// Classes
require 'inc.account.php';
require 'inc.user.php';
require 'inc.issue.php';
db_generic_model::$_db = $db;
// Jira API resource prefixes
define('JIRA_API_PATH', '/rest/api/2/');
define('JIRA_API_1_PATH', '/rest/api/1.0/');
// Request constants
define('IS_AJAX', strtolower($_SERVER['HTTP_X_REQUESTED_WITH'] ?? '') === 'xmlhttprequest');
define('OAUTH_REDIRECT_URL', 'https://' . $_SERVER['HTTP_HOST'] . '/oauth2-callback.php');
// Init Jira request history
$jira_history = array();
// Current session
$user = null;
if ( isset($_COOKIE[JIRA_COOKIE_NAME]) && count($accounts = get_accounts()) ) {
$account = $accounts[0];
define('JIRA_URL', $account->apiUrl);
define('JIRA_AUTH', $account->auth);
define('JIRA_USER', $account->username);
define('JIRA_SERVER', $account->server);
define('XSRF_TOKEN', md5(date('Y-m-d H') . ':' . JIRA_URL . ':' . JIRA_AUTH));
$url = parse_url(JIRA_SERVER);
define('JIRA_ORIGIN', $url['scheme'] . '://' . $url['host']);
$user = User::load(JIRA_SERVER, JIRA_USER);
if ( $user && $user->jira_timezone ) {
date_default_timezone_set($user->jira_timezone);
}
}
// Frontpage / homepage / index page, to change the main menu items
$index = false;