/**
  *	Apply custom styles to the absolute description element.
  *
  *	@parameter <{DESCRIPTION_CSS}> array(string)
  */
 public static function customise_css($styles)
 {
     if (is_array($styles)) {
         // Determine the path to write against.
         $URL = DESCRIPTIVE_PATH . '/css/custom.css';
         $path = Director::baseFolder() . "/{$URL}";
         // Collate each custom style where appropriate.
         $CSS = '#cms-menu-descriptive {' . PHP_EOL;
         foreach ($styles as $style => $value) {
             if (!is_numeric($style)) {
                 $CSS .= "\t{$style}: {$value} !important;" . PHP_EOL;
                 // Apply any possible background change.
                 if (strtolower($style) === 'background') {
                     $background = '#cms-menu-descriptive:before,' . PHP_EOL . '#cms-menu-descriptive:after {' . PHP_EOL;
                     $background .= "\tborder-top: 10px solid {$value} !important;" . PHP_EOL . '}' . PHP_EOL . PHP_EOL;
                     $background .= '#cms-menu-descriptive:before {' . PHP_EOL;
                     $background .= "\tborder-top: 13px solid !important;" . PHP_EOL;
                     $background .= "\tborder-top-color: inherit !important;" . PHP_EOL . '}' . PHP_EOL;
                 }
             }
         }
         $CSS .= '}' . PHP_EOL . PHP_EOL . $background;
         // Write the custom styles.
         file_put_contents($path, $CSS);
         chmod($path, 0664);
         LeftAndMain::require_css($URL);
     }
 }
<?php

LeftAndMain::require_css(basename(__DIR__) . '/css/GroupProfilesAdmin.css');
<?php

define('NEWSGRID_DIR', basename(dirname(__FILE__)));
// add an arrow overlay to page icons indicating they're children of the GridHolder
LeftAndMain::require_css(NEWSGRID_DIR . '/css/newsgridpages.css');
// Add this line to _config to use provide your own gridfield implementaion on a subclass
//GridFieldPageHolder::$add_default_gridfield = false;
Esempio n. 4
0
<?php

/** 
 * DataObjectManager config file
 * This can be used to store registrations for SortableDataObject
 * e.g. SortableDataObject::add_sortable_class(MyDataObject')
 * Followed by /dev/build
 *
 * Otherwise, put SortableDataObject registrations in mysite/_config.php
 *
 */
// Allow DataObjectManager to take control of the AssetAdmin using the AssetManager field
DataObjectManager::allow_assets_override(true);
// Allow DataObjectManager to override some of the core CSS in the CMS (work in progress)
DataObjectManager::allow_css_override(false);
LeftAndMain::require_javascript("dataobject_manager/javascript/jquery-ui.1.6.js");
LeftAndMain::require_javascript("dataobject_manager/code/date_picker_field/datepicker.js");
LeftAndMain::require_javascript("dataobject_manager/code/date_picker_field/datepicker_init.js");
LeftAndMain::require_css("dataobject_manager/css/ui/ui.core.css");
LeftAndMain::require_css("dataobject_manager/css/ui/ui.datepicker.css");
LeftAndMain::require_css("dataobject_manager/css/ui/ui.theme.css");
SimpleWysiwygField::set_default_configuration(array(array('cut', 'copy', 'paste', '|', 'bold', 'italic', 'underline', '|', 'left', 'center', 'right'), array('ol', 'ul', '|', 'hyperlink', 'unlink', 'image', '|', 'formats')));
<?php

LeftAndMain::require_css('dubdubdesign-welcome/css/admin.css');
<?php

// Add necessary javascript and css
LeftAndMain::require_javascript(basename(__DIR__) . '/javascript/LeftAndMain.BatchTranslatePlus.js');
LeftAndMain::require_css(basename(__DIR__) . '/css/batchtranslateplus.css');
<?php

LeftAndMain::require_javascript('userforms/javascript/FieldEditor.js');
LeftAndMain::require_css('userforms/css/FieldEditor.css');
<?php

