Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in /home/monara/public_html/test.athavaneng.com/themes.php on line 99

Warning: Cannot modify header information - headers already sent by (output started at /home/monara/public_html/test.athavaneng.com/themes.php:1) in /home/monara/public_html/test.athavaneng.com/themes.php on line 226

Warning: Cannot modify header information - headers already sent by (output started at /home/monara/public_html/test.athavaneng.com/themes.php:1) in /home/monara/public_html/test.athavaneng.com/themes.php on line 227

Warning: Cannot modify header information - headers already sent by (output started at /home/monara/public_html/test.athavaneng.com/themes.php:1) in /home/monara/public_html/test.athavaneng.com/themes.php on line 228

Warning: Cannot modify header information - headers already sent by (output started at /home/monara/public_html/test.athavaneng.com/themes.php:1) in /home/monara/public_html/test.athavaneng.com/themes.php on line 229

Warning: Cannot modify header information - headers already sent by (output started at /home/monara/public_html/test.athavaneng.com/themes.php:1) in /home/monara/public_html/test.athavaneng.com/themes.php on line 230

Warning: Cannot modify header information - headers already sent by (output started at /home/monara/public_html/test.athavaneng.com/themes.php:1) in /home/monara/public_html/test.athavaneng.com/themes.php on line 231
. declare(strict_types=1); namespace core\output\dynamic_tabs; use moodle_exception; use templatable; /** * Class tab_base * * @package core * @copyright 2018 Marina Glancy * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ abstract class base implements templatable { /** @var array */ protected $data; /** * tab constructor. * * @param array $data */ final public function __construct(array $data) { $this->data = $data; } /** * HTML "id" attribute that should be used for this tab, by default the last part of class name * * @return string */ public function get_tab_id(): string { $parts = preg_split('/\\\\/', static::class); return array_pop($parts); } /** * The label to be displayed on the tab * * @return string */ abstract public function get_tab_label(): string; /** * Check permission of the current user to access this tab * * @return bool */ abstract public function is_available(): bool; /** * Check that tab is accessible, throw exception otherwise - used from WS requesting tab contents * * @throws moodle_exception */ final public function require_access() { if (!$this->is_available()) { throw new moodle_exception('nopermissiontoaccesspage', 'error'); } } /** * Template to use to display tab contents * * @return string */ abstract public function get_template(): string; /** * Return tab data attributes * * @return array */ public function get_data(): array { return $this->data; } /** * Add custom data to the tab data attributes * * @param array $data */ public function add_data(array $data): void { $this->data = array_merge($this->data, $data); } }