2010-03-10 7 views
0

Dans Moodle 1.9.7, je dois autoriser l'enseignant à télécharger un fichier dans le panneau d'administration d'un nouveau plugin d'affectation .Moodle 1.9.7: Télécharger un fichier dans le panneau d'administration d'affectation

Lors de la substitution des setup_elements fonction dans mon assignment.class.php, je fais quelque chose comme:

$mform->addElement('file', 'foo', 'Label'); 
$mform->setHelpButton('foo', array('foo', 'Label', 'assignment/type/my_assignment')); 

Le formulaire est télécharger avec un sélecteur de fichiers bien, mais comment dois-je gérer le fichier téléchargé? Quelle fonction devrait être surchargée? Comment puis-je spécifier l'endroit où je veux télécharger le fichier?

Il y a un manque total de documentation (mixte à un peu de confusion) dans Moodle sur ce :(

Je creuser dans le code pour voir ce qui se passe derrière la scène. En attendant, je pensais certains des vous auriez pu faire la même chose dans le passé.

Je sais que c'est très spécifique, mais peut-être un développeur Moodle est à la recherche à ce :)

Répondre

0

Eh bien, après avoir creusé dans le code, voici ce que je J'ai fait.

J'ai surchargé les fonctions d'affectation suivantes:

function add_instance($submission) 
{ 
    return (save_uploaded_files($submission)) ? parent::add_instance($submission) : false; 
} 

function update_instance($submission) 
{ 
    return (save_uploaded_files($submission)) ? parent::update_instance($submission) : false; 
} 

Lorsque la fonction save_uploaded_files($submission) ressemble:

function save_uploaded_files($submission) 
{ 
    global $CFG; 

    $um = new upload_manager('my_file', ... [OPTIONS HERE] ...); 
    return $um->process_file_uploads("my/upload/path"); 
}