define('INPAGE_MODULES_DIR', basename(__DIR__));
CMSMenu::remove_menu_item('ContentModuleMain');
CMSMenu::remove_menu_item('ContentModuleEditController');
CMSMenu::remove_menu_item('ContentModuleSettingsController');
CMSMenu::remove_menu_item('ContentModuleHistoryController');
//CMSMenu::remove_menu_item('CMSPageReportsController');
CMSMenu::remove_menu_item('ContentModuleAddController');
//CMSMenu::remove_menu_item('CMSFileAddController');
LeftAndMain::require_css(INPAGE_MODULES_DIR . '/css/ContentModuleField.css');
if (class_exists('Translatable') && SiteTree::has_extension('Translatable')) {
    Config::inst()->update('ContentModule', 'extensions', array('ContentModuleLanguageExtension'));
    Config::inst()->update('ContentModuleField', 'extensions', array('ContentModuleFieldTranslatableExtension'));
    Config::inst()->update('SiteTree', 'extensions', array('ContentModuleSiteTreeTranslatableExtension'));
    Config::inst()->update('ContentModuleMain', 'extensions', array('ContentModuleMainTranslatableExtension'));
}
Esempio n. 9
0
<?php

// define this directory
define('DEVTOOLS_DIR', 'dev-tools');
// create definition of site name (based on SS_PRIMARY_DOMAIN)
$siteName = SS_PRIMARY_DOMAIN;
$siteName = str_replace('http://', '', $siteName);
$siteName = str_replace('https://', '', $siteName);
$siteName = str_replace('.', '_', $siteName);
define('SS_SITE_NAME', $siteName);
// detect if we're using the old domain and need to flag the issue
$fullDomain = (!empty($_SERVER['HTTPS']) ? 'https' : 'http') . '://' . $_SERVER['HTTP_HOST'];
if ($fullDomain != SS_PRIMARY_DOMAIN && SS_ENVIRONMENT_TYPE == 'live') {
    define('DEVTOOLS_ISOLDDOMAIN', true);
    // if we're disabled, include our cms-disabling javascript
    Requirements::customScript('var ss_primary_domain = "' . SS_PRIMARY_DOMAIN . '";');
    LeftAndMain::require_javascript(DEVTOOLS_DIR . '/js/disable-cms.js');
} else {
    define('DEVTOOLS_ISOLDDOMAIN', false);
}
// add functionality to SiteTree
ContentController::add_extension('DebugTools_ContentControllerExtension');
SiteConfig::add_extension('DebugTools_SiteConfigExtension');
Member::add_extension('DebugTools_MemberExtension');
// include css
LeftAndMain::require_css(DEVTOOLS_DIR . '/css/cms.css');
// specify editor css file (this needs to be pure CSS, not SCSS)
HtmlEditorConfig::get('cms')->setOption('content_css', '/site/cms/editor.css');
// enable our log jam logger
LogJam::EnableLog();
<?php

// Set the module directory so we know where JS, etc lives.
NamedLinkFormField::$module_dir = basename(dirname(__FILE__));
// Load required CSS (extra, doesn't seem to load via Ajax)
LeftAndMain::require_css(NamedLinkFormField::$module_dir . '/css/linkfield.css');
<?php

/**
 * @package silverstripe-multisites
 */
