aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Zotlabs/Web/HttpMeta.php15
-rwxr-xr-xboot.php8
-rw-r--r--doc/hook/page_meta.bb13
-rw-r--r--doc/hooklist.bb3
4 files changed, 35 insertions, 4 deletions
diff --git a/Zotlabs/Web/HttpMeta.php b/Zotlabs/Web/HttpMeta.php
index 469a9ed8b..ceaa82162 100644
--- a/Zotlabs/Web/HttpMeta.php
+++ b/Zotlabs/Web/HttpMeta.php
@@ -54,8 +54,19 @@ class HttpMeta {
}
}
if($this->check_required()) {
+ $arrayproperties = [ 'og:image' ];
foreach($this->og as $k => $v) {
- $o .= '<meta property="' . $k . '" content="' . urlencode($v) . '" />' . "\r\n" ;
+ if (in_array($k,$arrayproperties)) {
+ if (is_array($v)) {
+ foreach ($v as $v2) {
+ $o .= '<meta property="' . $k . '" content="' . $v2 . '" />' . "\r\n" ;
+ }
+ } else {
+ $o .= '<meta property="' . $k . '" content="' . $v . '" />' . "\r\n" ;
+ }
+ } else {
+ $o .= '<meta property="' . $k . '" content="' . $v . '" />' . "\r\n" ;
+ }
}
}
if($o)
@@ -63,4 +74,4 @@ class HttpMeta {
return $o;
}
-} \ No newline at end of file
+}
diff --git a/boot.php b/boot.php
index e8c1355e8..3d583e8c5 100755
--- a/boot.php
+++ b/boot.php
@@ -1119,8 +1119,12 @@ class App {
if(! x(self::$page,'title'))
self::$page['title'] = self::$config['system']['sitename'];
- if(! self::$meta->get_field('og:title'))
- self::$meta->set('og:title',self::$page['title']);
+ $pagemeta = [ 'og:title' => self::$page['title'] ];
+
+ call_hooks('page_meta',$pagemeta);
+ foreach ($pagemeta as $metaproperty => $metavalue) {
+ self::$meta->set($metaproperty,$metavalue);
+ }
self::$meta->set('generator', Zotlabs\Lib\System::get_platform_name());
diff --git a/doc/hook/page_meta.bb b/doc/hook/page_meta.bb
new file mode 100644
index 000000000..30a8f9440
--- /dev/null
+++ b/doc/hook/page_meta.bb
@@ -0,0 +1,13 @@
+[h2]page_meta[/h2]
+
+Called before generating the page header.
+
+[code]
+ $pagemeta = [ 'og:title' => self::$page['title'] ];
+
+ call_hooks('page_meta',$pagemeta);
+ foreach ($pagemeta as $metaproperty => $metavalue) {
+ self::$meta->set($metaproperty,$metavalue);
+ }
+
+[/code]
diff --git a/doc/hooklist.bb b/doc/hooklist.bb
index 1b48df6e6..d7fe633ba 100644
--- a/doc/hooklist.bb
+++ b/doc/hooklist.bb
@@ -451,6 +451,9 @@ Hooks allow plugins/addons to "hook into" the code at many points and alter the
[zrl=[baseurl]/help/hook/page_header]page_header[/zrl]
Called when generating the navigation bar
+[zrl=[baseurl]/help/hook/page_header]page_meta[/zrl]
+ Called when generating the meta data in the page header.
+
[zrl=[baseurl]/help/hook/parse_atom]parse_atom[/zrl]
Called when parsing an atom/RSS feed item