コード例 #1
0
 /**
  * Overloads the LeftAndMain::ShowView. Allows to pass a page as a parameter, so we are able
  * to switch view also for archived versions.
  */
 public function SwitchView($page = null)
 {
     if (!$page) {
         $page = $this->currentModule();
     }
     if ($page) {
         $nav = SilverStripeNavigator::get_for_record($page);
         return $nav['items'];
     }
 }
コード例 #2
0
 /**
  * Overloads the LeftAndMain::ShowView. Allows to pass a page as a parameter, so we are able
  * to switch view also for archived versions.
  */
 function SwitchView($page = null)
 {
     if (!$page) {
         $page = $this->currentPage();
     }
     if ($page) {
         $nav = SilverStripeNavigator::get_for_record($page);
         Requirements::customScript("window.name = windowName('cms');");
         return $nav['items'];
     }
 }
コード例 #3
0
 /**
  * @return array
  */
 function SwitchView()
 {
     if ($page = $this->currentPage()) {
         $nav = SilverStripeNavigator::get_for_record($page);
         return $nav['items'];
     }
 }
コード例 #4
0
    public function SilverStripeNavigator()
    {
        $member = Member::currentUser();
        $items = '';
        $message = '';
        if (Director::isDev() || Permission::check('CMS_ACCESS_CMSMain') || Permission::check('VIEW_DRAFT_CONTENT')) {
            if ($this->dataRecord) {
                Requirements::css(SAPPHIRE_DIR . '/css/SilverStripeNavigator.css');
                Requirements::javascript(SAPPHIRE_DIR . '/thirdparty/behaviour/behaviour.js');
                Requirements::javascript(SAPPHIRE_DIR . '/thirdparty/jquery/jquery.js');
                Requirements::javascript(SAPPHIRE_DIR . '/thirdparty/jquery-livequery/jquery.livequery.js');
                Requirements::javascript(SAPPHIRE_DIR . '/javascript/SilverStripeNavigator.js');
                $return = $nav = SilverStripeNavigator::get_for_record($this->dataRecord);
                $items = $return['items'];
                $message = $return['message'];
            }
            if ($member) {
                $firstname = Convert::raw2xml($member->FirstName);
                $surname = Convert::raw2xml($member->Surname);
                $logInMessage = _t('ContentController.LOGGEDINAS', 'Logged in as') . " {$firstname} {$surname} - <a href=\"Security/logout\">" . _t('ContentController.LOGOUT', 'Log out') . "</a>";
            } else {
                $logInMessage = _t('ContentController.NOTLOGGEDIN', 'Not logged in') . " - <a href=\"Security/login\">" . _t('ContentController.LOGIN', 'Login') . "</a>";
            }
            $viewPageIn = _t('ContentController.VIEWPAGEIN', 'View Page in:');
            return <<<HTML
\t\t\t\t<div id="SilverStripeNavigator">
\t\t\t\t\t<div class="holder">
\t\t\t\t\t<div id="logInStatus">
\t\t\t\t\t\t{$logInMessage}
\t\t\t\t\t</div>

\t\t\t\t\t<div id="switchView" class="bottomTabs">
\t\t\t\t\t\t<div class="blank">{$viewPageIn} </div>
\t\t\t\t\t\t{$items}
\t\t\t\t\t</div>
\t\t\t\t\t</div>
\t\t\t\t</div>
\t\t\t\t\t{$message}
HTML;
            // On live sites we should still see the archived message
        } else {
            if ($date = Versioned::current_archived_date()) {
                Requirements::css(SAPPHIRE_DIR . '/css/SilverStripeNavigator.css');
                $dateObj = Object::create('Datetime', $date, null);
                // $dateObj->setVal($date);
                return "<div id=\"SilverStripeNavigatorMessage\">" . _t('ContentController.ARCHIVEDSITEFROM') . "<br>" . $dateObj->Nice() . "</div>";
            }
        }
    }