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); } }