X-Git-Url: https://git.cweiske.de/grauphel.git/blobdiff_plain/81554f1309cc6a80578100b9583a591012df0d43..0d3a0e77b3875ad8a8b07b4cd77597f11578f643:/controller/notescontroller.php?ds=sidebyside diff --git a/controller/notescontroller.php b/controller/notescontroller.php index 893a100..a54cfe3 100644 --- a/controller/notescontroller.php +++ b/controller/notescontroller.php @@ -77,7 +77,10 @@ class NotesController extends Controller //head $xw->startElement('head'); - $xw->writeElement('title', $note->title); + $xw->writeElement( + 'title', + htmlspecialchars_decode($note->title, ENT_QUOTES | ENT_HTML5) + ); $xw->startElement('meta'); $xw->writeAttribute('name', 'author'); @@ -112,8 +115,9 @@ class NotesController extends Controller //body $xw->startElement('body'); - - $xw->writeElement('h1', $note->title); + $xw->writeElement( + 'h1', htmlspecialchars_decode($note->title, ENT_QUOTES | ENT_HTML5) + ); $converter = new \OCA\Grauphel\Converter\CleanHtml(); $converter->internalLinkHandler = array($this, 'htmlNoteLinkHandler'); @@ -124,7 +128,7 @@ class NotesController extends Controller } catch (\OCA\Grauphel\Converter\Exception $e) { $res = new ErrorResponse( 'Error converting note to HTML.' - . ' Please repport a bug to the grauphel developers.' + . ' Please report a bug to the grauphel developers.' ); $res->setStatus(\OCP\AppFramework\Http::STATUS_NOT_FOUND); return $res; @@ -141,6 +145,45 @@ class NotesController extends Controller return urlencode($noteTitle) . '.html'; } + /** + * Output a note as a standalone text file + * + * @NoAdminRequired + * @NoCSRFRequired + */ + public function text($guid) + { + $note = $this->getNotes()->load($guid, false); + if ($note === null) { + $res = new ErrorResponse('Note does not exist'); + $res->setStatus(\OCP\AppFramework\Http::STATUS_NOT_FOUND); + return $res; + } + + $converter = new \OCA\Grauphel\Converter\ReStructuredText(); + $converter->internalLinkHandler = array($this, 'textNoteLinkHandler'); + try { + $title = htmlspecialchars_decode($note->title, ENT_QUOTES | ENT_HTML5); + $text = $title . "\n" + . str_repeat('*', strlen($title)) . "\n" + . "\n"; + $text .= $converter->convert($note->{'note-content'}); + return new \OCA\Grauphel\Response\TextResponse($text); + } catch (\OCA\Grauphel\Converter\Exception $e) { + $res = new ErrorResponse( + 'Error converting note to reStructuredText.' + . ' Please report a bug to the grauphel developers.' + ); + $res->setStatus(\OCP\AppFramework\Http::STATUS_NOT_FOUND); + return $res; + } + } + + public function textNoteLinkHandler($noteTitle) + { + return $noteTitle; + } + /** * Output a note in tomboy XML format *