aboutsummaryrefslogtreecommitdiffstats
path: root/Zotlabs/Widget/Photo_rand.php
diff options
context:
space:
mode:
authorzotlabs <mike@macgirvin.com>2017-03-16 17:11:48 -0700
committerzotlabs <mike@macgirvin.com>2017-03-16 17:11:48 -0700
commit446b5550a2c2b52bb31db5b99602c42b9dfdade6 (patch)
treebc7cf06be9fe2561bddf29ee3d4a082241b75248 /Zotlabs/Widget/Photo_rand.php
parent051759580dc7aff7d5b349b3b5271f054c7d3423 (diff)
downloadvolse-hubzilla-446b5550a2c2b52bb31db5b99602c42b9dfdade6.tar.gz
volse-hubzilla-446b5550a2c2b52bb31db5b99602c42b9dfdade6.tar.bz2
volse-hubzilla-446b5550a2c2b52bb31db5b99602c42b9dfdade6.zip
the rest of the standard widgets converted
Diffstat (limited to 'Zotlabs/Widget/Photo_rand.php')
-rw-r--r--Zotlabs/Widget/Photo_rand.php66
1 files changed, 66 insertions, 0 deletions
diff --git a/Zotlabs/Widget/Photo_rand.php b/Zotlabs/Widget/Photo_rand.php
new file mode 100644
index 000000000..af80a3b9f
--- /dev/null
+++ b/Zotlabs/Widget/Photo_rand.php
@@ -0,0 +1,66 @@
+<?php
+
+namespace Zotlabs\Widget;
+
+require_once('include/photos.php');
+
+class Photo_rand {
+
+ function widget($arr) {
+
+ $style = false;
+
+ if(array_key_exists('album', $arr) && isset($arr['album']))
+ $album = $arr['album'];
+ else
+ $album = '';
+
+ $channel_id = 0;
+ if(array_key_exists('channel_id', $arr) && intval($arr['channel_id']))
+ $channel_id = intval($arr['channel_id']);
+ if(! $channel_id)
+ $channel_id = \App::$profile_uid;
+ if(! $channel_id)
+ return '';
+
+ $scale = ((array_key_exists('scale',$arr)) ? intval($arr['scale']) : 0);
+
+ $ret = photos_list_photos(array('channel_id' => $channel_id),\App::get_observer(),$album);
+
+ $filtered = array();
+ if($ret['success'] && $ret['photos'])
+ foreach($ret['photos'] as $p)
+ if($p['imgscale'] == $scale)
+ $filtered[] = $p['src'];
+
+ if($filtered) {
+ $e = mt_rand(0, count($filtered) - 1);
+ $url = $filtered[$e];
+ }
+
+ 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(strpos($style,'(') !== false)
+ return '';
+
+ $url = zid($url);
+
+ $o = '<div class="widget">';
+
+ $o .= '<img class="zrl" '
+ . (($style) ? ' style="' . $style . '"' : '')
+ . ' src="' . $url . '" alt="' . t('photo/image') . '">';
+
+ $o .= '</div>';
+
+ return $o;
+ }
+}
+
+