Exemplo n.º 1
0
 /**
  * Initialise the import reader and locate the column indexes.
  *
  * @return bool false is a failed import
  */
 public function init()
 {
     if ($this->csvreader == null) {
         $this->csvreader = new csv_import_reader($this->importid, 'setaskfeedback_offline');
     }
     $this->csvreader->init();
     $columns = $this->csvreader->get_columns();
     $strgrade = get_string('grade');
     $strid = get_string('recordid', 'setask');
     $strmodified = get_string('lastmodifiedgrade', 'setask');
     foreach ($this->setaskment->get_feedback_plugins() as $plugin) {
         if ($plugin->is_enabled() && $plugin->is_visible()) {
             foreach ($plugin->get_editor_fields() as $field => $description) {
                 $this->feedbackcolumnindexes[$description] = array('plugin' => $plugin, 'field' => $field, 'description' => $description);
             }
         }
     }
     if ($columns) {
         foreach ($columns as $index => $column) {
             if (isset($this->feedbackcolumnindexes[$column])) {
                 $this->feedbackcolumnindexes[$column]['index'] = $index;
             }
             if ($column == $strgrade) {
                 $this->gradeindex = $index;
             }
             if ($column == $strid) {
                 $this->idindex = $index;
             }
             if ($column == $strmodified) {
                 $this->modifiedindex = $index;
             }
         }
     }
     if ($this->idindex < 0 || $this->gradeindex < 0 || $this->modifiedindex < 0) {
         return false;
     }
     $groupmode = groups_get_activity_groupmode($this->setaskment->get_course_module());
     // All users.
     $groupid = 0;
     $groupname = '';
     if ($groupmode) {
         $groupid = groups_get_activity_group($this->setaskment->get_course_module(), true);
         $groupname = groups_get_group_name($groupid) . '-';
     }
     $this->validusers = $this->setaskment->list_participants($groupid, false);
     return true;
 }