Proyectos de Subversion LeadersLinked - Services

Rev

Rev 1 | Mostrar el archivo completo | | | Autoría | Ultima modificación | Ver Log |

Rev 1 Rev 345
Línea 1... Línea 1...
1
<?php
1
<?php
2
 
-
 
3
declare(strict_types=1);
2
declare(strict_types = 1);
4
 
-
 
5
namespace LeadersLinked\Authentication;
3
namespace LeadersLinked\Authentication;
Línea 6... Línea 4...
6
 
4
 
7
use Laminas\Authentication\Adapter\AdapterInterface as AuthAdapterInterface; 
5
use Laminas\Authentication\Adapter\AdapterInterface as AuthAdapterInterface;
8
use Laminas\Authentication\Result;
6
use Laminas\Authentication\Result;
9
use Laminas\Db\Adapter\AdapterInterface;
7
use Laminas\Db\Adapter\AdapterInterface;
10
use Laminas\Log\LoggerInterface;
8
use Laminas\Log\LoggerInterface;
11
use LeadersLinked\Model\User;
9
use LeadersLinked\Model\User;
Línea 15... Línea 13...
15
use LeadersLinked\Mapper\UserProfileMapper;
13
use LeadersLinked\Mapper\UserProfileMapper;
16
use LeadersLinked\Mapper\UserProviderMapper;
14
use LeadersLinked\Mapper\UserProviderMapper;
Línea 17... Línea 15...
17
 
15
 
18
class AuthEmailAdapter implements AuthAdapterInterface
16
class AuthEmailAdapter implements AuthAdapterInterface
-
 
