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);
}
}
/** * 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'); }