Proyectos de Subversion LeadersLinked - Services

Rev

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

Rev 60 Rev 283
Línea 10... Línea 10...
10
use Laminas\View\Model\ViewModel;
10
use Laminas\View\Model\ViewModel;
11
use Laminas\View\Model\JsonModel;
11
use Laminas\View\Model\JsonModel;
Línea 12... Línea 12...
12
 
12
 
13
use LeadersLinked\Mapper\QueryMapper;
13
use LeadersLinked\Mapper\QueryMapper;
14
use LeadersLinked\Mapper\CompanyMapper;
14
use LeadersLinked\Mapper\CompanyMapper;
15
use LeadersLinked\Mapper\CompanyMicrolearningTopicMapper;
15
use LeadersLinked\Mapper\MicrolearningTopicMapper;
16
use LeadersLinked\Mapper\CompanyMicrolearningCapsuleMapper;
16
use LeadersLinked\Mapper\MicrolearningCapsuleMapper;
17
use LeadersLinked\Model\CompanyMicrolearningCapsule;
17
use LeadersLinked\Model\MicrolearningCapsule;
18
use LeadersLinked\Model\CompanyMicrolearningCapsuleUser;
18
use LeadersLinked\Model\MicrolearningCapsuleUser;
19
use LeadersLinked\Mapper\CompanyMicrolearningCapsuleUserMapper;
19
use LeadersLinked\Mapper\MicrolearningCapsuleUserMapper;
20
use LeadersLinked\Mapper\CompanyMicrolearningUserMapper;
20
use LeadersLinked\Mapper\MicrolearningUserMapper;
21
use LeadersLinked\Model\CompanyMicrolearningUser;
21
use LeadersLinked\Model\MicrolearningUser;
22
use LeadersLinked\Mapper\EngagementRewardMapper;
22
use LeadersLinked\Mapper\EngagementRewardMapper;
23
use LeadersLinked\Model\EngagementReward;
23
use LeadersLinked\Model\EngagementReward;
-
 
24
use LeadersLinked\Library\Functions;
-
 
25
use LeadersLinked\Library\Storage;
Línea 24... Línea 26...
24
use LeadersLinked\Library\Functions;
26
use LeadersLinked\Mapper\MicrolearningTopicCapsuleMapper;
25
 
27
 
26
class MarketPlaceController extends AbstractActionController
28
class MarketPlaceController extends AbstractActionController
27
{
29
{
Línea 91... Línea 93...
91
            
93
            
92
                
94
                
Línea 93... Línea -...
93
                $search = Functions::sanitizeFilterString($this->params()->fromQuery('search', ''));
-
 
-
 
95
                $search = Functions::sanitizeFilterString($this->params()->fromQuery('search', ''));
94
                $entity = Functions::sanitizeFilterString($this->params()->fromQuery('entity', 'capsules'));
96
                $entity = Functions::sanitizeFilterString($this->params()->fromQuery('entity', 'capsules'));
Línea 95... Línea 97...
95
                
97
                
96
                
98
                $storage = Storage::getInstance($this->config);
Línea 118... Línea 120...
118
                    }
120
                    }
Línea 119... Línea 121...
119
                    
121
                    
Línea -... Línea 122...
-
 
122
                    $select->order(['name ASC']);
-
 
123
                    
120
                    $select->order(['name ASC']);
124
                    
Línea 121... Línea 125...
121
                    
125
                    $path = $storage->getPathEngagementReward();
122
                    
126
                    
123
                    $records = $queryMapper->fetchAll($select);
127
                    $records = $queryMapper->fetchAll($select);
Línea 124... Línea 128...
124
                    
128
                    
Línea 125... Línea 129...
125
                    $items = [];
129
                    $items = [];
126
                    foreach($records as $record)
130
                    foreach($records as $record)
127
                    {
131
                    {
128
 
132
 
129
                        
133
                        
Línea 130... Línea 134...
130
                        $item = [
134
                        $item = [
131
                            
135
                            
Línea 132... Línea 136...
132
                            'name' => $record['name'],
136
                            'name' => $record['name'],
133
                            'image' => $this->url()->fromRoute('storage', ['type' => 'engagement-reward', 'code' => $record['uuid'], 'filename' => $record['image']],['force_canonical' => true]),
-
 
-
 
137
                            'image' => $storage->getGenericImage($path, $record['uuid'], $record['image']),
134
                            'points' => $record['points'],
138
                            'points' => $record['points'],
Línea 135... Línea 139...
135
                            'link_claim' => $this->url()->fromRoute('marketplace/claim', ['id' => $record['uuid']])
139
                            'link_claim' => $this->url()->fromRoute('marketplace/claim', ['id' => $record['uuid']])
136
                        ];
140
                        ];
137
                        
141
                        
138
                        
142
                        
139
                        array_push($items, $item);
143
                        array_push($items, $item);
140
                    }
144
                    }