17
{
19
{
18
 
20
    /**
19
    /**
21
     *
20
     *
22
     * @var AdapterInterface
21
     * @var AdapterInterface
23
     */
22
     */
Línea 24... Línea 23...
24
    private $adapter;
23
    private $adapter;
25
 
24
 
26
    /**
25
    /**
27
     * 
26
     *
28
     * @var string
27
     * @var string
29
     */
28
     */
30
    private $email;
29
    private $email;
31
    
30
 
32
    /**
31
    /**
33
     * 
32
     *
34
     * @var int
33
     * @var int
35
     */
-
 
Línea 36... Línea 34...
36
    private $network_id;
34
     */
37
    
35
    private $network_id;
38
 
36
 
39
    /**
37
    /**
40
     * 
38
     *
41
     * @param AdapterInterface $adapter
39
     * @param AdapterInterface $adapter
42
     */
40
     */
43
    public function __construct(AdapterInterface $adapter)
41
    public function __construct(AdapterInterface $adapter)
Línea 44... Línea 42...
44
    {
42
    {
45
        $this->adapter = $adapter; 
43
        $this->adapter = $adapter;
46
    }
44
    }
47
 
45
 
48
    /**
46
    /**
49
     * 
47
     *
50
     * @param string $email
48
     * @param string $email
51
     * @param int $network_id
49
     * @param int $network_id
52
     * @return null
50
     * @return null
53
     */
51
     */
54
    public function setData($email, $network_id)
52
    public function setData($email, $network_id)
55
    {
53
    {
56
        $this->email = $email;
54
        $this->email = $email;
57
        $this->network_id = $network_id;
55
        $this->network_id = $network_id;
58
    }
56
    }
59
    
57
 
60
    /**
58
    /**
61
     * 
59
     *
62
     * {@inheritDoc}
60
     * {@inheritdoc}
63
     * @see \Laminas\Authentication\Adapter\AdapterInterface::authenticate()
-
 
64
     */
61
     * @see \Laminas\Authentication\Adapter\AdapterInterface::authenticate()
65
    public function authenticate()
62
     */
66
    {
-
 
67
       
-
 
68
        $userMapper = UserMapper::getInstance($this->adapter);
-
 
Línea -... Línea 63...
-
 
63
    public function authenticate()
-
 
64
    {
69
        $user = $userMapper->fetchOneByEmailAndNetworkId($this->email, $this->network_id);
65
        $userMapper = UserMapper::getInstance($this->adapter);
70
        
66
        $user = $userMapper->fetchOneByEmailAndNetworkId($this->email, $this->network_id);
-
 
67
 
-
 
68
        if ($user) {
71
        if($user) {
69
 
72
        
70
            if (User::EMAIL_VERIFIED_NO == $user->email_verified) {
73
 
71
                return new Result(Result::FAILURE_UNCATEGORIZED, null, [
-
 
72
                    'ERROR_USER_EMAIL_HASNT_BEEN_VARIFIED'
-
 
73
                ]);
74
            if(User::EMAIL_VERIFIED_NO == $user->email_verified) {
74
            }
75
                return new Result(Result::FAILURE_UNCATEGORIZED, null, ['ERROR_USER_EMAIL_HASNT_BEEN_VARIFIED']);
75
            if (User::BLOCKED_YES == $user->blocked) {
76
            }
76
                return new Result(Result::FAILURE_UNCATEGORIZED, null, [
77
            if(User::BLOCKED_YES == $user->blocked) {
77
                    'ERROR_USER_IS_BLOCKED'
-
 
78
                ]);
78
                return new Result(Result::FAILURE_UNCATEGORIZED, null, ['ERROR_USER_IS_BLOCKED']);
79
            }
79
            }
-
 
80
            
-
 
81
            if(User::STATUS_INACTIVE == $user->status) {
-
 
82
                return new Result(Result::FAILURE_UNCATEGORIZED, null, ['ERROR_USER_IS_INACTIVE']);
80
 
83
            } 
-
 
84
            
81
            if (User::STATUS_INACTIVE == $user->status) {
85
            if(User::REQUEST_ACCESS_PENDING == $user->request_access) {
82
                return new Result(Result::FAILURE_UNCATEGORIZED, null, [
86
                return new Result(Result::FAILURE_UNCATEGORIZED, null, ['ERROR_USER_REQUEST_ACCESS_IS_PENDING']);
83
                    'ERROR_USER_IS_INACTIVE'
-
 
84
                ]);
-
 
85
            }
87
            }
86
 
88
            
87
            if (User::REQUEST_ACCESS_PENDING == $user->request_access) {
-
 
88
                return new Result(Result::FAILURE_UNCATEGORIZED, null, [
-
 
89
                    'ERROR_USER_REQUEST_ACCESS_IS_PENDING'
-
 
90
                ]);
-
 
91
            }
-
 
92
 
-
 
93
            if (User::REQUEST_ACCESS_REJECTED == $user->request_access) {
89
            
94
                return new Result(Result::FAILURE_UNCATEGORIZED, null, [
90
            if(User::REQUEST_ACCESS_REJECTED == $user->request_access) {
95
                    'ERROR_USER_REQUEST_ACCESS_IS_REJECTED'
91
                return new Result(Result::FAILURE_UNCATEGORIZED, null, ['ERROR_USER_REQUEST_ACCESS_IS_REJECTED']);
96
                ]);
92
            }
97
            }
93
    
98
 
94
            $user->login_attempt = 0;
99
            $user->login_attempt = 0;
95
            $userMapper->update($user);
100
            $userMapper->update($user);
96
            
-
 
97
            $data = [
101
 
98
                'user_id' => $user->id,
102
            $data = [
99
                'device_id' => '',
103
                'user_id' => $user->id,
100
            ];
104
                'device_id' => ''
-
 
105
            ];
-
 
106
 
101
            
107
            return new Result(Result::SUCCESS, $data, []);
102
                            
108
        } else {
103
            return new Result(Result::SUCCESS, $data, []);
109
            return new Result(Result::FAILURE, null, [
104
        } else {
110
                'ERROR_USER_NOT_FOUND'