Gestion de l'id unique et des fichiers
This commit is contained in:
parent
c26cfb9a48
commit
207eb09583
|
@ -64,10 +64,11 @@
|
||||||
public static function phone($params){
|
public static function phone($params){
|
||||||
extract($params);
|
extract($params);
|
||||||
|
|
||||||
// TODO: Tout enregistrer dans le .json et non dans la bdd
|
/* [0] On récupère l'id unique actuel
|
||||||
/* [1] On récupère l'id unique actuel
|
|
||||||
=========================================================*/
|
=========================================================*/
|
||||||
$uniqid = file_get_contents( __ROOT__.'/src/upload/phone_storage/uniqid' );
|
$funiq = fopen( __ROOT__.'/src/upload/phone_storage/uniqid', 'r+' );
|
||||||
|
flock($funiq, LOCK_EX); // On verrouille le fichier
|
||||||
|
$uniqid = fgets( $funiq );
|
||||||
|
|
||||||
if( !is_numeric($uniqid) )
|
if( !is_numeric($uniqid) )
|
||||||
$uniqid = 0;
|
$uniqid = 0;
|
||||||
|
@ -83,7 +84,7 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* [0] On récupère les logs s'ils existent
|
/* [1] On récupère les logs s'ils existent
|
||||||
=========================================================*/
|
=========================================================*/
|
||||||
// Contiendra le contenu du fichier
|
// Contiendra le contenu du fichier
|
||||||
$file = array( 'logs' => array() );
|
$file = array( 'logs' => array() );
|
||||||
|
@ -115,7 +116,7 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* [1] On enregistre les données du sujet
|
/* [2] On enregistre les données du sujet
|
||||||
=========================================================*/
|
=========================================================*/
|
||||||
$file['subject'] = array(
|
$file['subject'] = array(
|
||||||
'id' => $offset + $subject_id,
|
'id' => $offset + $subject_id,
|
||||||
|
@ -124,7 +125,7 @@
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
/* [2] On enregistre les contacts des MINI
|
/* [3] On enregistre les contacts des MINI
|
||||||
=========================================================*/
|
=========================================================*/
|
||||||
$file['contacts'] = array();
|
$file['contacts'] = array();
|
||||||
|
|
||||||
|
@ -150,7 +151,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/* [3] On enregistre les contacts des FICHES
|
/* [4] On enregistre les contacts des FICHES
|
||||||
=========================================================*/
|
=========================================================*/
|
||||||
foreach($fiches as $ficheData){
|
foreach($fiches as $ficheData){
|
||||||
// On récupère les données du contact associé
|
// On récupère les données du contact associé
|
||||||
|
@ -184,7 +185,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/* [4] On enregistre les relations de la MATRICE
|
/* [5] On enregistre les relations de la MATRICE
|
||||||
=========================================================*/
|
=========================================================*/
|
||||||
$file['relations'] = array();
|
$file['relations'] = array();
|
||||||
|
|
||||||
|
@ -196,17 +197,24 @@
|
||||||
));
|
));
|
||||||
|
|
||||||
|
|
||||||
/* [5] On enregistre tout dans 'lightdb'
|
/* [6] On enregistre tout dans 'lightdb'
|
||||||
=========================================================*/
|
=========================================================*/
|
||||||
$db = new lightdb('phone_storage/db');
|
$db = new lightdb('phone_storage/db');
|
||||||
$db->insert( $subject_id, $file );
|
$db->insert( $subject_id, $file );
|
||||||
$db->close();
|
$db->close();
|
||||||
|
|
||||||
/* [6] On met à jour le nouvel ID unique
|
/* [7] On met à jour le nouvel ID unique
|
||||||
=========================================================*/
|
=========================================================*/
|
||||||
$maxId += $offset;
|
$maxId += $offset;
|
||||||
file_put_contents( __ROOT__.'/src/upload/phone_storage/uniqid', $maxId );
|
rewind($funiq); // On revient au début du fichier
|
||||||
|
fwrite($funiq, $maxId); // On écrit la nouvelle valeur (forcément plus grande)
|
||||||
|
flock($funiq, LOCK_UN); // On débloque le verrou
|
||||||
|
fclose($funiq);
|
||||||
|
|
||||||
|
/* [8] On supprime le fichier temporaire si existe
|
||||||
|
=========================================================*/
|
||||||
|
if( file_exists($tmpfile) )
|
||||||
|
unlink($tmpfile);
|
||||||
|
|
||||||
|
|
||||||
/* [9] Gestion du retour
|
/* [9] Gestion du retour
|
||||||
|
|
File diff suppressed because one or more lines are too long
|
@ -1 +1 @@
|
||||||
{"1":{"line":0,"hash":"e87fa66f038f05904a1f4992c45b9f6430cbd78b"},"98":{"line":1,"hash":"3f04358b47ac0d1e9b5abcf1c5736a3231f46ed9"}}
|
{"1":{"line":0,"hash":"e87fa66f038f05904a1f4992c45b9f6430cbd78b"},"98":{"line":1,"hash":"3f04358b47ac0d1e9b5abcf1c5736a3231f46ed9"},"199":{"line":2,"hash":"f1de47c3dad31faf596e7f5dd74d2d5168eedf04"},"401":{"line":3,"hash":"a36813d7b22135df742fd0f441ea9bf34cee8508"},"805":{"line":4,"hash":"db7ae3d6b56e5598c29a53ddad013b27554ac2e3"},"1613":{"line":5,"hash":"3b05c357f3bb4b6e872642b2d1541a8927954e5d"},"3229":{"line":6,"hash":"21b2a4cc8307efeb2d6b1645859b5cd1324734e8"},"6461":{"line":7,"hash":"42c194779fec0cceaad90767fa5ed4129094abe6"},"12925":{"line":8,"hash":"df57e696ca3ffbee2955467aa073bf38e24384e6"}}
|
|
@ -1 +1 @@
|
||||||
198
|
25852
|
Loading…
Reference in New Issue