14 const PERM_DIRECT = 1;
15 const PERM_INHERITED = 2;
29 public static function assign($itemName, $userId, $bizRule=null, $data=null)
32 return $authorizer->authManager->assign($itemName, $userId, $bizRule, $data);
41 public static function revoke($itemName, $userId)
44 return $authorizer->authManager->revoke($itemName, $userId);
56 $user = Yii::app()->getUser();
57 if( $userId===null && $user->isGuest===
false )
61 return $authorizer->getAuthItems(CAuthItem::TYPE_ROLE, $userId, null, $sort);
71 return Yii::app()->createUrl($module->baseUrl);
81 CAuthItem::TYPE_OPERATION=>
Rights::t(
'core',
'Operation'),
82 CAuthItem::TYPE_TASK=>
Rights::t(
'core',
'Task'),
83 CAuthItem::TYPE_ROLE=>
Rights::t(
'core',
'Role'),
95 if( isset($options[ $type ])===
true )
96 return $options[ $type ];
98 throw new CException(
Rights::t(
'core',
'Invalid authorization item type.'));
110 case CAuthItem::TYPE_OPERATION:
return Rights::t(
'core',
'Operations');
111 case CAuthItem::TYPE_TASK:
return Rights::t(
'core',
'Tasks');
112 case CAuthItem::TYPE_ROLE:
return Rights::t(
'core',
'Roles');
113 default:
throw new CException(
Rights::t(
'core',
'Invalid authorization item type.'));
126 case CAuthItem::TYPE_OPERATION:
return array(
'authItem/operations');
127 case CAuthItem::TYPE_TASK:
return array(
'authItem/tasks');
128 case CAuthItem::TYPE_ROLE:
return array(
'authItem/roles');
129 default:
throw new CException(
Rights::t(
'core',
'Invalid authorization item type.'));
143 case CAuthItem::TYPE_ROLE:
return null;
145 case CAuthItem::TYPE_TASK:
return array(CAuthItem::TYPE_TASK, CAuthItem::TYPE_OPERATION);
147 case CAuthItem::TYPE_OPERATION:
return array(CAuthItem::TYPE_OPERATION);
149 default:
throw new CException(
Rights::t(
'core',
'Invalid authorization item type.'));
163 $items = $authorizer->getAuthItems($type, null, null,
true, $exclude);
178 $items = $authorizer->getAuthItems($type, null, $parent,
true, $exclude);
190 $selectOptions = array();
193 if( $type!==(
int)$type )
195 foreach( $items as $itemName=>$item )
201 foreach( $items as $itemName=>$item )
202 $selectOptions[ $itemName ] = $item->getNameText();
205 return $selectOptions;
216 return ($csrf = self::getCsrfParam())!==null ?
', '.$csrf :
'';
226 if( Yii::app()->request->enableCsrfValidation===
true )
228 $csrfTokenName = Yii::app()->request->csrfTokenName;
229 $csrfToken = Yii::app()->request->csrfToken;
230 return "'$csrfTokenName':'$csrfToken'";
245 return 'Secured with <a href="http://www.yiiframework.com/extension/rights" rel="external">Rights</a> version '.$module->getVersion().
'.';
253 if( isset(self::$_m)===
false )
254 self::$_m = self::findModule();
266 private static function findModule(CModule $module=null)
269 $module = Yii::app();
271 if( ($m = $module->getModule(
'rights'))!==null )
274 foreach( $module->getModules() as $id=>$c )
275 if( ($m = self::findModule( $module->getModule($id) ))!==null )
286 if( isset(self::$_a)===
false )
302 public static function t($category, $message, $params=array(), $source=null, $language=null)
304 return Yii::t(
'RightsModule.'.$category, $message, $params, $source, $language);