Proyectos de Subversion LeadersLinked - Backend

Rev

Rev 15388 | Rev 15548 | Ir a la última revisión | Mostrar el archivo completo | | | Autoría | Ultima modificación | Ver Log |

Rev 15388 Rev 15547
Línea 1... Línea 1...
1
<?php
1
<?php
-
 
2
 
2
declare(strict_types=1);
3
declare(strict_types=1);
Línea 3... Línea 4...
3
 
4
 
Línea 4... Línea 5...
4
namespace LeadersLinked\Controller;
5
namespace LeadersLinked\Controller;
Línea 60... Línea 61...
60
    /**
61
    /**
61
     *
62
     *
62
     * @var AdapterInterface
63
     * @var AdapterInterface
63
     */
64
     */
64
    private $adapter;
65
    private $adapter;
65
    
66
 
66
    
67
 
67
    /**
68
    /**
68
     *
69
     *
69
     * @var AbstractAdapter
70
     * @var AbstractAdapter
70
     */
71
     */
71
    private $cache;
72
    private $cache;
72
    
73
 
73
    /**
74
    /**
74
     *
75
     *
75
     * @var  LoggerInterface
76
     * @var  LoggerInterface
76
     */
77
     */
77
    private $logger;
78
    private $logger;
78
   
79
 
79
    
80
 
80
    /**
81
    /**
81
     *
82
     *
82
     * @param AdapterInterface $adapter
83
     * @param AdapterInterface $adapter
83
     * @param AbstractAdapter $cache
84
     * @param AbstractAdapter $cache
84
     * @param LoggerInterface $logger
85
     * @param LoggerInterface $logger
85
     * @param array $config
86
     * @param array $config
86
     */
87
     */
87
    public function __construct($adapter, $cache , $logger, $config)
88
    public function __construct($adapter, $cache, $logger, $config)
88
    {
89
    {
89
        $this->adapter      = $adapter;
90
        $this->adapter      = $adapter;
90
        $this->cache        = $cache;
91
        $this->cache        = $cache;
91
        $this->logger       = $logger;
92
        $this->logger       = $logger;
92
        $this->config       = $config;
93
        $this->config       = $config;
93
       
-
 
94
     
-
 
95
    }
94
    }
96
    
95
 
97
    
96
 
98
    public function indexAction() 
97
    public function indexAction()
99
    {
98
    {
100
        
99
 
101
        $this->layout()->setTemplate('layout/layout-backend.phtml');
100
        $this->layout()->setTemplate('layout/layout-backend.phtml');
102
        $viewModel = new ViewModel();
101
        $viewModel = new ViewModel();
103
        $viewModel->setTemplate('leaders-linked/microlearning-reports/index.phtml');
102
        $viewModel->setTemplate('leaders-linked/microlearning-reports/index.phtml');
104
        return $viewModel ;
103
        return $viewModel;
105
    }
104
    }
106
    
105
 
107
   
106
 
108
   
107
 
109
    
108
 
110
    public function usersBlockedAction()
109
    public function usersBlockedAction()
