Source of file SecurityContext.php
Size: 1,315 Bytes - Last Modified: 2021-12-23T10:34:03+00:00
/var/www/docs.ssmods.com/process/src/code/services/SecurityContext.php
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 | <?php /** * A context describing the security in place in the application, * effectively the user that's logged in * * @author marcus@silverstripe.com.au * @license BSD License http://silverstripe.org/bsd-license/ */ class SecurityContext implements TemplateGlobalProvider { protected $currentMember; public function __construct() { } public function getMember() { if (!$this->currentMember) { // need to allow member to write itself before it's fully loaded... $curr = Restrictable::set_enabled(false); if (Member::currentUserID()) { $this->currentMember = Member::currentUser(); } else { // ignore this for now! // $this->currentMember = singleton('PublicMember'); } Restrictable::set_enabled($curr); } return $this->currentMember; } public function setMember($member) { $this->currentMember = $member; } public static function ContextUser() { $securityContext = Injector::inst()->get('SecurityContext'); return $securityContext->getMember(); } public static function get_template_global_variables() { return array( 'ContextUser' ); } } |