private function save() { $this->maintain_type = $this->form->get_value('maintain_type')->get_raw_value(); switch ($this->maintain_type) { case 'during': $maintain_during = $this->form->get_value('maintain_during')->get_raw_value(); $this->maintenance_config->enable_maintenance(); $this->maintenance_config->set_unlimited_maintenance(false); $this->maintenance_config->set_end_date(new Date(time() + 5 + $maintain_during, Timezone::SERVER_TIMEZONE)); break; case 'until': $this->maintenance_config->enable_maintenance(); $this->maintenance_config->set_unlimited_maintenance(false); $this->maintenance_config->set_end_date($this->form->get_value('maintain_until')); break; case 'unlimited': $this->maintenance_config->enable_maintenance(); $this->maintenance_config->set_unlimited_maintenance(true); break; default: $this->maintenance_config->disable_maintenance(); $this->maintenance_config->set_end_date(new Date()); } if ($this->form->get_value('display_duration')) { $this->maintenance_config->set_display_duration(true); $this->maintenance_config->set_display_duration_for_admin($this->form->get_value('display_duration_for_admin')); } else { $this->maintenance_config->set_display_duration(false); } $this->maintenance_config->set_message($this->form->get_value('message')); $this->maintenance_config->set_auth($this->form->get_value('authorizations')->build_auth_array()); MaintenanceConfig::save(); }
public function put_site_under_maintenance() { $maintenance_config = MaintenanceConfig::load(); if (!$maintenance_config->is_under_maintenance()) { $maintenance_config->enable_maintenance(); $maintenance_config->set_unlimited_maintenance(true); MaintenanceConfig::save(); } }