AutorÃa | Ultima modificación | Ver Log |
<?php// This file is part of Moodle - http://moodle.org///// Moodle is free software: you can redistribute it and/or modify// it under the terms of the GNU General Public License as published by// the Free Software Foundation, either version 3 of the License, or// (at your option) any later version.//// Moodle is distributed in the hope that it will be useful,// but WITHOUT ANY WARRANTY; without even the implied warranty of// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the// GNU General Public License for more details.//// You should have received a copy of the GNU General Public License// along with Moodle. If not, see <http://www.gnu.org/licenses/>./*** The cesa_notes block** @package block_cesa_notes* @author Gautam Kumar Das<gautam.arg@gmail.com>*/defined('MOODLE_INTERNAL') || die();require_once($CFG->dirroot . '/blocks/cesa_notes/lib.php');/*** cesa_notes block.** @package block_cesa_notes**/class block_cesa_notes extends block_base {public function init() {$this->title = get_string('pluginname', 'block_cesa_notes');}public function has_config() {return true;}public function applicable_formats() {return array('all' => true);}public function instance_allow_multiple() {return false;}public function hide_header() {global $PAGE;if (!$PAGE->user_is_editing()) {return true;}}/*** The content object.** @return stdObject*/public function get_content() {global $CFG, $PAGE;static $jscount = 0;if ($this->content !== null) {return $this->content;} else {$this->content = new \stdClass();}if (!isloggedin() or isguestuser()) {return ''; // Never useful unless you are logged in as real users}if (!in_array($PAGE->context->contextlevel, array(CONTEXT_COURSE, CONTEXT_SYSTEM, CONTEXT_MODULE, CONTEXT_USER))) {return '';}$this->content = new stdClass();$this->content->footer = '';$this->content->text = '';if (empty($this->instance)) {return $this->content;}$this->content = new stdClass();$this->content->text = '';if ($PAGE->user_is_editing()) {$this->content->text = '<div class="inline-cesa_notes-opener">'.get_string('showcesa_notes', 'block_cesa_notes').'</div>';}$this->content->footer = '';if ($jscount == 0) {$this->block_cesa_notes_get_required_javascript();$jscount++;}return $this->content;}/** load JS that requires into the page.*/private function block_cesa_notes_get_required_javascript() {global $PAGE, $CFG;list($context, $course, $cm) = get_context_info_array($PAGE->context->id);$config = get_config('block_cesa_notes');$mm = new block_cesa_notes_manager();$currenttabindex = $mm->get_current_tab($context, $PAGE);$arguments = array( 'arg'=> array('instanceid' => $this->instance->id,'editing' => ($PAGE->user_is_editing()),'editingicon_pos' => ($PAGE->user_is_editing()) ? 'cesa_notes-pos-inline' : $config->icondisplayposition,'maxallowedcharacters' => $config->characterlimit,'contextid' => $context->id,'maxallowedcharacters_warning' => get_string('notmorethan', 'block_cesa_notes', $config->characterlimit),'contextareas' => $mm->get_available_contextareas(),'currenttabindex' => ($currenttabindex == null ? 'site' : $currenttabindex),'perpage' => $config->cesa_notesperpage,),);$PAGE->requires->string_for_js('charactersleft', 'block_cesa_notes');$PAGE->requires->string_for_js('notmorethan', 'block_cesa_notes');$PAGE->requires->string_for_js('cesa_notes', 'block_cesa_notes');$PAGE->requires->string_for_js('showcesa_notes', 'block_cesa_notes');$PAGE->requires->string_for_js('savedsuccess', 'block_cesa_notes');$PAGE->requires->string_for_js('save', 'block_cesa_notes');$PAGE->requires->string_for_js('placeholdercontent', 'block_cesa_notes');$PAGE->requires->string_for_js('deletecesa_notes', 'block_cesa_notes');$PAGE->requires->string_for_js('cesa_notescount', 'block_cesa_notes');$PAGE->requires->string_for_js('previouspage', 'block_cesa_notes');$PAGE->requires->string_for_js('nextpage', 'block_cesa_notes');$PAGE->requires->string_for_js('nothingtodisplay', 'block_cesa_notes');$PAGE->requires->string_for_js('cesa_notessavedundertab', 'block_cesa_notes');$PAGE->requires->string_for_js('cancel', 'moodle');$this->page->requires->js_call_amd('block_cesa_notes/cesa_notesblock', 'init', $arguments);}}