Source of file SystemMessageControllerExtension.php
Size: 2,512 Bytes - Last Modified: 2021-12-24T05:17:00+00:00
/var/www/docs.ssmods.com/process/src/src/extensions/SystemMessageControllerExtension.php
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 | <?php namespace ilateral\SilverStripe\SystemMessages; use SilverStripe\Core\Extension; use SilverStripe\Security\Member; use SilverStripe\Control\Director; use ilateral\SilverStripe\SystemMessages\SystemMessage; use ilateral\SilverStripe\SystemMessages\SystemMessages; use SilverStripe\Core\Config\Config; use SilverStripe\View\Requirements; class SystemMessageControllerExtension extends Extension { private static $load_jquery = false; private static $load_jquery_defer = false; private static $allowed_actions = array( "closesystemmessage" ); public function onAfterInit() { if (Config::inst()->get(static::class, 'load_jquery')) { Requirements::javascript('silverstripe/admin:thirdparty/jquery/jquery.js'); } if (Config::inst()->get(static::class, 'load_jquery_defer')) { Requirements::javascript('silverstripe/admin:thirdparty/jquery/jquery.js', ['defer' => true]); } Requirements::css("i-lateral/silverstripe-systemmessages:client/dist/css/system_messages.css"); $vars = []; $use_bootstrap = Config::inst()->get(SystemMessages::class, 'use_bootstrap'); if (empty($use_bootstrap) || $use_bootstrap === false) { $vars["UseBootstrap"] = 'false'; } else { $vars["UseBootstrap"] = 'true'; } Requirements::javascriptTemplate( 'i-lateral/silverstripe-systemmessages:client/dist/js/SMModal.js', $vars ); } public function SystemMessages() { return SystemMessages::create(); } /** * Close the message passed by the URL's ID and return. * If the user is currently logged in, then mark it against * their account, else drop a cookie. * * @return SS_Response */ public function closesystemmessage() { $id = $this->owner->request->param("ID"); $message = SystemMessage::get()->byID($id); $member = Member::currentUser(); $action = $this->owner->request->getVars(); // If not a message then generate an error if (!$message) { return $this->owner->httpError(500); } if ($member) { $message->close($member); } else { $message->close(); } if ($action) { return $this->owner->redirect(Director::get_current_page()->Link()); } else { return $this->owner->redirectBack(); } } } |