Example #1
0
 /**
  * getRevisionLink
  *
  * @param Page           $page
  * @param RevisionEntity $revision
  *
  * @return string
  */
 public function getRevisionLink(Page $page, RevisionEntity $revision)
 {
     $view = $this->getView();
     $revisionId = $revision->getRevisionId();
     $publishedId = $page->getPublishedRevision();
     $stagedId = $page->getStagedRevision();
     if (!empty($publishedId) && $publishedId->getRevisionId() == $revision->getRevisionId() || !empty($stagedId) && $stagedId->getRevisionId() == $revision->getRevisionId()) {
         $revisionId = null;
     }
     $html = '<a href="' . $view->urlToPage($page->getName(), $page->getPageType(), $revisionId) . '">';
     $html .= $this->getRevisionType($page, $revision) . ' - ' . $revision->getAuthor();
     $html .= '</a>';
     return $html;
 }
Example #2
0
 /**
  * prepPageRevisionForDisplay
  *
  * @param Page $page
  * @param null $pageRevisionId
  *
  * @return void|Response
  */
 public function prepPageRevisionForDisplay(Page $page, $pageRevisionId = null)
 {
     //  First Check for a page Revision
     if (!empty($pageRevisionId)) {
         $userCanSeeRevisions = $this->shouldShowRevisions($page->getSite()->getSiteId(), $page->getName(), $page->getPageType());
         if ($userCanSeeRevisions) {
             $revision = $page->getRevisionById($pageRevisionId);
             if (!empty($revision) || $revision instanceof Revision) {
                 $page->setCurrentRevision($revision);
             }
             return;
         } else {
             return $this->redirectToPage($page->getName(), $page->getPageType());
         }
     }
     // Check for staging
     if ($this->rcmIsSiteAdmin($page->getSite())) {
         $revision = $page->getStagedRevision();
         if (!empty($revision) || $revision instanceof Revision) {
             $page->setCurrentRevision($revision);
             return;
         }
     }
     // Finally look for published revision
     $revision = $page->getPublishedRevision();
     if (!empty($revision) || $revision instanceof Revision) {
         $page->setCurrentRevision($revision);
     }
     return;
 }