Compare commits

..

28 Commits

Author SHA1 Message Date
xdrm-brackets 49a3056dcd mini bugfix css 2016-12-20 23:24:25 +01:00
xdrm-brackets c37c749087 create input/survey based on input/phone 2016-12-20 19:26:52 +01:00
xdrm-brackets 142cbff763 bugfix + sample data 2016-12-18 00:42:10 +01:00
xdrm-brackets 24ba120631 bugfix ? 2016-12-18 00:12:23 +01:00
xdrm-brackets 8b30dbb4d2 Removing test + auto-merging 2016-12-15 16:21:24 +01:00
xdrm-brackets 255af4d6b0 Merged dev into master 2016-12-15 16:18:32 +01:00
xdrm-brackets 38e479c73c Merged feature/fiche-updates into dev 2016-12-15 16:18:19 +01:00
xdrm-brackets 4573343a94 minmod 2016-12-15 16:17:54 +01:00
xdrm-brackets c2f65a0227 bugfix + ajout sujets vides 2016-12-15 16:17:44 +01:00
xdrm-brackets 4175fef281 Fixed mini.loc qui ne s'enregistrait pas pour `phone`
-> faire de meme pour `facebook`
+ de la merde shit shit shit !!! bon appp
2016-12-15 13:18:37 +01:00
xdrm-brackets 0810d0be8e Managing links between `fiche` - `mini` while cloning
(updated html-data)
(updated testRoutine's)
(updated dictionary.json)
2016-12-15 12:23:14 +01:00
xdrm-brackets 90d79cf103 maxFix 2016-12-14 14:12:50 +01:00
xdrm-brackets 44519c6484 Fixed upload/local_data for `facebook`
+ fixed subject non-updatable if only coords
+ fixed refresh when importing local_data
2016-12-14 12:18:15 +01:00
xdrm-brackets be7fb63f9c Copying layout for phone/matrice to facebook/matrice 2016-12-14 10:52:15 +01:00
xdrm-brackets bef99c46f8 Updated .gitignore 2016-12-14 02:38:46 +01:00
xdrm-brackets 4dcc20e470 merge 2016-12-13 19:38:52 +01:00
xdrm-brackets b5def6ffe8 Added global clause "Choix de re-participer plus tard"
+ modification des ranges (niveau client uniquement) de : `job` et
`studies`
+ update -> `input/*` prends `subject` qui est un objet (jsobject)
2016-12-13 19:37:44 +01:00
xdrm-brackets f980ddd41d Getting subjects from lab-surveys in __PUBLIC__/import.php 2016-12-13 12:58:46 +01:00
xdrm-brackets 29cacfa11e reset autoloader.php 2016-12-06 15:28:30 +01:00
xdrm-brackets 0fd0aabd59 autoloader.php minmod 2016-12-06 15:14:43 +01:00
xdrm-brackets e888b04d50 Some commit message 2016-12-06 14:43:32 +01:00
xdrm-brackets 92db51d7aa Merge branch 'master' of https://git.xdrm.io/xdrm-brackets/nxtic 2016-11-25 13:08:18 +01:00
xdrm-brackets a5cbdcb429 Merge remote-tracking branch 'origin/dev' of https://git.xdrm.io/xdrm-brackets/nxtic 2016-11-25 13:01:24 +01:00
xdrm-brackets ac2d70835b minmod-remote 2016-11-25 13:00:18 +01:00
xdrm-brackets 4272d15f29 minmod 2016-11-23 18:11:28 +01:00
xdrm-brackets 93de3e8c2c minmod 2016-11-23 18:08:26 +01:00
xdrm-brackets 7526e780ad Merge branch 'dev' of https://git.xdrm.io/xdrm-brackets/nxtic 2016-11-23 18:06:33 +01:00
Adrien Marques 4f56e9e009 database config update 2016-11-23 18:05:44 +01:00
287 changed files with 1327 additions and 473 deletions

6
.gitignore vendored Normal file → Executable file
View File

@ -2,4 +2,10 @@
sftp-config.json
phpunit/coverage/
/public_html/tmp/*
<<<<<<< HEAD
/build/lightdb/storage/*
/config/server.json
=======
/build/lightdb/storage/*/data
**.swp
>>>>>>> 255af4d6b03408ab9f840db1fea74a35b7bc28c4

0
.htaccess Normal file → Executable file
View File

3
autoloader.php Normal file → Executable file
View File

@ -20,7 +20,7 @@
// Loads the build facade
require_once __BUILD__.'/Builder.php';
// require_once __BUILD__.'/Builder.php';
/* AUTOLOADER
@ -52,7 +52,6 @@
\manager\sessionManager::session_start();
/* [3] Gestion des droits des utilisateurs
=========================================================*/
/* (1) Retourne si l'utilisateur est connecte ou non */

0
build/.htaccess Normal file → Executable file
View File

2
build/Builder.php Normal file → Executable file
View File

@ -13,5 +13,5 @@
class Builder{
}

0
build/api/core/Checker.php Normal file → Executable file
View File

0
build/api/core/ModuleRequest.php Normal file → Executable file
View File

0
build/api/core/ModuleResponse.php Normal file → Executable file
View File

0
build/api/module/chart.php Normal file → Executable file
View File

0
build/api/module/download.php Normal file → Executable file
View File

392
build/api/module/input.php Normal file → Executable file
View File

@ -62,9 +62,369 @@
/* TRAITE LES DONNÉES D'UN FORMULAIRE DE TYPE LAB-SURVEYS
*
* @subject<Array> Données du sujet concerné
* @contacts<Array> Tableau contenant les données des contacts
* @mini<Array> Tableau contenant les données des mini fiches relation
* @fiches<Array> Tableau contenant les données des fiches relation
*
* @return subject_id<int> Retourne l'id sujet de l'enquête
*
*/
public static function survey($params){
extract($params);
$START_TIME = microtime(true);
/* [1] On récupère l'id unique actuel
=========================================================*/
$funiq = fopen( __BUILD__.'/lightdb/storage/uniqid', 'r+' );
flock($funiq, LOCK_EX); // On verrouille le fichier
$uniqid = trim( fgets( $funiq ) );
if( !is_numeric($uniqid) )
$uniqid = 0;
// Décalage à appliquer à tous les ids
$offset = intval($uniqid) + 1;
// on enregistre l'id du sujet
$subject_id = intval($subject['subject_id']);
// Contiendra la valeur de l'id maximum
$maxId = $offset;
/* [2] On initialise nos variables (lightdb + autres)
=========================================================*/
/* (2) Bases de données */
$subjectdb = new lightdb('subject');
$contactdb = new lightdb('contact');
/* [3] Données du sujet
=========================================================*/
$subject_set = $subjectdb->fetch($subject_id);
/* (1) Si le sujet n'existe pas -> ERROR */
if( $subject_set === false )
return ['ModuleError'=>ManagerError::UnreachableResource];
/* (2) Initialisation des contacts si vide */
if( !isset($subject_set['contacts']) )
$subject_set['contacts'] = [];
/* (3) Initialisation des relations si vide */
if( !isset($subject_set['relations']) )
$subject_set['relations'] = [];
/* (4) Ajout de l'enquête */
//if( !in_array('phone', $subject_set['subject']['surveys']) )
// $subject_set['subject']['surveys'][] = 'phone';
/* (5) On met à jour si le sujet veut renouveller l'enquête plus tard */
if( !empty($subject['coords']) )
$subject_set['subject']['coords'] = $subject['coords'];
/* (6) On récupère les noms des contacts */
$contactsById = []; // idContact -> nomContact, typeEnquete ('mini' ou 'fiche')
foreach($subject_set['contacts'] as $contactId){
$contactId = intval($contactId);
$contactData = $contactdb->fetch( $contactId );
$contactsById[$contactId] = [
'name' => $contactData['name'],
'type' => isset($contactData['studies2']) ? 'fiche' : 'mini'
];
}
/* [4] On saisit les fiches + les contacts des fiches
=========================================================*/
$contactsDone = [
"existing" => [], // Contacts exportés 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){
/* (1) On récupère les données du contact associé */
if( !isset($contacts[$ficheData['uid']]) )
continue;
$contact = $contacts[ $ficheData['uid'] ];
/* (2) Si le contact a été importé d'une autre enquête */
if( isset($contact['existing']) && is_numeric($contact['existing']) ){
$newId = (int) $contact['existing'];
$existingData = null;
// si le contact existe bien déja -> on recup. ses données
if( isset($contactsById[ $newId ]) )
$existingData = $contactsById[$newId];
$uname = $existingData['name'];
// si aucune référence existante -> on oublie ce contact
if( $existingData === null ){
$finalid[ intval($contact['uid']) ] = null;
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( $existingData['type'] === 'fiche' || isset($contactsDone['existing'][$newId]) )
continue;
// On l'ajoute à la liste des contacts 'existing' fait
$contactsDone['existing'][$newId] = $newId;
/* (3) Si nouveau contact */
}else{
$newId = (int) ($offset+$contact['uid']);
$uname = $contact['username'];
$finalid[ intval($contact['uid']) ] = $newId;
// S'il a déja été saisi, on met l'ancienne référence puis on passe au suivant
if( isset($contactsDone['username'][$uname]) ){
$finalid[ intval($contact['uid']) ] = $contactsDone['username'][$uname];
continue;
}
// On l'ajoute à la liste des contacts 'username' fait
$contactsDone['username'][$uname] = $newId;
}
/* (4) Update du @maxId */
if( $newId > $maxId )
$maxId = (int) $newId;
/* (5) On enregistre les données du contact */
$contactdb->insert($newId, [
'id' => $newId,
'name' => $uname,
'sexe' => $ficheData['sexe'],
'age' => $ficheData['age'],
'studies2' => $ficheData['studies'],
'reltype' => ($ficheData['reltype']==10) ? $ficheData['reltypeSpecial'] : $ficheData['reltype'], // si 'autre' -> valeur, sinon le code
'dist' => $ficheData['loc'],
'job' => $ficheData['job'],
'famsit' => $ficheData['famsit'],
'city' => $ficheData['city'],
'cp' => $ficheData['cp'],
'quartier' => $ficheData['quartier'],
'duration' => $ficheData['duration'],
'context' => $ficheData['context'],
'contextExtra' => $ficheData['contextSpecial'],
'freq' => $ficheData['freq'],
'connect' => $ficheData['connect'],
'connectExtra' => $ficheData['connectSpecial'],
'medsoc' => $ficheData['medsoc'],
'interest' => $ficheData['interest'],
'irlfreq' => $ficheData['irlfreq'],
'relmark' => $ficheData['relmark'],
'medrel' => $ficheData['medrel']
] );
// 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
$reltype = ($f<20) ? 4 : 5; // 4->appels 5->sms
if( !self::relAlready($subject_set['relations'], $subject_id, $newId, $reltype) )
$subject_set['relations'][] = [
'idA' => $subject_id,
'idB' => $newId,
'type' => $reltype
];
}
/* [5] On enregistre les mini + les contacts des mini
=========================================================*/
foreach($mini as $miniData){
/* (1) On récupère les données du contact associé */
if( !isset($contacts[$miniData['uid']]) )
continue;
$contact = $contacts[ $miniData['uid'] ];
/* (2) Si le contact a été importé d'une autre enquête */
if( isset($contact['existing']) && is_numeric($contact['existing']) ){
$newId = (int) $contact['existing'];
$existingData = null;
// si le contact existe bien déja -> on recup. ses données
if( isset($contactsById[ $newId ]) )
$existingData = $contactsById[$newId];
$uname = $existingData['name'];
// si aucune référence existante -> on oublie ce contact
if( $existingData === null ){
$finalid[ intval($contact['uid']) ] = null;
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( $existingData['type'] === 'fiche' || isset($contactsDone['existing'][$newId]) )
continue;
// On l'ajoute à la liste des contacts 'existing' fait
$contactsDone['existing'][$newId] = $newId;
/* (3) Si nouveau contact */
}else{
$newId = (int) ($offset+$contact['uid']);
$uname = $contact['username'];
$finalid[ intval($contact['uid']) ] = $newId;
// S'il a déja été saisi, on met l'ancienne référence puis on passe au suivant
if( isset($contactsDone['username'][$uname]) ){
$finalid[ intval($contact['uid']) ] = $contactsDone['username'][$uname];
continue;
}
// On l'ajoute à la liste des contacts 'username' fait
$contactsDone['username'][$uname] = $newId;
}
/* (4) Update du @maxId */
if( $newId > $maxId )
$maxId = (int) $newId;
// On remplit les données qui iront dans le fichier pour ce contact
$contactdb->insert($newId, [
'id' => $newId,
'name' => $uname,
'sexe' => $miniData['sexe'],
'age' => $miniData['age'],
'studies1' => $miniData['studies'],
'reltype' => ($miniData['reltype']==10) ? $miniData['reltypeSpecial'] : $miniData['reltype'], // si 'autre' -> valeur, sinon le code
'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
if( !self::relAlready($subject_set['relations'], $subject_id, $newId, 2) )
$subject_set['relations'][] = [
'idA' => $subject_id,
'idB' => $newId,
'type' => 2 // relation cellulaire mineure
];
}
/* [6] On enregistre les relations de la MATRICE
=========================================================*/
$clen = count($finalid);
/* (1) On récupére les ids (initiaux) des contacts de manière unique */
$doneNewId = [];
$cIdList = [];
foreach($finalid as $lastid=>$newid){
// si id (ou reference) déja fait -> suivant
if( array_key_exists($newid, $doneNewId) )
continue;
$cIdList[$lastid] = null;
$doneNewId[$newid] = false;
}
ksort($cIdList);
/* (2) On remplit les relations */
foreach($cIdList as $x=>$yNull){
foreach($cIdList as $y=>$xNull)
if( $x < $y ){ // On affiche que sous la diagonale
// Si relation alter-alter
$relation_type = isset($matrice[$y]) && in_array($x, $matrice[$y])
|| ( isset($matrice[$x]) && in_array($y, $matrice[$x]) );
$relation_type = $relation_type ? 1 : 0; // 0->aucune relation 1->relation alter alter
/* (3) Si la relation existe déja, on ne fait rien */
if( self::relAlready($subject_set['relations'], $finalid[$x], $finalid[$y], $relation_type) )
continue;
$subject_set['relations'][] = [
'idA' => $finalid[$x],
'idB' => $finalid[$y],
'type' => $relation_type
];
}
}
/* [6] On les données du sujet
=========================================================*/
$subjectdb->delete($subject_id);
$subjectdb->insert($subject_id, $subject_set);
/* [7] Ferme les bases de données
=========================================================*/
$subjectdb->close();
$contactdb->close();
/* [7] On met à jour le nouvel ID unique
=========================================================*/
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);
/* [9] Gestion du retour
=========================================================*/
return [
'ModuleError' => ManagerError::Success,
'subject_id' => $subject_id,
'nb_contacts' => count($subject_set['contacts']),
'nb_relations' => count($subject_set['relations']),
'elapsed_time' => microtime(true) - $START_TIME
];
}
/* TRAITE LES DONNÉES D'UN FORMULAIRE DE TYPE TÉLÉPHONIQUE
*
* @subject<int> Id du sujet concerné
* @subject<Array> Données du sujet concerné
* @contacts<Array> Tableau contenant les données des contacts
* @mini<Array> Tableau contenant les données des mini fiches relation
* @fiches<Array> Tableau contenant les données des fiches relation
@ -91,7 +451,7 @@
$offset = intval($uniqid) + 1;
// on enregistre l'id du sujet
$subject_id = intval($subject);
$subject_id = intval($subject['subject_id']);
// Contiendra la valeur de l'id maximum
$maxId = $offset;
@ -99,11 +459,6 @@
/* [2] On initialise nos variables (lightdb + autres)
=========================================================*/
/* (1) Fichiers de sortie */
$file = [
"subject" => "",
"relations" => []
];
/* (2) Bases de données */
$subjectdb = new lightdb('subject');
@ -130,7 +485,11 @@
if( !in_array('phone', $subject_set['subject']['surveys']) )
$subject_set['subject']['surveys'][] = 'phone';
/* (5) On récupère les noms des contacts */
/* (5) On met à jour si le sujet veut renouveller l'enquête plus tard */
if( !empty($subject['coords']) )
$subject_set['subject']['coords'] = $subject['coords'];
/* (6) On récupère les noms des contacts */
$contactsById = []; // idContact -> nomContact, typeEnquete ('mini' ou 'fiche')
foreach($subject_set['contacts'] as $contactId){
@ -427,9 +786,9 @@
/* TRAITE LES DONNÉES D'UN FORMULAIRE DE TYPE FACEBOOK
*
* @subject<id> Id du sujet concerné
* @subject<Array> Données du sujet concerné
* @contacts<Array> Tableau contenant les données des contacts
* @mini<Array> Tableau contenant les données des mini fiches relation
* @mini<Array> Tableau contenant les données des mini fiches relation
* @fiches<Array> Tableau contenant les données des fiches relation
*
* @return subject_id<int> Retourne l'id sujet de l'enquête
@ -454,7 +813,7 @@
$offset = intval($uniqid) + 1;
// on enregistre l'id du sujet
$subject_id = intval($subject);
$subject_id = intval($subject['subject_id']);
// Contiendra la valeur de l'id maximum
$maxId = $offset;
@ -462,11 +821,6 @@
/* [2] On initialise nos variables (lightdb + autres)
=========================================================*/
/* (1) Fichiers de sortie */
$file = [
"subject" => "",
"relations" => []
];
/* (2) Bases de données */
$subjectdb = new lightdb('subject');
@ -493,7 +847,11 @@
if( !in_array('facebook', $subject_set['subject']['surveys']) )
$subject_set['subject']['surveys'][] = 'facebook';
/* (5) On récupère les noms des contacts */
/* (5) On met à jour si le sujet veut renouveller l'enquête plus tard */
if( !empty($subject['coords']) )
$subject_set['subject']['coords'] = $subject['coords'];
/* (6) On récupère les noms des contacts */
$contactsById = []; // idContact -> nomContact, typeEnquete ('mini' ou 'fiche')
foreach($subject_set['contacts'] as $contactId){

0
build/api/module/module.php Normal file → Executable file
View File

20
build/api/module/subject.php Normal file → Executable file
View File

@ -114,6 +114,11 @@
}
$db->close();
/* [2] Gestion des relations
=========================================================*/
/* (1) On récupère toutes les relations */
//blabla
/* [4] Gestion du retour
=========================================================*/
@ -152,12 +157,15 @@
$newId = intval($uniqid) + 1;
// On crée notre sujet
$data = [ 'subject' => [
'id' => $newId,
'name' => $name,
'creation' => time(),
'surveys' => []
]];
$data = [
'subject' => [
'id' => $newId,
'name' => $name,
'creation' => time(),
'surveys' => [],
'coords' => ''
]
];
/* [2] On crée le sujet dans SURVEYS
=========================================================*/

7
build/api/module/token.php Normal file → Executable file
View File

@ -78,13 +78,6 @@
}

1
build/api/module/upload.php Normal file → Executable file
View File

@ -158,6 +158,7 @@
/* (3) Vérification du sujet */
$checkSubject = isset($json['subject']['subject_id']) && is_numeric($json['subject']['subject_id']);
$checkSubject = $checkSubject && isset($json['subject']['coords']) && is_string($json['subject']['coords']);
// Erreur des attributs du sujet incorrects ou manquants
if( !$checkSubject )

0
build/api/module/user.php Normal file → Executable file
View File

0
build/database/core/DatabaseDriver.php Normal file → Executable file
View File

0
build/database/core/Repo.php Normal file → Executable file
View File

0
build/database/repo/parentRepo.php Normal file → Executable file
View File

0
build/database/repo/token.php Normal file → Executable file
View File

0
build/database/repo/user.php Normal file → Executable file
View File

View File

@ -0,0 +1,198 @@
<?php
namespace http\core;
class HttpRequest{
/* [0] Constants
=========================================================*/
/* (1) Content-Type */
const CT_BINARY = 0; // unknown
const CT_TEXT = 1;
const CT_JSON = 2;
const CT_YAML = 3;
const CT_MULTIPART_FORM_DATA = 4;
const CT_X_WWW_FORM_URLENCODED = 5;
/* [1] Attributes
=========================================================*/
private $uri;
private $headers;
private $method;
private $postdata;
private $getdata;
private $type;
private $body;
/* [2] Constructs an HTTP Request based on environment
*
* @return instance<HttpRequest> auto-filled HTTP Request
*
=========================================================*/
public function __construct(){
/* [1] Define URI & Status Code & method
=========================================================*/
$this->uri = $_SERVER['REQUEST_URI'];
$this->method = $_SERVER['REQUEST_METHOD'];
/* [2] Define headers
=========================================================*/
$this->headers = \getallheaders();
/* [3] Define default datasets (GET, POST)
=========================================================*/
$this->getdata = $_GET;
$this->postdata = $_POST;
/* [4] Define BODY & its type
=========================================================*/
/* (1) Default: set plain/text body */
$this->body = \file_get_contents('php://input');
/* (2) Fetch content type */
$this->type = self::getContentType($this->headers['Content-Type']);
/* [5] Parse BODY data -> POST
=========================================================*/
$this->parseBody();
}
/* GET CONSTANT CT_* FROM `Content-Type` HEADER
*
* @pContentType<String> `Content-Type` header value
*
* @return type<int> Constant value
*
*/
private static function getContentType($pContentType=null){
/* [1] Checks argv
=========================================================*/
if( is_null($pContentType) )
$pContentType = $_SERVER['CONTENT_TYPE'];
/* [2] Checks types
=========================================================*/
/* (1) Form Data Types
---------------------------------------------------------*/
/* (1) multipart/form-data */
if( preg_match('/^multipart\/form\-data; boundary=(.+)$/i', $pContentType) )
return self::CT_MULTIPART_FORM_DATA;
/* (2) application/x-www-form-urlencoded */
if( preg_match('/^application\/x\-www\-form\-urlencoded/i', $pContentType) )
return self::CT_X_WWW_FORM_URLENCODED;
/* (2) Data types
---------------------------------------------------------*/
/* (1) Basic JSON content type */
if( preg_match('/^application\/json/i', $pContentType) )
return self::CT_JSON;
/* (2) Basic YAML content type */
if( preg_match('/^application\/yaml/i', $pContentType) )
return self::CT_YAML;
/* (3) Basic TEXT content type */
if( preg_match('/text\/[a-z]+/', $pContentType) )
return self::CT_TEXT;
/* (3) Default Type
---------------------------------------------------------*/
return self::CT_BINARY;
}
/* PARSES BODY DATA
*
*/
private function parseBody(){
/* [1] If empty body -> do nothing
=========================================================*/
if( strlen($this->body) === 0 )
return true;
/* [2] Management for each ContentType
=========================================================*/
switch($this->type){
/* (1) multipart/form-data -> parse for not-POST methods
---------------------------------------------------------*/
case self::CT_MULTIPART_FORM_DATA:
/* (1) Fetch the boundary */
if( !preg_match('/boundary=(.+)$/i', $this->headers['Content-Type'], $match) )
return false;
$boundary = $match[1];
/* (2) Break body into parts */
$splitter = "/(?:\n|\r\n|--)*$boundary(?:\n|\r\n|--)?/im";
$parts = preg_split($splitter, $this->body);
/* (3) Process parts */
foreach($parts as $part)
if( preg_match('/^Content\-Disposition: form\-data; name=\"([^"]+)\"(?:\n|\r\n){2}(.+)$/mi', $part, $match) )
$this->postdata[$match[1]] = $match[2];
/* (4) Erases body */
$this->body = '';
break;
/* (2) application/x-www-form-urlencoded -> parse for not-POST methods
---------------------------------------------------------*/
case self::CT_X_WWW_FORM_URLENCODED:
/* Auto parse builtin-php function */
parse_str($this->body, $this->postdata);
/* Erases body */
$this->body = '';
break;
/* (3) application/json -> parse if no error
---------------------------------------------------------*/
case self::CT_JSON:
/* (1) Decode body content */
$decoded = json_decode($this->body, true);
/* (2) If error -> do nothing */
if( is_null($decoded) )
return;
/* (3) Parse body into body */
$this->body = $decoded;
break;
/* (4) application/yaml -> parse if no error
---------------------------------------------------------*/
case self::CT_YAML:
break;
}
}
public function BODY(){ return $this->body; }
public function POST(){ return $this->postdata; }
public function GET(){ return $this->getdata; }
public function HEADERS(){ return $this->headers; }
public function METHOD(){ return $this->method; }
public function URI(){ return $this->uri; }
}

27
build/lightdb/core/lightdb.php Normal file → Executable file
View File

@ -2,7 +2,6 @@
namespace lightdb\core;
class lightdb{
// REPERTOIRE RACINE DE TOUTES LES BDD
@ -70,7 +69,7 @@
/* (3) On récupère le nombre de lignes */
$this->line = -1;
while( !$this->driver->eof() ){
while( $this->driver->valid() ){
$this->line++;
$this->driver->fgetcsv();
}
@ -124,25 +123,21 @@
public function insert($key, $data){
/* (1) On vérifie que la clé est unique */
if( array_key_exists($key, $this->index) )
return true;
return false;
$key = (string) $key;
/* (2) On ajoute les données aux fichier */
$json_data = json_encode($data);
$this->driver->seek($this->line);
$this->line++;
$written = $this->driver->fwrite( $json_data.PHP_EOL );
$written = $this->driver->fwrite( $json_data."\n" );
// Si erreur d'écriture, on retourne FALSE
if( is_null($written) )
return false;
/* (3) On enregistre l'index */
$this->index[$key] = [
'line' => $this->line - 1//,
//'hash' => sha1($json_data)
];
$this->index[$key] = [ 'line' => $this->line++ ];
/* (4) On enregistre le fichier index */
$fIndex = new \SplFileObject($this->dir.'index', 'w');
@ -173,7 +168,7 @@
foreach($dataset as $key=>$data){
$json_data = json_encode($data);
$this->line++;
$written = $this->driver->fwrite( $json_data.PHP_EOL );
$written = $this->driver->fwrite( $json_data."\n" );
/* (3) On enregistre les index */
@ -266,7 +261,7 @@
public function delete($key){
/* (1) On vérifie l'existence de la clé */
if( !array_key_exists($key, $this->index) )
return true; // On considère que l'action souhaitée est effectuée
return false; // On considère que l'action souhaitée est effectuée
$line = $this->index[$key]['line'];
@ -276,12 +271,13 @@
$this->driver->seek(0);
// On recopie toutes les lignes sauf celle à supprimer dans un fichier temporaire
foreach($this->driver as $key=>$content){
foreach($this->driver as $k=>$content){
// Only valuable lines (not the last linebreak)
if( $key >= $this->line ) break;
if( $k >= $this->line )
break;
// On n'écrit pas la ligne à supprimer
if( $key != $line )
if( $k != $line )
$tmpfile->fwrite( $content );
}
@ -417,3 +413,6 @@
}
}

129
build/lightdb/storage/contact/data Normal file → Executable file
View File

@ -1,43 +1,86 @@
{"id":140,"name":"contact-x","sexe":"1","age":"6","studies2":"01","reltype":"1","dist":"1","job":"82","famsit":"1","city":"35","cp":"10025","quartier":"25","duration":["25","125"],"context":"11","contextExtra":["internet","",""],"freq":["1","6","11","16","21"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""],"medsoc":"1","interest":"0","irlfreq":["1","6","11","16","21"],"relmark":"0","medrel":"1"}
{"id":141,"name":"contact-1","sexe":"0","age":"6","studies2":"06","reltype":"6","dist":"2","job":"36","famsit":"2","city":"16","cp":"10006","quartier":"6","duration":["6","16"],"context":"6","contextExtra":["","",""],"freq":["2","7","12","17","22"],"connect":["0","2","4","6","8","10"],"connectExtra":["",""],"medsoc":"2","interest":"1","irlfreq":["2","7","12","17","22"],"relmark":"1","medrel":"0"}
{"id":142,"name":"contact-2","sexe":"1","age":"7","studies2":"07","reltype":"autre","dist":"3","job":"41","famsit":"3","city":"17","cp":"10007","quartier":"7","duration":["7","17"],"context":"7","contextExtra":["","",""],"freq":["3","8","13","18","23"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""],"medsoc":"3","interest":"2","irlfreq":["3","8","13","18","23"],"relmark":"2","medrel":"1"}
{"id":143,"name":"contact-3","sexe":"2","age":"8","studies2":"08","reltype":"0","dist":"0","job":"46","famsit":"0","city":"18","cp":"10008","quartier":"8","duration":["8","18"],"context":"8","contextExtra":["","",""],"freq":["0","5","10","15","20"],"connect":["0","2","4","6","8","10"],"connectExtra":["",""],"medsoc":"0","interest":"3","irlfreq":["0","5","10","15","20"],"relmark":"3","medrel":"2"}
{"id":144,"name":"contact-4","sexe":"0","age":"9","studies2":"09","reltype":"1","dist":"1","job":"47","famsit":"1","city":"19","cp":"10009","quartier":"9","duration":["9","19"],"context":"9","contextExtra":["","",""],"freq":["1","6","11","16","21"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""],"medsoc":"1","interest":"4","irlfreq":["1","6","11","16","21"],"relmark":"4","medrel":"0"}
{"id":145,"name":"contact-5","sexe":"1","age":"10","studies2":"10","reltype":"2","dist":"2","job":"48","famsit":"2","city":"20","cp":"10010","quartier":"10","duration":["10","110"],"context":"10","contextExtra":["","",""],"freq":["2","7","12","17","22"],"connect":["0","2","4","6","8","10"],"connectExtra":["",""],"medsoc":"2","interest":"0","irlfreq":["2","7","12","17","22"],"relmark":"0","medrel":"1"}
{"id":146,"name":"contact-6","sexe":"2","age":"11","studies2":"11","reltype":"3","dist":"3","job":"51","famsit":"3","city":"21","cp":"10011","quartier":"11","duration":["11","111"],"context":"11","contextExtra":["internet","",""],"freq":["3","8","13","18","23"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""],"medsoc":"3","interest":"1","irlfreq":["3","8","13","18","23"],"relmark":"1","medrel":"2"}
{"id":147,"name":"contact-7","sexe":"0","age":"12","studies2":"","reltype":"4","dist":"0","job":"54","famsit":"0","city":"22","cp":"10012","quartier":"12","duration":["12","112"],"context":"12","contextExtra":["","association",""],"freq":["0","5","10","15","20"],"connect":["0","2","4","6","8","10"],"connectExtra":["",""],"medsoc":"0","interest":"2","irlfreq":["0","5","10","15","20"],"relmark":"2","medrel":"0"}
{"id":148,"name":"contact-8","sexe":"1","age":"13","studies2":"01","reltype":"5","dist":"1","job":"55","famsit":"1","city":"23","cp":"10013","quartier":"13","duration":["13","113"],"context":"13","contextExtra":["","","autre"],"freq":["1","6","11","16","21"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""],"medsoc":"1","interest":"3","irlfreq":["1","6","11","16","21"],"relmark":"3","medrel":"1"}
{"id":149,"name":"contact-9","sexe":"2","age":"14","studies2":"02","reltype":"6","dist":"2","job":"56","famsit":"2","city":"24","cp":"10014","quartier":"14","duration":["14","114"],"context":"0","contextExtra":["","",""],"freq":["2","7","12","17","22"],"connect":["0","2","4","6","8","10"],"connectExtra":["",""],"medsoc":"2","interest":"4","irlfreq":["2","7","12","17","22"],"relmark":"4","medrel":"2"}
{"id":150,"name":"contact-10","sexe":"0","age":"15","studies2":"03","reltype":"autre","dist":"3","job":"61","famsit":"3","city":"25","cp":"10015","quartier":"15","duration":["15","115"],"context":"1","contextExtra":["","",""],"freq":["3","8","13","18","23"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""],"medsoc":"3","interest":"0","irlfreq":["3","8","13","18","23"],"relmark":"0","medrel":"0"}
{"id":151,"name":"contact-11","sexe":"1","age":"16","studies2":"04","reltype":"0","dist":"0","job":"66","famsit":"0","city":"26","cp":"10016","quartier":"16","duration":["16","116"],"context":"2","contextExtra":["","",""],"freq":["0","5","10","15","20"],"connect":["0","2","4","6","8","10"],"connectExtra":["",""],"medsoc":"0","interest":"1","irlfreq":["0","5","10","15","20"],"relmark":"1","medrel":"1"}
{"id":152,"name":"contact-12","sexe":"2","age":"17","studies2":"05","reltype":"1","dist":"1","job":"69","famsit":"1","city":"27","cp":"10017","quartier":"17","duration":["17","117"],"context":"3","contextExtra":["","",""],"freq":["1","6","11","16","21"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""],"medsoc":"1","interest":"2","irlfreq":["1","6","11","16","21"],"relmark":"2","medrel":"2"}
{"id":153,"name":"contact-13","sexe":"0","age":"18","studies2":"06","reltype":"2","dist":"2","job":"71","famsit":"2","city":"28","cp":"10018","quartier":"18","duration":["18","118"],"context":"4","contextExtra":["","",""],"freq":["2","7","12","17","22"],"connect":["0","2","4","6","8","10"],"connectExtra":["",""],"medsoc":"2","interest":"3","irlfreq":["2","7","12","17","22"],"relmark":"3","medrel":"0"}
{"id":154,"name":"contact-14","sexe":"1","age":"0","studies2":"07","reltype":"3","dist":"3","job":"72","famsit":"3","city":"29","cp":"10019","quartier":"19","duration":["19","119"],"context":"5","contextExtra":["","",""],"freq":["3","8","13","18","23"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""],"medsoc":"3","interest":"4","irlfreq":["3","8","13","18","23"],"relmark":"4","medrel":"1"}
{"id":155,"name":"contact-15","sexe":"2","age":"1","studies2":"08","reltype":"4","dist":"0","job":"73","famsit":"0","city":"30","cp":"10020","quartier":"20","duration":["20","120"],"context":"6","contextExtra":["","",""],"freq":["0","5","10","15","20"],"connect":["0","2","4","6","8","10"],"connectExtra":["",""],"medsoc":"0","interest":"0","irlfreq":["0","5","10","15","20"],"relmark":"0","medrel":"2"}
{"id":156,"name":"contact-16","sexe":"0","age":"2","studies2":"09","reltype":"5","dist":"1","job":"74","famsit":"1","city":"31","cp":"10021","quartier":"21","duration":["21","121"],"context":"7","contextExtra":["","",""],"freq":["1","6","11","16","21"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""],"medsoc":"1","interest":"1","irlfreq":["1","6","11","16","21"],"relmark":"1","medrel":"0"}
{"id":157,"name":"contact-17","sexe":"1","age":"3","studies2":"10","reltype":"6","dist":"2","job":"75","famsit":"2","city":"32","cp":"10022","quartier":"22","duration":["22","122"],"context":"8","contextExtra":["","",""],"freq":["2","7","12","17","22"],"connect":["0","2","4","6","8","10"],"connectExtra":["",""],"medsoc":"2","interest":"2","irlfreq":["2","7","12","17","22"],"relmark":"2","medrel":"1"}
{"id":158,"name":"contact-18","sexe":"2","age":"4","studies2":"11","reltype":"autre","dist":"3","job":"76","famsit":"3","city":"33","cp":"10023","quartier":"23","duration":["23","123"],"context":"9","contextExtra":["","",""],"freq":["3","8","13","18","23"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""],"medsoc":"3","interest":"3","irlfreq":["3","8","13","18","23"],"relmark":"3","medrel":"2"}
{"id":159,"name":"contact-19","sexe":"0","age":"5","studies2":"","reltype":"0","dist":"0","job":"81","famsit":"0","city":"34","cp":"10024","quartier":"24","duration":["24","124"],"context":"10","contextExtra":["","",""],"freq":["0","5","10","15","20"],"connect":["0","2","4","6","8","10"],"connectExtra":["",""],"medsoc":"0","interest":"4","irlfreq":["0","5","10","15","20"],"relmark":"4","medrel":"0"}
{"id":161,"name":"contact-21","sexe":"2","age":"7","studies2":"02","reltype":"2","dist":"2","job":"10","famsit":"2","city":"36","cp":"10026","quartier":"26","duration":["26","126"],"context":"12","contextExtra":["","association",""],"freq":["2","7","12","17","22"],"connect":["0","2","4","6","8","10"],"connectExtra":["",""],"medsoc":"2","interest":"1","irlfreq":["2","7","12","17","22"],"relmark":"1","medrel":"2"}
{"id":162,"name":"contact-22","sexe":"0","age":"8","studies2":"03","reltype":"3","dist":"3","job":"21","famsit":"3","city":"37","cp":"10027","quartier":"27","duration":["27","127"],"context":"13","contextExtra":["","","autre"],"freq":["3","8","13","18","23"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""],"medsoc":"3","interest":"2","irlfreq":["3","8","13","18","23"],"relmark":"2","medrel":"0"}
{"id":163,"name":"contact-23","sexe":"1","age":"9","studies2":"04","reltype":"4","dist":"0","job":"22","famsit":"0","city":"38","cp":"10028","quartier":"28","duration":["28","128"],"context":"0","contextExtra":["","",""],"freq":["0","5","10","15","20"],"connect":["0","2","4","6","8","10"],"connectExtra":["",""],"medsoc":"0","interest":"3","irlfreq":["0","5","10","15","20"],"relmark":"3","medrel":"1"}
{"id":164,"name":"contact-24","sexe":"2","age":"10","studies2":"05","reltype":"5","dist":"1","job":"23","famsit":"1","city":"39","cp":"10029","quartier":"29","duration":["29","129"],"context":"1","contextExtra":["","",""],"freq":["1","6","11","16","21"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""],"medsoc":"1","interest":"4","irlfreq":["1","6","11","16","21"],"relmark":"4","medrel":"2"}
{"id":165,"name":"contact-25","sexe":"0","age":"11","studies2":"06","reltype":"6","dist":"2","job":"31","famsit":"2","city":"40","cp":"10030","quartier":"30","duration":["30","130"],"context":"2","contextExtra":["","",""],"freq":["2","7","12","17","22"],"connect":["0","2","4","6","8","10"],"connectExtra":["",""],"medsoc":"2","interest":"0","irlfreq":["2","7","12","17","22"],"relmark":"0","medrel":"0"}
{"id":166,"name":"contact-26","sexe":"1","age":"12","studies2":"07","reltype":"autre","dist":"3","job":"32","famsit":"3","city":"41","cp":"10031","quartier":"31","duration":["31","131"],"context":"3","contextExtra":["","",""],"freq":["3","8","13","18","23"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""],"medsoc":"3","interest":"1","irlfreq":["3","8","13","18","23"],"relmark":"1","medrel":"1"}
{"id":167,"name":"contact-27","sexe":"2","age":"13","studies2":"08","reltype":"0","dist":"0","job":"36","famsit":"0","city":"42","cp":"10032","quartier":"32","duration":["32","132"],"context":"4","contextExtra":["","",""],"freq":["0","5","10","15","20"],"connect":["0","2","4","6","8","10"],"connectExtra":["",""],"medsoc":"0","interest":"2","irlfreq":["0","5","10","15","20"],"relmark":"2","medrel":"2"}
{"id":168,"name":"contact-28","sexe":"0","age":"14","studies2":"09","reltype":"1","dist":"1","job":"41","famsit":"1","city":"43","cp":"10033","quartier":"33","duration":["33","133"],"context":"5","contextExtra":["","",""],"freq":["1","6","11","16","21"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""],"medsoc":"1","interest":"3","irlfreq":["1","6","11","16","21"],"relmark":"3","medrel":"0"}
{"id":169,"name":"contact-29","sexe":"1","age":"15","studies2":"10","reltype":"2","dist":"2","job":"46","famsit":"2","city":"44","cp":"10034","quartier":"34","duration":["34","134"],"context":"6","contextExtra":["","",""],"freq":["2","7","12","17","22"],"connect":["0","2","4","6","8","10"],"connectExtra":["",""],"medsoc":"2","interest":"4","irlfreq":["2","7","12","17","22"],"relmark":"4","medrel":"1"}
{"id":170,"name":"contact-30","sexe":"2","age":"16","studies2":"11","reltype":"3","dist":"3","job":"47","famsit":"3","city":"45","cp":"10035","quartier":"35","duration":["35","135"],"context":"7","contextExtra":["","",""],"freq":["3","8","13","18","23"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""],"medsoc":"3","interest":"0","irlfreq":["3","8","13","18","23"],"relmark":"0","medrel":"2"}
{"id":171,"name":"contact-31","sexe":"0","age":"17","studies2":"","reltype":"4","dist":"0","job":"48","famsit":"0","city":"46","cp":"10036","quartier":"36","duration":["36","136"],"context":"8","contextExtra":["","",""],"freq":["0","5","10","15","20"],"connect":["0","2","4","6","8","10"],"connectExtra":["",""],"medsoc":"0","interest":"1","irlfreq":["0","5","10","15","20"],"relmark":"1","medrel":"0"}
{"id":172,"name":"contact-32","sexe":"1","age":"18","studies2":"01","reltype":"5","dist":"1","job":"51","famsit":"1","city":"47","cp":"10037","quartier":"37","duration":["37","137"],"context":"9","contextExtra":["","",""],"freq":["1","6","11","16","21"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""],"medsoc":"1","interest":"2","irlfreq":["1","6","11","16","21"],"relmark":"2","medrel":"1"}
{"id":173,"name":"contact-33","sexe":"2","age":"0","studies2":"02","reltype":"6","dist":"2","job":"54","famsit":"2","city":"48","cp":"10038","quartier":"38","duration":["38","138"],"context":"10","contextExtra":["","",""],"freq":["2","7","12","17","22"],"connect":["0","2","4","6","8","10"],"connectExtra":["",""],"medsoc":"2","interest":"3","irlfreq":["2","7","12","17","22"],"relmark":"3","medrel":"2"}
{"id":174,"name":"contact-34","sexe":"0","age":"1","studies2":"03","reltype":"autre","dist":"3","job":"55","famsit":"3","city":"49","cp":"10039","quartier":"39","duration":["39","139"],"context":"11","contextExtra":["internet","",""],"freq":["3","8","13","18","23"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""],"medsoc":"3","interest":"4","irlfreq":["3","8","13","18","23"],"relmark":"4","medrel":"0"}
{"id":175,"name":"contact-35","sexe":"1","age":"2","studies2":"04","reltype":"0","dist":"0","job":"56","famsit":"0","city":"50","cp":"10040","quartier":"40","duration":["40","140"],"context":"12","contextExtra":["","association",""],"freq":["0","5","10","15","20"],"connect":["0","2","4","6","8","10"],"connectExtra":["",""],"medsoc":"0","interest":"0","irlfreq":["0","5","10","15","20"],"relmark":"0","medrel":"1"}
{"id":176,"name":"contact-36","sexe":"2","age":"3","studies2":"05","reltype":"1","dist":"1","job":"61","famsit":"1","city":"51","cp":"10041","quartier":"41","duration":["41","141"],"context":"13","contextExtra":["","","autre"],"freq":["1","6","11","16","21"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""],"medsoc":"1","interest":"1","irlfreq":["1","6","11","16","21"],"relmark":"1","medrel":"2"}
{"id":177,"name":"contact-37","sexe":"0","age":"4","studies2":"06","reltype":"2","dist":"2","job":"66","famsit":"2","city":"52","cp":"10042","quartier":"42","duration":["42","142"],"context":"0","contextExtra":["","",""],"freq":["2","7","12","17","22"],"connect":["0","2","4","6","8","10"],"connectExtra":["",""],"medsoc":"2","interest":"2","irlfreq":["2","7","12","17","22"],"relmark":"2","medrel":"0"}
{"id":178,"name":"contact-38","sexe":"1","age":"5","studies2":"07","reltype":"3","dist":"3","job":"69","famsit":"3","city":"53","cp":"10043","quartier":"43","duration":["43","143"],"context":"1","contextExtra":["","",""],"freq":["3","8","13","18","23"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""],"medsoc":"3","interest":"3","irlfreq":["3","8","13","18","23"],"relmark":"3","medrel":"1"}
{"id":179,"name":"contact-39","sexe":"2","age":"6","studies2":"08","reltype":"4","dist":"0","job":"71","famsit":"0","city":"54","cp":"10044","quartier":"44","duration":["44","144"],"context":"2","contextExtra":["","",""],"freq":["0","5","10","15","20"],"connect":["0","2","4","6","8","10"],"connectExtra":["",""],"medsoc":"0","interest":"4","irlfreq":["0","5","10","15","20"],"relmark":"4","medrel":"2"}
{"id":181,"name":"contact-41","sexe":"1","age":"","studies1":"2","reltype":"1","dist":"."}
{"id":182,"name":"contact-42","sexe":"0","age":"2","studies1":"3","reltype":"2","dist":"."}
{"id":183,"name":"contact-43","sexe":"1","age":"3","studies1":"4","reltype":"3","dist":"."}
{"id":184,"name":"contact-44","sexe":"0","age":"4","studies1":"5","reltype":"4","dist":"."}
{"id":16,"name":"contact-x","sexe":"1","age":"6","studies2":"1","reltype":"1","dist":"1","job":"12","famsit":"1","city":"35","cp":"10025","quartier":"25","duration":["25","125"],"context":"11","contextExtra":["internet","",""],"freq":["1","6","11","16","21"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""],"medsoc":"1","interest":"0","irlfreq":["1","6","11","16","21"],"relmark":"0","medrel":"1"}
{"id":17,"name":"contact-1","sexe":"0","age":"6","studies2":"6","reltype":"6","dist":"2","job":"6","famsit":"2","city":"16","cp":"10006","quartier":"6","duration":["6","16"],"context":"6","contextExtra":["","",""],"freq":["2","7","12","17","22"],"connect":["0","2","4","6","8","10"],"connectExtra":["",""],"medsoc":"2","interest":"1","irlfreq":["2","7","12","17","22"],"relmark":"1","medrel":"0"}
{"id":18,"name":"contact-2","sexe":"1","age":"7","studies2":"7","reltype":"autre","dist":"3","job":"7","famsit":"3","city":"17","cp":"10007","quartier":"7","duration":["7","17"],"context":"7","contextExtra":["","",""],"freq":["3","8","13","18","23"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""],"medsoc":"3","interest":"2","irlfreq":["3","8","13","18","23"],"relmark":"2","medrel":"1"}
{"id":19,"name":"contact-3","sexe":"2","age":"8","studies2":"0","reltype":"0","dist":"0","job":"8","famsit":"0","city":"18","cp":"10008","quartier":"8","duration":["8","18"],"context":"8","contextExtra":["","",""],"freq":["0","5","10","15","20"],"connect":["0","2","4","6","8","10"],"connectExtra":["",""],"medsoc":"0","interest":"3","irlfreq":["0","5","10","15","20"],"relmark":"3","medrel":"2"}
{"id":20,"name":"contact-4","sexe":"0","age":"9","studies2":"1","reltype":"1","dist":"1","job":"9","famsit":"1","city":"19","cp":"10009","quartier":"9","duration":["9","19"],"context":"9","contextExtra":["","",""],"freq":["1","6","11","16","21"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""],"medsoc":"1","interest":"4","irlfreq":["1","6","11","16","21"],"relmark":"4","medrel":"0"}
{"id":21,"name":"contact-5","sexe":"1","age":"10","studies2":"2","reltype":"2","dist":"2","job":"10","famsit":"2","city":"20","cp":"10010","quartier":"10","duration":["10","110"],"context":"10","contextExtra":["","",""],"freq":["2","7","12","17","22"],"connect":["0","2","4","6","8","10"],"connectExtra":["",""],"medsoc":"2","interest":"0","irlfreq":["2","7","12","17","22"],"relmark":"0","medrel":"1"}
{"id":22,"name":"contact-6","sexe":"2","age":"11","studies2":"3","reltype":"3","dist":"3","job":"11","famsit":"3","city":"21","cp":"10011","quartier":"11","duration":["11","111"],"context":"11","contextExtra":["internet","",""],"freq":["3","8","13","18","23"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""],"medsoc":"3","interest":"1","irlfreq":["3","8","13","18","23"],"relmark":"1","medrel":"2"}
{"id":23,"name":"contact-7","sexe":"0","age":"12","studies2":"4","reltype":"4","dist":"0","job":"12","famsit":"0","city":"22","cp":"10012","quartier":"12","duration":["12","112"],"context":"12","contextExtra":["","association",""],"freq":["0","5","10","15","20"],"connect":["0","2","4","6","8","10"],"connectExtra":["",""],"medsoc":"0","interest":"2","irlfreq":["0","5","10","15","20"],"relmark":"2","medrel":"0"}
{"id":24,"name":"contact-8","sexe":"1","age":"13","studies2":"5","reltype":"5","dist":"1","job":"0","famsit":"1","city":"23","cp":"10013","quartier":"13","duration":["13","113"],"context":"13","contextExtra":["","","autre"],"freq":["1","6","11","16","21"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""],"medsoc":"1","interest":"3","irlfreq":["1","6","11","16","21"],"relmark":"3","medrel":"1"}
{"id":25,"name":"contact-9","sexe":"2","age":"14","studies2":"6","reltype":"6","dist":"2","job":"1","famsit":"2","city":"24","cp":"10014","quartier":"14","duration":["14","114"],"context":"0","contextExtra":["","",""],"freq":["2","7","12","17","22"],"connect":["0","2","4","6","8","10"],"connectExtra":["",""],"medsoc":"2","interest":"4","irlfreq":["2","7","12","17","22"],"relmark":"4","medrel":"2"}
{"id":26,"name":"contact-10","sexe":"0","age":"15","studies2":"7","reltype":"autre","dist":"3","job":"2","famsit":"3","city":"25","cp":"10015","quartier":"15","duration":["15","115"],"context":"1","contextExtra":["","",""],"freq":["3","8","13","18","23"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""],"medsoc":"3","interest":"0","irlfreq":["3","8","13","18","23"],"relmark":"0","medrel":"0"}
{"id":27,"name":"contact-11","sexe":"1","age":"16","studies2":"0","reltype":"0","dist":"0","job":"3","famsit":"0","city":"26","cp":"10016","quartier":"16","duration":["16","116"],"context":"2","contextExtra":["","",""],"freq":["0","5","10","15","20"],"connect":["0","2","4","6","8","10"],"connectExtra":["",""],"medsoc":"0","interest":"1","irlfreq":["0","5","10","15","20"],"relmark":"1","medrel":"1"}
{"id":28,"name":"contact-12","sexe":"2","age":"17","studies2":"1","reltype":"1","dist":"1","job":"4","famsit":"1","city":"27","cp":"10017","quartier":"17","duration":["17","117"],"context":"3","contextExtra":["","",""],"freq":["1","6","11","16","21"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""],"medsoc":"1","interest":"2","irlfreq":["1","6","11","16","21"],"relmark":"2","medrel":"2"}
{"id":29,"name":"contact-13","sexe":"0","age":"18","studies2":"2","reltype":"2","dist":"2","job":"5","famsit":"2","city":"28","cp":"10018","quartier":"18","duration":["18","118"],"context":"4","contextExtra":["","",""],"freq":["2","7","12","17","22"],"connect":["0","2","4","6","8","10"],"connectExtra":["",""],"medsoc":"2","interest":"3","irlfreq":["2","7","12","17","22"],"relmark":"3","medrel":"0"}
{"id":30,"name":"contact-14","sexe":"1","age":"0","studies2":"3","reltype":"3","dist":"3","job":"6","famsit":"3","city":"29","cp":"10019","quartier":"19","duration":["19","119"],"context":"5","contextExtra":["","",""],"freq":["3","8","13","18","23"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""],"medsoc":"3","interest":"4","irlfreq":["3","8","13","18","23"],"relmark":"4","medrel":"1"}
{"id":31,"name":"contact-15","sexe":"2","age":"1","studies2":"4","reltype":"4","dist":"0","job":"7","famsit":"0","city":"30","cp":"10020","quartier":"20","duration":["20","120"],"context":"6","contextExtra":["","",""],"freq":["0","5","10","15","20"],"connect":["0","2","4","6","8","10"],"connectExtra":["",""],"medsoc":"0","interest":"0","irlfreq":["0","5","10","15","20"],"relmark":"0","medrel":"2"}
{"id":32,"name":"contact-16","sexe":"0","age":"2","studies2":"5","reltype":"5","dist":"1","job":"8","famsit":"1","city":"31","cp":"10021","quartier":"21","duration":["21","121"],"context":"7","contextExtra":["","",""],"freq":["1","6","11","16","21"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""],"medsoc":"1","interest":"1","irlfreq":["1","6","11","16","21"],"relmark":"1","medrel":"0"}
{"id":33,"name":"contact-17","sexe":"1","age":"3","studies2":"6","reltype":"6","dist":"2","job":"9","famsit":"2","city":"32","cp":"10022","quartier":"22","duration":["22","122"],"context":"8","contextExtra":["","",""],"freq":["2","7","12","17","22"],"connect":["0","2","4","6","8","10"],"connectExtra":["",""],"medsoc":"2","interest":"2","irlfreq":["2","7","12","17","22"],"relmark":"2","medrel":"1"}
{"id":34,"name":"contact-18","sexe":"2","age":"4","studies2":"7","reltype":"autre","dist":"3","job":"10","famsit":"3","city":"33","cp":"10023","quartier":"23","duration":["23","123"],"context":"9","contextExtra":["","",""],"freq":["3","8","13","18","23"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""],"medsoc":"3","interest":"3","irlfreq":["3","8","13","18","23"],"relmark":"3","medrel":"2"}
{"id":35,"name":"contact-19","sexe":"0","age":"5","studies2":"0","reltype":"0","dist":"0","job":"11","famsit":"0","city":"34","cp":"10024","quartier":"24","duration":["24","124"],"context":"10","contextExtra":["","",""],"freq":["0","5","10","15","20"],"connect":["0","2","4","6","8","10"],"connectExtra":["",""],"medsoc":"0","interest":"4","irlfreq":["0","5","10","15","20"],"relmark":"4","medrel":"0"}
{"id":37,"name":"contact-21","sexe":"2","age":"7","studies2":"2","reltype":"2","dist":"2","job":"0","famsit":"2","city":"36","cp":"10026","quartier":"26","duration":["26","126"],"context":"12","contextExtra":["","association",""],"freq":["2","7","12","17","22"],"connect":["0","2","4","6","8","10"],"connectExtra":["",""],"medsoc":"2","interest":"1","irlfreq":["2","7","12","17","22"],"relmark":"1","medrel":"2"}
{"id":38,"name":"contact-22","sexe":"0","age":"8","studies2":"3","reltype":"3","dist":"3","job":"1","famsit":"3","city":"37","cp":"10027","quartier":"27","duration":["27","127"],"context":"13","contextExtra":["","","autre"],"freq":["3","8","13","18","23"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""],"medsoc":"3","interest":"2","irlfreq":["3","8","13","18","23"],"relmark":"2","medrel":"0"}
{"id":39,"name":"contact-23","sexe":"1","age":"9","studies2":"4","reltype":"4","dist":"0","job":"2","famsit":"0","city":"38","cp":"10028","quartier":"28","duration":["28","128"],"context":"0","contextExtra":["","",""],"freq":["0","5","10","15","20"],"connect":["0","2","4","6","8","10"],"connectExtra":["",""],"medsoc":"0","interest":"3","irlfreq":["0","5","10","15","20"],"relmark":"3","medrel":"1"}
{"id":40,"name":"contact-24","sexe":"2","age":"10","studies2":"5","reltype":"5","dist":"1","job":"3","famsit":"1","city":"39","cp":"10029","quartier":"29","duration":["29","129"],"context":"1","contextExtra":["","",""],"freq":["1","6","11","16","21"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""],"medsoc":"1","interest":"4","irlfreq":["1","6","11","16","21"],"relmark":"4","medrel":"2"}
{"id":41,"name":"contact-25","sexe":"0","age":"11","studies2":"6","reltype":"6","dist":"2","job":"4","famsit":"2","city":"40","cp":"10030","quartier":"30","duration":["30","130"],"context":"2","contextExtra":["","",""],"freq":["2","7","12","17","22"],"connect":["0","2","4","6","8","10"],"connectExtra":["",""],"medsoc":"2","interest":"0","irlfreq":["2","7","12","17","22"],"relmark":"0","medrel":"0"}
{"id":42,"name":"contact-26","sexe":"1","age":"12","studies2":"7","reltype":"autre","dist":"3","job":"5","famsit":"3","city":"41","cp":"10031","quartier":"31","duration":["31","131"],"context":"3","contextExtra":["","",""],"freq":["3","8","13","18","23"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""],"medsoc":"3","interest":"1","irlfreq":["3","8","13","18","23"],"relmark":"1","medrel":"1"}
{"id":43,"name":"contact-27","sexe":"2","age":"13","studies2":"0","reltype":"0","dist":"0","job":"6","famsit":"0","city":"42","cp":"10032","quartier":"32","duration":["32","132"],"context":"4","contextExtra":["","",""],"freq":["0","5","10","15","20"],"connect":["0","2","4","6","8","10"],"connectExtra":["",""],"medsoc":"0","interest":"2","irlfreq":["0","5","10","15","20"],"relmark":"2","medrel":"2"}
{"id":44,"name":"contact-28","sexe":"0","age":"14","studies2":"1","reltype":"1","dist":"1","job":"7","famsit":"1","city":"43","cp":"10033","quartier":"33","duration":["33","133"],"context":"5","contextExtra":["","",""],"freq":["1","6","11","16","21"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""],"medsoc":"1","interest":"3","irlfreq":["1","6","11","16","21"],"relmark":"3","medrel":"0"}
{"id":45,"name":"contact-29","sexe":"1","age":"15","studies2":"2","reltype":"2","dist":"2","job":"8","famsit":"2","city":"44","cp":"10034","quartier":"34","duration":["34","134"],"context":"6","contextExtra":["","",""],"freq":["2","7","12","17","22"],"connect":["0","2","4","6","8","10"],"connectExtra":["",""],"medsoc":"2","interest":"4","irlfreq":["2","7","12","17","22"],"relmark":"4","medrel":"1"}
{"id":46,"name":"contact-30","sexe":"2","age":"16","studies2":"3","reltype":"3","dist":"3","job":"9","famsit":"3","city":"45","cp":"10035","quartier":"35","duration":["35","135"],"context":"7","contextExtra":["","",""],"freq":["3","8","13","18","23"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""],"medsoc":"3","interest":"0","irlfreq":["3","8","13","18","23"],"relmark":"0","medrel":"2"}
{"id":47,"name":"contact-31","sexe":"0","age":"17","studies2":"4","reltype":"4","dist":"0","job":"10","famsit":"0","city":"46","cp":"10036","quartier":"36","duration":["36","136"],"context":"8","contextExtra":["","",""],"freq":["0","5","10","15","20"],"connect":["0","2","4","6","8","10"],"connectExtra":["",""],"medsoc":"0","interest":"1","irlfreq":["0","5","10","15","20"],"relmark":"1","medrel":"0"}
{"id":48,"name":"contact-32","sexe":"1","age":"18","studies2":"5","reltype":"5","dist":"1","job":"11","famsit":"1","city":"47","cp":"10037","quartier":"37","duration":["37","137"],"context":"9","contextExtra":["","",""],"freq":["1","6","11","16","21"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""],"medsoc":"1","interest":"2","irlfreq":["1","6","11","16","21"],"relmark":"2","medrel":"1"}
{"id":49,"name":"contact-33","sexe":"2","age":"0","studies2":"6","reltype":"6","dist":"2","job":"12","famsit":"2","city":"48","cp":"10038","quartier":"38","duration":["38","138"],"context":"10","contextExtra":["","",""],"freq":["2","7","12","17","22"],"connect":["0","2","4","6","8","10"],"connectExtra":["",""],"medsoc":"2","interest":"3","irlfreq":["2","7","12","17","22"],"relmark":"3","medrel":"2"}
{"id":50,"name":"contact-34","sexe":"0","age":"1","studies2":"7","reltype":"autre","dist":"3","job":"0","famsit":"3","city":"49","cp":"10039","quartier":"39","duration":["39","139"],"context":"11","contextExtra":["internet","",""],"freq":["3","8","13","18","23"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""],"medsoc":"3","interest":"4","irlfreq":["3","8","13","18","23"],"relmark":"4","medrel":"0"}
{"id":51,"name":"contact-35","sexe":"1","age":"2","studies2":"0","reltype":"0","dist":"0","job":"1","famsit":"0","city":"50","cp":"10040","quartier":"40","duration":["40","140"],"context":"12","contextExtra":["","association",""],"freq":["0","5","10","15","20"],"connect":["0","2","4","6","8","10"],"connectExtra":["",""],"medsoc":"0","interest":"0","irlfreq":["0","5","10","15","20"],"relmark":"0","medrel":"1"}
{"id":52,"name":"contact-36","sexe":"2","age":"3","studies2":"1","reltype":"1","dist":"1","job":"2","famsit":"1","city":"51","cp":"10041","quartier":"41","duration":["41","141"],"context":"13","contextExtra":["","","autre"],"freq":["1","6","11","16","21"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""],"medsoc":"1","interest":"1","irlfreq":["1","6","11","16","21"],"relmark":"1","medrel":"2"}
{"id":53,"name":"contact-37","sexe":"0","age":"4","studies2":"2","reltype":"2","dist":"2","job":"3","famsit":"2","city":"52","cp":"10042","quartier":"42","duration":["42","142"],"context":"0","contextExtra":["","",""],"freq":["2","7","12","17","22"],"connect":["0","2","4","6","8","10"],"connectExtra":["",""],"medsoc":"2","interest":"2","irlfreq":["2","7","12","17","22"],"relmark":"2","medrel":"0"}
{"id":54,"name":"contact-38","sexe":"1","age":"5","studies2":"3","reltype":"3","dist":"3","job":"4","famsit":"3","city":"53","cp":"10043","quartier":"43","duration":["43","143"],"context":"1","contextExtra":["","",""],"freq":["3","8","13","18","23"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""],"medsoc":"3","interest":"3","irlfreq":["3","8","13","18","23"],"relmark":"3","medrel":"1"}
{"id":55,"name":"contact-39","sexe":"2","age":"6","studies2":"4","reltype":"4","dist":"0","job":"5","famsit":"0","city":"54","cp":"10044","quartier":"44","duration":["44","144"],"context":"2","contextExtra":["","",""],"freq":["0","5","10","15","20"],"connect":["0","2","4","6","8","10"],"connectExtra":["",""],"medsoc":"0","interest":"4","irlfreq":["0","5","10","15","20"],"relmark":"4","medrel":"2"}
{"id":57,"name":"contact-41","sexe":"1","age":"","studies1":"2","reltype":"1","dist":"0"}
{"id":58,"name":"contact-42","sexe":"0","age":"2","studies1":"3","reltype":"2","dist":"1"}
{"id":59,"name":"contact-43","sexe":"1","age":"3","studies1":"4","reltype":"3","dist":"2"}
{"id":60,"name":"contact-44","sexe":"0","age":"4","studies1":"5","reltype":"4","dist":"3"}
{"id":63,"name":"contact-x","sexe":"1","age":"6","studies2":"1","reltype":"1","dist":"1","job":"12","famsit":"1","city":"35","cp":"10025","quartier":"25","duration":["25","125"],"context":"11","contextExtra":["internet","",""],"freq":["1","6","11","16","21"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""],"medsoc":"1","interest":"0","irlfreq":["1","6","11","16","21"],"relmark":"0","medrel":"1"}
{"id":64,"name":"contact-1","sexe":"0","age":"6","studies2":"6","reltype":"6","dist":"2","job":"6","famsit":"2","city":"16","cp":"10006","quartier":"6","duration":["6","16"],"context":"6","contextExtra":["","",""],"freq":["2","7","12","17","22"],"connect":["0","2","4","6","8","10"],"connectExtra":["",""],"medsoc":"2","interest":"1","irlfreq":["2","7","12","17","22"],"relmark":"1","medrel":"0"}
{"id":65,"name":"contact-2","sexe":"1","age":"7","studies2":"7","reltype":"autre","dist":"3","job":"7","famsit":"3","city":"17","cp":"10007","quartier":"7","duration":["7","17"],"context":"7","contextExtra":["","",""],"freq":["3","8","13","18","23"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""],"medsoc":"3","interest":"2","irlfreq":["3","8","13","18","23"],"relmark":"2","medrel":"1"}
{"id":66,"name":"contact-3","sexe":"2","age":"8","studies2":"0","reltype":"0","dist":"0","job":"8","famsit":"0","city":"18","cp":"10008","quartier":"8","duration":["8","18"],"context":"8","contextExtra":["","",""],"freq":["0","5","10","15","20"],"connect":["0","2","4","6","8","10"],"connectExtra":["",""],"medsoc":"0","interest":"3","irlfreq":["0","5","10","15","20"],"relmark":"3","medrel":"2"}
{"id":67,"name":"contact-4","sexe":"0","age":"9","studies2":"1","reltype":"1","dist":"1","job":"9","famsit":"1","city":"19","cp":"10009","quartier":"9","duration":["9","19"],"context":"9","contextExtra":["","",""],"freq":["1","6","11","16","21"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""],"medsoc":"1","interest":"4","irlfreq":["1","6","11","16","21"],"relmark":"4","medrel":"0"}
{"id":68,"name":"contact-5","sexe":"1","age":"10","studies2":"2","reltype":"2","dist":"2","job":"10","famsit":"2","city":"20","cp":"10010","quartier":"10","duration":["10","110"],"context":"10","contextExtra":["","",""],"freq":["2","7","12","17","22"],"connect":["0","2","4","6","8","10"],"connectExtra":["",""],"medsoc":"2","interest":"0","irlfreq":["2","7","12","17","22"],"relmark":"0","medrel":"1"}
{"id":69,"name":"contact-6","sexe":"2","age":"11","studies2":"3","reltype":"3","dist":"3","job":"11","famsit":"3","city":"21","cp":"10011","quartier":"11","duration":["11","111"],"context":"11","contextExtra":["internet","",""],"freq":["3","8","13","18","23"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""],"medsoc":"3","interest":"1","irlfreq":["3","8","13","18","23"],"relmark":"1","medrel":"2"}
{"id":70,"name":"contact-7","sexe":"0","age":"12","studies2":"4","reltype":"4","dist":"0","job":"12","famsit":"0","city":"22","cp":"10012","quartier":"12","duration":["12","112"],"context":"12","contextExtra":["","association",""],"freq":["0","5","10","15","20"],"connect":["0","2","4","6","8","10"],"connectExtra":["",""],"medsoc":"0","interest":"2","irlfreq":["0","5","10","15","20"],"relmark":"2","medrel":"0"}
{"id":71,"name":"contact-8","sexe":"1","age":"13","studies2":"5","reltype":"5","dist":"1","job":"0","famsit":"1","city":"23","cp":"10013","quartier":"13","duration":["13","113"],"context":"13","contextExtra":["","","autre"],"freq":["1","6","11","16","21"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""],"medsoc":"1","interest":"3","irlfreq":["1","6","11","16","21"],"relmark":"3","medrel":"1"}
{"id":72,"name":"contact-9","sexe":"2","age":"14","studies2":"6","reltype":"6","dist":"2","job":"1","famsit":"2","city":"24","cp":"10014","quartier":"14","duration":["14","114"],"context":"0","contextExtra":["","",""],"freq":["2","7","12","17","22"],"connect":["0","2","4","6","8","10"],"connectExtra":["",""],"medsoc":"2","interest":"4","irlfreq":["2","7","12","17","22"],"relmark":"4","medrel":"2"}
{"id":73,"name":"contact-10","sexe":"0","age":"15","studies2":"7","reltype":"autre","dist":"3","job":"2","famsit":"3","city":"25","cp":"10015","quartier":"15","duration":["15","115"],"context":"1","contextExtra":["","",""],"freq":["3","8","13","18","23"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""],"medsoc":"3","interest":"0","irlfreq":["3","8","13","18","23"],"relmark":"0","medrel":"0"}
{"id":74,"name":"contact-11","sexe":"1","age":"16","studies2":"0","reltype":"0","dist":"0","job":"3","famsit":"0","city":"26","cp":"10016","quartier":"16","duration":["16","116"],"context":"2","contextExtra":["","",""],"freq":["0","5","10","15","20"],"connect":["0","2","4","6","8","10"],"connectExtra":["",""],"medsoc":"0","interest":"1","irlfreq":["0","5","10","15","20"],"relmark":"1","medrel":"1"}
{"id":75,"name":"contact-12","sexe":"2","age":"17","studies2":"1","reltype":"1","dist":"1","job":"4","famsit":"1","city":"27","cp":"10017","quartier":"17","duration":["17","117"],"context":"3","contextExtra":["","",""],"freq":["1","6","11","16","21"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""],"medsoc":"1","interest":"2","irlfreq":["1","6","11","16","21"],"relmark":"2","medrel":"2"}
{"id":76,"name":"contact-13","sexe":"0","age":"18","studies2":"2","reltype":"2","dist":"2","job":"5","famsit":"2","city":"28","cp":"10018","quartier":"18","duration":["18","118"],"context":"4","contextExtra":["","",""],"freq":["2","7","12","17","22"],"connect":["0","2","4","6","8","10"],"connectExtra":["",""],"medsoc":"2","interest":"3","irlfreq":["2","7","12","17","22"],"relmark":"3","medrel":"0"}
{"id":77,"name":"contact-14","sexe":"1","age":"0","studies2":"3","reltype":"3","dist":"3","job":"6","famsit":"3","city":"29","cp":"10019","quartier":"19","duration":["19","119"],"context":"5","contextExtra":["","",""],"freq":["3","8","13","18","23"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""],"medsoc":"3","interest":"4","irlfreq":["3","8","13","18","23"],"relmark":"4","medrel":"1"}
{"id":78,"name":"contact-15","sexe":"2","age":"1","studies2":"4","reltype":"4","dist":"0","job":"7","famsit":"0","city":"30","cp":"10020","quartier":"20","duration":["20","120"],"context":"6","contextExtra":["","",""],"freq":["0","5","10","15","20"],"connect":["0","2","4","6","8","10"],"connectExtra":["",""],"medsoc":"0","interest":"0","irlfreq":["0","5","10","15","20"],"relmark":"0","medrel":"2"}
{"id":79,"name":"contact-16","sexe":"0","age":"2","studies2":"5","reltype":"5","dist":"1","job":"8","famsit":"1","city":"31","cp":"10021","quartier":"21","duration":["21","121"],"context":"7","contextExtra":["","",""],"freq":["1","6","11","16","21"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""],"medsoc":"1","interest":"1","irlfreq":["1","6","11","16","21"],"relmark":"1","medrel":"0"}
{"id":80,"name":"contact-17","sexe":"1","age":"3","studies2":"6","reltype":"6","dist":"2","job":"9","famsit":"2","city":"32","cp":"10022","quartier":"22","duration":["22","122"],"context":"8","contextExtra":["","",""],"freq":["2","7","12","17","22"],"connect":["0","2","4","6","8","10"],"connectExtra":["",""],"medsoc":"2","interest":"2","irlfreq":["2","7","12","17","22"],"relmark":"2","medrel":"1"}
{"id":81,"name":"contact-18","sexe":"2","age":"4","studies2":"7","reltype":"autre","dist":"3","job":"10","famsit":"3","city":"33","cp":"10023","quartier":"23","duration":["23","123"],"context":"9","contextExtra":["","",""],"freq":["3","8","13","18","23"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""],"medsoc":"3","interest":"3","irlfreq":["3","8","13","18","23"],"relmark":"3","medrel":"2"}
{"id":82,"name":"contact-19","sexe":"0","age":"5","studies2":"0","reltype":"0","dist":"0","job":"11","famsit":"0","city":"34","cp":"10024","quartier":"24","duration":["24","124"],"context":"10","contextExtra":["","",""],"freq":["0","5","10","15","20"],"connect":["0","2","4","6","8","10"],"connectExtra":["",""],"medsoc":"0","interest":"4","irlfreq":["0","5","10","15","20"],"relmark":"4","medrel":"0"}
{"id":84,"name":"contact-21","sexe":"2","age":"7","studies2":"2","reltype":"2","dist":"2","job":"0","famsit":"2","city":"36","cp":"10026","quartier":"26","duration":["26","126"],"context":"12","contextExtra":["","association",""],"freq":["2","7","12","17","22"],"connect":["0","2","4","6","8","10"],"connectExtra":["",""],"medsoc":"2","interest":"1","irlfreq":["2","7","12","17","22"],"relmark":"1","medrel":"2"}
{"id":85,"name":"contact-22","sexe":"0","age":"8","studies2":"3","reltype":"3","dist":"3","job":"1","famsit":"3","city":"37","cp":"10027","quartier":"27","duration":["27","127"],"context":"13","contextExtra":["","","autre"],"freq":["3","8","13","18","23"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""],"medsoc":"3","interest":"2","irlfreq":["3","8","13","18","23"],"relmark":"2","medrel":"0"}
{"id":86,"name":"contact-23","sexe":"1","age":"9","studies2":"4","reltype":"4","dist":"0","job":"2","famsit":"0","city":"38","cp":"10028","quartier":"28","duration":["28","128"],"context":"0","contextExtra":["","",""],"freq":["0","5","10","15","20"],"connect":["0","2","4","6","8","10"],"connectExtra":["",""],"medsoc":"0","interest":"3","irlfreq":["0","5","10","15","20"],"relmark":"3","medrel":"1"}
{"id":87,"name":"contact-24","sexe":"2","age":"10","studies2":"5","reltype":"5","dist":"1","job":"3","famsit":"1","city":"39","cp":"10029","quartier":"29","duration":["29","129"],"context":"1","contextExtra":["","",""],"freq":["1","6","11","16","21"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""],"medsoc":"1","interest":"4","irlfreq":["1","6","11","16","21"],"relmark":"4","medrel":"2"}
{"id":88,"name":"contact-25","sexe":"0","age":"11","studies2":"6","reltype":"6","dist":"2","job":"4","famsit":"2","city":"40","cp":"10030","quartier":"30","duration":["30","130"],"context":"2","contextExtra":["","",""],"freq":["2","7","12","17","22"],"connect":["0","2","4","6","8","10"],"connectExtra":["",""],"medsoc":"2","interest":"0","irlfreq":["2","7","12","17","22"],"relmark":"0","medrel":"0"}
{"id":89,"name":"contact-26","sexe":"1","age":"12","studies2":"7","reltype":"autre","dist":"3","job":"5","famsit":"3","city":"41","cp":"10031","quartier":"31","duration":["31","131"],"context":"3","contextExtra":["","",""],"freq":["3","8","13","18","23"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""],"medsoc":"3","interest":"1","irlfreq":["3","8","13","18","23"],"relmark":"1","medrel":"1"}
{"id":90,"name":"contact-27","sexe":"2","age":"13","studies2":"0","reltype":"0","dist":"0","job":"6","famsit":"0","city":"42","cp":"10032","quartier":"32","duration":["32","132"],"context":"4","contextExtra":["","",""],"freq":["0","5","10","15","20"],"connect":["0","2","4","6","8","10"],"connectExtra":["",""],"medsoc":"0","interest":"2","irlfreq":["0","5","10","15","20"],"relmark":"2","medrel":"2"}
{"id":91,"name":"contact-28","sexe":"0","age":"14","studies2":"1","reltype":"1","dist":"1","job":"7","famsit":"1","city":"43","cp":"10033","quartier":"33","duration":["33","133"],"context":"5","contextExtra":["","",""],"freq":["1","6","11","16","21"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""],"medsoc":"1","interest":"3","irlfreq":["1","6","11","16","21"],"relmark":"3","medrel":"0"}
{"id":92,"name":"contact-29","sexe":"1","age":"15","studies2":"2","reltype":"2","dist":"2","job":"8","famsit":"2","city":"44","cp":"10034","quartier":"34","duration":["34","134"],"context":"6","contextExtra":["","",""],"freq":["2","7","12","17","22"],"connect":["0","2","4","6","8","10"],"connectExtra":["",""],"medsoc":"2","interest":"4","irlfreq":["2","7","12","17","22"],"relmark":"4","medrel":"1"}
{"id":93,"name":"contact-30","sexe":"2","age":"16","studies2":"3","reltype":"3","dist":"3","job":"9","famsit":"3","city":"45","cp":"10035","quartier":"35","duration":["35","135"],"context":"7","contextExtra":["","",""],"freq":["3","8","13","18","23"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""],"medsoc":"3","interest":"0","irlfreq":["3","8","13","18","23"],"relmark":"0","medrel":"2"}
{"id":94,"name":"contact-31","sexe":"0","age":"17","studies2":"4","reltype":"4","dist":"0","job":"10","famsit":"0","city":"46","cp":"10036","quartier":"36","duration":["36","136"],"context":"8","contextExtra":["","",""],"freq":["0","5","10","15","20"],"connect":["0","2","4","6","8","10"],"connectExtra":["",""],"medsoc":"0","interest":"1","irlfreq":["0","5","10","15","20"],"relmark":"1","medrel":"0"}
{"id":95,"name":"contact-32","sexe":"1","age":"18","studies2":"5","reltype":"5","dist":"1","job":"11","famsit":"1","city":"47","cp":"10037","quartier":"37","duration":["37","137"],"context":"9","contextExtra":["","",""],"freq":["1","6","11","16","21"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""],"medsoc":"1","interest":"2","irlfreq":["1","6","11","16","21"],"relmark":"2","medrel":"1"}
{"id":96,"name":"contact-33","sexe":"2","age":"0","studies2":"6","reltype":"6","dist":"2","job":"12","famsit":"2","city":"48","cp":"10038","quartier":"38","duration":["38","138"],"context":"10","contextExtra":["","",""],"freq":["2","7","12","17","22"],"connect":["0","2","4","6","8","10"],"connectExtra":["",""],"medsoc":"2","interest":"3","irlfreq":["2","7","12","17","22"],"relmark":"3","medrel":"2"}
{"id":97,"name":"contact-34","sexe":"0","age":"1","studies2":"7","reltype":"autre","dist":"3","job":"0","famsit":"3","city":"49","cp":"10039","quartier":"39","duration":["39","139"],"context":"11","contextExtra":["internet","",""],"freq":["3","8","13","18","23"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""],"medsoc":"3","interest":"4","irlfreq":["3","8","13","18","23"],"relmark":"4","medrel":"0"}
{"id":98,"name":"contact-35","sexe":"1","age":"2","studies2":"0","reltype":"0","dist":"0","job":"1","famsit":"0","city":"50","cp":"10040","quartier":"40","duration":["40","140"],"context":"12","contextExtra":["","association",""],"freq":["0","5","10","15","20"],"connect":["0","2","4","6","8","10"],"connectExtra":["",""],"medsoc":"0","interest":"0","irlfreq":["0","5","10","15","20"],"relmark":"0","medrel":"1"}
{"id":99,"name":"contact-36","sexe":"2","age":"3","studies2":"1","reltype":"1","dist":"1","job":"2","famsit":"1","city":"51","cp":"10041","quartier":"41","duration":["41","141"],"context":"13","contextExtra":["","","autre"],"freq":["1","6","11","16","21"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""],"medsoc":"1","interest":"1","irlfreq":["1","6","11","16","21"],"relmark":"1","medrel":"2"}
{"id":100,"name":"contact-37","sexe":"0","age":"4","studies2":"2","reltype":"2","dist":"2","job":"3","famsit":"2","city":"52","cp":"10042","quartier":"42","duration":["42","142"],"context":"0","contextExtra":["","",""],"freq":["2","7","12","17","22"],"connect":["0","2","4","6","8","10"],"connectExtra":["",""],"medsoc":"2","interest":"2","irlfreq":["2","7","12","17","22"],"relmark":"2","medrel":"0"}
{"id":101,"name":"contact-38","sexe":"1","age":"5","studies2":"3","reltype":"3","dist":"3","job":"4","famsit":"3","city":"53","cp":"10043","quartier":"43","duration":["43","143"],"context":"1","contextExtra":["","",""],"freq":["3","8","13","18","23"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""],"medsoc":"3","interest":"3","irlfreq":["3","8","13","18","23"],"relmark":"3","medrel":"1"}
{"id":102,"name":"contact-39","sexe":"2","age":"6","studies2":"4","reltype":"4","dist":"0","job":"5","famsit":"0","city":"54","cp":"10044","quartier":"44","duration":["44","144"],"context":"2","contextExtra":["","",""],"freq":["0","5","10","15","20"],"connect":["0","2","4","6","8","10"],"connectExtra":["",""],"medsoc":"0","interest":"4","irlfreq":["0","5","10","15","20"],"relmark":"4","medrel":"2"}
{"id":104,"name":"contact-41","sexe":"1","age":"","studies1":"2","reltype":"1","dist":"0"}
{"id":105,"name":"contact-42","sexe":"0","age":"2","studies1":"3","reltype":"2","dist":"1"}
{"id":106,"name":"contact-43","sexe":"1","age":"3","studies1":"4","reltype":"3","dist":"2"}
{"id":107,"name":"contact-44","sexe":"0","age":"4","studies1":"5","reltype":"4","dist":"3"}

2
build/lightdb/storage/contact/index Normal file → Executable file
View File

@ -1 +1 @@
{"140":{"line":0},"141":{"line":1},"142":{"line":2},"143":{"line":3},"144":{"line":4},"145":{"line":5},"146":{"line":6},"147":{"line":7},"148":{"line":8},"149":{"line":9},"150":{"line":10},"151":{"line":11},"152":{"line":12},"153":{"line":13},"154":{"line":14},"155":{"line":15},"156":{"line":16},"157":{"line":17},"158":{"line":18},"159":{"line":19},"161":{"line":20},"162":{"line":21},"163":{"line":22},"164":{"line":23},"165":{"line":24},"166":{"line":25},"167":{"line":26},"168":{"line":27},"169":{"line":28},"170":{"line":29},"171":{"line":30},"172":{"line":31},"173":{"line":32},"174":{"line":33},"175":{"line":34},"176":{"line":35},"177":{"line":36},"178":{"line":37},"179":{"line":38},"181":{"line":39},"182":{"line":40},"183":{"line":41},"184":{"line":42}}
{"16":{"line":0},"17":{"line":1},"18":{"line":2},"19":{"line":3},"20":{"line":4},"21":{"line":5},"22":{"line":6},"23":{"line":7},"24":{"line":8},"25":{"line":9},"26":{"line":10},"27":{"line":11},"28":{"line":12},"29":{"line":13},"30":{"line":14},"31":{"line":15},"32":{"line":16},"33":{"line":17},"34":{"line":18},"35":{"line":19},"37":{"line":20},"38":{"line":21},"39":{"line":22},"40":{"line":23},"41":{"line":24},"42":{"line":25},"43":{"line":26},"44":{"line":27},"45":{"line":28},"46":{"line":29},"47":{"line":30},"48":{"line":31},"49":{"line":32},"50":{"line":33},"51":{"line":34},"52":{"line":35},"53":{"line":36},"54":{"line":37},"55":{"line":38},"57":{"line":39},"58":{"line":40},"59":{"line":41},"60":{"line":42},"63":{"line":43},"64":{"line":44},"65":{"line":45},"66":{"line":46},"67":{"line":47},"68":{"line":48},"69":{"line":49},"70":{"line":50},"71":{"line":51},"72":{"line":52},"73":{"line":53},"74":{"line":54},"75":{"line":55},"76":{"line":56},"77":{"line":57},"78":{"line":58},"79":{"line":59},"80":{"line":60},"81":{"line":61},"82":{"line":62},"84":{"line":63},"85":{"line":64},"86":{"line":65},"87":{"line":66},"88":{"line":67},"89":{"line":68},"90":{"line":69},"91":{"line":70},"92":{"line":71},"93":{"line":72},"94":{"line":73},"95":{"line":74},"96":{"line":75},"97":{"line":76},"98":{"line":77},"99":{"line":78},"100":{"line":79},"101":{"line":80},"102":{"line":81},"104":{"line":82},"105":{"line":83},"106":{"line":84},"107":{"line":85}}

64
build/lightdb/storage/dictionary.json Normal file → Executable file
View File

@ -74,51 +74,35 @@
},
"studies2": {
".": "NA",
"0": "Inconnue",
"01": "Pas de scolarité",
"02": "Aucun diplôme mais scolarité jusqu'en école primaire ou au collège",
"03": "Aucun diplôme mais scolarité au-delà du collège",
"04": "Certificat d'études primaires (CEP)",
"05": "BEPC, brevet élémentaire, brevet des collèges",
"06": "Certificat d'aptitudes professionnelles (CAP), brevet de compagnon, y compris CAPA",
"07": "Brevet d'études professionnelles (BEP), y compris BEPA et diplômes agricoles (BAA, BPA) Diplômes sociaux (aide-soignante, auxiliaire de puériculture, travailleuse familiale)",
"08": "Baccalauréat général, brevet supérieur BAC ( L, ES, S ou A, B , C, D, D, E )",
"09": "Bac technologique ou professionnel, brevet professionnel ou de technicien BAC (STI, STL, SMS, STT ou F, G, H) BEC, BEI, BEH, capacité en droit Brevet de technicien agricole (BTA)",
"10": "Diplôme universitaire de 1er cycle BTS, DUT, DEUG Diplôme des professions sociales ou de santé, d'infirmier(ère) Diplôme universitaire propédeutique, DUEL, DUES, DEUG, PCEM",
"11": "Diplôme universitaire de 2ème ou 3ème cycle MASTER, DOCTORAT (y compris médecine, pharmacie, dentaire), Maîtrise, DEA, DESS, CAPES, CAPET, agrégation Diplôme d'ingénieur, d'une grande école, etc."
".": "NA",
"0": "Aucun diplôme, CEP, BEPC",
"1": "CAP, CAPA, BEP, BEPA, Brevet de compagnon, Diplômes sociaux (aide-soignante, auxiliaire de puériculture, travailleuse familiale)",
"2": "Bac technologique ou professionnel, brevet professionnel ou de technicien",
"3": "Baccalauréat général, brevet supérieur",
"4": "Diplôme universitaire de 1er cycle: Licence, BTS, DUT",
"5": "Diplôme universitaire de 2ème cycle : MASTER, Maîtrise ou DEA, CAPES",
"6": "Doctorat (y compris médecine, pharmacie, dentaire)",
"7": "Diplôme d'ingénieur, diplôme d'une grande école de commerce"
},
"job": {
".": "NA",
"10": "Agriculteurs exploitants (Agriculteurs, maraîchers, viticulteurs…)",
"21": "Artisans (Maçons, électriciens, couturiers, boulangers, garagistes, coiffeurs…)",
"22": "Commerçants et assimilés (Commerçants en détail ou en gros, buralistes, cafetiers, agents immobiliers…)",
"23": "Chefs d'entreprise de 10 salariés ou plus",
"31": "Professions libérales et assimilés (Médecins, avocats, notaires, architectes libéraux…)",
"32": "Cadres de la fonction publique, professions intellectuelles et artistiques (Personnels administratifs de catégorie A, professeurs de lenseignement secondaire ou supérieur, médecins hospitaliers, artistes…)",
"36": "Cadres d'entreprise (Cadres administratifs, cadres commerciaux, ingénieurs…)",
"41": "Professions intermédiaires de l'enseignement, de la santé, de la fonction publique et assimilés (Personnels administratifs de catégorie B, instituteurs, infirmiers, travailleurs sociaux…)",
"46": "Professions intermédiaires administratives et commerciales des entreprises (Comptables, chargés de clientèles…)",
"47": "Techniciens (Techniciens détudes, techniciens de contrôle, dessinateurs en bâtiment, géomètres…)",
"48": "Contremaîtres, agents de maîtrise (Conducteurs de travaux, chefs déquipe…)",
"51": "Employés de la fonction publique (Personnels de catégorie C, agents administratifs, agents de service…)",
"54": "Employés administratifs d'entreprise (Secrétaires, agents daccueil…)",
"55": "Employés de commerce (Vendeurs, caissiers…)",
"56": "Personnels des services directs aux particuliers (Serveurs, coiffeurs, assistantes maternelles…)",
"61": "Ouvriers qualifiés de type industriel ou artisanal (Mécaniciens, chauffeurs, cuisiniers…)",
"66": "Ouvriers non qualifiés de type industriel ou artisanal (Ouvrier de production, manœuvres…)",
"69": "Ouvriers agricoles (Bergers, ouvriers de la viticulture, bûcherons, ouvrier forestiers…)",
"71": "Anciens agriculteurs exploitants",
"72": "Anciens artisans, commerçants, chefs d'entreprise",
"73": "Anciens cadres",
"74": "Anciennes professions intermédiaires",
"75": "Anciens employés",
"76": "Anciens ouvriers",
"81": "Chômeurs n'ayant jamais travaillé",
"82": "Inactifs divers (autres que retraités)"
".": "NA",
"0": "Agriculateur exploitants",
"1": "Artisans",
"2": "Commerçants et assimilés",
"3": "Chefs d'entreprise de 10 salariés ou plus",
"4": "Professions libérales et assimilés",
"5": "Cadres de la fonction publique, professions intellectuelles et artistiques",
"6": "Cadres d'entreprise",
"7": "Professions intermétiaires de l'enseignement, de la santé, de la fonction publique et assimilés",
"8": "Professions intermédiaires administratives et commerciales des entreprises",
"9": "Techniciens",
"10": "Contremaîtres, agents de maîtrise",
"11": "Employés",
"12": "Ouvriers"
},
"context": {
"0": "De la même famille",
"1": "Grandi ensemble",

16
build/lightdb/storage/subject/data Normal file → Executable file

File diff suppressed because one or more lines are too long

0
build/lightdb/storage/subject/description Normal file → Executable file
View File

2
build/lightdb/storage/subject/index Normal file → Executable file
View File

@ -1 +1 @@
{"1":{"line":0}}
{"2":{"line":0},"4":{"line":1},"5":{"line":2},"6":{"line":3},"7":{"line":4},"8":{"line":5},"9":{"line":6},"10":{"line":7},"11":{"line":8},"12":{"line":9},"13":{"line":10},"14":{"line":11},"15":{"line":12},"1":{"line":13},"3":{"line":14}}

2
build/lightdb/storage/uniqid Normal file → Executable file
View File

@ -1 +1 @@
184
107

0
build/manager/.htaccess Normal file → Executable file
View File

0
build/manager/ManagerError.php Normal file → Executable file
View File

0
build/manager/MenuManager.php Normal file → Executable file
View File

17
build/manager/sessionManager.php Normal file → Executable file
View File

@ -27,7 +27,7 @@
// On definit l'id session si donne en argument
if( $session_id != null )
session_id( $session_id );
// Precaution: on met a jour le cookie
setcookie( 'PHPSESSID', session_id(), time()+60*30, '/');
@ -45,7 +45,7 @@
/*******************/
private static function update_token(){
$token = self::$prefix.self::sha1(uniqid());
// On definit le token en session
$_SESSION['session_token'] = $token;
@ -53,13 +53,12 @@
$_COOKIE['session_token'] = $_SESSION['session_token'];
setcookie( 'session_token', $_COOKIE['session_token'], time()+60*30, '/');
}
/************/
/* AMORCEUR */
/************/
public static function session_start(){
\session_start();
return;
return \session_start();
/* [1] Génération et Gestion des donnees a utiliser
@ -85,12 +84,12 @@
// On verifie l'id session (5 premiers chars du hash des donnees perso)
$valid_sessid = strpos( session_id(), substr(self::$prefix,0,5) ) === 0;
// Si id session incorrect ou pas de token
// Si id session incorrect ou pas de token
if( !$valid_sessid )
self::reset_session( $sessid ); // On initialise la session (bon id session)
/* [3] Verification du token
==============================================================*/
// On verifie que le token est valide

0
build/orm/core/Rows.php Normal file → Executable file
View File

0
build/orm/core/SQLBuilder.php Normal file → Executable file
View File

0
build/orm/core/Table.php Normal file → Executable file
View File

0
build/router/core/Route.php Normal file → Executable file
View File

0
build/router/core/Router.php Normal file → Executable file
View File

0
build/src/upload/local_data/xdrm-brackets.json Normal file → Executable file
View File

0
config/.htaccess Normal file → Executable file
View File

22
config/database-driver.json Normal file → Executable file
View File

@ -7,25 +7,25 @@
"password" : "Qt358nUdyeTxLDM8"
},
"remote": {
"host" : "xdrm.io",
"host" : "localhost",
"dbname" : "nxtic",
"user" : "php",
"password" : "QbzjZACndQM6NmuD"
"user" : "nxtic-php",
"password" : "wxcvbn"
}
},
"lab-surveys": {
"local": {
"host" : "shadowx-dev.com",
"dbname" : "cnrs",
"user" : "cnrs",
"password" : "yEHsPxCurd7RsynE"
"host" : "listic-lab-surveys.irit.fr",
"dbname" : "lab-surveys",
"user" : "lab-surveys",
"password" : "wxcvbn"
},
"remote": {
"host" : "shadowx-dev.com",
"dbname" : "cnrs",
"user" : "cnrs",
"password" : "yEHsPxCurd7RsynE"
"host" : "listic-lab-surveys.irit.fr",
"dbname" : "lab-surveys",
"user" : "lab-surveys",
"password" : "wxcvbn"
}
}
}

0
config/menu.json Normal file → Executable file
View File

View File

@ -182,11 +182,11 @@
"input": {
"surveysync": {
"description": "Enregistre les données d'une enquête lab-surveys.",
"survey": {
"description": "Enregistre les données d'une enquête téléphonique.",
"permissions": ["admin"],
"parameters": {
"subject": { "description": "Id du sujet concerné.", "type": "id" },
"subject": { "description": "Données du sujet (id, etc)", "type": "array<mixed>" },
"contacts": { "description": "Données des contacts de l'enquête.", "type": "array<array>" },
"mini": { "description": "Mini fiches relations sur les contacts de l'enquête.", "type": "array<array>" },
"fiches": { "description": "Fiches relation sur les plus proches contacts de l'enquête.", "type": "array<array>" },
@ -201,7 +201,7 @@
"description": "Enregistre les données d'une enquête téléphonique.",
"permissions": ["admin"],
"parameters": {
"subject": { "description": "Id du sujet concerné", "type": "id" },
"subject": { "description": "Données du sujet (id, etc)", "type": "array<mixed>" },
"contacts": { "description": "Données des contacts de l'enquête.", "type": "array<array>" },
"mini": { "description": "Mini fiches relations sur les contacts de l'enquête.", "type": "array<array>" },
"fiches": { "description": "Fiches relation sur les plus proches contacts de l'enquête.", "type": "array<array>" },
@ -216,7 +216,7 @@
"description": "Enregistre les données d'une enquête facebook.",
"permissions": ["admin"],
"parameters": {
"subject": { "description": "Id du sujet concerné", "type": "id" },
"subject": { "description": "Données du sujet (id, etc)", "type": "array<mixed>" },
"contacts": { "description": "Données des contacts de l'enquête.", "type": "array<array>" },
"mini": { "description": "Mini fiches relations sur les contacts de l'enquête.", "type": "array<array>" },
"fiches": { "description": "Fiches relation sur les plus proches contacts de l'enquête.", "type": "array<array>" },

0
config/server.json Normal file → Executable file
View File

0
config/upload-auth.json Normal file → Executable file
View File

0
config/views.json Normal file → Executable file
View File

0
doc/.htaccess Normal file → Executable file
View File

0
doc/Annexes.odt Normal file → Executable file
View File

0
doc/Annexes.pdf Normal file → Executable file
View File

0
doc/bdd.sql Normal file → Executable file
View File

0
doc/form-builder/behaviour-min.js vendored Normal file → Executable file
View File

0
doc/form-builder/behaviour.js Normal file → Executable file
View File

0
doc/form-builder/constraints-min.js vendored Normal file → Executable file
View File

0
doc/form-builder/constraints.js Normal file → Executable file
View File

0
doc/journaux d'appels/E1-Caroline-CallLogExport.xml Normal file → Executable file
View File

0
doc/journaux d'appels/E10-Boris-LogExport.xml Normal file → Executable file
View File

0
doc/journaux d'appels/E3-Clement-CallLogExport-V2.xml Normal file → Executable file
View File

0
doc/journaux d'appels/E4-Coralie-LogExport.xml Normal file → Executable file
View File

0
doc/journaux d'appels/E5-Laurent-LogExport.xml Normal file → Executable file
View File

0
doc/journaux d'appels/E7-Emilie-LogExport.xml Normal file → Executable file
View File

0
doc/journaux d'appels/E8-Celine-LogExport.xml Normal file → Executable file
View File

0
doc/journaux d'appels/E9-Pierre-LogExport 2.xml Normal file → Executable file
View File

0
doc/journaux d'appels/E9-Pierre-LogExport.xml Normal file → Executable file
View File

0
doc/journaux d'appels/JDA-Julien.txt Normal file → Executable file
View File

0
doc/permissions.json Normal file → Executable file
View File

0
doc/phone_log.json Normal file → Executable file
View File

0
doc/phone_log_dict.json Normal file → Executable file
View File

0
doc/rapport.odt Normal file → Executable file
View File

0
doc/rapport.pdf Normal file → Executable file
View File

0
doc/set_permissions.php Normal file → Executable file
View File

0
doc/wireframe.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 324 KiB

After

Width:  |  Height:  |  Size: 324 KiB

0
public_html/.htaccess Normal file → Executable file
View File

2
public_html/css/constants.scss Normal file → Executable file
View File

@ -53,5 +53,5 @@ $header-height: 4em;
=========================================================*/
// Transforme une couleur hex en string sans le #
@function color-str($color){
@return str-slice(#{$color}, 2, str-length(#{$color}));
@return str-slice("#{$color}", 2, str-length("#{$color}"));
}

0
public_html/css/container.scss Normal file → Executable file
View File

0
public_html/css/expanded/constants.css Normal file → Executable file
View File

0
public_html/css/expanded/constants.css.map Normal file → Executable file
View File

0
public_html/css/expanded/container.css Normal file → Executable file
View File

0
public_html/css/expanded/container.css.map Normal file → Executable file
View File

0
public_html/css/expanded/font.css Normal file → Executable file
View File

0
public_html/css/expanded/font.css.map Normal file → Executable file
View File

0
public_html/css/expanded/global.css Normal file → Executable file
View File

0
public_html/css/expanded/global.css.map Normal file → Executable file
View File

0
public_html/css/expanded/header.css Normal file → Executable file
View File

0
public_html/css/expanded/header.css.map Normal file → Executable file
View File

0
public_html/css/expanded/layout.css Normal file → Executable file
View File

0
public_html/css/expanded/layout.css.map Normal file → Executable file
View File

0
public_html/css/expanded/menu-side.css Normal file → Executable file
View File

0
public_html/css/expanded/menu-side.css.map Normal file → Executable file
View File

0
public_html/css/expanded/notif.css Normal file → Executable file
View File

0
public_html/css/expanded/notif.css.map Normal file → Executable file
View File

0
public_html/css/expanded/panel-list.css Normal file → Executable file
View File

0
public_html/css/expanded/panel-list.css.map Normal file → Executable file
View File

0
public_html/css/expanded/reset.css Normal file → Executable file
View File

0
public_html/css/expanded/reset.css.map Normal file → Executable file
View File

0
public_html/css/expanded/timeline-form-facebook.css Normal file → Executable file
View File

View File

0
public_html/css/expanded/timeline-form.css Normal file → Executable file
View File

0
public_html/css/expanded/timeline-form.css.map Normal file → Executable file
View File

0
public_html/css/font.scss Normal file → Executable file
View File

Some files were not shown because too many files have changed in this diff Show More