deplacer un fichier dans draft area vers la tabe mdl_files

deplacer un fichier dans draft area vers la tabe mdl_files

par malika younes,
Nombre de réponses : 1

bonjour

mon but est construire une archive de tous les dossiers envoyé par les etudiants vers l'enseignant via le selecteur des fichiers?

pour ca ,il faut enregistrer les fichiers dans la base des données pour avoir recupérer aprés .

mon code est:

 $mform->addElement('header', 'general', get_string('general', 'memoire'));
   //--------------------------------------------------------------------------------------------------------     
        //add a filemanager element
     
     $options=array('subdirs'=>0, 'maxbytes'=>$this->course->maxbytes, 'maxfiles' =>10 );
        $mform->addElement('filemanager', 'pieces',null, null, $options);
        
        function data_preprocessing(&$default_values) {
            global $DB;
            global $module;
            if (isset($default_values['conditions'])) {
                $conditions = unserialize($default_values['conditions']);
                $default_values['timespent'] = $conditions->timespent;
                $default_values['completed'] = $conditions->completed;
                $default_values['gradebetterthan'] = $conditions->gradebetterthan;
            }
        
        
            if (empty($entry->id)) {
                $entry=new stdclass;
                $entry->id=null;
            }
                // editing existing instance - copy existing files into draft area
                $draftitemid = file_get_submitted_draft_itemid('pieces');
                file_prepare_draft_area($draftitemid, $this->context->id, 'mod_memoire', 'pieces', $entry->id, array('subdirs'=>0, 'maxbytes' => $this->course->maxbytes, 'maxfiles' => 10));
                $entry->pieces= $draftitemid;
                $mform->set_data($entry);
                
                if($data=$mform->get_data()){
                    file_save_draft_area_files($data->pieces,$context->id,'mod_memoitre','pieces',$entry->id,
                    array('subdirs'=>0, 'maxbytes' => $this->course->maxbytes, 'maxfiles' => 10));*/
         
            }
           

 

 

Moyenne des évaluations  -
En réponse à malika younes

Re: deplacer un fichier dans draft area vers la tabe mdl_files

par Jérôme DEMIAUX,
Avatar Traducteurs

Bonjour,

Comme mes petits camarades avant, je ne peux que vous conseiller de bien donner le maximum d'informations concernant votre problème.

Ici, il n'est pas possible de se prononcer sur un bout de script sorti du contexte où il doit être exécuté.

Pourquoi ces dossiers (devrait-on lire plutôt fichiers ?) doivent-ils être récupérés, comment ont-ils été envoyés à l'enseignant ? Forums, devoirs, Base de données, glossaire ?  etc, etc.

Toutes ces informations nous permettront de comprendre le contexte et la démarche employée afin de répondre au mieux.

Ainsi, s'il s'agit de récupérer les fichiers déposés dans un devoir, cette fonctionnalité existe déjà et nul besoin de la réinventer. Pour l'implanter dans un autre module, il suffit d'aller voir comment elle est développée dans cette activité "Devoir".

Même chose pour l'activité "Database", la demande a été faite ces derniers jours et une solution existe déjà pour récupérer les éléments fichiers et images. Là aussi, il suffit d'aller voir ce développement pour en étudier le code et les comportements.

Cordialement,

Jérôme.

Moyenne des évaluations Utile (1)