PermissionModel::resetAllRoles PHP Method

resetAllRoles() public static method

Reset permissions for all roles, based on the value in their Type column.
public static resetAllRoles ( string $Type = null )
$Type string Role type to limit the updates to.
    public static function resetAllRoles($Type = null)
    {
        // Retrieve an array containing all available roles.
        $RoleModel = new RoleModel();
        if ($Type) {
            $Result = $RoleModel->getByType($Type)->resultArray();
            $Roles = array_column($Result, 'Name', 'RoleID');
        } else {
            $Roles = $RoleModel->getArray();
        }
        // Iterate through our roles and reset their permissions.
        $Permissions = Gdn::permissionModel();
        foreach ($Roles as $RoleID => $Role) {
            $Permissions->resetRole($RoleID);
        }
    }

Usage Example

Exemplo n.º 1
0
 /**
  * Reset all role permissions based on role type.
  */
 public function resetPermissions()
 {
     $this->permission('Garden.Settings.Manage');
     if ($this->Request->isAuthenticatedPostBack()) {
         PermissionModel::resetAllRoles();
         $this->setData('Result', array('Complete' => true));
     }
     $this->setData('Title', 'Reset all role permissions');
     $this->_setJob($this->data('Title'));
     $this->addSideMenu();
     $this->render('Job');
 }
All Usage Examples Of PermissionModel::resetAllRoles