From 4901ef8faf743fd7fef97fc75a1c727804bf3df5 Mon Sep 17 00:00:00 2001 From: friendica Date: Sat, 5 Apr 2014 02:32:07 -0700 Subject: provide the ability for rpost to post as another of your channels. This does not yet work, so the functionality has not been enabled. --- mod/item.php | 41 ++++++++++++++++++++++++----------------- 1 file changed, 24 insertions(+), 17 deletions(-) (limited to 'mod/item.php') diff --git a/mod/item.php b/mod/item.php index c1feb5c96..86ed4fda8 100644 --- a/mod/item.php +++ b/mod/item.php @@ -169,6 +169,25 @@ function item_post(&$a) { } $observer = $a->get_observer(); + $channel = null; + + $dest_channel = ((array_key_exists('dest_channel',$_REQUEST) && intval($_REQUEST['dest_channel'])) ? intval($_REQUEST['dest_channel']) : 0); + + if(local_user() && $dest_channel && $dest_channel != local_user()) { + // posting as another channel which you control + $account = $a->get_account(); + $r = q("select * from channel left join account on channel_account_id = account_id where account_id = %d and channel_id = %d limit 1", + intval($account['account_id']), + intval($dest_channel) + ); + if($r) { + $channel = $r[0]; + $profile_uid = $dest_channel; + } + } + + + if($parent) { logger('mod_item: item_post parent=' . $parent); @@ -219,34 +238,22 @@ function item_post(&$a) { $orig_post = $i[0]; } - $channel = null; - if(local_user() && local_user() == $profile_uid) { - $channel = $a->get_channel(); - } - else { - $dest_channel = ((array_key_exists('dest_channel',$_REQUEST) && intval($_REQUEST['dest_channel'])) ? intval($_REQUEST['dest_channel']) : 0); - - if(local_user() && $dest_channel) { - // posting as another channel which you control - $account = $a->get_account(); - $r = q("select * from channel left join account on channel_account_id = account_id where account_d = %d and channel_id = %d limit 1", - intval($account['account_id']), - intval($dest_channel) - ); - if($r) - $channel = $r[0]; + if(! $channel) { + if(local_user() && local_user() == $profile_uid) { + $channel = $a->get_channel(); } else { // posting as yourself but not necessarily to a channel you control $r = q("select * from channel left join account on channel_account_id = account_id where channel_id = %d LIMIT 1", intval($profile_uid) ); - if(count($r)) + if($r) $channel = $r[0]; } } + if(! $channel) { logger("mod_item: no channel."); if(x($_REQUEST,'return')) -- cgit v1.2.3