aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorredmatrix <git@macgirvin.com>2016-03-09 14:18:11 -0800
committerredmatrix <git@macgirvin.com>2016-03-09 14:18:11 -0800
commitb9b46a3f88d56f9ed6a89b34557abc27a7461449 (patch)
tree30fb1d5f165bc8485184178ecb9e23c20158032d
parent7bb461380e6198987da8827210297c29d301d022 (diff)
parentf5f79b39b80197fb46dc4e66ac4f4b1390d40b62 (diff)
downloadvolse-hubzilla-b9b46a3f88d56f9ed6a89b34557abc27a7461449.tar.gz
volse-hubzilla-b9b46a3f88d56f9ed6a89b34557abc27a7461449.tar.bz2
volse-hubzilla-b9b46a3f88d56f9ed6a89b34557abc27a7461449.zip
Merge https://github.com/redmatrix/hubzilla into pending_merge
-rwxr-xr-xboot.php2
-rw-r--r--include/ItemObject.php2
-rw-r--r--mod/display.php51
3 files changed, 50 insertions, 5 deletions
diff --git a/boot.php b/boot.php
index 37374ef4c..1b593402b 100755
--- a/boot.php
+++ b/boot.php
@@ -47,7 +47,7 @@ require_once('include/account.php');
define ( 'PLATFORM_NAME', 'hubzilla' );
define ( 'RED_VERSION', trim(file_get_contents('version.inc')));
-define ( 'STD_VERSION', '1.2.5' );
+define ( 'STD_VERSION', '1.3.0' );
define ( 'ZOT_REVISION', 1 );
define ( 'DB_UPDATE_VERSION', 1165 );
diff --git a/include/ItemObject.php b/include/ItemObject.php
index 2be7e3ac9..da019a30a 100644
--- a/include/ItemObject.php
+++ b/include/ItemObject.php
@@ -689,7 +689,7 @@ class Item extends BaseObject {
$comment_box = replace_macros($template,array(
'$return_path' => '',
'$threaded' => $this->is_threaded(),
- '$jsreload' => (($conv->get_mode() === 'display') ? $_SESSION['return_url'] : ''),
+ '$jsreload' => '', //(($conv->get_mode() === 'display') ? $_SESSION['return_url'] : ''),
'$type' => (($conv->get_mode() === 'channel') ? 'wall-comment' : 'net-comment'),
'$id' => $this->get_id(),
'$parent' => $this->get_id(),
diff --git a/mod/display.php b/mod/display.php
index b2d9ba34b..ac1de17ca 100644
--- a/mod/display.php
+++ b/mod/display.php
@@ -116,7 +116,7 @@ function display_content(&$a, $update = 0, $load = false) {
$simple_update = (($update) ? " AND item_unseen = 1 " : '');
if($update && $_SESSION['loadtime'])
- $simple_update .= " and item.changed > '" . datetime_convert('UTC','UTC',$_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)
$simple_update = '';
@@ -217,9 +217,54 @@ function display_content(&$a, $update = 0, $load = false) {
}
}
- else {
- $r = array();
+ }
+
+ elseif($update && !$load) {
+ $r = null;
+
+ require_once('include/identity.php');
+ $sys = get_sys_channel();
+ $sysid = $sys['channel_id'];
+
+ if(local_channel()) {
+ $r = q("SELECT * from item
+ WHERE uid = %d
+ and mid = '%s'
+ $item_normal
+ $simple_update
+ limit 1",
+ intval(local_channel()),
+ dbesc($target_item['parent_mid'])
+ );
+ if($r) {
+ $updateable = true;
+ }
}
+ if($r === null) {
+ // in case somebody turned off public access to sys channel content using permissions
+ // make that content unsearchable by ensuring the owner_xchan can't match
+ if(! perm_is_allowed($sysid,$observer_hash,'view_stream'))
+ $sysid = 0;
+
+ $r = q("SELECT * from item
+ WHERE mid = '%s'
+ AND (((( `item`.`allow_cid` = '' AND `item`.`allow_gid` = '' AND `item`.`deny_cid` = ''
+ AND `item`.`deny_gid` = '' AND item_private = 0 )
+ and owner_xchan in ( " . stream_perms_xchans(($observer_hash) ? (PERMS_NETWORK|PERMS_PUBLIC) : PERMS_PUBLIC) . " ))
+ OR uid = %d )
+ $sql_extra )
+ $item_normal
+ $simple_update
+ limit 1",
+ dbesc($target_item['parent_mid']),
+ intval($sysid)
+ );
+ }
+ $_SESSION['loadtime'] = datetime_convert();
+ }
+
+ else {
+ $r = array();
}
if($r) {