[ Index ] |
PHP Cross Reference of Unnamed Project |
[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 $disabledstr = get_string('taskdisabled', 'tool_task'); 64 $plugindisabledstr = get_string('plugindisabled', 'tool_task'); 65 foreach ($tasks as $task) { 66 $customised = $task->is_customised() ? $no : $yes; 67 if (empty($CFG->preventscheduledtaskchanges)) { 68 $configureurl = new moodle_url('/admin/tool/task/scheduledtasks.php', array('action'=>'edit', 'task' => get_class($task))); 69 $editlink = $this->action_icon($configureurl, new pix_icon('t/edit', get_string('edittaskschedule', 'tool_task', $task->get_name()))); 70 } else { 71 $editlink = $this->render(new pix_icon('t/locked', get_string('scheduledtaskchangesdisabled', 'tool_task'))); 72 } 73 74 $namecell = new html_table_cell($task->get_name() . "\n" . html_writer::tag('span', '\\'.get_class($task), array('class' => 'task-class'))); 75 $namecell->header = true; 76 77 $component = $task->get_component(); 78 $plugininfo = null; 79 list($type, $plugin) = core_component::normalize_component($component); 80 if ($type === 'core') { 81 $componentcell = new html_table_cell(get_string('corecomponent', 'tool_task')); 82 } else { 83 if ($plugininfo = core_plugin_manager::instance()->get_plugin_info($component)) { 84 $plugininfo->init_display_name(); 85 $componentcell = new html_table_cell($plugininfo->displayname); 86 } else { 87 $componentcell = new html_table_cell($component); 88 } 89 } 90 91 $lastrun = $task->get_last_run_time() ? userdate($task->get_last_run_time()) : $never; 92 $nextrun = $task->get_next_run_time(); 93 $disabled = false; 94 if ($plugininfo && $plugininfo->is_enabled() === false && !$task->get_run_if_component_disabled()) { 95 $disabled = true; 96 $nextrun = $plugindisabledstr; 97 } else if ($task->get_disabled()) { 98 $disabled = true; 99 $nextrun = $disabledstr; 100 } else if ($nextrun > time()) { 101 $nextrun = userdate($nextrun); 102 } else { 103 $nextrun = $asap; 104 } 105 106 $row = new html_table_row(array( 107 $namecell, 108 $componentcell, 109 new html_table_cell($editlink), 110 new html_table_cell($lastrun), 111 new html_table_cell($nextrun), 112 new html_table_cell($task->get_minute()), 113 new html_table_cell($task->get_hour()), 114 new html_table_cell($task->get_day()), 115 new html_table_cell($task->get_day_of_week()), 116 new html_table_cell($task->get_month()), 117 new html_table_cell($task->get_fail_delay()), 118 new html_table_cell($customised))); 119 120 if ($disabled) { 121 $row->attributes['class'] = 'disabled'; 122 } 123 $data[] = $row; 124 } 125 $table->data = $data; 126 return html_writer::table($table); 127 } 128 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Thu Aug 11 10:00:09 2016 | Cross-referenced by PHPXref 0.7.1 |