aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/widgets.php24
-rw-r--r--view/css/widgets.css27
-rw-r--r--view/theme/redbasic/js/redbasic.js24
-rwxr-xr-xview/tpl/cover_photo_widget.tpl49
4 files changed, 98 insertions, 26 deletions
diff --git a/include/widgets.php b/include/widgets.php
index 3b8a5a7a3..96d7b5cd0 100644
--- a/include/widgets.php
+++ b/include/widgets.php
@@ -982,14 +982,18 @@ function widget_cover_photo($arr) {
require_once('include/identity.php');
$o = '';
+ $a = get_app();
+
$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;
+ $channel_id = $a->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
@@ -1000,10 +1004,26 @@ function widget_cover_photo($arr) {
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 = $channel['xchan_addr'];
+
$c = get_cover_photo($channel_id,'html');
if($c) {
- $o = '<div id="cover-photo">' . (($style) ? str_replace('alt=',' style="' . $style . '" alt=',$c) : $c) . '</div>';
+ $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,
+ ));
}
return $o;
}
diff --git a/view/css/widgets.css b/view/css/widgets.css
index a1801ac77..db90afad9 100644
--- a/view/css/widgets.css
+++ b/view/css/widgets.css
@@ -122,3 +122,30 @@ li:hover .group-edit-icon {
#event-upload-choose {
width: 100%;
}
+
+/* cover photo */
+
+#cover-photo {
+ position: relative;
+ width: 100%;
+ height: auto;
+}
+
+#cover-photo-caption {
+ position: absolute;
+ bottom: 0px;
+ left: 0px;
+ width: 100%;
+ padding: 15px;
+ color: #fff;
+ font-weight: bold;
+ text-shadow: 1px 1px 3px rgba(0,0,0,.7);
+}
+
+.cover-photo-title {
+ font-size: 30px;
+}
+
+.cover-photo-subtitle {
+ font-size: 20px;
+}
diff --git a/view/theme/redbasic/js/redbasic.js b/view/theme/redbasic/js/redbasic.js
index d3f9c5f70..a4e13b8eb 100644
--- a/view/theme/redbasic/js/redbasic.js
+++ b/view/theme/redbasic/js/redbasic.js
@@ -3,16 +3,6 @@
*/
$(document).ready(function() {
- //Simple cover-photo implementation
- if($('#cover-photo').length && $(window).width() > 767) {
- $('.navbar-fixed-top').css('position', 'relative');
- $('aside, section').css('padding-top', 0 + 'px');
- $('main').css('opacity', 0);
- }
- else {
- $('#cover-photo').remove();
- }
-
// CSS3 calc() fallback (for unsupported browsers)
$('body').append('<div id="css3-calc" style="width: 10px; width: calc(10px + 10px); display: none;"></div>');
if( $('#css3-calc').width() == 10) {
@@ -62,17 +52,3 @@ $(document).ready(function() {
}
setInterval(function () {checkNotify();}, 10 * 1000);
});
-
-//Simple cover-photo implementation
-$(window).scroll(function () {
- if($('#cover-photo').length && $(window).width() > 767 && $(window).scrollTop() >= $('#cover-photo').height()) {
- $('aside, section').css('padding-top', 71 + 'px');
- $(window).scrollTop($(window).scrollTop() - $('#cover-photo').height())
- $('.navbar-fixed-top').css('position', 'fixed');
- $('#cover-photo').remove();
- }
-
- if($('#cover-photo').length) {
- $('main').css('opacity', ($(window).scrollTop()/$('#cover-photo').height()).toFixed(1));
- }
-});
diff --git a/view/tpl/cover_photo_widget.tpl b/view/tpl/cover_photo_widget.tpl
new file mode 100755
index 000000000..68571d257
--- /dev/null
+++ b/view/tpl/cover_photo_widget.tpl
@@ -0,0 +1,49 @@
+<script>
+ $(document).ready(function() {
+ if($('#cover-photo').length && $(window).width() > 755) {
+ $('.navbar-fixed-top').css('position', 'relative');
+ $('aside, section').css('padding-top', 0 + 'px');
+ $('main').css('opacity', 0);
+ $('header').hide();
+ }
+ else {
+ $('#cover-photo').remove();
+ }
+ });
+
+ $(window).scroll(function () {
+ if($('#cover-photo').length && $(window).width() > 755 && $(window).scrollTop() >= $('#cover-photo').height()) {
+ $('header').fadeIn();
+ $('main').css('opacity', 1);
+ $('aside, section').css('padding-top', 71 + 'px');
+ $(window).scrollTop($(window).scrollTop() - $('#cover-photo').height())
+ $('.navbar-fixed-top').css('position', 'fixed');
+ $('#cover-photo').remove();
+ }
+ if($('#cover-photo').length) {
+ $('main').css('opacity', ($(window).scrollTop()/$('#cover-photo').height()).toFixed(1));
+ }
+ });
+
+ $(window).resize(function () {
+ if($('#cover-photo').length && $(window).width() < 755) {
+ $('main').css('opacity', 1);
+ $('aside, section').css('padding-top', 71 + 'px');
+ $('.navbar-fixed-top').css('position', 'fixed');
+ $('#cover-photo').remove();
+ }
+
+ });
+</script>
+
+<div id="cover-photo">
+ {{$photo_html}}
+ <div id="cover-photo-caption">
+ <div class="cover-photo-title">
+ {{$title}}
+ </div>
+ <div class="cover-photo-subtitle">
+ {{$subtitle}}
+ </div>
+ </div>
+</div>