Exemple #1
0
 /**
  * Parse requested page from file
  * 
  * @param array $uri Uri from request
  */
 public function renderRequest($uri)
 {
     $file = array();
     $file[] = Filters::arrayToPath(array($this->site, 'content'));
     $request = Filters::arrayToUri($uri);
     $this->api = array_merge($this->api, $this->crawler->indexContent($file[0], $uri));
     if (isset($this->api['index'][$request])) {
         $file[] = $this->api['index'][$request];
     } else {
         $file[] = '404';
         $file[] = 'index.txt';
     }
     $this->api['request'] = $this->content->parseFile($file);
     $this->api['request']['uri'] = $uri;
     $this->api['request']['file'] = $file;
 }
Exemple #2
0
 /**
  * Create navigation item
  *
  * @param array $request Current request URI
  * @param array $uri URI from current navigation item
  * @param array $metadata Current navigation item's metadata
  * @return array Navigation item
  */
 private function createNavigation($request, $uri, $metadata)
 {
     $data = array();
     if (isset($metadata['hidden']) && $metadata['hidden'] == 'true') {
         $data['hidden'] = true;
     } else {
         $data['title'] = isset($metadata['title']) ? $metadata['title'] : end($uri);
         $data['title'] = isset($metadata['navigation']) ? $metadata['navigation'] : $data['title'];
         $data['url'] = Filters::arrayToUri($uri);
         $level = count($uri);
         $data['active'] = Filters::arrayToUri(array_slice($request, 0, $level)) == Filters::arrayToUri($uri) ? true : false;
     }
     return $data;
 }