194 lines
6.6 KiB
PHP
Executable File
194 lines
6.6 KiB
PHP
Executable File
<?php
|
|
// -----------------------------------------------------
|
|
// Nom de la table
|
|
// -----------------------------------------------------
|
|
$catable = "catype" . $idCaPers;
|
|
|
|
// -----------------------------------------------------
|
|
// Requete CaPers
|
|
// if (!empty($tagLib)) $tagLib=addslashes($tagLib);
|
|
// if (!empty($code1)) $code1=addslashes($code1);
|
|
// if (!empty($code2)) $code2=addslashes($code2);
|
|
// if (!empty($code3)) $code3=addslashes($code3);
|
|
// if (!empty($imageCA)) $imageCA=addslashes($imageCA);
|
|
|
|
// if (!empty($tagLib)) $tagLib = $idPdo->quote($tagLib);
|
|
// if (!empty($code1)) $code1 = $idPdo->quote($code1);
|
|
// if (!empty($code2)) $code2 = $idPdo->quote($code2);
|
|
// if (!empty($code3)) $code3 = $idPdo->quote($code3);
|
|
// if (!empty($imageCA)) $imageCA = $idPdo->quote($imageCA);
|
|
|
|
require_once ("../_include/_fonctions/fonctions.gene.php");
|
|
include_once ($includePathAdmin. "/_fonctions/gTranslate.php");
|
|
$prixHT=(float)$prixHT;
|
|
$prixHT=formatNB($prixHT,'MYSQL');
|
|
$prixTTC=(float)$prixTTC;
|
|
$prixTTC=formatNB($prixTTC,'MYSQL');
|
|
|
|
// -----------------------------------------------------
|
|
// Mise à jour du libellé pour chaque Langue
|
|
// -----------------------------------------------------
|
|
if ($tagLib != '' && $tagLib != '-' && $upTagLib=='taglib') {
|
|
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'] ], 'reqUpdateLibDyn_propager.php');}
|
|
|
|
if ($tableLangueCode[$i] != $_SESSION['lgCouranteCode']) {
|
|
$tagLib= gTranslate($tagLib, strtolower( substr ($tableLangueCode[$i], 0, -1) ) );
|
|
if (isset($debug[2]) && $debug[2] == '1' ) { $debugMsg .= monDebug (1,['tagLib translated' => $tagLib],''); }
|
|
}
|
|
|
|
try {
|
|
// Préparer la requête SQL avec des paramètres liés pour plus de sécurité
|
|
$reqUpdate = "UPDATE `" .$catable. "` SET nom = :tagLib WHERE idLg = :lg AND id = :idLib";
|
|
|
|
// Préparer la requête avec PDO
|
|
$stmt = $idPdo->prepare($reqUpdate);
|
|
|
|
// Lier les paramètres
|
|
$stmt->bindParam(':tagLib', $tagLib, PDO::PARAM_STR);
|
|
$stmt->bindParam(':lg', $tableLangueCode[$i], PDO::PARAM_STR);
|
|
$stmt->bindParam(':idLib', $idLib, PDO::PARAM_INT);
|
|
|
|
// Debug: afficher la requête exécutée
|
|
if (isset($debug[2]) && $debug[2] == '1') {
|
|
$reqDebug = str_replace(
|
|
[':tagLib', ':lg', ':idLib'],
|
|
[
|
|
$idPdo->quote($tagLib),
|
|
$idPdo->quote($lg),
|
|
(int)$idLib
|
|
],
|
|
$reqUpdate
|
|
);
|
|
$debugMsg .= monDebug(2, ['reqUpdate' => $reqDebug], 'reqUpdateCaPers.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';
|
|
$admMsgClass = 'ok';
|
|
}
|
|
else {
|
|
// Si aucune ligne n'a été modifiée => on fait rien
|
|
// /$admMsg .= 'Aucune mise à jour effectuée, vérifiez vos données.';
|
|
// $admMsgClass = 'ko';
|
|
//$erreurSQL=1;
|
|
}
|
|
}
|
|
catch (PDOException $e) {
|
|
// Gestion des exceptions : en cas d'erreur PDO, on capture l'exception
|
|
if (isset($debug[2]) && $debug[2] == '1') { $debugMsg .= monDebug(2, ['Erreur lors de la mise à jour du libellé :' => $e->getMessage()], '');}
|
|
$admMsgClass = 'ko';
|
|
$erreurSQL=1;
|
|
// Debug: afficher la requête exécutée
|
|
if (isset($debug[2]) && $debug[2] == '1') {
|
|
$debugMsg .= monDebug (2, ['reqUpdate' => $reqUpdate], basename(__FILE__));
|
|
}
|
|
}
|
|
}//for
|
|
}
|
|
|
|
|
|
// -----------------------------------------------------
|
|
// Mise à jour des autres champs
|
|
// -----------------------------------------------------
|
|
$updateFields = [];
|
|
|
|
// Ajouter les champs à mettre à jour seulement s'ils sont définis
|
|
if ($tagOrdre !== '') {
|
|
$updateFields['ordre'] = $tagOrdre;
|
|
}
|
|
if ($code1 !== '') {
|
|
$updateFields['code1'] = $code1;
|
|
}
|
|
if ($code2 !== '') {
|
|
$updateFields['code2'] = $code2;
|
|
}
|
|
if ($code3 !== '') {
|
|
$updateFields['code3'] = $code3;
|
|
}
|
|
if ($prixHT !== '') {
|
|
$updateFields['prixHT'] = $prixHT;
|
|
}
|
|
if ($prixTTC !== '') {
|
|
$updateFields['prixTTC'] = $prixTTC;
|
|
}
|
|
if ($imageCA !== '') {
|
|
$updateFields['imageCA'] = $imageCA;
|
|
}
|
|
if ($idTVA !== '' && $idTVA !== 'undefined') {
|
|
$updateFields['tvaTaux'] = $idTVA;
|
|
}
|
|
|
|
// Vérifier s'il y a des champs à mettre à jour
|
|
if (!empty($updateFields)) {
|
|
// Construction dynamique de la requête
|
|
$setClause = [];
|
|
foreach ($updateFields as $field => $value) {
|
|
$setClause[] = "`$field` = :$field";
|
|
}
|
|
$setClauseStr = implode(', ', $setClause);
|
|
|
|
// Préparer la requête SQL avec des paramètres liés pour plus de sécurité
|
|
$reqUpdate = "UPDATE `" . $catable . "` SET " . $setClauseStr . " WHERE id = :idLib ;";
|
|
|
|
// Debug : afficher la requête SQL réelle (debug only)
|
|
if (isset($debug[2]) && $debug[2] == '1') {
|
|
$reqDebug = $reqUpdate;
|
|
// Remplacement des champs dynamiques
|
|
foreach ($updateFields as $field => $value) {
|
|
if ($value === null) {
|
|
$val = 'NULL';
|
|
} elseif (is_numeric($value)) {
|
|
$val = $value;
|
|
} else {
|
|
$val = $idPdo->quote($value);
|
|
}
|
|
$reqDebug = str_replace(":$field", $val, $reqDebug);
|
|
}
|
|
// Remplacement de l'ID
|
|
$reqDebug = str_replace(':idLib', (int)$idLib, $reqDebug);
|
|
// $reqDebug = str_replace(':lg', $idPdo->quote($lg), $reqDebug);
|
|
$debugMsg .= monDebug(
|
|
2,
|
|
['reqUpdate' => $reqDebug],
|
|
'reqUpdateCaPers.php'
|
|
);
|
|
}
|
|
|
|
try {
|
|
// Préparer la requête avec PDO
|
|
$stmt = $idPdo->prepare($reqUpdate);
|
|
|
|
// Lier les paramètres
|
|
foreach ($updateFields as $field => $value) {
|
|
$stmt->bindValue(":$field", $value);
|
|
}
|
|
$stmt->bindValue(':idLib', $idLib, PDO::PARAM_INT);
|
|
// $stmt->bindParam(':lg', $lg, PDO::PARAM_STR);
|
|
|
|
// Exécuter la requête
|
|
if ($stmt->execute()) {
|
|
$admMsg .='Mise à jour de la valeur effectuée avec succès' ;
|
|
$admMsgClass = 'ok';
|
|
} else {
|
|
$admMsg .='Echec de la mise à jour de la valeur';
|
|
$admMsgClass = 'ko';
|
|
$erreurSQL = 1;
|
|
}
|
|
|
|
} catch (PDOException $e) {
|
|
// En cas d'exception, afficher l'erreur
|
|
if (isset($debug[2]) && $debug[2] == '1') { $debugMsg .= monDebug(2, ['Erreur lors de la mise à jour :' => $e->getMessage()], '');}
|
|
$admMsgClass = 'ko';
|
|
$erreurSQL = 1;
|
|
}
|
|
}
|
|
|
|
|
|
?>
|