aboutsummaryrefslogtreecommitdiffstats
path: root/include/network.php
diff options
context:
space:
mode:
authorzotlabs <mike@macgirvin.com>2017-09-24 16:59:56 -0700
committerzotlabs <mike@macgirvin.com>2017-09-24 16:59:56 -0700
commit8b7ab90836ef313e7eaf0a3fd1f29ad8ab1a716c (patch)
tree04add36aa35ce8cda58c5594a783737b25346175 /include/network.php
parent4d3b0577c9538644ca0eeb2751b285521d2cc86d (diff)
parent866dc9a9b3ca1cd98fc032afe0aec14ccdb86ba0 (diff)
downloadvolse-hubzilla-8b7ab90836ef313e7eaf0a3fd1f29ad8ab1a716c.tar.gz
volse-hubzilla-8b7ab90836ef313e7eaf0a3fd1f29ad8ab1a716c.tar.bz2
volse-hubzilla-8b7ab90836ef313e7eaf0a3fd1f29ad8ab1a716c.zip
Merge branch 'master' into tagging
Diffstat (limited to 'include/network.php')
-rw-r--r--include/network.php31
1 files changed, 31 insertions, 0 deletions
diff --git a/include/network.php b/include/network.php
index da1afc3ac..7e2dbf4cf 100644
--- a/include/network.php
+++ b/include/network.php
@@ -1943,4 +1943,35 @@ function getBestSupportedMimeType($mimeTypes = null, $acceptedTypes = false) {
}
// no mime-type found
return null;
+}
+
+
+function jsonld_document_loader($url) {
+
+ // perform caching for jsonld normaliser
+
+ require_once('library/jsonld/jsonld.php');
+
+ $cachepath = 'store/[data]/ldcache';
+ if(! is_dir($cachepath))
+ os_mkdir($cachepath,STORAGE_DEFAULT_PERMISSIONS,true);
+
+ $filename = $cachepath . '/' . urlencode($url);
+ if(file_exists($filename) && filemtime($filename) > time() - (12 * 60 * 60)) {
+ return json_decode(file_get_contents($filename));
+ }
+
+ $r = jsonld_default_document_loader($url);
+ if($r) {
+ file_put_contents($filename,json_encode($r));
+ return $r;
+ }
+
+ logger('not found');
+ if(file_exists($filename)) {
+ return json_decode(file_get_contents($filename));
+ }
+
+ return [];
+
} \ No newline at end of file