示例#1
0
 /**
  * Sync role for an ACL instance.
  *
  * @param  object  $listener
  * @param  string  $vendor
  * @param  string|null  $package
  *
  * @return mixed
  */
 public function sync($listener, $vendor, $package = null)
 {
     $roles = [];
     $name = $this->getExtension($vendor, $package)->get('name');
     $acl = $this->acl->get($name);
     if (is_null($acl)) {
         return $listener->aclVerificationFailed();
     }
     foreach ($this->model->all() as $role) {
         $roles[] = $role->name;
     }
     $acl->roles()->attach($roles);
     $acl->sync();
     return $listener->syncSucceed(new Fluent(compact('vendor', 'package', 'name')));
 }
示例#2
0
 /**
  * Create a new filter instance.
  *
  * @param  \Orchestra\Contracts\Foundation\Foundation  $foundation
  * @param  \Orchestra\Contracts\Authorization\Factory  $acl
  */
 public function __construct(Foundation $foundation, Factory $acl)
 {
     $this->acl = $acl->make('blupl/printmedia');
     $this->foundation = $foundation;
 }
示例#3
0
 /**
  * Set authorization driver.
  *
  * @param  \Orchestra\Contracts\Authorization\Factory  $factory
  *
  * @return $this
  */
 public function setAuthorization(FactoryContract $factory)
 {
     $this->acl = $factory->make($this->getAuthorizationName());
     return $this;
 }