예제 #1
0
 /**
  * Create a new user evidence.
  *
  * @param  object $data        The data.
  * @param  int    $draftitemid The draft ID in which files have been saved.
  * @return user_evidence
  */
 public static function create_user_evidence($data, $draftitemid = null)
 {
     static::require_enabled();
     $userevidence = new user_evidence(null, $data);
     $context = $userevidence->get_context();
     if (!$userevidence->can_manage()) {
         throw new required_capability_exception($context, 'moodle/competency:userevidencemanage', 'nopermissions', '');
     }
     $userevidence->create();
     if (!empty($draftitemid)) {
         $fileareaoptions = array('subdirs' => true);
         $itemid = $userevidence->get_id();
         file_save_draft_area_files($draftitemid, $context->id, 'core_competency', 'userevidence', $itemid, $fileareaoptions);
     }
     // Trigger an evidence of prior learning created event.
     \core\event\competency_user_evidence_created::create_from_user_evidence($userevidence)->trigger();
     return $userevidence;
 }
예제 #2
0
파일: lib.php 프로젝트: evltuma/moodle
 /**
  * Create a new user_evidence.
  *
  * @param array|stdClass $record
  * @return evidence
  */
 public function create_user_evidence($record = null)
 {
     $this->userevidencecount++;
     $i = $this->userevidencecount;
     $record = (object) $record;
     if (!isset($record->userid)) {
         throw new coding_exception('The userid value is required.');
     }
     if (!isset($record->name)) {
         $record->name = "Evidence {$i} name";
     }
     if (!isset($record->description)) {
         $record->description = "Evidence {$i} description";
     }
     if (!isset($record->descriptionformat)) {
         $record->descriptionformat = FORMAT_HTML;
     }
     $ue = new user_evidence(0, $record);
     $ue->create();
     return $ue;
 }