FrameBeurk File
Fmbk/Module/Beurk/Clef/Maj/utiliseClef.php
<?php //FrameBeurk V0.65 Copyright ToolOscope 2016. Licence CeCILL-C.
// cette action est appelée (include) en étape préliminaire de controleurVue ou de controleurMaj lorsqu'un jeton-clef est fourni
include_once(INSTALL_PATH . '/Module/Beurk/fonctionsBeurkMaj.php');
$JetonClef = $GLOBALS[$NomJeton = 'Jeton' . $TRANSAC['Etape']]; // étape = 'Maj' ou 'Vue'
// vérification format de la clef
$message = false;
if (! preg_match ('#^[a-zA-Z0-9]+$#', $JetonClef)) {
$message = Beurk_message('Clef invalide', 'Beurk');
} else {
$result = db_QUERY("SELECT IdClef, adresseEmail, IdMaj, IdActMaj, NbrUtilisations, Donnees, IdEtat, NoVersion FROM Beurk_Clef WHERE Clef = '" . Beurk_Request2DB($JetonClef) . "'");
if (list($IdClef, $adresseEmail, $IdMajClef, $IdActMajClef, $NbrUtilisationsClef, $DonneesClef, $IdEtatClef, $NoVersionClef) = db_FETCH_ROW($result)) {
if ($IdEtatClef == Beurk_id('V')) {
// mise à jour de la clef
$GLOBALS['ActMaj'] = 'utilise'; // utilisés par Beurk_modifieEntite
$GLOBALS['IdMaj'] = $IdClef;
$NbrUtilisationsClef += 1;
$requete = array('UPDATE' => 'Beurk_Clef',
'SET' => array('NbrUtilisations' => $NbrUtilisationsClef),
'WHERE' => "IdClef = '$IdClef'");
Beurk_modifieEntite($requete, '', $IdEtatClef, $NoVersionClef, $IdClef);
// OK -> instanciation en variables globales des champs de la clef
$GLOBALS['Act' . $TRANSAC['Etape']] = $IdActMajClef;
$GLOBALS['Id' . $TRANSAC['Etape']] = $IdMajClef;
// instanciation des autres champs à partir de $DonneesClef, à venir
//stockage des données de la clef
$TRANSAC[$NomJeton]['IdClef'] = $IdClef;
$TRANSAC[$NomJeton]['IdEtatClef'] = $IdEtatClef;
$TRANSAC[$NomJeton]['adresseEmail'] = $adresseEmail;
$TRANSAC[$NomJeton]['NbrUtilisationsClef'] = $NbrUtilisationsClef;
$TRANSAC[$NomJeton]['NoVersionClef'] = $NoVersionClef + 1;
$TRANSAC[$NomJeton]['DonneesClef'] = $DonneesClef; // inutilisé pour le moment
} else $message = Beurk_message('Clef périmée', 'Beurk');
} else $message = Beurk_message('Clef inconnue', 'Beurk');
db_FREE($result);
unset($IdClef, $NomJeton, $JetonClef, $IdMajClef, $IdActMajClef, $IdEtatClef, $NbrUtilisationsClef, $DonneesClef);
}
if ($message) {
if ($TRANSAC['Etape'] == 'Maj')
Beurk_messageEtape($message, true);
else
Beurk_messageEtape($message, true);
}
unset($message);