getUserInput(JetBackup::ID_FIELD, 0, UserInput::UINT); } /** * @return void * @throws AjaxException * @throws IOException * @throws InvalidArgumentException * @throws DBException * @throws DestinationException * @throws \JetBackup\Exception\IOException * @throws JBException */ public function execute(): void { if(!$this->getId()) throw new AjaxException("No job id provided"); $destination = new Destination($this->getId()); if(!$destination->getId()) throw new AjaxException("Invalid destination id provided"); $enabled = !$destination->isExportConfig(); $backup = BackupJob::getDefaultConfigJob(); $destinations = $backup->getDestinations(); if($enabled) $destinations[] = $destination->getId(); else { foreach($destinations as $i => $destination_id) { if($destination_id != $destination->getId()) continue; unset($destinations[$i]); break; } } $destinations = array_unique($destinations); $backup->setEnabled(!!$destinations); $backup->setDestinations($destinations); $backup->calculateNextRun(); $destination->setExportConfig($enabled); // Opposite status $destination->save(); $backup->save(); $this->setResponseMessage("Destination export config " . ($destination->isExportConfig() ? 'enabled' : 'disabled') . " successfully! Reloading..."); } }