en | fr  | Contact  | Print  | Share

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);
    }
}


© 2010-2015 by ToolOscope SASU. © 2016-2018 by Arnaud De Rette. All rights reserved