Moodle 1.9.7: Загрузка файла в админ панель назначения - PullRequest
0 голосов
/ 10 марта 2010

В Moodle 1.9.7 мне нужно разрешить учителю загружать файл в админ-панель совершенно нового плагина назначения .

При переопределении функции setup_elements в моем assignment.class.php я делаю что-то вроде:

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

Форма загружается с хорошим средством выбора файлов, но как мне управлять загруженным файлом? Какая функция должна быть переопределена? Как я могу указать место, куда я хочу загрузить файл?

В Moodle совершенно отсутствует документация (смешанная с небольшой путаницей) по этому поводу: (

Я копаюсь в коде, чтобы увидеть, что происходит за сценой. Тем временем я думал, что некоторые из вас могли бы сделать то же самое в прошлом.

Я знаю, что это весьма специфично, но, возможно, разработчик Moodle смотрит на это:)

1 Ответ

0 голосов
/ 10 марта 2010

Ну, после копания в коде, вот что я сделал.

Я переопределил следующие функции присваивания:

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

Где функция save_uploaded_files($submission) выглядит следующим образом:

function save_uploaded_files($submission)
{
  global $CFG;

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