FrameBeurk File
Fmbk/Module/Dnlod/RessourceVersion/Maj/creeRessourceVersion.php
<?php //FrameBeurk V0.65 Copyright ToolOscope 2016. Licence CeCILL-C.
if (! isset($_REQUEST["titre$IdMaj"]) || $_REQUEST["titre$IdMaj"] == '')
Beurk_messageEtape('Titre de la version obligatoire', true, 'RessourceVersion');
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']) {
// Vérification version déjà existante pour cette ressource
$RessourceVersion = Beurk_Request2DB($_REQUEST["titre$IdMaj"]);
$result1 = db_QUERY("SELECT IdRessourceVersion FROM Dnlod_RessourceVersion WHERE IdRessource = '$IdRef' AND RessourceVersion = '$RessourceVersion'");
if (list($IdRessourceVersion) = db_FETCH_ROW($result1))
Beurk_messageEtape('Nom de fichier invalide', true);
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'] . $IdRef . '/'. $importRessource))
Beurk_messageEtape('Erreur déplacement fichier', true, 'fichierRessource');
if (! $TRANSAC['Maj']['Erreur']) {
// insertion de la nouvelle ressource
$requete = array('INSERT' => 'Dnlod_RessourceVersion',
'VALUES' => array('RessourceVersion' => $RessourceVersion,
'IdRessource' => $IdRef,
'NbrDemandes' => 0,
'NbrTelecharges' => 0,
'Donnees' => Beurk_Request2DB($_REQUEST["donnees$IdMaj"]),
'Import' => $importRessource,
'TypeMime' => $typeMimeRessource
));
$IdRessourceVersion = Beurk_creeEntite($requete, 'Version créée', 'V', $IdRef); // Id, NoVersion et IdEtat sont ajoutés à la requête par la fonction
}
}
}
db_FREE($result1);
}