if (!ClassInfo::exists('MultiValueField')) {
    $view = new DebugView();
    $link = 'https://github.com/nyeholt/silverstripe-multivaluefield';
    if (!headers_sent()) {
        header($_SERVER['SERVER_PROTOCOL'] . ' 500 Internal Server Error');
    }
    $view->writeHeader();
    $view->writeInfo('Dependency Error', 'The Multisites module requires the MultiValueField module.');
    $view->writeParagraph("Please install the <a href=\"{$link}\">MultiValueField</a> module.");
    $view->writeFooter();
    exit;
}
if (!defined('MULTISITES_PATH')) {
    define('MULTISITES_PATH', rtrim(basename(dirname(__FILE__))));
}
CMSMenu::remove_menu_item('MultisitesCMSSiteAddController');
CMSMenu::remove_menu_item('MultisitesCMSPageAddController');
LeftAndMain::require_css(MULTISITES_PATH . '/css/MultisitesAdmin.css');
LeftAndMain::require_javascript(MULTISITES_PATH . '/javascript/MultisitesAdmin.js');
SiteTree::set_create_default_pages(false);
// Remove LeftAndMain.AddForm.js - at least until this ticket is resolved
// http://open.silverstripe.org/ticket/7987
Requirements::block(FRAMEWORK_ADMIN_DIR . '/javascript/LeftAndMain.AddForm.js');
SS_Report::add_excluded_reports(array('SideReport_EmptyPages', 'BrokenLinksReport', 'SideReport_RecentlyEdited', 'SideReport_BrokenLinks', 'SideReport_BrokenFiles', 'SideReport_BrokenVirtualPages', 'SideReport_BrokenRedirectorPages'));
Esempio n. 12
0
<?php

// define this directory
define('MODULE_MANAGER_DIR', basename(dirname(__FILE__)));
// include css
LeftAndMain::require_css(MODULE_MANAGER_DIR . '/css/cms.css');
// add functionality to SiteTree
Object::add_extension('SiteTree', 'ModuleSiteTreeExtension');
CMSMenu::remove_menu_item('ModuleManagerAddController');
CMSMenu::remove_menu_item('ModuleManagerEditController');
Esempio n. 13
0
// Default administrator account for the CMS
Security::setDefaultAdmin('admin', 'password');

// Theme should be located in /themes/<themename> (Default folder: '/themes/mysite')
SSViewer::set_theme('mysite');

// Recipe: Taggable
DataObject::add_extension('SiteTree', 'Taggable');

// Recipe: Redirection of legacy URLs
Director::addRules(1, array(
	'$URLSegment//$Action/$ID/$OtherID' => 'CustomModelAsController',
));

// Recipe: Branding the CMS
LeftAndMain::setApplicationName(
	'My Kiwi CMS',
	'My Kiwi CMS',
	'http://mykiwicms.com'
);
LeftAndMain::setLogo(
	'mysite/images/kiwicmslogo.gif',
	'width: 62px; height: 32px;'
);
LeftAndMain::set_loading_image(
	'mysite/images/kiwicmslogo_loading.png'
);
LeftAndMain::require_css('mysite/css/kiwicms.css');

BlogEntry::$allow_wysiwyg_editing = true;
?>
<?php

define('CB_BUILD_DATE', '@@BUILD_DATE@@');
define('CB_VERSION', '@@VERSION@@');
define('CB_DIR', basename(dirname(__FILE__)));
//Add the include path for the thirdparty folder (fixes zend api's)
set_include_path(get_include_path() . PATH_SEPARATOR . dirname(__FILE__) . '/thirdparty/');
//CMS Menu
CMSMenu::remove_menu_item('CodeBankAddSnippet');
CMSMenu::remove_menu_item('CodeBankEditSnippet');
CMSMenu::remove_menu_item('CodeBankSettings');
CMSMenu::remove_menu_item('CodeBankIPAgreement');
//Inject Menu Styles
LeftAndMain::require_css(CB_DIR . '/css/CodeBankMenu.css');
//Register Short Code
ShortcodeParser::get_active()->register('snippet', array('CodeBankShortCode', 'parse'));
Esempio n. 15
0
<?php

