Source of file CMSPublishableDataExtension.php
Size: 1,473 Bytes - Last Modified: 2022-02-21T10:01:58+00:00
/var/www/docs.ssmods.com/process/src/code/data_extensions/CMSPublishableDataExtension.php
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 | <?php /** * Provides publish/unpublish functionality to DataObjects. * * Add this extension to a DataObject instance * by adding this to your _config.php: * * Object::add_extension('CleanTeaser', 'CMSPublishableDataExtension'); * * @package cleanutilities * @subpackage data_extensions * * @author arillo */ class CMSPublishableDataExtension extends DataExtension { private static $db = array( 'Published' => 'Boolean' ); public function populateDefaults() { $this->owner->Published = true; } public function updateCMSFields(FieldList $fields) { $fields->removeByName('Published'); $fields->unshift( CheckboxField::create( 'Published', _t('CMSPublishableDataExtension.PUBLISHED', 'Published') ) ); return $fields; } /** * Filter out all unpublished items * @param SQLQuery $query */ public function augmentSQL(SQLQuery &$query) { if (Controller::curr() != 'CMSPageEditController') { $query->addWhere("Published=1"); } } /** * Returns an inactive Checkbox, as indicator * useful feature for GridField etc. * * @return string */ public function getPublishStatus() { return CheckboxField::create('PublishStatus') ->setValue($this->owner->Published) ->setDisabled(true); } } |