Newer
Older
<?php
/**
* Copyright Maarch since 2008 under licence GPLv3.
* See LICENCE.txt file at the root folder for more details.
* This file is part of Maarch software.
*
*/
/**
* @brief Home Controller
* @author dev@maarch.org
*/
namespace Home\controllers;
use Basket\models\BasketModel;
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
use Slim\Http\Request;
use Slim\Http\Response;
use User\models\UserModel;
class HomeController
{
public function get(Request $request, Response $response)
{
$regroupedBaskets = [];
$user = UserModel::getByUserId(['userId' => $GLOBALS['userId'], 'select' => ['id']]);
$redirectedBaskets = BasketModel::getRedirectedBasketsByUserId(['userId' => $GLOBALS['userId']]);
$groups = UserModel::getGroupsByUserId(['userId' => $GLOBALS['userId']]);
foreach ($groups as $group) {
$baskets = BasketModel::getAvailableBasketsByGroupUser([
'select' => ['baskets.basket_id', 'baskets.basket_name', 'baskets.basket_desc', 'baskets.basket_clause', 'baskets.color', 'users_baskets_preferences.color as pcolor'],
'userSerialId' => $user['id'],
'groupId' => $group['group_id'],
'groupSerialId' => $group['id']
]);
foreach ($baskets as $kBasket => $basket) {
if (!empty($basket['pcolor'])) {
$baskets[$kBasket]['color'] = $basket['pcolor'];
}
if (empty($baskets[$kBasket]['color'])) {
$baskets[$kBasket]['color'] = '#666666';
}
$baskets[$kBasket]['redirected'] = false;
foreach ($redirectedBaskets as $redirectedBasket) {
if ($redirectedBasket['basket_id'] == $basket['basket_id']) {
$baskets[$kBasket]['redirected'] = true;
$baskets[$kBasket]['redirectedUser'] = $redirectedBasket['userToDisplay'];
}
}
$baskets[$kBasket]['resourceNumber'] = BasketModel::getResourceNumberByClause(['userId' => $GLOBALS['userId'], 'clause' => $basket['basket_clause']]);
unset($baskets[$kBasket]['pcolor'], $baskets[$kBasket]['basket_clause']);
}
if (!empty($baskets)) {
$regroupedBaskets[] = [
'groupSerialId' => $group['id'],
'groupId' => $group['group_id'],
'groupDesc' => $group['group_desc'],
'baskets' => $baskets
];
}
}
$assignedBaskets = BasketModel::getAbsBasketsByUserId(['userId' => $GLOBALS['userId']]);
foreach ($assignedBaskets as $key => $assignedBasket) {
$basket = BasketModel::getById(['select' => ['basket_clause'], 'id' => $assignedBasket['basket_id']]);
$assignedBaskets[$key]['resourceNumber'] = BasketModel::getResourceNumberByClause(['userId' => $assignedBasket['user_abs'], 'clause' => $basket['basket_clause']]);
}
$lastResources = ResModel::getLastResources([
'select' => ['res_letterbox.res_id', 'res_letterbox.subject', 'res_letterbox.creation_date'],
'number' => 5
]);
return $response->withJson(['regroupedBaskets' => $regroupedBaskets, 'assignedBaskets' => $assignedBaskets, 'lastResources' => $lastResources]);