141
                    
145
                    
142
                    
146
                    
143
                } else if($entity == 'capsules') {
147
                } else if($entity == 'capsules') {
Línea 144... Línea 148...
144
                
148
                    $path = $storage->getPathMicrolearningCapsule();
145
                    $companyMicrolearningCapsuleUserMapper = CompanyMicrolearningCapsuleUserMapper::getInstance($this->adapter);
149
                    $microlearningCapsuleUserMapper = MicrolearningCapsuleUserMapper::getInstance($this->adapter);
146
                    
150
                    
147
                   
151
                   
Línea 165... Línea 169...
165
                    $records = $queryMapper->fetchAll($select);
169
                    $records = $queryMapper->fetchAll($select);
Línea 166... Línea 170...
166
    
170
    
167
                    $items = [];
171
                    $items = [];
168
                    foreach($records as $record)
172
                    foreach($records as $record)
169
                    {
173
                    {
Línea 170... Línea 174...
170
                        $capsuleUser = $companyMicrolearningCapsuleUserMapper->fetchOneByUserIdAndCapsuleId($currentUser->id, $record['id']);
174
                        $capsuleUser = $microlearningCapsuleUserMapper->fetchOneByUserIdAndCapsuleId($currentUser->id, $record['id']);
171
                        
175
                        
172
                        
176
                        
173
                        $params = [
177
                        $params = [
174
                            'company_id' => $record['company_uuid'], 
178
                            'company_id' => $record['company_uuid'], 
Línea 175... Línea -...
175
                            'topic_id' => $record['topic_uuid'], 
-
 
176
                            'capsule_id' => $record['uuid']
179
                            'topic_id' => $record['topic_uuid'], 
177
                        ];
-
 
178
                        
180
                            'capsule_id' => $record['uuid']
179
    
181
                        ];
180
                        $item = [
182
                        
181
                   
183
                        $item = [
182
                            'name' => $record['name'],
184
                            'name' => $record['name'],
Línea 227... Línea 229...
227
                    'success'   => false,
229
                    'success'   => false,
228
                    'data'   => 'ERROR_COMPANY_NOT_FOUND'
230
                    'data'   => 'ERROR_COMPANY_NOT_FOUND'
229
                ]);
231
                ]);
230
            }
232
            }
Línea 231... Línea 233...
231
            
233
            
232
            $topicMapper = CompanyMicrolearningTopicMapper::getInstance($this->adapter);
234
            $topicMapper = MicrolearningTopicMapper::getInstance($this->adapter);
233
            $topic = $topicMapper->fetchOneByUuid($topic_id);
235
            $topic = $topicMapper->fetchOneByUuid($topic_id);
234
            if(!$topic) {
236
            if(!$topic) {
235
                return new JsonModel([
237
                return new JsonModel([
236
                    'success'   => false,
238
                    'success'   => false,
Línea 243... Línea 245...
243
                    'success'   => false,
245
                    'success'   => false,
244
                    'data'   => 'ERROR_UNAUTHORIZED'
246
                    'data'   => 'ERROR_UNAUTHORIZED'
245
                ]);
247
                ]);
246
            }
248
            }
Línea 247... Línea 249...
247
            
249
            
248
            $capsuleMapper = CompanyMicrolearningCapsuleMapper::getInstance($this->adapter);
250
            $capsuleMapper = MicrolearningCapsuleMapper::getInstance($this->adapter);
249
            $capsule = $capsuleMapper->fetchOneByUuid($capsule_id);
251
            $capsule = $capsuleMapper->fetchOneByUuid($capsule_id);
250
            if(!$capsule) {
252
            if(!$capsule) {
251
                return new JsonModel([
253
                return new JsonModel([
252
                    'success'   => false,
254
                    'success'   => false,
253
                    'data'   => 'ERROR_CAPSULE_NOT_FOUND'
255
                    'data'   => 'ERROR_CAPSULE_NOT_FOUND'
254
                ]);
256
                ]);
Línea -... Línea 257...
-
 
257
            }
-
 
258
            
-
 
259
            $topicCapsuleMapper = MicrolearningTopicCapsuleMapper::getInstance($this->adapter);
255
            }
260
            $topicCapsule = $topicCapsuleMapper->fetchOneByTopicIdAndCapsuleId($topic->id, $capsule->id);
