X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=mod%2Fpoke.php;h=db1c94963618f8acbe5f84e64d8b4a2acc8d4872;hb=16da708e071bb2a41024c4268d963938f850dfb9;hp=29b732f425ed35a48b1f9ed8e550627afd8018de;hpb=d442bbc482201af7a8a1a4fe889ecae2b3157985;p=friendica.git diff --git a/mod/poke.php b/mod/poke.php index 29b732f425..db1c949636 100644 --- a/mod/poke.php +++ b/mod/poke.php @@ -12,8 +12,8 @@ function poke_init(&$a) { $uid = local_user(); $verb = notags(trim($_GET['verb'])); - - if(! $verb) + + if(! $verb) return; $verbs = get_poke_verbs(); @@ -27,6 +27,8 @@ function poke_init(&$a) { if(! $contact_id) return; + $parent = ((x($_GET,'parent')) ? intval($_GET['parent']) : 0); + logger('poke: verb ' . $verb . ' contact ' . $contact_id, LOGGER_DEBUG); @@ -43,18 +45,44 @@ function poke_init(&$a) { $target = $r[0]; + if($parent) { + $r = q("select uri, private, allow_cid, allow_gid, deny_cid, deny_gid + from item where id = %d and parent = %d and uid = %d limit 1", + intval($parent), + intval($parent), + intval($uid) + ); + if(count($r)) { + $parent_uri = $r[0]['uri']; + $private = $r[0]['private']; + $allow_cid = $r[0]['allow_cid']; + $allow_gid = $r[0]['allow_gid']; + $deny_cid = $r[0]['deny_cid']; + $deny_gid = $r[0]['deny_gid']; + } + } + else { + + $private = ((x($_GET,'private')) ? intval($_GET['private']) : 0); + + $allow_cid = (($private) ? '<' . $target['id']. '>' : $a->user['allow_cid']); + $allow_gid = (($private) ? '' : $a->user['allow_gid']); + $deny_cid = (($private) ? '' : $a->user['deny_cid']); + $deny_gid = (($private) ? '' : $a->user['deny_gid']); + } + $poster = $a->contact; - $uri = item_new_uri($a->get_hostname(),$owner_uid); + $uri = item_new_uri($a->get_hostname(),$uid); $arr = array(); $arr['uid'] = $uid; $arr['uri'] = $uri; - $arr['parent-uri'] = $uri; + $arr['parent-uri'] = (($parent_uri) ? $parent_uri : $uri); $arr['type'] = 'activity'; $arr['wall'] = 1; - $arr['contact-id'] = $target['id']; + $arr['contact-id'] = $poster['id']; $arr['owner-name'] = $poster['name']; $arr['owner-link'] = $poster['url']; $arr['owner-avatar'] = $poster['thumb']; @@ -62,13 +90,14 @@ function poke_init(&$a) { $arr['author-link'] = $poster['url']; $arr['author-avatar'] = $poster['thumb']; $arr['title'] = ''; - $arr['allow_cid'] = $a->user['allow_cid']; - $arr['allow_gid'] = $a->user['allow_gid']; - $arr['deny_cid'] = $a->user['deny_cid']; - $arr['deny_gid'] = $a->user['deny_gid']; + $arr['allow_cid'] = $allow_cid; + $arr['allow_gid'] = $allow_gid; + $arr['deny_cid'] = $deny_cid; + $arr['deny_gid'] = $deny_gid; $arr['last-child'] = 1; $arr['visible'] = 1; $arr['verb'] = $activity; + $arr['private'] = $private; $arr['object-type'] = ACTIVITY_OBJ_PERSON; $arr['origin'] = 1; @@ -82,11 +111,11 @@ function poke_init(&$a) { $item_id = item_store($arr); if($item_id) { - q("UPDATE `item` SET `plink` = '%s' WHERE `uid` = %d AND `id` = %d LIMIT 1", - dbesc($a->get_baseurl() . '/display/' . $poster['nickname'] . '/' . $item_id), - intval($uid), - intval($item_id) - ); + //q("UPDATE `item` SET `plink` = '%s' WHERE `uid` = %d AND `id` = %d", + // dbesc($a->get_baseurl() . '/display/' . $poster['nickname'] . '/' . $item_id), + // intval($uid), + // intval($item_id) + //); proc_run('php',"include/notifier.php","tag","$item_id"); } @@ -102,35 +131,59 @@ function poke_init(&$a) { function poke_content(&$a) { + if(! local_user()) { + notice( t('Permission denied.') . EOL); + return; + } + + $name = ''; + $id = ''; + + if(intval($_GET['c'])) { + $r = q("select id,name from contact where id = %d and uid = %d limit 1", + intval($_GET['c']), + intval(local_user()) + ); + if(count($r)) { + $name = $r[0]['name']; + $id = $r[0]['id']; + } + } + + $base = $a->get_baseurl(); $a->page['htmlhead'] .= ''; $a->page['htmlhead'] .= <<< EOT - EOT; + $parent = ((x($_GET,'parent')) ? intval($_GET['parent']) : '0'); + + $verbs = get_poke_verbs(); $shortlist = array(); foreach($verbs as $k => $v) - $shortlist[] = array($k,$v[1]); + if($v[1] !== 'NOTRANSLATION') + $shortlist[] = array($k,$v[1]); $tpl = get_markup_template('poke_content.tpl'); @@ -141,9 +194,13 @@ EOT; '$clabel' => t('Recipient'), '$choice' => t('Choose what you wish to do to recipient'), '$verbs' => $shortlist, - '$submit' => t('Submit') + '$parent' => $parent, + '$prv_desc' => t('Make this post private'), + '$submit' => t('Submit'), + '$name' => $name, + '$id' => $id )); return $o; -} \ No newline at end of file +}