diff --git a/classes/Endpoint.php b/classes/Endpoint.php index 1bb6f1c12ec0baddc0aeff133e923093d56af3c9..2393bb12cda31f3fec44d51240be503eda7aeea1 100644 --- a/classes/Endpoint.php +++ b/classes/Endpoint.php @@ -61,7 +61,7 @@ class Endpoint{ $r = json_decode($aux, true); return $r; } - } + } public function queryPost($q){ $params = $this->params; diff --git a/classes/Utils.php b/classes/Utils.php index 07b1997dc1266467b1c00520f17a12598c339634..9f936edc98d77e9c1e047ec346ec526489d68577 100644 --- a/classes/Utils.php +++ b/classes/Utils.php @@ -174,7 +174,7 @@ class Utils{ } - private static function serializeRdf($data, $extension){ + public static function serializeRdf($data, $extension='rdf'){ global $conf; global $lodspk; $ser; @@ -427,6 +427,7 @@ class Utils{ $rPointer[$modelFile]['first'] = $rPointer[$modelFile][0]; }*/ }else{ + $lodspk['resultRdf'] = true; $rPointer[$strippedModelFile] = $aux; } }else{ @@ -437,6 +438,7 @@ class Utils{ $rPointer['first'] = $rPointer[0]; }*/ }else{ + $lodspk['resultRdf'] = true; $rPointer = $aux; } } @@ -521,9 +523,12 @@ class Utils{ echo($data); }elseif(is_file($lodspk['view'].$view)){ Haanga::Load($view, $vars); + }elseif($view == null){ + $fnc = Haanga::compile('{{models|safe}}'); + $fnc($vars, TRUE); }else{ $fnc = Haanga::compile($view); - $fnc($vars, FALSE); + $fnc($vars, TRUE); } } diff --git a/classes/modules/uriModule.php b/classes/modules/uriModule.php index e067f09053955ec613ed36251e5ed93ab7a81b74..c4abe3214947617607f25ef78627827f24798cef 100644 --- a/classes/modules/uriModule.php +++ b/classes/modules/uriModule.php @@ -35,10 +35,16 @@ class UriModule extends abstractModule{ if($modelFile == NULL){ return FALSE; } - return $pair; + $result = array( 'res' => $pair[0], + 'page' => $pair[1], + 'format' => $pair[2], + 'modelFile' => $modelFile, + 'viewFile' => $viewFile); + + return $result; } - public function execute($pair){ + public function execute($p){ global $conf; global $localUri; global $uri; @@ -47,10 +53,14 @@ class UriModule extends abstractModule{ global $lodspk; global $results; global $first; - list($res, $page, $format) = $pair; + $res = $p['res']; + $page = $p['page']; + $format = $p['format']; + $modelFile = $p['modelFile']; + $viewFile = $p['viewFile']; $uri = $res; $curie = Utils::uri2curie($res); - + //If resource is not the page, send a 303 to the document if($res == $localUri){ Utils::send303($page, $acceptContentType); @@ -67,14 +77,14 @@ class UriModule extends abstractModule{ * dcterms:format for this page */ $acceptContentType = $format; - + $curie = Utils::uri2curie($uri); - list($modelFile, $viewFile) = $this->getModelandView($curie, $extension); if($modelFile == NULL){ return; } - $lodspk = $conf['view']['standard']; + //$lodspk = $conf['view']['standard']; + $lodspk['type'] = $modelFile; $lodspk['module'] = 'uri'; $lodspk['add_mirrored_uris'] = true; @@ -92,8 +102,12 @@ class UriModule extends abstractModule{ chdir($conf['home'].$conf['model']['directory']); Utils::queryFile($modelFile, $endpoints['local'], $results, $first); - $results = Utils::internalize($results); - + if($lodspk['resultRdf']){ + echo Utils::serializeRdf($results, $extension); + exit(0); + }else{ + $results = Utils::internalize($results); + } $lodspk['first'] = Utils::getFirsts($results); chdir($conf['home']); if(is_array($results)){ @@ -101,17 +115,40 @@ class UriModule extends abstractModule{ }else{ $resultsObj = $results; } + if($conf['debug']){ + trigger_error("Using template ".$viewFile, E_USER_NOTICE); + echo("TEMPLATE: ".$viewFile."\n\n"); + } Utils::processDocument($viewFile, $lodspk, $resultsObj); } private static function getModelandView($uri, $extension){ global $conf; + global $lodspk; $auxViewFile = $conf['view']['directory'].$conf['uri']['prefix'].$uri.'/'.$extension.'.template'; $auxModelFile = $conf['model']['directory'].$conf['uri']['prefix'].$uri.'/'.$extension.'.queries'; - if(file_exists($auxModelFile) && file_exists($auxViewFile) ){ - $viewFile = $conf['uri']['prefix'].$uri.'/'.$extension.'.template'; + if(file_exists($auxModelFile)){ + //Model exists $modelFile = $conf['uri']['prefix'].$uri.'/'.$extension.'.queries'; + if(file_exists($auxViewFile) ){ + //View exists, everything is fine + $viewFile = $conf['uri']['prefix'].$uri.'/'.$extension.'.template'; + }elseif($extension != 'html'){ + //View doesn't exists (and is not HTML) + $viewFile = null; + } + return array($modelFile, $viewFile); + }elseif($extension != 'html' && file_exists($conf['model']['directory'].$conf['uri']['prefix'].$uri.'/html.queries')){ + $modelFile = $conf['uri']['prefix'].$uri.'/html.queries'; + if(file_exists($auxViewFile) ){ + //View exists, everything is fine + $viewFile = $conf['uri']['prefix'].$uri.'/'.$extension.'.template'; + }elseif($extension != 'html'){ + //View doesn't exists (and is not HTML) + $lodspk['transform_select_query'] = true; + $viewFile = null; + } return array($modelFile, $viewFile); } return array(NULL, NULL); diff --git a/utils/modules/debug.php b/utils/modules/debug.php index 2e432895282af735de1ec14efd59aeecf9f1adca..f8ba26f71b73301f1a9b35c7a4d796a322815162 100644 --- a/utils/modules/debug.php +++ b/utils/modules/debug.php @@ -1,4 +1,5 @@ <? +error_reporting(E_ERROR); $s = 'settings.inc.php'; $c = file_get_contents($s); $optionarray = Array('on' => 'true', '1' => 'true', 'off' => 'false', '0' =>'false');