Moodle 1.9.7:在任务管理面板中上传文件

时间:2010-03-10 11:39:29

标签: php file forms upload moodle

在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开发人员正在研究这个:)

1 个答案:

答案 0 :(得分: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");
}