public function savePage() { if (!isset($_POST['revisionId'])) { return $this->_errorAnswer('Missing revisionId POST variable'); } $revisionId = $_POST['revisionId']; $publish = !empty($_POST['publish']); $revision = \Ip\Internal\Revision::getRevision($revisionId); if (!$revision) { return $this->_errorAnswer('Can\'t find revision. RevisionId \'' . $revisionId . '\''); } if ($publish) { $pageOptions = array(); $pageOptions['updatedAt'] = date("Y-m-d"); $pageOptions['isVisible'] = 1; \Ip\Internal\Pages\Model::updatePageProperties($revision['pageId'], $pageOptions); } \Ip\Internal\Revision::publishRevision($revisionId); $newRevisionId = \Ip\Internal\Revision::duplicateRevision($revisionId); $page = new \Ip\Page($revision['pageId']); $data = array('status' => 'success', 'action' => '_savePageResponse', 'newRevisionId' => $newRevisionId, 'newRevisionUrl' => $page->getLink()); return new \Ip\Response\Json($data); }