Example #1
0
 /**
  * @param Page $page
  *
  * @return Section
  */
 public static function getBySectionOfSite($page)
 {
     $identifier = sprintf('/multilingual/section/%s', $page->getCollectionID());
     $cache = \Core::make('cache/request');
     $item = $cache->getItem($identifier);
     if (!$item->isMiss()) {
         $returnID = $item->get();
     } else {
         $item->lock();
         $tree = $page->getSiteTreeObject();
         $returnID = false;
         if ($tree instanceof SiteTree) {
             $returnID = $tree->getSiteHomePageID();
         }
         $cache->save($item->set($returnID));
     }
     if ($returnID) {
         return static::getByID($returnID);
     }
 }
Example #2
0
 private static function addStackToCategory(\Concrete\Core\Page\Page $parent, $name, $type = 0)
 {
     $data = array();
     $data['name'] = $name;
     if (!$name) {
         $data['name'] = t('No Name');
     }
     $pagetype = PageType::getByHandle(STACKS_PAGE_TYPE);
     $page = $parent->add($pagetype, $data);
     // we have to do this because we need the area to exist before we try and add something to it.
     Area::getOrCreate($page, STACKS_AREA_NAME);
     // finally we add the row to the stacks table
     $db = Database::connection();
     $stackCID = $page->getCollectionID();
     $siteTreeID = $parent->getSiteTreeObject()->getSiteTreeID();
     $v = array($name, $stackCID, $type, $siteTreeID);
     $db->Execute('insert into Stacks (stName, cID, stType, siteTreeID) values (?, ?, ?, ?)', $v);
     $stack = static::getByID($stackCID);
     return $stack;
 }