From c09e72ada85ebf7e5bce81a9575f7ad7719e15ef Mon Sep 17 00:00:00 2001
From: Cloud User <centos@marcus.test.uib.no>
Date: Wed, 4 Nov 2020 14:27:52 +0100
Subject: [PATCH] add empty check to some if statements

---
 classes/Endpoint.php              |  6 +++++-
 classes/Utils.php                 | 10 +++++++---
 classes/modules/serviceModule.php |  2 +-
 classes/modules/typeModule.php    |  6 ++++--
 classes/modules/uriModule.php     |  2 +-
 5 files changed, 18 insertions(+), 8 deletions(-)

diff --git a/classes/Endpoint.php b/classes/Endpoint.php
index 188da5e8..1635424b 100644
--- a/classes/Endpoint.php
+++ b/classes/Endpoint.php
@@ -11,7 +11,9 @@ class Endpoint{
   
   public function query($q, $output = 'json'){
     global $conf;
+    if (!empty($this->params['output'])){
     $auxoutput = $this->params['output'];
+    }
     $accept = 'application/sparql-results+json';
     if($output != null){
       $this->params['output'] = $output;
@@ -25,7 +27,7 @@ class Endpoint{
     $modified = 0;
     $now = time();
     $cacheFile = "";
-    if(is_int($conf['cache']['global']) && $conf['cache']['global'] > 0){
+    if(!empty($conf['cache']['global']) && is_int($conf['cache']['global']) && $conf['cache']['global'] > 0){
       $cacheFile = $conf['home']."cache/query".md5($this->sparqlUrl.$q);
       if(file_exists($cacheFile)){
         $modified = filemtime($cacheFile);
@@ -59,7 +61,9 @@ class Endpoint{
       }
       $http_status = intval(curl_getinfo($c, CURLINFO_HTTP_CODE));
       curl_close($c);
+      if (!empty($auxoutput)) {
       $this->params['output'] = $auxoutput;
+      }
       if(is_int($conf['cache']['global']) && $conf['cache']['global'] > 0 && $http_status == 200){
         file_put_contents($cacheFile,($aux), LOCK_EX);
         if($conf['debug']){
diff --git a/classes/Utils.php b/classes/Utils.php
index c0dc1d68..cacf9fb8 100644
--- a/classes/Utils.php
+++ b/classes/Utils.php
@@ -466,7 +466,7 @@ class Utils{
   	  	));
   	  
   	  //Haanga supports the dot (.) convention only for objects
-  	  if(is_array($lodspk)){
+  	  if(is_array($lodspk) && !empty($lodspk)){
   	  	$lodspkObj = Convert::array_to_object($lodspk);
   	    $lodspk = $lodspkObj;
   	  }
@@ -487,7 +487,7 @@ class Utils{
   	    $lodspk = $lodspkObj;
   	  }
   	  $query = Utils::addPrefixes($query);
-  	  if($lodspk['transform_select_query']==true){
+  	  if(!empty($lodspk['transform_select_query']) && $lodspk['transform_select_query']==true){
   	  	include_once($conf['home'].'lib/arc2/ARC2.php');
   	  	$parser = ARC2::getSPARQLParser();
   	  	$parser->parse($query);
@@ -579,7 +579,9 @@ class Utils{
   	  	}
   	  	if(Utils::getResultsType($query) == $conf['output']['select']){
   	  	  $rPointer[$strippedModelFile] = Utils::sparqlResult2Obj($aux);
-  	  	  $fPointer[$strippedModelFile] = $rPointer[$strippedModelFile][0];
+  	  	  if (!empty($rPointer[$strippedModelFile][0])) {
+                    $fPointer[$strippedModelFile] = $rPointer[$strippedModelFile][0];
+                    }
   	  	}else{
   	  	  $lodspk['resultRdf'] = true;
   	  	  $rPointer[$strippedModelFile] = $aux;
@@ -639,6 +641,7 @@ class Utils{
   public static function getfirstResults($array){
   	global $conf;
   	$firstResultsKeyAppearance = true;
+        if (is_iterable($array)){
   	foreach($array as $key => $value){
   	  if(!isset($value['value'])){
   	  	$aux = Utils::getfirstResults($value);
@@ -649,6 +652,7 @@ class Utils{
   	  	}
   	  } 
   	}
+    }
   	return $array;
   }
   
diff --git a/classes/modules/serviceModule.php b/classes/modules/serviceModule.php
index 0dd0cc1f..f1f2e7b8 100644
--- a/classes/modules/serviceModule.php
+++ b/classes/modules/serviceModule.php
@@ -52,7 +52,7 @@ class ServiceModule extends abstractModule{
   	  }else{
   	    if(is_null($lodspk['model']) && is_null($lodspk['view'])){
   	      //checking other components
-  	      if(is_countable($conf['components']['services']) && count($conf['components']['services'])>0){
+  	      if(!empty($conf['components']['services']) && count($conf['components']['services'])>0){
   	        foreach($conf['components']['services'] as $service){
   	          $serviceArray = explode("/", $service);
   	          if($serviceName == end($serviceArray)){
diff --git a/classes/modules/typeModule.php b/classes/modules/typeModule.php
index a5ddc9f7..174ec10e 100644
--- a/classes/modules/typeModule.php
+++ b/classes/modules/typeModule.php
@@ -68,7 +68,9 @@ class TypeModule extends abstractModule{
   	$modelFile = $obj['modelFile'];
   	$lodspk['model'] = $conf['model']['directory'];  	
   	$viewFile = $obj['viewFile'];
+        if (!empty($obj['view'])){ 
   	$lodspk['view'] = $obj['view']['directory'];
+        }
   	if($viewFile == null){
   	  $lodspk['transform_select_query'] = true;
   	}
@@ -92,7 +94,7 @@ class TypeModule extends abstractModule{
   	//chdir($conf['home'].$conf['model']['directory']);
   	
   	Utils::queryFile($modelFile, $endpoints['local'], $results, $firstResults);
-    if(!$lodspk['resultRdf']){
+    if(empty($lodspk['resultRdf'])){
   	  $results = Utils::internalize($results); 
   	  $firstAux = Utils::getfirstResults($results);
   	  
@@ -169,7 +171,7 @@ class TypeModule extends abstractModule{
   	  	break;
   	  }else{
   	    $found = false;
-  	    if(sizeof($conf['components']['types'])>0){
+  	    if(!empty($conf['components']['types']) && sizeof($conf['components']['types'])>0){
   	      foreach($conf['components']['types'] as $type){
   	        $typeArray = explode("/", $type);
   	        $typeName = end($typeArray);
diff --git a/classes/modules/uriModule.php b/classes/modules/uriModule.php
index 460e6fe5..5ac43948 100644
--- a/classes/modules/uriModule.php
+++ b/classes/modules/uriModule.php
@@ -12,7 +12,7 @@ class UriModule extends abstractModule{
   	global $endpoints;
   	global $lodspk;
   	
-  	if($conf['disableComponents'] == true){
+  	if(!empty($conf['disableComponents']) && $conf['disableComponents'] == true){
   	  return FALSE;
   	}
   	require_once('classes/MetaDb.php');
-- 
GitLab