You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							106 lines
						
					
					
						
							2.4 KiB
						
					
					
				
			
		
		
	
	
							106 lines
						
					
					
						
							2.4 KiB
						
					
					
				<?php | 
						|
/** | 
						|
 * @link http://www.yiiframework.com/ | 
						|
 * @copyright Copyright (c) 2008 Yii Software LLC | 
						|
 * @license http://www.yiiframework.com/license/ | 
						|
 */ | 
						|
 | 
						|
namespace yii\rbac; | 
						|
 | 
						|
use Yii; | 
						|
use yii\base\Object; | 
						|
 | 
						|
/** | 
						|
 * Assignment represents an assignment of a role to a user. | 
						|
 * It includes additional assignment information such as [[bizRule]] and [[data]]. | 
						|
 * Do not create a Assignment instance using the 'new' operator. | 
						|
 * Instead, call [[Manager::assign()]]. | 
						|
 * | 
						|
 * @property mixed $userId User ID (see [[User::id]]). | 
						|
 * @property string $itemName The authorization item name. | 
						|
 * @property string $bizRule The business rule associated with this assignment. | 
						|
 * @property mixed $data Additional data for this assignment. | 
						|
 * | 
						|
 * @author Qiang Xue <qiang.xue@gmail.com> | 
						|
 * @author Alexander Kochetov <creocoder@gmail.com> | 
						|
 * @since 2.0 | 
						|
 */ | 
						|
class Assignment extends Object | 
						|
{ | 
						|
	private $_auth; | 
						|
	private $_userId; | 
						|
	private $_itemName; | 
						|
	private $_bizRule; | 
						|
	private $_data; | 
						|
 | 
						|
	/** | 
						|
	 * Constructor. | 
						|
	 * @param Manager $auth the authorization manager | 
						|
	 * @param mixed $userId user ID (see [[User::id]]) | 
						|
	 * @param string $itemName authorization item name | 
						|
	 * @param string $bizRule the business rule associated with this assignment | 
						|
	 * @param mixed $data additional data for this assignment | 
						|
	 */ | 
						|
	public function __construct($auth, $userId, $itemName, $bizRule = null, $data = null) | 
						|
	{ | 
						|
		$this->_auth = $auth; | 
						|
		$this->_userId = $userId; | 
						|
		$this->_itemName = $itemName; | 
						|
		$this->_bizRule = $bizRule; | 
						|
		$this->_data = $data; | 
						|
	} | 
						|
 | 
						|
	/** | 
						|
	 * @return mixed user ID (see [[User::id]]) | 
						|
	 */ | 
						|
	public function getUserId() | 
						|
	{ | 
						|
		return $this->_userId; | 
						|
	} | 
						|
 | 
						|
	/** | 
						|
	 * @return string the authorization item name | 
						|
	 */ | 
						|
	public function getItemName() | 
						|
	{ | 
						|
		return $this->_itemName; | 
						|
	} | 
						|
 | 
						|
	/** | 
						|
	 * @return string the business rule associated with this assignment | 
						|
	 */ | 
						|
	public function getBizRule() | 
						|
	{ | 
						|
		return $this->_bizRule; | 
						|
	} | 
						|
 | 
						|
	/** | 
						|
	 * @param string $value the business rule associated with this assignment | 
						|
	 */ | 
						|
	public function setBizRule($value) | 
						|
	{ | 
						|
		if ($this->_bizRule !== $value) { | 
						|
			$this->_bizRule = $value; | 
						|
			$this->_auth->saveAssignment($this); | 
						|
		} | 
						|
	} | 
						|
 | 
						|
	/** | 
						|
	 * @return mixed additional data for this assignment | 
						|
	 */ | 
						|
	public function getData() | 
						|
	{ | 
						|
		return $this->_data; | 
						|
	} | 
						|
 | 
						|
	/** | 
						|
	 * @param mixed $value additional data for this assignment | 
						|
	 */ | 
						|
	public function setData($value) | 
						|
	{ | 
						|
		if ($this->_data !== $value) { | 
						|
			$this->_data = $value; | 
						|
			$this->_auth->saveAssignment($this); | 
						|
		} | 
						|
	} | 
						|
}
 | 
						|
 |