[Update] Factored `machineDefault/init` content to fetch basic working information (idem in `machineDefault/sync`)
This commit is contained in:
parent
aa5e2a572e
commit
cdb7818998
|
@ -452,47 +452,23 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* RETURNS ALL INFORMATION NEEDED BY MACHINES IN ORDER TO WORK
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* ENVOI DES DONNEES D'INITIALISATION DU SYSTEME DES MACHINES
|
|
||||||
*
|
*
|
||||||
* @return id_machine<int> UID de la machine
|
* @id_machine<int> Machine UID
|
||||||
* @return token<string> Nouveau token d'identification (hashage cyclique)
|
*
|
||||||
* @return unlock<string> Code de déblocage de la machine
|
* @return data<Array<Mixed>> Useful data
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public function init($params){
|
private static function getMachineWorkingInformation($id_machine){
|
||||||
extract($params);
|
|
||||||
|
|
||||||
|
/* [1] On récupére la liste des actions
|
||||||
/* [1] On essaie de débloquer la machine
|
|
||||||
=========================================================*/
|
|
||||||
/* (1) On rédige la requête */
|
|
||||||
$unlockReq = new Repo('machine/unlock', [
|
|
||||||
$_SESSION['WAREHOUSE']['id'],
|
|
||||||
$id_machine,
|
|
||||||
$unlock,
|
|
||||||
$token
|
|
||||||
]);
|
|
||||||
|
|
||||||
/* (2) On gère l'erreur */
|
|
||||||
if( $unlockReq->error->get() != Err::Success || !$unlockReq->answer() )
|
|
||||||
return [ 'error' => new Error(Err::TokenError) ];
|
|
||||||
|
|
||||||
|
|
||||||
/* [2] On récupére la liste des actions
|
|
||||||
=========================================================*/
|
=========================================================*/
|
||||||
$actionsReq = new Repo('action/getAll');
|
$actionsReq = new Repo('action/getAll');
|
||||||
$actions = ($actionsReq->error->get()==Err::Success) ? $actionsReq->answer() : [];
|
$actions = ($actionsReq->error->get()==Err::Success) ? $actionsReq->answer() : [];
|
||||||
// var_dump($actionsReq->answer());
|
// var_dump($actionsReq->answer());
|
||||||
|
|
||||||
|
|
||||||
/* [3] On regroupe les actions par TIMEOUT
|
/* [2] On regroupe les actions par TIMEOUT
|
||||||
=========================================================*/
|
=========================================================*/
|
||||||
$sorted_actions = [];
|
$sorted_actions = [];
|
||||||
|
|
||||||
|
@ -511,13 +487,13 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/* [4] On récupère la liste des états
|
/* [3] On récupère la liste des états
|
||||||
=========================================================*/
|
=========================================================*/
|
||||||
$globalStatesReq = new Repo('global_state/getAll');
|
$globalStatesReq = new Repo('global_state/getAll');
|
||||||
$globalStates = ($globalStatesReq->error->get()==Err::Success) ? $globalStatesReq->answer() : [];
|
$globalStates = ($globalStatesReq->error->get()==Err::Success) ? $globalStatesReq->answer() : [];
|
||||||
|
|
||||||
|
|
||||||
/* [5] On récupère la liste des MODULES (puces)
|
/* [4] On récupère la liste des MODULES (puces)
|
||||||
=========================================================*/
|
=========================================================*/
|
||||||
$chipsReq = new Repo('chip/getAll', [$_SESSION['WAREHOUSE']['id']]);
|
$chipsReq = new Repo('chip/getAll', [$_SESSION['WAREHOUSE']['id']]);
|
||||||
$chips = ($chipsReq->error->get()==Err::Success) ? $chipsReq->answer() : [];
|
$chips = ($chipsReq->error->get()==Err::Success) ? $chipsReq->answer() : [];
|
||||||
|
@ -552,7 +528,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/* [6] On récupère les utilisateurs + accès sur la machine
|
/* [5] On récupère les utilisateurs + accès sur la machine
|
||||||
=========================================================*/
|
=========================================================*/
|
||||||
/* (1) On récupère les utilisateurs et leurs permissions */
|
/* (1) On récupère les utilisateurs et leurs permissions */
|
||||||
$permissionsReq = new Repo('action_merge/getAccess', [
|
$permissionsReq = new Repo('action_merge/getAccess', [
|
||||||
|
@ -602,6 +578,47 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* ENVOI DES DONNEES D'INITIALISATION DU SYSTEME DES MACHINES
|
||||||
|
*
|
||||||
|
* @return id_machine<int> UID de la machine
|
||||||
|
* @return token<string> Nouveau token d'identification (hashage cyclique)
|
||||||
|
* @return unlock<string> Code de déblocage de la machine
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public function init($params){
|
||||||
|
extract($params);
|
||||||
|
|
||||||
|
|
||||||
|
/* [1] On essaie de débloquer la machine
|
||||||
|
=========================================================*/
|
||||||
|
/* (1) On rédige la requête */
|
||||||
|
$unlockReq = new Repo('machine/unlock', [
|
||||||
|
$_SESSION['WAREHOUSE']['id'],
|
||||||
|
$id_machine,
|
||||||
|
$unlock,
|
||||||
|
$token
|
||||||
|
]);
|
||||||
|
|
||||||
|
/* (2) On gère l'erreur */
|
||||||
|
if( $unlockReq->error->get() != Err::Success || !$unlockReq->answer() )
|
||||||
|
return [ 'error' => new Error(Err::TokenError) ];
|
||||||
|
|
||||||
|
|
||||||
|
/* [N] Retourne les données
|
||||||
|
=========================================================*/
|
||||||
|
return self::getMachineWorkingInformation($id_machine);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -645,21 +662,50 @@
|
||||||
$data = ['a', 'b'];
|
$data = ['a', 'b'];
|
||||||
|
|
||||||
|
|
||||||
|
z
|
||||||
/* [2] Données à reçues
|
/* [2] Gestion des données reçues
|
||||||
=========================================================*/
|
=========================================================*/
|
||||||
|
/* (1) For each history entry */
|
||||||
|
if( isset($data['history']) && is_array($data['history']) )
|
||||||
|
|
||||||
|
/* (2) Create history entry in db */
|
||||||
|
foreach($data['history'] as $entry){
|
||||||
|
|
||||||
|
// {1} Build request //
|
||||||
|
$log_req = new Request('historyDefault/create', [
|
||||||
|
'id_user' => $entry[0],
|
||||||
|
'id_machine' => $entry[1],
|
||||||
|
'id_action' => $entry[2],
|
||||||
|
'timestamp' => $entry[3]
|
||||||
|
]);
|
||||||
|
|
||||||
|
// {2} Manage error //
|
||||||
|
if( $log_req->error->get() != Err::Success )
|
||||||
|
continue;
|
||||||
|
|
||||||
|
// {3} Process + get response //
|
||||||
|
$log_res = $log_req->dispatch();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* [3] Données à envoyer
|
|
||||||
|
|
||||||
|
/* [3] Gestion des données à envoyer
|
||||||
=========================================================*/
|
=========================================================*/
|
||||||
|
/* (1) Basic working data update
|
||||||
|
---------------------------------------------------------*/
|
||||||
|
$basis_update = self::getMachineWorkingInformation($id_machine);
|
||||||
|
|
||||||
|
|
||||||
return [
|
|
||||||
'data' => $data
|
|
||||||
];
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* [4] Envoi des données
|
||||||
|
=========================================================*/
|
||||||
|
return array_merge($basis_update, ['data' => $data]);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -3,12 +3,18 @@ require_once __ROOT__.'/autoloader.php';
|
||||||
|
|
||||||
$_SESSION['history'] = [];
|
$_SESSION['history'] = [];
|
||||||
|
|
||||||
if( !isset($_COOKIE['mac_password']) || !isset($_COOKIE['mac_count']) ){
|
if( !isset($_COOKIE['mac_password']) || !isset($_COOKIE['mac_count']) || !isset($_COOKIE['token']) ){
|
||||||
$_COOKIE['mac_count'] = 10;
|
$_COOKIE['mac_count'] = 10;
|
||||||
$_COOKIE['mac_password'] = 'macPassword';
|
$_COOKIE['mac_password'] = 'macPassword';
|
||||||
|
|
||||||
|
// hash password
|
||||||
|
$_COOKIE['token'] = $_COOKIE['mac_password'];
|
||||||
|
for( $i = 0 ; $i < $_COOKIE['mac_count'] ; $i++ )
|
||||||
|
$_COOKIE['token'] = hash('512', $_COOKIE['token']);
|
||||||
|
|
||||||
setcookie('mac_count', $_COOKIE['mac_count'], time()+3600*24*365, '/');
|
setcookie('mac_count', $_COOKIE['mac_count'], time()+3600*24*365, '/');
|
||||||
setcookie('mac_password', $_COOKIE['mac_password'], time()+3600*24*365, '/');
|
setcookie('mac_password', $_COOKIE['mac_password'], time()+3600*24*365, '/');
|
||||||
|
setcookie('token', $_COOKIE['token'], time()+3600*24*365, '/');
|
||||||
|
|
||||||
header('Refresh: 0');
|
header('Refresh: 0');
|
||||||
}
|
}
|
||||||
|
@ -249,7 +255,13 @@ if( !isset($_COOKIE['mac_password']) || !isset($_COOKIE['mac_count']) ){
|
||||||
|
|
||||||
var ACTIONS, STATES, CHIPS, PERMISSIONS;
|
var ACTIONS, STATES, CHIPS, PERMISSIONS;
|
||||||
|
|
||||||
api.send({path: 'machineDefault/init', id_machine: 1}, function(response){
|
var request = {
|
||||||
|
path: 'machineDefault/init',
|
||||||
|
id_machine: 126,
|
||||||
|
token:
|
||||||
|
};
|
||||||
|
|
||||||
|
api.send({path: 'machineDefault/init', id_machine: 126}, function(response){
|
||||||
lsi.import('ACTIONS.CNF', response.actions);
|
lsi.import('ACTIONS.CNF', response.actions);
|
||||||
lsi.import('STATES.CNF', response.states);
|
lsi.import('STATES.CNF', response.states);
|
||||||
lsi.import('CHIPS.CNF', response.chips);
|
lsi.import('CHIPS.CNF', response.chips);
|
||||||
|
|
Loading…
Reference in New Issue