コード例 #1
0
ファイル: Model.php プロジェクト: sspaeti/ImpressPages
 private static function getMenuAliases()
 {
     $cfgMenuString = ipGetOption('Sitemap.menuList');
     if ($cfgMenuString) {
         $menus = preg_split("/[\\s,]+/", $cfgMenuString);
     } else {
         $currLanguage = ipContent()->getCurrentLanguage()->getCode();
         $menusObj = \Ip\Internal\Pages\Service::getMenus($currLanguage);
         $menus = array();
         foreach ($menusObj as $menuObj) {
             $menus[] = $menuObj['alias'];
         }
     }
     return $menus;
 }
コード例 #2
0
ファイル: Job.php プロジェクト: Umz/ImpressPages
 /**
  * @return mixed
  */
 public static function ipDefaultPageId_70($info)
 {
     $languageCode = $info['languageCode'];
     $defaultPageId = ipGetOption('Config.defaultPageId_' . $languageCode, null);
     if ($defaultPageId) {
         return $defaultPageId;
     }
     $menus = \Ip\Internal\Pages\Service::getMenus($languageCode);
     foreach ($menus as $menu) {
         $pages = \Ip\Internal\Pages\Service::getChildren($menu['id'], 0, 1);
         if (!empty($pages[0]['id'])) {
             return $pages[0]['id'];
         }
     }
     return null;
 }
コード例 #3
0
ファイル: Job.php プロジェクト: Umz/ImpressPages
 /**
  * @param $info
  * @return array|null
  * @throws \Ip\Exception
  */
 public static function ipRouteAction_70($info)
 {
     $result = \Ip\ServiceLocator::router()->match(rtrim($info['relativeUri'], '/'), ipRequest());
     if (!$result) {
         return null;
     }
     if (is_callable($result['action'])) {
         unset($result['plugin'], $result['controller']);
     }
     if (empty($result['page'])) {
         if ($info['relativeUri'] == '') {
             $pageId = ipContent()->getDefaultPageId();
             $page = \Ip\Internal\Pages\Service::getPage($pageId);
         } else {
             $languageCode = ipContent()->getCurrentLanguage()->getCode();
             $page = \Ip\Internal\Pages\Service::getPageByUrl($languageCode, $info['relativeUri']);
         }
         if ($page && (!$page['isSecured'] || !ipAdminId())) {
             $result['page'] = new \Ip\Page($page);
         }
     }
     return $result;
 }
コード例 #4
0
ファイル: Content.php プロジェクト: Umz/ImpressPages
 /**
  * @param $languageCode
  * @param $alias
  * @param $title
  * @param string $type 'tree' or 'list'
  * @return int
  */
 public function addMenu($languageCode, $alias, $title, $type = 'tree')
 {
     return \Ip\Internal\Pages\Service::createMenu($languageCode, $alias, $title, $type);
 }
コード例 #5
0
ファイル: AdminController.php プロジェクト: Umz/ImpressPages
 public function emptyTrash()
 {
     ipRequest()->mustBePost();
     $data = ipRequest()->getPost();
     if (!isset($data['pages'])) {
         throw new \Ip\Exception('Missing required parameters');
     }
     $data['pages'] = explode('|', $data['pages']);
     unset($data['pages'][0]);
     \Ip\Internal\Pages\Service::emptyTrash($data['pages']);
     $answer = array('status' => 'success');
     return new \Ip\Response\Json($answer);
 }