diff options
author | zotlabs <mike@macgirvin.com> | 2017-03-16 17:11:48 -0700 |
---|---|---|
committer | Mario Vavti <mario@mariovavti.com> | 2017-03-29 12:02:09 +0200 |
commit | 0bad26e116499d9b656c28f64c81275df4bbecb6 (patch) | |
tree | a5a30a33e97db03bb7fdeb156045ba41205546e8 /Zotlabs/Widget/Photo.php | |
parent | cd57483ed9069a26b52ae8d7d74fdc537da89946 (diff) | |
download | volse-hubzilla-0bad26e116499d9b656c28f64c81275df4bbecb6.tar.gz volse-hubzilla-0bad26e116499d9b656c28f64c81275df4bbecb6.tar.bz2 volse-hubzilla-0bad26e116499d9b656c28f64c81275df4bbecb6.zip |
the rest of the standard widgets converted
Diffstat (limited to 'Zotlabs/Widget/Photo.php')
-rw-r--r-- | Zotlabs/Widget/Photo.php | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/Zotlabs/Widget/Photo.php b/Zotlabs/Widget/Photo.php new file mode 100644 index 000000000..10031f028 --- /dev/null +++ b/Zotlabs/Widget/Photo.php @@ -0,0 +1,55 @@ +<?php + +namespace Zotlabs\Widget; + + +class Photo { + + + /** + * @brief Widget to display a single photo. + * + * @param array $arr associative array with + * * \e string \b src URL of photo; URL must be an http or https URL + * * \e boolean \b zrl use zid in URL + * * \e string \b style CSS string + * + * @return string with parsed HTML + */ + + function widget($arr) { + + $style = $zrl = false; + + if(array_key_exists('src', $arr) && isset($arr['src'])) + $url = $arr['src']; + + if(strpos($url, 'http') !== 0) + return ''; + + if(array_key_exists('style', $arr) && isset($arr['style'])) + $style = $arr['style']; + + // ensure they can't sneak in an eval(js) function + + if(strpbrk($style, '(\'"<>' ) !== false) + $style = ''; + + if(array_key_exists('zrl', $arr) && isset($arr['zrl'])) + $zrl = (($arr['zrl']) ? true : false); + + if($zrl) + $url = zid($url); + + $o = '<div class="widget">'; + + $o .= '<img ' . (($zrl) ? ' class="zrl" ' : '') + . (($style) ? ' style="' . $style . '"' : '') + . ' src="' . $url . '" alt="' . t('photo/image') . '">'; + + $o .= '</div>'; + + return $o; + } +} + |