private function get_current_sessions() { $sessions = progressreview_controller::get_sessions(); $activesessions = array(); foreach ($sessions as $session) { if ($session->deadline_active) { $active = $session->deadline_active >= time(); } else { $active = $session->deadline_tutor >= strtotime('1 week ago'); } if ($active) { $activesessions[] = $session; } } return $activesessions; }
/** * Defines the form's fields * * Defines a form with fields for entering a name, deadlines, scales (as csv lists), * dates for statistics, and whether the session is an induction review. * Also displays a checkbox for each installed subplugin, so that it can be set as active * for this session. */ protected function definition() { $mform =& $this->_form; $sessions = progressreview_controller::get_sessions(); $sessionoptions = array('' => get_string('choosedots')); foreach ($sessions as $session) { $sessionoptions[$session->id] = $session->name; } $strdeadlinesubject = get_string('deadline_subject', 'local_progressreview'); $strdeadlinetutor = get_string('deadline_tutor', 'local_progressreview'); $strdeadlineactive = get_string('deadline_active', 'local_progressreview'); $strlockafterdeadline = get_string('lockafterdeadline', 'local_progressreview'); $strscalebehaviour = get_string('scale_behaviour', 'local_progressreview'); $strscaleeffort = get_string('scale_effort', 'local_progressreview'); $strscalehomework = get_string('scale_homework', 'local_progressreview'); $strsnapshotdate = get_string('snapshotdate', 'local_progressreview'); $strprevioussession = get_string('showdatafrom', 'local_progressreview'); $strhomeworkstart = get_string('homeworkstart', 'local_progressreview'); $strinductionreview = get_string('inductionreview', 'local_progressreview'); $mform->addElement('hidden', 'editid'); $mform->addElement('header', 'general', get_string('general')); $mform->addElement('text', 'name', get_string('name', 'local_progressreview')); $mform->addElement('date_time_selector', 'deadline_subject', $strdeadlinesubject); $mform->addElement('date_time_selector', 'deadline_tutor', $strdeadlinetutor); $mform->addElement('date_time_selector', 'deadline_active', $strdeadlineactive); $mform->addElement('advcheckbox', 'lockafterdeadline', $strlockafterdeadline); $mform->addElement('text', 'scale_behaviour', $strscalebehaviour); $mform->addElement('text', 'scale_effort', $strscaleeffort); $mform->addElement('text', 'scale_homework', $strscalehomework); $mform->addElement('date_selector', 'homeworkstart', $strhomeworkstart); $mform->addElement('date_time_selector', 'snapshotdate', $strsnapshotdate); $mform->addElement('select', 'previoussession', $strprevioussession, $sessionoptions); $mform->addElement('advcheckbox', 'inductionreview', $strinductionreview); $mform->addHelpButton('homeworkstart', 'homeworkstart', 'local_progressreview'); $mform->setTypes(array('name' => PARAM_TEXT, 'deadline_subject' => PARAM_INT, 'deadline_tutor' => PARAM_INT, 'lockafterdeadline' => PARAM_BOOL, 'scale_behaviour' => PARAM_TEXT, 'scale_effort' => PARAM_TEXT, 'scale_homework' => PARAM_TEXT, 'homeworkstart' => PARAM_INT, 'snapshotdate' => PARAM_INT, 'previoussession' => PARAM_INT, 'inductionreview' => PARAM_BOOL)); $pluginnames = $this->get_plugin_names(); $mform->addElement('header', 'plugins', get_string('selectplugins', 'local_progressreview')); foreach ($pluginnames as $pluginname) { $mform->addElement('advcheckbox', 'plugins[' . $pluginname . ']', get_string('pluginname', 'progressreview_' . $pluginname)); } $mform->setDefault('plugins[tutor]', 1); $mform->setDefault('plugins[subject]', 1); $mform->disabledIf('plugins[tutor]', 'plugins[subject]'); $mform->disabledIf('plugins[subject]', 'plugins[tutor]'); $this->add_action_buttons(); }