/**
  * Export this data so it can be used as the context for a mustache template.
  *
  * @param renderer_base $output Renderer base.
  * @return stdClass
  */
 public function export_for_template(renderer_base $output)
 {
     $data = new stdClass();
     $exporter = new competency_framework_exporter($this->framework);
     $data->framework = $exporter->export($output);
     $data->canmanage = $this->canmanage;
     $data->search = $this->search;
     $data->pagecontextid = $this->pagecontext->id;
     $data->pluginbaseurl = (new moodle_url('/admin/tool/lp'))->out(true);
     $rulesmodules = array();
     $rules = competency::get_available_rules();
     foreach ($rules as $type => $rulename) {
         $amd = null;
         if ($type == 'core_competency\\competency_rule_all') {
             $amd = 'tool_lp/competency_rule_all';
         } else {
             if ($type == 'core_competency\\competency_rule_points') {
                 $amd = 'tool_lp/competency_rule_points';
             } else {
                 // We do not know how to display that rule.
                 continue;
             }
         }
         $rulesmodules[] = ['name' => (string) $rulename, 'type' => $type, 'amd' => $amd];
     }
     $data->rulesmodules = json_encode(array_values($rulesmodules));
     return $data;
 }