use \OCP\AppFramework\Http\TemplateResponse;
use \OCA\Grauphel\Lib\Client;
use \OCA\Grauphel\Lib\TokenStorage;
+use \OCA\Grauphel\Lib\Response\ErrorResponse;
/**
* Owncloud frontend
return $res;
}
+ /**
+ * Show contents of a note
+ *
+ * @NoAdminRequired
+ * @NoCSRFRequired
+ */
+ public function note($guid)
+ {
+ $res = new TemplateResponse('grauphel', 'gui-note');
+
+ $note = $this->getNotes()->load($guid, false);
+ if ($note === null) {
+ return new ErrorResponse('Note does not exist');
+ }
+
+ $converter = new \OCA\Grauphel\Lib\Converter\Html();
+ $converter->internalLinkHandler = array($this, 'noteLinkHandler');
+ $res->setParams(
+ array(
+ 'note' => $note,
+ 'note-content' => $converter->convert(
+ $note->{'note-content'}
+ ),
+ 'links' => array(
+ 'json' => $this->urlGen->linkToRoute(
+ 'grauphel.api.note', array(
+ 'guid' => $guid, 'username' => $this->user->getUid()
+ )
+ ),
+ 'xml' => $this->urlGen->linkToRoute(
+ 'grauphel.notes.xml', array('guid' => $guid)
+ ),
+ )
+ )
+ );
+
+ $selectedRawtag = null;
+ if (count($note->tags) > 0) {
+ $selectedRawtag = $note->tags[0];
+ }
+
+ $this->addNavigation($res, $selectedRawtag);
+ return $res;
+ }
+
+ public function noteLinkHandler($noteTitle)
+ {
+ $guid = $this->getNotes()->loadGuidByTitle($noteTitle);
+ if ($guid === null) {
+ return '#';
+ }
+ return $this->urlGen->linkToRoute(
+ 'grauphel.gui.note', array('guid' => $guid)
+ );
+ }
+
/**
* Show all notes of a tag
*
public function tag($rawtag)
{
$notes = $this->getNotes()->loadNotesOverview(null, $rawtag);
+ usort(
+ $notes,
+ function($noteA, $noteB) {
+ return strcmp($noteA['title'], $noteB['title']);
+ }
+ );
$res = new TemplateResponse('grauphel', 'tag');
$res->setParams(
'href' => $this->urlGen->linkToRoute(
'grauphel.gui.tag', array('rawtag' => $rawtag)
),
+ 'selected' => $rawtag == $selectedRawtag,
);
}
}