Example #1
0
 public function getPageCollection($where, $order, $limit)
 {
     global $dRep;
     $selectorSql = isset($where['published']) ? '' : "AND currentRevision = 1";
     $where = $this->sqlBuilder->createWhere($where, '');
     $limit = $limit !== null && is_int($limit) ? 'LIMIT ' . $limit : '';
     $order = $limit !== null && is_string($order) ? $order : 'pageOrder';
     $sql = "SELECT * FROM ink_pages WHERE \n\t\t\t\t{$where} {$selectorSql} ORDER BY '{$order}' ASC {$limit};";
     $data = $this->runManyQuery($sql);
     $pages = array();
     foreach ($data as $index => $row) {
         if (!empty($row['pageId'])) {
             $properties = array('id' => $row['pageId'], 'revisionId' => $row['revisionId'], 'parent' => $row['parentId'], 'order' => $row['pageOrder'], 'author' => $dRep->getUser($row['authorId']), 'template' => $dRep->getTemplate($row['templateId']), 'created' => $row['dateCreated'], 'published' => $row['published'], 'publishedDate' => $row['pubDate'], 'revisions' => $this->getPagerevisions($row['pageId']), 'siteId' => $row['siteId'], 'index' => $row['indexpage']);
             $page = new Page();
             $page->setProperties($properties);
             $page = $this->getPageLanguage($page);
             $page = $this->getSpotvalues($page);
             $this->pageCache[$row['pageId']] = $page;
             $pages[] = $page;
         }
     }
     return $pages;
 }
Example #2
0
 private function getPage()
 {
     global $varChecker;
     try {
         $id = $varChecker->getValue('id');
         if ($id == 'new') {
             throw new DataException('newpage');
         }
         //return session page if we have it
         $page = $this->dRep->getPage($id, false);
         if ($page->getSiteId() == $this->INK_User->getCustomer()->getSite()->getId()) {
             $page = $page instanceof Page ? $page : $this->dRep->getPage($varChecker->getValue('id'));
         }
     } catch (DataException $e) {
         //we are visiting for first time, clear session, maybe to this in Repository?
         unset($_SESSION['Page']);
         $pages = $this->dRep->getPageCollection(array('parent' => 0, 'siteId' => $this->INK_User->getCustomer()->getSite()->getId()));
         if (count($pages) > 0) {
             return $pages[0];
         }
         $page = new Page();
         $page->setProperties(array('id' => 'new'));
     }
     return $page;
 }