From 1258f9bb2114bd4a909f623a7519ba446bf8da0d Mon Sep 17 00:00:00 2001 From: redmatrix Date: Tue, 8 Mar 2016 16:06:58 -0800 Subject: turn 'OpenGraph' into a more general purpose HTTP meta facility for setting any meta header --- Zotlabs/Web/HttpMeta.php | 66 +++++++++++++++++++++++++++++++++++++++++++++++ Zotlabs/Web/OpenGraph.php | 50 ----------------------------------- boot.php | 10 +++---- 3 files changed, 71 insertions(+), 55 deletions(-) create mode 100644 Zotlabs/Web/HttpMeta.php delete mode 100644 Zotlabs/Web/OpenGraph.php 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 @@ +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 .= '' . "\r\n" ; + } + } + if($this->check_required()) { + foreach($this->og as $k => $v) { + $o .= '' . "\r\n" ; + } + } + if($o) + return "\r\n" . $o; + return $o; + } + +} \ No newline at end of file diff --git a/Zotlabs/Web/OpenGraph.php b/Zotlabs/Web/OpenGraph.php deleted file mode 100644 index f282c82d4..000000000 --- a/Zotlabs/Web/OpenGraph.php +++ /dev/null @@ -1,50 +0,0 @@ -vars = array(); - - } - - function set($property,$value) { - $this->vars[$property] = $value; - } - - function check_required() { - if( - ($this->vars) - && array_key_exists('og:title',$this->vars) - && array_key_exists('og:type', $this->vars) - && array_key_exists('og:image',$this->vars) - && array_key_exists('og:url', $this->vars) - ) - return true; - return false; - } - - function get_field($field) { - if($this->vars && array_key_exists($field,$this->vars) && $this->vars[$field]) - return $this->vars[$field]; - return false; - } - - - function get() { - if($this->check_required()) { - $o = "\r\n"; - foreach($this->vars as $k => $v) { - $o .= '' . "\r\n" ; - } - return $o; - } - return ''; - } - -} \ No newline at end of file diff --git a/boot.php b/boot.php index 46f716365..c89ffc9ad 100755 --- a/boot.php +++ b/boot.php @@ -753,7 +753,7 @@ class App { private $baseurl; - private $OG; + private $meta; /** * App constructor. @@ -873,7 +873,7 @@ class App { spl_autoload_register('ZotlabsAutoloader::loader'); - $this->OG = new Zotlabs\Web\OpenGraph(); + $this->meta= new Zotlabs\Web\HttpMeta(); } function get_baseurl($ssl = false) { @@ -1023,8 +1023,8 @@ class App { if(! x($this->page,'title')) $this->page['title'] = $this->config['system']['sitename']; - if(! $this->OG->get_field('og:title')) - $this->OG->set('og:title',$this->page['title']); + if(! $this->meta->get_field('og:title')) + $this->meta->set('og:title',$this->page['title']); /* put the head template at the beginning of page['htmlhead'] * since the code added by the modules frequently depends on it @@ -1037,7 +1037,7 @@ class App { '$baseurl' => $this->get_baseurl(), '$local_channel' => local_channel(), '$generator' => Zotlabs\Project\System::get_platform_name() . ((Zotlabs\Project\System::get_project_version()) ? ' ' . Zotlabs\Project\System::get_project_version() : ''), - '$metas' => $this->OG->get(), + '$metas' => $this->meta->get(), '$update_interval' => $interval, '$icon' => head_get_icon(), '$head_css' => head_get_css(), -- cgit v1.2.3