Ajout du manifest.json de l'api + finitions Close #2
This commit is contained in:
parent
76d8c8f91b
commit
e73b3a0bf5
|
@ -0,0 +1,22 @@
|
||||||
|
{
|
||||||
|
"name": "socioview_api",
|
||||||
|
"version": "0.1",
|
||||||
|
"description": "API de la plateforme d'acquisition et de visualisation de donnees dans le cadre d'etudes relationnelles en sociologie",
|
||||||
|
|
||||||
|
"requests": {
|
||||||
|
|
||||||
|
"parse-call-log":{
|
||||||
|
"url": "socioview/api/",
|
||||||
|
"method": "POST",
|
||||||
|
"description": "Renvoie a partir du contenu d'un fichier de journal d'appel XML un objet classant les relations SMS/MMS par nombre de messages recus et emis, et de meme pour les appels classes par nombre d'appels.",
|
||||||
|
|
||||||
|
"input": { "path": "callLog/unserialize", "data": "array" },
|
||||||
|
"output": { "ModuleError": "int", "data": "json" }
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
22
automate.php
22
automate.php
|
@ -41,27 +41,31 @@
|
||||||
|
|
||||||
/* [4] Sinon on recupere le resultat
|
/* [4] Sinon on recupere le resultat
|
||||||
=========================================================*/
|
=========================================================*/
|
||||||
$obj = $answer->get('object');
|
$sms = $answer->get('sms');
|
||||||
|
$call = $answer->get('call');
|
||||||
|
$contact = $answer->get('contact');
|
||||||
|
|
||||||
/* [5] On debug les donnees recues
|
/* [5] On debug les donnees recues
|
||||||
=========================================================*/
|
=========================================================*/
|
||||||
var_dump( "Il y a ".count($obj['contact'])." personnes :" );
|
var_dump( "Il y a ".count($contact)." personnes :" );
|
||||||
var_dump( "- ".count($obj['SMS'])." par SMS/MMS" );
|
var_dump( "- ".count($sms)." par SMS/MMS" );
|
||||||
var_dump( "- ".count($obj['CALL'])." par telephone" );
|
var_dump( "- ".count($call)." par telephone" );
|
||||||
echo "<br>";
|
echo "<br>";
|
||||||
echo "TOP 10 DES APPELS<br>";
|
echo "TOP 10 DES APPELS<br>";
|
||||||
echo "=================<br>";
|
echo "=================<br>";
|
||||||
foreach($obj['CALL'] as $v)
|
foreach($call as $v)
|
||||||
var_dump( $v[0] ." (".$obj['contact'][$v[0]].") \t\t\t". $v[1] ." appels");
|
var_dump( $v[0] ." (".$contact[$v[0]].") \t\t\t". $v[1] ." appels");
|
||||||
|
|
||||||
echo "TOP 10 DES MMS/SMS<br>";
|
echo "TOP 10 DES MMS/SMS<br>";
|
||||||
echo "==================<br>";
|
echo "==================<br>";
|
||||||
foreach($obj['SMS'] as $v)
|
foreach($sms as $v)
|
||||||
var_dump( $v[0] ." (".$obj['contact'][$v[0]].") \t\t\t". $v[1] ." appels");
|
var_dump( $v[0] ." (".$contact[$v[0]].") \t\t\t". $v[1] ." appels");
|
||||||
|
|
||||||
|
|
||||||
var_dump("\n\n\nOBJET COMPLET");
|
var_dump("\n\n\nOBJET COMPLET");
|
||||||
var_dump( $obj );
|
var_dump( $sms );
|
||||||
|
var_dump( $call );
|
||||||
|
var_dump( $contact );
|
||||||
}
|
}
|
||||||
|
|
||||||
parseCallLog();
|
parseCallLog();
|
||||||
|
|
|
@ -13,7 +13,9 @@
|
||||||
*
|
*
|
||||||
* @content<String> Le contenu du journal d'appel a deserialiser
|
* @content<String> Le contenu du journal d'appel a deserialiser
|
||||||
*
|
*
|
||||||
* @return object<Array> Retourne un tableau associatif contenant les donnees triees
|
* @return sms<Array> Retourne un tableau associatif contenant les sms triees
|
||||||
|
* @return call<Array> Retourne un tableau associatif contenant les appels triees
|
||||||
|
* @return contact<Array> Retourne un tableau associatif contenant les correspondances numero/nom de contact
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public static function unserialize($content=null){
|
public static function unserialize($content=null){
|
||||||
|
@ -85,311 +87,45 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/* [4] On trie par nombre de contacts
|
/* [4] On trie par nombre d'interactions (sms/appel)
|
||||||
=========================================================*/
|
=========================================================*/
|
||||||
$tmp = $msms;
|
$tmp = $msms;
|
||||||
/* (1) Tri des SMS/MMS */
|
/* (1) Tri des SMS/MMS */
|
||||||
$maxMSMS = array();
|
$sortedMSMS = array();
|
||||||
for( $i = 0 ; $i < 10 ; $i++ ){
|
// On fait le tri pour les 10 premiers elements sauf s'il en a moins
|
||||||
|
for( $i = 0 ; $i < 10 && $i < count($tmp) ; $i++ ){
|
||||||
$maxval = max($tmp);
|
$maxval = max($tmp);
|
||||||
$maxkey = array_search($maxval, $tmp);
|
$maxkey = array_search($maxval, $tmp);
|
||||||
array_push( $maxMSMS, array($maxkey, $maxval) );
|
array_push( $sortedMSMS, array($maxkey, $maxval) );
|
||||||
unset($tmp[$maxkey]);
|
unset($tmp[$maxkey]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
$tmp = $call;
|
$tmp = $call;
|
||||||
/* (2) Tri des appels */
|
/* (2) Tri des appels */
|
||||||
$maxCalls = array();
|
$sortedCALL = array();
|
||||||
for( $i = 0 ; $i < 10 ; $i++ ){
|
// On fait le tri pour les 10 premiers elements sauf s'il en a moins
|
||||||
|
for( $i = 0 ; $i < 10 && $i < count($tmp) ; $i++ ){
|
||||||
$maxval = max($tmp);
|
$maxval = max($tmp);
|
||||||
$maxkey = array_search($maxval, $tmp);
|
$maxkey = array_search($maxval, $tmp);
|
||||||
array_push( $maxCalls, array($maxkey, $maxval) );
|
array_push( $sortedCALL, array($maxkey, $maxval) );
|
||||||
unset($tmp[$maxkey]);
|
unset($tmp[$maxkey]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/* [5] Mise en forme de l'objet de retour
|
|
||||||
=========================================================*/
|
|
||||||
$object = array(
|
|
||||||
'SMS' => $maxMSMS,
|
|
||||||
'CALL' => $maxCalls,
|
|
||||||
'contact' => $names
|
|
||||||
);
|
|
||||||
|
|
||||||
|
|
||||||
/* [5] Gestion du retour
|
/* [5] Gestion du retour
|
||||||
=========================================================*/
|
=========================================================*/
|
||||||
return array(
|
return array(
|
||||||
'ModuleError' => ManagerError::Success,
|
'ModuleError' => ManagerError::Success,
|
||||||
'object' => $object
|
'sms' => $sortedMSMS,
|
||||||
|
'call' => $sortedCALL,
|
||||||
|
'contact' => $names
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* AJOUTE UNE MACHINE DONNEE A UN GROUPE DONNE
|
|
||||||
*
|
|
||||||
* @id_cluster<int> UID du groupe
|
|
||||||
* @id_machine<int> UID de la machine
|
|
||||||
*
|
|
||||||
* @return association<int> Renvoie l'UID de l'association cree
|
|
||||||
* Renvoie FALSE si une erreur occure
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
public static function link($id_cluster, $id_machine){
|
|
||||||
/* [1] Normalisation + verification des donnees
|
|
||||||
=========================================================*/
|
|
||||||
$correct_param = Database::check('auto_increment_id', $id_cluster);
|
|
||||||
$correct_param = $correct_param && Database::check('auto_increment_id', $id_machine);
|
|
||||||
|
|
||||||
// Si les parametres ne sont pas corrects, on retourne une erreur
|
|
||||||
if( !$correct_param )
|
|
||||||
return array('ModuleError' => ManagerError::ParamError);
|
|
||||||
|
|
||||||
/* [2] Creation de l'association
|
|
||||||
=========================================================*/
|
|
||||||
$link_machine = new Repo('cluster/link', array($id_cluster, $id_machine, clusterRepo::MACHINE_CLASS));
|
|
||||||
|
|
||||||
return $link_machine;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* RETIRE UNE MACHINE DONNEE A UN GROUPE DONNE
|
|
||||||
*
|
|
||||||
* @id_cluster<int> UID du groupe
|
|
||||||
* @id_machine<int> UID de la machine
|
|
||||||
*
|
|
||||||
* @return association<int> Renvoie l'UID de l'association cree
|
|
||||||
* Renvoie FALSE si une erreur occure
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
public static function unlink($id_cluster, $id_machine){
|
|
||||||
/* [1] Normalisation + verification des donnees
|
|
||||||
=========================================================*/
|
|
||||||
$correct_param = Database::check('auto_increment_id', $id_cluster);
|
|
||||||
$correct_param = $correct_param && Database::check('auto_increment_id', $id_machine);
|
|
||||||
|
|
||||||
// Si les parametres ne sont pas corrects, on retourne une erreur
|
|
||||||
if( !$correct_param )
|
|
||||||
return array('ModuleError' => ManagerError::ParamError);
|
|
||||||
|
|
||||||
/* [2] Suppression de l'association
|
|
||||||
=========================================================*/
|
|
||||||
$link_machine = new Repo('cluster/unlink', array($id_cluster, $id_machine, clusterRepo::MACHINE_CLASS));
|
|
||||||
|
|
||||||
return $link_machine;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* RENVOIE UNE MACHINE EN FONCTION D'UN MOT CLE
|
|
||||||
*
|
|
||||||
* @keyword<String> Element de recherche
|
|
||||||
*
|
|
||||||
* @return machines<Array> Retourne la liste des machines trouvees
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
public static function search($keyword){
|
|
||||||
// On recupere les donnees
|
|
||||||
$machine = new Repo('machine/search', array($keyword));
|
|
||||||
|
|
||||||
return array(
|
|
||||||
'machines' => $machine->answer()
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* RENVOIE LA LISTE EXHAUSTIVE DES MACHINES
|
|
||||||
*
|
|
||||||
* @return machines<Array> Liste des machines
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
public static function getAll(){
|
|
||||||
// On recupere les donnees
|
|
||||||
$machines = new Repo('machine/getAll');
|
|
||||||
|
|
||||||
return array(
|
|
||||||
'machines' => $machines->answer()
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* RENVOIE LA MACHINE D'UID DONNE
|
|
||||||
*
|
|
||||||
* @id_machine<int> UID de la machine en question
|
|
||||||
*
|
|
||||||
* @return machine<Array> Machine d'UID donne
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
public static function getById($id_machine){
|
|
||||||
// On recupere les donnees
|
|
||||||
$request = new Repo('machine/getById', array($id_machine));
|
|
||||||
$answer = $request->answer();
|
|
||||||
|
|
||||||
// Si aucun resultat, on retourne une erreur
|
|
||||||
if( $answer === false )
|
|
||||||
return array( 'ModuleError' => ManagerError::ModuleError );
|
|
||||||
|
|
||||||
|
|
||||||
return array(
|
|
||||||
'machine' => $answer
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* RENVOIE LA MACHINE DE CODE DONNE
|
|
||||||
*
|
|
||||||
* @code<String> Code de la machine en question
|
|
||||||
*
|
|
||||||
* @return machine<Array> Machine de code donne
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
public static function getByCode($code){
|
|
||||||
// On recupere les donnees
|
|
||||||
$request = new Repo('machine/getByCode', array($code));
|
|
||||||
$answer = $request->answer();
|
|
||||||
|
|
||||||
// Si aucun resultat, on retourne une erreur
|
|
||||||
if( $answer === false )
|
|
||||||
return array( 'ModuleError' => ManagerError::ModuleError );
|
|
||||||
|
|
||||||
|
|
||||||
return array(
|
|
||||||
'machine' => $answer
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* RENVOIE LES GROUPES D'UNE MACHINE DONNEE
|
|
||||||
*
|
|
||||||
* @id_machine<int> UID de la machine en question
|
|
||||||
*
|
|
||||||
* @return clusters<Array> Groupes de la machine donne
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
public static function getClusters($id_machine){
|
|
||||||
// On recupere les donnees
|
|
||||||
$request = new Repo('machine/getClusters', array($id_machine));
|
|
||||||
$answer = $request->answer();
|
|
||||||
|
|
||||||
// Si aucun resultat, on retourne une erreur
|
|
||||||
if( $answer === false )
|
|
||||||
return array( 'ModuleError' => ManagerError::ModuleError );
|
|
||||||
|
|
||||||
|
|
||||||
return array(
|
|
||||||
'clusters' => $answer
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* MODIFIE UNE MACHINE DONNEE
|
|
||||||
*
|
|
||||||
* @id_machine<int> UID de la machine
|
|
||||||
* @code<String> Code RFID de la machine
|
|
||||||
* @name<String> Identifiant l'utilisateur
|
|
||||||
*
|
|
||||||
* @return status<Boolean> Retourne si oui ou non tout s'est bien deroule
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
public static function edit($id_machine=null, $code=null, $name=null){
|
|
||||||
// Si @id_machine n'est pas au bon format, on retourne une erreur
|
|
||||||
if( !Database::check('auto_increment_id', $id_machine) )
|
|
||||||
return array('ModuleError' => ManagerError::ModuleError);
|
|
||||||
|
|
||||||
|
|
||||||
/* [1] On verifie l'existence de la machine
|
|
||||||
=========================================================*/
|
|
||||||
$machine_exists = new Repo('machine/getById', array($id_machine));
|
|
||||||
$machine_data = $machine_exists->answer();
|
|
||||||
|
|
||||||
// Si on a recupere aucune machine, on retourne une erreur
|
|
||||||
if( !is_array($machine_data) )
|
|
||||||
return array('ModuleError' => ManagerError::ModuleError);
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* [2] Normalisation + verification des donnees
|
|
||||||
=========================================================*/
|
|
||||||
|
|
||||||
/* (1) Verification des parametres (si correct et different)*/
|
|
||||||
$correct_param = array(
|
|
||||||
'code' => Database::check('machine.code', $code ) && $machine_data['code'] != $code,
|
|
||||||
'name' => Database::check('machine.name', $name ) && $machine_data['name'] != $name
|
|
||||||
);
|
|
||||||
|
|
||||||
/* (2) Gestion des parametres optionnels */
|
|
||||||
$opt_data = array(
|
|
||||||
'code' => ($correct_param['code']) ? $code : $machine_data['code'],
|
|
||||||
'name' => ($correct_param['name']) ? $name : $machine_data['name']
|
|
||||||
);
|
|
||||||
|
|
||||||
|
|
||||||
/* [3] Modification de la machine
|
|
||||||
=========================================================*/
|
|
||||||
$request = new Repo('machine/edit', array(
|
|
||||||
$id_machine,
|
|
||||||
$opt_data['code'],
|
|
||||||
$opt_data['name']
|
|
||||||
));
|
|
||||||
|
|
||||||
|
|
||||||
return array(
|
|
||||||
'status' => $request->answer()
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* SUPPRIME UNE MACHINE DONNEE
|
|
||||||
*
|
|
||||||
* @id_machine<int> UID de la machine en question
|
|
||||||
*
|
|
||||||
* @return status<Boolean> Retourne si oui ou non tout s'est bien deroule
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
public static function delete($id_machine){
|
|
||||||
// On recupere les donnees
|
|
||||||
$request = new Repo('machine/delete', array($id_machine));
|
|
||||||
$answer = $request->answer();
|
|
||||||
|
|
||||||
return array(
|
|
||||||
'status' => $answer
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
5
todo.md
5
todo.md
|
@ -30,11 +30,14 @@
|
||||||
- [ ] Implementation CSS
|
- [ ] Implementation CSS
|
||||||
- [x] [doc/wireframe.png] Components
|
- [x] [doc/wireframe.png] Components
|
||||||
- [ ] CSS
|
- [ ] CSS
|
||||||
|
|
||||||
|
|
||||||
########
|
########
|
||||||
# FAIT #
|
# FAIT #
|
||||||
########
|
########
|
||||||
|
- [x] Graphique de type #FIELD
|
||||||
|
- [x] Definition des donnees
|
||||||
|
- [x] Definition graphique + implementation
|
||||||
- [x] Modification du modele de navigation
|
- [x] Modification du modele de navigation
|
||||||
- [x] Suppression du sub-side-menu
|
- [x] Suppression du sub-side-menu
|
||||||
- [x] Creation des bonnes pages
|
- [x] Creation des bonnes pages
|
||||||
|
|
Loading…
Reference in New Issue