Add "add file" button to display page
[phorkie.git] / www / edit.php
index b925f0b0a95fb434175ff67e511d63a32818cd02..e7e6fbcc9422de965b928d162fb18d989f30c6ad 100644 (file)
@@ -3,21 +3,47 @@ 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) {
+        $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)
     )
 );
 ?>