/** * Add a new permission in the database * * @param string $name The permission name, formatted as "<plugin>.<key>" * @param int $default The default value for this permission * @param int $availableForGuests Defines if the permission can be set to true for guest users * * @return Permission The created permission */ public static function add($name, $default = 1, $availableForGuests = 0) { list($plugin, $key) = explode('.', $name); $permission = parent::add(array('plugin' => $plugin, 'key' => $key, 'availableForGuests' => $availableForGuests)); $roles = Role::getAll(); foreach ($roles as $role) { $value = $role->id == Role::GUEST_ROLE_ID ? $availableForGuests ? $default : 0 : $default; RolePermission::add(array('roleId' => $role->id, 'permissionId' => $permission->id, 'value' => $value)); } return $permission; }