0

在 Moodle 1.9.7 中,我需要允许老师在全新作业插件的管理面板中上传文件。

在我的assignment.class.php中覆盖setup_elements函数时,我正在执行以下操作:

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

表单是用一个不错的文件选择器上传的,但我应该如何管理上传的文件?应该重写哪个函数?如何指定要上传文件的位置?

Moodle 中完全缺乏关于此的文档(混杂着一点混乱):(

我正在深入研究代码以查看幕后发生的事情。与此同时,我认为你们中的一些人过去也可以这样做。

我知道这是非常具体的,但也许 Moodle 开发人员正在研究这个 :)

4

1 回答 1

0

好吧,在挖掘代码之后,这就是我所做的。

我已经覆盖了以下分配函数:

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");
}
于 2010-03-10T15:41:53.000 回答