Example #1
0
 public function __construct(Website $website)
 {
     $this->website = $website;
     if ($this->website->isDirty('identifier')) {
         $this->old_path = sprintf('%s/%d-%s/', Config::get('multi-tenant.tenant-directory') ? Config::get('multi-tenant.tenant-directory') : storage_path('multi-tenant'), $this->website->id, $this->website->getOriginal('identifier'));
         if (!File::isDirectory($this->old_path)) {
             $this->old_path = null;
         }
     }
     $this->base_path = sprintf('%s/%d-%s/', Config::get('multi-tenant.tenant-directory') ? Config::get('multi-tenant.tenant-directory') : storage_path('multi-tenant'), $this->website->id, $this->website->identifier);
 }
 /**
  * Generic configuration for tenant.
  *
  * @return array
  */
 protected function config()
 {
     $clone = Config::get(sprintf('database.connections.%s', static::systemConnectionName()));
     $clone['password'] = md5(Config::get('app.key') . $this->website->id);
     $clone['username'] = $clone['database'] = sprintf('%d-%s', $this->website->id, $this->website->present()->identifier);
     return $clone;
 }
 /**
  * Registers model observers.
  */
 protected function observers()
 {
     Models\Website::observe(new Observers\WebsiteObserver());
     Models\Hostname::observe(new Observers\HostnameObserver());
     Models\Tenant::observe(new Observers\TenantObserver());
 }
 /**
  * Create a pagination object.
  *
  * @param int $per_page
  *
  * @return mixed
  */
 public function paginated($per_page = 20)
 {
     return $this->website->paginate($per_page);
 }