From 3a2bf8ab7ced5f7cc88f8f48b372a0ad08735ed9 Mon Sep 17 00:00:00 2001 From: Friendika Date: Fri, 23 Sep 2011 03:12:31 -0700 Subject: w3c compliance fixes, owner attribution on likes defaulting to local owner, not item creator --- mod/editpost.php | 2 +- mod/like.php | 27 ++++++++++++++++++++++++--- mod/network.php | 2 ++ 3 files changed, 27 insertions(+), 4 deletions(-) (limited to 'mod') diff --git a/mod/editpost.php b/mod/editpost.php index c396ee44b..bceb9250a 100644 --- a/mod/editpost.php +++ b/mod/editpost.php @@ -71,7 +71,7 @@ function editpost_content(&$a) { if($mail_enabled) { $selected = (($pubmail_enabled) ? ' checked="checked" ' : ''); - $jotnets .= '
' + $jotnets .= '
' . t("Post to Email") . '
'; } diff --git a/mod/like.php b/mod/like.php index 287630212..95bedcc20 100644 --- a/mod/like.php +++ b/mod/like.php @@ -55,6 +55,22 @@ function like_content(&$a) { return; } + $remote_owner = null; + + if(! $item['wall']) { + // The top level post may have been written by somebody on another system + $r = q("SELECT * FROM `contact` WHERE `id` = %d AND `uid` = %d LIMIT 1", + intval($item['contact-id']), + intval($item['uid']) + ); + if(! count($r)) + return; + if(! $r[0]['self']) + $remote_owner = $r[0]; + } + + // this represents the post owner on this system. + $r = q("SELECT `contact`.*, `user`.`nickname` FROM `contact` LEFT JOIN `user` ON `contact`.`uid` = `user`.`uid` WHERE `contact`.`self` = 1 AND `contact`.`uid` = %d LIMIT 1", intval($owner_uid) @@ -67,6 +83,11 @@ function like_content(&$a) { return; } + if(! $remote_owner) + $remote_owner = $owner; + + + // This represents the person posting if((local_user()) && (local_user() == $owner_uid)) { $contact = $owner; @@ -137,9 +158,9 @@ EOT; $arr['gravity'] = GRAVITY_LIKE; $arr['parent'] = $item['id']; $arr['parent-uri'] = $item['uri']; - $arr['owner-name'] = $owner['name']; - $arr['owner-link'] = $owner['url']; - $arr['owner-avatar'] = $owner['thumb']; + $arr['owner-name'] = $remote_owner['name']; + $arr['owner-link'] = $remote_owner['url']; + $arr['owner-avatar'] = $remote_owner['thumb']; $arr['author-name'] = $contact['name']; $arr['author-link'] = $contact['url']; $arr['author-avatar'] = $contact['thumb']; diff --git a/mod/network.php b/mod/network.php index 5faeee453..c168f96eb 100644 --- a/mod/network.php +++ b/mod/network.php @@ -132,6 +132,7 @@ function network_content(&$a, $update = 0) { $star = ((x($_GET,'star')) ? intval($_GET['star']) : 0); $bmark = ((x($_GET,'bmark')) ? intval($_GET['bmark']) : 0); $order = ((x($_GET,'order')) ? notags($_GET['order']) : 'comment'); + $liked = ((x($_GET,'liked')) ? intval($_GET['liked']) : 0); if(($a->argc > 2) && $a->argv[2] === 'new') @@ -195,6 +196,7 @@ function network_content(&$a, $update = 0) { . ((x($_GET,'star')) ? '&star=' . $_GET['star'] : '') . ((x($_GET,'order')) ? '&order=' . $_GET['order'] : '') . ((x($_GET,'bmark')) ? '&bmark=' . $_GET['bmark'] : '') + . ((x($_GET,'liked')) ? '&liked=' . $_GET['liked'] : '') . "'; var profile_page = " . $a->pager['page'] . "; \r\n"; } -- cgit v1.2.3