Proyectos de Subversion LeadersLinked - Antes de SPA

Rev

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

Rev 2919 Rev 3285
Línea 1269... Línea 1269...
1269
        if($request->isGet()) {
1269
        if($request->isGet()) {
Línea 1270... Línea 1270...
1270
            
1270
            
1271
            $currentUserPlugin = $this->plugin('currentUserPlugin');
1271
            $currentUserPlugin = $this->plugin('currentUserPlugin');
Línea -... Línea 1272...
-
 
1272
            $currentUser = $currentUserPlugin->getUser();
-
 
1273
            
-
 
1274
            $my_groups_ids = [];
-
 
1275
            
-
 
1276
            $groupMapper = GroupMapper::getInstance($this->adapter);
-
 
1277
            $records = $groupMapper->fetchAllByUserId($currentUser->id);
-
 
1278
            
-
 
1279
            foreach($records as $record)
-
 
1280
            {
-
 
1281
                if($record->status == Group::STATUS_ACTIVE) {
-
 
1282
                    array_push($my_groups_ids, $record->id);
-
 
1283
                }
-
 
1284
            }
-
 
1285
            
-
 
1286
     
1272
            $currentUser = $currentUserPlugin->getUser();
1287
            
1273
            
1288
            
1274
            $connectionMapper = ConnectionMapper::getInstance($this->adapter);
1289
            $connectionMapper = ConnectionMapper::getInstance($this->adapter);
Línea 1362... Línea 1377...
1362
                }
1377
                }
1363
            }
1378
            }
Línea 1364... Línea 1379...
1364
            
1379
            
Línea 1365... Línea 1380...
1365
            $capsule_user_ids = $capsule_user_ids ? $capsule_user_ids : [0];
1380
            $capsule_user_ids = $capsule_user_ids ? $capsule_user_ids : [0];
1366
            
1381
            
-
 
1382
 
1367
            
1383
            $other_users = array_unique(array_merge(
1368
            $other_users = array_unique(array_merge(
1384
               
1369
                $second_degree_connections_ids,
1385
                $second_degree_connections_ids,
1370
                $company_user_ids,
1386
                $company_user_ids,
1371
                $group_member_ids,
1387
                $group_member_ids,
Línea -... Línea 1388...
-
 
1388
                $capsule_user_ids
-
 
1389
            ));
-
 
1390
            
-
 
1391
            $queryMapper = QueryMapper::getInstance($this->adapter);
-
 
1392
            
-
 
1393
            $selectMyGroups = null;
-
 
1394
            if($my_groups_ids) {
-
 
1395
                
-
 
1396
           
-
 
1397
                $selectMyGroups = $queryMapper->getSql()->select();
-
 
1398
                $selectMyGroups->columns(['id', 'uuid', 'name','image','status','privacy', 'priority' => new Expression('1') ]);
-
 
1399
                $selectMyGroups->from(['g' => GroupMapper::_TABLE]);
-
 
1400
                $selectMyGroups->where->equalTo('privacy', Group::PRIVACY_IS_PUBLIC);
-
 
1401
                $selectMyGroups->where->equalTo('status', Group::STATUS_ACTIVE);
-
 
1402
                $selectMyGroups->where->in('g.id', $my_groups_ids);
-
 
1403
                $selectMyGroups->where->equalTo('g.user_id', $currentUser->id);
-
 
1404
                $selectMyGroups->order('name ASC');
-
 
1405
            }
Línea 1372... Línea 1406...
1372
                $capsule_user_ids
1406
            
1373
            ));
1407
    
1374
            
1408
            
-
 
1409
  
Línea 1375... Línea -...
1375
  
-
 
-
 
1410
            $groupMemberMapper = GroupMemberMapper::getInstance($this->adapter);
1376
            $groupMemberMapper = GroupMemberMapper::getInstance($this->adapter);
1411
            $group_ids = $groupMemberMapper->fetchAllGroupIdsByUserIds( $other_users);
1377
            $group_ids = $groupMemberMapper->fetchAllGroupIdsByUserIds( $other_users);
1412
            $group_ids = $group_ids ? $group_ids : [0];
1378
            $group_ids = $group_ids ? $group_ids : [0];
1413
 
1379
            
1414
            
1380
                
1415
                
1381
            $queryMapper = QueryMapper::getInstance($this->adapter);
1416
   
1382
            $select = $queryMapper->getSql()->select();
1417
            $select = $queryMapper->getSql()->select();
1383
            $select->columns(['uuid', 'name','image','status','privacy']);
1418
            $select->columns(['id', 'uuid', 'name','image','status','privacy', 'priority' => new Expression('0') ]);
-
 
1419
            $select->from(['g' => GroupMapper::_TABLE]); 
-
 
1420
            $select->where->equalTo('privacy', Group::PRIVACY_IS_PUBLIC);
-
 
1421
            $select->where->equalTo('status', Group::STATUS_ACTIVE);
-
 
1422
            $select->where->in('g.id', $group_ids);
-
 
1423
            $select->where->notEqualTo('g.user_id', $currentUser->id);
-
 
1424
            $select->order('name ASC');
-
 
1425
            
Línea 1384... Línea 1426...
1384
            $select->from(['g' => GroupMapper::_TABLE]); 
1426
            if($selectMyGroups) {
1385
            $select->where->equalTo('privacy', Group::PRIVACY_IS_PUBLIC);
1427
            
1386
            $select->where->equalTo('status', Group::STATUS_ACTIVE);
-
 
1387
            $select->where->in('id', $group_ids);
1428
                $select->combine($selectMyGroups);
-
 
1429
            }
-
 
1430
            
-
 
1431
            
-
 
1432
            
-
 
1433
            //echo $select->getSqlString($this->adapter->platform); exit;
-
 
1434
            
-
 
1435
            $records = $queryMapper->fetchAll($select);
-
 
1436
            usort($records, function ($a, $b) {
-
 
1437
                if( $a['priority'] == $b['priority'] ) {
-
 
1438
                    return 0; 
-
 
1439
                } else {
1388
            $select->where->notEqualTo('g.user_id', $currentUser->id);
1440
                    return $a['priority'] < $b['priority'] ? 1 : -1;
1389
            $select->order('name');
1441
                }
Línea 1390... Línea 1442...
1390
            
1442
            });
1391
            //echo $select->getSqlString($this->adapter->platform); exit;
1443
 
1392
                
1444
 
1393
            $items = [];
1445
            $items = [];
1394
            $records = $queryMapper->fetchAll($select);
1446
            
-
 
1447
            foreach($records as $record)
-
 
1448
            {
1395
            foreach($records as $record)
1449
                    
Línea 1396... Línea 1450...
1396
            {
1450
                array_push($items, [
Línea 1397... Línea 1451...
1397
                    
1451
                    'id'        => $record['uuid'],