From 1024b96a34025cc97d7116b711fbc9493e67258a Mon Sep 17 00:00:00 2001
From: alangrafu <alvaro@graves.cl>
Date: Tue, 13 Sep 2011 09:47:50 -0700
Subject: [PATCH] Including params in base variable for special URIs

Also, displaying results when there is only one class in special/index
---
 classes/BasicSpecialFunction.php | 2 ++
 classes/Utils.php                | 9 +++++++--
 views/special.index.view.html    | 4 ++++
 3 files changed, 13 insertions(+), 2 deletions(-)

diff --git a/classes/BasicSpecialFunction.php b/classes/BasicSpecialFunction.php
index 99f6ba3b..5e90fa99 100644
--- a/classes/BasicSpecialFunction.php
+++ b/classes/BasicSpecialFunction.php
@@ -58,6 +58,7 @@ class SpecialFunction extends AbstractSpecialFunction{
   	  }
   	  $data['query'] =$queryHeader . $query;
   	  $data['results'] = $e->query($data['query'], Utils::getResultsType($query));
+  	  $data['params'] = $params;
   	  Utils::processDocument($uri, $acceptContentType, $data, $viewFile);  	
   	}catch (Exception $ex){
   	  Utils::send500($uri);
@@ -68,3 +69,4 @@ class SpecialFunction extends AbstractSpecialFunction{
 }
 
 ?>
+
diff --git a/classes/Utils.php b/classes/Utils.php
index 0e12088c..23e8d973 100644
--- a/classes/Utils.php
+++ b/classes/Utils.php
@@ -102,6 +102,9 @@ class Utils{
   	$base['this']['value'] = $uri;
   	$base['this']['curie'] = Utils::uri2curie($uri);
   	$base['ns'] = $conf['ns'];
+  	if(isset($data['params'])){
+  	  $base['this']['params'] = $data['params'];
+  	}
   	require('lib/Haanga/lib/Haanga.php');
   	Haanga::configure(array(
   	  'template_dir' => './',
@@ -206,8 +209,9 @@ class Utils{
   	}else{
   	  $results = Utils::serializeByQueryType($data, $extension);
   	}	
-  	Utils::showView($uri, $results, $viewFile);
-  	
+  	$baseData['uri'] = $uri;
+  	$baseData['params'] = $data['params'];
+  	Utils::showView($baseData, $results, $viewFile);  	
   	exit(0);
   }
   
@@ -226,3 +230,4 @@ class Utils{
   
 }
 ?>
+
diff --git a/views/special.index.view.html b/views/special.index.view.html
index 5e203161..6013b9a2 100644
--- a/views/special.index.view.html
+++ b/views/special.index.view.html
@@ -10,6 +10,10 @@
   <body>
     <h1>Instances of {{base.this.curie}}</h1>
 	<ul>
+	{% if r.value.resource != null %}
+	    <!-- Only one class available -->
+        <li><a href='{{base.baseUrl}}special/instances/{{ r.curie.resource }}'>{{r.curie.resource}}</a></li>
+    {% endif %}
     {% for row in r %}
       {% if row.value.resource != null %}
         <li><a href='{{base.baseUrl}}special/instances/{{ row.curie.resource }}'>{{row.curie.resource}}</a></li>
-- 
GitLab