コード例 #1
0
ファイル: Revision.php プロジェクト: sonvq/2015_freelance6
 public function getDiffObject($original)
 {
     require_once 'Text/Diff.php';
     require_once 'Text/Diff/Renderer/inline.php';
     $diffObject = new SxCms_Page_Revision();
     $renderer = new Text_Diff_Renderer_inline();
     $titleDiff = new Text_Diff('auto', array(array($original->getTitle()), array($this->getTitle())));
     $titleDiff = $renderer->render($titleDiff) ? $renderer->render($titleDiff) : array_pop($titleDiff->getOriginal());
     $summaryDiff = new Text_Diff('auto', array(array($original->getSummary()), array($this->getSummary())));
     $summaryDiff = $renderer->render($summaryDiff) ? $renderer->render($summaryDiff) : array_pop($summaryDiff->getOriginal());
     $summaryDiff = html_entity_decode($summaryDiff);
     $contentDiff = new Text_Diff('auto', array(array($original->getContent()), array($this->getContent())));
     $contentDiff = $renderer->render($contentDiff) ? $renderer->render($contentDiff) : array_pop($contentDiff->getOriginal());
     $contentDiff = html_entity_decode($contentDiff);
     $sourceDiff = new Text_Diff('auto', array(array($original->getSource()), array($this->getSource())));
     $sourceDiff = $renderer->render($sourceDiff) ? $renderer->render($sourceDiff) : array_pop($sourceDiff->getOriginal());
     $linkDiff = new Text_Diff('auto', array(array($original->getLink()), array($this->getLink())));
     $linkDiff = $renderer->render($linkDiff) ? $renderer->render($linkDiff) : array_pop($linkDiff->getOriginal());
     $diffObject->setLanguage($this->getLanguage())->setTitle($titleDiff)->setSummary($summaryDiff)->setContent($contentDiff)->setSource($sourceDiff)->setLink($linkDiff)->setApproved($this->isApproved());
     return $diffObject;
 }
コード例 #2
0
 public function wizardNotesAction()
 {
     $wizard = new Zend_Session_Namespace('Cms_PageWizard');
     $this->view->page = $wizard->page;
     $notes = '';
     $revision = new SxCms_Page_Revision();
     if ($wizard->page->getId() === false) {
         $notes = $this->admin_tmx->_('newpagecreated');
         $revision->setApproved(true);
     }
     $revision->setNotes($notes);
     if ($this->getRequest()->isPost() or isset($wizard->settings)) {
         $lng = $wizard->page->getLanguage();
         $wizard->page->save();
         if (isset($wizard->settings)) {
             $wizard->unsetAll();
             $this->_helper->redirector->gotoSimple('wizard-done', 'page');
         }
         if ($wizard->page->getId() === false) {
             $config = Zend_Registry::get('config');
             foreach ($config->system->language as $lng => $slng) {
                 $revision->setNotes($this->_getParam('notes'))->setLanguage($lng)->setTitle($wizard->page->getTitle())->setTitleFallback($wizard->page->hasTitleFallback())->setSummary($wizard->page->getSummary())->setSummaryFallback($wizard->page->hasSummaryFallback())->setContent($wizard->page->getContent())->setContentFallback($wizard->page->hasContentFallback())->setSource($wizard->page->getSource())->setSourceFallback($wizard->page->hasSourceFallback())->setLink($wizard->page->getLink())->setLinkFallback($wizard->page->hasLinkFallback())->setPageId($wizard->page->getId())->setInvisible($wizard->page->getInvisible())->setSeoTitle($wizard->page->getSeoTitle())->setSeoTags($wizard->page->getSeoTags())->setSeoDescription($wizard->page->getSeoDescription())->save();
                 if (!$this->_getParam('revision')) {
                     $revision->setApproved(true);
                 }
                 if (!$revision->isApproved()) {
                     $revision->warnLiveVersion();
                 } else {
                     $revision->approve();
                 }
             }
         } else {
             $revision->setNotes($this->_getParam('notes'))->setLanguage($lng)->setTitle($wizard->page->getTitle())->setTitleFallback($wizard->page->hasTitleFallback())->setSummary($wizard->page->getSummary())->setSummaryFallback($wizard->page->hasSummaryFallback())->setContent($wizard->page->getContent())->setContentFallback($wizard->page->hasContentFallback())->setSource($wizard->page->getSource())->setSourceFallback($wizard->page->hasSourceFallback())->setLink($wizard->page->getLink())->setLinkFallback($wizard->page->hasLinkFallback())->setPageId($wizard->page->getId())->setInvisible($wizard->page->getInvisible())->setSeoTitle($wizard->page->getSeoTitle())->setSeoTags($wizard->page->getSeoTags())->setSeoDescription($wizard->page->getSeoDescription())->save();
             if (!$this->_getParam('revision')) {
                 $revision->setApproved(true);
             }
             if (!$revision->isApproved()) {
                 $revision->warnLiveVersion();
             } else {
                 $revision->approve();
             }
         }
         $wizard->unsetAll();
         $this->_helper->redirector->gotoSimple('wizard-done', 'page');
     }
     $this->view->revision = $revision;
     $this->view->messages = Sanmax_MessageStack::getInstance('SxCms_Page');
 }
コード例 #3
0
ファイル: Page.php プロジェクト: sonvq/2015_freelance6
 public function addRevision(SxCms_Page_Revision $rev)
 {
     $this->revisions[$rev->getId()] = $rev;
     return $this;
 }
コード例 #4
0
ファイル: Proxy.php プロジェクト: sonvq/2015_freelance6
 public function getPageRevisions($pageId, $language = 'nl')
 {
     $db = Zend_Registry::get('db');
     $select = $db->select()->from(array('p' => 'Page'), array('*'))->join(array('t' => 'PageRev'), 'p.page_id = t.page_id')->where('p.page_id = ?', $pageId)->where('t.language = ?', $language)->order('t.revision_id DESC');
     $stmt = $db->query($select);
     $result = $stmt->fetchAll();
     $revisions = array();
     foreach ($result as $revision) {
         $rev = new SxCms_Page_Revision();
         $rev->setFromArray($revision);
         $revisions[$rev->getId()] = $rev;
     }
     return $revisions;
 }