Source of file FacebookDecorator.php
Size: 1,365 Bytes - Last Modified: 2021-12-23T10:10:07+00:00
/var/www/docs.ssmods.com/process/src/code/FacebookDecorator.php
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 | <?php class FacebookDecorator extends DataExtension { public function extraStatics() { return array( "db" => array( "LastPostedToFacebook" => "Varchar(255)" ) ); } public function updateCMSFields(&$fields) { $fields->addFieldToTab('Root.SocialMedia', new CheckboxField('PostToFacebook', 'Post to Facebook')); $fields->addFieldToTab('Root.SocialMedia', new ReadonlyField('LastPostedToFacebook', 'Last Posted To Facebook')); } public $PostToFacebook = false; public function setPostToFacebook($value) { $this->PostToFacebook = $value; } protected static $facebookField = array(); public function getFacebookData() { foreach(self::$facebookField as $k => $v) { if($this->owner instanceof $k) { if($this->owner->$v) { return $this->owner->$v; } else { return $this->owner->$v(); } } } } public function set_facebook_fields($fields = array()) { self::$facebookField = $fields; } public function onBeforeWrite(){ if($this->getFacebookData() && $this->PostToFacebook) { $this->owner->LastPostedToFacebook = date('d/m/Y g:ia'); } } public function onAfterWrite(){ if($this->getFacebookData() && $this->PostToFacebook) { $params = $this->getFacebookData(); $facebook = new PostToFacebook(); $resp = $facebook->sendToFacebook($params); $this->PostToFacebook = false; } } } |