public function __construct() { parent::__construct(); if ($this->isPostBack()) { // TODO: add correct validation for subdomain + s3 // TODO: add ip to ip pool $this->post->type->addValidation(new ValidateInputNotNullOrEmpty()); $this->post->name->addValidation(new ValidateInputNotNullOrEmpty()); $this->post->subdomain->addValidation(new ValidateInputNotNullOrEmpty()); $this->post->connect_type->addValidation(new ValidateInputNotNullOrEmpty()); $this->post->host->addValidation(new ValidateInputNotNullOrEmpty()); if (!$this->hasErrors()) { $source = new SourceFtp(); $source->name = $this->input('name'); $source->type = $this->input('type'); $source->setSubdomain($this->input('subdomain')); $source->require_ssl = $this->input('require_ssl'); $source->default_parameters = $this->input('default_parameters'); $source->error_image_url = $this->input('error_image_url'); $source->error_image_parameters = $this->input('error_image_parameters'); $source->missing_image_url = $this->input('missing_image_url'); $source->missing_image_parameters = $this->input('missing_image_parameters'); $source->organisation_id = $this->currentUser->getActiveOrganisation(); $source->setConnectType($this->input('connect_type')); $source->setHost($this->input('host')); $source->setPort($this->input('port')); $source->setUsername($this->input('username')); $source->setPassword($this->input('password')); $source->setStartDirectory($this->input('start_directory')); $this->save($source); } } }
public function __construct($sourceId) { parent::__construct(); $this->source = SourceFtp::createType(Source::getById($sourceId)); if (!$this->source->hasRow()) { redirect(url('controlpanel.source')); } if ($this->isPostBack()) { // TODO: add correct validation for subdomain + s3 $this->post->type->addValidation(new ValidateInputNotNullOrEmpty()); $this->post->name->addValidation(new ValidateInputNotNullOrEmpty()); $this->post->subdomain->addValidation(new ValidateInputNotNullOrEmpty()); $this->post->connect_type->addValidation(new ValidateInputNotNullOrEmpty()); $this->post->host->addValidation(new ValidateInputNotNullOrEmpty()); if (!$this->hasErrors()) { $updateDns = false; // Update DNS if the subdomain has changed if ($this->source->subdomain != trim(strtolower($this->input('subdomain')))) { $updateDns = true; } $this->subdomain = $this->source->subdomain; $this->source->name = $this->input('name'); $this->source->type = $this->input('type'); $this->source->setSubdomain($this->input('subdomain')); $this->source->require_ssl = $this->input('require_ssl'); $this->source->default_parameters = $this->input('default_parameters'); $this->source->error_image_url = $this->input('error_image_url'); $this->source->error_image_parameters = $this->input('error_image_parameters'); $this->source->missing_image_url = $this->input('missing_image_url'); $this->source->missing_image_parameters = $this->input('missing_image_parameters'); $this->source->organisation_id = $this->currentUser->getActiveOrganisation(); $this->source->setConnectType($this->input('connect_type')); $this->source->setHost($this->input('host')); $this->source->setPort($this->input('port')); $this->source->setUsername($this->input('username')); $this->source->setPassword($this->input('password')); $this->source->setStartDirectory($this->input('start_directory')); $this->edit($updateDns); } } }