diff options
author | redmatrix <git@macgirvin.com> | 2016-03-08 16:06:58 -0800 |
---|---|---|
committer | redmatrix <git@macgirvin.com> | 2016-03-08 16:06:58 -0800 |
commit | 1258f9bb2114bd4a909f623a7519ba446bf8da0d (patch) | |
tree | cdcc0f2e1c9d30de528f0f952eca3971da211163 /Zotlabs/Web/HttpMeta.php | |
parent | 5f41d06bb977bf7811ef5d8a1a1faf0b8670936a (diff) | |
download | volse-hubzilla-1258f9bb2114bd4a909f623a7519ba446bf8da0d.tar.gz volse-hubzilla-1258f9bb2114bd4a909f623a7519ba446bf8da0d.tar.bz2 volse-hubzilla-1258f9bb2114bd4a909f623a7519ba446bf8da0d.zip |
turn 'OpenGraph' into a more general purpose HTTP meta facility for setting any meta header
Diffstat (limited to 'Zotlabs/Web/HttpMeta.php')
-rw-r--r-- | Zotlabs/Web/HttpMeta.php | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/Zotlabs/Web/HttpMeta.php b/Zotlabs/Web/HttpMeta.php new file mode 100644 index 000000000..469a9ed8b --- /dev/null +++ b/Zotlabs/Web/HttpMeta.php @@ -0,0 +1,66 @@ +<?php + +namespace Zotlabs\Web; + + +class HttpMeta { + + private $vars = null; + private $og = null; + + function __construct() { + + $this->vars = array(); + $this->og = array(); + + } + + function set($property,$value) { + if(strpos($property,'og:') === 0) + $this->og[$property] = $value; + else + $this->vars[$property] = $value; + } + + function check_required() { + if( + ($this->og) + && array_key_exists('og:title',$this->og) + && array_key_exists('og:type', $this->og) + && array_key_exists('og:image',$this->og) + && array_key_exists('og:url', $this->og) + ) + return true; + return false; + } + + function get_field($field) { + if(strpos($field,'og:') === 0) + $arr = $this->og; + else + $arr = $this->vars; + + if($arr && array_key_exists($field,$arr) && $arr[$field]) + return $arr[$field]; + return false; + } + + + function get() { + $o = ''; + if($this->vars) { + foreach($this->vars as $k => $v) { + $o .= '<meta property="' . $k . '" content="' . urlencode($v) . '" />' . "\r\n" ; + } + } + if($this->check_required()) { + foreach($this->og as $k => $v) { + $o .= '<meta property="' . $k . '" content="' . urlencode($v) . '" />' . "\r\n" ; + } + } + if($o) + return "\r\n" . $o; + return $o; + } + +}
\ No newline at end of file |