alpha_full/admin/catalog/req/reqUpdateSousCat.php
2026-04-06 22:58:51 +02:00

152 lines
5.9 KiB
PHP
Executable File

<?php
if (isset($idCat) && $idCat!='' ) {
// -----------------------------------------------------
// Requete sous catégorie desccription ou image
// -----------------------------------------------------
$trouve=false;
$reqUpdate="UPDATE `categories` SET ";
if (isset($descSousCat) && $descSousCat!='') {
$descSousCat=($descSousCat);
$reqUpdate .= "description=:descSousCat, ";
$trouve=true;
}
if (isset($imgSousCat) && $imgSousCat!='') {
$reqUpdate .= "lienImageWeb=:imgSousCat, ";
$trouve=true;
}
if ($trouve===true) {
// la derniere sequence à tjrs une virgule et espace, on l'enleve
$rest = strlen($reqUpdate)-2;
$reqUpdate=substr($reqUpdate,0,$rest);
$reqUpdate .= " WHERE idCat=" .$idCat. ";";
// Préparer la requête avec PDO
$stmt = $idPdo->prepare($reqUpdate);
// Lier les paramètres
if (isset($descSousCat) && $descSousCat!='') $stmt->bindParam(':descSousCat', $descSousCat, PDO::PARAM_STR);
if (isset($imgSousCat) && $imgSousCat!='') $stmt->bindParam(':imgSousCat', $imgSousCat, PDO::PARAM_STR);
// Debug: afficher la requête exécutée
if (isset($debug[2]) && $debug[2] == '1') {
$reqDebug = str_replace(
[':descSousCat', ':imgSousCat'],
[$idPdo->quote($descSousCat), $idPdo->quote($imgSousCat)],
$reqUpdate
);
$debugMsg .= monDebug(2, ['reqUpdate debug' => $reqDebug], 'reqUpdateSousCat.php');
}
// Exécuter la requête
$stmt->execute();
// Vérifier si la requête a été exécutée avec succès
if ($stmt->rowCount() > 0) {
// Si des lignes ont été mises à jour, succès
$admMsg .= '<br>Mise à jour de la description ou l\'image pour la sous-catégorie n° '.$idCat.' effectuée avec succès' ;
$admMsgClass = 'ok';
}
}
// else {
// $admMsg .= "Vous n`avez rien modifié"; $admMsgClass='ko';
// }
// -----------------------------------------------------
// Requête libelle avec traduction ou seule
// -----------------------------------------------------
if (!empty($sousCatNom)) {
if($traduireSousCat==1) {
include_once ($includePathAdmin. "/_fonctions/gTranslate.php");
for ($i=0; $i<($_SESSION['nbLgActives']); $i++) {
if (isset($debug[2]) && $debug[2] == '1') { $debugMsg .= monDebug(2, ['$tableLangueCode[' => $i, ']' => $tableLangueCode[$i],'$_SESSION[lgCouranteCode]' => $_SESSION['lgCouranteCode'], 'code langue pour google =' => $tableLangueCode[$i] ], '');}
//pas besoin de traduire le libellé saisi
if ($tableLangueCode[$i] != $_SESSION['lgCouranteCode'] && $sousCatNom!='-') {
$sousCatNom= gTranslate($sousCatNom, strtolower( substr ($tableLangueCode[$i], 0, -1) ) );
if (isset($debug[2]) && $debug[2] == '1' ) { $debugMsg .= monDebug (1,['sousCatNom translated' => $sousCatNom],''); }
}
try {
// Préparer la requête SQL avec des paramètres liés pour plus de sécurité
$reqUpdate = "UPDATE `categorieslibelle` SET libelleCat=:sousCatNom WHERE idLg=:lg AND idCat=:idCat;";
// Préparer la requête avec PDO
$stmt = $idPdo->prepare($reqUpdate);
// Lier les paramètres
$stmt->bindParam(':sousCatNom', $sousCatNom, PDO::PARAM_STR);
$stmt->bindParam(':lg', $tableLangueCode[$i], PDO::PARAM_STR);
$stmt->bindParam(':idCat', $idCat, PDO::PARAM_INT);
// Debug: afficher la requête exécutée
if (isset($debug[2]) && $debug[2] == '1') {
$reqDebug = str_replace(
[':sousCatNom', ':lg', ':idCat'],
[$idPdo->quote($sousCatNom), $idPdo->quote($lg), $idCat],
$reqUpdate
);
$debugMsg .= monDebug(2, ['reqUpdate debug' => $reqDebug], 'reqUpdateSousCat.php');
}
// Exécuter la requête
$stmt->execute();
// Vérifier si la requête a été exécutée avec succès
if ($stmt->rowCount() > 0) {
// Si des lignes ont été mises à jour, succès
$admMsg .= '<br>Mise à jour du libellé '.$tableLangueMsg[$i].' effectuée avec succès : <b>'. $sousCatNom. '</b> pour la sous-catégorie n° '.$idCat;
$admMsgClass = 'ok';
}
}
catch (Exception $e) {
if (isset($debug[2]) && $debug[2] == '1') { $debugMsg .= monDebug(2, ['Exception:' => $e->getMessage(),'N° :' => $idPdo->errorInfo()[1]], '');}
$admMsgClass='ko';
$erreurSQL=1;
}
}
}
else {
$reqUpdate = "UPDATE `categorieslibelle` SET libelleCat=:sousCatNom WHERE idLg=:lg AND idCat=:idCat;";
// Préparer la requête avec PDO
$stmt = $idPdo->prepare($reqUpdate);
// Lier les paramètres
$stmt->bindParam(':sousCatNom', $sousCatNom, PDO::PARAM_STR);
$stmt->bindParam(':lg', $tableLangueCode[$i], PDO::PARAM_STR);
$stmt->bindParam(':idCat', $idCat, PDO::PARAM_INT);
// Debug: afficher la requête exécutée
if (isset($debug[2]) && $debug[2] == '1') {
$reqDebug = str_replace(
[':sousCatNom', ':lg', ':idCat'],
[$idPdo->quote($sousCatNom), $idPdo->quote($lg), $idCat],
$reqUpdate
);
$debugMsg .= monDebug(2, ['reqUpdate debug' => $reqDebug], 'reqUpdateSousCat.php');
}
// Exécuter la requête
$stmt->execute();
// Vérifier si la requête a été exécutée avec succès
if ($stmt->rowCount() > 0) {
// Si des lignes ont été mises à jour, succès
$admMsg .= '<br>Mise à jour du libellé effectuée avec succès : <b>'. $sousCatNom. '</b> pour la sous-catégorie n° '.$idCat;
$admMsgClass = 'ok';
}
else {
$admMsg .= '<br>Echec de la mise à jour du libellé : <b>'. $sousCatNom. '</b> pour la sous-catégorie n° '.$idCat;
$admMsgClass = 'ko';
}
}
}
}
else {
if (isset($debug[2]) && $debug[2] == '1' ) { $debugMsg .= monDebug(2, ['⚠️ catégorie est vide ou non défini' => ''], '');}
$admMsgClass='ko';
$erreurSQL=1;
}
?>