getUserPermissions() публичный Метод

If no junction table is specified, will return ONLY non-junction permissions. If you need every permission regardless of junction & suffix, see CachePermissions.
public getUserPermissions ( integer $UserID, string $LimitToSuffix = '', string $JunctionTable = false, string $JunctionColumn = false, string $ForeignKey = false, integer $ForeignID = false ) : array
$UserID integer Unique identifier for user.
$LimitToSuffix string String permission name must match, starting on right (ex: 'View' would match *.*.View)
$JunctionTable string Optionally limit returned permissions to 1 junction (ex: 'Category').
$JunctionColumn string Column to join junction table on (ex: 'CategoryID'). Required if using $JunctionTable.
$ForeignKey string Foreign table column to join on.
$ForeignID integer Foreign ID to limit join to.
Результат array Permission records.
Пример #1
0
 /**
  * Check whether a user has access to view discussions in a particular category.
  *
  * @since 2.0.18
  * @example $UserModel->GetCategoryViewPermission($UserID, $CategoryID).
  *
  * @param $Sender UserModel.
  * @return bool Whether user has permission.
  */
 public function userModel_getCategoryViewPermission_create($Sender)
 {
     static $PermissionModel = null;
     $UserID = val(0, $Sender->EventArguments, '');
     $CategoryID = val(1, $Sender->EventArguments, '');
     $Permission = val(2, $Sender->EventArguments, 'Vanilla.Discussions.View');
     if ($UserID && $CategoryID) {
         if ($PermissionModel === null) {
             $PermissionModel = new PermissionModel();
         }
         $Category = CategoryModel::categories($CategoryID);
         if ($Category) {
             $PermissionCategoryID = $Category['PermissionCategoryID'];
         } else {
             $PermissionCategoryID = -1;
         }
         $Result = $PermissionModel->getUserPermissions($UserID, $Permission, 'Category', 'PermissionCategoryID', 'CategoryID', $PermissionCategoryID);
         return val($Permission, val(0, $Result), false) ? true : false;
     }
     return false;
 }