/** * Loads and renders the view containing a list of recent changes in the vocabulary. * @param Request $request */ public function invokeChangeList($request, $prop = 'dc:created') { // set language parameters for gettext $this->setLanguageProperties($request->getLang()); $vocab = $request->getVocab(); $offset = $request->getQueryParam('offset') && is_numeric($request->getQueryParam('offset')) && $request->getQueryParam('offset') >= 0 ? $request->getQueryParam('offset') : 0; $changeList = $vocab->getChangeList($prop, $request->getContentLang(), $request->getLang(), $offset); // load template $template = $this->twig->loadTemplate('changes.twig'); // render template echo $template->render(array('vocab' => $vocab, 'languages' => $this->languages, 'request' => $request, 'changeList' => $changeList)); }
/** * Used for querying narrower relations for a concept in the hierarchy view. * @param Request $request * @return object json-ld wrapped hierarchical concept uris and labels. */ public function related($request) { $results = array(); $related = $request->getVocab()->getConceptRelateds($request->getUri(), $request->getLang()); if ($related === null) { return $this->returnError('404', 'Not Found', "Could not find concept <{$request->getUri()}>"); } foreach ($related as $uri => $vals) { $results[] = array('uri' => $uri, 'prefLabel' => $vals['label']); } $ret = array_merge_recursive($this->context, array('@context' => array('prefLabel' => 'skos:prefLabel', 'related' => 'skos:related', '@language' => $request->getLang()), 'uri' => $uri, 'related' => $results)); return $this->returnJson($ret); }