. /** * Background task to refresh the list of associaded teachers with studyplans * @package tool_sptoolboxmgr * @copyright 2023 P.M. Kuipers * @license https://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ namespace tool_sptoolboxmgr\task; defined('MOODLE_INTERNAL') || die(); require_once($CFG->dirroot.'/user/profile/lib.php'); use \local_treestudyplan\studyplan; /** * Background task to process changes in */ class updatetrackfieldtask extends \core\task\scheduled_task { /** * Return the task's name as shown in admin screens. * * @return string */ public function get_name() { return get_string('updatetrackfieldtask', 'tool_sptoolboxmgr'); } /** * Execute the task. */ public function execute() { global $DB; if (get_config("tool_sptoolboxmgr","trackautofill")) { $fieldid = get_config("tool_sptoolboxmgr","trackfield"); if ($fieldid > 0) { $field = $DB->get_record("user_info_field",["id" => $fieldid]); if ( $field && $field->datatype == "menu") { $names = []; $templates = studyplan::find_template(); $mapping = get_config("tool_sptoolboxmgr","trackmapping"); foreach ($templates as $s) { if ($mapping == "shortname") { $names[] = $s->shortname(); } elseif ($mapping == "idnumber") { $names[] = $s->idnumber(); } elseif ($mapping == "name") { $names[] = $s->name(); } } $field->param1 = implode("\n",$names); $DB->update_record("user_info_field",$field); } } } } }