. /** * Class for exporting plan competency data. * * @package core_competency * @copyright 2015 Damyon Wiese * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ namespace core_competency\external; defined('MOODLE_INTERNAL') || die(); use renderer_base; use stdClass; /** * Class for exporting plan competency data. * * @copyright 2015 Damyon Wiese * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ class user_competency_plan_exporter extends persistent_exporter { protected static function define_class() { return 'core_competency\\user_competency_plan'; } protected static function define_related() { // We cache the scale so it does not need to be retrieved from the framework every time. return array('scale' => 'grade_scale'); } protected function get_other_values(renderer_base $output) { $result = new stdClass(); if ($this->persistent->get_grade() === null) { $gradename = '-'; } else { $gradename = $this->related['scale']->scale_items[$this->persistent->get_grade() - 1]; } $result->gradename = $gradename; if ($this->persistent->get_proficiency() === null) { $proficiencyname = get_string('no'); } else { $proficiencyname = get_string($this->persistent->get_proficiency() ? 'yes' : 'no'); } $result->proficiencyname = $proficiencyname; return (array) $result; } protected static function define_other_properties() { return array( 'gradename' => array( 'type' => PARAM_TEXT ), 'proficiencyname' => array( 'type' => PARAM_RAW ), ); } }