Example #1
0
// Initialize globals
// --------------------------------------------------------------------------
$wikiUser = $wigit->getAuthenticatedUser();
try {
    $wigit->checkSetup();
} catch (\RuntimeException $e) {
    $errorMsg = "Check setup: " . (string) $e;
    include $wigit->getThemeDir() . '/error.php';
    exit;
}
// --------------------------------------------------------------------------
// Process request
// --------------------------------------------------------------------------
$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 {