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/Queries.php b/classes/Queries.php index 533f7383abfbbda0c89684c4db9e05be160c9c14..ca3c1c9b2285cd916d9d944bcbb9943ee3dc6055 100644 --- a/classes/Queries.php +++ b/classes/Queries.php @@ -50,9 +50,10 @@ class Queries{ echo $ex->getMessage(); } $result = array(); - if(sizeof($r['results']['bindings']) == 0){ + /*if(sizeof($r['results']['bindings']) == 0){ return 'http://www.w3.org/2000/01/rdf-schema#Resource'; //default value if no type is present - } + }*/ + //$result[] = 'http://www.w3.org/2000/01/rdf-schema#Resource'; //All resources are rdf:type rdfs:Resource foreach($r['results']['bindings'] as $v){ $result[]= $v['class']['value']; } diff --git a/classes/Utils.php b/classes/Utils.php index 07b1997dc1266467b1c00520f17a12598c339634..c4b3689a1a135cfc6672eacb7aa0e301d06ad95c 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; @@ -226,9 +226,6 @@ class Utils{ $extension = Utils::getExtension($contentType); header('Content-Type: '.$contentType); - if($extension != 'html'){ - $data = Utils::serializeRdf($data, $extension); - } Utils::showView($lodspk, $data, $viewFile); } @@ -427,6 +424,7 @@ class Utils{ $rPointer[$modelFile]['first'] = $rPointer[$modelFile][0]; }*/ }else{ + $lodspk['resultRdf'] = true; $rPointer[$strippedModelFile] = $aux; } }else{ @@ -437,6 +435,7 @@ class Utils{ $rPointer['first'] = $rPointer[0]; }*/ }else{ + $lodspk['resultRdf'] = true; $rPointer = $aux; } } @@ -521,9 +520,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/serviceModule.php b/classes/modules/serviceModule.php index 487b55a679c809b964fe16ce7bd0b6ba62eee987..29b44bc654c9eb24a2838fba1aeedf93b4a3663c 100644 --- a/classes/modules/serviceModule.php +++ b/classes/modules/serviceModule.php @@ -14,133 +14,145 @@ class ServiceModule extends abstractModule{ return FALSE; } $extension = Utils::getExtension($acceptContentType); - $lodspk['model'] = $conf['home'].$conf['model']['directory'].$conf['service']['prefix'].$qArr[0]."/"; + $lodspk['model'] = $conf['home'].$conf['model']['directory'].$conf['service']['prefix'].$qArr[0].'/'; $lodspk['view'] = $conf['home'].$conf['view']['directory'].$conf['service']['prefix'].$qArr[0].'/'; $viewFile = $extension.".template"; $modelFile = $extension.".queries"; - if(file_exists($lodspk['model'].$modelFile) && file_exists($lodspk['view'].$viewFile) && $qArr[0] != null){ - trigger_error("Using model ".$modelFile." and view ".$viewFile, E_USER_NOTICE); - return array($modelFile, $viewFile); - }elseif($extension != 'html' && file_exists($lodspk['model'].$conf['service']['prefix'].$qArr[0].'/html.queries')){ - $modelFile = $conf['home'].$lodspk['model'].$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); + if(file_exists($lodspk['model']) && file_exists($lodspk['view'])){ + if(!file_exists($lodspk['view'].$viewFile)){ + $viewFile = null; + } + if(file_exists($lodspk['model'].$modelFile) && $qArr[0] != null){ + trigger_error("Using model ".$modelFile." and view ".$viewFile, E_USER_NOTICE); + return array($modelFile, $viewFile); + }elseif($extension != 'html' && file_exists($lodspk['model'].'/html.queries')){ + $modelFile = 'html.queries'; + trigger_error("Using ".$modelFile." as model. It will be used as a CONSTRUCT", E_USER_NOTICE); + return array($modelFile, $viewFile); + }else{ + Utils::send406($uri); + exit(0); + } } return FALSE; } - -public function execute($service){ - global $conf; - global $localUri; - global $uri; - global $acceptContentType; - global $endpoints; - global $lodspk; - global $first; - $context = array(); - $context['contentType'] = $acceptContentType; - $context['endpoints'] = $endpoints; - //$sp = new SpecialFunction(); - //$sp->execute($localUri, $context); - $f = $this->getFunction($localUri); - $params = array(); - $params = $this->getParams($localUri); - //$params[] = $context; - $acceptContentType = Utils::getBestContentType($_SERVER['HTTP_ACCEPT']); - $extension = Utils::getExtension($acceptContentType); - $args = array(); - list($modelFile, $viewFile) = $service; - try{ - $prefixHeader = array(); + public function execute($service){ + global $conf; + global $localUri; + global $uri; + global $acceptContentType; + global $endpoints; + global $lodspk; + global $first; + $context = array(); + $context['contentType'] = $acceptContentType; + $context['endpoints'] = $endpoints; + //$sp = new SpecialFunction(); + //$sp->execute($localUri, $context); + $f = $this->getFunction($localUri); + $params = array(); + $params = $this->getParams($localUri); + //$params[] = $context; + $acceptContentType = Utils::getBestContentType($_SERVER['HTTP_ACCEPT']); + $extension = Utils::getExtension($acceptContentType); + $args = array(); + list($modelFile, $viewFile) = $service; - for($i=0;$i<sizeof($params);$i++){ - if($conf['mirror_external_uris']){ - $altUri = Utils::curie2uri($params[$i]); - $altUri = preg_replace("|^".$conf['basedir']."|", $conf['ns']['local'], $altUri); - $params[$i] = Utils::uri2curie($altUri); + try{ + $prefixHeader = array(); + + for($i=0;$i<sizeof($params);$i++){ + if($conf['mirror_external_uris']){ + $altUri = Utils::curie2uri($params[$i]); + $altUri = preg_replace("|^".$conf['basedir']."|", $conf['ns']['local'], $altUri); + $params[$i] = Utils::uri2curie($altUri); + } } - } - - for($i=0;$i<sizeof($params);$i++){ - $auxPrefix = Utils::getPrefix($params[$i]); - if($auxPrefix['ns'] != NULL){ - $prefixHeader[] = $auxPrefix; + + for($i=0;$i<sizeof($params);$i++){ + $auxPrefix = Utils::getPrefix($params[$i]); + if($auxPrefix['ns'] != NULL){ + $prefixHeader[] = $auxPrefix; + } + $args["arg".$i]=$params[$i]; } - $args["arg".$i]=$params[$i]; - } - $results['params'] = $params; - - - $lodspk['home'] = $conf['basedir']; - $lodspk['baseUrl'] = $conf['basedir']; - $lodspk['module'] = 'service'; - $lodspk['root'] = $conf['root']; - $lodspk['contentType'] = $acceptContentType; - $lodspk['ns'] = $conf['ns']; - $lodspk['this']['value'] = $uri; - $lodspk['this']['curie'] = Utils::uri2curie($uri); - $lodspk['this']['local'] = $localUri; - $lodspk['contentType'] = $acceptContentType; - $lodspk['endpoint'] = $conf['endpoint']; - - $lodspk['type'] = $modelFile; - $lodspk['header'] = $prefixHeader; - $lodspk['args'] = $args; - $lodspk['add_mirrored_uris'] = false; - $lodspk['baseUrl'] = $conf['basedir']; - $lodspk['this']['value'] = $uri; - if($viewFile == null){ - $lodspk['transform_select_query'] = true; + $results['params'] = $params; + + + $lodspk['home'] = $conf['basedir']; + $lodspk['baseUrl'] = $conf['basedir']; + $lodspk['module'] = 'service'; + $lodspk['root'] = $conf['root']; + $lodspk['contentType'] = $acceptContentType; + $lodspk['ns'] = $conf['ns']; + $lodspk['this']['value'] = $uri; + $lodspk['this']['curie'] = Utils::uri2curie($uri); + $lodspk['this']['local'] = $localUri; + $lodspk['contentType'] = $acceptContentType; + $lodspk['endpoint'] = $conf['endpoint']; + + $lodspk['type'] = $modelFile; + $lodspk['header'] = $prefixHeader; + $lodspk['args'] = $args; + $lodspk['add_mirrored_uris'] = false; + $lodspk['baseUrl'] = $conf['basedir']; + $lodspk['this']['value'] = $uri; + if($viewFile == null){ + $lodspk['transform_select_query'] = true; + } + chdir($lodspk['model']); + + Utils::queryFile($modelFile, $endpoints['local'], $results, $first); + if($lodspk['resultRdf']){ + echo Utils::serializeRdf($results, $extension); + exit(0); + }else{ + $results = Utils::internalize($results); } - chdir($lodspk['model']); - - Utils::queryFile($modelFile, $endpoints['local'], $results, $first); - $results = Utils::internalize($results); - - $lodspk['first'] = Utils::getFirsts($results); - chdir($conf['home']); - if(is_array($results)){ - $results = Convert::array_to_object($results); + + $lodspk['first'] = Utils::getFirsts($results); + chdir($conf['home']); + if(is_array($results)){ + $results = Convert::array_to_object($results); + } + + //Need to redefine viewFile as 'local' i.e., inside service.foo/ so I can load files with the relative path correctly + //$viewFile = $extension.".template"; + + Utils::processDocument($viewFile, $lodspk, $results); + + }catch (Exception $ex){ + echo $ex->getMessage(); + trigger_error($ex->getMessage(), E_ERROR); + Utils::send500($uri); } - - //Need to redefine viewFile as 'local' i.e., inside service.foo/ so I can load files with the relative path correctly - //$viewFile = $extension.".template"; - - Utils::processDocument($viewFile, $lodspk, $results); - - }catch (Exception $ex){ - echo $ex->getMessage(); - trigger_error($ex->getMessage(), E_ERROR); - Utils::send500($uri); + exit(0); } - exit(0); -} - - -protected function getFunction($uri){ - global $conf; - $count = 1; - $prefixUri = $conf['basedir']; - $aux = str_replace($prefixUri, '', $uri, $count); - $functionAndParams = explode('/', $aux); - return $functionAndParams[0]; -} - -protected function getParams($uri){ - global $conf; - $count = 1; - $prefixUri = $conf['basedir']; - $functionAndParams = explode('/', str_replace($prefixUri, '', $uri, $count)); - if(sizeof($functionAndParams) > 1){ - array_shift($functionAndParams); - return $functionAndParams; - }else{ - return array(null); + + + protected function getFunction($uri){ + global $conf; + $count = 1; + $prefixUri = $conf['basedir']; + $aux = str_replace($prefixUri, '', $uri, $count); + $functionAndParams = explode('/', $aux); + return $functionAndParams[0]; } -} - + + protected function getParams($uri){ + global $conf; + $count = 1; + $prefixUri = $conf['basedir']; + $functionAndParams = explode('/', str_replace($prefixUri, '', $uri, $count)); + if(sizeof($functionAndParams) > 1){ + array_shift($functionAndParams); + return $functionAndParams; + }else{ + return array(null); + } + } + } ?> diff --git a/classes/modules/typeModule.php b/classes/modules/typeModule.php index 7f5f7592f73326235287b2a5de8a6d0737c5aa81..d1c2becca37101636f7e9051ad42aba4e7d48983 100644 --- a/classes/modules/typeModule.php +++ b/classes/modules/typeModule.php @@ -60,14 +60,16 @@ class TypeModule extends abstractModule{ //Check if files for model and view exist $t=Queries::getClass($uri, $endpoints['local']); - $obj = $this->getModelandView($t, $extension); + $obj = $this->getModelandView($t, $extension); $modelFile = $obj['modelFile']; - $lodspk['model'] = $obj['modelDir']; + $lodspk['model'] = $conf['model']['directory']; $viewFile = $obj['viewFile']; - $lodspk['view'] = $obj['viewDir']; + $lodspk['view'] = $obj['view']['directory']; if($viewFile == null){ $lodspk['transform_select_query'] = true; } + + $lodspk['type'] = $modelFile; $lodspk['home'] = $conf['basedir']; $lodspk['baseUrl'] = $conf['basedir']; $lodspk['module'] = 'type'; @@ -75,16 +77,22 @@ class TypeModule extends abstractModule{ $lodspk['contentType'] = $acceptContentType; $lodspk['ns'] = $conf['ns']; $lodspk['endpoint'] = $conf['endpoint']; + $lodspk['view'] = $conf['view']['directory']; $lodspk['add_mirrored_uris'] = true; $lodspk['this']['value'] = $uri; $lodspk['this']['curie'] = Utils::uri2curie($uri); $lodspk['this']['local'] = $localUri; $lodspk['this']['extension'] = $extension; - chdir($conf['home'].$lodspk['model']); + + 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)){ @@ -92,7 +100,8 @@ class TypeModule extends abstractModule{ }else{ $resultsObj = $results; } - Utils::processDocument($viewFile, $lodspk, $resultsObj); + //chdir($conf['home'].$conf['model']['directory']); + Utils::processDocument($viewFile, $lodspk, $resultsObj); } @@ -101,39 +110,45 @@ class TypeModule extends abstractModule{ global $results; global $rPointer; global $lodspk; - $objResult = array(); + $objResult = array('modelFile' => null, 'viewFile' => null); //Defining default views and models $curieType=""; - $objResult['modelFile'] = 'main.query'; - $objResult['viewFile'] = null;//'html.template'; +/* $objResult['modelFile'] = 'main.query'; + $objResult['viewFile'] = 'html.template'; $objResult['modelDir'] = $conf['model']['directory'].'type.rdfs:Resource/html.queries/'; $objResult['viewDir'] = $conf['view']['directory'].'type.rdfs:Resource/'; - + */ //Get the first type available - $typesAndValues = array(); + $typesAndValues = array('rdfs:Resource' => -1); foreach($t as $v){ $curie = Utils::uri2curie($v); $typesAndValues[$curie] = 0; - if(isset($conf['types']['priorities'][$curie]) && $conf['types']['priorities'][$curie] >= 0){ - $typesAndValues[$curie] = $conf['types']['priorities'][$curie]; + if(isset($conf['type']['priorities'][$curie]) && $conf['type']['priorities'][$curie] >= 0){ + $typesAndValues[$curie] = $conf['type']['priorities'][$curie]; } } arsort($typesAndValues); foreach($typesAndValues as $v => $w){ - $auxModelFile = $conf['model']['directory'].$conf['type']['prefix'].$v.'/'; - $auxViewFile = $conf['view']['directory'].$conf['type']['prefix'].$v.'/'; - if(file_exists($auxModelFile) && file_exists($auxViewFile) && $v != null){ - $auxViewFile = $conf['view']['directory'].$conf['type']['prefix'].$v.'/'.$extension.'.template'; - $auxModelFile = $conf['model']['directory'].$conf['type']['prefix'].$v.'/'.$extension.'.queries'; - $objResult['viewFile'] = $extension.'.template'; - $objResult['modelFile'] = $extension.'.queries'; - break; + $auxModelFile = $conf['model']['directory'].$conf['type']['prefix'].$v.'/'.$extension.'.queries'; + $auxViewFile = $conf['view']['directory'].$conf['type']['prefix'].$v.'/'.$extension.'.template'; + if($v == null){continue;} + if(file_exists($auxModelFile)){ + $objResult['modelFile'] = $conf['type']['prefix'].$v.'/'.$extension.'.queries'; + if(file_exists($auxViewFile)){ + $objResult['viewFile'] = $conf['type']['prefix'].$v.'/'.$extension.'.template'; + }elseif($extension != 'html'){ //View doesn't exists (and is not HTML) + $objResult['viewFile'] = null; + } + return $objResult; }elseif($extension != 'html' && file_exists($conf['model']['directory'].$conf['type']['prefix'].$v.'/html.queries')){ - $auxViewFile = $conf['view']['directory'].$conf['type']['prefix'].$v.'/'.$extension.'.template'; - $auxModelFile = $conf['model']['directory'].$conf['type']['prefix'].$v.'/'.$extension.'.queries'; - $objResult['modelFile'] = $conf['type']['prefix'].$v.'/html.queries'; - $objResult['viewFile'] = null; + $objResult['modelFile'] = $conf['type']['prefix'].$v.'/html.queries'; + if(file_exists($auxViewFile) ){ + $objResult['viewFile'] = $conf['type']['prefix'].$v.'/'.$extension.'.template'; + }else{ + $lodspk['transform_select_query'] = true; + $objResult['viewFile'] = null; + } trigger_error("LODSPeaKr can't find the proper query. Using HTML query instead.", E_USER_NOTICE); break; } diff --git a/classes/modules/uriModule.php b/classes/modules/uriModule.php index e067f09053955ec613ed36251e5ed93ab7a81b74..3186fa688f3d5cc7283ef2374b5083710dc63fba 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; @@ -90,10 +100,13 @@ 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 +114,43 @@ 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; + }else{ + //No HTML representation as fallback, then not recognized by URI module + return array(null, 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/common.inc.php b/common.inc.php index 6fd297de03aa1ea0ee119b12263320b9e37d87d1..a51c4f6944ced289bcea7b8c658b6f3134f461df 100644 --- a/common.inc.php +++ b/common.inc.php @@ -43,7 +43,7 @@ $conf['root'] = 'index.html'; $conf['extension_connector'] = '.'; //Priority for rdfs:Resource (default). Priorities should be >=0 -$conf['types']['priorities']['rdfs:Resource'] = -1; +$conf['type']['priorities']['rdfs:Resource'] = -1; //Debug $conf['debug'] = false; diff --git a/install.sh b/install.sh index fb259b95b3eeea5fddf9563ebffcd62958ec9a0e..65619b531916770ace037327479e9035d10e0e1e 100755 --- a/install.sh +++ b/install.sh @@ -6,6 +6,7 @@ root_htaccess="root.htaccess" parent_htaccess="../.htaccess" settings_file="settings.inc.php" +metadb="db.sqlite" basedir="http://localhost/my/data/" home=`basename \`pwd\`` # 'lodspeakr', the directory from git clone ns=$basedir @@ -21,6 +22,9 @@ fi back_one=`cd .. 2>/dev/null && pwd` parent=`basename $back_one` + +utils/create_db.sh $metadb + while [ "$everything_ok" != "y" ]; do echo echo "== Basic Information ==" @@ -111,19 +115,6 @@ echo "WARNING: Copying $root_htaccess as .htaccess in parent directory" echo "" cp $root_htaccess $parent_htaccess -#Creating symlinks for turtle and ntriples -cd views -ln -s rdfs:Resource.view.rdf rdfs:Resource.view.nt -ln -s rdfs:Resource.view.rdf rdfs:Resource.view.ttl -ln -s rdfs:Resource.view.rdf rdfs:Resource.view.json - -cd ../models -ln -s rdfs:Resource.model.rdf rdfs:Resource.model.nt -ln -s rdfs:Resource.model.rdf rdfs:Resource.model.ttl -ln -s rdfs:Resource.model.rdf rdfs:Resource.model.json - -cd .. - mkdir cache echo diff --git a/meta/db.sqlite b/meta/db.sqlite deleted file mode 100755 index ce45aa5749f978dcd10eba8fecebb2e3129ff0f3..0000000000000000000000000000000000000000 Binary files a/meta/db.sqlite and /dev/null differ diff --git a/utils/create_db.sh b/utils/create_db.sh new file mode 100755 index 0000000000000000000000000000000000000000..285062c2c4a538399e2bde10b7a66bf33006b6df --- /dev/null +++ b/utils/create_db.sh @@ -0,0 +1,20 @@ +#!/bin/bash + +if [[ "$1" = "" ]]; then + echo Usage: $0 sqliteFile + exit 1 +fi + +mkdir -p meta +cd meta +if [ ! -e $1 ]; then + SQLITE3=`which sqlite3` + if [ -z "$SQLITE3" ]; then + echo "SQLlite3 is required to continue installation. Please add it to your \$PATH." + exit 1 + fi + $SQLITE3 $1 'CREATE TABLE document (uri varcharg(1000), doc varchar(1000), format varchar(50));' +else + echo "WARNING: SQLite database already exists." +fi +cd .. 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');