X-Git-Url: https://git.cweiske.de/grauphel.git/blobdiff_plain/be97924a98acee7518c304af55f776dd3fb1da5b..cd37bde4ef0747a11c1221e937027fe17f2894fe:/controller/guicontroller.php diff --git a/controller/guicontroller.php b/controller/guicontroller.php index 8e260bc..b92d374 100644 --- a/controller/guicontroller.php +++ b/controller/guicontroller.php @@ -61,21 +61,62 @@ class GuiController extends Controller $res = new TemplateResponse('grauphel', 'index'); $res->setParams( array( - 'apiurl' => $this->urlGen->getAbsoluteURL( - $this->urlGen->linkToRoute( - 'grauphel.gui.index' - ) - ), + 'apiroot' => $this->getApiRootUrl(), + 'apiurl' => $this->urlGen->linkToRoute('grauphel.api.index') ) ); + $this->addNavigation($res); + $this->addStats($res); return $res; } + protected function addNavigation(TemplateResponse $res) + { + $nav = new \OCP\Template('grauphel', 'appnavigation', ''); + $nav->assign('apiroot', $this->getApiRootUrl()); + + $params = $res->getParams(); + $params['appNavigation'] = $nav; + $res->setParams($params); + } + + protected function addStats(TemplateResponse $res) + { + if ($this->user === null) { + return; + } + + $username = $this->user->getUid(); + $notes = new \OCA\Grauphel\Lib\NoteStorage($this->urlGen); + $notes->setUsername($username); + $tokens = new \OCA\Grauphel\Lib\TokenStorage(); + + $nav = new \OCP\Template('grauphel', 'indexStats', ''); + $nav->assign('notes', count($notes->loadNotesOverview())); + $nav->assign('syncrev', $notes->loadSyncData()->latestSyncRevision); + $nav->assign('tokens', count($tokens->loadForUser($username, 'access'))); + + $params = $res->getParams(); + $params['stats'] = $nav; + $res->setParams($params); + } + protected function checkDeps() { if (!class_exists('OAuthProvider')) { throw new \Exception('PHP extension "oauth" is required'); } } + + protected function getApiRootUrl() + { + //we need to remove the trailing / for tomdroid and conboy + return rtrim( + $this->urlGen->getAbsoluteURL( + $this->urlGen->linkToRoute('grauphel.gui.index') + ), + '/' + ); + } } ?>