/**
  * Generic configuration for tenant.
  *
  * @return array
  * @throws TenantDatabaseException
  * @throws \Laracasts\Presenter\Exceptions\PresenterException
  */
 protected function config()
 {
     $clone = Config::get(sprintf('database.connections.%s', static::systemConnectionName()));
     if (Config::get('multi-tenant.db.tenant-division-mode') == static::TENANT_MODE_SEPARATE_DATABASE) {
         $clone['password'] = md5(Config::get('app.key') . $this->website->id);
         $clone['username'] = $clone['database'] = sprintf('%d-%s', $this->website->id, $this->website->present()->identifier);
     } elseif (Config::get('multi-tenant.db.tenant-division-mode') == static::TENANT_MODE_TABLE_PREFIX) {
         $clone['prefix'] = sprintf('t%d_', $this->website->id);
     } else {
         throw new TenantDatabaseException('Unknown database division mode configured in the multi-tenant configuration file.');
     }
     return $clone;
 }
 /**
  * Shows the delete website form.
  *
  * @param Website $website
  * @return \Illuminate\View\View
  */
 public function delete(Website $website)
 {
     $deleteRoute = route('management-interface.website.deleted', $website->present()->urlArguments);
     $name = $website->present()->name;
     return view('management-interface::layouts.delete', compact('website', 'deleteRoute', 'name'));
 }
 /**
  * @param HostnameRepositoryContract $hostname
  * @param Website                    $website
  * @param $name
  *
  * @throws \Laracasts\Presenter\Exceptions\PresenterException
  *
  * @return $this|bool|\Hyn\Framework\Models\AbstractModel|null
  */
 public function added(HostnameRepositoryContract $hostname, Website $website, $name)
 {
     return (new HostnameValidator())->catchFormRequest($hostname->newInstance(), redirect()->route('management-interface.website.read', $website->present()->urlArguments));
 }