Exemple #1
0
 public function extend(Application $app)
 {
     PermissionModel::addPermission($this->permission);
     list($entity, $permission) = explode('.', $this->permission);
     if ($this->serialize) {
         $extender = new SerializeAttributes('Flarum\\Api\\Serializers\\' . ucfirst($entity) . 'Serializer', function (&$attributes, $model, $serializer) use($permission) {
             $attributes['can' . ucfirst($permission)] = (bool) $model->can($serializer->actor->getUser(), $permission);
         });
         $extender->extend($app);
     }
     foreach ($this->grant as $callback) {
         $model = 'Flarum\\Core\\Models\\' . ucfirst($entity);
         $model::grantPermission($permission, $callback);
     }
 }