Proyectos de Subversion LeadersLinked - Backend

Rev

| Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
10273 eleazar 1
<?php
2
declare(strict_types=1);
3
 
4
namespace LeadersLinked\Controller;
5
 
6
use Laminas\Authentication\AuthenticationService;
7
use Laminas\Authentication\Result as AuthResult;
8
use Laminas\Db\Adapter\AdapterInterface;
9
use Laminas\Cache\Storage\Adapter\AbstractAdapter;
10
use Laminas\Mvc\Controller\AbstractActionController;
11
use Laminas\Mvc\I18n\Translator;
12
use Laminas\Log\LoggerInterface;
13
use Laminas\View\Model\ViewModel;
14
use Laminas\View\Model\JsonModel;
15
use LeadersLinked\Hydrator\ObjectPropertyHydrator;
10601 eleazar 16
 
17
use LeadersLinked\Model\Feed;
10273 eleazar 18
use LeadersLinked\Form\CreateFeedForm;
10601 eleazar 19
use LeadersLinked\Form\TopicForm;
20
 
10273 eleazar 21
use LeadersLinked\Mapper\UserMapper;
22
 
23
class MyTrainerAnswerController extends AbstractActionController
24
{
25
    /**
26
     *
27
     * @var AdapterInterface
28
     */
29
    private $adapter;
30
 
31
 
32
    /**
33
     *
34
     * @var AbstractAdapter
35
     */
36
    private $cache;
37
 
38
    /**
39
     *
40
     * @var  LoggerInterface
41
     */
42
    private $logger;
43
 
44
    /**
45
     *
46
     * @var array
47
     */
48
    private $config;
49
 
50
 
51
 
52
    /**
53
     *
54
     * @param AdapterInterface $adapter
55
     * @param AbstractAdapter $cache
56
     * @param LoggerInterface $logger
57
     * @param array $config
58
     */
59
    public function __construct($adapter, $cache , $logger, $config)
60
    {
61
        $this->adapter      = $adapter;
62
        $this->cache        = $cache;
63
        $this->logger       = $logger;
64
        $this->config       = $config;
65
 
66
 
67
    }
10601 eleazar 68
 
69
    public function IndexAction()
10273 eleazar 70
    {
71
        $currentUserPlugin = $this->plugin('currentUserPlugin');
72
        $currentUser = $currentUserPlugin->getUser();
73
        $currentCompany = $currentUserPlugin->getCompany();
10601 eleazar 74
 
75
        $urgent   = $this->params()->fromRoute('urgent');
76
        if(!isset($urgent)){
77
            $urgent='';
10423 eleazar 78
        }
79
 
10273 eleazar 80
 
10601 eleazar 81
        $request = $this->getRequest();
10273 eleazar 82
        if($request->isGet()) {
10601 eleazar 83
            $headers  = $request->getHeaders();
84
 
85
            $isJson = false;
86
            if($headers->has('Accept')) {
87
                $accept = $headers->get('Accept');
88
 
89
                $prioritized = $accept->getPrioritized();
90
 
91
                foreach($prioritized as $key => $value) {
92
                    $raw = trim($value->getRaw());
93
 
94
                    if(!$isJson) {
95
                        $isJson = strpos($raw, 'json');
96
                    }
97
 
98
                }
99
            }
100
 
101
 
102
            $rolAdmin=true;
103
 
104
            $formFeed = new CreateFeedForm($this->adapter);
105
            $formTopicNomal = new TopicForm();
10273 eleazar 106
            $this->layout()->setTemplate('layout/layout-backend');
107
            $viewModel = new ViewModel();
108
            $viewModel->setTemplate('leaders-linked/my-trainer-answer/index.phtml');
109
            $viewModel->setVariables([
10601 eleazar 110
                'formFeed'    =>  $formFeed,
111
                'formTopicNormal' => $formTopicNomal,
112
                'urgent'=>$urgent,
113
                'rolAdmin'=>$rolAdmin,
10273 eleazar 114
            ]);
115
            return $viewModel ;
116
 
117
 
118
        } else {
119
            return new JsonModel([
120
                'success' => false,
121
                'data' => 'ERROR_METHOD_NOT_ALLOWED'
10601 eleazar 122
            ]);
10273 eleazar 123
        }
10601 eleazar 124
 
125
 
10273 eleazar 126
    }
10601 eleazar 127
 
128
 
129
 
10273 eleazar 130
}