/** * Generic configuration for tenant * @return array */ protected function config() { $clone = Config::get('database.connections.hyn'); $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; }
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); }
/** * 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); }