single file edit: jump to file after saving
authorChristian Weiske <cweiske@cweiske.de>
Mon, 6 Jul 2015 20:42:14 +0000 (22:42 +0200)
committerChristian Weiske <cweiske@cweiske.de>
Mon, 6 Jul 2015 20:42:35 +0000 (22:42 +0200)
data/templates/display-file.htm
data/templates/edit.htm
src/phorkie/File.php
www/edit.php

index 67a584b..adffbc7 100644 (file)
@@ -5,7 +5,7 @@
   <a class="btn btn-mini" href="{{toolinfo.getLink(file)}}" style="float: right;">{{toolinfo.getTitle}}</a>
   {% endfor %}
   <a class="btn btn-mini" href="{{repo.getLink('edit', file.getFilename)}}" style="float: right;" title="edit"><i class="icon-edit"></i></a>
-  <h3 id="{{file.getFilename|replace({' ': '-'})}}">{{file.getFilename}}<a class="anchorlink" href="{{repo.getLink('display')}}#{{file.getFilename|replace({' ': '-'})}}"></a></h3>
+  <h3 id="{{file.getAnchorName}}">{{file.getFilename}}<a class="anchorlink" href="{{repo.getLink('display')}}#{{file.getAnchorName}}"></a></h3>
  </div>
   {{file.getRenderedContent(toolres)|raw}}
 </div>
index 401ed00..870ef23 100644 (file)
@@ -7,7 +7,7 @@
 
 {% block content %}
 <div class="content-padding-fix"></div>
-<form method="post" action="{{repo.getLink('edit')}}" enctype="multipart/form-data" class="form-horizontal">
+<form method="post" action="{{repo.getLink('edit', singlefile.getFilename)}}" enctype="multipart/form-data" class="form-horizontal">
  <div class="control-group">
   <label class="control-label" for="description">Description</label>
   <div class="controls">
index 9eb7fa7..2afda4c 100644 (file)
@@ -39,6 +39,16 @@ class File
     }
 
     /**
+     * Get the filename usable as HTML anchor.
+     *
+     * @return string
+     */
+    function getAnchorName()
+    {
+        return str_replace(' ', '-', $this->getFilename());
+    }
+
+    /**
      * Return the full path to the file
      *
      * @return string
index e95ca3f..33b22c2 100644 (file)
@@ -9,16 +9,20 @@ require_once 'www-header.php';
 $repo = new Repository();
 $repo->loadFromRequest();
 
-$repopo = new Repository_Post($repo);
-if ($repopo->process($_POST, $_SESSION)) {
-    redirect($repo->getLink('display', null, true));
-}
-
 $file = null;
 if (isset($_GET['file'])) {
     $file = $repo->getFileByName($_GET['file']);
 }
 
+$repopo = new Repository_Post($repo);
+if ($repopo->process($_POST, $_SESSION)) {
+    $anchor = '';
+    if ($file !== null) {
+        $anchor = '#' . $file->getAnchorName();
+    }
+    redirect($repo->getLink('display', null, true) . $anchor);
+}
+
 render(
     'edit',
     array(