public function init() { // set reading lang if (SiteTree::has_extension('Translatable') && !$this->getRequest()->isAjax()) { Translatable::choose_site_locale(array_keys(Translatable::get_existing_content_languages('SiteTree'))); } parent::init(); Versioned::reading_stage("Stage"); Requirements::css(CMS_DIR . '/css/screen.css'); Requirements::customCSS($this->generatePageIconsCss()); Requirements::combine_files('cmsmain.js', array_merge(array(CMS_DIR . '/javascript/CMSMain.js', CMS_DIR . '/javascript/CMSMain.EditForm.js', CMS_DIR . '/javascript/CMSMain.AddForm.js', CMS_DIR . '/javascript/CMSPageHistoryController.js', CMS_DIR . '/javascript/CMSMain.Tree.js', CMS_DIR . '/javascript/SilverStripeNavigator.js', CMS_DIR . '/javascript/SiteTreeURLSegmentField.js'), Requirements::add_i18n_javascript(CMS_DIR . '/javascript/lang', true, true))); CMSBatchActionHandler::register('publish', 'CMSBatchAction_Publish'); CMSBatchActionHandler::register('unpublish', 'CMSBatchAction_Unpublish'); // Check legacy actions $legacy = $this->config()->enabled_legacy_actions; // Delete from live is unnecessary since we have unpublish which does the same thing if (in_array('CMSBatchAction_DeleteFromLive', $legacy)) { Deprecation::notice('4.0', 'Delete From Live is deprecated. Use Un-publish instead'); CMSBatchActionHandler::register('deletefromlive', 'CMSBatchAction_DeleteFromLive'); } // Delete action if (in_array('CMSBatchAction_Delete', $legacy)) { Deprecation::notice('4.0', 'Delete from Stage is deprecated. Use Archive instead.'); CMSBatchActionHandler::register('delete', 'CMSBatchAction_Delete'); } else { CMSBatchActionHandler::register('archive', 'CMSBatchAction_Archive'); CMSBatchActionHandler::register('restore', 'CMSBatchAction_Restore'); } }
/** * Initializes the honey pot. Loads CSS, and adds the field * * @param ContactForm * @return HoneyPotSpamProtector */ public function initialize(ContactForm $proxy) { Requirements::customCSS("\n\t\t\t#{$this->name} {position:absolute;left:-9999em;}\n\t\t"); $proxy->addField(TextField::create($this->name, null)->setAttribute('tabindex', '-1')); $proxy->addOmittedField($this->name); return $this; }
public function index() { Requirements::javascript(FRAMEWORK_DIR . '/thirdparty/jquery/jquery.js'); Requirements::customCSS('#OrphanIDs .middleColumn {width: auto;}'); Requirements::customCSS('#OrphanIDs label {display: inline;}'); return $this->renderWith('BlankPage'); }
public function Field($properties = array()) { Requirements::javascript(FRAMEWORK_DIR . '/thirdparty/jquery/jquery.min.js'); Requirements::javascript('geoform/javascript/jquery.geocomplete.js'); if (GoogleMaps::getApiKey()) { Requirements::javascript('//maps.googleapis.com/maps/api/js?sensor=false&libraries=places&language=' . i18n::get_tinymce_lang() . '&key=' . GoogleMaps::getApiKey()); } else { Requirements::javascript('//maps.googleapis.com/maps/api/js?sensor=false&libraries=places&language=' . i18n::get_tinymce_lang()); } $name = $this->getName(); $this->fieldAddress->setPlaceholder(_t('GeoLocationField.ADDRESSPLACEHOLDER', 'Address')); // set caption if required $js = <<<JS (function(\$){ \$(function(){ \$("#{$name}-Address").geocomplete().bind("geocode:result", function(event, result){ \$("#{$name}-Latitude").val(result.geometry.location.lat()); \$("#{$name}-Longditude").val(result.geometry.location.lng()); }); }); })(jQuery); JS; Requirements::customScript($js, 'BootstrapGeoLocationField_Js_' . $this->ID()); $css = <<<CSS /* make the location suggest dropdown appear above dialog */ .pac-container { z-index: 2000 !important; } CSS; Requirements::customCSS($css, 'BootstrapGeoLocationField_Css_' . $this->ID()); return $this->fieldLatitude->Field() . $this->fieldLongditude->Field() . '<div class="row">' . '<div class="col-sm-12">' . $this->fieldAddress->Field() . '</div>' . '</div>'; }
public function onAfterInit() { $cssTemplate = Object::get_static('GalleristPageDecorator', 'css_template'); if ((bool)$cssTemplate && $this->owner->hasMethod('data')) { Requirements::customCSS($this->owner->data()->renderWith($cssTemplate)); } Requirements::themedCSS('gallerist'); }
public function init() { parent::init(); Requirements::css(CMS_DIR . '/css/screen.css'); Requirements::customCSS($this->generatePageIconsCss()); Requirements::css(self::$directory . '/css/external-content-admin.css'); Requirements::javascript(self::$directory . '/javascript/external-content-admin.js'); Requirements::javascript(self::$directory . '/javascript/external-content-reload.js'); }
function init() { parent::init(); // Shorten Text Area Requirements::customCSS("textarea {height:3em; width:300px;}"); // adding JS for jquery based validation Requirements::javascript("http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"); Requirements::javascript("http://ajax.microsoft.com/ajax/jquery.validate/1.7/jquery.validate.min.js"); Requirements::customScript(' jQuery(document).ready(function() { jQuery("#Form_LogoForm").validate({ rules: { Name: "required", Email: { required: true, email: true }, PhoneNumber: "required", CompanyName: "required", ProductName: "required", Website: "required", StreetAddress: "required", City: "required", Country: "required" }, messages: { Name: "Oops... Please provide your name.", Email: "Oops... Please provide your email address.", PhoneNumber: "Oops... Please provide your phone number.", CompanyName: "Oops... Please provide your company name.", ProductName: "Oops... Please provide your product name.", Website: "Oops... Please provide your company website.", StreetAddress: "Oops... Please provide your street address.", City: "Oops... Please provide your city.", Country: "Oops... Please provide your country." } }); }); '); Requirements::javascript("http://assets.zendesk.com/external/zenbox/v2.5/zenbox.js"); Requirements::css("http://assets.zendesk.com/external/zenbox/v2.5/zenbox.css"); Requirements::customScript(' if (typeof(Zenbox) !== "undefined") { Zenbox.init({ dropboxID: "20115046", url: "https://openstack.zendesk.com", tabID: "Ask Us", tabColor: "black", tabPosition: "Right" }); } '); }
public function CarouselSlides() { // Load CSS to size the carousel Requirements::customCSS(<<<CSS .carousel-container { width: {$this->owner->CarouselWidth}px; height: {$this->owner->CarouselHeight}px; } CSS ); return $this->owner->renderWith('CarouselSlides', array('Slides' => $this->owner->Slides())); }
public function init() { parent::init(); Requirements::customCSS(<<<CSS \t\t\tul.step-buttons { \t\t\t\tpadding: 0; \t\t\t} CSS ); Requirements::block(FRAMEWORK_DIR . '/thirdparty/jquery/jquery.js'); Requirements::block(USERFORMS_DIR . '/thirdparty/jquery-validate/jquery.validate.min.js'); }
public function init() { /** ========================================= * @var SiteConfig $config ===========================================*/ $config = SiteConfig::current_site_config(); /** * Remove the Reports menu item in the CMS */ if (!$config->ShowAssetAdmin) { CMSMenu::remove_menu_item('AssetAdmin'); } /** * Remove the Blog menu item in the CMS */ if (!$config->ShowBlogAdmin) { CMSMenu::remove_menu_item('BlogPageModelAdmin'); } /** * Remove the Help Link in the CMS */ if (!$config->ShowHelpLink) { CMSMenu::remove_menu_item('Help'); } /** * Remove the Messages menu item in the CMS */ if (!$config->ShowMessagesAdmin) { CMSMenu::remove_menu_item('ContactMessageModelAdmin'); } /** * Remove the Portfolio menu item in the CMS */ if (!$config->ShowPortfolioAdmin) { CMSMenu::remove_menu_item('PortfolioPageModelAdmin'); } /** * Remove the Reports menu item in the CMS */ if (!$config->ShowReportAdmin) { CMSMenu::remove_menu_item('ReportAdmin'); } /** * Remove the Security menu item in the CMS */ if (!$config->ShowSecurityAdmin) { CMSMenu::remove_menu_item('SecurityAdmin'); } /** Set the background colour of the cms sidebar menu. */ Requirements::customCSS('.cms-menu {background: ' . $this->owner->stat('cms_menu_background') . ';}'); }
/** * @param Controller $controller * @param String $name * @param FieldList $fields * @param FieldList $actions * @param null $validator */ function __construct($controller, $name, FieldList $fields, FieldList $actions, $validator = null) { // Guard against automated spam registrations by optionally adding a field // that is supposed to stay blank (and is hidden from most humans). $fields->push($honey = new TextField(self::FieldName, self::FieldName)); $honey->addExtraClass('honey'); $css = <<<CSS .honey { \tposition: absolute; left: -9999px } CSS; Requirements::customCSS($css, 'honey_css'); parent::__construct($controller, $name, $fields, $actions, $validator); }
public function init() { // set reading lang if (Object::has_extension('SiteTree', 'Translatable') && !$this->request->isAjax()) { Translatable::choose_site_locale(array_keys(Translatable::get_existing_content_languages('SiteTree'))); } parent::init(); Requirements::css(CMS_DIR . '/css/screen.css'); Requirements::customCSS($this->generatePageIconsCss()); Requirements::combine_files('cmsmain.js', array_merge(array(CMS_DIR . '/javascript/CMSMain.js', CMS_DIR . '/javascript/CMSMain.EditForm.js', CMS_DIR . '/javascript/CMSMain.AddForm.js', CMS_DIR . '/javascript/CMSPageHistoryController.js', CMS_DIR . '/javascript/CMSMain.Tree.js', CMS_DIR . '/javascript/SilverStripeNavigator.js', CMS_DIR . '/javascript/SiteTreeURLSegmentField.js'), Requirements::add_i18n_javascript(CMS_DIR . '/javascript/lang', true, true))); CMSBatchActionHandler::register('publish', 'CMSBatchAction_Publish'); CMSBatchActionHandler::register('unpublish', 'CMSBatchAction_Unpublish'); CMSBatchActionHandler::register('delete', 'CMSBatchAction_Delete'); CMSBatchActionHandler::register('deletefromlive', 'CMSBatchAction_DeleteFromLive'); }
/** * Initialises the extension by generating custom CSS for the CMS interface. */ public function init() { if (class_exists("SiteConfig") && ($SiteConfig = SiteConfig::current_site_config())) { // Load Moderno Custom CSS: Requirements::customCSS($SiteConfig->renderWith('ModernoAdminCustomCSS')); // Customise Application Name: if ($application_name = $SiteConfig->ModernoApplicationName) { Config::inst()->update('LeftAndMain', 'application_name', $application_name); } // Customise Application Link: if ($application_link = $SiteConfig->ModernoApplicationLink) { Config::inst()->update('LeftAndMain', 'application_link', $SiteConfig->dbObject('ModernoApplicationLink')->URL()); } } }
public function onAfterInit() { /* ========================================= * Add Google Font CSS =========================================*/ if (SiteConfig::current_site_config()->FontHeadings) { $font = SiteConfig::current_site_config()->FontHeadings; // Strip out font variants after colon $fontName = substr($font, 0, strpos($font, ':')); Requirements::css('http://fonts.googleapis.com/css?family=' . SiteConfig::current_site_config()->FontHeadings); Requirements::customCSS(<<<CSS h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{ font-family: {$fontName}, serif; } CSS ); } if (SiteConfig::current_site_config()->FontBody) { $font = SiteConfig::current_site_config()->FontBody; // Strip out font variants after colon $fontName = substr($font, 0, strpos($font, ':')); Requirements::css('http://fonts.googleapis.com/css?family=' . SiteConfig::current_site_config()->FontBody); Requirements::customCSS(<<<CSS body, strong, input, textarea, #main-nav .nav li a, .btn{ font-family: {$fontName}, serif; } ::-webkit-input-placeholder{ font-family: {$fontName}, serif; } ::-moz-placeholder{ font-family: {$fontName}, serif; } :-ms-input-placeholder{ font-family: {$fontName}, serif; } input:-moz-placeholder{ font-family: {$fontName}, serif; } CSS ); } }
/** * ─────────────────────────────▄██▄ * ─────────────────────────────▀███ * ────────────────────────────────█ * ───────────────▄▄▄▄▄────────────█ * ──────────────▀▄────▀▄──────────█ * ──────────▄▀▀▀▄─█▄▄▄▄█▄▄─▄▀▀▀▄──█ * ─────────█──▄──█────────█───▄─█─█ * ─────────▀▄───▄▀────────▀▄───▄▀─█ * ──────────█▀▀▀────────────▀▀▀─█─█ * ──────────█───────────────────█─█ * ▄▀▄▄▀▄────█──▄█▀█▀█▀█▀█▀█▄────█─█ * █▒▒▒▒█────█──█████████████▄───█─█ * █▒▒▒▒█────█──██████████████▄──█─█ * █▒▒▒▒█────█───██████████████▄─█─█ * █▒▒▒▒█────█────██████████████─█─█ * █▒▒▒▒█────█───██████████████▀─█─█ * █▒▒▒▒█───██───██████████████──█─█ * ▀████▀──██▀█──█████████████▀──█▄█ * ──██───██──▀█──█▄█▄█▄█▄█▄█▀──▄█▀ * ──██──██────▀█─────────────▄▀▓█ * ──██─██──────▀█▀▄▄▄▄▄▄▄▄▄▀▀▓▓▓█ * ──████────────█▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓█ * ──███─────────█▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓█ * ──██──────────█▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓█ * ──██──────────█▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓█ * ──██─────────▐█▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓█ * ──██────────▐█▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓█ * ──██───────▐█▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓█▌ * ──██──────▐█▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓█▌ * ──██─────▐█▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓█▌ * ──██────▐█▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓█▌ * Override all of the things */ public function init() { /* Radio & Check boxes */ Requirements::customCSS('.cms [type="radio"]:not(:checked) + label:after,' . '.cms [type="checkbox"]:checked + label .ui:after' . '{color:' . $this->owner->config()->cms_success_color . '!important;}' . '.cms [type="radio"]:checked + label:after,' . '.cms [type="checkbox"]:checked + label:after' . '{background:' . $this->owner->config()->cms_success_color . '!important;}'); /* Composite Fields */ Requirements::customCSS('.cms .togglecomposite' . '{color:' . $this->owner->config()->cms_success_color . ' !important;}' . '.cms .togglecomposite,' . '.cms .ui-accordion-header' . '{background:' . $this->owner->config()->cms_success_color . ' !important;}' . '.cms .togglecomposite,' . '.cms .ui-accordion .ui-accordion-content,' . '.cms .ui-accordion .ui-accordion-header' . '{border-color:' . $this->owner->config()->cms_success_color . ' !important;}'); /* Left Hand Menu */ Requirements::customCSS('.cms .description' . '{border-left: 4px solid ' . $this->owner->config()->cms_success_color . ' !important;}' . '.cms .cms-menu' . '{background:' . $this->owner->config()->cms_highlight_colour . ' !important;}' . '.cms .cms-menu-list li a:hover,' . '.cms .cms-menu-list li.current a' . '{background:' . $this->adjustBrightness($this->owner->config()->cms_highlight_colour, 20) . '!important;}'); /* Form Elements */ Requirements::customCSS('.cms .field .chzn-container-single .chzn-single.chzn-container-active,' . '.cms .field input.text:focus, .cms .field textarea:focus, .cms .field .TreeDropdownField:focus' . '{border:1px solid ' . $this->owner->config()->cms_highlight_colour . ';}'); /* Buttons */ Requirements::customCSS('.cms table.ss-gridfield-table tr th.main,table.ss-gridfield-table tr td.bottom-all ' . '{background: ' . $this->adjustBrightness($this->owner->config()->cms_success_color, 30) . ' !important;}' . 'table.ss-gridfield-table tr.title th,.cms .ss-ui-button.ss-ui-action-constructive' . '{background: ' . $this->owner->config()->cms_success_color . ' !important;' . 'border-color: ' . $this->owner->config()->cms_success_color . ';}' . '.ss-uploadfield .ss-uploadfield-item .ss-uploadfield-item-preview.ss-uploadfield-dropzone{border: 2px dashed' . $this->owner->config()->cms_success_color . ';}' . '.cms .ss-ui-button.ss-ui-action-constructive:hover,' . '.cms .ss-ui-button.ss-ui-action-constructive:active' . '{background: ' . $this->adjustBrightness($this->owner->config()->cms_success_color, 20) . ';' . 'border-color: ' . $this->adjustBrightness($this->owner->config()->cms_success_color, 20) . ';}' . '.cms .ss-ui-button.ss-ui-action-destructive' . '{background: ' . $this->owner->config()->cms_error_color . ';' . 'border-color: ' . $this->owner->config()->cms_error_color . ';}' . '.cms .ss-ui-button.ss-ui-action-destructive:hover,' . '.cms .ss-ui-button.ss-ui-action-destructive:active' . '{background: ' . $this->adjustBrightness($this->owner->config()->cms_error_color, 20) . ';' . 'border-color: ' . $this->adjustBrightness($this->owner->config()->cms_error_color, 20) . ';}'); /* Tabs */ Requirements::customCSS('.cms .ui-tabs-nav li.ui-state-active,.cms .cms-content-header.north .cms-content-header-tabs .ui-tabs-nav li.ui-state-active a' . '{background-color:' . $this->owner->config()->cms_success_color . ' !important;' . 'border-bottom: 4px solid ' . $this->adjustBrightness($this->owner->config()->cms_success_color, 60) . ';}' . '.cms .ui-tabs-nav li.ui-state-active' . '{background:' . $this->owner->config()->cms_highlight_colour . ';}'); Requirements::css('./flat-cms/styles/css/flat-cms.css'); Requirements::customCSS($this->getAwesomeIconCSS()); }
function init() { parent::init(); Requirements::customCSS("fieldset {display:none}"); Requirements::javascript("http://assets.zendesk.com/external/zenbox/v2.5/zenbox.js"); Requirements::css("http://assets.zendesk.com/external/zenbox/v2.5/zenbox.css"); Requirements::customScript(' if (typeof(Zenbox) !== "undefined") { Zenbox.init({ dropboxID: "20115046", url: "https://openstack.zendesk.com", tabID: "Ask Us", tabColor: "black", tabPosition: "Right" }); } '); }
public function updateCMSFields(FieldList $fields) { Requirements::customCSS(<<<CSS \t\t\tform.small .field input.text, \t\t\tform.small .field textarea, \t\t\tform.small .field select, \t\t\tform.small .field .TreeDropdownField, \t\t\t.field.small input.text, \t\t\t.field.small textarea, \t\t\t.field.small select, \t\t\t.field.small .TreeDropdownField { \t\t\twidth: 100%; \t\t\t} CSS ); $fields->dataFieldByName('Title')->setTitle(_t('Linkable.TITLE', 'Title Attribute'))->setDescription('Describe the image to humans'); /** @var TextField $altText */ $fields->addFieldToTab('Root.Main', $altText = TextField::create('AltText', _t('Linkable.SEOTEXT', 'Alt Attribute')), 'Name'); $altText->setDescription('Describe the image to google'); $fields->removeByName('OwningPageID'); }
public function updateFields(FieldList $fields) { if ($this->hasCampaignMonitorPage()) { $page = $this->CampaignMonitorPage(); if ($page->ReadyToReceiveSubscribtions()) { // Create fields $member = Member::currentUser(); $api = $this->getAPI(); $currentValues = $api->getSubscriber($page->ListID, $member); if (!$currentValues) { $emailField = null; $emailRequired = true; } if (!$member) { $member = new Member(); } $signupField = $member->getCampaignMonitorSignupField($page->ListID, "SubscribeChoice"); $fieldsToHide = Config::inst()->get("EcommerceNewsletterCampaignMonitorSignupDecoratorFormFixes", "fields_to_hide"); foreach ($fieldsToHide as $field) { Requirements::customCSS("#CMCustomField" . $field . " {display: none;}"); } $config = EcommerceDBConfig::current_ecommerce_db_config(); if ($config->CampaignMonitorSignupHeader) { $fields->push(new HeaderField("CampaignMonitorNewsletterSignupHeader", $config->CampaignMonitorSignupHeader, 3)); } if ($config->CampaignMonitorSignupIntro) { $fields->push(new LiteralField("CampaignMonitorNewsletterSignupContent", "<p class=\"campaignMonitorNewsletterSignupContent\">" . $config->CampaignMonitorSignupIntro . "</p>")); } $label = $config->CampaignMonitorSignupLabel; if (!$label) { $label = _t("EcommerceNewsletterCampaignMonitorSignupDecoratorFormFixes.JOIN", "Join"); } $fields->push(new CheckboxField("CampaignMonitorNewsletterSubscribeCheckBox", $config->CampaignMonitorSignupLabel)); $fields->push($signupField); Requirements::customCSS("\n\t\t\t\t\t#SubscribeChoice {display: none;}\n\t\t\t\t\t.CMFieldsCustomFieldsHolder {display: none;}\n\t\t\t\t"); Requirements::customScript("jQuery(\"#CampaignMonitorNewsletterSubscribeCheckBox\").on(\"change\", function(){jQuery(\".CMFieldsCustomFieldsHolder\").slideToggle();});"); } } }
public function __construct($name, $title = null, \SS_List $items = null) { parent::__construct($name, $title, $items); // Update templates to avoid cms styles $this->setTemplate('forms/FrontendUploadField'); $this->setTemplateFileEdit('forms/FrontendUploadField_FileEdit'); $this->setTemplateFileButtons('forms/FrontendUploadField_FileButtons'); $this->setDownloadTemplateName('ss-frontenduploadfield-downloadtemplate'); $this->setUploadTemplateName('ss-frontenduploadfield-uploadtemplate'); // Configure to something more bullet proof $this->setCanAttachExisting(false); // Block access to Silverstripe assets library $this->setCanPreviewFolder(false); // Don't show target filesystem folder on upload field $this->relationAutoSetting = false; // Prevents the form thinking the GalleryPage is the underlying object $this->setConfig('overwriteWarning', false); $this->getUpload()->setReplaceFile(false); //the page crash if we click edit before the page is loaded Requirements::customCSS('.ss-uploadfield-item-edit.disabled { background:#eee; color:#666}'); Requirements::customScript("jQuery('.ss-uploadfield-item-edit').attr('disabled','disabled').addClass('disabled');\njQuery(window).load(function() {\n\tjQuery('.ss-uploadfield-item-editform').removeClass('loading'); //fix edit form in frontend\n\tjQuery('.ss-uploadfield-item-edit').removeAttr('disabled').removeClass('disabled');\n});\n", "FrontendUploadFieldFix"); }
function __construct($controller, $name, $use_actions = true) { $RatingField = new TextField('rating', ''); $RatingField->setValue(0); $CommentField = new HtmlEditorField('comment', 'Comment'); $CommentField->setRows(8); $sec_field = new TextField('field_98438688', 'field_98438688'); $sec_field->addExtraClass('honey'); $fields = new FieldList($RatingField, $CommentField, $sec_field); // Create action $actions = new FieldList(); if ($use_actions) { $actions->push(new FormAction('submit', 'Submit')); } $this->addExtraClass('review-form'); $css = <<<CSS .honey { \tposition: absolute; left: -9999px } CSS; Requirements::customCSS($css, 'honey_css'); parent::__construct($controller, $name, $fields, $actions); }
/** * Local Font Requirements * * TODO: * the filetypes setting in the config is not * being used at the moment, and thus when additional (or fewer file types) * are present, this won't be reflected (e.g. don't we add woff2 file type here) * * @param bool $returnString */ public static function LocalFontRequirements($returnString = false) { $enabled_fonts = self::enabled_fonts(); $fontsDir = self::config()->local_fonts_location; $css = ''; foreach (self::config()->local_fonts as $font => $settings) { if (in_array($font, $enabled_fonts)) { $styles = explode(",", $settings['styles']); $directory = $settings['directory']; foreach ($styles as $style) { $styleArr = $settings[$style]; $filepattern = $styleArr['filepattern']; $cssStyle = $styleArr['style']; $dir = "/{$fontsDir}/{$directory}"; $css .= "\n\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\tfont-family: '{$font}';\n\t\t\t\t\t\t\tsrc: url('{$dir}/{$filepattern}.eot');\n\t\t\t\t\t\t\tsrc: url('{$dir}/{$filepattern}.eot?#iefix') format('embedded-opentype'),\n\t\t\t\t\t\t\t\t url('{$dir}/{$filepattern}.woff') format('woff'),\n\t\t\t\t\t\t\t\t url('{$dir}/{$filepattern}.ttf') format('truetype'),\n\t\t\t\t\t\t\t\t url('{$dir}/{$filepattern}.svg#{$font}') format('svg');\n\t\t\t\t\t\t\t{$cssStyle}\n\t\t\t\t\t\t}\n\t\t\t\t\t"; } } } if ($returnString) { return $css; } else { Requirements::customCSS($css); } }
function getRequirementsForPopup() { $purchased = $this->getPurchasedTotal(); if (!$this->ID || !$purchased) { Requirements::javascript(THIRDPARTY_DIR . '/jquery/jquery.js'); Requirements::javascript('ecommerce_product_variation/javascript/productvariation.js'); Requirements::customScript("ProductVariation.set_url('createecommercevariations')", 'CreateEcommerceVariationsField_set_url'); Requirements::customCSS('#ComplexTableField_Popup_AddForm input.loading {background: url("cms/images/network-save.gif") no-repeat scroll left center #FFFFFF; padding-left: 16px;}'); } }
/** * Returns the main menu of the CMS. This is also used by init() * to work out which sections the user has access to. * * @param Boolean * @return SS_List */ public function MainMenu($cached = true) { if (!isset($this->_cache_MainMenu) || !$cached) { // Don't accidentally return a menu if you're not logged in - it's used to determine access. if (!Member::currentUser()) { return new ArrayList(); } // Encode into DO set $menu = new ArrayList(); $menuItems = CMSMenu::get_viewable_menu_items(); // extra styling for custom menu-icons $menuIconStyling = ''; if ($menuItems) { foreach ($menuItems as $code => $menuItem) { // alternate permission checks (in addition to LeftAndMain->canView()) if (isset($menuItem->controller) && $this->hasMethod('alternateMenuDisplayCheck') && !$this->alternateMenuDisplayCheck($menuItem->controller)) { continue; } $linkingmode = "link"; if ($menuItem->controller && get_class($this) == $menuItem->controller) { $linkingmode = "current"; } else { if (strpos($this->Link(), $menuItem->url) !== false) { if ($this->Link() == $menuItem->url) { $linkingmode = "current"; // default menu is the one with a blank {@link url_segment} } else { if (singleton($menuItem->controller)->stat('url_segment') == '') { if ($this->Link() == $this->stat('url_base') . '/') { $linkingmode = "current"; } } else { $linkingmode = "current"; } } } } // already set in CMSMenu::populate_menu(), but from a static pre-controller // context, so doesn't respect the current user locale in _t() calls - as a workaround, // we simply call LeftAndMain::menu_title_for_class() again // if we're dealing with a controller if ($menuItem->controller) { $defaultTitle = LeftAndMain::menu_title_for_class($menuItem->controller); $title = _t("{$menuItem->controller}.MENUTITLE", $defaultTitle); } else { $title = $menuItem->title; } // Provide styling for custom $menu-icon. Done here instead of in // CMSMenu::populate_menu(), because the icon is part of // the CMS right pane for the specified class as well... if ($menuItem->controller) { $menuIcon = LeftAndMain::menu_icon_for_class($menuItem->controller); if (!empty($menuIcon)) { $menuIconStyling .= $menuIcon; } } $menu->push(new ArrayData(array("MenuItem" => $menuItem, "Title" => Convert::raw2xml($title), "Code" => DBField::create_field('Text', $code), "Link" => $menuItem->url, "LinkingMode" => $linkingmode))); } } if ($menuIconStyling) { Requirements::customCSS($menuIconStyling); } $this->_cache_MainMenu = $menu; } return $this->_cache_MainMenu; }
/** * Encode an email-address to protect it from spambots. * At the moment only simple string substitutions, * which are not 100% safe from email harvesting. * * @todo Integrate javascript-based solution * * @param string $email Email-address * @param string $method Method for obfuscating/encoding the address * - 'direction': Reverse the text and then use CSS to put the text direction back to normal * - 'visible': Simple string substitution ('@' to '[at]', '.' to '[dot], '-' to [dash]) * - 'hex': Hexadecimal URL-Encoding - useful for mailto: links * @return string */ public static function obfuscate($email, $method = 'visible') { switch ($method) { case 'direction': Requirements::customCSS('span.codedirection { unicode-bidi: bidi-override; direction: rtl; }', 'codedirectionCSS'); return '<span class="codedirection">' . strrev($email) . '</span>'; case 'visible': $obfuscated = array('@' => ' [at] ', '.' => ' [dot] ', '-' => ' [dash] '); return strtr($email, $obfuscated); case 'hex': $encoded = ''; for ($x = 0; $x < strlen($email); $x++) { $encoded .= '&#x' . bin2hex($email[$x]) . ';'; } return $encoded; default: user_error('Email::obfuscate(): Unknown obfuscation method', E_USER_NOTICE); return $email; } }
/** * Render the fields and include javascript. * * (non-PHPdoc) * @see FormField::FieldHolder() * @return String */ function FieldHolder() { Requirements::javascript(THIRDPARTY_DIR . '/jquery/jquery.js'); Requirements::javascript('swipestripe/javascript/StockField.js'); Requirements::customCSS('.HiddenStock{display:none;}'); return $this->renderWith($this->template); }
/** * Restore requirements cleared by call to Requirements::clear */ static function restore() { Requirements::$javascript = Requirements::$disabled['javascript']; Requirements::$css = Requirements::$disabled['css']; Requirements::$customScript = Requirements::$disabled['customScript']; Requirements::$customCSS = Requirements::$disabled['customCSS']; }
/** * Initialises the extension by generating the custom CSS for the icons. */ public function init() { // Add Custom CSS Requirements: Requirements::customCSS($this->getAwesomeIconCSS()); }
public function init() { Requirements::customCSS($this->generatePageIconsCss()); }
function FieldHolder() { Requirements::customCSS("\n.simplespamprotector { display: none; }\n"); return parent::FieldHolder(); }
public function attendees(SS_HTTPRequest $request) { $summit_id = intval($request->param('SummitID')); $summit = Summit::get()->byID($summit_id); Requirements::customCSS("\n .bootstrap-tagsinput {\n width: 100% !important;\n }"); Requirements::css('summit/css/simple-sidebar.css'); Requirements::css('themes/openstack/bower_assets/bootstrap-tagsinput/dist/bootstrap-tagsinput.css'); Requirements::css('themes/openstack/bower_assets/bootstrap-tagsinput/dist/bootstrap-tagsinput-typeahead.css'); Requirements::css('themes/openstack/bower_assets/sweetalert/dist/sweetalert.css'); Requirements::javascript('themes/openstack/bower_assets/sweetalert/dist/sweetalert.min.js'); Requirements::javascript('themes/openstack/bower_assets/jquery-validate/dist/jquery.validate.min.js'); Requirements::javascript('themes/openstack/bower_assets/jquery-validate/dist/additional-methods.min.js'); Requirements::javascript('themes/openstack/bower_assets/typeahead.js/dist/typeahead.bundle.min.js'); Requirements::javascript('themes/openstack/bower_assets/bootstrap-tagsinput/dist/bootstrap-tagsinput.min.js'); Requirements::javascript('summit/javascript/simple-sidebar.js'); Requirements::javascript('themes/openstack/javascript/bootstrap-paginator/src/bootstrap-paginator.js'); Requirements::javascript('themes/openstack/javascript/urlfragment.jquery.js'); Requirements::javascript('themes/openstack/javascript/jquery-ajax-loader.js'); Requirements::javascript('summit/javascript/summitapp-addattendee.js'); return $this->getViewer('attendees')->process($this->customise(array('Summit' => $summit))); }