Ejemplo n.º 1
0
 /**
  * Get an array of Curry\Module\PageModuleWrapper objects for all modules on the PageRevision we are rendering.
  *
  * @return \Curry\Module\PageModuleWrapper[]
  */
 protected function getPageModuleWrappers()
 {
     $langcode = (string) \Curry_Language::getLangCode();
     $cacheName = md5(__CLASS__ . '_ModuleWrappers_' . $this->pageRevision->getPageRevisionId() . '_' . $langcode);
     if (($moduleWrappers = $this->app->cache->load($cacheName)) === false) {
         $moduleWrappers = $this->pageRevision->getPageModuleWrappers($langcode);
         $this->app->cache->save($moduleWrappers, $cacheName);
     }
     return $moduleWrappers;
 }
Ejemplo n.º 2
0
 protected function find(ModelCriteria $query, $params)
 {
     $all = $this->pageRevision->getPageModuleWrappers($this->langcode);
     $user = User::getUser();
     if ($user->hasPagePermission($this->pageRevision->getPage(), PageAccessPeer::PERM_MODULES)) {
         return $all;
     }
     $wrappers = array();
     foreach ($all as $wrapper) {
         if ($user->hasModuleAccess($wrapper)) {
             $wrappers[] = $wrapper;
         }
     }
     return $wrappers;
 }
Ejemplo n.º 3
0
 /**
  * Get "copy code" for page revision.
  *
  * @param PageRevision $pageRevision
  * @return array
  */
 public static function getPageRevisionCode(PageRevision $pageRevision)
 {
     $modules = array();
     foreach ($pageRevision->getPageModuleWrappers() as $pmw) {
         $modules[] = self::getModuleCode($pmw);
     }
     return array("base_page" => $pageRevision->getBasePage() ? $pageRevision->getBasePage()->getUrl() : null, "description" => $pageRevision->getDescription(), "template" => $pageRevision->getTemplate(), "modules" => $modules);
 }