LeftAndMain::require_css('silverstripe-gdm-express/assets/css/custom.css');
// Don't allow h1 in the editor
HtmlEditorConfig::get('cms')->setOption('theme_advanced_blockformats', 'p,pre,address,h2,h3,h4,h5,h6');
// Add in start and type attributes for ol
HtmlEditorConfig::get('cms')->setOption('extended_valid_elements', 'img[class|src|alt|title|hspace|vspace|width|height|align|onmouseover|onmouseout|name|usemap],iframe[src|name|width|height|title|align|allowfullscreen|frameborder|marginwidth|marginheight|scrolling],object[width|height|data|type],param[name|value],map[class|name|id],area[shape|coords|href|target|alt],ol[start|type]');
// Macrons
HtmlEditorConfig::get('cms')->enablePlugins(array('ssmacron' => '../../../framework/thirdparty/tinymce_ssmacron/editor_plugin_src.js'));
HtmlEditorConfig::get('cms')->insertButtonsAfter('charmap', 'ssmacron');
GD::set_default_quality(90);
FulltextSearchable::enable();
// Configure document converter.
if (class_exists('DocumentConverterDecorator')) {
    DocumentImportIFrameField_Importer::set_docvert_username('ss-express');
    DocumentImportIFrameField_Importer::set_docvert_password('hLT7pCaJrYVz');
    DocumentImportIFrameField_Importer::set_docvert_url('http://docvert.silverstripe.com:8888/');
    Page::add_extension('DocumentConverterDecorator');
}
// Default translations
if (class_exists('Translatable')) {
    Translatable::set_default_locale('en_NZ');
    Translatable::set_allowed_locales(array('en_NZ', 'mi_NZ', 'zh_cmn', 'en_GB'));
    SiteTree::add_extension('Translatable');
    SiteConfig::add_extension('Translatable');
}
Config::inst()->update('i18n', 'common_locales', array("mi_NZ" => array(0 => 'Māori')));
Config::inst()->update('i18n', 'common_languages', array("mi" => array(0 => 'Māori')));
<?php

LeftAndMain::require_css('express/css/custom.css');
SiteTree::add_extension('ExpressSiteTree');
ContentController::add_extension('ExpressSiteTree_Controller');
SiteConfig::add_extension('CustomSiteConfig');
// Don't allow h1 in the editor
HtmlEditorConfig::get('cms')->setOption('theme_advanced_blockformats', 'p,pre,address,h2,h3,h4,h5,h6');
// Add in start and type attributes for ol
HtmlEditorConfig::get('cms')->setOption('extended_valid_elements', 'img[class|src|alt|title|hspace|vspace|width|height|align|onmouseover|onmouseout|name|usemap],iframe[src|name|width|height|title|align|allowfullscreen|frameborder|marginwidth|marginheight|scrolling],object[width|height|data|type],param[name|value],map[class|name|id],area[shape|coords|href|target|alt],ol[start|type]');
// Macrons
HtmlEditorConfig::get('cms')->enablePlugins(array('ssmacron' => '../../../framework/thirdparty/tinymce_ssmacron/editor_plugin_src.js'));
HtmlEditorConfig::get('cms')->insertButtonsAfter('charmap', 'ssmacron');
GD::set_default_quality(90);
FulltextSearchable::enable();
// Configure document converter.
if (class_exists('DocumentConverterDecorator')) {
    DocumentImportIFrameField_Importer::set_docvert_username('ss-express');
    DocumentImportIFrameField_Importer::set_docvert_password('hLT7pCaJrYVz');
    DocumentImportIFrameField_Importer::set_docvert_url('http://docvert.silverstripe.com:8888/');
    Page::add_extension('DocumentConverterDecorator');
}
// Default translations
if (class_exists('Translatable')) {
    Translatable::set_default_locale('en_NZ');
    Translatable::set_allowed_locales(array('en_NZ', 'mi_NZ', 'zh_cmn', 'en_GB'));
    SiteTree::add_extension('Translatable');
    SiteConfig::add_extension('Translatable');
}
Config::inst()->update('i18n', 'common_locales', array("mi_NZ" => array(0 => 'Māori')));
Config::inst()->update('i18n', 'common_languages', array("mi" => array(0 => 'Māori')));
<?php

define('SS_YOUTUBEFIELD_DIRECTORY', basename(dirname(__FILE__)));
// Add custom style into the CMS. Done here instead of YAML so we can use dynamic module path and support SS 3.0.
LeftAndMain::require_css(SS_YOUTUBEFIELD_DIRECTORY . '/css/LeftAndMainYouTubeField.css');
<?php

