/** * Handle on_new_revision event * * @param Page $page * @param PageVersion $version * @param User $by * @return null */ function pages_handle_on_new_revision($page, $version, $by) { if (instance_of($page, 'Page')) { $page->sendToSubscribers('pages/new_revision', array('created_by_url' => $by->getViewUrl(), 'created_by_name' => $by->getDisplayName(), 'revision_num' => $page->getRevisionNum(), 'old_url' => $version->getViewUrl(), 'old_name' => $version->getName(), 'old_body' => $version->getFormattedBody(), 'new_url' => $page->getViewUrl(), 'new_name' => $page->getName(), 'new_body' => $page->getFormattedBody()), $by->getId()); } // if }
/** * Revert to version * * @param PageVersion $version * @return boolean */ function revertToVersion($version) { $this->setName($version->getName()); $this->setBody($version->getBody()); $this->setUpdatedBy($version->getCreatedBy()); $this->setRevisionNum($this->getRevisionNum() + 1); return $this->save(); }