当前位置: 首页>>代码示例>>PHP>>正文


PHP Sentinel::getPermissionProvider方法代码示例

本文整理汇总了PHP中Sentinel::getPermissionProvider方法的典型用法代码示例。如果您正苦于以下问题:PHP Sentinel::getPermissionProvider方法的具体用法?PHP Sentinel::getPermissionProvider怎么用?PHP Sentinel::getPermissionProvider使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Sentinel的用法示例。


在下文中一共展示了Sentinel::getPermissionProvider方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: updateUserGroups

 public function updateUserGroups($userID, array $groupIDs)
 {
     $userGroups = \Sentinel::getUserGroupProvider()->findGroupsByUserID($userID)->pluck('group_id')->toArray();
     $groupsHaveChanged = false;
     $groupsToAdd = array_diff($groupIDs, $userGroups);
     if (!empty($groupsToAdd)) {
         $groupsHaveChanged = true;
         foreach ($groupsToAdd as $newUserGroup) {
             \Sentinel::getUserGroupProvider()->attach($userID, $newUserGroup);
             \Sentinel::getPermissionProvider()->addUserGroupPermissions($userID, $newUserGroup);
         }
     }
     $groupsToRemove = array_diff($userGroups, $groupIDs);
     if (!empty($groupsToRemove)) {
         $groupsHaveChanged = true;
         foreach ($groupsToRemove as $oldUserGroup) {
             \Sentinel::getUserGroupProvider()->detach($userID, $oldUserGroup);
             \Sentinel::getPermissionProvider()->removeUserGroupPermissions($userID, $oldUserGroup);
         }
     }
     return $groupsHaveChanged;
 }
开发者ID:linguisticteam,项目名称:laravel-boilerplate,代码行数:22,代码来源:Group.php

示例2: updateUser

 /**
  * Updating a user and his person table + group table info.
  *
  * @param int $id
  * @param array $data
  *
  * @return void
  */
 public function updateUser($id, array $data)
 {
     if (!empty($id) && !empty($data)) {
         $this->createModel()->newQuery()->where('id', $id)->update(array('name' => $data['name'], 'email' => $data['email']));
         unset($data['name'], $data['email']);
         $personID = \Spirit::getPersonProvider()->getPersonByUserId($id)->select(['id as user_id'])->value('user_id');
         if (!is_null($personID)) {
             if (!isset($data['groups'])) {
                 $data['groups'] = [];
             }
             $groupsHaveChanged = \Sentinel::getGroupProvider()->updateUserGroups($id, $data['groups']);
             if ($groupsHaveChanged === true) {
                 \Sentinel::getPermissionProvider()->updateUserGroupPermissions($id, $data['groups']);
             }
             unset($data['groups']);
             \Spirit::getPersonProvider()->updatePerson($personID, $data);
         } else {
             throw new \UnexpectedValueException('User ' . $id . ' not found for update');
         }
     } else {
         throw new \UnexpectedValueException('Invalid data for user update');
     }
 }
开发者ID:linguisticteam,项目名称:laravel-boilerplate,代码行数:31,代码来源:User.php


注:本文中的Sentinel::getPermissionProvider方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。