Пример #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 = arrayValue(0, $Sender->EventArguments, '');
     $CategoryID = arrayValue(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;
 }
Пример #2
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 = ArrayValue(0, $Sender->EventArguments, '');
     $CategoryID = ArrayValue(1, $Sender->EventArguments, '');
     $Permission = GetValue(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 GetValue($Permission, GetValue(0, $Result), FALSE) ? TRUE : FALSE;
     }
     return FALSE;
 }
Пример #3
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 = ArrayValue(0, $Sender->EventArguments, '');
		$CategoryID = ArrayValue(1, $Sender->EventArguments, '');
		if ($UserID && $CategoryID) {
         if ($PermissionModel === NULL)
            $PermissionModel = new PermissionModel();
         
         $Result = $PermissionModel->GetUserPermissions($UserID, 'Vanilla.Discussions.View', 'Category', 'PermissionCategoryID', 'CategoryID', $CategoryID);
         return (ArrayValue('Vanilla.Discussions.View', $Result[0], FALSE)) ? TRUE : FALSE;
      }
      return FALSE;
   }