diff --git a/classes/Exporter.php b/classes/Exporter.php index 3bdc70bec4df72a33ffb2633a6909e580b0251f2..fb70f55cbd233dfafaa6f6dafe185effdcef5cf8 100644 --- a/classes/Exporter.php +++ b/classes/Exporter.php @@ -31,7 +31,11 @@ class Exporter{ array_push($triples, $t); $t['o'] = LS.'Application'; array_push($triples, $t); - + if($conf['parentApp'] != NULL){ + $t['p'] = OPMV.'wasDerivedFrom'; + $t['o'] = $conf['parentApp']; + array_push($triples, $t); + } $t['p'] = LS.'usedParameter'; $t['o'] = uniqid("_:b"); diff --git a/classes/Importer.php b/classes/Importer.php index 3fddb06dc8b8b7db28cc84c26db80eed24c98a1e..e774e55f2b1eb8af0dc6c138378737fb5a736797 100644 --- a/classes/Importer.php +++ b/classes/Importer.php @@ -58,7 +58,7 @@ class Importer{ //$arr = explode("lodspeakr/benegesserit", $this->basedir); //$this->basedir = $arr[0]; $content .= "\$conf['basedir'] = \"$this->basedir\";\n"; - + $content .= "\$conf['parentApp'] = \"$app\";\n"; $pwd = getcwd(); $content .= "\$conf['home'] = \"$pwd/\";\n"; @@ -78,7 +78,12 @@ class Importer{ foreach($appParams as $k => $v){ $content .= "\$conf['$k'] = \"$v\";\n"; } - + $content .= "/*ATTENTION: By default this application is available to + * be exported and copied (its configuration) + * by others. If you do not want that, + * turn the next option as false + */ +\$conf['export'] = true;\n\n"; //Components foreach($compArr as $v){ $component = $v['s']; diff --git a/classes/Queries.php b/classes/Queries.php index a9b860eb4fd8ae9471cb7ae6d097e54e3b5e078f..3d4a47540f1f86ef6a11e7bb860cd8b141ef9d20 100644 --- a/classes/Queries.php +++ b/classes/Queries.php @@ -63,10 +63,10 @@ QUERY; $ext = 'html'; $inserts = ""; foreach($conf['http_accept'] as $extension => $f){ - $page = $localUri.".".$extension; + $page = $localUri.$conf['extension_connector'].$extension; foreach($f as $v){ if($contentType == $v){ - $returnPage = $localUri.".".$extension; + $returnPage = $localUri.$conf['extension_connector'].$extension; } if($inserts != ""){ $inserts .= "UNION "; diff --git a/classes/Utils.php b/classes/Utils.php index bc99e1d0b1b547ec3790d756accec611b9c85dc8..a183372089f932f58d76c575a58810ba63839a47 100644 --- a/classes/Utils.php +++ b/classes/Utils.php @@ -217,7 +217,7 @@ class Utils{ $handle = opendir('.'); while (false !== ($modelFile = readdir($handle))) { - if($modelFile != "." && $modelFile != ".."){ + if($modelFile != "." && $modelFile != ".." && strpos($modelFile, ".") !== 0){ if(is_dir($modelFile)){ //Save it for later, after all the queries in the current directory has been resolved $subDirs[]=$modelFile; diff --git a/common.inc.php b/common.inc.php index 6a089af2dd23be626c6557dd35b9c6243a0b7499..80682e783d2d9ee7244dc9f942968cbbbb6721f4 100644 --- a/common.inc.php +++ b/common.inc.php @@ -41,7 +41,9 @@ $conf['root'] = 'special/index'; //Debug $conf['debug'] = false; +$conf['extension_connector'] = '.'; + + include_once('settings.inc.php'); $conf['view']['standard']['baseUrl'] = $conf['basedir']; - ?> diff --git a/index.php b/index.php index 0a0b415cf6b7ecf98e8c60db9ef45d42b5a3de21..9777501ee691caa2c235dda2c227e9294c09ffed 100755 --- a/index.php +++ b/index.php @@ -41,7 +41,7 @@ $extension = Utils::getExtension($acceptContentType); if($acceptContentType == NULL){ Utils::send406($uri); } -if(file_exists($conf['static']['directory'].$_GET['q']) && sizeof($_GET['q'])>0){ +if(sizeof($_GET['q'])>0 && file_exists($conf['static']['directory'].$_GET['q'])){ echo file_get_contents($conf['static']['directory'].$_GET['q']); exit(0); } diff --git a/lib/Haanga/lib/Haanga/Extension/Filter/Alert.php b/lib/Haanga/lib/Haanga/Extension/Filter/Alert.php new file mode 100644 index 0000000000000000000000000000000000000000..14b1e7a135fd817041b649de30e1950d113a1c08 --- /dev/null +++ b/lib/Haanga/lib/Haanga/Extension/Filter/Alert.php @@ -0,0 +1,18 @@ +<?php + +class Haanga_Extension_Filter_Alert +{ +public $is_safe = TRUE; + static function generator($compiler, $args) + { + if (count($args) != 1) { + $compiler->Error("alert filter only needs one parameter"); + } + $x = $args[0]; + $pre = '<script type="text/javascript">alert("'; + $post = '");</script>'; + return hexec('html_entity_decode', + hexec('preg_replace', '/$/', $post, + hexec('preg_replace', '/^/', $pre, $x))); + } +} diff --git a/lib/Haanga/lib/Haanga/Extension/Filter/D3ForceGraph.php b/lib/Haanga/lib/Haanga/Extension/Filter/D3ForceGraph.php new file mode 100644 index 0000000000000000000000000000000000000000..a163702196058e9e191f4e34478e55bb4206db7b --- /dev/null +++ b/lib/Haanga/lib/Haanga/Extension/Filter/D3ForceGraph.php @@ -0,0 +1,46 @@ +<?php + +class Haanga_Extension_Filter_D3ForceGraph{ + public $is_safe = TRUE; + static function main($obj, $varname){ + + $nodesArr = array(); + $n=0; + $first=""; + $nodes = ""; + $links = ""; + $names = explode(",", $varname); + if(count($names)==2){ + foreach($obj as $k){ + if(!isset($nodesArr[$k->$names[0]->value])){ + $nodesArr[$k->$names[0]->value] = $n++; + $nodes .= $first."{\"name\": \"".$k->$names[0]->value."\", \"group\": 1}"; + } + if(!isset($nodesArr[$k->$names[1]->value])){ + $nodesArr[$k->$names[1]->value] = $n++; + $nodes .= ",\n {\"name\": \"".$k->$names[1]->value."\", \"group\": 1}"; + } + $links .= $first."{\"source\": ".$nodesArr[$k->$names[0]->value].", \"target\": ".$nodesArr[$k->$names[1]->value].", \"value\": 10}"; + $first = ",\n "; + } + } + + + $json ='{"nodes":['.$nodes.'], + "links":['.$links.']}'; + + + $pre = '<script type="text/javascript" src="http://lodspeakr.org/extensions/haanga/filters/d3/js/d3.js"></script> + <script type="text/javascript" src="http://lodspeakr.org/extensions/haanga/filters/d3/js/d3.layout.js"></script> + <script type="text/javascript" src="http://lodspeakr.org/extensions/haanga/filters/d3/js/d3.geom.js"></script> + <link href="http://lodspeakr.org/extensions/haanga/filters/d3/css/force.css" rel="stylesheet" type="text/css" /> + <script type="text/javascript"> + var url = "http://alvaro.graves.cl"; + var data = '.$json.'; + </script>'; + $post = '<div style="float: left;border-width: 1px; border-style: solid;" id="chart"></div> + <script type="text/javascript" src="http://lodspeakr.org/extensions/haanga/filters/d3/js/force.js"> + </script>'; + return $pre.$post; + } +} diff --git a/lib/Haanga/lib/Haanga/Extension/Filter/Length.php b/lib/Haanga/lib/Haanga/Extension/Filter/Length.php index eeeaafc485320e5b0e03b65d945f36ad304a9748..60d40594a35372024dca6706b63a68bcdb435356 100644 --- a/lib/Haanga/lib/Haanga/Extension/Filter/Length.php +++ b/lib/Haanga/lib/Haanga/Extension/Filter/Length.php @@ -7,6 +7,7 @@ class Haanga_Extension_Filter_Length { $count = hexec('count', $args[0]); $strlen = hexec('strlen', $args[0]); + $props = hexec('count', hexec('array_keys', hexec('get_object_vars', $args[0]))); $guess = hexpr_cond(hexec('is_array', $args[0]), hexec('count', $args[0]), hexec('strlen', $args[0])); @@ -19,7 +20,7 @@ class Haanga_Extension_Filter_Length } else if (is_string($value)) { return $strlen; } else if (is_object($value)) { - return count(array_keys($value)); + return $props; } else { return $guess; }