Use $this->user instead of $logged_info more consistently #1866

This commit is contained in:
Kijin Sung 2022-02-04 01:19:30 +09:00
parent cb9f3dd1db
commit 70cfe24cdd
6 changed files with 13 additions and 13 deletions

View file

@ -388,7 +388,7 @@ class Context
else
{
self::set('is_logged', false);
self::set('logged_info', Rhymix\Framework\Session::getMemberInfo());
self::set('logged_info', false);
}
}

View file

@ -85,7 +85,7 @@ class ModuleObject extends BaseObject
// Populate default properties.
$obj->setModulePath($module_path);
$obj->setModule($module);
$obj->user = Context::get('logged_info') ?: new Rhymix\Framework\Helpers\SessionHelper;
$obj->user = Context::get('logged_info');
if(!($obj->user instanceof Rhymix\Framework\Helpers\SessionHelper))
{
$obj->user = Rhymix\Framework\Session::getMemberInfo();
@ -248,7 +248,7 @@ class ModuleObject extends BaseObject
*/
public function setPrivileges()
{
if(Context::get('logged_info')->is_admin !== 'Y')
if(!$this->user->isAdmin())
{
// Get privileges(granted) information for target module by <permission check> of module.xml
if(($permission = $this->xml_info->action->{$this->act}->permission) && $permission->check_var)
@ -296,7 +296,7 @@ class ModuleObject extends BaseObject
if(!isset($grant))
{
// Get privileges(granted) information of current user for current module
$grant = ModuleModel::getInstance()->getGrant($this->module_info, Context::get('logged_info'), $this->xml_info);
$grant = ModuleModel::getInstance()->getGrant($this->module_info, $this->user, $this->xml_info);
// Check permission
if($this->checkPermission($grant) !== true)
@ -331,7 +331,7 @@ class ModuleObject extends BaseObject
// Get logged-in member information
if(!$member_info)
{
$member_info = Context::get('logged_info');
$member_info = $this->user;
}
// Get privileges(granted) information of the member for current module

View file

@ -36,7 +36,7 @@ class TemplateHandler
ini_set('pcre.jit', false);
$this->config = new stdClass;
$this->handler_mtime = filemtime(__FILE__);
$this->user = Rhymix\Framework\Session::getMemberInfo() ?: new Rhymix\Framework\Helpers\SessionHelper;
$this->user = Rhymix\Framework\Session::getMemberInfo();
}
/**

View file

@ -21,7 +21,7 @@ class SessionHelper
* @param int $member_srl (optional)
* @return void
*/
public function __construct($member_srl = null)
public function __construct($member_srl = 0)
{
// Load member information.
$member_srl = intval($member_srl);

View file

@ -734,7 +734,7 @@ class Session
* This method returns an object, or false if nobody is logged in.
*
* @param bool $refresh
* @return object|false
* @return Helpers\SessionHelper
*/
public static function getMemberInfo($refresh = false)
{
@ -742,7 +742,7 @@ class Session
$member_srl = self::getMemberSrl();
if (!$member_srl)
{
return false;
return new Helpers\SessionHelper(0);
}
// Create a member info object.
@ -752,7 +752,7 @@ class Session
}
// Return the member info object.
return self::$_member_info->member_srl ? self::$_member_info : false;
return self::$_member_info;
}
/**

View file

@ -282,16 +282,16 @@ class SessionTest extends \Codeception\TestCase\Test
public function testGetMemberInfo()
{
@Rhymix\Framework\Session::start();
$this->assertEquals(false, Rhymix\Framework\Session::getMemberInfo());
$this->assertEquals(new Rhymix\Framework\Helpers\SessionHelper(), Rhymix\Framework\Session::getMemberInfo());
Rhymix\Framework\Session::login(42);
$this->assertEquals(false, Rhymix\Framework\Session::getMemberInfo());
$this->assertEquals(new Rhymix\Framework\Helpers\SessionHelper(), Rhymix\Framework\Session::getMemberInfo());
Rhymix\Framework\Session::setMemberInfo((object)array('member_srl' => 42));
$this->assertEquals((object)array('member_srl' => 42), Rhymix\Framework\Session::getMemberInfo());
Rhymix\Framework\Session::setMemberInfo((object)array('member_srl' => 99, 'is_admin' => 'Y'));
$this->assertEquals(false, Rhymix\Framework\Session::getMemberInfo());
$this->assertEquals(new Rhymix\Framework\Helpers\SessionHelper(), Rhymix\Framework\Session::getMemberInfo());
Rhymix\Framework\Session::close();
}