X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=mod%2Fdisplay.php;h=57a329f305da6c8fd50aa0af358fc79572057294;hb=c273adf0fe21f9e675ba0598ba6b748ad0b41517;hp=81ed174acc46daac65f51a62327382fce2763800;hpb=cb05801a9031254f5882038de07a3ee4d5f89dd0;p=friendica.git
diff --git a/mod/display.php b/mod/display.php
index 81ed174acc..57a329f305 100644
--- a/mod/display.php
+++ b/mod/display.php
@@ -1,7 +1,19 @@
argc > 1) ? $a->argv[1] : '');
+ profile_load($a,$nick);
+
+}
+
+
+function display_content(&$a, $update = 0) {
if((get_config('system','block_public')) && (! local_user()) && (! remote_user())) {
notice( t('Public access denied.') . EOL);
@@ -14,23 +26,25 @@ function display_content(&$a) {
require_once('include/acl_selectors.php');
- $o = '
' . "\r\n";
+ $o = '';
- $a->page['htmlhead'] .= <<
-$(document).ready(function() {
- $(".comment-edit-wrapper textarea").contact_autocomplete(baseurl+"/acl");
- // make auto-complete work in more places
- $(".wall-item-comment-wrapper textarea").contact_autocomplete(baseurl+"/acl");
-});
-
-EOT;
+ $a->page['htmlhead'] .= replace_macros(get_markup_template('display-head.tpl'), array());
- $nick = (($a->argc > 1) ? $a->argv[1] : '');
- profile_load($a,$nick);
+ if($update) {
+ $nick = $_REQUEST['nick'];
+ }
+ else {
+ $nick = (($a->argc > 1) ? $a->argv[1] : '');
+ }
- $item_id = (($a->argc > 2) ? intval($a->argv[2]) : 0);
+ if($update) {
+ $item_id = $_REQUEST['item_id'];
+ $a->profile = array('uid' => intval($update), 'profile_uid' => intval($update));
+ }
+ else {
+ $item_id = (($a->argc > 2) ? intval($a->argv[2]) : 0);
+ }
if(! $item_id) {
$a->error = 404;
@@ -43,8 +57,18 @@ EOT;
$contact = null;
$remote_contact = false;
- if(remote_user()) {
- $contact_id = $_SESSION['visitor_id'];
+ $contact_id = 0;
+
+ if(is_array($_SESSION['remote'])) {
+ foreach($_SESSION['remote'] as $v) {
+ if($v['uid'] == $a->profile['uid']) {
+ $contact_id = $v['cid'];
+ break;
+ }
+ }
+ }
+
+ if($contact_id) {
$groups = init_groups_visitor($contact_id);
$r = q("SELECT * FROM `contact` WHERE `id` = %d AND `uid` = %d LIMIT 1",
intval($contact_id),
@@ -76,7 +100,7 @@ EOT;
return;
}
- if ($is_owner)
+ if ($is_owner) {
$celeb = ((($a->user['page-flags'] == PAGE_SOAPBOX) || ($a->user['page-flags'] == PAGE_COMMUNITY)) ? true : false);
$x = array(
@@ -88,13 +112,28 @@ EOT;
'acl' => populate_acl($a->user, $celeb),
'bang' => '',
'visitor' => 'block',
- 'profile_uid' => local_user()
- );
+ 'profile_uid' => local_user(),
+ 'acl_data' => construct_acl_data($a, $a->user), // For non-Javascript ACL selector
+ );
$o .= status_editor($a,$x,0,true);
-
+ }
$sql_extra = item_permissions_sql($a->profile['uid'],$remote_contact,$groups);
+ if($update) {
+
+ $r = q("SELECT id FROM item WHERE item.uid = %d
+ AND `item`.`parent` = ( SELECT `parent` FROM `item` WHERE ( `id` = '%s' OR `uri` = '%s' ))
+ $sql_extra AND unseen = 1",
+ intval($a->profile['uid']),
+ dbesc($item_id),
+ dbesc($item_id)
+ );
+
+ if(!$r)
+ return '';
+ }
+
$r = q("SELECT `item`.*, `item`.`id` AS `item_id`,
`contact`.`name`, `contact`.`photo`, `contact`.`url`, `contact`.`rel`,
`contact`.`network`, `contact`.`thumb`, `contact`.`self`, `contact`.`writable`,
@@ -121,12 +160,15 @@ EOT;
);
}
+ $items = conv_sort($r,"`commented`");
- $o .= conversation($a,$r,'display', false);
+ if(!$update)
+ $o .= "";
+ $o .= conversation($a,$items,'display', $update);
}
else {
- $r = q("SELECT `id` FROM `item` WHERE `id` = '%s' OR `uri` = '%s' LIMIT 1",
+ $r = q("SELECT `id`,`deleted` FROM `item` WHERE `id` = '%s' OR `uri` = '%s' LIMIT 1",
dbesc($item_id),
dbesc($item_id)
);