From 90e70d96740179594e0ef8ae133934a0bb469319 Mon Sep 17 00:00:00 2001 From: friendica Date: Mon, 5 Nov 2012 20:42:12 -0800 Subject: start on the like/dislike activities --- include/activities.php | 12 +-- include/items.php | 4 +- mod/like.php | 144 ++++++++++++++++++---------------- view/theme/duepuntozero/css/style.css | 66 ++++++++-------- 4 files changed, 115 insertions(+), 111 deletions(-) diff --git a/include/activities.php b/include/activities.php index e0717788a..1f595e57d 100644 --- a/include/activities.php +++ b/include/activities.php @@ -25,7 +25,7 @@ function profile_activity($changed, $value) { $arr['verb'] = ACTIVITY_UPDATE; $arr['obj_type'] = ACTIVITY_OBJ_PROFILE; - $A = '[url=' . $self[0]['xchan_url'] . ']' . $self[0]['xchan_name'] . '[/url]'; + $A = '[url=' . z_root() . '/profile/' . $self[0]['xchan_addr'] . ']' . $self[0]['xchan_name'] . '[/url]'; $changes = ''; @@ -42,7 +42,7 @@ function profile_activity($changed, $value) { $changes .= $ch; } - $prof = '[url=' . $self[0]['xchan_url'] . '?tab=profile' . ']' . t('public profile') . '[/url]'; + $prof = '[url=' . z_root() . '/profile/' . $self[0]['xchan_addr'] . ']' . t('public profile') . '[/url]'; if($t == 1 && strlen($value)) { $message = sprintf( t('%1$s changed %2$s to “%3$s”'), $A, $changes, $value); @@ -55,14 +55,14 @@ function profile_activity($changed, $value) { $arr['body'] = $message; $links = array(); - $links[] = array('rel' => 'alternate', 'type' => 'text/html', 'href' => $self[0]['profile'] . '?tab=profile'); + $links[] = array('rel' => 'alternate', 'type' => 'text/html', 'href' => z_root() . '/profile/' . $self[0]['xchan_addr']); $links[] = array('rel' => 'photo', 'type' => $self[0]['xchan_photo_mimetype'], 'href' => $self[0]['xchan_photo_l']); $arr['object'] = json_encode(array( - 'type' => ACTIVITY_OBJ_PROFILE, + 'type' => ACTIVITY_OBJ_PROFILE, 'title' => $self[0]['channel_name'], - 'id' => $self[0]['xchan_url'] . '/' . $self[0]['xchan_hash'], - 'link' => $links + 'id' => $self[0]['xchan_url'] . '/' . $self[0]['xchan_hash'], + 'link' => $links )); diff --git a/include/items.php b/include/items.php index f640f1d2b..77c2c2aa2 100755 --- a/include/items.php +++ b/include/items.php @@ -447,8 +447,8 @@ function get_item_elements($j) { $arr['location'] = (($j->location) ? htmlentities($j->location, ENT_COMPAT,'UTF-8') : ''); $arr['coord'] = (($j->coord) ? htmlentities($j->coord, ENT_COMPAT,'UTF-8') : ''); $arr['verb'] = (($j->verb) ? htmlentities($j->verb, ENT_COMPAT,'UTF-8') : ''); - $arr['obj_type'] = (($j->objtype) ? htmlentities($j->objtype, ENT_COMPAT,'UTF-8') : ''); - $arr['tgt_type'] = (($j->tgttype) ? htmlentities($j->tgttype, ENT_COMPAT,'UTF-8') : ''); + $arr['obj_type'] = (($j->objtype) ? htmlentities($j->objtype, ENT_COMPAT,'UTF-8') : ''); + $arr['tgt_type'] = (($j->tgttype) ? htmlentities($j->tgttype, ENT_COMPAT,'UTF-8') : ''); $arr['object'] = $j->object; $arr['target'] = $j->target; diff --git a/mod/like.php b/mod/like.php index a54493bb4..da9d7652e 100755 --- a/mod/like.php +++ b/mod/like.php @@ -11,6 +11,9 @@ function like_content(&$a) { return; } + $observer = $a->get_observer(); + + $verb = notags(trim($_GET['verb'])); if(! $verb) @@ -57,52 +60,54 @@ function like_content(&$a) { $remote_owner = null; - if(! $item['wall']) { +// fixme +// 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]; - } + +// $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) - ); - if(count($r)) - $owner = $r[0]; +// $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) +// ); +// if(count($r)) +// $owner = $r[0]; - if(! $owner) { - logger('like: no owner'); - return; - } +// if(! $owner) { +// logger('like: no owner'); +// return; +// } - if(! $remote_owner) - $remote_owner = $owner; +// if(! $remote_owner) +// $remote_owner = $owner; // This represents the person posting - if((local_user()) && (local_user() == $owner_uid)) { - $contact = $owner; - } - else { - $r = q("SELECT * FROM `contact` WHERE `id` = %d AND `uid` = %d LIMIT 1", - intval($_SESSION['visitor_id']), - intval($owner_uid) - ); - if(count($r)) - $contact = $r[0]; - } - if(! $contact) { - return; - } +// if((local_user()) && (local_user() == $owner_uid)) { +// $contact = $owner; +// } +// else { +// $r = q("SELECT * FROM `contact` WHERE `id` = %d AND `uid` = %d LIMIT 1", +// intval($_SESSION['visitor_id']), +// intval($owner_uid) +// ); +// if(count($r)) +// $contact = $r[0]; +// } +// if(! $contact) { +// return; +// } $r = q("SELECT * FROM `item` WHERE `verb` = '%s' AND `deleted` = 0 @@ -127,24 +132,26 @@ function like_content(&$a) { return; } + + $uri = item_message_id(); - $post_type = (($item['resource_id']) ? t('photo') : t('status')); - $objtype = (($item['resource_id']) ? ACTIVITY_OBJ_PHOTO : ACTIVITY_OBJ_NOTE ); - $link = xmlify('' . "\n") ; + $post_type = (($item['resource_id'] === 'photo') ? $t('photo') : t('status')); + + $links = array(array('rel' => 'alternate','type' => 'text/html', + 'href' => z_root() . '/display/' . $item['uri'])); + $objtype = (($item['resource_id'] === 'photo') ? ACTIVITY_OBJ_PHOTO : ACTIVITY_OBJ_NOTE ); + $body = $item['body']; - $obj = <<< EOT - - - $objtype - 1 - {$item['uri']} - $link - - $body - -EOT; + $obj = json_encode(array( + 'type' => $objtype, + 'id' => $item['uri'], + 'link' => $links, + 'title' => $item['title'], + 'content' => $item['body'] + )); + if($verb === 'like') $bodyverb = t('%1$s likes %2$s\'s %3$s'); if($verb === 'dislike') @@ -157,20 +164,17 @@ EOT; $arr['uri'] = $uri; $arr['uid'] = $owner_uid; - $arr['contact-id'] = $contact['id']; +// $arr['contact-id'] = $contact['id']; $arr['type'] = 'activity'; - $arr['wall'] = $item['wall']; - $arr['origin'] = 1; - $arr['gravity'] = GRAVITY_LIKE; +// $arr['wall'] = $item['wall']; +// $arr['origin'] = 1; +// $arr['gravity'] = GRAVITY_LIKE; $arr['parent'] = $item['id']; $arr['parent_uri'] = $item['uri']; $arr['thr_parent'] = $item['uri']; - $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']; + $arr['owner_xchan'] = $remote_owner['xchan_hash']; + $arr['author_xchan'] = $observer['xchan_hash']; + $ulink = '[url=' . $contact['url'] . ']' . $contact['name'] . '[/url]'; $alink = '[url=' . $item['author-link'] . ']' . $item['author-name'] . '[/url]'; @@ -180,21 +184,24 @@ EOT; $arr['verb'] = $activity; $arr['obj_type'] = $objtype; $arr['object'] = $obj; + $arr['allow_cid'] = $item['allow_cid']; $arr['allow_gid'] = $item['allow_gid']; $arr['deny_cid'] = $item['deny_cid']; $arr['deny_gid'] = $item['deny_gid']; - $arr['visible'] = 1; - $arr['unseen'] = 1; + + +// $arr['visible'] = 1; +// $arr['unseen'] = 1; $post_id = item_store($arr); - if(! $item['visible']) { - $r = q("UPDATE `item` SET `visible` = 1 WHERE `id` = %d AND `uid` = %d LIMIT 1", - intval($item['id']), - intval($owner_uid) - ); - } +// if(! $item['visible']) { +// $r = q("UPDATE `item` SET `visible` = 1 WHERE `id` = %d AND `uid` = %d LIMIT 1", +// intval($item['id']), +// intval($owner_uid) +// ); +// } $arr['id'] = $post_id; @@ -204,7 +211,6 @@ EOT; proc_run('php',"include/notifier.php","like","$post_id"); killme(); - return; // NOTREACHED } diff --git a/view/theme/duepuntozero/css/style.css b/view/theme/duepuntozero/css/style.css index 4ea58fb4a..a996a2d04 100644 --- a/view/theme/duepuntozero/css/style.css +++ b/view/theme/duepuntozero/css/style.css @@ -137,11 +137,6 @@ nav #site-location { } -nav #banner { - display: block; - margin-top: 14px; - position: absolute; -} nav #banner #logo-text a { font-size: 40px; font-weight: bold; @@ -151,6 +146,38 @@ nav #banner #logo-text a { } nav #banner #logo-text a:hover { text-decoration: none; } +header #site-location { + display: none; +} +header #banner { + overflow: hidden; + text-align: center; + width: 100%; + font-size: 2.2em; + font-family: tahoma, "Lucida Sans", sans; + color: red; + font-weight: bold; + +} +header #banner a, +header #banner a:active, +header #banner a:visited, +header #banner a:link, +header #banner a:hover { + color: #ffffff; + text-decoration: none; + outline: none; + vertical-align: bottom; +} +header #banner #logo-img { + height: 22px; + margin-top: 5px; +} +header #banner #logo-text { + font-size: 22px; +} + + .nav-commlink, .nav-login-link { @@ -3611,35 +3638,6 @@ header { z-index: 110; color: #ffffff; } -header #site-location { - display: none; -} -header #banner { - overflow: hidden; - text-align: center; - width: 100%; - - color: red; - font-weight: bold; - font-size: 2em; -} -header #banner a, -header #banner a:active, -header #banner a:visited, -header #banner a:link, -header #banner a:hover { - color: #ffffff; - text-decoration: none; - outline: none; - vertical-align: bottom; -} -header #banner #logo-img { - height: 22px; - margin-top: 5px; -} -header #banner #logo-text { - font-size: 22px; -} /* notifications popup menu */ -- cgit v1.2.3