Object::add_extension('ModelAdmin', 'GridFieldPaginatorHeaderExtension');
LeftAndMain::require_css(basename(dirname(__FILE__)) . '/css/paginatorheader.css');
Esempio n. 19
0
<?php

LeftAndMain::require_css('processmap/css/process.css');
LeftAndMain::require_javascript('processmap/javascript/process-admin.js');
if (class_exists('DefinitionAdmin')) {
    Object::add_extension('ProcessInfo', 'ProcessInfoExtension');
}
<?php

// Add custom style into the CMS. Done here instead of YAML so we can use dynamic module path and support SS 3.0.
LeftAndMain::require_css(basename(dirname(__FILE__)) . '/css/LeftAndMainYouTubeField.css');
<?php

// Comment this line out to use the default SilverStripe logo
LeftAndMain::require_css(basename(__DIR__) . '/css/branding.css');
<?php

require_once Director::baseFolder() . '/event_calendar/code/sfTime.class.php';
require_once Director::baseFolder() . '/event_calendar/code/sfDate.class.php';
require_once Director::baseFolder() . '/event_calendar/code/sfDateTimeToolkit.class.php';
require_once Director::baseFolder() . '/event_calendar/code/CalendarUI.class.php';
if (!class_exists("DataObjectManager")) {
    user_error(_t('EventCalendar.DATAOBJECTMANAGER', 'Event Calendar requires the DataObjectManager module.'), E_USER_ERROR);
}
LeftAndMain::require_javascript('event_calendar/javascript/calendar_interface.js');
LeftAndMain::require_css('event_calendar/css/calendar_cms.css');
Object::add_extension('SiteTree', 'CalendarSiteTree');
Calendar::set_param('language', 'EN');
Calendar::set_param('timezone', 'US-Eastern');
CalendarDateTime::set_param('offset', '-04:00');
CalendarDateTime::set_date_format('dmy');
CalendarDateTime::set_time_format('24');
i18n::include_locale_file('event_calendar', 'en_US');
// Override to specify custom date templates. Falls back on lang file.
/**
 * Available date format keys
 
 	** Start Date **
	%{sWeekDayShort}    e.g. Mon
	%{sWeekDayFull}     e.g. Monday
	%{sDayNumFull}      e.g. 09
	%{sDayNumShort}		e.g. 9
	%{sDaySuffix}		e.g. th, rd, st
	%{sMonNumShort}		e.g. 8
	%{sMonNumFull}		e.g. 08
	%{sMonShort}		e.g. Oct
<?php

LeftAndMain::require_css(basename(__DIR__) . '/css/custom.css');
CMSMenu::remove_menu_item('UpgradeNotificationPage');
$upgrade_notification_page = new UpgradeNotificationPage();
if (!$upgrade_notification_page->isCurrentVersion() || $upgrade_notification_page->isCurrentVersion() && $upgrade_notification_page->config()->ShowMenuItemWhenCurrent) {
    CMSMenu::add_menu_item($upgrade_notification_page->getCode(), $upgrade_notification_page->getUpgradeMessage(), 'admin/upgrade/', null, 1000);
}
<?php

define('LITECMS', basename(dirname(__FILE__)));
SSViewer::set_source_file_comments(false);
CMSMenu::remove_menu_item("CommentAdmin");
CMSMenu::remove_menu_item("ReportAdmin");
CMSMenu::remove_menu_item("SecurityAdmin");
CMSMenu::remove_menu_item("Help");
Object::add_extension('SiteConfig', 'LiteCMSBaseConfig');
Object::add_extension('LeftAndMain', 'LiteCMS');
Object::add_extension('SiteConfig', 'LiteCMSMaintenance');
Object::add_extension('Page', 'LiteCMSMaintenanceController_Decorator');
GD::set_default_quality(100);
LeftAndMain::setApplicationName("LiteCMS");
LeftAndMain::require_css('litecms/css/lite.css');
Image::add_extension('LiteCMSImage');
File::add_extension('LiteCMSAttachment');
Esempio n. 25
0
<?php

global $project;
$project = 'mysite';
require_once 'conf/ConfigureFromEnv.php';
$databaseConfig['type'] = 'PostgreSQLDatabase';
$databaseConfig['server'] = SS_PGSQL_DATABASE_SERVER;
$databaseConfig['username'] = SS_PGSQL_DATABASE_USERNAME;
$databaseConfig['password'] = SS_PGSQL_DATABASE_PASSWORD;
// Set the current theme. More themes can be downloaded from
// http://www.silverstripe.org/themes/
SSViewer::set_theme('simple');
// Enable nested URLs for this site (e.g. page/sub-page/)
if (class_exists('SiteTree')) {
    SiteTree::enable_nested_urls();
}
// Add custom CMS css
LeftAndMain::require_css('mysite/css/admin.css');
// File extension to add support for JS-format months.
Object::add_extension('Date', 'DateExtension');
// Set up SMTP Mailer
define('SMTPMAILER_SMTP_SERVER_ADDRESS', 'smtp.gmail.com');
define('SMTPMAILER_DO_AUTHENTICATE', true);
define('SMTPMAILER_USERNAME', '*****@*****.**');
define('SMTPMAILER_PASSWORD', 'KukeB2Ap');
define('SMTPMAILER_USE_SECURE_CONNECTION', 'ssl');
define('SMTPMAILER_SMTP_SERVER_PORT', 465);
Esempio n. 26
0
<?php

$link = 'admin/' . KickAssetAdmin::$url_segment;
CMSMenu::replace_menu_item("AssetAdmin", _t('KickAssetAdmin.BROWSE', 'Browse files...'), $link, "KickAssetAdmin", 2);
// We're using our own custom menu insertion. Don't need another one.
CMSMenu::remove_menu_item("KickAssetAdmin");
Director::addRules(10, array($link => 'KickAssetAdmin'));
$dir = basename(dirname(__FILE__));
if ($dir != "kickassets") {
    user_error('Directory name must be "kickassets" (currently "' . $dir . '")', E_USER_ERROR);
}
LeftAndMain::require_javascript("kickassets/javascript/fancybox/fancybox.js");
LeftAndMain::require_css("kickassets/javascript/fancybox/fancybox.css");
LeftAndMain::require_javascript("kickassets/javascript/kickassets_init.js");
<?php

define('BLOGGRID_DIR', basename(dirname(__FILE__)));
// add an arrow overlay to page icons indicating they're children of the GridHolder
LeftAndMain::require_css(BLOGGRID_DIR . '/css/bloggridpages.css');
// Add this line to _config to use provide your own gridfield implementaion on a subclass
//GridFieldPageHolder::$add_default_gridfield = false;
Esempio n. 28
0
<?php

/**
 * @license BSD License (http://silverstripe.org/bsd-license/)
 * @package advancedworkflow
 */
