aboutsummaryrefslogtreecommitdiff
path: root/controller/guicontroller.php
diff options
context:
space:
mode:
Diffstat (limited to 'controller/guicontroller.php')
-rw-r--r--controller/guicontroller.php14
1 files changed, 13 insertions, 1 deletions
diff --git a/controller/guicontroller.php b/controller/guicontroller.php
index 29dd03f..d48296d 100644
--- a/controller/guicontroller.php
+++ b/controller/guicontroller.php
@@ -168,6 +168,7 @@ class GuiController extends Controller
*/
public function tag($rawtag)
{
+ $rawtag = $this->unescapeTagFromUrl($rawtag);
$notes = $this->getNotes()->loadNotesOverview(null, $rawtag, true);
usort(
$notes,
@@ -288,7 +289,8 @@ class GuiController extends Controller
'name' => $name,
'id' => $rawtag,
'href' => $this->urlGen->linkToRoute(
- 'grauphel.gui.tag', array('rawtag' => $rawtag)
+ 'grauphel.gui.tag',
+ array('rawtag' => $this->escapeTagForUrl($rawtag))
),
'selected' => $rawtag == $selectedRawtag,
);
@@ -352,5 +354,15 @@ class GuiController extends Controller
}
return false;
}
+
+ protected function escapeTagForUrl($rawtag)
+ {
+ return str_replace('/', '%2F', $rawtag);
+ }
+
+ protected function unescapeTagFromUrl($rawtag)
+ {
+ return str_replace('%2F', '/', $rawtag);
+ }
}
?>