Proyectos de Subversion LeadersLinked - Backend

Rev

Rev 14692 | Rev 16768 | Ir a la última revisión | | Comparar con el anterior | Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
1 www 1
<?php
2
declare(strict_types=1);
3
 
4
namespace LeadersLinked\Controller;
5
 
6
use Laminas\Db\Adapter\AdapterInterface;
16766 efrain 7
use LeadersLinked\Cache\CacheInterface;
1 www 8
use Laminas\Mvc\Controller\AbstractActionController;
9
use Laminas\Log\LoggerInterface;
10
use Laminas\View\Model\ViewModel;
11
use Laminas\View\Model\JsonModel;
12
use Laminas\Db\Sql\Expression;
13
use LeadersLinked\Model\Job;
14
use LeadersLinked\Mapper\JobSkillMapper;
15
use LeadersLinked\Mapper\SkillMapper;
16
use LeadersLinked\Mapper\UserMapper;
17
use LeadersLinked\Model\User;
18
use LeadersLinked\Mapper\CompanyLocationMapper;
19
use LeadersLinked\Mapper\CompanySizeMapper;
20
use LeadersLinked\Mapper\CompanyFollowerMapper;
21
use LeadersLinked\Model\Company;
22
use LeadersLinked\Mapper\GroupMapper;
23
use LeadersLinked\Mapper\GroupMemberMapper;
24
use LeadersLinked\Mapper\GroupTypeMapper;
25
use LeadersLinked\Model\Group;
26
use LeadersLinked\Model\Notification;
27
use LeadersLinked\Mapper\NotificationMapper;
28
use LeadersLinked\Mapper\UserProfileMapper;
29
use LeadersLinked\Mapper\ProfileVisitMapper;
30
use LeadersLinked\Mapper\ConnectionMapper;
31
use LeadersLinked\Model\CompanyFollower;
32
 
33
 
34
 
35
class DashboardController extends AbstractActionController
36
{
37
    /**
38
     *
39
     * @var AdapterInterface
40
     */
41
    private $adapter;
42
 
43
 
44
    /**
45
     *
16766 efrain 46
     * @var CacheInterface
1 www 47
     */
48
    private $cache;
49
 
50
    /**
51
     *
52
     * @var  LoggerInterface
53
     */
54
    private $logger;
55
 
56
 
16766 efrain 57
 
1 www 58
    /**
59
     *
16766 efrain 60
     * @var array
61
     */
62
    private $config;
63
 
64
    /**
65
     *
1 www 66
     * @param AdapterInterface $adapter
16766 efrain 67
     * @param CacheInterface $cache
1 www 68
     * @param LoggerInterface $logger
69
     * @param array $config
70
     */
71
    public function __construct($adapter, $cache , $logger, $config)
72
    {
73
        $this->adapter      = $adapter;
74
        $this->cache        = $cache;
75
        $this->logger       = $logger;
76
        $this->config       = $config;
77
 
78
 
79
    }
80
 
81
 
82
    public function indexAction()
83
    {
84
 
85
 
86
        $currentUserPlugin = $this->plugin('currentUserPlugin');
87
        $currentUser = $currentUserPlugin->getUser();
88
 
89
 
90
        $request = $this->getRequest();
91
        if($request->isGet()) {
92
 
93
 
94
 
95
 
96
            $this->layout()->setTemplate('layout/layout-backend.phtml');
97
            $viewModel = new ViewModel();
98
            $viewModel->setTemplate('leaders-linked/dashboard/index.phtml');
99
            return $viewModel ;
100
        }
101
 
102
        return new JsonModel([
103
           'success' => false,
104
           'data' => 'ERROR_METHOD_NOT_ALLOWED'
105
        ]);
106
    }
107
 
108
    public function notificationActions()
109
    {
110
 
111
    }
14692 efrain 112
 
113
    public function csrfAction()
114
    {
115
        $request = $this->getRequest();
116
        if($request->isGet()) {
117
 
118
            $token = md5(uniqid('CSFR-' . mt_rand(), true));
119
            $_SESSION['token'] = $token;
120
 
121
 
122
            return new JsonModel([
123
                'success' => true,
124
                'data' => $token
125
            ]);
126
 
127
 
128
        } else {
129
            return new JsonModel([
130
                'success' => false,
131
                'data' => 'ERROR_METHOD_NOT_ALLOWED'
132
            ]);
133
        }
134
 
135
 
136
    }
1 www 137
 
138
}