Enregistrement fonctionnel + résultat à vérifier
This commit is contained in:
parent
addd51a627
commit
84faf9484e
|
@ -2,4 +2,4 @@
|
||||||
sftp-config.json
|
sftp-config.json
|
||||||
phpunit/coverage/
|
phpunit/coverage/
|
||||||
*/tmp/*
|
*/tmp/*
|
||||||
/build/lightdb/storage/*/data
|
#/build/lightdb/storage/*/data
|
||||||
|
|
|
@ -72,7 +72,11 @@
|
||||||
if( !isset($subject_set['relations']) )
|
if( !isset($subject_set['relations']) )
|
||||||
$subject_set['relations'] = [];
|
$subject_set['relations'] = [];
|
||||||
|
|
||||||
/* (4) On récupère les noms des contacts */
|
/* (4) Ajout de l'enquête */
|
||||||
|
if( !in_array('phone', $subject_set['subject']['surveys']) )
|
||||||
|
$subject_set['subject']['surveys'][] = 'phone';
|
||||||
|
|
||||||
|
/* (5) On récupère les noms des contacts */
|
||||||
$contactsById = []; // idContact -> nomContact
|
$contactsById = []; // idContact -> nomContact
|
||||||
|
|
||||||
foreach($subject_set['contacts'] as $contactId){
|
foreach($subject_set['contacts'] as $contactId){
|
||||||
|
@ -282,14 +286,14 @@
|
||||||
|
|
||||||
/* [6] On les données du sujet
|
/* [6] On les données du sujet
|
||||||
=========================================================*/
|
=========================================================*/
|
||||||
|
$subjectdb->delete($subject_id);
|
||||||
$subjectdb->insert($subject_id, $subject_set);
|
$subjectdb->insert($subject_id, $subject_set);
|
||||||
|
|
||||||
|
|
||||||
/* [7] On enregistre les données des contacts
|
/* [7] Ferme les bases de données
|
||||||
=========================================================*/
|
=========================================================*/
|
||||||
/* (1) On enregistre chaque contact */
|
$subjectdb->close();
|
||||||
foreach($file['contacts'] as $c=>$contactData)
|
$contactdb->close();
|
||||||
$contactdb->insert($contactData['id'], $contactData);
|
|
||||||
|
|
||||||
|
|
||||||
/* [7] On met à jour le nouvel ID unique
|
/* [7] On met à jour le nouvel ID unique
|
||||||
|
@ -300,7 +304,6 @@
|
||||||
fclose($funiq);
|
fclose($funiq);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* [9] Gestion du retour
|
/* [9] Gestion du retour
|
||||||
=========================================================*/
|
=========================================================*/
|
||||||
return [
|
return [
|
||||||
|
@ -662,10 +665,10 @@
|
||||||
* @return subject_id<int> Retourne l'id sujet de l'enquête
|
* @return subject_id<int> Retourne l'id sujet de l'enquête
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public static function xfacebook($params){
|
public static function facebook($params){
|
||||||
extract($params);
|
extract($params);
|
||||||
|
|
||||||
/* [0] On récupère l'id unique actuel
|
/* [1] On récupère l'id unique actuel
|
||||||
=========================================================*/
|
=========================================================*/
|
||||||
$funiq = fopen( __BUILD__.'/lightdb/storage/uniqid', 'r+' );
|
$funiq = fopen( __BUILD__.'/lightdb/storage/uniqid', 'r+' );
|
||||||
flock($funiq, LOCK_EX); // On verrouille le fichier
|
flock($funiq, LOCK_EX); // On verrouille le fichier
|
||||||
|
@ -678,154 +681,104 @@
|
||||||
$offset = intval($uniqid) + 1;
|
$offset = intval($uniqid) + 1;
|
||||||
|
|
||||||
// on enregistre l'id du sujet
|
// on enregistre l'id du sujet
|
||||||
$subject_id = $subject['subject_id'];
|
$subject_id = intval($subject['subject_id']);
|
||||||
|
|
||||||
// Contiendra la valeur de l'id maximum
|
// Contiendra la valeur de l'id maximum
|
||||||
$maxId = $offset;
|
$maxId = $offset;
|
||||||
|
|
||||||
|
|
||||||
|
/* [2] On initialise nos variables (lightdb + autres)
|
||||||
|
=========================================================*/
|
||||||
// /* [1] On récupère les logs s'ils existent
|
/* (1) Fichiers de sortie */
|
||||||
// =========================================================*/
|
|
||||||
// // Contiendra le contenu du fichier
|
|
||||||
$file = [
|
$file = [
|
||||||
"subject" => "",
|
"subject" => "",
|
||||||
"contacts" => [],
|
|
||||||
"relations" => []
|
"relations" => []
|
||||||
];
|
];
|
||||||
|
|
||||||
|
/* (2) Bases de données */
|
||||||
|
$subjectdb = new lightdb('subject');
|
||||||
|
$contactdb = new lightdb('contact');
|
||||||
|
|
||||||
|
|
||||||
|
/* [3] Données du sujet
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* [2] On enregistre les données du sujet
|
|
||||||
=========================================================*/
|
=========================================================*/
|
||||||
/* (1) On crée le sujet */
|
$subject_set = $subjectdb->fetch($subject_id);
|
||||||
$file['subject'] = [ 'id' => $subject_id ];
|
|
||||||
|
|
||||||
/* (2) On récupère ses contacts phone */
|
/* (1) Si le sujet n'existe pas -> ERROR */
|
||||||
// {2.1} On récupère les données du sujet //
|
if( $subject_set === false )
|
||||||
$lphone = new lightdb('phone_db');
|
return ['ModuleError'=>ManagerError::UnreachableResource];
|
||||||
$lphone = $lphone->fetch($subject_id);
|
|
||||||
|
|
||||||
// {2.2} si n'existe pas, on a un tableau vide //
|
/* (2) Initialisation des contacts si vide */
|
||||||
if( $lphone === false )
|
if( !isset($subject_set['contacts']) )
|
||||||
$lphone = [ 'contacts' => [] ];
|
$subject_set['contacts'] = [];
|
||||||
|
|
||||||
if( !isset($lphone['contacts']) )
|
/* (3) Initialisation des relations si vide */
|
||||||
$lphone['contacts'] = [];
|
if( !isset($subject_set['relations']) )
|
||||||
|
$subject_set['relations'] = [];
|
||||||
|
|
||||||
|
/* (4) Ajout de l'enquête */
|
||||||
|
if( !in_array('facebook', $subject_set['surveys']) )
|
||||||
|
$subject_set['surveys'][] = 'facebook';
|
||||||
|
|
||||||
/* (3) On récupère ses contacts lab-surveys */
|
/* (5) On récupère les noms des contacts */
|
||||||
// {3.1} On récupère les données du sujet //
|
$contactsById = []; // idContact -> nomContact
|
||||||
$lsurvey = new lightdb('survey_db');
|
|
||||||
$lsurvey = $lsurvey->fetch($subject_id);
|
|
||||||
|
|
||||||
// {3.2} si n'existe pas, on a un tableau vide //
|
foreach($subject_set['contacts'] as $contactId){
|
||||||
if( $lsurvey === false )
|
$contactId = intval($contactId);
|
||||||
$lsurvey = [ 'contacts' => [] ];
|
$contactData = $contactdb->fetch( $contactId );
|
||||||
|
|
||||||
if( !isset($lsurvey['contacts']) )
|
$contactsById[$contactId] = $contactData['name'];
|
||||||
$lsurvey['contacts'] = [];
|
|
||||||
|
|
||||||
|
|
||||||
/* (4) On récupère uniquement la liste des contacts avec le type de fiche qu'ils ont */
|
|
||||||
// {4.1} Contiendra les contacts exportés //
|
|
||||||
$exported = [
|
|
||||||
'fiche' => [],
|
|
||||||
'mini' => []
|
|
||||||
];
|
|
||||||
|
|
||||||
// {4.2} Contiendra les username des contacts exportés //
|
|
||||||
$exportedU = [];
|
|
||||||
|
|
||||||
// {4.3} On récupère les contacts facebook //
|
|
||||||
foreach($lphone['contacts'] as $c=>$data){
|
|
||||||
|
|
||||||
if( isset($data['studies2']) ){
|
|
||||||
|
|
||||||
$exported['fiche'][] = $data['id'];
|
|
||||||
$exportedU[$data['id']] = $data['name'];
|
|
||||||
|
|
||||||
}else
|
|
||||||
|
|
||||||
// S'il n'est pas déja dans les fiches
|
|
||||||
if( !in_array($data['id'], $exported['fiche']) ){
|
|
||||||
|
|
||||||
$exported['mini'][] = $data['id'];
|
|
||||||
$exportedU[$data['id']] = $data['name'];
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
// {4.4} On récupère les contacts lab-surveys //
|
|
||||||
foreach($lsurvey['contacts'] as $c=>$data){
|
|
||||||
|
|
||||||
if( isset($data['studies2']) )
|
|
||||||
|
|
||||||
// On ajoute le contact s'il n'y est pas déja
|
|
||||||
if( !in_array($data['id'], $exported['fiche']) ){
|
|
||||||
|
|
||||||
$exported['fiche'][] = $data['id'];
|
|
||||||
$exportedU['fiche'][] = $data['username'];
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
else
|
|
||||||
|
|
||||||
// On ajoute le contact s'il n'y est pas déja (ni dans mini ni dans fiche)
|
|
||||||
if( !in_array($data['id'], $exported['mini']) && !in_array($data['id'], $exported['fiche']) ){
|
|
||||||
$exported['mini'][] = $data['id'];
|
|
||||||
$exportedU['mini'][] = $data['username'];
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* [4] On saisit les fiches + les contacts des fiches
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* [3] On enregistre les contacts des FICHES
|
|
||||||
=========================================================*/
|
=========================================================*/
|
||||||
$contactsDone = [
|
$contactsDone = [
|
||||||
"existing" => [], // Contacts exportés déja enregistrés
|
"existing" => [], // Contacts exportés déja enregistrés
|
||||||
"username" => [] // Nouveaux contacts déja enregistrés
|
"username" => [] // Nouveaux contacts déja enregistrés
|
||||||
];
|
];
|
||||||
|
$finalid = []; // id_contact -> id_final_contact (existant ou nouveau)
|
||||||
|
|
||||||
foreach($fiches as $f=>$ficheData){
|
foreach($fiches as $f=>$ficheData){
|
||||||
/* (1) On récupère les données du contact associé */
|
/* (1) On récupère les données du contact associé */
|
||||||
if( !isset($contacts[$ficheData['uid']]) )
|
if( !isset($contacts[$ficheData['contact']]) )
|
||||||
continue;
|
break;
|
||||||
|
|
||||||
$contact = $contacts[ $ficheData['uid'] ];
|
$contact = $contacts[ $ficheData['contact'] ];
|
||||||
|
|
||||||
/* (2) Si le contact a été importé d'une autre enquête */
|
/* (2) Si le contact a été importé d'une autre enquête */
|
||||||
if( isset($contact['existing']) && is_numeric($contact['existing']) ){
|
if( isset($contact['existing']) && is_numeric($contact['existing']) ){
|
||||||
|
|
||||||
$newId = (int) $contact['existing'];
|
$newId = (int) $contact['existing'];
|
||||||
$uname = $exportedU[intval($contact['existing'])];
|
$uname = $contactsById[ intval($contact['existing']) ];
|
||||||
// {2.1} S'il a déja une fiche ou qu'on a déja fait une fiche, on quitte //
|
|
||||||
if( in_array(intval($contact['existing']), $exported['fiche']) || in_array($contact['existing'], $contactsDone['existing']) )
|
$existingData = $dbcontact->fetch( intval($contact['existing']) );
|
||||||
continue;
|
|
||||||
|
$finalid[ intval($contact['uid']) ] = $newId;
|
||||||
|
|
||||||
|
// S'il a déja une fiche ou qu'on a déja fait une fiche, on quitte
|
||||||
|
if( is_array($existingData) && isset($existingData['studies2']) || in_array($contact['existing'], $contactsDone['existing']) )
|
||||||
|
break;
|
||||||
|
|
||||||
/* (3) Si nouveau contact */
|
/* (3) Si nouveau contact */
|
||||||
}else{
|
}else{
|
||||||
$newId = (int) ($offset+$ficheData['uid']);
|
|
||||||
|
$newId = (int) ($offset+$contact['uid']);
|
||||||
$uname = $contact['username'];
|
$uname = $contact['username'];
|
||||||
// {3.1} S'il a déja été saisi, on quitte //
|
|
||||||
|
$finalid[ intval($contact['uid']) ] = $newId;
|
||||||
|
|
||||||
|
// S'il a déja été saisi, on quitte
|
||||||
if( in_array($contact['username'], $contactsDone['username']) )
|
if( in_array($contact['username'], $contactsDone['username']) )
|
||||||
continue;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* (4) Update du @maxId */
|
/* (4) Update du @maxId */
|
||||||
if( $newId > $maxId )
|
if( $newId > $maxId )
|
||||||
$maxId = (int) $newId;
|
$maxId = (int) $newId;
|
||||||
|
|
||||||
// On remplit les données qui iront dans le fichier pour ce contact
|
/* (5) On enregistre les données du contact */
|
||||||
$file['contacts'][] = [
|
$contactdb->insert($newId, [
|
||||||
'id' => $newId,
|
'id' => $newId,
|
||||||
'name' => $uname,
|
'name' => $uname,
|
||||||
'sexe' => $ficheData['sexe'],
|
'sexe' => $ficheData['sexe'],
|
||||||
|
@ -844,13 +797,17 @@
|
||||||
'freq' => $ficheData['freq'],
|
'freq' => $ficheData['freq'],
|
||||||
'connect' => $ficheData['connect'],
|
'connect' => $ficheData['connect'],
|
||||||
'connectExtra' => $ficheData['connectSpecial']
|
'connectExtra' => $ficheData['connectSpecial']
|
||||||
];
|
] );
|
||||||
|
|
||||||
|
// On ajoute le contact dans la liste des contacts du sujet (si pas déja)
|
||||||
|
if( !in_array($newId, $subject_set['contacts']) )
|
||||||
|
$subject_set['contacts'][] = $newId;
|
||||||
|
|
||||||
// On enregistre la relation avec EGO
|
// On enregistre la relation avec EGO
|
||||||
$file['relations'][] = [
|
$subject_set['relations'][] = [
|
||||||
'idA' => $subject_id,
|
'idA' => $subject_id,
|
||||||
'idB' => $newId,
|
'idB' => $newId,
|
||||||
'type' => ($f<20) ? 4 : 5 // 4->appels 5->sms
|
'type' => ($f<20) ? 6 : 7 // 6->historique 7->messenger
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
||||||
|
@ -863,32 +820,40 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/* [4] On enregistre les contacts des MINI
|
/* [5] On enregistre les mini + les contacts des mini
|
||||||
=========================================================*/
|
=========================================================*/
|
||||||
foreach($mini as $miniData){
|
foreach($mini as $miniData){
|
||||||
/* (1) On récupère les données du contact associé */
|
/* (1) On récupère les données du contact associé */
|
||||||
if( !isset($contacts[$miniData['uid']]) )
|
if( !isset($contacts[$miniData['contact']]) )
|
||||||
continue;
|
break;
|
||||||
|
|
||||||
$contact = $contacts[ $miniData['uid'] ];
|
$contact = $contacts[ $miniData['contact'] ];
|
||||||
|
|
||||||
/* (2) Si le contact a été importé d'une autre enquête */
|
/* (2) Si le contact a été importé d'une autre enquête */
|
||||||
if( isset($contact['existing']) && is_numeric($contact['existing']) ){
|
if( isset($contact['existing']) && is_numeric($contact['existing']) ){
|
||||||
$newId = (int) $contact['existing'];
|
|
||||||
$uname = $exportedU[intval($contact['existing'])];
|
|
||||||
// {2.1} S'il a déja une fiche ou qu'on a déja fait une fiche (ou mini), on quitte //
|
|
||||||
if( in_array(intval($contact['existing']), $exported['fiche']) || in_array($contact['existing'], $contactsDone['existing']) )
|
|
||||||
continue;
|
|
||||||
|
|
||||||
|
$newId = (int) $contact['existing'];
|
||||||
|
$uname = $contactsById[ intval($contact['existing']) ];
|
||||||
|
|
||||||
|
$existingData = $dbcontact->fetch( intval($contact['existing']) );
|
||||||
|
|
||||||
|
$finalid[ intval($contact['uid']) ] = $newId;
|
||||||
|
|
||||||
|
// S'il a déja une fiche ou qu'on a déja fait une fiche (ou mini), on quitte
|
||||||
|
if( is_array($existingData) && isset($existingData['studies2']) || in_array($contact['existing'], $contactsDone['existing']) )
|
||||||
|
break;
|
||||||
|
|
||||||
/* (3) Si nouveau contact */
|
/* (3) Si nouveau contact */
|
||||||
}else{
|
}else{
|
||||||
|
|
||||||
$newId = (int) ($offset+$miniData['uid']);
|
$newId = (int) ($offset+$miniData['uid']);
|
||||||
$uname = $contact['username'];
|
$uname = $contact['username'];
|
||||||
// {3.1} S'il a déja été saisi, on quitte //
|
|
||||||
if( in_array($contact['username'], $contactsDone['username']) )
|
|
||||||
continue;
|
|
||||||
|
|
||||||
|
$finalid[ intval($contact['uid']) ] = $newId;
|
||||||
|
|
||||||
|
// S'il a déja été saisi, on quitte
|
||||||
|
if( in_array($contact['username'], $contactsDone['username']) )
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* (4) Update du @maxId */
|
/* (4) Update du @maxId */
|
||||||
|
@ -897,7 +862,7 @@
|
||||||
|
|
||||||
|
|
||||||
// On remplit les données qui iront dans le fichier pour ce contact
|
// On remplit les données qui iront dans le fichier pour ce contact
|
||||||
$file['contacts'][] = [
|
$contactdb->insert($newId, [
|
||||||
'id' => $newId,
|
'id' => $newId,
|
||||||
'name' => $uname,
|
'name' => $uname,
|
||||||
'sexe' => $miniData['sexe'],
|
'sexe' => $miniData['sexe'],
|
||||||
|
@ -905,13 +870,17 @@
|
||||||
'studies1' => $miniData['studies'],
|
'studies1' => $miniData['studies'],
|
||||||
'reltype' => ($miniData['reltype']==10) ? $miniData['reltypeSpecial'] : $miniData['reltype'], // si 'autre' -> valeur, sinon le code
|
'reltype' => ($miniData['reltype']==10) ? $miniData['reltypeSpecial'] : $miniData['reltype'], // si 'autre' -> valeur, sinon le code
|
||||||
'dist' => $miniData['loc']
|
'dist' => $miniData['loc']
|
||||||
];
|
] );
|
||||||
|
|
||||||
|
// On ajoute le contact dans la liste des contacts du sujet (si pas déja)
|
||||||
|
if( !in_array($newId, $subject_set['contacts']) )
|
||||||
|
$subject_set['contacts'][] = $newId;
|
||||||
|
|
||||||
// On enregistre la relation avec EGO
|
// On enregistre la relation avec EGO
|
||||||
$file['relations'][] = [
|
$subject_set['relations'][] = [
|
||||||
'idA' => $subject_id,
|
'idA' => $subject_id,
|
||||||
'idB' => $newId,
|
'idB' => $newId,
|
||||||
'type' => 2 // relation cellulaire mineure
|
'type' => 3 // relation facebook mineure
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
||||||
|
@ -925,16 +894,14 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* [6] On enregistre les relations de la MATRICE
|
||||||
/* [5] On enregistre les relations de la MATRICE
|
|
||||||
=========================================================*/
|
=========================================================*/
|
||||||
$clen = count($file['contacts']);
|
$clen = count($finalid);
|
||||||
// var_dump($file['contacts']);
|
|
||||||
|
|
||||||
/* (1) On récupére les ids des contacts */
|
/* (1) On récupére les ids des contacts */
|
||||||
$cIdList = [];
|
$cIdList = [];
|
||||||
foreach($file['contacts'] as $c=>$contact){
|
foreach($finalid as $lastid=>$newid){
|
||||||
$id = (int) $c;
|
$id = (int) $lastid;
|
||||||
|
|
||||||
if( !in_array($id, $cIdList) )
|
if( !in_array($id, $cIdList) )
|
||||||
$cIdList[$id] = null;
|
$cIdList[$id] = null;
|
||||||
|
@ -942,22 +909,18 @@
|
||||||
|
|
||||||
ksort($cIdList);
|
ksort($cIdList);
|
||||||
|
|
||||||
|
|
||||||
/* (2) On remplit les relations */
|
/* (2) On remplit les relations */
|
||||||
foreach($cIdList as $y=>$yNull){
|
foreach($cIdList as $y=>$yNull){
|
||||||
foreach($cIdList as $x=>$xNull)
|
foreach($cIdList as $x=>$xNull)
|
||||||
if( $x < $y ){ // On affiche que sous la diagonale
|
if( $x < $y ){ // On affiche que sous la diagonale
|
||||||
|
|
||||||
$idY = $file['contacts'][$y]['id'] - $offset;
|
|
||||||
$idX = $file['contacts'][$x]['id'] - $offset;
|
|
||||||
|
|
||||||
// Si relation alter-alter
|
// Si relation alter-alter
|
||||||
$relationXY = isset($matrice[$y]) && in_array($x, $matrice[$y])
|
$relationXY = isset($matrice[$y]) && in_array($x, $matrice[$y])
|
||||||
|| ( isset($matrice[$x]) && in_array($y, $matrice[$x]) );
|
|| ( isset($matrice[$x]) && in_array($y, $matrice[$x]) );
|
||||||
|
|
||||||
$file['relations'][] = [
|
$subject_set['relations'][] = [
|
||||||
'idA' => $offset + $x,
|
'idA' => $finalid[$x],
|
||||||
'idB' => $offset + $y,
|
'idB' => $finalid[$y],
|
||||||
'type' => $relationXY ? 1 : 0 // 0->aucune relation 1->relation alter alter
|
'type' => $relationXY ? 1 : 0 // 0->aucune relation 1->relation alter alter
|
||||||
];
|
];
|
||||||
|
|
||||||
|
@ -965,25 +928,25 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/* [6] On enregistre tout dans 'lightdb'
|
/* [6] On les données du sujet
|
||||||
=========================================================*/
|
=========================================================*/
|
||||||
$db = new lightdb('facebook_db');
|
$subjectdb->insert($subject_id, $subject_set);
|
||||||
$db->insert( $subject_id, $file );
|
|
||||||
$db->close();
|
|
||||||
|
/* [7] On enregistre les données des contacts
|
||||||
|
=========================================================*/
|
||||||
|
/* (1) On enregistre chaque contact */
|
||||||
|
foreach($file['contacts'] as $c=>$contactData)
|
||||||
|
$contactdb->insert($contactData['id'], $contactData);
|
||||||
|
|
||||||
|
|
||||||
/* [7] On met à jour le nouvel ID unique
|
/* [7] On met à jour le nouvel ID unique
|
||||||
=========================================================*/
|
=========================================================*/
|
||||||
// $maxId += $offset;
|
|
||||||
rewind($funiq); // On revient au début du fichier
|
rewind($funiq); // On revient au début du fichier
|
||||||
fwrite($funiq, $maxId); // On écrit la nouvelle valeur (forcément plus grande)
|
fwrite($funiq, $maxId); // On écrit la nouvelle valeur (forcément plus grande)
|
||||||
flock($funiq, LOCK_UN); // On débloque le verrou
|
flock($funiq, LOCK_UN); // On débloque le verrou
|
||||||
fclose($funiq);
|
fclose($funiq);
|
||||||
|
|
||||||
// /* [8] On supprime le fichier temporaire si existe
|
|
||||||
// =========================================================*/
|
|
||||||
// if( file_exists($tmpfile) )
|
|
||||||
// unlink($tmpfile);
|
|
||||||
|
|
||||||
|
|
||||||
/* [9] Gestion du retour
|
/* [9] Gestion du retour
|
||||||
=========================================================*/
|
=========================================================*/
|
||||||
|
|
|
@ -38,7 +38,7 @@
|
||||||
/* [1] On récupére la liste des sujets
|
/* [1] On récupére la liste des sujets
|
||||||
=========================================================*/
|
=========================================================*/
|
||||||
/* (1) On initialise et ouvre la bd */
|
/* (1) On initialise et ouvre la bd */
|
||||||
$db = new lightdb('survey_db');
|
$db = new lightdb('subject');
|
||||||
$ids = array_keys( $db->index() );
|
$ids = array_keys( $db->index() );
|
||||||
|
|
||||||
/* (2) On récupère tous les sujets */
|
/* (2) On récupère tous les sujets */
|
||||||
|
@ -47,37 +47,18 @@
|
||||||
|
|
||||||
$sub['creation'] = date('d/m/Y H:i:s', $sub['creation']);
|
$sub['creation'] = date('d/m/Y H:i:s', $sub['creation']);
|
||||||
$subjects[$id] = $sub;
|
$subjects[$id] = $sub;
|
||||||
}
|
|
||||||
$db->close();
|
|
||||||
|
|
||||||
|
/* (3) Si enquête PHONE passée */
|
||||||
/* [2] On récupére la liste des sujets pour PHONE
|
if( isset($sub['surveys']) && is_array($sub['surveys']) && in_array('phone', $sub['surveys']) )
|
||||||
=========================================================*/
|
|
||||||
/* (1) On initialise et ouvre la bd */
|
|
||||||
$db = new lightdb('phone_db');
|
|
||||||
$ids = array_keys( $db->index() );
|
|
||||||
$db->close();
|
|
||||||
|
|
||||||
/* (2) Si un des sujets de 'survey' est dans PHONE, on ajoute la mention */
|
|
||||||
foreach($subjects as $id=>$data)
|
|
||||||
if( in_array($id, $ids) ) // Si dans phone
|
|
||||||
$subjects[$id]['phone'] = true;
|
$subjects[$id]['phone'] = true;
|
||||||
|
|
||||||
|
/* (4) Si enquête FACEBOOK passée */
|
||||||
|
if( isset($sub['surveys']) && is_array($sub['surveys']) && in_array('facebook', $sub['surveys']) )
|
||||||
|
|
||||||
/* [3] On récupére la liste des sujets pour FACEBOOK
|
|
||||||
=========================================================*/
|
|
||||||
/* (1) On initialise et ouvre la bd */
|
|
||||||
$db = new lightdb('facebook_db');
|
|
||||||
$ids = array_keys( $db->index() );
|
|
||||||
$db->close();
|
|
||||||
|
|
||||||
/* (2) Si un des sujets de 'survey' est dans FACBEOOK, on ajoute la mention */
|
|
||||||
foreach($subjects as $id=>$data)
|
|
||||||
if( in_array($id, $ids) ) // Si dans facebook
|
|
||||||
$subjects[$id]['facebook'] = true;
|
$subjects[$id]['facebook'] = true;
|
||||||
|
|
||||||
|
}
|
||||||
|
$db->close();
|
||||||
|
|
||||||
|
|
||||||
/* [4] Gestion du retour
|
/* [4] Gestion du retour
|
||||||
=========================================================*/
|
=========================================================*/
|
||||||
|
@ -189,7 +170,8 @@
|
||||||
$data = [ 'subject' => [
|
$data = [ 'subject' => [
|
||||||
'id' => $newId,
|
'id' => $newId,
|
||||||
'name' => $name,
|
'name' => $name,
|
||||||
'creation' => time()
|
'creation' => time(),
|
||||||
|
'surveys' => []
|
||||||
]];
|
]];
|
||||||
|
|
||||||
/* [2] On crée le sujet dans SURVEYS
|
/* [2] On crée le sujet dans SURVEYS
|
||||||
|
@ -256,7 +238,7 @@
|
||||||
/* [1] On récupére la liste des sujets
|
/* [1] On récupére la liste des sujets
|
||||||
=========================================================*/
|
=========================================================*/
|
||||||
/* (1) On initialise et ouvre la bd */
|
/* (1) On initialise et ouvre la bd */
|
||||||
$db = new lightdb('survey_db');
|
$db = new lightdb('subject');
|
||||||
$ids = array_keys( $db->index() );
|
$ids = array_keys( $db->index() );
|
||||||
|
|
||||||
/* (2) On récupère tous les sujets */
|
/* (2) On récupère tous les sujets */
|
||||||
|
@ -266,40 +248,17 @@
|
||||||
|
|
||||||
$sub['creation'] = date('d/m/Y H:i:s', $sub['creation']);
|
$sub['creation'] = date('d/m/Y H:i:s', $sub['creation']);
|
||||||
$subjects[$id] = $sub;
|
$subjects[$id] = $sub;
|
||||||
}
|
|
||||||
}
|
|
||||||
$db->close();
|
|
||||||
|
|
||||||
|
/* (3) Si enquête PHONE passée */
|
||||||
/* [2] On récupére la liste des sujets pour PHONE
|
if( isset($sub['surveys']) && is_array($sub['surveys']) && in_array('phone', $sub['surveys']) )
|
||||||
=========================================================*/
|
|
||||||
/* (1) On initialise et ouvre la bd */
|
|
||||||
$db = new lightdb('phone_db');
|
|
||||||
$ids = array_keys( $db->index() );
|
|
||||||
$db->close();
|
|
||||||
|
|
||||||
/* (2) Si un des sujets de 'survey' est dans PHONE, on ajoute la mention */
|
|
||||||
foreach($subjects as $id=>$data)
|
|
||||||
if( in_array($id, $ids) ) // Si dans phone
|
|
||||||
$subjects[$id]['phone'] = true;
|
$subjects[$id]['phone'] = true;
|
||||||
|
|
||||||
|
/* (4) Si enquête FACEBOOK passée */
|
||||||
|
if( isset($sub['surveys']) && is_array($sub['surveys']) && in_array('facebook', $sub['surveys']) )
|
||||||
|
|
||||||
/* [3] On récupére la liste des sujets pour FACEBOOK
|
|
||||||
=========================================================*/
|
|
||||||
/* (1) On initialise et ouvre la bd */
|
|
||||||
$db = new lightdb('facebook_db');
|
|
||||||
$ids = array_keys( $db->index() );
|
|
||||||
$db->close();
|
|
||||||
|
|
||||||
/* (2) Si un des sujets de 'survey' est dans FACBEOOK, on ajoute la mention */
|
|
||||||
foreach($subjects as $id=>$data)
|
|
||||||
if( in_array($id, $ids) ) // Si dans facebook
|
|
||||||
$subjects[$id]['facebook'] = true;
|
$subjects[$id]['facebook'] = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$db->close();
|
||||||
|
|
||||||
/* [4] Retour des données
|
/* [4] Retour des données
|
||||||
=========================================================*/
|
=========================================================*/
|
||||||
|
|
File diff suppressed because one or more lines are too long
|
@ -1 +1 @@
|
||||||
{"1":{"line":0,"hash":"ae55953b70b63b6665ea13aef65aef8da8b8c834"},"3":{"line":1,"hash":"e264f35e79e354f1dcadc0bc6b9c2b07dc214ee2"}}
|
[]
|
File diff suppressed because one or more lines are too long
|
@ -1 +1 @@
|
||||||
{"3":{"line":0,"hash":"e9aff02e50eb56a848c3580c8a119a5cbe0ec64b"},"1":{"line":1,"hash":"99e868e35cdf0e36df88a54a7f03f6eff8966cf0"}}
|
[]
|
|
@ -0,0 +1,7 @@
|
||||||
|
{"subject":{"id":1,"name":"Caroline", "surveys": [], "creation":1464788890}}
|
||||||
|
{"subject":{"id":2,"name":"Cl\u00e9ment", "surveys": [], "creation":1464788893}}
|
||||||
|
{"subject":{"id":3,"name":"Coralie", "surveys": [], "creation":1464788897}}
|
||||||
|
{"subject":{"id":4,"name":"Laurent", "surveys": [], "creation":1464788899}}
|
||||||
|
{"subject":{"id":5,"name":"Emilie", "surveys": [], "creation":1464788903}}
|
||||||
|
{"subject":{"id":6,"name":"C\u00e9line", "surveys": [], "creation":1464788905}}
|
||||||
|
{"subject":{"id":7,"name":"Pierre", "surveys": [], "creation":1464788908}}
|
|
@ -1 +1 @@
|
||||||
[]
|
{"2":{"line":0,"hash":"8192621a7f0013e137e63edffdadea6ab7f69565"},"3":{"line":1,"hash":"a7b9d5cf6cfb41c0b100d91d053032bdad3a80da"},"4":{"line":2,"hash":"ef73002b8217c3c3b87a62b8ae4c69b3994c114f"},"5":{"line":3,"hash":"5cf77d4e920f1b418bf78484bc1766fb84baabb9"},"6":{"line":4,"hash":"356e841ad04cb0f553fe47eab88bf550d6853c60"},"7":{"line":5,"hash":"7d070210aed5df40ee7e2ca4b54f29c672d32a89"},"8":{"line":6,"hash":"9e4936de2cf03d46135bbac3589a1e3ce68fb406"}}
|
|
@ -1,8 +0,0 @@
|
||||||
{"subject":{"id":1,"name":"Caroline","creation":1464788890}}
|
|
||||||
{"subject":{"id":2,"name":"Cl\u00e9ment","creation":1464788893}}
|
|
||||||
{"subject":{"id":3,"name":"Coralie","creation":1464788897}}
|
|
||||||
{"subject":{"id":4,"name":"Laurent","creation":1464788899}}
|
|
||||||
{"subject":{"id":5,"name":"Emilie","creation":1464788903}}
|
|
||||||
{"subject":{"id":6,"name":"C\u00e9line","creation":1464788905}}
|
|
||||||
{"subject":{"id":7,"name":"Pierre","creation":1464788908}}
|
|
||||||
{"subject":{"id":8,"name":"Boris","creation":1464788910}}
|
|
|
@ -1 +1 @@
|
||||||
{"1":{"line":0,"hash":"9798c2b945e222c48bff804d9819c0d98e88d257"},"2":{"line":1,"hash":"8192621a7f0013e137e63edffdadea6ab7f69565"},"3":{"line":2,"hash":"a7b9d5cf6cfb41c0b100d91d053032bdad3a80da"},"4":{"line":3,"hash":"ef73002b8217c3c3b87a62b8ae4c69b3994c114f"},"5":{"line":4,"hash":"5cf77d4e920f1b418bf78484bc1766fb84baabb9"},"6":{"line":5,"hash":"356e841ad04cb0f553fe47eab88bf550d6853c60"},"7":{"line":6,"hash":"7d070210aed5df40ee7e2ca4b54f29c672d32a89"},"8":{"line":7,"hash":"9e4936de2cf03d46135bbac3589a1e3ce68fb406"}}
|
[]
|
|
@ -1 +1 @@
|
||||||
3903
|
4163
|
|
@ -36,6 +36,8 @@ var tmpSubjectSearchListener = function(e){
|
||||||
/* (2) On effectue la requête */
|
/* (2) On effectue la requête */
|
||||||
api.send(request, function(response){
|
api.send(request, function(response){
|
||||||
|
|
||||||
|
console.warn(response);
|
||||||
|
|
||||||
// Si erreur
|
// Si erreur
|
||||||
if( response.ModuleError != 0 ){
|
if( response.ModuleError != 0 ){
|
||||||
Notification.error('Erreur', 'La recherche a échoué.')
|
Notification.error('Erreur', 'La recherche a échoué.')
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
var sField,sSubmit,sList,pSubjectManager=null,pContactManager=null,pMiniManager=null,pFicheManager=null,pMatriceManager=null,fSubjectManager=null,fContactManager=null,fMiniManager=null,fFicheManager=null,fMatriceManager=null,input_ts=Date.now();sField=$("#search-field");sSubmit=$("#search-subject");sList=$('section[data-sublink="survey"] ul[data-list]');
|
var sField,sSubmit,sList,pSubjectManager=null,pContactManager=null,pMiniManager=null,pFicheManager=null,pMatriceManager=null,fSubjectManager=null,fContactManager=null,fMiniManager=null,fFicheManager=null,fMatriceManager=null,input_ts=Date.now();sField=$("#search-field");sSubmit=$("#search-subject");sList=$('section[data-sublink="survey"] ul[data-list]');
|
||||||
var tmpSubjectSearchListener=function(a){api.send({path:"subject/search",name:sField.value},function(a){if(0!=a.ModuleError)return Notification.error("Erreur","La recherche a \u00e9chou\u00e9."),!1;console.log(a);var c=[],g;for(g in a.results)c.push("<li data-element data-id='"+g+"'>"),c.push("<div data-user><span>SUJET</span></div>"),c.push("<div> <span><input type='text' readonly style='text-align: center' onclick='this.select()' class='flag' value='"+g+"'></span> </div>"),c.push("<div> <span data-prefix='Nom'>"+
|
var tmpSubjectSearchListener=function(a){api.send({path:"subject/search",name:sField.value},function(a){console.warn(a);if(0!=a.ModuleError)return Notification.error("Erreur","La recherche a \u00e9chou\u00e9."),!1;console.log(a);var c=[],g;for(g in a.results)c.push("<li data-element data-id='"+g+"'>"),c.push("<div data-user><span>SUJET</span></div>"),c.push("<div> <span><input type='text' readonly style='text-align: center' onclick='this.select()' class='flag' value='"+g+"'></span> </div>"),c.push("<div> <span data-prefix='Nom'>"+
|
||||||
a.results[g].name+"</span> </div>"),c.push("<div> <span data-prefix='Cr\u00e9ation'>"+a.results[g].creation+"</span> </div>"),c.push("<div> <span><input type='checkbox' id='s_"+g+"' "+(null!=a.results[g].phone?"checked":"")+" disabled><label for='s_"+g+"'>Cellulaire</label>"),c.push("</span> </div>"),c.push("<div> <span><input type='checkbox' id='s_"+g+"' "+(null!=a.results[g].facebook?"checked":"")+" disabled><label for='s_"+g+"'>Facebook</label>"),c.push("</span> </div>"),c.push("</li>");sList.innerHTML=
|
a.results[g].name+"</span> </div>"),c.push("<div> <span data-prefix='Cr\u00e9ation'>"+a.results[g].creation+"</span> </div>"),c.push("<div> <span><input type='checkbox' id='s_"+g+"' "+(null!=a.results[g].phone?"checked":"")+" disabled><label for='s_"+g+"'>Cellulaire</label>"),c.push("</span> </div>"),c.push("<div> <span><input type='checkbox' id='s_"+g+"' "+(null!=a.results[g].facebook?"checked":"")+" disabled><label for='s_"+g+"'>Facebook</label>"),c.push("</span> </div>"),c.push("</li>");sList.innerHTML=
|
||||||
c.join("")})};sSubmit.addEventListener("click",tmpSubjectSearchListener,!1);sField.addEventListener("keypress",function(a){13===a.keyCode&&tmpSubjectSearchListener(a)},!1);tmpSubjectSearchListener();
|
c.join("")})};sSubmit.addEventListener("click",tmpSubjectSearchListener,!1);sField.addEventListener("keypress",function(a){13===a.keyCode&&tmpSubjectSearchListener(a)},!1);tmpSubjectSearchListener();
|
||||||
var pAlready=0,pLoaded=[0,0,0,0,0],phoneRoutine=function(){!Math.min.apply(Math,pLoaded)|pAlready||(pAlready=1,console.groupEnd(),console.group("[phone] Initialization"),pSubjectManager=new inputPhoneSubject($('[data-sublink="phone"] article.subject-panel [data-name="subject_id"]'),$('[data-sublink="phone"] article.subject-panel [data-name="submit"]')),pSubjectManager.attach(pDynamicUpdate),pContactManager=new inputPhoneContact($('[data-sublink="phone"] article.contact-panel'),$('[data-sublink="phone"] #p_nav-contact')),
|
var pAlready=0,pLoaded=[0,0,0,0,0],phoneRoutine=function(){!Math.min.apply(Math,pLoaded)|pAlready||(pAlready=1,console.groupEnd(),console.group("[phone] Initialization"),pSubjectManager=new inputPhoneSubject($('[data-sublink="phone"] article.subject-panel [data-name="subject_id"]'),$('[data-sublink="phone"] article.subject-panel [data-name="submit"]')),pSubjectManager.attach(pDynamicUpdate),pContactManager=new inputPhoneContact($('[data-sublink="phone"] article.contact-panel'),$('[data-sublink="phone"] #p_nav-contact')),
|
||||||
|
|
Loading…
Reference in New Issue