protected function definition() { global $DB; $mform = $this->_form; $data = $this->_customdata; $mform->addElement('hidden', 'id', $data['id']); $mform->setType('id', PARAM_INT); $mform->addElement('hidden', 'mode', $data['mode']); $mform->setType('mode', PARAM_INT); $mform->addElement('hidden', 'action', 'remindall'); $mform->setType('action', PARAM_ACTION); list($cm, $course, $organizer, $context) = organizer_get_course_module_data(); $entries = organizer_organizer_get_status_table_entries(array('sort' => '')); $recipient = optional_param('user', null, PARAM_INT); if ($recipient != null) { $recepients = array(); $recepients = $DB->get_records_list('user', 'id', array($recipient)); $counter = count($recepients); $mform->addElement('hidden', 'recipient', $recipient); $mform->setType('recipient', PARAM_INT); } else { $counter = 0; $recepients = array(); foreach ($entries as $entry) { if ($entry->status == ORGANIZER_APP_STATUS_NOT_REGISTERED || $entry->status == ORGANIZER_APP_STATUS_NOT_ATTENDED_REAPP) { $counter++; $recepients[] = $entry; } } } $buttonarray = array(); if ($counter > 0) { $a = new stdClass(); $a->count = $counter; if ($counter == 1) { $mform->addElement('static', '', '', get_string('organizer_remind_all_recepients_sg', 'organizer', $a)); } else { $mform->addElement('static', '', '', get_string('organizer_remind_all_recepients_pl', 'organizer', $a)); } foreach ($recepients as $recepient) { $mform->addElement('static', '', '', organizer_get_name_link($recepient->id) . ($recepient->idnumber ? " ({$recepient->idnumber})" : '')); } $buttonarray[] =& $mform->createElement('submit', 'confirm', get_string('confirm_organizer_remind_all', 'organizer')); } else { $mform->addElement('static', '', '', get_string('organizer_remind_all_no_recepients', 'organizer')); $buttonarray[] =& $mform->createElement('submit', 'confirm', get_string('confirm_organizer_remind_all', 'organizer'), array('disabled')); } $buttonarray[] =& $mform->createElement('cancel'); $str_automessage = "register_reminder:"; $str_automessage .= $organizer->isgrouporganizer == 0 ? "student" : "group"; $str_automessage .= ":fullmessage"; $a = new stdClass(); $a->receivername = get_string('recipientname', 'organizer'); $a->courseid = $course->idnumber == "" ? "" : $course->idnumber . ' '; $a->coursefullname = $course->fullname; $a->custommessage = ""; $mform->addElement('static', 'message_autogenerated', get_string('message_autogenerated', 'organizer'), nl2br(str_replace("\n\n\n", "\n", get_string($str_automessage, 'organizer', $a)))); $mform->addElement('editor', 'message_custommessage', get_string('message_custommessage', 'organizer')); $mform->addHelpButton('message_custommessage', 'message_custommessage', 'organizer'); $mform->addGroup($buttonarray, 'buttonar', '', array(' '), false); $mform->closeHeaderBefore('buttonar'); }
function organizer_organizer_generate_registration_table_content($columns, $params, $organizer, $context, &$popups) { global $DB; $groupmode = organizer_is_group_mode(); if ($groupmode) { $entries = organizer_organizer_organizer_get_status_table_entries_group($params); } else { $entries = organizer_organizer_get_status_table_entries($params); } $rows = array(); if (count($entries) == 0) { $row = new html_table_row(); $cell = $row->cells[] = new html_table_cell(get_string('status_no_entries', 'organizer')); $cell->colspan = 7; $cell->style .= ' vertical-align: middle; text-align: center;'; $rows[] = $row; return $rows; } foreach ($entries as $entry) { if ($entry->status == ORGANIZER_APP_STATUS_INVALID) { continue; } $row = new html_table_row(); foreach ($columns as $column) { switch ($column) { case 'group': case 'participants': if ($groupmode) { if ($params['psort'] == 'id') { $orderby = "ORDER BY idnumber {$params['pdir']}, lastname ASC, firstname ASC"; } else { $orderby = "ORDER BY lastname {$params['pdir']}, firstname {$params['pdir']}, idnumber ASC"; } $members = $DB->get_fieldset_sql('SELECT userid FROM {groups_members} gm INNER JOIN {user} u ON gm.userid = u.id WHERE groupid = :groupid ' . $orderby, array('groupid' => $entry->id)); $list = "<em>{$entry->name}</em><br/ >"; foreach ($members as $member) { $idnumber = organizer_get_user_idnumber($member); $list .= organizer_get_name_link($member) . ($idnumber ? " ({$idnumber}) " : " ") . ($entry->comments != '' ? organizer_popup_icon(ORGANIZER_ICON_STUDENT_COMMENT, $entry->comments) : organizer_get_img('pix/transparent.png', '', '')); if ($member == $entry->applicantid) { $list .= ' ' . organizer_get_img('pix/applicant.gif', 'applicant', get_string('applicant', 'organizer')) . '<br/>'; } else { $list .= ' ' . organizer_get_img('pix/transparent.png', '', '') . '<br />'; } } $cell = $row->cells[] = new html_table_cell($list); } else { $cell = $row->cells[] = new html_table_cell(organizer_get_name_link($entry->id) . ($entry->idnumber ? " ({$entry->idnumber})" : "")); } break; case 'status': $cell = $row->cells[] = new html_table_cell(organizer_get_status_icon_new($entry->status)); break; case 'datetime': $cell = $row->cells[] = new html_table_cell(organizer_date_time($entry)); $cell->style .= " text-align: left;"; break; case 'appdetails': if ($groupmode) { if ($params['psort'] == 'id') { $orderby = "ORDER BY idnumber {$params['pdir']}, lastname ASC, firstname ASC"; } else { $orderby = "ORDER BY lastname {$params['pdir']}, firstname {$params['pdir']}, idnumber ASC"; } $members = $DB->get_fieldset_sql('SELECT userid FROM {groups_members} gm INNER JOIN {user} u ON gm.userid = u.id WHERE groupid = :groupid ' . $orderby, array('groupid' => $entry->id)); $list = ''; foreach ($members as $member) { $list .= '<br />'; $list .= organizer_reg_organizer_app_details($organizer, $member); } $cell = $row->cells[] = new html_table_cell($list); } else { $cell = $row->cells[] = new html_table_cell(organizer_reg_organizer_app_details($organizer, $entry->id, $popups)); } break; case 'location': $cell = $row->cells[] = new html_table_cell(organizer_location_link($entry)); break; case 'teacher': $cell = $row->cells[] = new html_table_cell(organizer_teacher_data($params, $entry, $popups)); break; case 'actions': $cell = $row->cells[] = new html_table_cell(organizer_teacher_action_new($params, $entry, $context)); $cell->style .= " text-align: center;"; break; } $cell->style .= ' vertical-align: middle;'; } $rows[] = $row; } return $rows; }