Gestion côté server du formulaire input/phone avec les données des matrices, pb de duplication des catégories en BDD
This commit is contained in:
parent
08a4e6c595
commit
d514c290df
|
@ -108,15 +108,39 @@
|
|||
|
||||
/* (2) Relation de type _SMS_ */
|
||||
if( in_array('SMS', $relations) ){
|
||||
$call_rel_request = new Repo('subject/link', array( $subject_id, $closest_id[$contact], '_SMS_' ));
|
||||
$sms_rel_request = new Repo('subject/link', array( $subject_id, $closest_id[$contact], '_SMS_' ));
|
||||
|
||||
$call_rel_response = $call_rel_request->answer();
|
||||
$sms_rel_response = $sms_rel_request->answer();
|
||||
|
||||
// Si erreur de création de relation
|
||||
if( $call_rel_response === false )
|
||||
if( $sms_rel_response === false )
|
||||
return array( 'ModuleError' => ManagerError::ModuleError );
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
/* [5] Ajout des relations de la matrice
|
||||
=========================================================*/
|
||||
// Pour chacun des top 10*2 plus proches
|
||||
foreach($closest as $A=>$rels){
|
||||
|
||||
// Pour chaque relation avec le contact actuel (s'il y en a)
|
||||
if( isset($matrice[$A]) && is_array($matrice[$A]) ){
|
||||
foreach($matrice[$A] as $B){
|
||||
$relation_request = new Repo('subject/link', array( $A, $B, null ));
|
||||
|
||||
$relation_response = $relation_request->answer();
|
||||
|
||||
// Si erreur de création de relation
|
||||
return array( 'ModuleError' => $relation_response );
|
||||
if( $relation_response === false )
|
||||
return array( 'ModuleError' => ManagerError::ModuleError );
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -192,20 +192,22 @@
|
|||
=========================================================*/
|
||||
$checkInput = Database::check('id', $A);
|
||||
$checkInput = $checkInput && Database::check('id', $B);
|
||||
$checkInput = $checkInput && Database::check('varchar(3,40)', $category);
|
||||
$checkInput = $checkInput && ( Database::check('varchar(0,40)', $category) || is_null($category) );
|
||||
|
||||
// Si erreur de type de paramètre, on retourne FALSE
|
||||
if( !$checkInput )
|
||||
return false;
|
||||
|
||||
$nullCat = is_null($category);
|
||||
|
||||
/* [1] On vérifie l'existence de la catégorie
|
||||
=========================================================*/
|
||||
$category_exists_req = Database::getPDO()->prepare("SELECT idCategorie as id
|
||||
FROM categories
|
||||
WHERE intitule = :category
|
||||
");
|
||||
$cat_ex_status = $category_exists_req->execute( array( ':category' => $category ) );
|
||||
WHERE intitule ".
|
||||
( $nullCat ? "is NULL" : "= :category" )
|
||||
);
|
||||
$cat_ex_status = $category_exists_req->execute( ($nullCat) ? null : array( ':category' => $category ) );
|
||||
|
||||
// Si erreur de requête -> FALSE
|
||||
if( $cat_ex_status === false )
|
||||
|
@ -220,8 +222,10 @@
|
|||
if( $category_id === null ){
|
||||
|
||||
$create_category_req = Database::getPDO()->prepare("INSERT INTO categories(idCategorie, intitule)
|
||||
VALUES(DEFAULT, :category)");
|
||||
$create_cat_status = $create_category_req->execute( array( ':category' => $category ) );
|
||||
VALUES(DEFAULT, ".
|
||||
( $nullCat ? "NULL" : ":category" )
|
||||
.")");
|
||||
$create_cat_status = $create_category_req->execute( ($nullCat) ? null : array( ':category' => $category ) );
|
||||
|
||||
// Si erreur de requête -> FALSE
|
||||
if( $create_cat_status === false )
|
||||
|
@ -230,8 +234,10 @@
|
|||
// On récupère l'id de la catégorie
|
||||
$get_category_id = Database::getPDO()->prepare("SELECT idCategorie as id
|
||||
FROM categories
|
||||
WHERE intitule = :category");
|
||||
$get_cat_status = $get_category_id->execute( array( ':category' => $category ) );
|
||||
WHERE intitule ".
|
||||
( $nullCat ? "is NULL" : "= :category" )
|
||||
);
|
||||
$get_cat_status = $get_category_id->execute( ($nullCat) ? null : array( ':category' => $category ) );
|
||||
|
||||
// Si erreur de requête -> FALSE
|
||||
if( $get_cat_status === false )
|
||||
|
@ -257,6 +263,8 @@
|
|||
':category' => $category_id
|
||||
));
|
||||
|
||||
return $B;
|
||||
|
||||
// Si erreur de requête -> FALSE
|
||||
if( $create_rel_status === false )
|
||||
return false;
|
||||
|
@ -285,7 +293,6 @@
|
|||
if( $check_relation->fetch() === false )
|
||||
return false;
|
||||
|
||||
|
||||
// Si tout s'est bien passé, on retourne TRUE
|
||||
return true;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue