本文整理汇总了PHP中activity_match函数的典型用法代码示例。如果您正苦于以下问题:PHP activity_match函数的具体用法?PHP activity_match怎么用?PHP activity_match使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了activity_match函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: consume_feed
//.........这里部分代码省略.........
if ((x($ev, 'desc') || x($ev, 'summary')) && x($ev, 'start')) {
$ev['uid'] = $importer['uid'];
$ev['uri'] = $item_id;
$ev['edited'] = $datarray['edited'];
$ev['private'] = $datarray['private'];
$ev['guid'] = $datarray['guid'];
if (is_array($contact)) {
$ev['cid'] = $contact['id'];
}
$r = q("SELECT * FROM `event` WHERE `uri` = '%s' AND `uid` = %d LIMIT 1", dbesc($item_id), intval($importer['uid']));
if (count($r)) {
$ev['id'] = $r[0]['id'];
}
$xyz = event_store($ev);
continue;
}
}
if ($contact['network'] === NETWORK_OSTATUS || stristr($contact['url'], 'twitter.com')) {
if (strlen($datarray['title'])) {
unset($datarray['title']);
}
$datarray['last-child'] = 1;
}
$r = q("SELECT `uid`, `last-child`, `edited`, `body` FROM `item` WHERE `uri` = '%s' AND `uid` = %d LIMIT 1", dbesc($item_id), intval($importer['uid']));
// Update content if 'updated' changes
if (count($r)) {
if (edited_timestamp_is_newer($r[0], $datarray)) {
// do not accept (ignore) an earlier edit than one we currently have.
if (datetime_convert('UTC', 'UTC', $datarray['edited']) < $r[0]['edited']) {
continue;
}
$r = q("UPDATE `item` SET `title` = '%s', `body` = '%s', `tag` = '%s', `edited` = '%s', `changed` = '%s' WHERE `uri` = '%s' AND `uid` = %d", dbesc($datarray['title']), dbesc($datarray['body']), dbesc($datarray['tag']), dbesc(datetime_convert('UTC', 'UTC', $datarray['edited'])), dbesc(datetime_convert()), dbesc($item_id), intval($importer['uid']));
create_tags_from_itemuri($item_id, $importer['uid']);
update_thread_uri($item_id, $importer['uid']);
}
// update last-child if it changes
$allow = $item->get_item_tags(NAMESPACE_DFRN, 'comment-allow');
if ($allow && $allow[0]['data'] != $r[0]['last-child']) {
$r = q("UPDATE `item` SET `last-child` = %d , `changed` = '%s' WHERE `uri` = '%s' AND `uid` = %d", intval($allow[0]['data']), dbesc(datetime_convert()), dbesc($item_id), intval($importer['uid']));
update_thread_uri($item_id, $importer['uid']);
}
continue;
}
if (activity_match($datarray['verb'], ACTIVITY_FOLLOW)) {
logger('consume-feed: New follower');
new_follower($importer, $contact, $datarray, $item);
return;
}
if (activity_match($datarray['verb'], ACTIVITY_UNFOLLOW)) {
lose_follower($importer, $contact, $datarray, $item);
return;
}
if (activity_match($datarray['verb'], ACTIVITY_REQ_FRIEND)) {
logger('consume-feed: New friend request');
new_follower($importer, $contact, $datarray, $item, true);
return;
}
if (activity_match($datarray['verb'], ACTIVITY_UNFRIEND)) {
lose_sharer($importer, $contact, $datarray, $item);
return;
}
if (!is_array($contact)) {
return;
}
if ($contact['network'] === NETWORK_FEED || !strlen($contact['notify'])) {
// one way feed - no remote comment ability
$datarray['last-child'] = 0;
}
if ($contact['network'] === NETWORK_FEED) {
$datarray['private'] = 2;
}
$datarray['parent-uri'] = $item_id;
$datarray['uid'] = $importer['uid'];
$datarray['contact-id'] = $contact['id'];
if (!link_compare($datarray['owner-link'], $contact['url'])) {
// The item owner info is not our contact. It's OK and is to be expected if this is a tgroup delivery,
// but otherwise there's a possible data mixup on the sender's system.
// the tgroup delivery code called from item_store will correct it if it's a forum,
// but we're going to unconditionally correct it here so that the post will always be owned by our contact.
logger('consume_feed: Correcting item owner.', LOGGER_DEBUG);
$datarray['owner-name'] = $contact['name'];
$datarray['owner-link'] = $contact['url'];
$datarray['owner-avatar'] = $contact['thumb'];
}
// We've allowed "followers" to reach this point so we can decide if they are
// posting an @-tag delivery, which followers are allowed to do for certain
// page types. Now that we've parsed the post, let's check if it is legit. Otherwise ignore it.
if ($contact['rel'] == CONTACT_IS_FOLLOWER && !tgroup_check($importer['uid'], $datarray)) {
continue;
}
// This is my contact on another system, but it's really me.
// Turn this into a wall post.
$notify = item_is_remote_self($contact, $datarray);
$r = item_store($datarray, false, $notify);
logger('Stored - Contact ' . $contact['url'] . ' Notify ' . $notify . ' return ' . $r . ' Item ' . print_r($datarray, true), LOGGER_DEBUG);
continue;
}
}
}
}
示例2: photos_content
//.........这里部分代码省略.........
if ($cmd === 'edit' && $can_post) {
$edit_tpl = get_markup_template('photo_edit.tpl');
$edit = replace_macros($edit_tpl, array('$id' => $ph[0]['id'], '$rotate' => t('Rotate CW'), '$album' => template_escape($ph[0]['album']), '$newalbum' => t('New album name'), '$nickname' => $a->data['user']['nickname'], '$resource_id' => $ph[0]['resource-id'], '$capt_label' => t('Caption'), '$caption' => template_escape($ph[0]['desc']), '$tag_label' => t('Add a Tag'), '$tags' => $link_item['tag'], '$permissions' => t('Permissions'), '$aclselect' => template_escape(populate_acl($ph[0])), '$help_tags' => t('Example: @bob, @Barbara_Jensen, @jim@example.com, #California, #camping'), '$item_id' => count($linked_items) ? $link_item['id'] : 0, '$submit' => t('Submit'), '$delete' => t('Delete Photo')));
}
if (count($linked_items)) {
$cmnt_tpl = get_markup_template('comment_item.tpl');
$tpl = get_markup_template('photo_item.tpl');
$return_url = $a->cmd;
$like_tpl = get_markup_template('like_noshare.tpl');
$likebuttons = '';
if ($can_post || can_write_wall($a, $owner_uid)) {
$likebuttons = replace_macros($like_tpl, array('$id' => $link_item['id'], '$likethis' => t("I like this (toggle)"), '$nolike' => t("I don't like this (toggle)"), '$share' => t('Share'), '$wait' => t('Please wait')));
}
$comments = '';
if (!count($r)) {
if ($can_post || can_write_wall($a, $owner_uid)) {
if ($link_item['last-child']) {
$comments .= replace_macros($cmnt_tpl, array('$return_path' => '', '$jsreload' => $return_url, '$type' => 'wall-comment', '$id' => $link_item['id'], '$parent' => $link_item['id'], '$profile_uid' => $owner_uid, '$mylink' => $contact['url'], '$mytitle' => t('This is you'), '$myphoto' => $contact['thumb'], '$comment' => t('Comment'), '$submit' => t('Submit'), '$preview' => t('Preview'), '$ww' => ''));
}
}
}
$alike = array();
$dlike = array();
$like = '';
$dislike = '';
// display comments
if (count($r)) {
foreach ($r as $item) {
like_puller($a, $item, $alike, 'like');
like_puller($a, $item, $dlike, 'dislike');
}
$like = isset($alike[$link_item['id']]) ? format_like($alike[$link_item['id']], $alike[$link_item['id'] . '-l'], 'like', $link_item['id']) : '';
$dislike = isset($dlike[$link_item['id']]) ? format_like($dlike[$link_item['id']], $dlike[$link_item['id'] . '-l'], 'dislike', $link_item['id']) : '';
if ($can_post || can_write_wall($a, $owner_uid)) {
if ($link_item['last-child']) {
$comments .= replace_macros($cmnt_tpl, array('$return_path' => '', '$jsreload' => $return_url, '$type' => 'wall-comment', '$id' => $link_item['id'], '$parent' => $link_item['id'], '$profile_uid' => $owner_uid, '$mylink' => $contact['url'], '$mytitle' => t('This is you'), '$myphoto' => $contact['thumb'], '$comment' => t('Comment'), '$submit' => t('Submit'), '$ww' => ''));
}
}
foreach ($r as $item) {
$comment = '';
$template = $tpl;
$sparkle = '';
if ((activity_match($item['verb'], ACTIVITY_LIKE) || activity_match($item['verb'], ACTIVITY_DISLIKE)) && $item['id'] != $item['parent']) {
continue;
}
$redirect_url = $a->get_baseurl() . '/redir/' . $item['cid'];
if ($can_post || can_write_wall($a, $owner_uid)) {
if ($item['last-child']) {
$comments .= replace_macros($cmnt_tpl, array('$return_path' => '', '$jsreload' => $return_url, '$type' => 'wall-comment', '$id' => $item['item_id'], '$parent' => $item['parent'], '$profile_uid' => $owner_uid, '$mylink' => $contact['url'], '$mytitle' => t('This is you'), '$myphoto' => $contact['thumb'], '$comment' => t('Comment'), '$submit' => t('Submit'), '$ww' => ''));
}
}
if (local_user() && $item['contact-uid'] == local_user() && $item['network'] == 'dfrn' && !$item['self']) {
$profile_url = $redirect_url;
$sparkle = ' sparkle';
} else {
$profile_url = $item['url'];
$sparkle = '';
}
$diff_author = $item['url'] !== $item['author-link'] ? true : false;
$profile_name = strlen($item['author-name']) && $diff_author ? $item['author-name'] : $item['name'];
$profile_avatar = strlen($item['author-avatar']) && $diff_author ? $item['author-avatar'] : $item['thumb'];
$profile_link = $profile_url;
$drop = '';
if ($item['contact-id'] == remote_user() || $item['uid'] == local_user()) {
$drop = replace_macros(get_markup_template('photo_drop.tpl'), array('$id' => $item['id'], '$delete' => t('Delete')));
}
$comments .= replace_macros($template, array('$id' => $item['item_id'], '$profile_url' => $profile_link, '$name' => template_escape($profile_name), '$thumb' => $profile_avatar, '$sparkle' => $sparkle, '$title' => template_escape($item['title']), '$body' => template_escape(bbcode($item['body'])), '$ago' => relative_date($item['created']), '$indent' => $item['parent'] != $item['item_id'] ? ' comment' : '', '$drop' => $drop, '$comment' => $comment));
}
}
$paginate = paginate($a);
}
$photo_tpl = get_markup_template('photo_view.tpl');
$o .= replace_macros($photo_tpl, array('$id' => $ph[0]['id'], '$album' => array($album_link, template_escape($ph[0]['album'])), '$tools' => $tools, '$lock' => $lock, '$photo' => $photo, '$prevlink' => $prevlink, '$nextlink' => $nextlink, '$desc' => $ph[0]['desc'], '$tags' => template_escape($tags), '$edit' => $edit, '$likebuttons' => $likebuttons, '$like' => template_escape($like), '$dislike' => template_escape($dislike), '$comments' => $comments, '$paginate' => $paginate));
return $o;
}
// Default - show recent photos with upload link (if applicable)
//$o = '';
$r = q("SELECT `resource-id`, max(`scale`) AS `scale` FROM `photo` WHERE `uid` = %d AND `album` != '%s' AND `album` != '%s' \n\t\t{$sql_extra} GROUP BY `resource-id`", intval($a->data['user']['uid']), dbesc('Contact Photos'), dbesc(t('Contact Photos')));
if (count($r)) {
$a->set_pager_total(count($r));
$a->set_pager_itemspage(20);
}
$r = q("SELECT `resource-id`, `id`, `filename`, `album`, max(`scale`) AS `scale` FROM `photo`\n\t\tWHERE `uid` = %d AND `album` != '%s' AND `album` != '%s' \n\t\t{$sql_extra} GROUP BY `resource-id` ORDER BY `created` DESC LIMIT %d , %d", intval($a->data['user']['uid']), dbesc('Contact Photos'), dbesc(t('Contact Photos')), intval($a->pager['start']), intval($a->pager['itemspage']));
$photos = array();
if (count($r)) {
$twist = 'rotright';
foreach ($r as $rr) {
if ($twist == 'rotright') {
$twist = 'rotleft';
} else {
$twist = 'rotright';
}
$photos[] = array('id' => $rr['id'], 'twist' => ' ' . $twist . rand(2, 4), 'link' => $a->get_baseurl() . '/photos/' . $a->data['user']['nickname'] . '/image/' . $rr['resource-id'], 'title' => t('View Photo'), 'src' => $a->get_baseurl() . '/photo/' . $rr['resource-id'] . '-' . ($rr['scale'] == 6 ? 4 : $rr['scale']) . '.jpg', 'alt' => template_escape($rr['filename']), 'album' => array('link' => $a->get_baseurl() . '/photos/' . $a->data['user']['nickname'] . '/album/' . bin2hex($rr['album']), 'name' => template_escape($rr['album']), 'alt' => t('View Album')));
}
}
$tpl = get_markup_template('photos_recent.tpl');
$o .= replace_macros($tpl, array('$title' => t('Recent Photos'), '$can_post' => $can_post, '$upload' => array(t('Upload New Photos'), $a->get_baseurl() . '/photos/' . $a->data['user']['nickname'] . '/upload'), '$photos' => $photos));
$o .= paginate($a);
return $o;
}
示例3: builtin_activity_puller
function builtin_activity_puller($item, &$conv_responses)
{
foreach ($conv_responses as $mode => $v) {
$url = '';
$sparkle = '';
switch ($mode) {
case 'like':
$verb = ACTIVITY_LIKE;
break;
case 'dislike':
$verb = ACTIVITY_DISLIKE;
break;
case 'attendyes':
$verb = ACTIVITY_ATTEND;
break;
case 'attendno':
$verb = ACTIVITY_ATTENDNO;
break;
case 'attendmaybe':
$verb = ACTIVITY_ATTENDMAYBE;
break;
default:
return;
break;
}
if (activity_match($item['verb'], $verb) && $item['id'] != $item['parent']) {
$url = $item['author-link'];
if (local_user() && local_user() == $item['uid'] && $item['network'] === NETWORK_DFRN && !$item['self'] && link_compare($item['author-link'], $item['url'])) {
$url = z_root(true) . '/redir/' . $item['contact-id'];
$sparkle = ' class="sparkle" ';
} else {
$url = zrl($url);
}
$url = '<a href="' . $url . '"' . $sparkle . '>' . htmlentities($item['author-name']) . '</a>';
if (!$item['thr-parent']) {
$item['thr-parent'] = $item['parent-uri'];
}
if (!(isset($conv_responses[$mode][$item['thr-parent'] . '-l']) && is_array($conv_responses[$mode][$item['thr-parent'] . '-l']))) {
$conv_responses[$mode][$item['thr-parent'] . '-l'] = array();
}
// only list each unique author once
if (in_array($url, $conv_responses[$mode][$item['thr-parent'] . '-l'])) {
continue;
}
if (!isset($conv_responses[$mode][$item['thr-parent']])) {
$conv_responses[$mode][$item['thr-parent']] = 1;
} else {
$conv_responses[$mode][$item['thr-parent']]++;
}
$conv_responses[$mode][$item['thr-parent'] . '-l'][] = $url;
// there can only be one activity verb per item so if we found anything, we can stop looking
return;
}
}
}
示例4: like_content
//.........这里部分代码省略.........
if ($r) {
$thread_owner = $r[0];
} else {
killme();
}
$r = q("select * from xchan where xchan_hash = '%s' limit 1", dbesc($item['author_xchan']));
if ($r) {
$item_author = $r[0];
} else {
killme();
}
$verbs = " '" . dbesc($activity) . "' ";
$multi_undo = 0;
// event participation and consensus items are essentially radio toggles. If you make a subsequent choice,
// we need to eradicate your first choice.
if ($activity === ACTIVITY_ATTEND || $activity === ACTIVITY_ATTENDNO || $activity === ACTIVITY_ATTENDMAYBE) {
$verbs = " '" . dbesc(ACTIVITY_ATTEND) . "','" . dbesc(ACTIVITY_ATTENDNO) . "','" . dbesc(ACTIVITY_ATTENDMAYBE) . "' ";
$multi_undo = 1;
}
if ($activity === ACTIVITY_AGREE || $activity === ACTIVITY_DISAGREE || $activity === ACTIVITY_ABSTAIN) {
$verbs = " '" . dbesc(ACTIVITY_AGREE) . "','" . dbesc(ACTIVITY_DISAGREE) . "','" . dbesc(ACTIVITY_ABSTAIN) . "' ";
$multi_undo = 1;
}
$r = q("SELECT id, parent, uid, verb FROM item WHERE verb in ( {$verbs} ) AND item_restrict = 0 \n\t\t\tAND author_xchan = '%s' AND ( parent = %d OR thr_parent = '%s') and uid = %d ", dbesc($observer['xchan_hash']), intval($item_id), dbesc($item['mid']), intval($owner_uid));
if ($r) {
// already liked it. Drop that item.
require_once 'include/items.php';
foreach ($r as $rr) {
drop_item($rr['id'], false, DROPITEM_PHASE1);
// set the changed timestamp on the parent so we'll see the update without a page reload
$z = q("update item set changed = '%s' where id = %d and uid = %d", dbesc(datetime_convert()), intval($rr['parent']), intval($rr['uid']));
// Prior activity was a duplicate of the one we're submitting, just undo it;
// don't fall through and create another
if (activity_match($rr['verb'], $activity)) {
$multi_undo = false;
}
}
if ($interactive) {
return;
}
if (!$multi_undo) {
killme();
}
}
}
$mid = item_message_id();
if ($extended_like) {
$item_flags = ITEM_THREAD_TOP | ITEM_ORIGIN | ITEM_WALL;
} else {
$post_type = $item['resource_type'] === 'photo' ? t('photo') : t('status');
if ($item['obj_type'] === ACTIVITY_OBJ_EVENT) {
$post_type = t('event');
}
$links = array(array('rel' => 'alternate', 'type' => 'text/html', 'href' => $item['plink']));
$objtype = $item['resource_type'] === 'photo' ? ACTIVITY_OBJ_PHOTO : ACTIVITY_OBJ_NOTE;
$body = $item['body'];
$object = json_encode(array('type' => $objtype, 'id' => $item['mid'], 'parent' => $item['thr_parent'] ? $item['thr_parent'] : $item['parent_mid'], 'link' => $links, 'title' => $item['title'], 'content' => $item['body'], 'created' => $item['created'], 'edited' => $item['edited'], 'author' => array('name' => $item_author['xchan_name'], 'address' => $item_author['xchan_addr'], 'guid' => $item_author['xchan_guid'], 'guid_sig' => $item_author['xchan_guid_sig'], 'link' => array(array('rel' => 'alternate', 'type' => 'text/html', 'href' => $item_author['xchan_url']), array('rel' => 'photo', 'type' => $item_author['xchan_photo_mimetype'], 'href' => $item_author['xchan_photo_m'])))));
if (!($item['item_flags'] & ITEM_THREAD_TOP)) {
$post_type = 'comment';
}
$item_flags = ITEM_ORIGIN | ITEM_NOTSHOWN;
if ($item['item_flags'] & ITEM_WALL) {
$item_flags |= ITEM_WALL;
}
// if this was a linked photo and was hidden, unhide it.
if ($item['item_restrict'] & ITEM_HIDDEN) {
示例5: like_puller
function like_puller($a, $item, &$arr, $mode)
{
$url = '';
$sparkle = '';
$verb = $mode === 'like' ? ACTIVITY_LIKE : ACTIVITY_DISLIKE;
if (activity_match($item['verb'], $verb) && $item['id'] != $item['parent']) {
$url = $item['author-link'];
if (local_user() && local_user() == $item['uid'] && $item['network'] === 'dfrn' && !$item['self'] && link_compare($item['author-link'], $item['url'])) {
$url = $a->get_baseurl(true) . '/redir/' . $item['contact-id'];
$sparkle = ' class="sparkle" ';
} else {
$url = zrl($url);
}
if (!$item['thr-parent']) {
$item['thr-parent'] = $item['parent-uri'];
}
if (!(isset($arr[$item['thr-parent'] . '-l']) && is_array($arr[$item['thr-parent'] . '-l']))) {
$arr[$item['thr-parent'] . '-l'] = array();
}
if (!isset($arr[$item['thr-parent']])) {
$arr[$item['thr-parent']] = 1;
} else {
$arr[$item['thr-parent']]++;
}
$arr[$item['thr-parent'] . '-l'][] = '<a href="' . $url . '"' . $sparkle . '>' . $item['author-name'] . '</a>';
}
return;
}
示例6: remove_community_tag
/**
* @brief
*
* @param array $sender an associative array with
* * \e string \b hash a xchan_hash
* @param array $arr an associative array
* * \e int \b verb
* * \e int \b obj_type
* * \e int \b mid
* @param int $uid
*/
function remove_community_tag($sender, $arr, $uid)
{
if (!(activity_match($arr['verb'], ACTIVITY_TAG) && $arr['obj_type'] == ACTIVITY_OBJ_TAGTERM)) {
return;
}
logger('remove_community_tag: invoked');
if (!get_pconfig($uid, 'system', 'blocktags')) {
logger('remove_community tag: permission denied.');
return;
}
$r = q("select * from item where mid = '%s' and uid = %d limit 1", dbesc($arr['mid']), intval($uid));
if (!$r) {
logger('remove_community_tag: no item');
return;
}
if ($sender['hash'] != $r[0]['owner_xchan'] && $sender['hash'] != $r[0]['author_xchan']) {
logger('remove_community_tag: sender not authorised.');
return;
}
$i = $r[0];
if ($i['target']) {
$i['target'] = json_decode_plus($i['target']);
}
if ($i['object']) {
$i['object'] = json_decode_plus($i['object']);
}
if (!($i['target'] && $i['object'])) {
logger('remove_community_tag: no target/object');
return;
}
$message_id = $i['target']['id'];
$r = q("select id from item where mid = '%s' and uid = %d limit 1", dbesc($message_id), intval($uid));
if (!$r) {
logger('remove_community_tag: no parent message');
return;
}
q("delete from term where uid = %d and oid = %d and otype = %d and type = %d and term = '%s' and url = '%s'", intval($uid), intval($r[0]['id']), intval(TERM_OBJ_POST), intval(TERM_HASHTAG), dbesc($i['object']['title']), dbesc(get_rel_link($i['object']['link'], 'alternate')));
}
示例7: notifier_run
//.........这里部分代码省略.........
}
if (strncasecmp($subject, 'RE:', 3)) {
$subject = 'Re: ' . $subject;
}
}
email_send($addr, $subject, $headers, $it);
}
break;
case NETWORK_DIASPORA:
if (get_config('system', 'dfrn_only') || !get_config('system', 'diaspora_enabled')) {
break;
}
if ($mail) {
diaspora_send_mail($item, $owner, $contact);
break;
}
if (!$normal_mode) {
break;
}
// special handling for followup to public post
// all other public posts processed as public batches further below
if ($public_message) {
if ($followup) {
diaspora_send_followup($target_item, $owner, $contact, true);
}
break;
}
if (!$contact['pubkey']) {
break;
}
$unsupported_activities = array(ACTIVITY_DISLIKE, ACTIVITY_ATTEND, ACTIVITY_ATTENDNO, ACTIVITY_ATTENDMAYBE);
//don't transmit activities which are not supported by diaspora
foreach ($unsupported_activities as $act) {
if (activity_match($target_item['verb'], $act)) {
break 2;
}
}
if ($target_item['deleted'] && ($target_item['uri'] === $target_item['parent-uri'] || $followup)) {
// send both top-level retractions and relayable retractions for owner to relay
diaspora_send_retraction($target_item, $owner, $contact);
break;
} elseif ($followup) {
// send comments and likes to owner to relay
diaspora_send_followup($target_item, $owner, $contact);
break;
} elseif ($target_item['uri'] !== $target_item['parent-uri']) {
// we are the relay - send comments, likes and relayable_retractions
// (of comments and likes) to our conversants
diaspora_send_relay($target_item, $owner, $contact);
break;
} elseif ($top_level && !$walltowall) {
// currently no workable solution for sending walltowall
diaspora_send_status($target_item, $owner, $contact);
break;
}
break;
case NETWORK_FEED:
case NETWORK_FACEBOOK:
if (get_config('system', 'dfrn_only')) {
break;
}
case NETWORK_PUMPIO:
if (get_config('system', 'dfrn_only')) {
break;
}
default:
示例8: photos_content
//.........这里部分代码省略.........
$dislike = '';
$conv_responses = array('like' => array('title' => t('Likes', 'title')), 'dislike' => array('title' => t('Dislikes', 'title')), 'agree' => array('title' => t('Agree', 'title')), 'disagree' => array('title' => t('Disagree', 'title')), 'abstain' => array('title' => t('Abstain', 'title')), 'attendyes' => array('title' => t('Attending', 'title')), 'attendno' => array('title' => t('Not attending', 'title')), 'attendmaybe' => array('title' => t('Might attend', 'title')));
if ($r) {
foreach ($r as $item) {
builtin_activity_puller($item, $conv_responses);
}
$like_count = x($alike, $link_item['mid']) ? $alike[$link_item['mid']] : '';
$like_list = x($alike, $link_item['mid']) ? $alike[$link_item['mid'] . '-l'] : '';
if (count($like_list) > MAX_LIKERS) {
$like_list_part = array_slice($like_list, 0, MAX_LIKERS);
array_push($like_list_part, '<a href="#" data-toggle="modal" data-target="#likeModal-' . $this->get_id() . '"><b>' . t('View all') . '</b></a>');
} else {
$like_list_part = '';
}
$like_button_label = tt('Like', 'Likes', $like_count, 'noun');
//if (feature_enabled($conv->get_profile_owner(),'dislike')) {
$dislike_count = x($dlike, $link_item['mid']) ? $dlike[$link_item['mid']] : '';
$dislike_list = x($dlike, $link_item['mid']) ? $dlike[$link_item['mid'] . '-l'] : '';
$dislike_button_label = tt('Dislike', 'Dislikes', $dislike_count, 'noun');
if (count($dislike_list) > MAX_LIKERS) {
$dislike_list_part = array_slice($dislike_list, 0, MAX_LIKERS);
array_push($dislike_list_part, '<a href="#" data-toggle="modal" data-target="#dislikeModal-' . $this->get_id() . '"><b>' . t('View all') . '</b></a>');
} else {
$dislike_list_part = '';
}
//}
$like = isset($alike[$link_item['mid']]) ? format_like($alike[$link_item['mid']], $alike[$link_item['mid'] . '-l'], 'like', $link_item['mid']) : '';
$dislike = isset($dlike[$link_item['mid']]) ? format_like($dlike[$link_item['mid']], $dlike[$link_item['mid'] . '-l'], 'dislike', $link_item['mid']) : '';
// display comments
foreach ($r as $item) {
$comment = '';
$template = $tpl;
$sparkle = '';
if ((activity_match($item['verb'], ACTIVITY_LIKE) || activity_match($item['verb'], ACTIVITY_DISLIKE)) && $item['id'] != $item['parent']) {
continue;
}
$redirect_url = $a->get_baseurl() . '/redir/' . $item['cid'];
$profile_url = zid($item['author']['xchan_url']);
$sparkle = '';
$profile_name = $item['author']['xchan_name'];
$profile_avatar = $item['author']['xchan_photo_m'];
$profile_link = $profile_url;
$drop = '';
if ($observer['xchan_hash'] === $item['author_xchan'] || $observer['xchan_hash'] === $item['owner_xchan']) {
$drop = replace_macros(get_markup_template('photo_drop.tpl'), array('$id' => $item['id'], '$delete' => t('Delete')));
}
$name_e = $profile_name;
$title_e = $item['title'];
unobscure($item);
$body_e = prepare_text($item['body'], $item['mimetype']);
$comments .= replace_macros($template, array('$id' => $item['id'], '$mode' => 'photos', '$profile_url' => $profile_link, '$name' => $name_e, '$thumb' => $profile_avatar, '$sparkle' => $sparkle, '$title' => $title_e, '$body' => $body_e, '$ago' => relative_date($item['created']), '$indent' => $item['parent'] != $item['id'] ? ' comment' : '', '$drop' => $drop, '$comment' => $comment));
}
if ($can_post || $can_comment) {
$commentbox = replace_macros($cmnt_tpl, array('$return_path' => '', '$jsreload' => $return_url, '$type' => 'wall-comment', '$id' => $link_item['id'], '$parent' => $link_item['id'], '$profile_uid' => $owner_uid, '$mylink' => $observer['xchan_url'], '$mytitle' => t('This is you'), '$myphoto' => $observer['xchan_photo_s'], '$comment' => t('Comment'), '$submit' => t('Submit'), '$ww' => ''));
}
}
$paginate = paginate($a);
}
$album_e = array($album_link, $ph[0]['album']);
$like_e = $like;
$dislike_e = $dislike;
$response_verbs = array('like');
if (feature_enabled($owner_uid, 'dislike')) {
$response_verbs[] = 'dislike';
}
$responses = get_responses($conv_responses, $response_verbs, '', $link_item);
示例9: render_content
function render_content(&$a, $items, $mode, $update, $preview = false)
{
require_once 'include/bbcode.php';
require_once 'mod/proxy.php';
$ssl_state = local_user() ? true : false;
$profile_owner = 0;
$page_writeable = false;
$previewing = $preview ? ' preview ' : '';
if ($mode === 'network') {
$profile_owner = local_user();
$page_writeable = true;
}
if ($mode === 'profile') {
$profile_owner = $a->profile['profile_uid'];
$page_writeable = can_write_wall($a, $profile_owner);
}
if ($mode === 'notes') {
$profile_owner = local_user();
$page_writeable = true;
}
if ($mode === 'display') {
$profile_owner = $a->profile['uid'];
$page_writeable = can_write_wall($a, $profile_owner);
}
if ($mode === 'community') {
$profile_owner = 0;
$page_writeable = false;
}
if ($update) {
$return_url = $_SESSION['return_url'];
} else {
$return_url = $_SESSION['return_url'] = $a->query_string;
}
load_contact_links(local_user());
$cb = array('items' => $items, 'mode' => $mode, 'update' => $update, 'preview' => $preview);
call_hooks('conversation_start', $cb);
$items = $cb['items'];
$cmnt_tpl = get_markup_template('comment_item.tpl');
$tpl = 'wall_item.tpl';
$wallwall = 'wallwall_item.tpl';
$hide_comments_tpl = get_markup_template('hide_comments.tpl');
$alike = array();
$dlike = array();
// array with html for each thread (parent+comments)
$threads = array();
$threadsid = -1;
if ($items && count($items)) {
if ($mode === 'network-new' || $mode === 'search' || $mode === 'community') {
// "New Item View" on network page or search page results
// - just loop through the items and format them minimally for display
//$tpl = get_markup_template('search_item.tpl');
$tpl = 'search_item.tpl';
foreach ($items as $item) {
$threadsid++;
$comment = '';
$owner_url = '';
$owner_photo = '';
$owner_name = '';
$sparkle = '';
if ($mode === 'search' || $mode === 'community') {
if ((activity_match($item['verb'], ACTIVITY_LIKE) || activity_match($item['verb'], ACTIVITY_DISLIKE)) && $item['id'] != $item['parent']) {
continue;
}
$nickname = $item['nickname'];
} else {
$nickname = $a->user['nickname'];
}
// prevent private email from leaking.
if ($item['network'] === NETWORK_MAIL && local_user() != $item['uid']) {
continue;
}
$profile_name = strlen($item['author-name']) ? $item['author-name'] : $item['name'];
if ($item['author-link'] && !$item['author-name']) {
$profile_name = $item['author-link'];
}
$sp = false;
$profile_link = best_link_url($item, $sp);
if ($profile_link === 'mailbox') {
$profile_link = '';
}
if ($sp) {
$sparkle = ' sparkle';
} else {
$profile_link = zrl($profile_link);
}
$normalised = normalise_link(strlen($item['author-link']) ? $item['author-link'] : $item['url']);
if ($normalised != 'mailbox' && x($a->contacts[$normalised])) {
$profile_avatar = $a->contacts[$normalised]['thumb'];
} else {
$profile_avatar = strlen($item['author-avatar']) ? $a->get_cached_avatar_image($item['author-avatar']) : $item['thumb'];
}
$locate = array('location' => $item['location'], 'coord' => $item['coord'], 'html' => '');
call_hooks('render_location', $locate);
$location = strlen($locate['html']) ? $locate['html'] : render_location_dummy($locate);
localize_item($item);
if ($mode === 'network-new') {
$dropping = true;
} else {
$dropping = false;
}
//.........这里部分代码省略.........
示例10: consume_feed
//.........这里部分代码省略.........
}
$r = q("SELECT `uid`, `last-child`, `edited`, `body` FROM `item` WHERE `uri` = '%s' AND `uid` = %d LIMIT 1", dbesc($item_id), intval($importer['uid']));
// Update content if 'updated' changes
if (count($r)) {
if (x($datarray, 'edited') !== false && datetime_convert('UTC', 'UTC', $datarray['edited']) !== $r[0]['edited']) {
$r = q("UPDATE `item` SET `title` = '%s', `body` = '%s', `tag` = '%s', `edited` = '%s' WHERE `uri` = '%s' AND `uid` = %d LIMIT 1", dbesc($datarray['title']), dbesc($datarray['body']), dbesc($datarray['tag']), dbesc(datetime_convert('UTC', 'UTC', $datarray['edited'])), dbesc($item_id), intval($importer['uid']));
}
// update last-child if it changes
$allow = $item->get_item_tags(NAMESPACE_DFRN, 'comment-allow');
if ($allow && $allow[0]['data'] != $r[0]['last-child']) {
$r = q("UPDATE `item` SET `last-child` = 0, `changed` = '%s' WHERE `parent-uri` = '%s' AND `uid` = %d", dbesc(datetime_convert()), dbesc($parent_uri), intval($importer['uid']));
$r = q("UPDATE `item` SET `last-child` = %d , `changed` = '%s' WHERE `uri` = '%s' AND `uid` = %d LIMIT 1", intval($allow[0]['data']), dbesc(datetime_convert()), dbesc($item_id), intval($importer['uid']));
}
continue;
}
$force_parent = false;
if ($contact['network'] === NETWORK_OSTATUS || stristr($contact['url'], 'twitter.com')) {
if ($contact['network'] === NETWORK_OSTATUS) {
$force_parent = true;
}
if (strlen($datarray['title'])) {
unset($datarray['title']);
}
$r = q("UPDATE `item` SET `last-child` = 0, `changed` = '%s' WHERE `parent-uri` = '%s' AND `uid` = %d", dbesc(datetime_convert()), dbesc($parent_uri), intval($importer['uid']));
$datarray['last-child'] = 1;
}
if ($contact['network'] === NETWORK_FEED || !strlen($contact['notify'])) {
// one way feed - no remote comment ability
$datarray['last-child'] = 0;
}
$datarray['parent-uri'] = $parent_uri;
$datarray['uid'] = $importer['uid'];
$datarray['contact-id'] = $contact['id'];
if (activity_match($datarray['verb'], ACTIVITY_LIKE) || activity_match($datarray['verb'], ACTIVITY_DISLIKE)) {
$datarray['type'] = 'activity';
$datarray['gravity'] = GRAVITY_LIKE;
// only one like or dislike per person
$r = q("select id from item where uid = %d and `contact-id` = %d and verb ='%s' and deleted = 0 limit 1", intval($datarray['uid']), intval($datarray['contact-id']), dbesc($datarray['verb']));
if ($r && count($r)) {
continue;
}
}
if ($datarray['verb'] === ACTIVITY_TAG && $datarray['object-type'] === ACTIVITY_OBJ_TAGTERM) {
$xo = parse_xml_string($datarray['object'], false);
$xt = parse_xml_string($datarray['target'], false);
if ($xt->type == ACTIVITY_OBJ_NOTE) {
$r = q("select * from item where `uri` = '%s' AND `uid` = %d limit 1", dbesc($xt->id), intval($importer['importer_uid']));
if (!count($r)) {
continue;
}
// extract tag, if not duplicate, add to parent item
if ($xo->id && $xo->content) {
$newtag = '#[url=' . $xo->id . ']' . $xo->content . '[/url]';
if (!stristr($r[0]['tag'], $newtag)) {
q("UPDATE item SET tag = '%s' WHERE id = %d LIMIT 1", dbesc($r[0]['tag'] . (strlen($r[0]['tag']) ? ',' : '') . $newtag), intval($r[0]['id']));
}
}
}
}
$r = item_store($datarray, $force_parent);
continue;
} else {
// Head post of a conversation. Have we seen it? If not, import it.
$item_id = $item->get_id();
$datarray = get_atom_elements($feed, $item);
if (is_array($contact)) {
示例11: photos_content
//.........这里部分代码省略.........
$edit = array('edit' => t('Edit photo'), 'id' => $ph[0]['id'], 'rotatecw' => t('Rotate CW (right)'), 'rotateccw' => t('Rotate CCW (left)'), 'albums' => $albums['albums'], 'album' => $album_e, 'newalbum' => t('New album name'), 'nickname' => $a->data['channel']['channel_address'], 'resource_id' => $ph[0]['resource_id'], 'capt_label' => t('Caption'), 'caption' => $caption_e, 'tag_label' => t('Add a Tag'), 'permissions' => t('Permissions'), 'aclselect' => $aclselect_e, 'help_tags' => t('Example: @bob, @Barbara_Jensen, @jim@example.com, #California, #camping'), 'item_id' => count($linked_items) ? $link_item['id'] : 0, 'submit' => t('Submit'), 'delete' => t('Delete Photo'));
}
if (count($linked_items)) {
$cmnt_tpl = get_markup_template('comment_item.tpl');
$tpl = get_markup_template('photo_item.tpl');
$return_url = $a->cmd;
$like_tpl = get_markup_template('like_noshare.tpl');
$likebuttons = '';
if ($can_post || $can_comment) {
$likebuttons = replace_macros($like_tpl, array('$id' => $link_item['id'], '$likethis' => t("I like this (toggle)"), '$nolike' => t("I don't like this (toggle)"), '$share' => t('Share'), '$wait' => t('Please wait')));
}
$comments = '';
if (!count($r)) {
if ($can_post || $can_comment) {
$comments .= replace_macros($cmnt_tpl, array('$return_path' => '', '$mode' => 'photos', '$jsreload' => $return_url, '$type' => 'wall-comment', '$id' => $link_item['id'], '$parent' => $link_item['id'], '$profile_uid' => $owner_uid, '$mylink' => $observer['xchan_url'], '$mytitle' => t('This is you'), '$myphoto' => $observer['xchan_photo_s'], '$comment' => t('Comment'), '$submit' => t('Submit'), '$preview' => t('Preview'), '$ww' => '', '$feature_encrypt' => false));
}
}
$alike = array();
$dlike = array();
$like = '';
$dislike = '';
// display comments
if ($r) {
foreach ($r as $item) {
like_puller($a, $item, $alike, 'like');
like_puller($a, $item, $dlike, 'dislike');
}
$like = isset($alike[$link_item['id']]) ? format_like($alike[$link_item['id']], $alike[$link_item['id'] . '-l'], 'like', $link_item['id']) : '';
$dislike = isset($dlike[$link_item['id']]) ? format_like($dlike[$link_item['id']], $dlike[$link_item['id'] . '-l'], 'dislike', $link_item['id']) : '';
foreach ($r as $item) {
$comment = '';
$template = $tpl;
$sparkle = '';
if ((activity_match($item['verb'], ACTIVITY_LIKE) || activity_match($item['verb'], ACTIVITY_DISLIKE)) && $item['id'] != $item['parent']) {
continue;
}
$redirect_url = $a->get_baseurl() . '/redir/' . $item['cid'];
$profile_url = zid($item['author']['xchan_url']);
$sparkle = '';
$profile_name = $item['author']['xchan_name'];
$profile_avatar = $item['author']['xchan_photo_m'];
$profile_link = $profile_url;
$drop = '';
if ($observer['xchan_hash'] === $item['author_xchan'] || $observer['xchan_hash'] === $item['owner_xchan']) {
$drop = replace_macros(get_markup_template('photo_drop.tpl'), array('$id' => $item['id'], '$delete' => t('Delete')));
}
$name_e = $profile_name;
$title_e = $item['title'];
unobscure($item);
$body_e = prepare_text($item['body'], $item['mimetype']);
$comments .= replace_macros($template, array('$id' => $item['item_id'], '$mode' => 'photos', '$profile_url' => $profile_link, '$name' => $name_e, '$thumb' => $profile_avatar, '$sparkle' => $sparkle, '$title' => $title_e, '$body' => $body_e, '$ago' => relative_date($item['created']), '$indent' => $item['parent'] != $item['item_id'] ? ' comment' : '', '$drop' => $drop, '$comment' => $comment));
}
if ($can_post || $can_comment) {
$comments .= replace_macros($cmnt_tpl, array('$return_path' => '', '$jsreload' => $return_url, '$type' => 'wall-comment', '$id' => $link_item['id'], '$parent' => $link_item['id'], '$profile_uid' => $owner_uid, '$mylink' => $observer['xchan_url'], '$mytitle' => t('This is you'), '$myphoto' => $observer['xchan_photo_s'], '$comment' => t('Comment'), '$submit' => t('Submit'), '$ww' => ''));
}
}
$paginate = paginate($a);
}
$album_e = array($album_link, $ph[0]['album']);
$like_e = $like;
$dislike_e = $dislike;
$photo_tpl = get_markup_template('photo_view.tpl');
$o .= replace_macros($photo_tpl, array('$id' => $ph[0]['id'], '$album' => $album_e, '$tools' => $tools, '$lock' => $lock, '$photo' => $photo, '$prevlink' => $prevlink, '$nextlink' => $nextlink, '$desc' => $ph[0]['description'], '$tag_hdr' => t('In This Photo:'), '$tags' => $tags, '$edit' => $edit, '$likebuttons' => $likebuttons, '$like' => $like_e, '$dislike' => $dislike_e, '$comments' => $comments, '$paginate' => $paginate));
$a->data['photo_html'] = $o;
return $o;
}
示例12: add_thread
/**
* Add a thread to the conversation
*
* Returns:
* _ The inserted item on success
* _ false on failure
*/
public function add_thread($item)
{
$item_id = $item->get_id();
if (!$item_id) {
logger('Item has no ID!!', LOGGER_DEBUG, LOG_ERR);
return false;
}
if ($this->get_thread($item->get_id())) {
logger('Thread already exists (' . $item->get_id() . ').', LOGGER_DEBUG, LOG_WARNING);
return false;
}
/*
* Only add things that will be displayed
*/
if ($item->get_data_value('id') != $item->get_data_value('parent') && (activity_match($item->get_data_value('verb'), ACTIVITY_LIKE) || activity_match($item->get_data_value('verb'), ACTIVITY_DISLIKE))) {
return false;
}
$item->set_commentable(false);
$ob_hash = $this->observer ? $this->observer['xchan_hash'] : '';
if (!comments_are_now_closed($item->get_data())) {
if ($item->get_data_value('author_xchan') === $ob_hash || $item->get_data_value('owner_xchan') === $ob_hash) {
$item->set_commentable(true);
}
if (intval($item->get_data_value('item_nocomment'))) {
$item->set_commentable(false);
} elseif ($this->observer && !$item->is_commentable()) {
if (array_key_exists('owner', $item->data) && intval($item->data['owner']['abook_self'])) {
$item->set_commentable(perm_is_allowed($this->profile_owner, $this->observer['xchan_hash'], 'post_comments'));
} else {
$item->set_commentable(can_comment_on_post($this->observer['xchan_hash'], $item->data));
}
}
}
require_once 'include/identity.php';
$item->set_conversation($this);
$this->threads[] = $item;
return end($this->threads);
}
示例13: like_puller
function like_puller($a, $item, &$arr, $mode)
{
$url = '';
$sparkle = '';
$verb = $mode === 'like' ? ACTIVITY_LIKE : ACTIVITY_DISLIKE;
if (activity_match($item['verb'], $verb) && $item['id'] != $item['parent']) {
$url = chanlink_url($item['author']['xchan_url']);
if (!$item['thr_parent']) {
$item['thr_parent'] = $item['parent_mid'];
}
if (!(isset($arr[$item['thr_parent'] . '-l']) && is_array($arr[$item['thr_parent'] . '-l']))) {
$arr[$item['thr_parent'] . '-l'] = array();
}
if (!isset($arr[$item['thr_parent']])) {
$arr[$item['thr_parent']] = 1;
} else {
$arr[$item['thr_parent']]++;
}
$arr[$item['thr_parent'] . '-l'][] = '<a href="' . $url . '">' . $item['author']['xchan_name'] . '</a>';
}
return;
}
示例14: item_post_type
function item_post_type($item)
{
switch ($item['resource_type']) {
case 'photo':
$post_type = t('photo');
break;
case 'event':
$post_type = t('event');
break;
default:
$post_type = t('status');
if ($item['mid'] != $item['parent_mid']) {
$post_type = t('comment');
}
break;
}
if (strlen($item['verb']) && !activity_match($item['verb'], ACTIVITY_POST)) {
$post_type = t('activity');
}
return $post_type;
}
示例15: delivery_run
//.........这里部分代码省略.........
$r1 = q("SELECT * FROM `mailacct` WHERE `uid` = %d LIMIT 1", intval($uid));
if ($r1 && $r1[0]['reply_to']) {
$reply_to = $r1[0]['reply_to'];
}
$subject = $it['title'] ? email_header_encode($it['title'], 'UTF-8') : t("(no subject)");
// only expose our real email address to true friends
if ($contact['rel'] == CONTACT_IS_FRIEND && !$contact['blocked']) {
if ($reply_to) {
$headers = 'From: ' . email_header_encode($local_user[0]['username'], 'UTF-8') . ' <' . $reply_to . '>' . "\n";
$headers .= 'Sender: ' . $local_user[0]['email'] . "\n";
} else {
$headers = 'From: ' . email_header_encode($local_user[0]['username'], 'UTF-8') . ' <' . $local_user[0]['email'] . '>' . "\n";
}
} else {
$headers = 'From: ' . email_header_encode($local_user[0]['username'], 'UTF-8') . ' <' . t('noreply') . '@' . $a->get_hostname() . '>' . "\n";
}
//if($reply_to)
// $headers .= 'Reply-to: ' . $reply_to . "\n";
$headers .= 'Message-Id: <' . iri2msgid($it['uri']) . '>' . "\n";
//logger("Mail: uri: ".$it['uri']." parent-uri ".$it['parent-uri'], LOGGER_DEBUG);
//logger("Mail: Data: ".print_r($it, true), LOGGER_DEBUG);
//logger("Mail: Data: ".print_r($it, true), LOGGER_DATA);
if ($it['uri'] !== $it['parent-uri']) {
$headers .= "References: <" . iri2msgid($it["parent-uri"]) . ">";
// If Threading is enabled, write down the correct parent
if ($it["thr-parent"] != "" and $it["thr-parent"] != $it["parent-uri"]) {
$headers .= " <" . iri2msgid($it["thr-parent"]) . ">";
}
$headers .= "\n";
if (!$it['title']) {
$r = q("SELECT `title` FROM `item` WHERE `uri` = '%s' AND `uid` = %d LIMIT 1", dbesc($it['parent-uri']), intval($uid));
if (count($r) and $r[0]['title'] != '') {
$subject = $r[0]['title'];
} else {
$r = q("SELECT `title` FROM `item` WHERE `parent-uri` = '%s' AND `uid` = %d LIMIT 1", dbesc($it['parent-uri']), intval($uid));
if (count($r) and $r[0]['title'] != '') {
$subject = $r[0]['title'];
}
}
}
if (strncasecmp($subject, 'RE:', 3)) {
$subject = 'Re: ' . $subject;
}
}
email_send($addr, $subject, $headers, $it);
}
break;
case NETWORK_DIASPORA:
if ($public_message) {
$loc = 'public batch ' . $contact['batch'];
} else {
$loc = $contact['name'];
}
logger('delivery: diaspora batch deliver: ' . $loc);
if (get_config('system', 'dfrn_only') || !get_config('system', 'diaspora_enabled') || !$normal_mode) {
break;
}
if (!$contact['pubkey'] && !$public_message) {
break;
}
$unsupported_activities = array(ACTIVITY_DISLIKE, ACTIVITY_ATTEND, ACTIVITY_ATTENDNO, ACTIVITY_ATTENDMAYBE);
//don't transmit activities which are not supported by diaspora
foreach ($unsupported_activities as $act) {
if (activity_match($target_item['verb'], $act)) {
break 2;
}
}
if ($target_item['deleted'] && $target_item['uri'] === $target_item['parent-uri']) {
// top-level retraction
logger('delivery: diaspora retract: ' . $loc);
diaspora_send_retraction($target_item, $owner, $contact, $public_message);
break;
} elseif ($target_item['uri'] !== $target_item['parent-uri']) {
// we are the relay - send comments, likes and relayable_retractions to our conversants
logger('delivery: diaspora relay: ' . $loc);
diaspora_send_relay($target_item, $owner, $contact, $public_message);
break;
} elseif ($top_level && !$walltowall) {
// currently no workable solution for sending walltowall
logger('delivery: diaspora status: ' . $loc);
diaspora_send_status($target_item, $owner, $contact, $public_message);
break;
}
logger('delivery: diaspora unknown mode: ' . $contact['name']);
break;
case NETWORK_FEED:
case NETWORK_FACEBOOK:
if (get_config('system', 'dfrn_only')) {
break;
}
case NETWORK_PUMPIO:
if (get_config('system', 'dfrn_only')) {
break;
}
default:
break;
}
}
return;
}