-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.php
61 lines (61 loc) · 2.39 KB
/
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
<?php
require_once __DIR__ . '/vendor/autoload.php';
session_start();
define('MAIN_DIR', __DIR__);
define('HOST', $_SERVER['HTTP_HOST']);
//define('HOST', 'localhost/hosting-git-helper-copy');
require 'app/functions.php';
$controller = new \App\Controllers\GitHubController;
if (isset($_SERVER['REDIRECT_URL'])) {
$request = $_SERVER['REDIRECT_URL'];
$inner_address = explode('/', $request);
if (strpos(HOST, $inner_address[1]))
$inner_address = array_slice($inner_address, 1, count($inner_address));
if (!($token = sessionGet('token')) && $inner_address[1] != "token") {
echo "go to <a href='".getHost()."/token'>Token</a>";
} else {
if (sessionGet('token')) {
setGlobals('github', new \Github\Client());
getGlobals('github')->authenticate(sessionGet('token'), null, \Github\Client::AUTH_HTTP_TOKEN);
setGlobals('user', getGlobals('github')->currentUser()->show());
setGlobals('username', getGlobals('user')['login']);
}
switch ($inner_address[1]) {
case 'token':
if (methodPost())
$controller->tokenPageDo();
else
$controller->tokenPage();
break;
case 'repositories':
$controller->showRepositories();
break;
case 'repository':
$controller->showRepository($inner_address[2]);
break;
case 'branches':
$controller->showBranches($inner_address[2]);
break;
case 'commits':
$controller->showCommits($inner_address[2], $inner_address[3]);
break;
case 'commit':
$controller->showCommit($inner_address[2], $inner_address[3], $inner_address[4]);
break;
case 'pull':
$controller->pullCommit($inner_address[2], $inner_address[3], $inner_address[4]);
break;
case 'clone':
$controller->cloneLink($inner_address[2], $inner_address[3]);
break;
case 'cloneToDisk':
$controller->cloneToDisk($inner_address[2], $inner_address[3]);
break;
case 'changeProjectDirectory':
$controller->changeProjectDirectory();
break;
}
}
} else {
echo "welcome";
}