Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- /**
- * Toolbar shared by all instances of {@link HTMLEditorField}, to avoid too much markup duplication.
- * Needs to be inserted manually into the template in order to function - see {@link LeftAndMain->EditorToolbar()}.
- *
- * @package forms
- * @subpackage fields-formattedinput
- */
- class HtmlEditorField_Toolbar extends RequestHandler {
- /**
- * @return FieldList
- */
- protected function getFieldsForImage($url, $file) {
- if($file->File instanceof Image) {
- $formattedImage = $file->File->generateFormattedImage('SetWidth',
- Config::inst()->get('Image', 'asset_preview_width'));
- $thumbnailURL = Convert::raw2att($formattedImage ? $formattedImage->URL : $url);
- } else {
- $thumbnailURL = Convert::raw2att($url);
- }
- $fileName = Convert::raw2att($file->Name);
- $fields = new FieldList(
- CompositeField::create(
- CompositeField::create(
- LiteralField::create(
- "ImageFull",
- "<img id='thumbnailImage' class='thumbnail-preview' "
- . "src='{$thumbnailURL}?r=" . rand(1,100000) . "' alt='$fileName' />\n"
- )
- )->setName("FilePreviewImage")->addExtraClass('cms-file-info-preview'),
- CompositeField::create(
- CompositeField::create(
- new ReadonlyField("FileType", _t('AssetTableField.TYPE','File type'), $file->FileType),
- new ReadonlyField("Size", _t('AssetTableField.SIZE','File size'), $file->getSize()),
- $urlField = new ReadonlyField(
- 'ClickableURL',
- _t('AssetTableField.URL','URL'),
- sprintf(
- '<a href="%s" title="%s" target="_blank" class="file-url">%s</a>',
- Convert::raw2att($file->Link()),
- Convert::raw2att($file->Link()),
- Convert::raw2att($file->RelativeLink())
- )
- ),
- new DateField_Disabled("Created", _t('AssetTableField.CREATED','First uploaded'),
- $file->Created),
- new DateField_Disabled("LastEdited", _t('AssetTableField.LASTEDIT','Last changed'),
- $file->LastEdited)
- )
- )->setName("FilePreviewData")->addExtraClass('cms-file-info-data')
- )->setName("FilePreview")->addExtraClass('cms-file-info'),
- TextField::create(
- 'AltText',
- _t('HtmlEditorField.IMAGEALT', 'Alternative text (alt)'),
- $file->Title,
- 80
- )->setDescription(
- _t('HtmlEditorField.IMAGEALTTEXTDESC', 'Shown to screen readers or if image can not be displayed')),
- TextField::create(
- 'Title',
- _t('HtmlEditorField.IMAGETITLETEXT', 'Title text (tooltip)')
- )->setDescription(
- _t('HtmlEditorField.IMAGETITLETEXTDESC', 'For additional information about the image')),
- new TextField('CaptionText', _t('HtmlEditorField.CAPTIONTEXT', 'Caption text')),
- DropdownField::create(
- 'CSSClass',
- _t('HtmlEditorField.CSSCLASS', 'Alignment / style'),
- array(
- 'leftAlone' => _t('HtmlEditorField.CSSCLASSLEFTALONE', 'On the left, on its own.'),
- 'center' => _t('HtmlEditorField.CSSCLASSCENTER', 'Centered, on its own.'),
- 'left' => _t('HtmlEditorField.CSSCLASSLEFT', 'On the left, with text wrapping around.'),
- 'right' => _t('HtmlEditorField.CSSCLASSRIGHT', 'On the right, with text wrapping around.')
- )
- )->addExtraClass('last')
- );
- if($file->Width != null){
- $fields->push(
- FieldGroup::create(_t('HtmlEditorField.IMAGEDIMENSIONS', 'Dimensions'),
- TextField::create(
- 'Width',
- _t('HtmlEditorField.IMAGEWIDTHPX', 'Width'),
- $file->InsertWidth
- )->setMaxLength(5),
- TextField::create(
- 'Height',
- " x " . _t('HtmlEditorField.IMAGEHEIGHTPX', 'Height'),
- $file->InsertHeight
- )->setMaxLength(5)
- )->addExtraClass('dimensions last')
- );
- }
- $urlField->dontEscape = true;
- $this->extend('updateFieldsForImage', $fields, $url, $file);
- return $fields;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement