/** * * @param \Nette\Application\UI\Form $form */ public function serverPropsFormSubmitted(Form $form) { if ($this->allowedToEdit) { $content = $form->getValues()->props; $data = $this->fileModel->checkUnchangeableLines($content, $this->unchangeableLines); $this->fileModel->write($data, $this->filePath); $this->getPresenter()->flashMessage('Nastavení aktualizováno.', 'success'); } else { $this->flashMessage('Nemáte právo editovat nastavení.', 'error'); } if ($this->getPresenter()->isAjax()) { $this->getPresenter()->redrawControl(); } else { $this->getPresenter()->redirect('this'); } }
/** * Call only when server is NOT running * @param int $serverId * @param boolean TRUE if you want to delete op, FALSE if you want to add op */ private function writeOpsToFile($serverId, $delete) { $path = $this->serverRepo->getPath($serverId); $db = $this->readOpsFromDb($serverId); if ($delete == TRUE) { $write = $db; } else { $file = $this->readOpsFromFile($path, 'ops.json'); $merge = array_merge($db, $file); $write = array_unique($merge, SORT_REGULAR); } $this->fileModel->write(json_encode($write, JSON_PRETTY_PRINT), $path . 'ops.json', TRUE); }