From b16f93883077a3637d055a4c70a28ef0c994efec Mon Sep 17 00:00:00 2001 From: friendica Date: Sat, 22 Nov 2014 12:26:04 -0800 Subject: random block widget --- include/widgets.php | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) (limited to 'include/widgets.php') diff --git a/include/widgets.php b/include/widgets.php index 076a8fa91..a25139558 100644 --- a/include/widgets.php +++ b/include/widgets.php @@ -874,3 +874,44 @@ function widget_photo_rand($arr) { return $o; } + + +function widget_random_block($arr) { + + $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 = get_app()->profile_uid; + if(! $channel_id) + return ''; + + if(array_key_exists('contains',$arr)) + $contains = $arr['contains']; + + $o = ''; + + require_once('include/security.php'); + $sql_options = item_permissions_sql($channel_id); + + $randfunc = db_getfunc('RAND'); + + $r = q("select item.* from item left join item_id on item.id = item_id.iid + where item.uid = %d and sid like '%s' and service = 'BUILDBLOCK' and + item_restrict = %d $sql_options order by $randfunc limit 1", + intval($channel_id), + dbesc('%' . $contains . '%'), + intval(ITEM_BUILDBLOCK) + ); + + if($r) { + $o = '
'; + if($r[0]['title']) + $o .= '

' . $r[0]['title'] . '

'; + $o .= prepare_text($r[0]['body'],$r[0]['mimetype']); + $o .= '
'; + + } + return $o; + +} \ No newline at end of file -- cgit v1.2.3