title = $title; $this->bodyClass = $bodyClass; _ob_start(); if ($loadBasicCSSAndJS) { $this->loadBasicCSSAndJS(); } } public function loadBasicCSSAndJS() { $this->setExtraScripts( array( 'view/css/DataTables/datatables.min.js', 'view/js/bootstrap-datetimepicker/js/bootstrap-datetimepicker.min.js' ) ); $this->setExtraStyles( array( 'view/css/DataTables/datatables.min.css', 'view/js/bootstrap-datetimepicker/css/bootstrap-datetimepicker.min.css' ) ); } public function setTitle(string $title) { $this->title = $title; } public function setBodyClass(string $bodyClass) { $this->bodyClass = $bodyClass; } public function setExtraScripts(array $extraScripts) { $this->extraScripts = $extraScripts; } public function setExtraStyles(array $extraStyles) { $this->extraStyles = $extraStyles; } public function setInlineStyles(string $inlineStyles) { $this->inlineStyles = $inlineStyles; } public function setInlineScripts(string $inlineScripts) { $this->inlineScripts = $inlineScripts; } public function setBodyContent(string $bodyContent) { $this->bodyContent = $bodyContent; } public function setIncludeNavbar(bool $includeNavbar) { $this->includeNavbar = $includeNavbar; } public function setIncludeFooter(bool $includeFooter) { $this->includeFooter = $includeFooter; } public function setIncludeInHead(array $includeInHead) { $this->includeInHead = $includeInHead; } public function setIncludeInBody(array $includeInBody) { $this->includeInBody = $includeInBody; } public function setIncludeInFooter(array $includeInFooter) { $this->includeInFooter = $includeInFooter; } public function setIncludeBGAnimation(bool $includeBGAnimation) { $this->includeBGAnimation = $includeBGAnimation; } public function getHead() { global $config, $global; if (!is_array($this->title)) { $this->title = array($this->title); } foreach ($this->title as $key => $value) { $this->title[$key] = __($value); } echo ""; echo getHTMLTitle($this->title); //echo "" . implode($config->getPageTitleSeparator(), $this->title) . getSEOComplement() . $config->getPageTitleSeparator() . $config->getWebSiteTitle() . ""; include $global['systemRootPath'] . 'view/include/head.php'; if (!empty($this->includeInHead)) { foreach ($this->includeInHead as $value) { if(!empty($value)){ if(!file_exists($value)){ $value = $global['systemRootPath'] . $value; } if(file_exists($value)){ include $value; }else{ echo ""; } } } } if (!empty($this->extraStyles)) { foreach ($this->extraStyles as $style) { echo ""; } } if (!empty($this->inlineStyles)) { echo ""; } echo ""; } public function getNavBar() { global $global; if($this->includeBGAnimation){ CustomizeUser::autoIncludeBGAnimationFile(); } $redirectUri = getRedirectUri(); if (stripos($redirectUri, "embed/") !== false) { $this->includeNavbar = false; } if ($this->includeNavbar) { // Your navbar HTML include $global['systemRootPath'] . 'view/include/navbar.php'; } } public function getFooter() { global $config, $global; if ($this->includeFooter) { // Your footer HTML include $global['systemRootPath'] . 'view/include/footer.php'; } if (!empty($this->includeInFooter)) { foreach ($this->includeInFooter as $value) { if(!empty($value)){ if(!file_exists($value)){ $value = $global['systemRootPath'] . $value; } if(file_exists($value)){ include $value; }else{ echo ""; } } } } if (!empty($this->extraScripts)) { foreach ($this->extraScripts as $script) { echo ""; } } if (!empty($this->inlineScripts)) { echo ""; } } public function getContent() { global $global; $rtl = ''; if (isRTL()) { $rtl = 'rtl'; } echo "bodyClass}\">"; $this->getNavBar(); //echo '
Loading...
'; //echo '
'; if (!empty($this->includeInBody)) { foreach ($this->includeInBody as $value) { if(!empty($value)){ if(!file_exists($value)){ $value = $global['systemRootPath'] . $value; } if(file_exists($value)){ include $value; }else{ echo ""; } } } } echo $this->bodyContent; //echo '
'; $this->getFooter(); echo ""; } public function getPage() { echo ""; echo ""; $this->getHead(); $this->getContent(); echo ""; } public function print($include_end = true) { global $config, $global; if(!empty($global['doNotPrintPage'])){ return; } $html = _ob_get_clean(); _ob_start(); $this->bodyContent = $html; $this->getPage(); if ($include_end) { include_once $global['systemRootPath'] . 'objects/include_end.php'; } } public function printEditorIndex($plugin, $classname) { $this->loadBasicCSSAndJS(); $this->setIncludeInHead(array("plugin/{$plugin}/View/{$classname}/index_head.php")); $this->setIncludeInBody(array("plugin/{$plugin}/View/{$classname}/index_body.php")); $this->print(); } public function printEditorIndexFromFile($file) { global $config, $global; $file = str_replace($global['systemRootPath'], '', $file); $title = str_replace('/index.php', '', $file); $parts = explode('/View/', $title); $title = $parts[1]; $title = ucwords(str_replace('_', ' ', $title)); $this->setTitle($title); $head = str_replace('index.php', 'index_head.php', $file); $body = str_replace('index.php', 'index_body.php', $file); //var_dump($title, $file, $head, $body);exit; $this->loadBasicCSSAndJS(); $this->setIncludeInHead(array($head)); $this->setIncludeInBody(array($body)); $this->print(); } }