Source of file SocialSiteConfigExtension.php
Size: 4,789 Bytes - Last Modified: 2021-12-24T06:47:40+00:00
/var/www/docs.ssmods.com/process/src/code/decorators/SocialSiteConfigExtension.php
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111 | <?php /** * Add the social-features to the SiteConfig. Not really exciting actually. * * @author Simon 'Sphere' Erkelens * @todo cleanup and translatables */ class SocialSiteConfigExtension extends DataExtension { /** * OAuth data. Currently only Twitter is supported. * @var type */ public static $db = array( 'TwitterAccount' => 'Varchar(255)', 'ConsumerKey' => 'Varchar(255)', 'ConsumerSecret' => 'Varchar(255)', 'OAuthToken' => 'Varchar(255)', 'OAuthTokenSecret' => 'Varchar(255)', 'TweetText' => 'Varchar(100)', 'FBAppID' => 'Varchar(255)', 'FBSecret' => 'Varchar(255)', 'FBPageID' => 'Varchar(255)', 'FBText' => 'Text', 'FBVerified' => "Text" ); /** * If the user is admin, he/she is able to enter the twitter keys required. * There is only one user active at the time. So, after the button is clicked, we don't show it again. * @todo fix the button to make it less ugly. * @param FieldList $fields */ public function updateCMSFields(FieldList $fields){ /** * Twitter connection (at least this one works!) */ if($this->owner->OAuthToken != ''){ $setField = LiteralField::create('dummy', _t($this->class . '.VERIFIED', '<h5>'._t($this->class . '.DONE', 'Already verified with Twitter').'</h5><br />')); } else{ $setField = LiteralField::create('dummy', ' <div onclick="javascript:window.location.href =\'TwitterController/signin/\'" class="ss-ui-action-constructive ss-ui-button ui-button ui-widget ui-state-default ui-corner-all ui-button-text-icon-primary" id="" data-icon="accept" role="button" aria-disabled="false"><span class="ui-button-icon-primary ui-icon btn-icon-accept"></span><span class="ui-button-text"> '._t($this->class . '.VERIFY', 'Verify with Twitter').'</span></div><br />'); } $fields->addFieldToTab( 'Root', TabSet::create( 'SocialMedia', _t($this->class . '.SOCIALMEDIA', 'Social media'), Tab::create( 'TwitterConnect', _t($this->class . '.TWITTERTAB', 'Twitter connect'), $setField, TextField::create('TwitterAccount', _t($this->class . '.TACCOUNT', 'Twitter account')) ) ) ); // Only admins can add a consumer key/secret combo. For security reasons ofcourse. if(Member::currentUser()->inGroup('administrators')){ $fields->addFieldsToTab( 'Root.SocialMedia.TwitterConnect', array( TextField::create('ConsumerKey'), TextField::create('ConsumerSecret') ) ); } $fields->addFieldToTab('Root.SocialMedia.TwitterConnect', TextField::create('TweetText', _t($this->class . '.TWEETTEXT', 'Text to tweet. $Title will be replaced by the actual page/object title.'))); /** * Facebook connection. */ if($this->owner->FBVerified){ $setField = LiteralField::create('dummy', _t($this->class . '.VERIFIED', '<h5>Already verified with Facebook</h5><br />')); $setField2 = LiteralField::create('dummy2', ' <div onclick="javascript:window.location.href =\'FacebookController/postFacebook/\'" class="ss-ui-action-constructive ss-ui-button ui-button ui-widget ui-state-default ui-corner-all ui-button-text-icon-primary" id="" data-icon="accept" role="button" aria-disabled="false"><span class="ui-button-icon-primary ui-icon btn-icon-accept"></span><span class="ui-button-text"> '._t($this->class . '.VERIFYFB', 'Send a test-post').'</span></div><br />'); } else{ $setField = LiteralField::create('dummy', ' <div onclick="javascript:window.location.href =\'FacebookController/signin/\'" class="ss-ui-action-constructive ss-ui-button ui-button ui-widget ui-state-default ui-corner-all ui-button-text-icon-primary" id="" data-icon="accept" role="button" aria-disabled="false"><span class="ui-button-icon-primary ui-icon btn-icon-accept"></span><span class="ui-button-text"> '._t($this->class . '.VERIFYFB', 'Verify with Facebook').'</span></div><br />'); $setField2 = LiteralField::create('dummy2', _t($this->class . '.VERIFYFIRST', 'You need to verify before you can test!')); } $fields->addFieldToTab( 'Root.SocialMedia', Tab::create( 'FacebookConnect', _t($this->class . '.FBTab', 'Facebook connect'), $setField, $setField2, TextField::create('FBPageID', 'Facebook Page ID') ) ); // Only admins can add a consumer key/secret combo. For security reasons ofcourse. if(Member::currentUser()->inGroup('administrators')){ $fields->addFieldsToTab( 'Root.SocialMedia.FacebookConnect', array( TextField::create('FBAppID', 'Facebook App ID'), TextField::create('FBSecret', 'Facebook secret'), ) ); } $fields->addFieldToTab('Root.SocialMedia.FacebookConnect', TextField::create('FBText', _t($this->class . '.FBTEXT', 'Text to post to Facebook. $Title will be replaced by the actual page/object title.'))); } } |