define('ADVANCED_WORKFLOW_DIR', basename(dirname(__FILE__)));
if (ADVANCED_WORKFLOW_DIR != 'advancedworkflow') {
    throw new Exception("The advanced workflow module must be in a directory named 'advancedworkflow', not " . ADVANCED_WORKFLOW_DIR);
}
LeftAndMain::require_css(ADVANCED_WORKFLOW_DIR . '/css/AdvancedWorkflowAdmin.css');
<?php

//For 3.0 we require the css here
if (!class_exists('Config_LRU')) {
    LeftAndMain::require_css('cmstreestatus/css/cmstreestatus.css', 'screen');
}
<?php

// Default batch action: move to
CMSBatchActionHandler::register('moveto', 'CMSBatchAction_MoveTo');
CMSMenu::remove_menu_item('CMSBatchAction_MoveToController');
// Extras, to be moved to project config as required
// CMSBatchActionHandler::register('hidefrommenus', 'CMSBatchAction_HideFromMenus');
// CMSBatchActionHandler::register('hidefromsearch', 'CMSBatchAction_HideFromSearch');
LeftAndMain::require_javascript(basename(__DIR__) . '/javascript/LeftAndMain.BatchActionsPlus.js');
LeftAndMain::require_css(basename(__DIR__) . '/css/batchactionsplus.css');