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

StackOverflow https://stackoverflow.com/questions/2416515

Вопрос

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

При переопределении установки_элементы функционировать в моем assignment.class.php, Я делаю что - то вроде:

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

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

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

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

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

Это было полезно?

Решение

Что ж, покопавшись в коде, вот что я сделал.

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

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");
}
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top