60 lines
1.4 KiB
PHP
60 lines
1.4 KiB
PHP
<?php
|
|
|
|
namespace Zotlabs\Widget;
|
|
|
|
class Cover_photo {
|
|
|
|
function widget($arr) {
|
|
|
|
require_once('include/channel.php');
|
|
$o = '';
|
|
|
|
if(\App::$module == 'channel' && $_REQUEST['mid'])
|
|
return '';
|
|
|
|
$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 '';
|
|
|
|
$channel = channelx_by_n($channel_id);
|
|
|
|
if(array_key_exists('style', $arr) && isset($arr['style']))
|
|
$style = $arr['style'];
|
|
else
|
|
$style = 'width:100%; height: auto;';
|
|
|
|
// ensure they can't sneak in an eval(js) function
|
|
|
|
if(strpbrk($style,'(\'"<>') !== false)
|
|
$style = '';
|
|
|
|
if(array_key_exists('title', $arr) && isset($arr['title']))
|
|
$title = $arr['title'];
|
|
else
|
|
$title = $channel['channel_name'];
|
|
|
|
if(array_key_exists('subtitle', $arr) && isset($arr['subtitle']))
|
|
$subtitle = $arr['subtitle'];
|
|
else
|
|
$subtitle = str_replace('@','@',$channel['xchan_addr']);
|
|
|
|
$c = get_cover_photo($channel_id,'html');
|
|
|
|
if($c) {
|
|
$photo_html = (($style) ? str_replace('alt=',' style="' . $style . '" alt=',$c) : $c);
|
|
|
|
$o = replace_macros(get_markup_template('cover_photo_widget.tpl'),array(
|
|
'$photo_html' => $photo_html,
|
|
'$title' => $title,
|
|
'$subtitle' => $subtitle,
|
|
'$hovertitle' => t('Click to show more'),
|
|
));
|
|
}
|
|
return $o;
|
|
}
|
|
}
|