Permalink
Browse files

MINOR Moved SilverStripeNavigator from 'sapphire' to 'cms'

  • Loading branch information...
1 parent 3dc5c2b commit 4adcdba22603aaff3558af8e2357b36b7ae3cc6b @chillu chillu committed Mar 22, 2011
View
189 core/control/SilverStripeNavigatorItem.php
@@ -1,189 +0,0 @@
-<?php
-/**
- * @package cms
- * @subpackage content
- */
-class SilverStripeNavigator {
-
- /**
- * @param SiteTree $record
- * @return Array template data
- */
- static function get_for_record($record) {
- $items = '';
- $message = '';
-
- $navItemClasses = ClassInfo::subclassesFor('SilverStripeNavigatorItem');
- array_shift($navItemClasses);
-
- // Sort menu items according to priority
- $menuPriority = array();
- $i = 0;
- foreach($navItemClasses as $navItemClass) {
- if($navItemClass == 'SilverStripeNavigatorItem') continue;
-
- $i++;
- $obj = new $navItemClass();
- // This funny litle formula ensures that the first item added with the same priority will be left-most.
- $priority = Object::get_static($navItemClass, 'priority');
- $menuPriority[$priority * 100 - 1] = $obj;
- }
- ksort($menuPriority);
-
- foreach($menuPriority as $obj) {
-
- $text = $obj->getHTML($record);
- if($text) $items .= $text;
- $newMessage = $obj->getMessage($record);
- if($newMessage) $message = $newMessage;
- }
-
- return array(
- 'items' => $items,
- 'message' => $message
- );
- }
-}
-
-/**
- * Navigator items are links that appear in the $SilverStripeNavigator bar.
- * To add an item, extends this class.
- *
- * @package cms
- * @subpackage content
- */
-class SilverStripeNavigatorItem extends Object {
- function getHTML($page) {}
- function getMessage($page) {}
-}
-
-/**
- * @package cms
- * @subpackage content
- */
-class SilverStripeNavigatorItem_CMSLink extends SilverStripeNavigatorItem {
- static $priority = 10;
-
- function getHTML($page) {
- if(is_a(Controller::curr(), 'CMSMain')) {
- return '<a class="current">CMS</a>';
- } else {
- $cmsLink = 'admin/show/' . $page->ID;
- $cmsLink = "<a href=\"$cmsLink\" class=\"newWindow\" target=\"cms\">". _t('ContentController.CMS', 'CMS') ."</a>";
-
- return $cmsLink;
- }
- }
-
- function getLink($page) {
- if(is_a(Controller::curr(), 'CMSMain')) {
- return Controller::curr()->AbsoluteLink('show') . $page->ID;
- }
- }
-
-}
-
-/**
- * @package cms
- * @subpackage content
- */
-class SilverStripeNavigatorItem_StageLink extends SilverStripeNavigatorItem {
- static $priority = 20;
-
- function getHTML($page) {
- if(Versioned::current_stage() == 'Stage' && !(ClassInfo::exists('SiteTreeFutureState') && SiteTreeFutureState::get_future_datetime())) {
- return "<a class=\"current\">". _t('ContentController.DRAFTSITE', 'Draft Site') ."</a>";
- } else {
- $draftPage = Versioned::get_one_by_stage('SiteTree', 'Stage', '"SiteTree"."ID" = ' . $page->ID);
- if($draftPage) {
- $pageLink = Controller::join_links($draftPage->AbsoluteLink(), "?stage=Stage");
- return "<a href=\"$pageLink\" class=\"newWindow\" target=\"site\" style=\"left : -1px;\">". _t('ContentController.DRAFTSITE', 'Draft Site') ."</a>";
- }
- }
- }
-
- function getMessage($page) {
- if(Versioned::current_stage() == 'Stage') {
- return "<div id=\"SilverStripeNavigatorMessage\" title=\"". _t('ContentControl.NOTEWONTBESHOWN', 'Note: this message will not be shown to your visitors') ."\">". _t('ContentController.DRAFTSITE', 'Draft Site') ."</div>";
- }
- }
-
- function getLink($page) {
- if(Versioned::current_stage() == 'Stage') {
- return Controller::join_links($page->AbsoluteLink(), '?stage=Stage');
- }
- }
-}
-
-/**
- * @package cms
- * @subpackage content
- */
-class SilverStripeNavigatorItem_LiveLink extends SilverStripeNavigatorItem {
- static $priority = 30;
-
- function getHTML($page) {
- if(Versioned::current_stage() == 'Live') {
- return "<a class=\"current\">". _t('ContentController.PUBLISHEDSITE', 'Published Site') ."</a>";
- } else {
- $livePage = Versioned::get_one_by_stage('SiteTree', 'Live', '"SiteTree"."ID" = ' . $page->ID);
- if($livePage) {
- $pageLink = Controller::join_links($livePage->AbsoluteLink(), "?stage=Live");
- return "<a href=\"$pageLink\" class=\"newWindow\" target=\"site\" style=\"left : -3px;\">". _t('ContentController.PUBLISHEDSITE', 'Published Site') ."</a>";
- }
- }
- }
-
- function getMessage($page) {
- if(Versioned::current_stage() == 'Live') {
- return "<div id=\"SilverStripeNavigatorMessage\" title=\"". _t('ContentControl.NOTEWONTBESHOWN', 'Note: this message will not be shown to your visitors') ."\">". _t('ContentController.PUBLISHEDSITE', 'Published Site') ."</div>";
- }
- }
-
- function getLink($page) {
- if(Versioned::current_stage() == 'Live') {
- return Controller::join_links($page->AbsoluteLink(), '?stage=Live');
- }
- }
-}
-
-/**
- * @package cms
- * @subpackage content
- */
-class SilverStripeNavigatorItem_ArchiveLink extends SilverStripeNavigatorItem {
- static $priority = 40;
-
- function getHTML($page) {
- if(Versioned::current_archived_date()) {
- return "<a class=\"current\">". _t('ContentController.ARCHIVEDSITE', 'Archived Site') ."</a>";
- } else {
- // Display the archive link if the page currently displayed in the CMS is other version than live and draft
- $currentDraft = Versioned::get_one_by_stage('SiteTree', 'Draft', '"SiteTree"."ID" = ' . $page->ID);
- $currentLive = Versioned::get_one_by_stage('SiteTree', 'Live', '"SiteTree"."ID" = ' . $page->ID);
- if(
- (!$currentDraft || ($currentDraft && $page->Version != $currentDraft->Version))
- && (!$currentLive || ($currentLive && $page->Version != $currentLive->Version))
- ) {
- $pageLink = $page->AbsoluteLink();
- return "<a href=\"$pageLink?archiveDate={$page->LastEdited}\" class=\"newWindow\" target=\"site\" style=\"left : -3px;\">". _t('ContentController.ARCHIVEDSITE', 'Archived Site') ."</a>";
- }
- }
- }
-
- function getMessage($page) {
- if($date = Versioned::current_archived_date()) {
- $dateObj = Object::create('Datetime');
- $dateObj->setValue($date);
- return "<div id=\"SilverStripeNavigatorMessage\" title=\"". _t('ContentControl.NOTEWONTBESHOWN', 'Note: this message will not be shown to your visitors') ."\">". _t('ContentController.ARCHIVEDSITEFROM', 'Archived site from') ."<br>" . $dateObj->Nice() . "</div>";
- }
- }
-
- function getLink($page) {
- if($date = Versioned::current_archived_date()) {
- return $page->AbsoluteLink() . '?archiveDate=' . $date;
- }
- }
-}
-
-?>
View
111 css/SilverStripeNavigator.css
@@ -1,111 +0,0 @@
-
-#SilverStripeNavigator {
- position: fixed;
- bottom: 0;
- left: 0;
- width: 100%;
- border-top: 2px solid #d4d0c8;
- background-color:#81858d;
- height: 22px;
- background: #4d4e5a url(../../cms/images/textures/footerBg.gif) repeat-x left top;
-}
-
-#SilverStripeNavigator * {
- font-family: Arial,Helvetica,sans-serif;
- font-size: 10px !important;
-}
-
-#SilverStripeNavigator .holder {
- text-align: center;
- padding-top : 4px;
- padding-left : 3px;
- padding-right : 6px;
- color: white;
- border-top: 1px solid #555555;
-}
-#SilverStripeNavigator #logInStatus {
- float: right;
-}
-#SilverStripeNavigator #switchView {
- float: left;
-
-}
-
-#SilverStripeNavigator a {
- color: #fff;
- background-color: transparent;
- text-decoration: underline;
-}
-#SilverStripeNavigator a:hover {
- background-color: transparent;
-}
-
-#SilverStripeNavigator .bottomTabs a {
- margin-right: 8px;
- text-decoration: underline;
-}
-
-#SilverStripeNavigator .bottomTabs div.blank {
- display: block;
- float : left;
- height : 13px;
- position:relative;
- top : -2px;
- cursor: pointer;
- border : none;
- background-color: transparent;
- padding: 2px 4px 2px 2px;
- font-weight: bold;
-}
-
-
-#SilverStripeNavigator .bottomTabs a.current {
- font-weight:bold;
- text-decoration: none;
-}
-
-#SilverStripeNavigatorMessage {
- font-family: 'Lucida Grande', Verdana, Arial, 'sans-serif';
- position: absolute;
- right: 20px;
- top: 40px;
- padding: 10px;
- border-color: #c99;
- color: #fff;
- background-color: #c00;
- border: 1px solid #000;
-}
-
-#SilverStripeNavigator #logInStatus {
- background:transparent url(../../cms/images/logout.gif) no-repeat scroll right top !important;
- padding-bottom:4px;
- padding-right:20px;
-}
-
-#SilverStripeNavigatorLinkPopup {
- display: none;
- position: absolute;
- top: -60px;
- height: 50px;
- width: 350px;
- left: 200px;
- background-color: white;
- border: 1px solid black;
- z-index: 100;
- color: black;
- padding: 5px;
-}
-
-#SilverStripeNavigatorLinkPopup input {
- width: 250px;
-}
-
-#SilverStripeNavigatorLinkPopup a.close {
- color: blue;
- text-align: right;
- width: 80%;
- border: none !important;
- cursor: pointer;
-}
-
-
View
35 javascript/SilverStripeNavigator.js
@@ -1,35 +0,0 @@
-function windowName(suffix) {
- var base = document.getElementsByTagName('base')[0].href.replace('http://','').replace(/\//g,'_').replace(/\./g,'_');
- return base + suffix;
-}
-
-(function($) {
- $('#switchView a.newWindow').live('click',
- function() {
- var w = window.open(this.href, windowName(this.target));
- w.focus();
- return false;
- }
- );
-
- $('#SilverStripeNavigatorLink').live('click',
- function() {
- $('#SilverStripeNavigatorLinkPopup').toggle();
- return false;
- }
- );
-
- $('#SilverStripeNavigatorLinkPopup a.close').live('click',
- function() {
- $('#SilverStripeNavigatorLinkPopup').hide();
- return false;
- }
- );
-
- $('#SilverStripeNavigatorLinkPopup input').live('focus',
- function() {
- this.select();
- }
- );
-
-})(jQuery);
View
10 templates/SilverStripeNavigatorLink.ss
@@ -1,10 +0,0 @@
-&nbsp; &nbsp;
-<a id="SilverStripeNavigatorLink" href="#">
- <% _t('SilverStripeNavigatorLink.ShareLink','Share link') %>
-</a>
-<div id="SilverStripeNavigatorLinkPopup">
- <a class="close"><% _t('SilverStripeNavigatorLinkl.CloseLink','Close') %></a>
- <p>
- <% _t('SilverStripeNavigatorLink.ShareInstructions','To share a this to this page, copy and paste the link below.') %></p>
- <input value="$Link" />
-</div>

0 comments on commit 4adcdba

Please sign in to comment.