111
    {
110
    {
112
        $currentUserPlugin = $this->plugin('currentUserPlugin');
111
        // $currentUserPlugin = $this->plugin('currentUserPlugin');
113
        $currentUser = $currentUserPlugin->getUser();
112
        // $currentUser = $currentUserPlugin->getUser();
114
        $currentCompany = $currentUserPlugin->getCompany();
113
        // $currentCompany = $currentUserPlugin->getCompany();
Línea 115... Línea 114...
115
 
114
 
116
        $request = $this->getRequest();
-
 
117
        
-
 
118
        if($request->isGet())
-
 
119
        {
-
 
120
            
-
 
121
            $headers  = $request->getHeaders();
-
 
122
            
-
 
123
            $isJson = false;
-
 
124
            if($headers->has('Accept')) {
-
 
125
                $accept = $headers->get('Accept');
-
 
126
                
-
 
127
                $prioritized = $accept->getPrioritized();
-
 
128
                
-
 
129
                foreach($prioritized as $key => $value) {
-
 
130
                    $raw = trim($value->getRaw());
-
 
131
                    
-
 
132
                    if(!$isJson) {
-
 
133
                        $isJson = strpos($raw, 'json');
-
 
134
                    }
-
 
135
                    
-
 
136
                }
-
 
Línea 137... Línea -...
137
            }
-
 
138
 
115
        // $request = $this->getRequest();
139
   
-
 
140
            if($isJson) {
-
 
141
                $acl = $this->getEvent()->getViewModel()->getVariable('acl');
-
 
142
                $allowDownload = $acl->isAllowed($currentUser->usertype_id, 'reports/users-blocked/excel');
-
 
143
                
-
 
144
                
-
 
145
                $queryMapper = QueryMapper::getInstance($this->adapter);
-
 
146
                
-
 
147
                if($currentCompany) {
-
 
148
                    
-
 
149
                    $user_ids = [];
-
 
150
                    
-
 
151
                    $select = $queryMapper->getSql()->select(CompanyUserMapper::_TABLE);
-
 
152
                    $select->columns(['user_id']);
-
 
153
                    $select->where->equalTo('company_id', $currentCompany->id);
-
 
154
                    $select->where->equalTo('status', CompanyUser::STATUS_ACCEPTED);
-
 
155
                    
-
 
156
                    $records = $queryMapper->fetchAll($select);
-
 
157
                    foreach($records as $record) 
-
 
158
                    {
-
 
159
                        if(!in_array($record['user_id'], $user_ids)) {
-
 
160
                            array_push($user_ids , $record['user_id']);
-
 
161
                        }
-
 
162
                    }
-
 
163
                    
-
 
164
                    
-
 
165
                    $select = $queryMapper->getSql()->select(CompanyMicrolearningCapsuleUserMapper::_TABLE);
-
 
166
                    $select->columns(['user_id']);
-
 
167
                    $select->where->equalTo('company_id', $currentCompany->id);
-
 
168
                    $select->where->in('access', [CompanyMicrolearningCapsuleUser::ACCESS_UNLIMITED, CompanyMicrolearningCapsuleUser::ACCESS_PAY_PERIOD]);
-
 
169
                    $records = $queryMapper->fetchAll($select);
-
 
170
                    foreach($records as $record)
-
 
171
                    {
-
 
172
                        if(!in_array($record['user_id'], $user_ids)) {
-
 
173
                            array_push($user_ids , $record['user_id']);
-
 
174
                        }
-
 
175
                    }
-
 
176
                    
-
 
177
                    
-
 
178
                    $select = $queryMapper->getSql()->select(UserMapper::_TABLE);
-
 
179
                    $select->columns([
-
 
180
                        'id', 'uuid', 'first_name', 'last_name', 'email', 'last_activity_on', 'image',
-
 
181
                        'blocked', 'login_attempt', 'email_verified'
-
 
182
                    ]);
-
 
183
                    
-
 
184
                    $select->where->in('id', $user_ids);
-
 
185
                    $select->where->equalTo('status', User::STATUS_ACTIVE);
-
 
186
                    $select->where->equalTo('blocked', User::BLOCKED_YES);
-
 
187
                    $select->where->equalTo('email_verified', User::EMAIL_VERIFIED_YES );
-
 
188
                    $select->where->equalTo('network_id', $currentUser->network_id);
-
 
189
                    $select->where->in('usertype_id', [UserType::ADMIN, UserType::USER]);
-
 
190
                    $select->order('first_name ASC, last_name ASC');
-
 
191
                } else {
-
 
192
                    $select = $queryMapper->getSql()->select(UserMapper::_TABLE);
-
 
193
                    $select->columns(['id', 'uuid', 'first_name', 'last_name', 'email', 'last_activity_on', 'image',
-
 
194
                        'blocked', 'login_attempt', 'email_verified']);
-
 
195
 
-
 
196
                    $select->where->equalTo('status', User::STATUS_ACTIVE);
-
 
197
                    $select->where->equalTo('blocked', User::BLOCKED_YES);
-
 
198
                    $select->where->equalTo('email_verified', User::EMAIL_VERIFIED_YES );
-
 
199
                    $select->where->equalTo('network_id', $currentUser->network_id);
-
 
200
                    $select->where->in('usertype_id', [UserType::ADMIN, UserType::USER]);
-
 
201
                    $select->order('first_name ASC, last_name ASC');
-
 
202
                }
-
 
203
                
-
 
204
                $items = [];
-
 
205
                $records = $queryMapper->fetchAll($select);
-
 
206
              
116
 
207
                foreach($records as $record)
-
 
208
                {
-
 
209
                    if($record['last_activity_on']) {
-
 
210
                    
-
 
211
                        $dt_last_activity_on = \DateTime::createFromFormat('Y-m-d H:i:s', $record['last_activity_on']);
-
 
212
                        $last_activity_on = $dt_last_activity_on->format('d/m/Y h:i a');
-
 
213
                    } else {
-
 
214
                        $last_activity_on = '';
-
 
215
                    }
-
 
216
                    
-
 
217
                    $item = [
-
 
218
                        'uuid' => $record['uuid'],
-
 
219
                        'first_name' => ucwords(strtolower($record['first_name'])),
-
 
220
                        'last_name' => ucwords(strtolower($record['last_name'])),
-
 
221
                        'email' => strtolower($record['email']),
-
 
222
                        'last_activity_on' => $last_activity_on
-
 
223
                        
-
 
224
                    ]; 
-
 
225
                    
-
 
226
                    array_push($items, $item);
-
 
227
                }
-
 
228
                
-
 
229
                
-
 
230
              
-
 
231
                
-
 
232
                $data = [
-
 
233
                    'items' => $items
-
 
234
                   
-
 
235
                ];
-
 
236
                
-
 
237
                if($allowDownload) {
-
 
238
                    $data['link_download'] = $this->url()->fromRoute('reports/users-blocked/excel' );
-
 
239
                } else {
-
 
240
                    $data['link_download'] = '';
-
 
241
                }
-
 
242
                
-
 
243
                
-
 
244
                
-
 
245
                return new JsonModel([
-
 
246
                    'success' => true,
-
 
247
                    'data' => $data
-
 
248
                ]);
-
 
249
            } else {
-
 
250
                
-
 
251
                $this->layout()->setTemplate('layout/layout-backend');
-
 
Línea -... Línea 117...
-
 
117
        // if($request->isGet())
-
 
118
        // {
-
 
119
 
-
 
120
        //     $headers  = $request->getHeaders();
-
 
121
 
-
 
122
        //     $isJson = false;
-
 
123
        //     if($headers->has('Accept')) {
-
 
124
        //         $accept = $headers->get('Accept');
-
 
125
 
-
 
126
        //         $prioritized = $accept->getPrioritized();
-
 
127
 
-
 
128
        //         foreach($prioritized as $key => $value) {
-
 
129
        //             $raw = trim($value->getRaw());
-
 
130
 
-
 
131
        //             if(!$isJson) {
-
 
132
        //                 $isJson = strpos($raw, 'json');
-
 
133
        //             }
-
 
134
 
-
 
135
        //         }
-
 
136
        //     }
-
 
137
 
-
 
138
 
-
 
139
        //     if($isJson) {
-
 
140
        //         $acl = $this->getEvent()->getViewModel()->getVariable('acl');
-
 
141
        //         $allowDownload = $acl->isAllowed($currentUser->usertype_id, 'reports/users-blocked/excel');
-
 
142
 
-
 
143
 
-
 
144
        //         $queryMapper = QueryMapper::getInstance($this->adapter);
-
 
145
 
-
 
146
        //         if($currentCompany) {
-
 
147
 
-
 
148
        //             $user_ids = [];
-
 
149
 
-
 
150
        //             $select = $queryMapper->getSql()->select(CompanyUserMapper::_TABLE);
-
 
151
        //             $select->columns(['user_id']);
-
 
152
        //             $select->where->equalTo('company_id', $currentCompany->id);
-
 
153
        //             $select->where->equalTo('status', CompanyUser::STATUS_ACCEPTED);
-
 
154
 
-
 
155
        //             $records = $queryMapper->fetchAll($select);
-
 
156
        //             foreach($records as $record) 
-
 
157
        //             {
-
 
158
        //                 if(!in_array($record['user_id'], $user_ids)) {
-
 
159
        //                     array_push($user_ids , $record['user_id']);
-
 
160
        //                 }
-
 
161
        //             }
-
 
162
 
-
 
163
 
-
 
164
        //             $select = $queryMapper->getSql()->select(CompanyMicrolearningCapsuleUserMapper::_TABLE);
-
 
165
        //             $select->columns(['user_id']);
-
 
166
        //             $select->where->equalTo('company_id', $currentCompany->id);
-
 
167
        //             $select->where->in('access', [CompanyMicrolearningCapsuleUser::ACCESS_UNLIMITED, CompanyMicrolearningCapsuleUser::ACCESS_PAY_PERIOD]);
-
 
168
        //             $records = $queryMapper->fetchAll($select);
-
 
169
        //             foreach($records as $record)
-
 
170
        //             {
-
 
171
        //                 if(!in_array($record['user_id'], $user_ids)) {
-
 
172
        //                     array_push($user_ids , $record['user_id']);
-
 
173
        //                 }
-
 
174
        //             }
-
 
175
 
-
 
176
 
-
 
177
        //             $select = $queryMapper->getSql()->select(UserMapper::_TABLE);
-
 
178
        //             $select->columns([
-
 
179
        //                 'id', 'uuid', 'first_name', 'last_name', 'email', 'last_activity_on', 'image',
-
 
180
        //                 'blocked', 'login_attempt', 'email_verified'
-
 
181
        //             ]);
-
 
182
 
-
 
183
        //             $select->where->in('id', $user_ids);
-
 
184
        //             $select->where->equalTo('status', User::STATUS_ACTIVE);
-
 
185
        //             $select->where->equalTo('blocked', User::BLOCKED_YES);
-
 
186
        //             $select->where->equalTo('email_verified', User::EMAIL_VERIFIED_YES );
-
 
187
        //             $select->where->equalTo('network_id', $currentUser->network_id);
-
 
188
        //             $select->where->in('usertype_id', [UserType::ADMIN, UserType::USER]);
-
 
189
        //             $select->order('first_name ASC, last_name ASC');
-
 
190
        //         } else {
-
 
191
        //             $select = $queryMapper->getSql()->select(UserMapper::_TABLE);
-
 
192
        //             $select->columns(['id', 'uuid', 'first_name', 'last_name', 'email', 'last_activity_on', 'image',
-
 
193
        //                 'blocked', 'login_attempt', 'email_verified']);
-
 
194
 
-
 
195
        //             $select->where->equalTo('status', User::STATUS_ACTIVE);
-
 
196
        //             $select->where->equalTo('blocked', User::BLOCKED_YES);
-
 
197
        //             $select->where->equalTo('email_verified', User::EMAIL_VERIFIED_YES );
-
 
198
        //             $select->where->equalTo('network_id', $currentUser->network_id);
-
 
199
        //             $select->where->in('usertype_id', [UserType::ADMIN, UserType::USER]);
-
 
200
        //             $select->order('first_name ASC, last_name ASC');
-
 
201
        //         }
-
 
202
 
-
 
203
        //         $items = [];
-
 
204
        //         $records = $queryMapper->fetchAll($select);
-
 
205
 
-
 
206
        //         foreach($records as $record)
-
 
207
        //         {
-
 
208
        //             if($record['last_activity_on']) {
-
 
209
 
-
 
210
        //                 $dt_last_activity_on = \DateTime::createFromFormat('Y-m-d H:i:s', $record['last_activity_on']);
-
 
211
        //                 $last_activity_on = $dt_last_activity_on->format('d/m/Y h:i a');
-
 
212
        //             } else {
-
 
213
        //                 $last_activity_on = '';
-
 
214
        //             }
-
 
215
 
-
 
216
        //             $item = [
-
 
217
        //                 'uuid' => $record['uuid'],
-
 
218
        //                 'first_name' => ucwords(strtolower($record['first_name'])),
-
 
219
        //                 'last_name' => ucwords(strtolower($record['last_name'])),
-
 
220
        //                 'email' => strtolower($record['email']),
-
 
221
        //                 'last_activity_on' => $last_activity_on
-
 
222
 
-
 
223
        //             ]; 
-
 
224
 
-
 
225
        //             array_push($items, $item);
-
 
226
        //         }
-
 
227
 
-
 
228
 
-
 
229
 
-
 
230
 
-
 
231
        //         $data = [
-
 
232
        //             'items' => $items
-
 
233
 
-
 
234
        //         ];
-
 
235
 
-
 
236
        //         if($allowDownload) {
-
 
237
        //             $data['link_download'] = $this->url()->fromRoute('reports/users-blocked/excel' );
-
 
238
        //         } else {
-
 
239
        //             $data['link_download'] = '';
-
 
240
        //         }
-
 
241
 
-
 
242
 
-
 
243
 
-
 
244
        //         return new JsonModel([
-
 
245
        //             'success' => true,
-
 
246
        //             'data' => $data
-
 
247
        //         ]);
-
 
248
        //     } else {
-
 
249
 
-
 
250
        //         $this->layout()->setTemplate('layout/layout-backend');
252
                $viewModel = new ViewModel();
251
        //         $viewModel = new ViewModel();
253
                $viewModel->setTemplate('leaders-linked/reports/users-blocked.phtml');
252
        //         $viewModel->setTemplate('leaders-linked/reports/users-blocked.phtml');
254
 
253
 
255
                
254
 
256
                return $viewModel ;
255
        //         return $viewModel ;
257
            }
256
        //     }
258
            
257
 
259
        } else {
258
        // } else {
260
            return new JsonModel([
259
        //     return new JsonModel([
261
                'success' => false,
260
        //         'success' => false,
262
                'data' => 'ERROR_METHOD_NOT_ALLOWED'
261
        //         'data' => 'ERROR_METHOD_NOT_ALLOWED'
263
            ]);
262
        //     ]);
264
        }
263
        // }
265
    }
264
    }
