aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Zotlabs/Module/Admin.php2
-rw-r--r--Zotlabs/Module/Filestorage.php2
-rw-r--r--Zotlabs/Module/Item.php12
-rw-r--r--Zotlabs/Update/_1218.php4
-rw-r--r--Zotlabs/Widget/Cover_photo.php6
-rwxr-xr-xboot.php2
-rw-r--r--include/zot.php29
-rw-r--r--view/css/widgets.css1
-rw-r--r--view/theme/redbasic/css/style.css12
-rw-r--r--view/theme/redbasic/php/style.php6
-rwxr-xr-xview/tpl/cover_photo_widget.tpl33
11 files changed, 68 insertions, 41 deletions
diff --git a/Zotlabs/Module/Admin.php b/Zotlabs/Module/Admin.php
index 2df8dc25d..6edced9b5 100644
--- a/Zotlabs/Module/Admin.php
+++ b/Zotlabs/Module/Admin.php
@@ -109,7 +109,7 @@ class Admin extends \Zotlabs\Web\Controller {
// available channels, primary and clones
$channels = array();
- $r = q("SELECT COUNT(*) AS total, COUNT(CASE WHEN channel_primary = 1 THEN 1 ELSE NULL END) AS main, COUNT(CASE WHEN channel_primary = 0 THEN 1 ELSE NULL END) AS clones FROM channel WHERE channel_removed = 0");
+ $r = q("SELECT COUNT(*) AS total, COUNT(CASE WHEN channel_primary = 1 THEN 1 ELSE NULL END) AS main, COUNT(CASE WHEN channel_primary = 0 THEN 1 ELSE NULL END) AS clones FROM channel WHERE channel_removed = 0 and channel_system = 0");
if ($r) {
$channels['total'] = array('label' => t('Channels'), 'val' => $r[0]['total']);
$channels['main'] = array('label' => t('Primary'), 'val' => $r[0]['main']);
diff --git a/Zotlabs/Module/Filestorage.php b/Zotlabs/Module/Filestorage.php
index cd9ab601d..23bd63f95 100644
--- a/Zotlabs/Module/Filestorage.php
+++ b/Zotlabs/Module/Filestorage.php
@@ -128,7 +128,7 @@ class Filestorage extends \Zotlabs\Web\Controller {
}
}
- if(json_return)
+ if($json_return)
json_return_and_die([ 'success' => true ]);
goaway(dirname($url));
diff --git a/Zotlabs/Module/Item.php b/Zotlabs/Module/Item.php
index 640b4fa5c..a24d6da9c 100644
--- a/Zotlabs/Module/Item.php
+++ b/Zotlabs/Module/Item.php
@@ -29,7 +29,7 @@ use \Zotlabs\Lib as Zlib;
class Item extends \Zotlabs\Web\Controller {
function post() {
-
+
// This will change. Figure out who the observer is and whether or not
// they have permission to post here. Else ignore the post.
@@ -237,10 +237,12 @@ class Item extends \Zotlabs\Web\Controller {
if($parent) {
logger('mod_item: item_post parent=' . $parent);
$can_comment = false;
- if((array_key_exists('owner',$parent_item)) && intval($parent_item['owner']['abook_self']))
- $can_comment = perm_is_allowed($profile_uid,$observer['xchan_hash'],'post_comments');
- else
- $can_comment = can_comment_on_post($observer['xchan_hash'],$parent_item);
+
+ $can_comment = can_comment_on_post($observer['xchan_hash'],$parent_item);
+ if (!$can_comment) {
+ if((array_key_exists('owner',$parent_item)) && intval($parent_item['owner']['abook_self'])==1 )
+ $can_comment = perm_is_allowed($profile_uid,$observer['xchan_hash'],'post_comments');
+ }
if(! $can_comment) {
notice( t('Permission denied.') . EOL) ;
diff --git a/Zotlabs/Update/_1218.php b/Zotlabs/Update/_1218.php
index 67d8b49a5..07c7dba20 100644
--- a/Zotlabs/Update/_1218.php
+++ b/Zotlabs/Update/_1218.php
@@ -7,9 +7,9 @@ class _1218 {
function run() {
if(ACTIVE_DBTYPE == DBTYPE_POSTGRES) {
- $r1 = q("ALTER TABLE hubloc add hubloc_id_url text NOT NULL");
+ $r1 = q("ALTER TABLE hubloc add hubloc_id_url text NOT NULL DEFAULT ''");
$r2 = q("create index \"hubloc_id_url\" on hubloc (\"hubloc_id_url\")");
- $r3 = q("ALTER TABLE hubloc add hubloc_site_id text NOT NULL");
+ $r3 = q("ALTER TABLE hubloc add hubloc_site_id text NOT NULL DEFAULT ''");
$r4 = q("create index \"hubloc_site_id\" on hubloc (\"hubloc_site_id\")");
$r = $r1 && $r2 && $r3 && $r4;
diff --git a/Zotlabs/Widget/Cover_photo.php b/Zotlabs/Widget/Cover_photo.php
index af1ae5c7f..955048992 100644
--- a/Zotlabs/Widget/Cover_photo.php
+++ b/Zotlabs/Widget/Cover_photo.php
@@ -21,9 +21,9 @@ class Cover_photo {
return '';
// only show cover photos once per login session
-
+ $hide_cover = false;
if(array_key_exists('channels_visited',$_SESSION) && is_array($_SESSION['channels_visited']) && in_array($channel_id,$_SESSION['channels_visited'])) {
- return EMPTY_STR;
+ $hide_cover = true;
}
if(! array_key_exists('channels_visited',$_SESSION)) {
$_SESSION['channels_visited'] = [];
@@ -55,6 +55,7 @@ class Cover_photo {
$c = get_cover_photo($channel_id,'html');
if($c) {
+ $c = str_replace('src=', 'data-src=', $c);
$photo_html = (($style) ? str_replace('alt=',' style="' . $style . '" alt=',$c) : $c);
$o = replace_macros(get_markup_template('cover_photo_widget.tpl'),array(
@@ -62,6 +63,7 @@ class Cover_photo {
'$title' => $title,
'$subtitle' => $subtitle,
'$hovertitle' => t('Click to show more'),
+ '$hide_cover' => $hide_cover
));
}
return $o;
diff --git a/boot.php b/boot.php
index 6c56a7dc0..54c49cf6b 100755
--- a/boot.php
+++ b/boot.php
@@ -50,7 +50,7 @@ require_once('include/attach.php');
require_once('include/bbcode.php');
define ( 'PLATFORM_NAME', 'hubzilla' );
-define ( 'STD_VERSION', '3.7.1' );
+define ( 'STD_VERSION', '3.7.2' );
define ( 'ZOT_REVISION', '6.0a' );
diff --git a/include/zot.php b/include/zot.php
index 52102e147..e8ac2df02 100644
--- a/include/zot.php
+++ b/include/zot.php
@@ -1808,13 +1808,28 @@ function process_delivery($sender, $arr, $deliveries, $relay, $public = false, $
else {
$arr['item_wall'] = 0;
}
-
- if((! perm_is_allowed($channel['channel_id'],$sender['hash'],$perm)) && (! $tag_delivery) && (! $local_public)) {
- logger("permission denied for delivery to channel {$channel['channel_id']} {$channel['channel_address']}");
- $DR->update('permission denied');
- $result[] = $DR->get();
- continue;
- }
+
+
+ if ((! $tag_delivery) && (! $local_public)) {
+ $allowed = (perm_is_allowed($channel['channel_id'],$sender['hash'],$perm));
+
+ if((! $allowed) && $perm == 'post_comments') {
+ $parent = q("select * from item where mid = '%s' and uid = %d limit 1",
+ dbesc($arr['parent_mid']),
+ intval($channel['channel_id'])
+ );
+ if ($parent) {
+ $allowed = can_comment_on_post($d['hash'],$parent[0]);
+ }
+ }
+
+ if (! $allowed) {
+ logger("permission denied for delivery to channel {$channel['channel_id']} {$channel['channel_address']}");
+ $DR->update('permission denied');
+ $result[] = $DR->get();
+ continue;
+ }
+ }
if($arr['mid'] != $arr['parent_mid']) {
diff --git a/view/css/widgets.css b/view/css/widgets.css
index e330c38e1..995647d1c 100644
--- a/view/css/widgets.css
+++ b/view/css/widgets.css
@@ -142,7 +142,6 @@ li:hover .group-edit-icon {
position: relative;
width: 100%;
height: auto;
- cursor: pointer;
}
#cover-photo-caption {
diff --git a/view/theme/redbasic/css/style.css b/view/theme/redbasic/css/style.css
index 943b27637..0a879cb71 100644
--- a/view/theme/redbasic/css/style.css
+++ b/view/theme/redbasic/css/style.css
@@ -32,13 +32,9 @@ aside #region_1 {
border-right: 1px solid transparent;
}
-aside #left_aside_wrapper {
- /*margin-bottom: 10px;*/
- margin-bottom: $bottom_margin;
-}
+aside #left_aside_wrapper,
aside #right_aside_wrapper {
- /*margin-bottom: 10px;*/
- margin-bottom: $bottom_margin;
+ margin-bottom: 10px;
}
main {
@@ -47,10 +43,6 @@ main {
max-width: $main_widthpx;
}
-main #region_2 {
- margin-bottom: $bottom_margin;
-}
-
#overlay {
position: absolute;
top: 0;
diff --git a/view/theme/redbasic/php/style.php b/view/theme/redbasic/php/style.php
index 0631fa142..91cc0b85b 100644
--- a/view/theme/redbasic/php/style.php
+++ b/view/theme/redbasic/php/style.php
@@ -106,8 +106,6 @@ if(! $top_photo)
$top_photo = '2.3rem';
if(! $reply_photo)
$reply_photo = '2.3rem';
-if(! $bottom_margin)
- $bottom_margin = '200px';
// Apply the settings
if(file_exists('view/theme/redbasic/css/style.css')) {
@@ -152,9 +150,7 @@ if(file_exists('view/theme/redbasic/css/style.css')) {
'$pmenu_top' => $pmenu_top,
'$pmenu_reply' => $pmenu_reply,
'$main_width' => $main_width,
- '$aside_width' => $aside_width,
- '$bottom_margin' => $bottom_margin
-
+ '$aside_width' => $aside_width
);
echo str_replace(array_keys($options), array_values($options), $x);
diff --git a/view/tpl/cover_photo_widget.tpl b/view/tpl/cover_photo_widget.tpl
index 3aaad5ae5..2de3c74be 100755
--- a/view/tpl/cover_photo_widget.tpl
+++ b/view/tpl/cover_photo_widget.tpl
@@ -2,16 +2,28 @@
var aside_padding_top;
var section_padding_top;
var coverSlid = false;
+ var hide_cover = Boolean({{$hide_cover}});
$(document).ready(function() {
+ if(! $('#cover-photo').length)
+ return;
aside_padding_top = parseInt($('aside').css('padding-top'));
section_padding_top = parseInt($('section').css('padding-top'));
$(document).on('click mouseup keyup', slideUpCover);
- if($('#cover-photo').length && $(window).width() > 755) {
+ if($(window).width() > 755) {
+ $('#cover-photo').removeClass('d-none');
+ datasrc2src('#cover-photo > img');
+
+ if(hide_cover) {
+ hideCover();
+ coverSlid = true;
+ }
+
if($(window).scrollTop() < $('#cover-photo').height()) {
+ $('body').css('cursor', 'n-resize');
$('.navbar').removeClass('fixed-top');
$('main').css('margin-top', - $('nav').outerHeight(true) + 'px');
$('main').css('opacity', 0);
@@ -24,32 +36,34 @@
});
$(window).scroll(function () {
- if($('#cover-photo').length && $(window).width() > 755 && $(window).scrollTop() >= $('#cover-photo').height()) {
+ if($(window).width() > 755 && $(window).scrollTop() >= $('#cover-photo').height()) {
+ $('body').css('cursor', '');
$('.navbar').addClass('fixed-top');
$('main').css('margin-top', '');
$('main').css('opacity', 1);
coverSlid = true;
}
- else if ($('#cover-photo').length && $(window).width() > 755 && $(window).scrollTop() < $('#cover-photo').height()){
+ else if ($(window).width() > 755 && $(window).scrollTop() < $('#cover-photo').height()){
if(coverSlid) {
$(window).scrollTop(Math.ceil($('#cover-photo').height()));
setTimeout(function(){ coverSlid = false; }, 1000);
}
else {
if($(window).scrollTop() < $('#cover-photo').height()) {
+ $('body').css('cursor', 'n-resize');
$('.navbar').removeClass('fixed-top');
$('main').css('margin-top', - $('nav').outerHeight(true) + 'px');
$('main').css('opacity', 0);
}
}
}
- if($('#cover-photo').length && $('main').css('opacity') < 1) {
+ if($('main').css('opacity') < 1) {
$('main').css('opacity', ($(window).scrollTop()/$('#cover-photo').height()).toFixed(1));
}
});
$(window).resize(function () {
- if($('#cover-photo').length && $(window).width() < 755) {
+ if($(window).width() < 755) {
$('#cover-photo').remove();
$('.navbar').addClass('fixed-top');
$('main').css('opacity', 1);
@@ -65,9 +79,16 @@
$('html, body').animate({scrollTop: Math.ceil($('#cover-photo').height()) + 'px' }, 'fast');
return;
}
+
+ function hideCover() {
+ if(coverSlid) {
+ return;
+ }
+ window.scrollTo(0, Math.ceil($('#cover-photo').height()));
+ }
</script>
-<div id="cover-photo" title="{{$hovertitle}}">
+<div class="d-none" id="cover-photo" title="{{$hovertitle}}">
{{$photo_html}}
<div id="cover-photo-caption">
<h1>{{$title}}</h1>