$query = new Query($config); $wigit->query = $query; $wikiPage = $query->getPagename(); $wikiFilename = $wigit->nameToFile($wikiPage); $wikiFile = __DIR__ . "/" . $config->data_dir . "/" . $wikiFilename; if ($query->getAction() == 'POST') { // Save (TODO: does not work for page named "./%") $handle = fopen($wikiFile, "w"); $data = $query->getParam('data'); fputs($handle, stripslashes($data)); fclose($handle); // TODO: if page does not exist use "Created" $commitMessage = addslashes("Changed {$wikiPage}"); $author = addslashes($wigit->getAuthorForUser($wigit->getUser())); $wigit->createNewPage($wikiPage, $author, $commitMessage); header("Location: " . $query->getURL($wikiPage)); exit; } else { if ($query->getAction() == "DELETE") { // Delete if (file_exists($wikiFile)) { if (!$wigit->git("rm {$wikiFilename}")) { exit('rm'); } $commitMessage = addslashes("Deleted {$wikiPage}"); $author = addslashes($wigit->getAuthorForUser($wigit->getUser())); if (!$wigit->git("commit --allow-empty --no-verify --message='{$commitMessage}' --author='{$author}'")) { exit('commit'); } if (!$wigit->git("gc")) { exit('gc');