add5034ef2433cff7da68f22e610a715548b3ea7
[moodle.git] / blocks / feedback / block_feedback.php
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/>.
17 /**
18  * Feedback block.
19  *
20  * @package    block_feedback
21  * @copyright  1999 onwards Martin Dougiamas (http://dougiamas.com)
22  * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
23  */
25 defined('MOODLE_INTERNAL') || die();
27 require_once($CFG->dirroot . '/mod/feedback/lib.php');
29 class block_feedback extends block_list {
31     function init() {
32         $this->title = get_string('feedback', 'block_feedback');
33     }
35     function applicable_formats() {
36         return array('site' => true, 'course' => true);
37     }
39     function get_content() {
40         global $CFG, $OUTPUT;
42         if ($this->content !== NULL) {
43             return $this->content;
44         }
46         $this->content = new stdClass;
47         $this->content->items = array();
48         $this->content->icons = array();
49         $this->content->footer = '';
51         $courseid = $this->page->course->id;
52         if ($courseid <= 0) {
53             $courseid = SITEID;
54         }
56         $icon = '<img src="'.$OUTPUT->pix_url('icon', 'feedback') . '" class="icon" alt="" />';
59         if (empty($this->instance->pageid)) {
60             $this->instance->pageid = SITEID;
61         }
63         if ($feedbacks = feedback_get_feedbacks_from_sitecourse_map($courseid)) {
64             $baseurl = new moodle_url('/mod/feedback/view.php');
65             foreach ($feedbacks as $feedback) {
66                 $url = new moodle_url($baseurl);
67                 $url->params(array('id'=>$feedback->cmid, 'courseid'=>$courseid));
68                 $this->content->items[] = '<a href="'.$url->out().'">'.$icon.$feedback->name.'</a>';
69             }
70         }
72         return $this->content;
73     }
74 }