Ejemplo n.º 1
0
 public function edit($pageArray)
 {
     $pageId = isset($pageArray['id']) ? $pageArray['id'] : $pageArray['page_id'];
     if (!$pageId) {
         throw new Zend_Exception('Invalid Page: No key found for id');
     } else {
         unset($pageArray['page_id']);
         $name = $pageArray['name'];
         unset($pageArray['name']);
         //save the page details
         $currentPage = $this->find($pageId)->current();
         if (!$currentPage) {
             throw new Zend_Exception('Could not load page');
         } else {
             $currentPage->name = $name;
             $currentPage->save();
         }
         //page version
         if (isset($pageArray['version']) && !empty($pageArray['version'])) {
             $version = $pageArray['version'];
         } else {
             $siteSettings = new Model_SiteSettings();
             $version = $this->getDefaultVersion();
         }
         //update the content
         $contentNode = new Model_ContentNode();
         if (count($pageArray) > 0) {
             foreach ($pageArray as $node => $content) {
                 if (!in_array($node, $this->_ignoredFields)) {
                     $contentNode->set($pageId, $node, $content, $version);
                 }
             }
         }
         $this->_flushCache();
         return $this->open($pageId, $version);
     }
 }