function list_entries($courseid, $type, $page, $perpage, $userid, $count, $can_delete) { global $CFG, $DB, $OUTPUT; $dbtable = 'block_quickmail_' . $type; $table = new html_table(); $params = array('courseid' => $courseid, 'userid' => $userid); $logs = $DB->get_records($dbtable, $params, 'time DESC', '*', $page * $perpage, $perpage * ($page + 1)); $table->head = array(get_string('date'), quickmail::_s('subject'), quickmail::_s('attachment'), get_string('action')); $table->data = array(); foreach ($logs as $log) { $date = quickmail::format_time($log->time); $subject = $log->subject; $attachments = $log->attachment; $params = array('courseid' => $log->courseid, 'type' => $type, 'typeid' => $log->id); $actions = array(); $open_link = html_writer::link(new moodle_url('/blocks/quickmail/email.php', $params), $OUTPUT->pix_icon('i/search', 'Open Email')); $actions[] = $open_link; if ($can_delete) { $delete_params = $params + array('userid' => $userid, 'action' => 'delete'); $delete_link = html_writer::link(new moodle_url('/blocks/quickmail/emaillog.php', $delete_params), $OUTPUT->pix_icon("i/cross_red_big", "Delete Email")); $actions[] = $delete_link; } $action_links = implode(' ', $actions); $table->data[] = array($date, $subject, $attachments, $action_links); } $paging = $OUTPUT->paging_bar($count, $page, $perpage, '/blocks/quickmail/emaillog.php?type=' . $type . '&courseid=' . $courseid); $html = $paging; $html .= html_writer::table($table); $html .= $paging; return $html; }
static function list_entries($courseid, $type, $page, $perpage, $userid, $count, $can_delete) { global $CFG, $DB, $OUTPUT; $dbtable = 'block_quickmail_' . $type; $table = new html_table(); $params = array('courseid' => $courseid, 'userid' => $userid); $logs = $DB->get_records($dbtable, $params, 'time DESC', '*', $page * $perpage, $perpage); if ($courseid == '1') { $table->head = array(get_string('date'), quickmail::_s('subject'), get_string('action'), quickmail::_s('status'), quickmail::_s('failed_to_send_to'), quickmail::_s('send_again')); } else { $table->head = array(get_string('date'), quickmail::_s('subject'), quickmail::_s('attachment'), get_string('action'), quickmail::_s('status'), quickmail::_s('failed_to_send_to'), quickmail::_s('send_again')); } $table->data = array(); foreach ($logs as $log) { $array_of_failed_user_ids = array(); $date = quickmail::format_time($log->time); $subject = $log->subject; $attachments = $log->attachment; if (!empty($log->failuserids)) { // DWE -> keep track of user ids that failed. $array_of_failed_user_ids = explode(",", $log->failuserids); } $params = array('courseid' => $log->courseid, 'type' => $type, 'typeid' => $log->id); $actions = array(); if ($courseid == '1') { $open_link = html_writer::link(new moodle_url('/blocks/quickmail/admin_email.php', $params), $OUTPUT->pix_icon('i/search', 'Open Email')); } else { $open_link = html_writer::link(new moodle_url('/blocks/quickmail/email.php', $params), $OUTPUT->pix_icon('i/search', 'Open Email')); } $actions[] = $open_link; if ($can_delete) { $delete_params = $params + array('userid' => $userid, 'action' => 'delete'); $delete_link = html_writer::link(new moodle_url('/blocks/quickmail/emaillog.php', $delete_params), $OUTPUT->pix_icon("i/invalid", "Delete Email")); $actions[] = $delete_link; } $action_links = implode(' ', $actions); $statusSENTorNot = quickmail::_s($type . "success"); if (!empty($array_of_failed_user_ids)) { $statusSENTorNot = quickmail::_s('message_failure'); $params += array('fmid' => 1); $text = quickmail::_s('send_again'); if ($courseid == '1') { $sendagain = html_writer::link(new moodle_url("/blocks/quickmail/admin_email.php", $params), $text); } else { $sendagain = html_writer::link(new moodle_url("/blocks/quickmail/email.php", $params), $text); } $listFailIDs = count($array_of_failed_user_ids); $failCount = $listFailIDs === 1 ? $listFailIDs . " " . quickmail::_s("user") : $listFailIDs . " " . quickmail::_s("users"); } else { $listFailIDs = $array_of_failed_user_ids; $sendagain = ""; $failCount = ""; } if ($courseid == 1) { $table->data[] = array($date, $subject, $action_links, $statusSENTorNot, $failCount, $sendagain); } else { $table->data[] = array($date, $subject, $attachments, $action_links, $statusSENTorNot, $failCount, $sendagain); } } $paging = $OUTPUT->paging_bar($count, $page, $perpage, '/blocks/quickmail/emaillog.php?type=' . $type . '&courseid=' . $courseid . '&userid=' . $userid); $html = $paging; $html .= html_writer::table($table); $html .= $paging; return $html; }