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;
 }
Beispiel #2
0
 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);
     }
 }
Beispiel #5
0
 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;
 }
Beispiel #6
0
 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;
 }