Example #1
0
 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);
 }