1
|
|
|
<?php |
2
|
|
|
namespace PSFS\controller; |
3
|
|
|
|
4
|
|
|
use PSFS\base\config\AdminForm; |
5
|
|
|
use PSFS\base\exception\ConfigException; |
6
|
|
|
use PSFS\base\Logger; |
7
|
|
|
use PSFS\base\Request; |
8
|
|
|
use PSFS\base\Router; |
9
|
|
|
use PSFS\base\Security; |
10
|
|
|
use PSFS\base\Template; |
11
|
|
|
use PSFS\controller\base\Admin; |
12
|
|
|
use PSFS\services\AdminServices; |
13
|
|
|
|
14
|
|
|
/** |
15
|
|
|
* Class UserController |
16
|
|
|
* @package PSFS\controller |
17
|
|
|
*/ |
18
|
|
|
class UserController extends Admin |
19
|
|
|
{ |
20
|
|
|
/** |
21
|
|
|
* @return string |
22
|
|
|
*/ |
23
|
1 |
|
public static function showAdminManager() |
24
|
|
|
{ |
25
|
1 |
|
if (Request::getInstance()->getMethod() != 'GET') { |
26
|
|
|
return self::updateAdminUsers(); |
27
|
|
|
} |
28
|
1 |
|
$admins = AdminServices::getInstance()->getAdmins(); |
29
|
1 |
|
$form = new AdminForm(); |
30
|
1 |
|
$form->build(); |
31
|
1 |
|
return Template::getInstance()->render('admin.html.twig', array( |
32
|
1 |
|
'admins' => $admins, |
33
|
1 |
|
'form' => $form, |
34
|
1 |
|
'profiles' => Security::getProfiles(), |
35
|
|
|
)); |
36
|
|
|
} |
37
|
|
|
|
38
|
|
|
/** |
39
|
|
|
* Método que gestiona los usuarios administradores de la plataforma |
40
|
|
|
* @GET |
41
|
|
|
* @route /admin/setup |
42
|
|
|
* @label Gestor de usuarios PSFS |
43
|
|
|
* @return string|null |
44
|
|
|
* @throws \HttpException |
45
|
|
|
*/ |
46
|
|
|
public function adminers() |
47
|
|
|
{ |
48
|
|
|
return self::showAdminManager(); |
49
|
|
|
} |
50
|
|
|
|
51
|
|
|
/** |
52
|
|
|
* @return string |
53
|
|
|
*/ |
54
|
|
|
public static function updateAdminUsers() |
55
|
|
|
{ |
56
|
|
|
$admins = AdminServices::getInstance()->getAdmins(); |
57
|
|
|
$form = new AdminForm(); |
58
|
|
|
$form->build(); |
59
|
|
|
$form->hydrate(); |
60
|
|
|
if ($form->isValid()) { |
61
|
|
|
if (Security::save($form->getData())) { |
62
|
|
|
Logger::log('Configuration saved successful'); |
63
|
|
|
Security::getInstance()->setFlash("callback_message", t("Usuario agregado correctamente")); |
64
|
|
|
Security::getInstance()->setFlash("callback_route", Router::getInstance()->getRoute("admin", true)); |
65
|
|
|
} else { |
66
|
|
|
throw new ConfigException(t('Error al guardar los administradores, prueba a cambiar los permisos')); |
67
|
|
|
} |
68
|
|
|
} |
69
|
|
|
return Template::getInstance()->render('admin.html.twig', array( |
70
|
|
|
'admins' => $admins, |
71
|
|
|
'form' => $form, |
72
|
|
|
'profiles' => Security::getProfiles(), |
73
|
|
|
)); |
74
|
|
|
} |
75
|
|
|
|
76
|
|
|
/** |
77
|
|
|
* Servicio que guarda los usuarios de administración |
78
|
|
|
* @POST |
79
|
|
|
* @route /admin/setup |
80
|
|
|
* @visible false |
81
|
|
|
* @return string|void |
82
|
|
|
* @throws \HttpException |
83
|
|
|
*/ |
84
|
|
|
public function setAdminUsers() |
85
|
|
|
{ |
86
|
|
|
return self::updateAdminUsers(); |
87
|
|
|
} |
88
|
|
|
|
89
|
|
|
/** |
90
|
|
|
* Acción que pinta un formulario genérico de login pra la zona restringida |
91
|
|
|
* @param string $route |
92
|
|
|
* @GET |
93
|
|
|
* @route /admin/login |
94
|
|
|
* @visible false |
95
|
|
|
* @return string HTML |
96
|
|
|
*/ |
97
|
|
|
public function adminLogin($route = null) |
98
|
|
|
{ |
99
|
|
|
if ($this->isAdmin()) { |
100
|
|
|
return $this->redirect('admin'); |
|
|
|
|
101
|
|
|
} else { |
102
|
|
|
return Admin::staticAdminLogon($route); |
103
|
|
|
} |
104
|
|
|
} |
105
|
|
|
} |
106
|
|
|
|
This check looks for function or method calls that always return null and whose return value is used.
The method
getObject()
can return nothing but null, so it makes no sense to use the return value.The reason is most likely that a function or method is imcomplete or has been reduced for debug purposes.