FrameBeurk File
Fmbk/Module/Dnlod/RessourceVersion/Maj/modifieRessourceVersion.php
<?php //FrameBeurk V0.65 Copyright ToolOscope 2016. Licence CeCILL-C.
if (! isset($_REQUEST["titre$IdMaj"]) || $_REQUEST["titre$IdMaj"] == '')
Beurk_messageEtape('Titre de la ressource obligatoire', true, 'Ressource');
elseif (! isset($_REQUEST["donnees$IdMaj"]) || $_REQUEST["donnees$IdMaj"] == '')
Beurk_messageEtape('Contenu obligatoire', true, 'donneesRessource');
else {
//si fichier uploadé
if (! empty($_FILES["fichier$IdMaj"])) {
if ($_FILES["fichier$IdMaj"]['error'] != 0)
Beurk_messageEtape('Erreur upload fichier ' . $_FILES["fichier$IdMaj"]['error'], true, 'fichierRessource');
else { // upload sans erreur
$importRessource = Beurk_Request2DB($_FILES["fichier$IdMaj"]['name']);
$typeMimeRessource = Beurk_Request2DB($_FILES["fichier$IdMaj"]['type']);
// $_FILES["fichier$IdMaj"]['size']
// type Mime du fichier non renvoyé par le browser : il doit être saisi par l'utilisateur
if ($typeMimeRessource == '') {
if (isset($_REQUEST["typeMime$IdMaj"]) && $_REQUEST["typeMime$IdMaj"] != '')
$typeMimeRessource = Beurk_Request2DB($_REQUEST["typeMime$IdMaj"]);
else
Beurk_messageEtape('Type Mime indéterminé', true, 'typeMimeRessource');
}
}
// fichier déjà sur le serveur : seulement le nom et le type mime renvoyés (non obligatoire : Si absent, on ne pourra pas demander la ressource)
} else {
$importRessource = (isset($_REQUEST["import$IdMaj"])) ? Beurk_Request2DB($_REQUEST["import$IdMaj"]) : '';
$typeMimeRessource = (isset($_REQUEST["typeMime$IdMaj"])) ? Beurk_Request2DB($_REQUEST["typeMime$IdMaj"]) : '';
}
if (! $TRANSAC['Maj']['Erreur']) { // controle du nom de fichier
if (basename($importRessource) !== $importRessource)
Beurk_messageEtape('Nom de fichier invalide', true, 'Ressource');
}
if (! $TRANSAC['Maj']['Erreur']) {
//lecture de la version à modifier
$result2 = db_QUERY("SELECT IdRessource, IdEtat, NoVersion FROM Dnlod_RessourceVersion WHERE IdRessourceVersion = '$IdMaj'");
if (list($IdRessource, $IdEtatRessourceVersion, $NoVersionCourante) = db_FETCH_ROW($result2)) {
$RessourceVersion = Beurk_Request2DB($_REQUEST["titre$IdMaj"]);
// Vérification version déjà existante dans cette ressource
$result1 = db_QUERY("SELECT IdRessourceVersion FROM Dnlod_RessourceVersion WHERE IdRessource = '$IdRessource' AND RessourceVersion = '$RessourceVersion' AND IdRessourceVersion <> '$IdMaj'");
if (list($IdRessourceVersion) = db_FETCH_ROW($result1))
Beurk_messageEtape('Version déjà existante', true, 'Ressource');
else {
// déplacement du fichier temporaire
if (! empty($_FILES["fichier$IdMaj"]))
if (! move_uploaded_file($_FILES["fichier$IdMaj"]['tmp_name'], INSTALL_PATH . $CONFIG['Defaut']['Upload'] . $IdRessource . '/' . $importRessource))
Beurk_messageEtape('Erreur déplacement fichier', true, 'fichierRessource');
if (! $TRANSAC['Maj']['Erreur']) {
// insertion de la nouvelle ressource
$requete = array('UPDATE' => 'Dnlod_RessourceVersion',
'SET' => array('RessourceVersion' => $RessourceVersion,
'Donnees' => Beurk_Request2DB($_REQUEST["donnees$IdMaj"]),
'Import' => $importRessource,
'TypeMime' => $typeMimeRessource
),
'WHERE' => "IdRessourceVersion = '$IdMaj'");
Beurk_modifieEntite($requete, 'Version modifiée', $IdEtatRessourceVersion, $NoVersionCourante, $IdMaj);
}
}
db_FREE($result1);
} else Beurk_messageEtape('Version inconnue', true);
db_FREE($result2);
}
}