256
            
261
            
257
            if($capsule->topic_id != $topic->id) {
262
            if(!$topicCapsule) {
258
                return new JsonModel([
263
                return new JsonModel([
259
                    'success'   => false,
264
                    'success'   => false,
260
                    'data'   => 'ERROR_UNAUTHORIZED'
265
                    'data'   => 'ERROR_UNAUTHORIZED'
Línea 261... Línea 266...
261
                ]);
266
                ]);
262
            }
267
            }
263
            
268
            
Línea 264... Línea 269...
264
            if($capsule->status != CompanyMicrolearningCapsule::STATUS_ACTIVE 
269
            if($capsule->status != MicrolearningCapsule::STATUS_ACTIVE 
265
                || $capsule->privacy != CompanyMicrolearningCapsule::PRIVACY_PUBLIC
270
                || $capsule->privacy != MicrolearningCapsule::PRIVACY_PUBLIC
266
                || $capsule->type != CompanyMicrolearningCapsule::TYPE_FREE) {
271
                || $capsule->type != MicrolearningCapsule::TYPE_FREE) {
267
                   
272
                   
268
                return new JsonModel([
273
                return new JsonModel([
Línea 269... Línea 274...
269
                    'success'   => false,
274
                    'success'   => false,
270
                    'data'   => 'ERROR_UNAUTHORIZED'
275
                    'data'   => 'ERROR_UNAUTHORIZED'
Línea 271... Línea 276...
271
                ]);
276
                ]);
272
            }
277
            }
273
        
278
        
274
            
279
            
275
            $capsuleUserMapper = CompanyMicrolearningCapsuleUserMapper::getInstance($this->adapter);
280
            $capsuleUserMapper = MicrolearningCapsuleUserMapper::getInstance($this->adapter);
276
            $capsuleUser = $capsuleUserMapper->fetchOneByUserIdAndCapsuleId($currentUser->id, $capsule->id);
281
            $capsuleUser = $capsuleUserMapper->fetchOneByUserIdAndCapsuleId($currentUser->id, $capsule->id);
Línea 277... Línea 282...
277
            
282
            
278
            if($capsuleUser) {
283
            if($capsuleUser) {
279
                return new JsonModel([
284
                return new JsonModel([
280
                    'success'   => false,
285
                    'success'   => false,
281
                    'data'   => 'ERROR_UNAUTHORIZED'
286
                    'data'   => 'ERROR_UNAUTHORIZED'
282
                ]);
287
                ]);
Línea 283... Línea 288...
283
            }
288
            }
Línea 284... Línea 289...
284
            
289
            
285
            $capsuleUser = new CompanyMicrolearningCapsuleUser();
290
            $capsuleUser = new MicrolearningCapsuleUser();
286
            $capsuleUser->company_id = $company->id;
291
            $capsuleUser->company_id = $company->id;
287
            $capsuleUser->topic_id = $topic->id;
292
            $capsuleUser->topic_id = $topic->id;
288
            $capsuleUser->capsule_id = $capsule->id;
293
            $capsuleUser->capsule_id = $capsule->id;
289
            $capsuleUser->user_id = $currentUser->id;
294
            $capsuleUser->user_id = $currentUser->id;
290
            $capsuleUser->access = CompanyMicrolearningCapsuleUser::ACCESS_UNLIMITED;
295
            $capsuleUser->access = MicrolearningCapsuleUser::ACCESS_UNLIMITED;
Línea 291... Línea 296...
291
            
296
            
292
            if($capsuleUserMapper->insert($capsuleUser)) {
297
            if($capsuleUserMapper->insert($capsuleUser)) {
293
                
298
                
294
                
299
                
295
                $capsuleUser = $capsuleUserMapper->fetchOne($capsule->id);
300
                $capsuleUser = $capsuleUserMapper->fetchOne($capsule->id);
296
                if($capsuleUser) {
301
                if($capsuleUser) {
Línea 297... Línea 302...
297
                    $companyMicrolearningUserMapper = CompanyMicrolearningUserMapper::getInstance($this->adapter);
302
                    $microlearningUserMapper = MicrolearningUserMapper::getInstance($this->adapter);
298
                    $companyMicrolearningUser = $companyMicrolearningUserMapper->fetchOneByUserIdAndCompanyId($capsuleUser->user_id, $capsuleUser->company_id);
303
                    $microlearningUser = $microlearningUserMapper->fetchOneByUserIdAndCompanyId($capsuleUser->user_id, $capsuleUser->company_id);
299
                    if($companyMicrolearningUser) {
304
                    if($microlearningUser) {