aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Weiske <cweiske@cweiske.de>2018-10-07 14:05:43 +0200
committerChristian Weiske <cweiske@cweiske.de>2018-10-07 14:05:43 +0200
commit3e6e6e4c40741269d997d9b0bed151f551384aa3 (patch)
treeda7d6823a29d1ace7c6429b20aa7ba7929f4a46f
parent1105322aac9cc8e71eafbf5a5eea8e709c8c77ce (diff)
downloadgrauphel-3e6e6e4c40741269d997d9b0bed151f551384aa3.tar.gz
grauphel-3e6e6e4c40741269d997d9b0bed151f551384aa3.zip
Lists can be sorted by title and date now
Resolves: https://github.com/cweiske/grauphel/issues/59
-rw-r--r--controller/guicontroller.php33
-rw-r--r--templates/tag.php11
2 files changed, 35 insertions, 9 deletions
diff --git a/controller/guicontroller.php b/controller/guicontroller.php
index ef109a7..cac2f29 100644
--- a/controller/guicontroller.php
+++ b/controller/guicontroller.php
@@ -171,12 +171,29 @@ class GuiController extends Controller
{
$rawtag = $this->unescapeTagFromUrl($rawtag);
$notes = $this->getNotes()->loadNotesOverview(null, $rawtag, true);
- usort(
- $notes,
- function($noteA, $noteB) {
- return strcmp($noteA['title'], $noteB['title']);
- }
- );
+
+ if (!isset($_GET['sortby'])) {
+ $_GET['sortby'] = 'title';
+ }
+
+ switch ($_GET['sortby']) {
+ case 'title':
+ usort(
+ $notes,
+ function($noteA, $noteB) {
+ return strcasecmp($noteA['title'], $noteB['title']);
+ }
+ );
+ break;
+ case 'date':
+ usort(
+ $notes,
+ function($noteA, $noteB) {
+ return strcmp($noteB['last-change-date'], $noteA['last-change-date']);
+ }
+ );
+ break;
+ }
foreach ($notes as &$note) {
$diffInDays = intval(
@@ -195,6 +212,10 @@ class GuiController extends Controller
'tag' => $this->getPrettyTagName($rawtag),
'rawtag' => $rawtag,
'notes' => $notes,
+ 'tagUrl' => $this->urlGen->linkToRoute(
+ 'grauphel.gui.tag',
+ array('rawtag' => $this->escapeTagForUrl($rawtag))
+ ),
)
);
$this->addGlobalVars($res);
diff --git a/templates/tag.php b/templates/tag.php
index e8e092e..4c20378 100644
--- a/templates/tag.php
+++ b/templates/tag.php
@@ -10,8 +10,12 @@
<table class="table" id="grauphel-notes">
<thead>
<tr>
- <th id="headerTitle">Title</th>
- <th>Modified</th>
+ <th id="headerTitle">
+ <a href="<?php p($tagUrl); ?>?sortby=title">Title</a>
+ </th>
+ <th>
+ <a href="<?php p($tagUrl); ?>?sortby=date">Modified</a>
+ </th>
</tr>
</thead>
<tbody>
@@ -21,7 +25,8 @@
<td>
<a class="cellclick" href="<?php p($_['urlGen']->linkToRoute('grauphel.gui.note', array('guid' => $note['guid']))); ?>"><?php echo ($note['title']); ?></a>
</td>
- <td style="color: <?php echo p($note['dateColor']); ?>">
+ <td style="color: <?php echo p($note['dateColor']); ?>"
+ title="<?php p(date('Y-m-d H:i:s', strtotime($note['last-change-date']))); ?>">
<?php p($_['date']->formatDate(strtotime($note['last-change-date']))); ?>
</td>
</tr>