Implémentation de la création de sujet finie. + Création de sujet fonctionnelle depuis `input/phone`.
This commit is contained in:
parent
994e48da2e
commit
a231011372
|
@ -99,7 +99,7 @@
|
||||||
"description": "Recupere le contenu d'un fichier XML de journal d'appel s'il a été importé au préalable.",
|
"description": "Recupere le contenu d'un fichier XML de journal d'appel s'il a été importé au préalable.",
|
||||||
"permissions": [],
|
"permissions": [],
|
||||||
"parameters": {
|
"parameters": {
|
||||||
"phone_number": { "description": "Numéro de téléphone de l'interrogé.", "type": "phone_number" }
|
"phone_number": { "description": "Numéro de téléphone de l'interrogé.", "type": "number" }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -189,7 +189,7 @@
|
||||||
|
|
||||||
"phone": {
|
"phone": {
|
||||||
"description": "Enregistre les données d'une enquête téléphonique.",
|
"description": "Enregistre les données d'une enquête téléphonique.",
|
||||||
"permissions": [],
|
"permissions": ["admin"],
|
||||||
"parameters": {
|
"parameters": {
|
||||||
"subject": { "description": "Données sur le sujet de l'enquête.", "type": "json" },
|
"subject": { "description": "Données sur le sujet de l'enquête.", "type": "json" },
|
||||||
"contacts": { "description": "Données des contacts de l'enquête.", "type": "json" },
|
"contacts": { "description": "Données des contacts de l'enquête.", "type": "json" },
|
||||||
|
|
|
@ -1,3 +1,3 @@
|
||||||
function APIClass(b){this.target=b}
|
function APIClass(b){this.target=b}
|
||||||
APIClass.prototype={xhr:[],send:function(b,d,g){b.hasOwnProperty("path")||d({ModuleError:4});for(var a=0;a<this.xhr.length;a++)4==this.xhr[a].readyState&&(this.xhr=this.xhr.slice(0,a-1).concat(this.xhr.slice(a,this.xhr.length-1)));this.xhr.push(null);a=this.xhr.length-1;this.xhr[a]=window.XMLHttpRequest?new XMLHttpRequest:new ActiveXObject("Microsoft.XMLHttpRequest");console.log(b);var e=this;this.xhr[a].onreadystatechange=function(){if(4==e.xhr[a].readyState)if(console.log("http://host/api/ => "+e.xhr[a].responseText),
|
APIClass.prototype={xhr:[],send:function(b,d,g){b.hasOwnProperty("path")||d({ModuleError:4});for(var a=0;a<this.xhr.length;a++)4==this.xhr[a].readyState&&(this.xhr=this.xhr.slice(0,a-1).concat(this.xhr.slice(a,this.xhr.length-1)));this.xhr.push(null);a=this.xhr.length-1;this.xhr[a]=window.XMLHttpRequest?new XMLHttpRequest:new ActiveXObject("Microsoft.XMLHttpRequest");console.log(b);var e=this;this.xhr[a].onreadystatechange=function(){if(4==e.xhr[a].readyState)if(-1<[0,200].indexOf(e.xhr[a].status))try{d(JSON.parse(e.xhr[a].responseText))}catch(b){d({ModuleError:1})}else d({ModuleError:3})};
|
||||||
-1<[0,200].indexOf(e.xhr[a].status))try{d(JSON.parse(e.xhr[a].responseText))}catch(b){d({ModuleError:1})}else d({ModuleError:3})};var f=new FormData,c;for(c in b)"path"!=c?f.append(c,JSON.stringify(b[c])):f.append(c,b[c]);this.xhr[a].open("POST",this.target,!0);null!=g&&this.xhr[a].setRequestHeader("Authorization","Digest "+g);this.xhr[a].send(f)}};
|
var f=new FormData,c;for(c in b)"path"!=c?f.append(c,JSON.stringify(b[c])):f.append(c,b[c]);this.xhr[a].open("POST",this.target,!0);null!=g&&this.xhr[a].setRequestHeader("Authorization","Digest "+g);this.xhr[a].send(f)}};
|
||||||
|
|
|
@ -55,7 +55,7 @@ APIClass.prototype = {
|
||||||
if( ptrAPI.xhr[i].readyState == 4 ){ // si la requête est terminée
|
if( ptrAPI.xhr[i].readyState == 4 ){ // si la requête est terminée
|
||||||
|
|
||||||
/* DEBUG : affiche la réponse BRUTE de http://host/api/ */
|
/* DEBUG : affiche la réponse BRUTE de http://host/api/ */
|
||||||
console.log('http://host/api/ => '+ptrAPI.xhr[i].responseText);
|
// console.log('http://host/api/ => '+ptrAPI.xhr[i].responseText);
|
||||||
// console.log( JSON.parse(ptrAPI.xhr[i].responseText) );
|
// console.log( JSON.parse(ptrAPI.xhr[i].responseText) );
|
||||||
|
|
||||||
/* si success de requête */
|
/* si success de requête */
|
||||||
|
|
|
@ -247,7 +247,7 @@
|
||||||
break;
|
break;
|
||||||
|
|
||||||
// Numéro de téléphone
|
// Numéro de téléphone
|
||||||
case 'phone_number':
|
case 'number':
|
||||||
return $checker && is_string($value) && preg_match('/^(?:0|\+33 ?|0?0?33 ?|)([1-9] ?(?:[0-9] ?){8})$/i', $value);
|
return $checker && is_string($value) && preg_match('/^(?:0|\+33 ?|0?0?33 ?|)([1-9] ?(?:[0-9] ?){8})$/i', $value);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
|
@ -25,9 +25,6 @@
|
||||||
extract($params);
|
extract($params);
|
||||||
|
|
||||||
|
|
||||||
return array('ModulError' => 100);
|
|
||||||
|
|
||||||
|
|
||||||
/* [1] On crée le sujet de l'enquête
|
/* [1] On crée le sujet de l'enquête
|
||||||
=========================================================*/
|
=========================================================*/
|
||||||
/* (1) On rédige la requête */
|
/* (1) On rédige la requête */
|
||||||
|
@ -35,7 +32,6 @@
|
||||||
'username' => $subject['username'],
|
'username' => $subject['username'],
|
||||||
'firstname' => $subject['firstname'],
|
'firstname' => $subject['firstname'],
|
||||||
'lastname' => $subject['lastname'],
|
'lastname' => $subject['lastname'],
|
||||||
'id_facebook' => null,
|
|
||||||
'number' => $subject['number']
|
'number' => $subject['number']
|
||||||
));
|
));
|
||||||
|
|
||||||
|
|
|
@ -97,70 +97,51 @@
|
||||||
|
|
||||||
/* [1] On écrit la requête
|
/* [1] On écrit la requête
|
||||||
=========================================================*/
|
=========================================================*/
|
||||||
$request_create = 'INSERT INTO sujets(idSujet, pseudo, nom, prenom, id_facebook, telephone) ';
|
$request_create_string = 'INSERT INTO sujets(idSujet, pseudo, nom, prenom, id_facebook, telephone) ';
|
||||||
$request_create .= 'VALUES (';
|
$request_create_string .= 'VALUES (';
|
||||||
$request_create .= 'DEFAULT, '; // idPersone
|
$request_create_string .= 'DEFAULT, '; // idPersone
|
||||||
$request_create .= strlen($username) ? ':pseudo, ' : 'NULL, '; // pseudo
|
$request_create_string .= strlen($username) ? ':pseudo, ' : 'NULL, '; // pseudo
|
||||||
$request_create .= strlen($lastname) ? ':nom, ' : 'NULL, '; // nom
|
$request_create_string .= strlen($lastname) ? ':nom, ' : 'NULL, '; // nom
|
||||||
$request_create .= strlen($firstname) ? ':prenom, ' : 'NULL, '; // prenom
|
$request_create_string .= strlen($firstname) ? ':prenom, ' : 'NULL, '; // prenom
|
||||||
$request_create .= !is_null($id_facebook) ? ':id_facebook, ' : 'NULL, '; // Id facebook
|
$request_create_string .= !is_null($id_facebook) ? ':id_facebook, ' : 'NULL, '; // Id facebook
|
||||||
$request_create .= !is_null($number) ? ':number, ' : 'NULL, '; // Numéro de tél
|
$request_create_string .= !is_null($number) ? ':number, ' : 'NULL, '; // Numéro de tél
|
||||||
$request_create .= ')';
|
// On retire la dernière virgule
|
||||||
|
$request_create_string = preg_replace('/, ?$/', '', $request_create_string);
|
||||||
|
$request_create_string .= ')';
|
||||||
|
|
||||||
/* (1) Si id_facebook NULL */
|
// On crée la requête
|
||||||
if( $reference == null ){
|
$request_create = Database::getPDO()->prepare($request_create_string);
|
||||||
|
|
||||||
// TODO: Finir l'implémentation
|
|
||||||
$create = Database::getPDO()->prepare("INSERT INTO subjects(id_subject, login, password, mail, reference, permission)
|
|
||||||
VALUES(DEFAULT, :login, :password, :mail, NULL, :permission)");
|
|
||||||
$create->execute(array(
|
|
||||||
':login' => $login,
|
|
||||||
':password' => $password,
|
|
||||||
':mail' => $mail,
|
|
||||||
':permission' => $permission
|
|
||||||
));
|
|
||||||
|
|
||||||
/* (2) Si reference est defini */
|
/* [2] On exécute la requête avec les valeurs
|
||||||
}else{
|
=========================================================*/
|
||||||
|
/* (1) On ajoute les paramètres à ajouter */
|
||||||
|
$variables = array();
|
||||||
|
if( strlen($username) ) $variables[':pseudo'] = $username;
|
||||||
|
if( strlen($lastname) ) $variables[':nom'] = $lastname;
|
||||||
|
if( strlen($firstname) ) $variables[':prenom'] = $firstname;
|
||||||
|
if( !is_null($id_facebook) ) $variables[':id_facebook'] = $id_facebook;
|
||||||
|
if( !is_null($number) ) $variables[':number'] = $number;
|
||||||
|
|
||||||
$create = Database::getPDO()->prepare("INSERT INTO subjects(id_subject, login, password, mail, reference, permission)
|
/* (2) On exécute la requête avec leurs variables utiles uniquement */
|
||||||
VALUES(DEFAULT, :login, :password, :mail, :reference, :permission)");
|
$status_created = $request_create->execute($variables);
|
||||||
$create->execute(array(
|
|
||||||
':login' => $login,
|
|
||||||
':password' => $password,
|
|
||||||
':mail' => $mail,
|
|
||||||
':reference' => (int) $reference,
|
|
||||||
':permission' => $permission
|
|
||||||
));
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/* [3] Verification de la creation + recuperation id
|
/* [3] Verification de la creation + recuperation id
|
||||||
=========================================================*/
|
=========================================================*/
|
||||||
$checkCreate = Database::getPDO()->prepare("SELECT id_subject
|
// Si erreur de création
|
||||||
FROM subjects
|
if( $status_created === false ) return false;
|
||||||
WHERE login = :login
|
|
||||||
AND password = :password
|
|
||||||
AND mail = :mail
|
|
||||||
AND ( reference = :reference OR reference is NULL )
|
|
||||||
AND permission = :permission");
|
|
||||||
$checkCreate->execute(array(
|
|
||||||
':login' => $login,
|
|
||||||
':password' => $password,
|
|
||||||
':mail' => $mail,
|
|
||||||
':reference' => (int) $reference,
|
|
||||||
':permission' => $permission
|
|
||||||
));
|
|
||||||
|
|
||||||
// On recupere l'id du sujet
|
// On recupere l'id du sujet
|
||||||
$id_subject = $checkCreate->fetch();
|
$id_subject = Database::getPDO()->lastInsertId();
|
||||||
|
|
||||||
// Si erreur, on retourne FALSE
|
// Si erreur, on retourne FALSE
|
||||||
if( $id_subject === false ) return false;
|
if( $id_subject == null ) return false;
|
||||||
|
|
||||||
/* [4] Gestion du retour
|
/* [4] Gestion du retour
|
||||||
=========================================================*/
|
=========================================================*/
|
||||||
return $id_subject['id_subject'];
|
return $id_subject;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -309,7 +309,7 @@ include('/js/includes/input-phone-fiche.js', function(){
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}) }) }) });
|
}); }); }); });
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue