|  |  |  | <?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()]].
 | 
					
						
							|  |  |  |  *
 | 
					
						
							|  |  |  |  * @author Qiang Xue <qiang.xue@gmail.com>
 | 
					
						
							|  |  |  |  * @author Alexander Kochetov <creocoder@gmail.com>
 | 
					
						
							|  |  |  |  * @since 2.0
 | 
					
						
							|  |  |  |  */
 | 
					
						
							|  |  |  | class Assignment extends Object
 | 
					
						
							|  |  |  | {
 | 
					
						
							|  |  |  | 	/**
 | 
					
						
							|  |  |  | 	 * @var Manager the auth manager of this item
 | 
					
						
							|  |  |  | 	 */
 | 
					
						
							|  |  |  | 	public $manager;
 | 
					
						
							|  |  |  | 	/**
 | 
					
						
							|  |  |  | 	 * @var string the business rule associated with this assignment
 | 
					
						
							|  |  |  | 	 */
 | 
					
						
							|  |  |  | 	public $bizRule;
 | 
					
						
							|  |  |  | 	/**
 | 
					
						
							|  |  |  | 	 * @var mixed additional data for this assignment
 | 
					
						
							|  |  |  | 	 */
 | 
					
						
							|  |  |  | 	public $data;
 | 
					
						
							|  |  |  | 	/**
 | 
					
						
							|  |  |  | 	 * @var mixed user ID (see [[User::id]]). Do not modify this property after it is populated.
 | 
					
						
							|  |  |  | 	 * To modify the user ID of an assignment, you must remove the assignment and create a new one.
 | 
					
						
							|  |  |  | 	 */
 | 
					
						
							|  |  |  | 	public $userId;
 | 
					
						
							|  |  |  | 	/**
 | 
					
						
							|  |  |  | 	 * @return string the authorization item name. Do not modify this property after it is populated.
 | 
					
						
							|  |  |  | 	 * To modify the item name of an assignment, you must remove the assignment and create a new one.
 | 
					
						
							|  |  |  | 	 */
 | 
					
						
							|  |  |  | 	public $itemName;
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	/**
 | 
					
						
							|  |  |  | 	 * Saves the changes to an authorization assignment.
 | 
					
						
							|  |  |  | 	 */
 | 
					
						
							|  |  |  | 	public function save()
 | 
					
						
							|  |  |  | 	{
 | 
					
						
							|  |  |  | 		$this->manager->saveAssignment($this);
 | 
					
						
							|  |  |  | 	}
 | 
					
						
							|  |  |  | }
 |