Source of file Cta.php
Size: 1,834 Bytes - Last Modified: 2021-12-24T05:18:44+00:00
/var/www/docs.ssmods.com/process/src/code/Cta.php
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 | <?php class CtaBlock extends DataObject { private static $db = array( 'Title' => 'Varchar(255)', 'Align' => "Enum('Left,Center,Right','Left')", 'CssClass' => 'Varchar(255)', 'EmbedCode' => 'Text', 'Link' => 'Link', ); private static $has_one = array( 'Image' => 'Image' ); private static $summary_fields = array( 'Title' => 'Title' ); public function getCMSFields() { $fields = parent::getCMSFields(); $fields->dataFieldByName('Title')->setDescription('Internal Use Only'); $fields->replaceField('EmbedCode', CodeeditorField::create('EmbedCode') ->addExtraClass('stacked') ->setMode('html') ->setRows(10) ); $fields->insertBefore( TextField::create('ShortCode','Short Code')->setValue($this->GenerateShortCode())->setAttribute('readonly','readonly'), 'Title'); $fields->insertBefore( HeaderField::create('head1','Embeded CTA',2), 'EmbedCode' ); $fields->insertBefore( $fields->dataFieldByName('Image') ->setAllowedExtensions(array('jpg','jpeg','png','gif')) ->setFolderName('Uploads/cta'), 'Link' ); $fields->insertBefore( HeaderField::create('head2','Generated CTA',2), 'Image' ); $fields->replaceField('Link',LinkField::create('Link','Link') ); return $fields; } public function canCreate($member = null) { return true; } public function canDelete($member = null) { return true; } public function canEdit($member = null) { return true; } public function canView($member = null) { return true; } public function GenerateShortCode() { return ($this->ID) ? '[cta, id="'.$this->ID.'"]' : null; } public function forTemplate() { return $this->renderWith(array('cta')); } public static function ParseShortCode($args, $content=null, $parser=null, $tagname=null) { return ($cta = CtaBlock::get()->byID($args['id'])) ? $cta->forTemplate() : null; } } |