Source of file SimpleGalleryImage.php
Size: 3,215 Bytes - Last Modified: 2021-12-23T11:00:34+00:00
/var/www/docs.ssmods.com/process/src/src/SimpleGalleryImage.php
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114 | <?php namespace g4b0\SimpleGallery; use SilverStripe\ORM\DataObject; use SilverStripe\CMS\Controllers\ContentController; use SilverStripe\Security\PermissionProvider; /** * SimpleGalleryImage * * @author Gabriele Brosulo <gabriele.brosulo@zirak.it> * @creation-date 02-Apr-2014 */ class SimpleGalleryImage extends DataObject { private static $db = [ 'SortOrder' => 'Int', 'Title' => 'Varchar', 'SubTitle' => 'Varchar', 'Text' => 'Text', 'ButtonText' => 'Varchar(255)', 'ButtonLink' => 'Varchar(255)', 'CustomLink' => 'Varchar(255)', 'Disabled' => 'Boolean' ]; private static $has_one = [ 'Image' => 'Image', 'Page' => 'Page', 'Gallery' => 'SimpleGallery' ]; // Tell the datagrid what fields to show in the table private static $summary_fields = [ 'ID' => 'ID', 'Title' => 'Title', 'Thumbnail' => 'Thumbnail' ]; private static $table_name = 'SimpleGallery_SimpleGalleryImage'; // tidy up the CMS by not showing these fields public function getCMSFields() { $fields = parent::getCMSFields(); $fields->removeFieldFromTab("Root.Main", "DataObjectID"); $fields->removeFieldFromTab("Root.Main", "SortOrder"); $fields->removeByName('PageID'); $fields->removeByName('GalleryID'); $folder = Config::inst()->get('SimpleGalleryExtension', 'folder_path'); if (strlen($folder) == 0) { $folder = 'simplegallery'; } $field = new UploadField('Image'); $field->setFolderName($folder); $fields->insertAfter($field, 'Text'); return $fields; } // this function creates the thumnail for the summary fields to use public function getThumbnail() { return $this->Image()->CMSThumbnail(); } /** * Manipulate SortOrder adding $modifier. Templates sample (start from 0): * <li data-target="#HomeCarousel" data-slide-to="$getModifiedSortOrder(-1)"></li> * * @param Int $modifier * @return Int */ public function getModifiedSortOrder($modifier) { return $this->SortOrder + $modifier; } /** * Tutti possono visualizzare il DataObject * @param type $member * @return boolean */ public function canView($member = null) { return true; } public function canEdit($member = null) { if (Permission::check('SIMPLE_GALLERY_IMAGE_MANAGE')) return true; } public function canCreate($member = null, $context = array()) { if (Permission::check('SIMPLE_GALLERY_IMAGE_MANAGE')) return true; } public function canDelete($member = null) { if (Permission::check('SIMPLE_GALLERY_IMAGE_MANAGE')) return true; } } class SimpleGalleryImage_Controller extends ContentController implements PermissionProvider { public function providePermissions() { return array( "SIMPLE_GALLERY_IMAGE_MANAGE" => "Manage ZkGallery Images", ); } } |