$table->sortable(true, 'time', SORT_DESC); $table->no_sorting('message'); $table->collapsible(true); $table->pageable(true); $table->pagesize($MESSAGES_PER_PAGE, $sentMessagesDAO->countMessagesSent(0, $USER->id)); if ($download != '') { $table->is_downloading($download, get_string('exportsheetsent', 'block_moodletxt'), get_string('exporttitlesent', 'block_moodletxt')); } $table->is_downloadable(true); $table->show_download_buttons_at(array(TABLE_P_BOTTOM)); $table->setup(); // BEGIN PAGE OUTPUT if (!$table->is_downloading()) { // Drop in page header echo $output->header(); echo $output->box($sentMessagesDAO->countMessagesSent() . get_string('sentnoticefrag1', 'block_moodletxt') . $sentMessagesDAO->countMessageRecipients() . get_string('sentnoticefrag2', 'block_moodletxt') . html_writer::empty_tag('br') . $sentMessagesDAO->countMessagesSent(0, $userToView) . get_string('sentnoticefrag3', 'block_moodletxt')); // Show select box allow user to show/hide event-generated messages $eventSelect = new single_select(new moodle_url('sent.php', array('course' => $courseId, 'instance' => $instanceId, 'user' => $userToView)), 'events', array(TxttoolsSentMessageDAO::$EVENT_QUERY_DISCARD => get_string('optioneventhide', 'block_moodletxt'), TxttoolsSentMessageDAO::$EVENT_QUERY_INCLUDE => get_string('optioneventshow', 'block_moodletxt'), TxttoolsSentMessageDAO::$EVENT_QUERY_EXCLUSIVE => get_string('optioneventonly', 'block_moodletxt')), $includeEvents, false); $eventSelect->set_label(get_string('labelshowmessagebygenerator', 'block_moodletxt')); echo $output->render($eventSelect); // Show user list if the user has permission to see other people's messages if ($canAdminUsers) { $optionSet = array(0 => get_string('optionallusers', 'block_moodletxt')); $userList = $userDAO->getAllUsers(); foreach ($userList as $userObj) { $optionSet[$userObj->getId()] = $userObj->getFullNameForDisplay(); } $userSelect = new single_select(new moodle_url('sent.php', array('course' => $courseId, 'instance' => $instanceId, 'events' => $includeEvents)), 'user', $optionSet, $userToView, false); $userSelect->set_label(get_string('labelshowmessagesforuser', 'block_moodletxt')); echo $output->render($userSelect); }
$table->define_baseurl($CFG->wwwroot . '/blocks/moodletxt/status.php?course=' . $courseId . '&instance=' . $instanceId . '&message=' . $messageId); // Required in 2.2 for export $table->set_attribute('id', 'smsStatusList'); $table->set_attribute('class', 'generaltable generalbox boxaligncenter boxwidthwide mtxtCentredCells'); // Set structure $tablecolumns = array("recipient", "destination", "time", "status"); $tableheaders = array(get_string('tableheaderrecipient', 'block_moodletxt'), get_string('tableheaderdestination', 'block_moodletxt'), get_string('tableheadertimeupdated', 'block_moodletxt'), get_string('tableheaderstatus', 'block_moodletxt')); // ;) $table->define_columns($tablecolumns); $table->define_headers($tableheaders); $table->sortable(true, 'time', SORT_ASC); $table->no_sorting('destination'); $table->no_sorting('recipient'); $table->collapsible(true); $table->pageable(true); $table->pagesize($STATUSES_PER_PAGE, $sentMessagesDAO->countMessageRecipients($messageId)); if ($download != '') { $table->is_downloading($download, get_string('exportsheetsent', 'block_moodletxt'), get_string('exporttitlesent', 'block_moodletxt')); } $table->is_downloadable(true); $table->show_download_buttons_at(array(TABLE_P_BOTTOM)); $table->setup(); // Output page header and everything before the table. // This should only be output when not exporting the table. if (!$table->is_downloading()) { // Drop in page header echo $output->header(); // Message details box (top left) $messageDetails = $output->heading(get_string('headermessagedetails', 'block_moodletxt')); $messageDetails .= html_writer::tag('dt', get_string('labelmessageauthor', 'block_moodletxt')); $messageDetails .= html_writer::tag('dd', $messageObject->getUser()->getFullNameForDisplay(true));