public function index() { $revision = \Ip\ServiceLocator::content()->getCurrentRevision(); if ($revision) { return \Ip\Internal\Content\Model::generateBlock('main', $revision['revisionId'], 0, ipIsManagementState()); } else { return ''; } }
public static function ipBeforeController() { //show admin submenu if needed if (ipRoute()->isAdmin()) { ipAddJs('Ip/Internal/Core/assets/js/jquery-ui/jquery-ui.js'); ipAddCss('Ip/Internal/Core/assets/js/jquery-ui/jquery-ui.css'); $submenu = Submenu::getSubmenuItems(); $submenu = ipFilter('ipAdminSubmenu', $submenu); if ($submenu) { ipResponse()->setLayoutVariable('submenu', $submenu); } } // Show admin toolbar if admin is logged in: if (ipAdminId() && !ipRequest()->getRequest('pa') || ipRequest()->getRequest('aa') && ipAdminId()) { if (!ipRequest()->getQuery('ipDesignPreview') && !ipRequest()->getQuery('disableAdminNavbar')) { ipAddJs('Ip/Internal/Admin/assets/admin.js'); ipAddJsVariable('ipAdminNavbar', static::getAdminNavbarHtml()); } } // Show popup with autogenerated user information if needed $adminIsAutogenerated = ipStorage()->get('Ip', 'adminIsAutogenerated'); if ($adminIsAutogenerated) { $adminId = \Ip\Internal\Admin\Backend::userId(); $admin = \Ip\Internal\Administrators\Model::getById($adminId); ipAddJs('Ip/Internal/Admin/assets/adminIsAutogenerated.js'); $data = array('adminUsername' => $admin['username'], 'adminPassword' => ipStorage()->get('Ip', 'adminIsAutogenerated'), 'adminEmail' => $admin['email']); ipAddJsVariable('ipAdminIsAutogenerated', ipView('view/adminIsAutoGenerated.php', $data)->render()); } if (ipContent()->getCurrentPage()) { // initialize management if (ipIsManagementState()) { if (!ipRequest()->getQuery('ipDesignPreview') && !ipRequest()->getQuery('disableManagement')) { \Ip\Internal\Content\Helper::initManagement(); } } //show page content $response = ipResponse(); $response->setDescription(\Ip\ServiceLocator::content()->getDescription()); $response->setKeywords(ipContent()->getKeywords()); $response->setTitle(ipContent()->getTitle()); } }
private function generateBlockHtml($revisionId) { $predefinedContent = \Ip\ServiceLocator::content()->getBlockContent($this->name); if ($predefinedContent !== null) { return $predefinedContent; } if (ipContent()->getCurrentPage() == null && $revisionId == 0 && !$this->isStatic) { return ''; } if ($this->isStatic) { $languageId = ipContent()->getCurrentLanguage()->getId(); $revisionId = 0; } else { if ($revisionId === 0) { $revision = \Ip\ServiceLocator::content()->getCurrentRevision(); if ($revision) { $revisionId = $revision['revisionId']; } } $languageId = 0; } return \Ip\Internal\Content\Model::generateBlock($this->name, $revisionId, $languageId, ipIsManagementState(), $this->exampleContent); }
/** * Used when management is needed in controller routed using routes. * @param $info * @return null */ public static function ipBeforeController_70($info) { if (empty($info['page']) || empty($info['management']) || !ipIsManagementState()) { return null; } //find current page $page = $info['page']; // change layout if safe mode if (\Ip\Internal\Admin\Service::isSafeMode()) { ipSetLayout(ipFile('Ip/Internal/Admin/view/safeModeLayout.php')); } else { ipSetLayout($page->getLayout()); } // initialize management if (!ipRequest()->getQuery('ipDesignPreview') && !ipRequest()->getQuery('disableManagement')) { Helper::initManagement(); } //show page content $response = ipResponse(); $response->setDescription(\Ip\ServiceLocator::content()->getDescription()); $response->setKeywords(ipContent()->getKeywords()); $response->setTitle(ipContent()->getTitle()); }
protected function getCurrentRevision() { return \Ip\ServiceLocator::content()->getCurrentRevision(); }
/** * @return array */ public static function initManagementData() { $tmpWidgets = Model::getAvailableWidgetObjects(); $tmpWidgets = Model::sortWidgets($tmpWidgets); $tags = array('Core' => array()); $uncategorizedWidgets = array(); unset($tmpWidgets['Columns']); foreach ($tmpWidgets as $key => $widget) { if ($widget->isCore()) { $tags['Core'][$key] = $widget->getName(); } else { $pluginName = $widget->getPluginName(); if (!array_key_exists($pluginName, $tags)) { $tags[$pluginName] = array(); } $tags[$pluginName][] = $widget->getName(); } } // Filter out single widget categories foreach ($tags as $key => $widget) { $widgetCount = count($tags[$key]); if ($widgetCount === 1) { $uncategorizedWidgets[] = $widget[0]; unset($tags[$key]); } } if (count($uncategorizedWidgets) > 0) { $tags['Other'] = $uncategorizedWidgets; } //these two tranlsations appear here just to make translations engine to find these dynamic translations __('Other', 'Ip-admin', false); __('Core', 'Ip-admin', false); $revision = \Ip\ServiceLocator::content()->getCurrentRevision(); $revisions = \Ip\Internal\Revision::getPageRevisions(ipContent()->getCurrentPage()->getId()); $manageableRevision = isset($revisions[0]['revisionId']) && $revisions[0]['revisionId'] == $revision['revisionId']; $page = ipContent()->getCurrentPage(); $tags = ipFilter('ipAdminWidgets', $tags); $data = array('widgets' => $tmpWidgets, 'tags' => $tags, 'page' => $page, 'currentRevision' => $revision, 'manageableRevision' => $manageableRevision, 'categorySplit' => 3, 'mobile' => Browser::isMobile()); $controlPanelHtml = ipView('view/adminPanel.php', $data)->render(); $data = array('tags' => $tags, 'controlPanelHtml' => $controlPanelHtml, 'manageableRevision' => $manageableRevision); return $data; }
public static function ipAdminNavbarCenterElements($elements, $info) { if (ipContent()->getCurrentPage() && ipAdminPermission('Content')) { $revision = \Ip\ServiceLocator::content()->getCurrentRevision(); $revisions = \Ip\Internal\Revision::getPageRevisions(ipContent()->getCurrentPage()->getId()); $managementUrls = array(); $currentPageLink = ipContent()->getCurrentPage()->getLink(); foreach ($revisions as $value) { $managementUrls[] = $currentPageLink . '?_revision=' . $value['revisionId']; } $data = array('revisions' => $revisions, 'currentRevision' => $revision, 'managementUrls' => $managementUrls, 'isPublished' => !\Ip\Internal\Content\Model::isRevisionModified($revision['revisionId']) && ipContent()->getCurrentPage()->isVisible(), 'isVisible' => ipContent()->getCurrentPage()->isvisible()); $elements[] = ipView('view/publishButton.php', $data); } return $elements; }
/** * Generate language URL * * @return string Returns link to home page if multilingual option is turned off */ public function getLink() { $link = ipConfig()->baseUrl(); if (ipConfig()->get('rewritesDisabled')) { $link .= 'index.php/'; } $link .= \Ip\ServiceLocator::content()->getLanguage($this->getId())->getUrlPath(); return $link; }
/** * Get HTML attributes for <html> tag. * * @param int|null $doctype Doctype value. For constant value list, see \Ip\Response\Layout class definition. * @return string A string with generated attributes for <html> tag. */ function ipHtmlAttributes($doctype = null) { $content = \Ip\ServiceLocator::content(); if ($doctype === null) { $doctypeConstant = ipConfig()->get('defaultDoctype'); $doctype = constant('\\Ip\\Response\\Layout::' . $doctypeConstant); } switch ($doctype) { case \Ip\Response\Layout::DOCTYPE_XHTML1_STRICT: case \Ip\Response\Layout::DOCTYPE_XHTML1_TRANSITIONAL: case \Ip\Response\Layout::DOCTYPE_XHTML1_FRAMESET: $lang = $content->getCurrentLanguage()->getCode(); $answer = ' xmlns="http://www.w3.org/1999/xhtml" xml:lang="' . $lang . '" lang="' . $lang . '"'; break; case \Ip\Response\Layout::DOCTYPE_HTML4_STRICT: case \Ip\Response\Layout::DOCTYPE_HTML4_TRANSITIONAL: case \Ip\Response\Layout::DOCTYPE_HTML4_FRAMESET: default: $answer = ''; break; case \Ip\Response\Layout::DOCTYPE_HTML5: $lang = $content->getCurrentLanguage()->getCode(); $answer = ' lang="' . escAttr($lang) . '"'; break; } return $answer; }