[ Index ] |
PHP Cross Reference of moodle-2.8 |
[Summary view] [Print] [Text view]
1 <?php 2 3 // This file is part of Moodle - http://moodle.org/ 4 // 5 // Moodle is free software: you can redistribute it and/or modify 6 // it under the terms of the GNU General Public License as published by 7 // the Free Software Foundation, either version 3 of the License, or 8 // (at your option) any later version. 9 // 10 // Moodle is distributed in the hope that it will be useful, 11 // but WITHOUT ANY WARRANTY; without even the implied warranty of 12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 // GNU General Public License for more details. 14 // 15 // You should have received a copy of the GNU General Public License 16 // along with Moodle. If not, see <http://www.gnu.org/licenses/>. 17 18 /** 19 * Output rendering for the plugin. 20 * 21 * @package tool_task 22 * @copyright 2014 Damyon Wiese 23 * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later 24 */ 25 26 defined('MOODLE_INTERNAL') || die(); 27 28 /** 29 * Implements the plugin renderer 30 * 31 * @copyright 2014 Damyon Wiese 32 * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later 33 */ 34 class tool_task_renderer extends plugin_renderer_base { 35 /** 36 * This function will render one beautiful table with all the scheduled tasks. 37 * 38 * @param \core\task\scheduled_task[] $tasks - list of all scheduled tasks. 39 * @return string HTML to output. 40 */ 41 public function scheduled_tasks_table($tasks) { 42 global $CFG; 43 44 $table = new html_table(); 45 $table->head = array(get_string('name'), 46 get_string('component', 'tool_task'), 47 get_string('edit'), 48 get_string('lastruntime', 'tool_task'), 49 get_string('nextruntime', 'tool_task'), 50 get_string('taskscheduleminute', 'tool_task'), 51 get_string('taskschedulehour', 'tool_task'), 52 get_string('taskscheduleday', 'tool_task'), 53 get_string('taskscheduledayofweek', 'tool_task'), 54 get_string('taskschedulemonth', 'tool_task'), 55 get_string('faildelay', 'tool_task'), 56 get_string('default', 'tool_task')); 57 $table->attributes['class'] = 'admintable generaltable'; 58 $data = array(); 59 $yes = get_string('yes'); 60 $no = get_string('no'); 61 $never = get_string('never'); 62 $asap = get_string('asap', 'tool_task'); 63 $disabled = get_string('disabled', 'tool_task'); 64 foreach ($tasks as $task) { 65 $customised = $task->is_customised() ? $no : $yes; 66 $lastrun = $task->get_last_run_time() ? userdate($task->get_last_run_time()) : $never; 67 $nextrun = $task->get_next_run_time(); 68 if ($task->get_disabled()) { 69 $nextrun = $disabled; 70 } else if ($nextrun > time()) { 71 $nextrun = userdate($nextrun); 72 } else { 73 $nextrun = $asap; 74 } 75 if (empty($CFG->preventscheduledtaskchanges)) { 76 $configureurl = new moodle_url('/admin/tool/task/scheduledtasks.php', array('action'=>'edit', 'task' => get_class($task))); 77 $editlink = $this->action_icon($configureurl, new pix_icon('t/edit', get_string('edittaskschedule', 'tool_task', $task->get_name()))); 78 } else { 79 $editlink = $this->render(new pix_icon('t/locked', get_string('scheduledtaskchangesdisabled', 'tool_task'))); 80 } 81 82 $namecell = new html_table_cell($task->get_name() . "\n" . html_writer::tag('span', '\\'.get_class($task), array('class' => 'task-class'))); 83 $namecell->header = true; 84 85 $component = $task->get_component(); 86 list($type, $plugin) = core_component::normalize_component($component); 87 if ($type === 'core') { 88 $componentcell = new html_table_cell(get_string('corecomponent', 'tool_task')); 89 } else { 90 if ($plugininfo = core_plugin_manager::instance()->get_plugin_info($component)) { 91 $plugininfo->init_display_name(); 92 $componentcell = new html_table_cell($plugininfo->displayname); 93 } else { 94 $componentcell = new html_table_cell($component); 95 } 96 } 97 98 $row = new html_table_row(array( 99 $namecell, 100 $componentcell, 101 new html_table_cell($editlink), 102 new html_table_cell($lastrun), 103 new html_table_cell($nextrun), 104 new html_table_cell($task->get_minute()), 105 new html_table_cell($task->get_hour()), 106 new html_table_cell($task->get_day()), 107 new html_table_cell($task->get_day_of_week()), 108 new html_table_cell($task->get_month()), 109 new html_table_cell($task->get_fail_delay()), 110 new html_table_cell($customised))); 111 112 if ($task->get_disabled()) { 113 $row->attributes['class'] = 'disabled'; 114 } 115 $data[] = $row; 116 } 117 $table->data = $data; 118 return html_writer::table($table); 119 } 120 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Fri Nov 28 20:29:05 2014 | Cross-referenced by PHPXref 0.7.1 |