266
    
265
 
267
    public function usersBlockedExcelAction()
266
    public function usersBlockedExcelAction()
268
    {
267
    {
269
        $currentUserPlugin = $this->plugin('currentUserPlugin');
268
        $currentUserPlugin = $this->plugin('currentUserPlugin');
270
        $currentUser = $currentUserPlugin->getUser();
269
        $currentUser = $currentUserPlugin->getUser();
271
        $currentCompany = $currentUserPlugin->getCompany();
270
        $currentCompany = $currentUserPlugin->getCompany();
272
        
271
 
273
        $request = $this->getRequest();
-
 
274
        
272
        $request = $this->getRequest();
275
        if($request->isGet())
273
 
276
        {
274
        if ($request->isGet()) {
277
            
275
 
278
            $queryMapper = QueryMapper::getInstance($this->adapter);
276
            $queryMapper = QueryMapper::getInstance($this->adapter);
279
            
277
 
280
            if($currentCompany) {
278
            if ($currentCompany) {
281
                
279
 
282
                $user_ids = [];
280
                $user_ids = [];
283
                
281
 
284
                $select = $queryMapper->getSql()->select(CompanyUserMapper::_TABLE);
282
                $select = $queryMapper->getSql()->select(CompanyUserMapper::_TABLE);
285
                $select->columns(['user_id']);
283
                $select->columns(['user_id']);
286
                $select->where->equalTo('company_id', $currentCompany->id);
284
                $select->where->equalTo('company_id', $currentCompany->id);
287
                $select->where->equalTo('status', CompanyUser::STATUS_ACCEPTED);
285
                $select->where->equalTo('status', CompanyUser::STATUS_ACCEPTED);
288
                
-
 
289
                $records = $queryMapper->fetchAll($select);
286
 
290
                foreach($records as $record)
287
                $records = $queryMapper->fetchAll($select);
291
                {
288
                foreach ($records as $record) {
292
                    if(!in_array($record['user_id'], $user_ids)) {
289
                    if (!in_array($record['user_id'], $user_ids)) {
293
                        array_push($user_ids , $record['user_id']);
290
                        array_push($user_ids, $record['user_id']);
294
                    }
291
                    }
295
                }
292
                }
296
                
293
 
297
                
294
 
298
                $select = $queryMapper->getSql()->select(CompanyMicrolearningCapsuleUserMapper::_TABLE);
295
                $select = $queryMapper->getSql()->select(CompanyMicrolearningCapsuleUserMapper::_TABLE);
299
                $select->columns(['user_id']);
296
                $select->columns(['user_id']);
300
                $select->where->equalTo('company_id', $currentCompany->id);
297
                $select->where->equalTo('company_id', $currentCompany->id);
301
                $select->where->in('access', [CompanyMicrolearningCapsuleUser::ACCESS_UNLIMITED, CompanyMicrolearningCapsuleUser::ACCESS_PAY_PERIOD]);
-
 
302
                $records = $queryMapper->fetchAll($select);
298
                $select->where->in('access', [CompanyMicrolearningCapsuleUser::ACCESS_UNLIMITED, CompanyMicrolearningCapsuleUser::ACCESS_PAY_PERIOD]);
303
                foreach($records as $record)
299
                $records = $queryMapper->fetchAll($select);
304
                {
300
                foreach ($records as $record) {
305
                    if(!in_array($record['user_id'], $user_ids)) {
301
                    if (!in_array($record['user_id'], $user_ids)) {
306
                        array_push($user_ids , $record['user_id']);
302
                        array_push($user_ids, $record['user_id']);
307
                    }
303
                    }
308
                }
304
                }
309
                
305
 
310
                
306
 
311
                $select = $queryMapper->getSql()->select(UserMapper::_TABLE);
307
                $select = $queryMapper->getSql()->select(UserMapper::_TABLE);
312
                $select->columns([
308
                $select->columns([
313
                    'id', 'uuid', 'first_name', 'last_name', 'email', 'last_activity_on', 'image',
309
                    'id', 'uuid', 'first_name', 'last_name', 'email', 'last_activity_on', 'image',
314
                    'blocked', 'login_attempt', 'email_verified'
310
                    'blocked', 'login_attempt', 'email_verified'
315
                ]);
311
                ]);
316
                
312
 
317
                $select->where->in('id', $user_ids);
313
                $select->where->in('id', $user_ids);
318
                $select->where->equalTo('status', User::STATUS_ACTIVE);
314
                $select->where->equalTo('status', User::STATUS_ACTIVE);
319
                $select->where->equalTo('blocked', User::BLOCKED_YES);
315
                $select->where->equalTo('blocked', User::BLOCKED_YES);
320
                $select->where->equalTo('email_verified', User::EMAIL_VERIFIED_YES );
316
                $select->where->equalTo('email_verified', User::EMAIL_VERIFIED_YES);
321
                $select->where->equalTo('network_id', $currentUser->network_id);
317
                $select->where->equalTo('network_id', $currentUser->network_id);
322
                $select->where->in('usertype_id', [UserType::ADMIN, UserType::USER]);
318
                $select->where->in('usertype_id', [UserType::ADMIN, UserType::USER]);
-
 
319
                $select->order('first_name ASC, last_name ASC');
323
                $select->order('first_name ASC, last_name ASC');
320
            } else {
324
            } else {
321
                $select = $queryMapper->getSql()->select(UserMapper::_TABLE);
-
 
322
                $select->columns([
325
                $select = $queryMapper->getSql()->select(UserMapper::_TABLE);
323
                    'id', 'uuid', 'first_name', 'last_name', 'email', 'last_activity_on', 'image',
326
                $select->columns(['id', 'uuid', 'first_name', 'last_name', 'email', 'last_activity_on', 'image',
324
                    'blocked', 'login_attempt', 'email_verified'
327
                    'blocked', 'login_attempt', 'email_verified']);
325
                ]);
328
                
326
 
329
                $select->where->equalTo('status', User::STATUS_ACTIVE);
327
                $select->where->equalTo('status', User::STATUS_ACTIVE);
330
                $select->where->equalTo('blocked', User::BLOCKED_YES);
328
                $select->where->equalTo('blocked', User::BLOCKED_YES);
331
                $select->where->equalTo('email_verified', User::EMAIL_VERIFIED_YES );
329
                $select->where->equalTo('email_verified', User::EMAIL_VERIFIED_YES);
332
                $select->where->equalTo('network_id', $currentUser->network_id);
330
                $select->where->equalTo('network_id', $currentUser->network_id);
333
                $select->where->in('usertype_id', [UserType::ADMIN, UserType::USER]);
331
                $select->where->in('usertype_id', [UserType::ADMIN, UserType::USER]);
334
                $select->order('first_name ASC, last_name ASC');
332
                $select->order('first_name ASC, last_name ASC');
335
            }
333
            }
336
            
334
 
337
            $items = [];
335
            $items = [];
338
            $records = $queryMapper->fetchAll($select);
-
 
339
            
336
            $records = $queryMapper->fetchAll($select);
340
            foreach($records as $record)
337
 
341
            {
338
            foreach ($records as $record) {
342
                if($record['last_activity_on']) {
339
                if ($record['last_activity_on']) {
343
                    
340
 
344
                    $dt_last_activity_on = \DateTime::createFromFormat('Y-m-d H:i:s', $record['last_activity_on']);
341
                    $dt_last_activity_on = \DateTime::createFromFormat('Y-m-d H:i:s', $record['last_activity_on']);
345
                    $last_activity_on = $dt_last_activity_on->format('d/m/Y h:i a');
342
                    $last_activity_on = $dt_last_activity_on->format('d/m/Y h:i a');
346
                } else {
343
                } else {
347
                    $last_activity_on = '';
344
                    $last_activity_on = '';
348
                }
345
                }
349
                
346
 
350
                $item = [
347
                $item = [
351
                    'uuid' => $record['uuid'],
348
                    'uuid' => $record['uuid'],
352
                    'first_name' => $record['first_name'],
349
                    'first_name' => $record['first_name'],
353
                    'last_name' => $record['last_name'],
350
                    'last_name' => $record['last_name'],
354
                    'email' => $record['email'],
351
                    'email' => $record['email'],
355
                    'last_activity_on' => $last_activity_on
352
                    'last_activity_on' => $last_activity_on
356
                    
353
 
357
                ];
354
                ];
358
                
355
 
359
                array_push($items, $item);
356
                array_push($items, $item);
360
            }
357
            }
361
            
358
 
362
            $spreadsheet = new Spreadsheet();
359
            $spreadsheet = new Spreadsheet();
363
            $spreadsheet->getProperties()->setTitle("Usuarios Bloqueados");
360
            $spreadsheet->getProperties()->setTitle("Usuarios Bloqueados");
364
            
361
 
365
            
362
 
366
            
363
 
367
            $spreadsheet->setActiveSheetIndex(0);
364
            $spreadsheet->setActiveSheetIndex(0);
368
            $spreadsheet->getActiveSheet()->SetCellValue('A1', 'Fecha:');
365
            $spreadsheet->getActiveSheet()->SetCellValue('A1', 'Fecha:');
Línea 369... Línea 366...
369
            $spreadsheet->getActiveSheet()->SetCellValue('B1', date('d/m/Y h:i a'));
366
            $spreadsheet->getActiveSheet()->SetCellValue('B1', date('d/m/Y h:i a'));
370
            
367
 
371
            
368
 
372
 
369
 
Línea 373... Línea 370...
373
            $spreadsheet->getActiveSheet()->SetCellValue('A3', 'Nombre');
370
            $spreadsheet->getActiveSheet()->SetCellValue('A3', 'Nombre');
374
            $spreadsheet->getActiveSheet()->SetCellValue('B3', 'Apellido');
371
            $spreadsheet->getActiveSheet()->SetCellValue('B3', 'Apellido');
375
            $spreadsheet->getActiveSheet()->SetCellValue('C3', 'Correo electrónico');
372
            $spreadsheet->getActiveSheet()->SetCellValue('C3', 'Correo electrónico');
376
            $spreadsheet->getActiveSheet()->SetCellValue('D3', 'Ultima actividad');
-
 
377
 
373
            $spreadsheet->getActiveSheet()->SetCellValue('D3', 'Ultima actividad');
378
 
374
 
379
            
375
 
380
            $i = 4;
376
 
Línea 381... Línea 377...
381
            foreach($records as $record)
377
            $i = 4;
382
            {
378
            foreach ($records as $record) {
Línea 383... Línea 379...
383
                $spreadsheet->getActiveSheet()->SetCellValue('A' . $i, ucwords(strtolower(trim($record['first_name']))));
379
                $spreadsheet->getActiveSheet()->SetCellValue('A' . $i, ucwords(strtolower(trim($record['first_name']))));
384
                $spreadsheet->getActiveSheet()->SetCellValue('B' . $i, ucwords(strtolower(trim($record['last_name']))));
380
                $spreadsheet->getActiveSheet()->SetCellValue('B' . $i, ucwords(strtolower(trim($record['last_name']))));
385
                $spreadsheet->getActiveSheet()->SetCellValue('C' . $i, strtolower(trim($record['email'])));
381
                $spreadsheet->getActiveSheet()->SetCellValue('C' . $i, strtolower(trim($record['email'])));
386
                $spreadsheet->getActiveSheet()->SetCellValue('D' . $i, $record['last_activity_on']);
382
                $spreadsheet->getActiveSheet()->SetCellValue('D' . $i, $record['last_activity_on']);
387
 
383
 
388
                $i++;
384
                $i++;
389
            }
385
            }
390
 
386
 
391
            
387
 
392
            $fileName = 'reporte_usuarios_bloqueados_' . time() . '.xls';
388
            $fileName = 'reporte_usuarios_bloqueados_' . time() . '.xls';
393
            
389
 
394
            $tempFilename = tempnam(sys_get_temp_dir(), 'reporte_usuarios_bloqueados_' . time());
390
            $tempFilename = tempnam(sys_get_temp_dir(), 'reporte_usuarios_bloqueados_' . time());
395
            
391
 
396
            
392
 
397
           
393
 
398
            
394
 
399
            
395
 
400
            $writer = IOFactory::createWriter($spreadsheet, 'Xls');
396
            $writer = IOFactory::createWriter($spreadsheet, 'Xls');
401
            $writer->save($tempFilename);
397
            $writer->save($tempFilename);
402
            
398
 
403
            $content = file_get_contents($tempFilename);
399
            $content = file_get_contents($tempFilename);
404
            @unlink($tempFilename);
400
            @unlink($tempFilename);
405
            
401
 
406
            return new JsonModel([
-
 
407
                'success' => true,
-
 
408
                'data' => [
-
 
409
                    'content' => base64_encode($content),
-
 
410
                    'basename' => $fileName
402
            return new JsonModel([
411
                    
403
                'success' => true,
412
                ]
404
                'data' => [
413
            ]);
405
                    'content' => base64_encode($content),
414
            
406
                    'basename' => $fileName
415
            
407
 
416
            
408
                ]
417
            
-
 
418
        } else {
-
 
419
            return new JsonModel([
-
 
420
                'success' => false,
-
 
421
                'data' => 'ERROR_METHOD_NOT_ALLOWED'
-
 
422
            ]);
-
 
423
        }
409
            ]);
-
 
410
        } else {