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();
10609 eleazar 74
        $topic_uuid   = $this->params()->fromRoute('topic_uuid');
10601 eleazar 75
        $urgent   = $this->params()->fromRoute('urgent');
10612 eleazar 76
 
10601 eleazar 77
        if(!isset($urgent)){
78
            $urgent='';
10423 eleazar 79
        }
80
 
10609 eleazar 81
        if(!isset($topic_uuid)){
82
            $topic_uuid='';
83
        }
10612 eleazar 84
        try{
85
            $request = $this->getRequest();
86
            if($request->isGet()) {
87
                $headers  = $request->getHeaders();
10273 eleazar 88
 
10612 eleazar 89
                $isJson = false;
90
                if($headers->has('Accept')) {
91
                    $accept = $headers->get('Accept');
92
 
93
                    $prioritized = $accept->getPrioritized();
94
 
95
                    foreach($prioritized as $key => $value) {
96
                        $raw = trim($value->getRaw());
97
 
98
                        if(!$isJson) {
99
                            $isJson = strpos($raw, 'json');
100
                        }
101
 
10601 eleazar 102
                    }
103
                }
10612 eleazar 104
 
10601 eleazar 105
 
10612 eleazar 106
                $rolAdmin=true;
10601 eleazar 107
 
10612 eleazar 108
                $formFeed = new CreateFeedForm($this->adapter);
109
                $formTopicNomal = new TopicForm();
110
                $this->layout()->setTemplate('layout/layout-backend');
111
                $viewModel = new ViewModel();
112
                $viewModel->setTemplate('leaders-linked/my-trainer-answer/index.phtml');
113
                $viewModel->setVariables([
114
                    'formFeed'    =>  $formFeed,
115
                    'topic_uuid' => $topic_uuid,
116
                    'formTopicNormal' => $formTopicNomal,
117
                    'urgent'=>$urgent,
118
                    'rolAdmin'=>$rolAdmin,
119
                ]);
120
                return $viewModel ;
121
 
122
 
123
            } else {
124
                return new JsonModel([
125
                    'success' => false,
126
                    'data' => 'ERROR_METHOD_NOT_ALLOWED'
127
                ]);
128
            }
129
        } catch (\Throwable $e) {
130
            $e->getMessage();
10273 eleazar 131
            return new JsonModel([
132
                'success' => false,
10612 eleazar 133
                'data' => $e
10601 eleazar 134
            ]);
10273 eleazar 135
        }
10612 eleazar 136
 
10273 eleazar 137
    }
10601 eleazar 138
 
139
 
140
 
10273 eleazar 141
}