private fork from github
This commit is contained in:
commit
ddcacca5c3
37 changed files with 5748 additions and 0 deletions
41
websocket/app/Component/Formatter/SubscriptionFormatter.php
Normal file
41
websocket/app/Component/Formatter/SubscriptionFormatter.php
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
<?php
|
||||
/**
|
||||
* Created by PhpStorm.
|
||||
* User: exodu
|
||||
* Date: 31.03.2018
|
||||
* Time: 13:09
|
||||
*/
|
||||
|
||||
namespace Exodus4D\Socket\Component\Formatter;
|
||||
|
||||
|
||||
class SubscriptionFormatter{
|
||||
|
||||
/**
|
||||
* group charactersData by systemId based on their current 'log' data
|
||||
* @param array $charactersData
|
||||
* @return array
|
||||
*/
|
||||
static function groupCharactersDataBySystem(array $charactersData) : array {
|
||||
$data = [];
|
||||
foreach($charactersData as $characterId => $characterData){
|
||||
// check if characterData has an active log (active system for character)
|
||||
$systemId = 0;
|
||||
if(isset($characterData['log']['system']['id'])){
|
||||
$systemId = (int)$characterData['log']['system']['id'];
|
||||
}
|
||||
|
||||
if( !isset($data[$systemId]) ){
|
||||
$systemData = (object)[];
|
||||
$systemData->id = $systemId;
|
||||
$data[$systemId] = $systemData;
|
||||
}
|
||||
|
||||
$data[$systemId]->user[] = $characterData;
|
||||
}
|
||||
$data = array_values($data);
|
||||
|
||||
return $data;
|
||||
}
|
||||
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue