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.",
|
||||
"permissions": [],
|
||||
"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": {
|
||||
"description": "Enregistre les données d'une enquête téléphonique.",
|
||||
"permissions": [],
|
||||
"permissions": ["admin"],
|
||||
"parameters": {
|
||||
"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" },
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
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),
|
||||
-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)}};
|
||||
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})};
|
||||
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
|
||||
|
||||
/* 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) );
|
||||
|
||||
/* si success de requête */
|
||||
|
|
|
@ -247,7 +247,7 @@
|
|||
break;
|
||||
|
||||
// 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);
|
||||
break;
|
||||
|
||||
|
|
|
@ -139,7 +139,7 @@
|
|||
// On rajoute l'erreur au message
|
||||
$returnData = array_merge(
|
||||
array(
|
||||
'ModuleError' => $this->error,
|
||||
'ModuleError' => $this->error,
|
||||
'ErrorDescription' => ManagerError::explicit($this->error)
|
||||
),
|
||||
$this->data
|
||||
|
|
|
@ -25,9 +25,6 @@
|
|||
extract($params);
|
||||
|
||||
|
||||
return array('ModulError' => 100);
|
||||
|
||||
|
||||
/* [1] On crée le sujet de l'enquête
|
||||
=========================================================*/
|
||||
/* (1) On rédige la requête */
|
||||
|
@ -35,7 +32,6 @@
|
|||
'username' => $subject['username'],
|
||||
'firstname' => $subject['firstname'],
|
||||
'lastname' => $subject['lastname'],
|
||||
'id_facebook' => null,
|
||||
'number' => $subject['number']
|
||||
));
|
||||
|
||||
|
|
|
@ -90,77 +90,58 @@
|
|||
$checkInput = $checkInput && Database::check('varchar(0,30)', $lastname);
|
||||
$checkInput = $checkInput && !!strlen($username.$firstname.$lastname); // Pseudo, prénom, ou nom, au moins un n'est pas vide
|
||||
$checkInput = $checkInput && ( Database::check('id', $id_facebook) || is_null($id_facebook) );
|
||||
$checkInput = $checkInput && ( Database::check('number', $number) || is_null($number) );
|
||||
$checkInput = $checkInput && ( Database::check('number', $number) || is_null($number) );
|
||||
|
||||
// Si erreur en entree, on retourne FAUX
|
||||
if( !$checkInput ) return false;
|
||||
|
||||
/* [1] On écrit la requête
|
||||
=========================================================*/
|
||||
$request_create = 'INSERT INTO sujets(idSujet, pseudo, nom, prenom, id_facebook, telephone) ';
|
||||
$request_create .= 'VALUES (';
|
||||
$request_create .= 'DEFAULT, '; // idPersone
|
||||
$request_create .= strlen($username) ? ':pseudo, ' : 'NULL, '; // pseudo
|
||||
$request_create .= strlen($lastname) ? ':nom, ' : 'NULL, '; // nom
|
||||
$request_create .= strlen($firstname) ? ':prenom, ' : 'NULL, '; // prenom
|
||||
$request_create .= !is_null($id_facebook) ? ':id_facebook, ' : 'NULL, '; // Id facebook
|
||||
$request_create .= !is_null($number) ? ':number, ' : 'NULL, '; // Numéro de tél
|
||||
$request_create .= ')';
|
||||
$request_create_string = 'INSERT INTO sujets(idSujet, pseudo, nom, prenom, id_facebook, telephone) ';
|
||||
$request_create_string .= 'VALUES (';
|
||||
$request_create_string .= 'DEFAULT, '; // idPersone
|
||||
$request_create_string .= strlen($username) ? ':pseudo, ' : 'NULL, '; // pseudo
|
||||
$request_create_string .= strlen($lastname) ? ':nom, ' : 'NULL, '; // nom
|
||||
$request_create_string .= strlen($firstname) ? ':prenom, ' : 'NULL, '; // prenom
|
||||
$request_create_string .= !is_null($id_facebook) ? ':id_facebook, ' : 'NULL, '; // Id facebook
|
||||
$request_create_string .= !is_null($number) ? ':number, ' : 'NULL, '; // Numéro de tél
|
||||
// On retire la dernière virgule
|
||||
$request_create_string = preg_replace('/, ?$/', '', $request_create_string);
|
||||
$request_create_string .= ')';
|
||||
|
||||
/* (1) Si id_facebook NULL */
|
||||
if( $reference == null ){
|
||||
// On crée la requête
|
||||
$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 */
|
||||
}else{
|
||||
/* [2] On exécute la requête avec les valeurs
|
||||
=========================================================*/
|
||||
/* (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)
|
||||
VALUES(DEFAULT, :login, :password, :mail, :reference, :permission)");
|
||||
$create->execute(array(
|
||||
':login' => $login,
|
||||
':password' => $password,
|
||||
':mail' => $mail,
|
||||
':reference' => (int) $reference,
|
||||
':permission' => $permission
|
||||
));
|
||||
/* (2) On exécute la requête avec leurs variables utiles uniquement */
|
||||
$status_created = $request_create->execute($variables);
|
||||
|
||||
}
|
||||
|
||||
/* [3] Verification de la creation + recuperation id
|
||||
=========================================================*/
|
||||
$checkCreate = Database::getPDO()->prepare("SELECT id_subject
|
||||
FROM subjects
|
||||
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
|
||||
));
|
||||
// Si erreur de création
|
||||
if( $status_created === false ) return false;
|
||||
|
||||
|
||||
// On recupere l'id du sujet
|
||||
$id_subject = $checkCreate->fetch();
|
||||
$id_subject = Database::getPDO()->lastInsertId();
|
||||
|
||||
// Si erreur, on retourne FALSE
|
||||
if( $id_subject === false ) return false;
|
||||
if( $id_subject == null ) return false;
|
||||
|
||||
/* [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