Moodle上传表单供用户上传

时间:2015-09-03 09:13:31

标签: php plugins moodle fgetcsv

我想使用.csv批量上传moodle插件中的用户面对面。 用户上传必须在会话中进行,并由管理员或经理进行。 使用File API中的文件选择器元素

$mform->addElement('filepicker', 'userfile', get_string('file'), null,
               array('maxbytes' => $maxbytes, 'accepted_types' => '*'));

然后我需要提取此数据并在与会者列表中显示姓名,电子邮件等,然后在报告中显示。 fgetcsv是正确的选择吗?:

    $fields=fgetcsv($filehandle,0,$this->config->delimiter);
var_dump($fields)
$data=array();
while($row=fgetcsv($filehandle,0,$this->config->delimiter))
{
  $data_row->startdate=$row[0] 
  $data_row->enddate=$row[0]
  $data_row->room=$row[0]
  $data_row->status=$row[0]
  $data_row->firstname=$row[0]
  $data_row->lastname=$row[0]
  $data_row->username=$row[0]
  $data_row->useremail=$row[0]
  $data_row->attendance=$row[0]
  $data_row->signupdate=$row[0]
  array_push($data,$data_row)
  $DB->insert_record('facetoface',$data_row, false);
}

在面对面会话中没有带有用户上传功能的插件,也没有类似的东西。 在哪里放置正确的代码行(在插件的不同文件中),或者更好地说,这是正确的进行方式? 我想做一个自定义插件,如果这更容易,只需要对它的结构进行指导。功能仍然类似于面对面,会话参加者只是上传。

1 个答案:

答案 0 :(得分:0)

可选择在Totara中批量上传用户。

https://github.com/totara/seedlings/tree/totara-seedlings-2.7/mod/facetoface

但是对于您的插件,您可能希望使用csv_import_reader

有关示例,请查看/admin/tool/uploaduser/index.php