public function getFormField() { $field = FileAttachmentField::create($this->Name, $this->Title); // $field = FileField::create($this->Name, $this->Title); if ($this->getSetting('Folder')) { $folder = Folder::get()->byId($this->getSetting('Folder')); if ($folder) { $field->setFolderName(preg_replace("/^assets\\//", "", $folder->Filename)); } } if ($this->getSetting('Obfuscate')) { $folder = rtrim($field->getFolderName(), '/'); $folder .= '/' . md5(time() + mt_rand()); $field->setFolderName($folder); } if ($this->getSetting('MultipleUploads')) { $field->setMultiple(true); } if ($this->Required) { // Required validation can conflict so add the Required validation messages // as input attributes $errorMessage = $this->getErrorMessage()->HTML(); $field->setAttribute('data-rule-required', 'true'); $field->setAttribute('data-msg-required', $errorMessage); } return $field; }
function getCMSFields() { $fields = parent::getCMSFields(); $fields->removeByName("Sort"); $fields->removeByName("PageID"); $image = FileAttachmentField::create('Image', 'Slide image')->setThumbnailHeight(200)->setThumbnailWidth(200)->setAutoProcessQueue(true)->setMaxFilesize(10)->imagesOnly(); $fields->addFieldToTab("Root.Main", $image); return $fields; }
public function updateCMSFields(FieldList $fields) { $fields->removeByName('Access'); // if(!Permission::check("ADMIN")) { // $fields->removeByName('Them e'); // } $fields->addFieldToTab("Root.Main", $resume = FileAttachmentField::create('Resume', 'Upload resume')->setAcceptedFiles(array('.pdf'))->setThumbnailHeight(200)->setThumbnailWidth(200)->setAutoProcessQueue(true)->setMaxFilesize(10)); $fields->tab('Main')->text("Unions")->text("ImdbURL")->text("ActorsAccessURL")->tab('Social')->text("FacebookURL")->text("TwitterURL")->text("InstagramURL")->text("PinterestURL")->text("VimeoURL")->text("SoundCloudURL")->text("YouTubeURL", "Enter the full URL of your YouTube channel")->tab('Contact')->text("Phone")->email("Email")->textarea("Address"); }
/** * PresentationMediaUploadForm constructor. * @param Controller $controller * @param string $name * @param SummitEvent $presentation */ public function __construct($controller, $name, SummitEvent $presentation) { $this->presentation = $presentation; $fields = FieldList::create(FileAttachmentField::create('Slide', 'File')->setFolderName('/presentation-media/')->setPermissions(['upload' => true, 'detach' => false, 'delete' => false])); $actions = FieldList::create(FormAction::create('doUpload', 'Upload File')); $validator = RequiredFields::create(['Slide']); parent::__construct($controller, $name, $fields, $actions, $validator); $material = $presentation->MaterialType('PresentationSlide'); if ($material) { $this->loadDataFrom($material); } }
public function getCMSFields() { $fields = parent::getCMSFields(); $fields->removeByName("BTSImages"); $gallery = FileAttachmentField::create('Images', 'Upload images')->setThumbnailHeight(200)->setThumbnailWidth(200)->setAutoProcessQueue(true)->setMaxFilesize(10)->imagesOnly(); $bts = FileAttachmentField::create('BTSImages', 'Upload BTS images')->setThumbnailHeight(200)->setThumbnailWidth(200)->setAutoProcessQueue(true)->setMaxFilesize(10)->imagesOnly(); $conf = GridFieldConfig_RelationEditor::create(10); $conf->addComponent(new GridFieldSortableRows('Sort')); $fields->addFieldToTab('Root.Clips', new GridField('Clips', 'Clips', $this->Clips(), $conf)); $fields->addFieldToTab('Root.Images', $gallery); $fields->addFieldToTab('Root.BTS', $bts); return $fields; }
public function getCMSFields() { $fields = parent::getCMSFields(); $image = FileAttachmentField::create('Image', 'Featured image')->setThumbnailHeight(200)->setThumbnailWidth(200)->setAutoProcessQueue(true)->setMaxFilesize(10)->imagesOnly(); $gallery = FileAttachmentField::create('Images', 'Upload images')->setThumbnailHeight(200)->setThumbnailWidth(200)->setAutoProcessQueue(true)->setMaxFilesize(10)->setView('grid')->imagesOnly(); // ->setPermissions(array( // 'delete' => false, // 'detach' => function () { // return Member::currentUser() && Member::currentUser()->inGroup('editors'); // } // ) $conf = GridFieldConfig_RelationEditor::create(10); $conf->addComponent(new GridFieldSortableRows('Sort')); $fields->addFieldToTab('Root.Slider', new GridField('Slider', 'Slider', $this->Slider(), $conf)); $fields->addFieldToTab("Root.Images", $image); $fields->addFieldToTab("Root.Images", $gallery); return $fields; }
/** * The endpoint for file uploads. Hands off to Dropzone module * * @param SS_HTTPRequest $r * @return SS_HTTPResponse */ public function handleUpload(SS_HTTPRequest $r) { $r->setUrl('upload'); $folder = Folder::get()->byID($r->param('FolderID')); $uploader = FileAttachmentField::create('dummy'); if ($folder) { $uploader->setFolderName(self::remove_assets_dir($folder->Filename)); } else { $uploader->setFolderName('/'); } $httpResponse = $uploader->handleRequest($r, DataModel::inst()); if ($httpResponse->getStatusCode() !== 200) { return $httpResponse; } $ids = $httpResponse->getBody(); $files = File::get()->byIDs(explode(',', $ids)); $response = array(); foreach ($files as $f) { $response[] = $this->createFileJSON($f, $folder); } return (new SS_HTTPResponse(Convert::array2json($response)))->addHeader('Content-Type', 'application/json'); }
public function UploadForm() { $member = $this->securityContext->getMember(); if (!$member) { return; } if (!$this->Options()->EnableUploads) { return; } $fields = FieldList::create(); $actions = FieldList::create(); $fields->push($upload = FileAttachmentField::create('Attachment', _t('MicroBlog.FILE_UPLOAD', 'Files'))); $folderName = $member->memberFolder()->Filename . '/' . substr(mt_rand(0, 4242424242) . date(DateTime::ISO8601), 0, 12); if (strpos($folderName, 'assets/') === 0) { $folderName = substr($folderName, 7); } $upload->setFolderName($folderName); // megahack; for some reason the module doesn't bind the dropzone interface unless the backend class is set $upload->setFieldHolderTemplate('MbFileAttachmentField_holder'); $form = new Form($this, 'UploadForm', $fields, $actions); $form->addExtraClass('fileUploadForm'); return $form; }