From 88a19b1b98c69a7b66dfb20f703bb9aef1dcaf16 Mon Sep 17 00:00:00 2001 From: Ulf Gebhardt Date: Sat, 28 May 2016 01:42:17 +0200 Subject: [PATCH] fixed problems with meta replacement in js and php --- api/api_default.php | 6 ++++-- lib/system/lib/system.js | 8 +++++++- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/api/api_default.php b/api/api_default.php index b5b1e81..4f49037 100644 --- a/api/api_default.php +++ b/api/api_default.php @@ -38,14 +38,16 @@ abstract class api_default extends api_system { $meta = $html->getElementsByTagName('meta');//[0]->nodeValue = $state[0]['title']; foreach($state[0]['meta'] as $metaname=>$metavalue){ $found = false; + $key = explode('_',$metaname); + $key = end($key); for ($i = 0; $i < $meta->length; $i++) { - if($meta->item($i)->getAttribute('name') == $metaname){ + if($meta->item($i)->getAttribute('name') == $key){ $found = true; $meta->item($i)->setAttribute('content',$metavalue);} } if(!$found){ $node = $head->appendChild($html->createElement('meta')); - $node->setAttribute($metaname, $metavalue);} + $node->setAttribute($key, $metavalue);} } } //print_r($state); diff --git a/lib/system/lib/system.js b/lib/system/lib/system.js index 677a870..5598880 100644 --- a/lib/system/lib/system.js +++ b/lib/system/lib/system.js @@ -75,7 +75,13 @@ SYSTEM.prototype.handle_call_pages_page = function (html,entry,id,forced,cached, document.title = entry['title'];} //meta for(var metaname in entry['meta']) { - $('meta[name='+metaname+']').attr('content', entry['meta'][metaname]); + var key = metaname.split('_'); + key = key[key.length-1]; + if($('meta[name='+key+']').length > 0){ + $('meta[name='+key+']').attr('content',entry['meta'][metaname]); + } else { + $('head').append(''); + } } //load css for(var i=0; i < entry['css'].length; i++){