diff options
author | friendica <info@friendica.com> | 2014-12-16 14:12:40 -0800 |
---|---|---|
committer | friendica <info@friendica.com> | 2014-12-16 14:12:40 -0800 |
commit | 7bee4e5997804658f508a32d07ca4143d8afe629 (patch) | |
tree | 24e813f2897dd9d262c9db873a96f8b706378ee6 | |
parent | 17e27d0d87d1197bd2928030ad98cd19869f78d4 (diff) | |
download | volse-hubzilla-7bee4e5997804658f508a32d07ca4143d8afe629.tar.gz volse-hubzilla-7bee4e5997804658f508a32d07ca4143d8afe629.tar.bz2 volse-hubzilla-7bee4e5997804658f508a32d07ca4143d8afe629.zip |
build a channel based thread viewing link when in list_mode and when using the channel module, which will disable list_mode (this was checked in yesterday) for the benefit of viewing threads with the correct identities and comment permissions instead of relying on the semi-random uid chosen by mod/display when viewed by an authenticated remote_user().
-rw-r--r-- | include/ItemObject.php | 10 | ||||
-rwxr-xr-x | view/tpl/conv_list.tpl | 2 |
2 files changed, 10 insertions, 2 deletions
diff --git a/include/ItemObject.php b/include/ItemObject.php index 6037daa7a..6f177b606 100644 --- a/include/ItemObject.php +++ b/include/ItemObject.php @@ -231,7 +231,14 @@ class Item extends BaseObject { localize_item($item); $body = prepare_body($item,true); - + + // $viewthread (below) is only valid in list mode. If this is a channel page, build the thread viewing link + // since we can't depend on llink or plink pointing to the right local location. + + $owner_address = substr($item['owner']['xchan_addr'],0,strpos($item['owner']['xchan_addr'],'@')); + $viewthread = $item['llink']; + if($conv->get_mode() === 'channel') + $viewthread = z_root() . '/channel/' . $owner_address . '?f=&mid=' . $item['mid']; $comment_count_txt = sprintf( tt('%d comment','%d comments',$total_children),$total_children ); $list_unseen_txt = (($unseen_comments) ? sprintf('%d unseen',$unseen_comments) : ''); @@ -249,6 +256,7 @@ class Item extends BaseObject { 'linktitle' => sprintf( t('View %s\'s profile - %s'), $profile_name, $item['author']['xchan_addr']), 'olinktitle' => sprintf( t('View %s\'s profile - %s'), $this->get_owner_name(), $item['owner']['xchan_addr']), 'llink' => $item['llink'], + 'viewthread' => $viewthread, 'to' => t('to'), 'via' => t('via'), 'wall' => t('Wall-to-Wall'), diff --git a/view/tpl/conv_list.tpl b/view/tpl/conv_list.tpl index 42ecc82b5..121a58514 100755 --- a/view/tpl/conv_list.tpl +++ b/view/tpl/conv_list.tpl @@ -107,7 +107,7 @@ <div class="wall-item-tools-left{{if $item.unseen_comments || $item.like_count || $item.dislike_count}} btn-group{{/if}}"> - <div class="wall-item-list-comments btn-group"><button class="btn btn-default btn-sm" onclick="window.location.href='{{$item.llink}}'; return false;">{{$item.comment_count_txt}}{{if $item.unseen_comments}} + <div class="wall-item-list-comments btn-group"><button class="btn btn-default btn-sm" onclick="window.location.href='{{$item.viewthread}}'; return false;">{{$item.comment_count_txt}}{{if $item.unseen_comments}} <span class="unseen-wall-indicator-{{$item.id}}">, {{$item.list_unseen_txt}}{{/if}}</span></button></div>{{if $item.unseen_comments}}<div class="unseen-wall-indicator-{{$item.id}} btn-group"><button class="btn btn-default btn-sm" title="{{$item.markseen}}" onclick="markItemRead({{$item.id}}); return false;"><i class="icon-check"></i></div>{{/if}} {{if $item.like_count}} |