This repository was archived by the owner on Nov 24, 2020. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.php
106 lines (90 loc) · 3.85 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
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
<?php
/**
* Created by PhpStorm.
* User: DavidBagaryan
* Date: 12.04.2018
* Time: 15:38
*/
use app\models\gifts\BonusGift;
use app\models\gifts\Gift;
use app\models\gifts\MoneyGift;
use app\models\gifts\ThingGift;
use app\models\Raffle;
use app\models\Renderer;
use app\models\authServices\AuthService;
require_once 'config.php';
spl_autoload_register(function ($class) {
$class = str_replace('\\', '/', $class);
$class = substr($class, 4);
require_once "{$class}.php";
});
//unset($_SESSION['final']['lastToken'], $_POST, $_GET);die;
try {
$authService = AuthService::check();
$raffle = Raffle::check();
Gift::check();
//add some variables for user params
if (!is_null($_SESSION['loggedUser'])) {
$userDefaultParams['id'] = $_SESSION['loggedUser']['id'];
$userDefaultParams['userLogin'] = $_SESSION['loggedUser']['user_login'];
$userDefaultParams['userAddress'] = $_SESSION['loggedUser']['address'];
$userDefaultParams['userBank'] = $_SESSION['loggedUser']['bank_account'];
$userDefaultParams['userBonus'] = $_SESSION['loggedUser']['bonuses'];
}
// add some another variables for user params
if ($raffle and $raffle instanceof Gift) {
if ($raffle instanceof ThingGift) {
$userDefaultParams['giftValue'] = $raffle->getGiftValue()['thing_name'];
$userDefaultParams['giftId'] = $raffle->getId();
$userDefaultParams['giftName'] = $raffle->getName();
} else $userDefaultParams['giftValue'] = $raffle->getGiftValue();
}
// proto router
if (!is_null($_SESSION['loggedUser']) and $_GET['action'] !== 'logout') {
$menu = new Renderer('loggedUser.html');
if (!$raffle) $content = new Renderer('raffle.html');
else {
$userBonus = function ($action) {
return $action['newBonus'] ? $action['newBonus'] : $_SESSION['loggedUser']['bonuses'];
};
$content = new Renderer('userChoice.html');
switch ($_GET['giftAction']) {
case 'first':
$firstAction = $raffle->userFirstAction($_SESSION['loggedUser']);
$userDefaultParams['errors'] = $firstAction;
$userDefaultParams['userBonus'] = $raffle instanceof BonusGift
? $userBonus($firstAction) : $userDefaultParams['userBonus'];
$userDefaultParams['userChoiceFirst'] = null;
$userDefaultParams['userChoiceSecond'] = null;
break;
case 'second':
$secondAction = $raffle->userSecondAction($_SESSION['loggedUser']);
if ($raffle instanceof MoneyGift) {
$userDefaultParams['errors'] = $secondAction['error'];
$userDefaultParams['userBonus'] = $userBonus($secondAction);
} else $userDefaultParams['errors'] = $secondAction;
$userDefaultParams['userChoiceFirst'] = null;
$userDefaultParams['userChoiceSecond'] = null;
break;
default:
$userDefaultParams['userChoiceFirst'] = $raffle::USER_CHOICE_FIRST;
$userDefaultParams['userChoiceSecond'] = $raffle::USER_CHOICE_SECOND;
break;
}
}
} else {
$menu = new Renderer('authMenu.html');
$content = new Renderer($authService->getServiceTemplate());
}
// app bootstrap
$indexContent = new Renderer('index.html');
} catch (Exception $e) {
$e->getMessage();
} finally {
echo $indexContent->render([
'menu' => $menu->render($userDefaultParams),
'module' => $content->render($userDefaultParams),
'errors' => $userDefaultParams['errors'] ? $userDefaultParams['errors'] : $authService->action(),
]);
}
//var_dump($_SESSION);