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');
 }
Example #2
0
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;
}