X-Git-Url: https://git.cweiske.de/phorkie.git/blobdiff_plain/3f0ffc6181c329dd2c1ee05d220b4b82ea907e36..HEAD:/www/edit.php diff --git a/www/edit.php b/www/edit.php index b925f0b..1ced7b6 100644 --- a/www/edit.php +++ b/www/edit.php @@ -3,21 +3,54 @@ namespace phorkie; /** * Edit paste contents */ -$pageRequiresLogin = '1'; +$reqWritePermissions = true; require_once 'www-header.php'; + $repo = new Repository(); $repo->loadFromRequest(); +$file = null; +if (isset($_GET['file'])) { + if ($_GET['file'] == 'newfile') { + $file = 'newfile'; + } else { + $file = $repo->getFileByName($_GET['file']); + } +} + $repopo = new Repository_Post($repo); if ($repopo->process($_POST, $_SESSION)) { - redirect($repo->getLink('display')); + $anchor = ''; + if ($file instanceof File) { + if (isset($repopo->renameMap[$file->getFilename()])) { + $anchor = '#' + . $repo->getFileByName( + $repopo->renameMap[$file->getFilename()] + )->getAnchorName(); + } else { + $anchor = '#' . $file->getAnchorName(); + } + } else if ($file === 'newfile' && $repopo->newfileName) { + $anchor = '#' . $repo->getFileByName($repopo->newfileName)->getAnchorName(); + } + redirect($repo->getLink('display', null, true) . $anchor); +} + +$actionFile = null; +if ($file instanceof File) { + $actionFile = $file->getFilename(); +} else if ($file === 'newfile') { + $actionFile = 'newfile'; } render( 'edit', array( 'repo' => $repo, + 'singlefile' => $file, + 'dh' => new \Date_HumanDiff(), 'htmlhelper' => new HtmlHelper(), + 'formaction' => $repo->getLink('edit', $actionFile) ) ); ?>