diff --git a/config/modules.json b/config/modules.json index 43dd56f..b3a640b 100755 --- a/config/modules.json +++ b/config/modules.json @@ -12,6 +12,9 @@ "parameters": { "p1": { "description": "Texte", "type": "text" }, "p2": { "description": "Entier positif", "type": "id" } + }, + "output": { + "receivedArguments": { "description": "Liste des arguments reçus par la méthode", "type": "array" } } }, @@ -55,6 +58,9 @@ "parameters": { "login": { "description": "Identifiant ou adresse mail", "type": "varchar(3,50)" }, "password": { "description": "Mot de passe", "type": "text" } + }, + "output": { + "id_user": { "description": "Identifiant de l'utilisateur connecté", "type": "id" } } }, @@ -70,6 +76,9 @@ "permissions": ["admin"], "parameters": { "id_user": { "description": "UID de l'utilisateur recherche.", "type": "id" } + }, + "output": { + "user": { "description": "Propriétés de l'utilisateur en question.", "type": "array" } } }, @@ -77,7 +86,10 @@ "getAll": { "description": "Retourne les informations de tous les utilisateurs.", "permissions": ["admin"], - "parameters": {} + "parameters": {}, + "output": { + "users": { "description": "Propriétés de tous les utilisateurs existants.", "type": "array>" } + } }, @@ -90,6 +102,9 @@ "mail": { "description": "Adresse mail de l'utilisateur.", "type": "mail" }, "reference": { "description": "UID d'une personne d'un sondage, peut etre vide.", "type": "text" }, "permission": { "description": "Permissions de l'utilisateur : 'admin' ou 'subject'", "type": "varchar(5,7)" } + }, + "output": { + "id_user": { "description": "Identifiant de l'utilisateur créé", "type": "id" } } }, @@ -107,7 +122,13 @@ "unserialize": { "description": "Recupere le contenu d'un fichier XML de journal d'appel s'il a été importé au préalable.", "permissions": [], - "parameters": {} + "parameters": {}, + "output": { + "tmp_id": { "description": "Identifiant temporaire du journal d'appel", "type": "varchar(40,40)" }, + "directory": { "description": "Annuaire des contacts trouvés", "type": "array>" }, + "call": { "description": "Liste des identifiants des contacts triés par nombre d'appels", "type": "array" }, + "sms": { "description": "Liste des identifiants des contacts triés par nombre de sms", "type": "array" } + } } }, @@ -118,6 +139,12 @@ "permissions": ["admin"], "parameters": { "subject": { "description": "Identifiant du sujet à étudier,", "type": "id" } + }, + "output": { + "type": { "description": "Type de graphique", "type": "text" }, + "title": { "description": "Titre du graphique", "type": "text" }, + "pointFormat": { "description": "Format des labels des graphiques", "type": "text" }, + "series": { "description": "Séries de données et paramètres", "type": "array>" } } }, @@ -126,6 +153,12 @@ "permissions": ["admin"], "parameters": { "subject": { "description": "Identifiant du sujet à étudier,", "type": "id" } + }, + "output": { + "type": { "description": "Type de graphique", "type": "text" }, + "title": { "description": "Titre du graphique", "type": "text" }, + "pointFormat": { "description": "Format des labels des graphiques", "type": "text" }, + "series": { "description": "Séries de données et paramètres", "type": "array>" } } }, @@ -134,6 +167,12 @@ "permissions": ["admin"], "parameters": { "subject": { "description": "Identifiant du sujet à étudier,", "type": "id" } + }, + "output": { + "type": { "description": "Type de graphique", "type": "text" }, + "title": { "description": "Titre du graphique", "type": "text" }, + "pointFormat": { "description": "Format des labels des graphiques", "type": "text" }, + "series": { "description": "Séries de données et paramètres", "type": "array>" } } }, @@ -142,6 +181,15 @@ "permissions": ["admin"], "parameters": { "subject": { "description": "Identifiant du sujet à étudier,", "type": "id" } + }, + "output": { + "type": { "description": "Type de graphique", "type": "text" }, + "title": { "description": "Titre du graphique", "type": "text" }, + "xlabels": { "description": "Labels des abscisses", "type": "array" }, + "zoom": { "description": "Paramètres du zoom", "type": "varchar(1,1)" }, + "pointFormat": { "description": "Format des labels des graphiques", "type": "text" }, + "ytitle": { "description": "Titre des ordonnées", "type": "text" }, + "series": { "description": "Séries de données et paramètres", "type": "array>" } } }, @@ -150,6 +198,14 @@ "permissions": ["admin"], "parameters": { "subject": { "description": "Identifiant du sujet à étudier,", "type": "id" } + }, + "output": { + "type": { "description": "Type de graphique", "type": "text" }, + "title": { "description": "Titre du graphique", "type": "text" }, + "xlabels": { "description": "Labels des abscisses", "type": "array" }, + "ytitle": { "description": "Titre des ordonnées", "type": "text" }, + "pointFormat": { "description": "Format des labels des graphiques", "type": "text" }, + "series": { "description": "Séries de données et paramètres", "type": "array>" } } }, @@ -158,6 +214,14 @@ "permissions": ["admin"], "parameters": { "subject": { "description": "Identifiant du sujet à étudier,", "type": "id" } + }, + "output": { + "type": { "description": "Type de graphique", "type": "text" }, + "title": { "description": "Titre du graphique", "type": "text" }, + "xlabels": { "description": "Labels des abscisses", "type": "array" }, + "ytitle": { "description": "Titre des ordonnées", "type": "text" }, + "pointFormat": { "description": "Format des labels des graphiques", "type": "text" }, + "series": { "description": "Séries de données et paramètres", "type": "array>" } } }, @@ -166,6 +230,14 @@ "permissions": ["admin"], "parameters": { "subject": { "description": "Identifiant du sujet à étudier,", "type": "id" } + }, + "output": { + "type": { "description": "Type de graphique", "type": "text" }, + "title": { "description": "Titre du graphique", "type": "text" }, + "xaxis": { "description": "Paramètres des abscisses", "type": "array" }, + "ytitle": { "description": "Titre des ordonnées", "type": "text" }, + "zoom": { "description": "Paramètres du zoom", "type": "varchar(1,1)" }, + "series": { "description": "Séries de données et paramètres", "type": "array>" } } }, @@ -174,6 +246,13 @@ "permissions": ["admin"], "parameters": { "subject": { "description": "Identifiant du sujet à étudier,", "type": "id" } + }, + "output": { + "type": { "description": "Type de graphique", "type": "text" }, + "title": { "description": "Titre du graphique", "type": "text" }, + "xlabels": { "description": "Labels des abscisses", "type": "array" }, + "zoom": { "description": "Paramètres du zoom", "type": "varchar(1,1)" }, + "series": { "description": "Séries de données et paramètres", "type": "array>" } } }, @@ -182,6 +261,10 @@ "permissions": ["admin"], "parameters": { "subject": { "description": "Identifiant du sujet à étudier,", "type": "id" } + }, + "output": { + "nodes": { "description": "Liste des noeuds du graphe (contacts)", "type": "array>" }, + "edges": { "description": "Liste des liens du graphe", "type": "array" } } } }, diff --git a/index.php b/index.php index a95fd44..bf5cc67 100755 --- a/index.php +++ b/index.php @@ -103,7 +103,7 @@ $answer = $request->dispatch(); // Si c'est une réponse - if( $answer instanceof ModuleResponse ) + if( !is_bool($answer) ) echo $answer->serialize(); }); diff --git a/manager/Database.php b/manager/Database.php index 995ecdf..072d60e 100755 --- a/manager/Database.php +++ b/manager/Database.php @@ -229,6 +229,11 @@ /* [n] Sinon, tous les autres types definis =========================================================*/ switch($type){ + // Quoi que ce soit + case 'mixed': + return $checker && !is_null($value); + break; + // Entier positif (id dans BDD) case 'id': return $checker && is_numeric($value) && $value <= 2147483647 && $value >= 0; diff --git a/manager/module/chart.php b/manager/module/chart.php index d01e144..ca7e2ac 100755 --- a/manager/module/chart.php +++ b/manager/module/chart.php @@ -441,9 +441,9 @@ return array( 'ModuleError' => ManagerError::Success, 'type' => 'bar', - 'ytitle' => "apparitition (%)", - 'xlabels' => $labels, 'title' => 'Répartition des relations', + 'xlabels' => $labels, + 'ytitle' => "apparitition (%)", 'pointFormat' => '{series.name}: {point.y:.1f}%', 'series' => array( array( // En fonction du log @@ -525,9 +525,9 @@ return array( 'ModuleError' => ManagerError::Success, 'type' => 'column', - 'ytitle' => "apparititions", - 'xlabels' => $labels, 'title' => 'Répartition dans la semaine', + 'xlabels' => $labels, + 'ytitle' => "apparititions", 'pointFormat' => '{series.name}: {point.y}
Total: {point.stackTotal}', 'series' => array( array( // En fonction des appels @@ -615,9 +615,9 @@ return array( 'ModuleError' => ManagerError::Success, 'type' => 'column', + 'title' => 'Répartition dans la journée', 'xlabels' => $labels, 'zoom' => 'x', - 'title' => 'Répartition dans la journée', 'series' => array( array( // En fonction des appels 'name' => 'communications', @@ -722,10 +722,10 @@ return array( 'ModuleError' => ManagerError::Success, 'type' => 'spline', + 'title' => 'Durée des appels', 'xaxis' => array( 'type' => 'datetime', 'labels' => array('format' => '{value:%X}') ), 'ytitle' => 'appels', 'zoom' => 'x', - 'title' => 'Durée des appels', 'series' => array( array( // En fonction des appels 'name' => 'communications', diff --git a/manager/module/module.php b/manager/module/module.php index ae9e9b5..d9e9af0 100644 --- a/manager/module/module.php +++ b/manager/module/module.php @@ -115,12 +115,34 @@ /* [3] Pour chaque méthode =========================================================*/ foreach($methods as $methName=>$method){ + + /* (1) Description */ $content .= "### $methName [POST /$module/$methName]\n\n"; $content .= $method['description']."\n"; if( count($method['permissions']) > 0) - $content .= '> Permissions `'.implode('`', $method['permissions'])."`\n\n"; + $content .= '> Permissions `'.implode('``', $method['permissions'])."`\n\n"; + /* (2) Requête */ + $content .= "+ Request (multipart/form-data)\n\n"; + $content .= " + Headers\n\n"; + $content.= " Authorization: Digest {yourAccessToken}\n\n"; + + if( isset($method['arguments'])){ + $content .= " + Attributes\n\n"; + + foreach($method['arguments'] as $argName=>$argument) + $content .= " $argName: (${argument['type']}) - ${argument['description']}\n"; + + } + + + /* (3) Réponse */ + $content .= "+ Response 200 (application/json)\n\n"; + $content .= " + Body\n\n"; + $content .= " {\n"; + $content .= " ".'"result": 4'."\n"; + $content .= " }\n\n\n"; }