make discover items interactive

This commit is contained in:
friendica 2014-09-22 21:37:19 -07:00
parent b735961560
commit fb05919d90
5 changed files with 30 additions and 11 deletions

View File

@ -52,14 +52,14 @@ class Conversation extends BaseObject {
switch($mode) { switch($mode) {
case 'network': case 'network':
if(array_key_exists('firehose',$a->data) && intval($a->data['firehose'])) { // if(array_key_exists('firehose',$a->data) && intval($a->data['firehose'])) {
$this->profile_owner = intval($a->data['firehose']); // $this->profile_owner = intval($a->data['firehose']);
$this->writable = false; // $this->writable = false;
} // }
else { // else {
$this->profile_owner = local_user(); $this->profile_owner = local_user();
$this->writable = true; $this->writable = true;
} // }
break; break;
case 'channel': case 'channel':
$this->profile_owner = $a->profile['profile_uid']; $this->profile_owner = $a->profile['profile_uid'];

View File

@ -101,11 +101,19 @@ class Item extends BaseObject {
else else
$edpost = false; $edpost = false;
if($observer['xchan_hash'] == $this->get_data_value('author_xchan') if($observer['xchan_hash'] == $this->get_data_value('author_xchan')
|| $observer['xchan_hash'] == $this->get_data_value('owner_xchan') || $observer['xchan_hash'] == $this->get_data_value('owner_xchan')
|| $this->get_data_value('uid') == local_user()) || $this->get_data_value('uid') == local_user())
$dropping = true; $dropping = true;
if(array_key_exists('real_uid',$item)) {
$edpost = false;
$dropping = false;
}
if($dropping) { if($dropping) {
$drop = array( $drop = array(
'dropping' => $dropping, 'dropping' => $dropping,
@ -119,7 +127,7 @@ class Item extends BaseObject {
); );
} }
$filer = (($conv->get_profile_owner() == local_user()) ? t("Save to Folder") : false); $filer = ((($conv->get_profile_owner() == local_user()) && (! array_key_exists('real_uid',$item))) ? t("Save to Folder") : false);
$profile_avatar = $item['author']['xchan_photo_m']; $profile_avatar = $item['author']['xchan_photo_m'];
$profile_link = chanlink_url($item['author']['xchan_url']); $profile_link = chanlink_url($item['author']['xchan_url']);
@ -163,7 +171,7 @@ class Item extends BaseObject {
if($this->is_toplevel()) { if($this->is_toplevel()) {
// FIXME check this permission // FIXME check this permission
if($conv->get_profile_owner() == local_user()) { if(($conv->get_profile_owner() == local_user()) && (! array_key_exists('real_uid',$item))) {
// FIXME we don't need all this stuff, some can be done in the template // FIXME we don't need all this stuff, some can be done in the template

View File

@ -1230,11 +1230,19 @@ function add_children_to_list($children, &$arr) {
} }
} }
function conv_sort($arr,$order) { function conv_sort($arr,$order,$uid = 0) {
if((!(is_array($arr) && count($arr)))) if((!(is_array($arr) && count($arr))))
return array(); return array();
if($uid) {
for($x = 0; $x < count($arr); $x ++) {
$arr[$x]['real_uid'] = $arr[$x]['uid'];
$arr[$x]['uid'] = $uid;
}
}
$parents = array(); $parents = array();
$children = array(); $children = array();

View File

@ -405,7 +405,7 @@ function network_content(&$a, $update = 0, $load = false) {
xchan_query($items); xchan_query($items);
$items = fetch_post_tags($items,true); $items = fetch_post_tags($items,true);
$items = conv_sort($items,$ordering); $items = conv_sort($items,$ordering,(($firehose) ? local_user() : 0));
} }
else { else {
$items = array(); $items = array();

View File

@ -5,6 +5,8 @@ function viewsrc_content(&$a) {
$o = ''; $o = '';
$sys = get_sys_channel();
$item_id = ((argc() > 1) ? intval(argv(1)) : 0); $item_id = ((argc() > 1) ? intval(argv(1)) : 0);
$json = ((argc() > 2 && argv(2) === 'json') ? true : false); $json = ((argc() > 2 && argv(2) === 'json') ? true : false);
@ -19,8 +21,9 @@ function viewsrc_content(&$a) {
} }
if(local_user() && $item_id) { if(local_user() && $item_id) {
$r = q("select item_flags, body from item where item_restrict = 0 and uid = %d and id = %d limit 1", $r = q("select item_flags, body from item where item_restrict = 0 and uid in (%d , %d) and id = %d limit 1",
intval(local_user()), intval(local_user()),
intval($sys['channel_id']),
intval($item_id) intval($item_id)
); );