Example #1
0
 /**
  * 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));
 }
Example #2
0
 /**
  * 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);
 }