aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorredmatrix <git@macgirvin.com>2016-03-08 16:06:58 -0800
committerredmatrix <git@macgirvin.com>2016-03-08 16:06:58 -0800
commit1258f9bb2114bd4a909f623a7519ba446bf8da0d (patch)
treecdcc0f2e1c9d30de528f0f952eca3971da211163
parent5f41d06bb977bf7811ef5d8a1a1faf0b8670936a (diff)
downloadvolse-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
-rw-r--r--Zotlabs/Web/HttpMeta.php66
-rw-r--r--Zotlabs/Web/OpenGraph.php50
-rwxr-xr-xboot.php10
3 files changed, 71 insertions, 55 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
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 @@
-<?php
-
-namespace Zotlabs\Web;
-
-
-class OpenGraph {
-
- private $vars = null;
-
- function __construct() {
-
- $this->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 .= '<meta property="' . $k . '" content="' . urlencode($v) . '" />' . "\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(),