Example #1
0
 /**
  * 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;
 }