protected function get_other_values(renderer_base $output) { $contextcache = array(); $competencies = array(); foreach ($this->related['competencies'] as $competency) { if (!isset($contextcache[$competency->get_competencyframeworkid()])) { $contextcache[$competency->get_competencyframeworkid()] = $competency->get_context(); } $context = $contextcache[$competency->get_competencyframeworkid()]; $compexporter = new competency_exporter($competency, array('context' => $context)); $competencies[] = $compexporter->export($output); } $urlshort = ''; $url = $this->persistent->get_url(); if (!empty($url)) { $murl = new moodle_url($url); $shorturl = preg_replace('@^https?://(www\\.)?@', '', $murl->out(false)); $urlshort = shorten_text($shorturl, 30, true); } $files = array(); $storedfiles = $this->persistent->get_files(); if (!empty($storedfiles)) { foreach ($storedfiles as $storedfile) { $fileexporter = new stored_file_exporter($storedfile, array('context' => $this->related['context'])); $files[] = $fileexporter->export($output); } } $values = array('canmanage' => $this->persistent->can_manage(), 'competencycount' => count($competencies), 'competencies' => $competencies, 'filecount' => count($files), 'files' => $files, 'hasurlorfiles' => !empty($files) || !empty($url), 'urlshort' => $urlshort); return $values; }
protected function get_other_values(renderer_base $output) { $urlshort = ''; $url = $this->persistent->get_url(); if (!empty($url)) { $murl = new moodle_url($url); $shorturl = preg_replace('@^https?://(www\\.)?@', '', $murl->out(false)); $urlshort = shorten_text($shorturl, 30, true); } $files = array(); $storedfiles = $this->persistent->get_files(); if (!empty($storedfiles)) { foreach ($storedfiles as $storedfile) { $fileexporter = new stored_file_exporter($storedfile, array('context' => $this->related['context'])); $files[] = $fileexporter->export($output); } } $userevidencecompetencies = array(); $frameworks = array(); $scales = array(); $usercompetencies = $this->persistent->get_user_competencies(); foreach ($usercompetencies as $usercompetency) { $competency = $usercompetency->get_competency(); // Get the framework. if (!isset($frameworks[$competency->get_competencyframeworkid()])) { $frameworks[$competency->get_competencyframeworkid()] = $competency->get_framework(); } $framework = $frameworks[$competency->get_competencyframeworkid()]; // Get the scale. $scaleid = $competency->get_scaleid(); if ($scaleid === null) { $scaleid = $framework->get_scaleid(); } if (!isset($scales[$framework->get_scaleid()])) { $scales[$framework->get_scaleid()] = $framework->get_scale(); } $scale = $scales[$framework->get_scaleid()]; $related = array('competency' => $competency, 'usercompetency' => $usercompetency, 'scale' => $scale, 'context' => $framework->get_context()); $userevidencecompetencysummaryexporter = new user_evidence_competency_summary_exporter(null, $related); $userevidencecompetencies[] = $userevidencecompetencysummaryexporter->export($output); } $values = array('canmanage' => $this->persistent->can_manage(), 'filecount' => count($files), 'files' => $files, 'userhasplan' => $this->persistent->user_has_plan(), 'hasurlorfiles' => !empty($files) || !empty($url), 'urlshort' => $urlshort, 'competencycount' => count($userevidencecompetencies), 'usercompetencies' => $userevidencecompetencies); return $values; }