From 189cd752689a2a51f13e39a82b2806154f938b7b Mon Sep 17 00:00:00 2001
From: Alvaro Graves <alvaro@graves.cl>
Date: Sat, 28 Jan 2012 08:33:53 -0800
Subject: [PATCH] Fixed bug in converting SELECT sparql query to CONSTRUCT

among other bugs
---
 classes/Utils.php                 | 4 +---
 classes/modules/serviceModule.php | 6 ++++--
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/classes/Utils.php b/classes/Utils.php
index 1408fade..5ef52ab1 100644
--- a/classes/Utils.php
+++ b/classes/Utils.php
@@ -341,7 +341,6 @@ class Utils{
   	    $lodspk = $lodspkObj;
   	  }
   	  
-  	  
   	  if($lodspk['transform_select_query']==true){
   	  	include_once($conf['home'].'lib/arc2/ARC2.php');
   	  	$parser = ARC2::getSPARQLParser();
@@ -401,13 +400,12 @@ class Utils{
 	  	  	  Utils::send500();
 	  	  	}
 	  	  }else{
-	  	  	$query = preg_replace('/select.*where/i', 'CONSTRUCT {'.$construct.'} WHERE', $query);
+	  	  	$query = preg_replace('/select\n?.*\n?where/i', 'CONSTRUCT {'.$construct.'} WHERE', $query);
 	  	  }
 	  	}else {
 	  	  Utils::send500("invalid query: " . $parser->getErrors());
 	  	}
 	  }
-	  
   	  if($conf['debug']){
   	  	echo "$modelFile (against ".$e->getSparqlUrl().")\n-------------------------------------------------\n";
   	  	echo $query;
diff --git a/classes/modules/serviceModule.php b/classes/modules/serviceModule.php
index 1e5d53ae..ea798b93 100644
--- a/classes/modules/serviceModule.php
+++ b/classes/modules/serviceModule.php
@@ -16,10 +16,12 @@ class ServiceModule extends abstractModule{
   	$viewFile  = $conf['service']['prefix'].$qArr[0]."/".$extension.".template";
   	$modelFile = $conf['service']['prefix'].$qArr[0]."/".$extension.".queries";
   	if(file_exists($conf['home'].$conf['model']['directory'].$modelFile) && file_exists($conf['home'].$conf['view']['directory'].$viewFile) && $qArr[0] != null){
+  	  trigger_error("Using model ".$modelFile." and view ".$viewFile, E_USER_NOTICE);
   	  return array($modelFile, $viewFile);
   	}elseif($extension != 'html' && file_exists($conf['model']['directory'].$conf['service']['prefix'].$qArr[0].'/html.queries')){
   	  $modelFile = $conf['service']['prefix'].$qArr[0].'/html.queries';
   	  $viewFile = null;
+  	  trigger_error("Using ".$modelFile." as model. It will be used as a CONSTRUCT", E_USER_NOTICE);
   	  return array($modelFile, $viewFile);
   	}
   	
@@ -85,7 +87,7 @@ public function execute($service){
   	$lodspk['baseUrl'] = $conf['basedir'];
   	$lodspk['this']['value'] = $uri;
   	$lodspk['this']['contentType'] = $acceptContentType;
-  	$lodspk['view']['directory'] = $conf['home'].$conf['view']['directory'].$conf['service']['prefix'].$f.'/';
+  	$lodspk['view']['directory'] = $conf['home'].$conf['view']['directory'];//.$conf['service']['prefix'].$f.'/';
   	$lodspk['model']['directory'] = $conf['home'].$conf['model']['directory'];
   	if($viewFile == null){
   	  $lodspk['transform_select_query'] = true;
@@ -102,7 +104,7 @@ public function execute($service){
   	}
   	
   	//Need to redefine viewFile as 'local' i.e., inside service.foo/ so I can load files with the relative path correctly
-  	$viewFile = $extension.".template";
+  	//$viewFile = $extension.".template";
   	Utils::processDocument($viewFile, $lodspk, $results);  
   	
   }catch (Exception $ex){
-- 
GitLab