Exemplo n.º 1
0
 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');
 }
Exemplo n.º 7
0
    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()));
    }
Exemplo n.º 9
0
    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') . ';}');
 }
Exemplo n.º 11
0
    /**
     * @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);
    }
Exemplo n.º 12
0
 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;}');
     }
 }
Exemplo n.º 23
0
 /**
  * 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;
 }
Exemplo n.º 24
0
 /**
  * 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);
 }
Exemplo n.º 26
0
 /**
  * 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)));
 }