Source of file FacebookAdmin.php
Size: 2,292 Bytes - Last Modified: 2021-12-23T10:04:18+00:00
/var/www/docs.ssmods.com/process/src/admin/code/FacebookAdmin.php
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115 | <?php /** * Admin interface to mange Facebook integration. * * @package silverstripe-facebook * @subpackage admin **/ class FacebookAdmin extends LeftAndMain { static $allowed_actions = array( "save", "EditForm", ); /** * CMS URL Segment * * @var string **/ static $url_segment = "facebook"; /** * CMS Menu Title * * @var string **/ static $menu_title = "Facebook Integration"; /** * CMS Menu icon. * * @var string - Path to image **/ static $menu_icon = "silverstripe-facebook/admin/images/menu-icons/facebook.png"; /** * Stores an instance of Facebook. * * @var Faceviij **/ protected $facebook; public function init() { parent::init(); // Load Facebook App $this->getFacebookApp(); } public function getEditForm($id = null, $field = null) { $form = parent::getEditForm($id, $field); $form->addExtraClass("center"); // Setup Fields $form->setFields($this->facebook->getCMSFields()); // Setup Actions $form->setActions($this->getCMSActions()); // Populate Form $form->loadDataFrom($this->facebook); return $form; } /** * Add actions to the EditForm * * @return FieldList **/ public function getCMSActions() { //Setup Actions $actions = new FieldList(); $actions->push( FormAction::create("save", "Save")->setUseButtonTag(true) ->addExtraClass('ss-ui-action-constructive')->setAttribute('data-icon', 'accept') ); $this->extend("updateCMSActions", $actions); return $actions; } /** * Save the form in its current state. * * @param $data array - Form data * @param $form Form - Current Form * @return SS_HTTPResponse **/ public function save($data, $form) { $facebook = $this->getFacebookApp(); $form->saveInto($facebook, $this->request); if($facebook->write()) { $form->sessionMessage("Facebook Application saved.", "good"); } else { $form->sessionMessage("Unable to save Facebook Application", "bad"); } return $this->getResponseNegotiator()->respond($this->request); } /** * Returns the Facebook App for the current site. * * @return FacebookApp **/ public function getFacebookApp() { if($this->facebook) return $this->facebook; return $this->facebook = FacebookApp::get()->first(); } } ?> |