diff options
-rw-r--r-- | include/identity.php | 51 | ||||
-rwxr-xr-x | include/oembed.php | 12 | ||||
-rw-r--r-- | include/permissions.php | 2 | ||||
-rw-r--r-- | mod/channel.php | 6 | ||||
-rw-r--r-- | mod/oep.php | 2 | ||||
-rw-r--r-- | version.inc | 2 | ||||
-rw-r--r-- | view/tpl/zcard.tpl | 89 |
7 files changed, 139 insertions, 25 deletions
diff --git a/include/identity.php b/include/identity.php index 037cf5061..4f58d7dc5 100644 --- a/include/identity.php +++ b/include/identity.php @@ -1786,11 +1786,42 @@ function get_zcard($channel,$observer_hash = '',$args = array()) { logger('get_zcard'); + $maxwidth = (($args['width']) ? intval($args['width']) : 0); + $maxheight = (($args['height']) ? intval($args['height']) : 0); + + + if(($maxwidth > 1200) || ($maxwidth < 1)) + $maxwidth = 1200; + + if($maxwidth <= 425) { + $width = 425; + $size = 'hz_small'; + $cover_size = PHOTO_RES_COVER_425; + $pphoto = array('type' => $channel['xchan_photo_mimetype'], 'width' => 80 , 'height' => 80, 'href' => $channel['xchan_photo_m']); + } + elseif($maxwidth <= 850) { + $width = 850; + $size = 'hz_medium'; + $cover_size = PHOTO_RES_COVER_850; + $pphoto = array('type' => $channel['xchan_photo_mimetype'], 'width' => 160 , 'height' => 160, 'href' => $channel['xchan_photo_l']); + } + elseif($maxwidth <= 1200) { + $width = 1200; + $size = 'hz_large'; + $cover_size = PHOTO_RES_COVER_1200; + $pphoto = array('type' => $channel['xchan_photo_mimetype'], 'width' => 300 , 'height' => 300, 'href' => $channel['xchan_photo_l']); + } + +// $scale = (float) $maxwidth / $width; +// $translate = intval(($scale / 1.0) * 100); + + $channel['channel_addr'] = $channel['channel_address'] . '@' . get_app()->get_hostname(); + $zcard = array('chan' => $channel); $r = q("select height, width, resource_id, scale, type from photo where uid = %d and scale = %d and photo_usage = %d", intval($channel['channel_id']), - intval(PHOTO_RES_COVER_1200), + intval($cover_size), intval(PHOTO_COVER) ); @@ -1798,23 +1829,15 @@ function get_zcard($channel,$observer_hash = '',$args = array()) { $cover = $r[0]; $cover['href'] = z_root() . '/photo/' . $r[0]['resource_id'] . '-' . $r[0]['scale']; } + else { + // @fixme remove this when we have a fallback cover photo and use that instead. + return; + } - $pphoto = array('type' => $channel['xchan_photo_mimetype'], - 'width' => 300 , 'height' => 300, 'href' => $channel['xchan_photo_l']); - - $maxwidth = (($args['width']) ? intval($args['width']) : 0); - $maxheight = (($args['height']) ? intval($args['height']) : 0); - - $zcard = array('chan' => $channel); - if(($maxwidth > 1200) || ($maxwidth < 1)) - $maxwidth = 1200; - $scale = (float) $maxwidth / 1200; - - $translate = intval(($scale / 1.0) * 100); - $o .= replace_macros(get_markup_template('zcard.tpl'),array( '$scale' => $scale, '$translate' => $translate, + '$size' => $size, '$cover' => $cover, '$pphoto' => $pphoto, '$zcard' => $zcard diff --git a/include/oembed.php b/include/oembed.php index ff52545ee..7c577b6c2 100755 --- a/include/oembed.php +++ b/include/oembed.php @@ -217,10 +217,16 @@ function oembed_format_object($j){ } function oembed_iframe($src,$width,$height) { - if(! $width || strstr($width,'%')) + $scroll = ' scrolling="no" '; + if(! $width || strstr($width,'%')) { $width = '640'; - if(! $height || strstr($height,'%')) + $scroll = ' scrolling="auto" '; + } + if(! $height || strstr($height,'%')) { $height = '300'; + $scroll = ' scrolling="auto" '; + } + // try and leave some room for the description line. $height = intval($height) + 80; $width = intval($width) + 40; @@ -229,7 +235,7 @@ function oembed_iframe($src,$width,$height) { // Make sure any children are sandboxed within their own iframe. - return '<iframe height="' . $height . '" width="' . $width . '" src="' . $s . '" frameborder="no" >' + return '<iframe ' . $scroll . 'height="' . $height . '" width="' . $width . '" src="' . $s . '" frameborder="no" >' . t('Embedded content') . '</iframe>'; } diff --git a/include/permissions.php b/include/permissions.php index 8071af686..8c36f9744 100644 --- a/include/permissions.php +++ b/include/permissions.php @@ -626,7 +626,7 @@ function get_role_perms($role) { $ret['channel_w_mail'] = PERMS_SPECIFIC; $ret['channel_w_chat'] = PERMS_SPECIFIC; $ret['channel_a_delegate'] = PERMS_SPECIFIC; - $ret['channel_r_storage'] = PERMS_PUBLIC; + $ret['channel_r_storage'] = PERMS_SPECIFIC; $ret['channel_w_storage'] = PERMS_SPECIFIC; $ret['channel_r_pages'] = PERMS_PUBLIC; $ret['channel_w_pages'] = PERMS_SPECIFIC; diff --git a/mod/channel.php b/mod/channel.php index f88a5bf45..dcccb16b6 100644 --- a/mod/channel.php +++ b/mod/channel.php @@ -157,10 +157,8 @@ function channel_content(&$a, $update = 0, $load = false) { $simple_update = (($update) ? " AND item_unseen = 1 " : ''); - if($mid) { - $a->page['htmlhead'] .= "\r\n" . '<link rel="alternate" type="application/json+oembed" href="' . z_root() . '/oep?f=&url=' . urlencode(z_root() . '/' . $a->query_string) . '" title="oembed" />' . "\r\n"; - } - + $a->page['htmlhead'] .= "\r\n" . '<link rel="alternate" type="application/json+oembed" href="' . z_root() . '/oep?f=&url=' . urlencode(z_root() . '/' . $a->query_string) . '" title="oembed" />' . "\r\n"; + if($update && $_SESSION['loadtime']) $simple_update = " AND (( item_unseen = 1 AND item.changed > '" . datetime_convert('UTC','UTC',$_SESSION['loadtime']) . "' ) OR item.changed > '" . datetime_convert('UTC','UTC',$_SESSION['loadtime']) . "' ) "; if($load) diff --git a/mod/oep.php b/mod/oep.php index 8d959c3e2..3855a1b4a 100644 --- a/mod/oep.php +++ b/mod/oep.php @@ -32,6 +32,8 @@ function oep_init(&$a) { $arr = oep_display_reply($_REQUEST); elseif(fnmatch('*/channel/*mid=*',$url)) $arr = oep_mid_reply($_REQUEST); + elseif(fnmatch('*/channel*',$url)) + $arr = oep_profile_reply($_REQUEST); elseif(fnmatch('*/profile/*',$url)) $arr = oep_profile_reply($_REQUEST); diff --git a/version.inc b/version.inc index fa80bc80a..1d1ae17f2 100644 --- a/version.inc +++ b/version.inc @@ -1 +1 @@ -2016-02-01.1296H +2016-02-02.1297H diff --git a/view/tpl/zcard.tpl b/view/tpl/zcard.tpl index 68f1058a5..b73b1011c 100644 --- a/view/tpl/zcard.tpl +++ b/view/tpl/zcard.tpl @@ -1,7 +1,49 @@ <style> +{{if $size == 'hz_large'}} +.hz_card { +/* -moz-transform: translate(-{{$translate}}%, -{{$translate}}%) scale({{$scale}}, {{$scale}}); + transform: translate(-{{$translate}}%, -{{$translate}}%) scale({{$scale}}, {{$scale}}); */ + font-family: sans-serif, arial, freesans; +} +.hz_cover_photo { + max-width: 100%; +} +.hz_profile_photo { + position: relative; + top: -300px; + left: 30px; + background-color: white; + border: 1px solid #ddd; + border-radius: 5px; + -moz-border-radius: 5px; + padding: 10px; + width: 320px; + height: 320px; +} + +.hz_name { + position: relative; + top: -100px; + left: 400px; + color: #fff; + font-size: 48px; + text-rendering: optimizelegibility; + text-shadow: 0 0 3px rgba(0, 0, 0, 0.8); +} +.hz_addr { + position: relative; + top: -110px; + left: 400px; + color: #fff; + font-size: 24px; + text-rendering: optimizelegibility; + text-shadow: 0 0 3px rgba(0, 0, 0, 0.8); +} +{{elseif $size == 'hz_medium'}} .hz_card { -moz-transform: translate(-{{$translate}}%, -{{$translate}}%) scale({{$scale}}, {{$scale}}); transform: translate(-{{$translate}}%, -{{$translate}}%) scale({{$scale}}, {{$scale}}); + font-family: sans-serif, arial, freesans; } .hz_cover_photo { max-width: 100%; @@ -38,13 +80,56 @@ text-shadow: 0 0 3px rgba(0, 0, 0, 0.8); } + +{{else}} +.hz_card { +/* -moz-transform: translate(-{{$translate}}%, -{{$translate}}%) scale({{$scale}}, {{$scale}}); + transform: translate(-{{$translate}}%, -{{$translate}}%) scale({{$scale}}, {{$scale}}); */ + font-family: sans-serif, arial, freesans; +} +.hz_cover_photo { + max-width: 100%; +} +.hz_profile_photo { + position: relative; + top: -75px; + left: 20px; + background-color: white; + border: 1px solid #ddd; +/* border-radius: 5px; + -moz-border-radius: 5px; */ + padding: 3px; + width: 80px; + height: 80px; +} + +.hz_name { + position: relative; + top: -40px; + left: 120px; + color: #fff; + font-size: 18px; + text-rendering: optimizelegibility; + text-shadow: 0 0 3px rgba(0, 0, 0, 0.8); +} +.hz_addr { + position: relative; + top: -40px; + left: 120px; + color: #fff; + font-size: 10px; + text-rendering: optimizelegibility; + text-shadow: 0 0 3px rgba(0, 0, 0, 0.8); +} +{{/if}} + </style> -<div class="hz_card"> +<div class="hz_card {{$size}}"> <div class="hz_cover_photo"><img src="{{$cover.href}}" alt="{{$zcard.chan.xchan_name}}" /> <div class="hz_name">{{$zcard.chan.xchan_name}}</div> <div class="hz_addr">{{$zcard.chan.channel_addr}}</div> </div> - <div class="hz_profile_photo"><img style="width: 300px; height: 300px;" src="{{$pphoto.href}}" alt="{{$zcard.chan.xchan_name}}" /></div> + <div class="hz_profile_photo"><img style="width: {{$pphoto.width}}px; height: {{$pphoto.height}}px;" src="{{$pphoto.href}}" alt="{{$zcard.chan.xchan_name}}" /></div> </div> |