/** * Return the FieldSet used to edit this folder in the CMS. * You can modify this fieldset by subclassing folder, or by creating a {@link DataObjectDecorator} * and implemeting updateCMSFields(FieldSet $fields) on that decorator. */ function getCMSFields() { $nameField = ($this->ID > 0) ? new TextField("Name") : new HiddenField("Name"); $fileList = new AssetTableField( $this, "Files", "File", array("Title" => _t('Folder.TITLE', "Title"), "LinkedURL" => _t('Folder.FILENAME', "Filename")), "" ); $fileList->setFolder($this); $fileList->setPopupCaption(_t('Folder.VIEWEDITASSET', "View/Edit Asset")); $nameField = ($this->ID && $this->ID != "root") ? new TextField("Name", _t('Folder.TITLE')) : new HiddenField("Name"); if( $this->canEdit() ) { $deleteButton = new InlineFormAction('deletemarked',_t('Folder.DELSELECTED','Delete selected files'), 'delete'); $deleteButton->includeDefaultJS(false); } else { $deleteButton = new HiddenField('deletemarked'); } $fields = new FieldSet( new HiddenField("Title"), new TabSet("Root", new Tab("Files", _t('Folder.FILESTAB', "Files"), $nameField, $fileList, $deleteButton, new HiddenField("FileIDs"), new HiddenField("DestFolderID") ), new Tab("Details", _t('Folder.DETAILSTAB', "Details"), new ReadonlyField("URL", _t('Folder.URL', 'URL')), new ReadonlyField("ClassName", _t('Folder.TYPE','Type')), new ReadonlyField("Created", _t('Folder.CREATED','First Uploaded')), new ReadonlyField("LastEdited", _t('Folder.LASTEDITED','Last Updated')) ), new Tab("Upload", _t('Folder.UPLOADTAB', "Upload"), new LiteralField("UploadIframe", $this->getUploadIframe() ) ), new Tab("UnusedFiles", _t('Folder.UNUSEDFILESTAB', "Unused files"), new LiteralField("UnusedAssets", "<div id=\"UnusedAssets\"><h2>"._t('Folder.UNUSEDFILESTITLE', 'Unused files')."</h2>" ), $this->getAssetList(), new LiteralField("UnusedThumbnails", "</div> <div id=\"UnusedThumbnails\"> <h2>"._t('Folder.UNUSEDTHUMBNAILSTITLE', 'Unused thumbnails')."</h2> <button class=\"action\">"._t('Folder.DELETEUNUSEDTHUMBNAILS', 'Delete unused thumbnails')."</button> </div>" ) ) ), new HiddenField("ID") ); $this->extend('updateCMSFields', $fields); return $fields; }
/** * Return the FieldSet used to edit this folder in the CMS. * You can modify this fieldset by subclassing folder, or by creating a {@link DataExtension} * and implemeting updateCMSFields(FieldList $fields) on that extension. */ function getCMSFields() { $fileList = new AssetTableField($this, "Files", "File", array("Title" => _t('Folder.TITLE', "Title"), "Filename" => _t('Folder.FILENAME', "Filename")), ""); $fileList->setFolder($this); $fileList->setPopupCaption(_t('Folder.VIEWEDITASSET', "View/Edit Asset")); $titleField = $this->ID && $this->ID != "root" ? new TextField("Title", _t('Folder.TITLE')) : new HiddenField("Title"); if ($this->canEdit()) { $deleteButton = new InlineFormAction('deletemarked', _t('Folder.DELSELECTED', 'Delete selected files'), 'delete'); $deleteButton->includeDefaultJS(false); } else { $deleteButton = new HiddenField('deletemarked'); } $fields = new FieldList(new HiddenField("Name"), new TabSet("Root", new Tab("Files", _t('Folder.FILESTAB', "Files"), $titleField, $fileList, new HiddenField("DestFolderID")), new Tab("Details", _t('Folder.DETAILSTAB', "Details"), new ReadonlyField("URL", _t('Folder.URL', 'URL')), new ReadonlyField("ClassName", _t('Folder.TYPE', 'Type')), new ReadonlyField("Created", _t('Folder.CREATED', 'First Uploaded')), new ReadonlyField("LastEdited", _t('Folder.LASTEDITED', 'Last Updated'))), new Tab("Upload", _t('Folder.UPLOADTAB', "Upload"), new LiteralField("UploadIframe", $this->getUploadIframe()))), new HiddenField("ID")); if (!$this->canEdit()) { $fields->removeFieldFromTab("Root", "Upload"); } $this->extend('updateCMSFields', $fields); return $fields; }