[ Index ] |
PHP Cross Reference of Unnamed Project |
[Summary view] [Print] [Text view]
1 <?php 2 // This file is part of Moodle - http://moodle.org/ 3 // 4 // Moodle is free software: you can redistribute it and/or modify 5 // it under the terms of the GNU General Public License as published by 6 // the Free Software Foundation, either version 3 of the License, or 7 // (at your option) any later version. 8 // 9 // Moodle is distributed in the hope that it will be useful, 10 // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 // GNU General Public License for more details. 13 // 14 // You should have received a copy of the GNU General Public License 15 // along with Moodle. If not, see <http://www.gnu.org/licenses/>. 16 17 /** 18 * Event report renderer. 19 * 20 * @package report_eventlist 21 * @copyright 2014 Adrian Greeve <adrian@moodle.com> 22 * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later 23 */ 24 25 defined('MOODLE_INTERNAL') || die(); 26 27 /** 28 * Renderer for event report. 29 * 30 * @package report_eventlist 31 * @copyright 2014 Adrian Greeve <adrian@moodle.com> 32 * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later 33 */ 34 class report_eventlist_renderer extends plugin_renderer_base { 35 36 /** 37 * Renders the event list page with filter form and datatable. 38 * 39 * @param eventfilter_form $form Event filter form. 40 * @param array $tabledata An array of event data to be used by the datatable. 41 * @return string HTML to be displayed. 42 */ 43 public function render_event_list($form, $tabledata) { 44 global $PAGE; 45 46 $title = get_string('pluginname', 'report_eventlist'); 47 48 // Header. 49 $html = $this->output->header(); 50 $html .= $this->output->heading($title); 51 52 // Form. 53 ob_start(); 54 $form->display(); 55 $html .= ob_get_contents(); 56 ob_end_clean(); 57 58 $PAGE->requires->yui_module('moodle-report_eventlist-eventfilter', 'Y.M.report_eventlist.EventFilter.init', 59 array(array('tabledata' => $tabledata))); 60 $PAGE->requires->strings_for_js(array( 61 'eventname', 62 'component', 63 'action', 64 'crud', 65 'edulevel', 66 'affectedtable', 67 'dname', 68 'legacyevent', 69 'since' 70 ), 'report_eventlist'); 71 $html .= html_writer::start_div('report-eventlist-data-table', array('id' => 'report-eventlist-table')); 72 $html .= html_writer::end_div(); 73 74 $html .= $this->output->footer(); 75 return $html; 76 } 77 78 /** 79 * Event detail renderer. 80 * 81 * @param array $observerlist A list of observers that consume this event. 82 * @param array $eventinformation A list of information about the event. 83 * @return string HTML to be displayed. 84 */ 85 public function render_event_detail($observerlist, $eventinformation) { 86 global $PAGE; 87 88 $titlehtml = $this->output->header(); 89 $titlehtml .= $this->output->heading($eventinformation['title']); 90 91 $html = html_writer::start_tag('dl', array('class' => 'list')); 92 93 $explanation = nl2br($eventinformation['explanation']); 94 $html .= html_writer::tag('dt', get_string('eventexplanation', 'report_eventlist')); 95 $html .= html_writer::tag('dd', $explanation); 96 97 if (isset($eventinformation['crud'])) { 98 $html .= html_writer::tag('dt', get_string('crud', 'report_eventlist')); 99 $html .= html_writer::tag('dd', $eventinformation['crud']); 100 } 101 102 if (isset($eventinformation['edulevel'])) { 103 $html .= html_writer::tag('dt', get_string('edulevel', 'report_eventlist')); 104 $html .= html_writer::tag('dd', $eventinformation['edulevel']); 105 } 106 107 if (isset($eventinformation['objecttable'])) { 108 $html .= html_writer::tag('dt', get_string('affectedtable', 'report_eventlist')); 109 $html .= html_writer::tag('dd', $eventinformation['objecttable']); 110 } 111 112 if (isset($eventinformation['legacyevent'])) { 113 $html .= html_writer::tag('dt', get_string('legacyevent', 'report_eventlist')); 114 $html .= html_writer::tag('dd', $eventinformation['legacyevent']); 115 } 116 117 if (isset($eventinformation['parentclass'])) { 118 $url = new moodle_url('eventdetail.php', array('eventname' => $eventinformation['parentclass'])); 119 $html .= html_writer::tag('dt', get_string('parentevent', 'report_eventlist')); 120 $html .= html_writer::tag('dd', html_writer::link($url, $eventinformation['parentclass'])); 121 } 122 123 if (isset($eventinformation['abstract'])) { 124 $html .= html_writer::tag('dt', get_string('abstractclass', 'report_eventlist')); 125 $html .= html_writer::tag('dd', get_string('yes', 'report_eventlist')); 126 } 127 128 if (isset($eventinformation['typeparameter'])) { 129 $html .= html_writer::tag('dt', get_string('typedeclaration', 'report_eventlist')); 130 foreach ($eventinformation['typeparameter'] as $typeparameter) { 131 $html .= html_writer::tag('dd', $typeparameter); 132 } 133 } 134 135 if (isset($eventinformation['otherparameter'])) { 136 $html .= html_writer::tag('dt', get_string('othereventparameters', 'report_eventlist')); 137 foreach ($eventinformation['otherparameter'] as $otherparameter) { 138 $html .= html_writer::tag('dd', $otherparameter); 139 } 140 } 141 142 // List observers consuming this event if there are any. 143 if (!empty($observerlist)) { 144 $html .= html_writer::tag('dt', get_string('relatedobservers', 'report_eventlist')); 145 foreach ($observerlist as $observer) { 146 if ($observer->plugin == 'core') { 147 $html .= html_writer::tag('dd', $observer->plugin); 148 } else { 149 $manager = get_string_manager(); 150 $pluginstring = $observer->plugintype . '_' . $observer->plugin; 151 if ($manager->string_exists('pluginname', $pluginstring)) { 152 if (!empty($observer->parentplugin)) { 153 $string = get_string('pluginname', $pluginstring) . ' (' . $observer->parentplugin 154 . ' ' . $pluginstring . ')'; 155 } else { 156 $string = get_string('pluginname', $pluginstring) . ' (' . $pluginstring . ')'; 157 } 158 } else { 159 $string = $observer->plugintype . ' ' . $observer->plugin; 160 } 161 $html .= html_writer::tag('dd', $string); 162 } 163 } 164 } 165 $html .= html_writer::end_div(); 166 $html .= html_writer::end_tag('dl'); 167 168 $pagecontent = new html_table(); 169 $pagecontent->data = array(array($html)); 170 $pagehtml = $titlehtml . html_writer::table($pagecontent); 171 $pagehtml .= $this->output->footer(); 172 173 return $pagehtml; 174 } 175 }
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 |