Ejemplo n.º 1
0
 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;
 }