. /** * Filter main class for the filter_pluginname plugin. * * @package filter_pluginname * @copyright Year, You Name * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ use filter_bibleversesnwt\bible; class filter_bibleversesnwt extends moodle_text_filter { private $courseconfig; private $adminconfig; public function setup($page, $context) { $page->requires->js_call_amd('filter_bibleversesnwt/filter_bibleversesnwt','init', []); } private function fetch_prop($prop,$default){ global $COURSE; if ($this->localconfig && !empty($this->localconfig)) { $this->courseconfig = $this->localconfig; } if (!$this->courseconfig) { $this->courseconfig = filter_get_local_config('bibleversesnwt', context_course::instance($COURSE->id)->id); } if ($this->courseconfig && isset($this->courseconfig[$prop])) { return $this->courseconfig[$prop]; } else { if(!$this->adminconfig) { $this->adminconfig =get_config('filter_bibleversesnwt'); } return isset($this->adminconfig->{$prop}) ? $this->adminconfig->{$prop} : $default; } } function filter($text, array $options = []) { // Return the modified text. $lang = $this->fetch_prop('biblelang','nl'); $bible = new bible($lang); return $bible->parse($text); } }