本文整理汇总了PHP中visible_activity函数的典型用法代码示例。如果您正苦于以下问题:PHP visible_activity函数的具体用法?PHP visible_activity怎么用?PHP visible_activity使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了visible_activity函数的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: __construct
public function __construct($data)
{
$a = $this->get_app();
$this->data = $data;
$this->toplevel = $this->get_id() == $this->get_data_value('parent');
// Prepare the children
if (count($data['children'])) {
foreach ($data['children'] as $item) {
/*
* Only add those that will be displayed
*/
if (!visible_activity($item) || array_key_exists('author_blocked', $item)) {
continue;
}
$child = new Item($item);
$this->add_child($child);
}
}
}
示例2: __construct
public function __construct($data)
{
$a = $this->get_app();
$this->data = $data;
$this->set_template('wall');
$this->toplevel = $this->get_id() == $this->get_data_value('parent');
if (is_array($_SESSION['remote'])) {
foreach ($_SESSION['remote'] as $visitor) {
if ($visitor['cid'] == $this->get_data_value('contact-id')) {
$this->visiting = true;
break;
}
}
}
$this->writable = $this->get_data_value('writable') || $this->get_data_value('self');
$ssl_state = local_user() ? true : false;
$this->redirect_url = $a->get_baseurl($ssl_state) . '/redir/' . $this->get_data_value('cid');
if (get_config('system', 'thread_allow') && $a->theme_thread_allow && !$this->is_toplevel()) {
$this->threaded = true;
}
// Prepare the children
if (count($data['children'])) {
foreach ($data['children'] as $item) {
/*
* Only add will be displayed
*/
if ($item['network'] === NETWORK_MAIL && local_user() != $item['uid']) {
continue;
}
if (!visible_activity($item)) {
continue;
}
$item['pagedrop'] = $data['pagedrop'];
$child = new Item($item);
$this->add_child($child);
}
}
}
示例3: submit
/**
* @brief
*
* @param array $params an assoziative array with:
* * \e string \b from_xchan sender xchan hash
* * \e string \b to_xchan recipient xchan hash
* * \e array \b item an assoziative array
* * \e int \b type one of the NOTIFY_* constants from boot.php
* * \e string \b link
* * \e string \b parent_mid
* * \e string \b otype
* * \e string \b verb
* * \e string \b activity
*/
public static function submit($params)
{
logger('notification: entry', LOGGER_DEBUG);
// throw a small amount of entropy into the system to breakup duplicates arriving at the same precise instant.
usleep(mt_rand(0, 10000));
if ($params['from_xchan']) {
$x = q("select * from xchan where xchan_hash = '%s' limit 1", dbesc($params['from_xchan']));
}
if ($params['to_xchan']) {
$y = q("select channel.*, account.* from channel left join account on channel_account_id = account_id\n\t\t\t\twhere channel_hash = '%s' and channel_removed = 0 limit 1", dbesc($params['to_xchan']));
}
if ($x & $y) {
$sender = $x[0];
$recip = $y[0];
} else {
logger('notification: no sender or recipient.');
logger('sender: ' . $params['from_xchan']);
logger('recip: ' . $params['to_xchan']);
return;
}
// from here on everything is in the recipients language
push_lang($recip['account_language']);
// should probably have a channel language
$banner = t('$Projectname Notification');
$product = t('$projectname');
// PLATFORM_NAME;
$siteurl = z_root();
$thanks = t('Thank You,');
$sitename = get_config('system', 'sitename');
$site_admin = sprintf(t('%s Administrator'), $sitename);
$sender_name = $product;
$hostname = \App::get_hostname();
if (strpos($hostname, ':')) {
$hostname = substr($hostname, 0, strpos($hostname, ':'));
}
// Do not translate 'noreply' as it must be a legal 7-bit email address
$reply_email = get_config('system', 'reply_address');
if (!$reply_email) {
$reply_email = 'noreply' . '@' . $hostname;
}
$sender_email = get_config('system', 'from_email');
if (!$sender_email) {
$sender_email = 'Administrator' . '@' . \App::get_hostname();
}
$sender_name = get_config('system', 'from_email_name');
if (!$sender_name) {
$sender_name = \Zotlabs\Lib\System::get_site_name();
}
$additional_mail_header = "";
if (array_key_exists('item', $params)) {
require_once 'include/conversation.php';
// if it's a normal item...
if (array_key_exists('verb', $params['item'])) {
// localize_item() alters the original item so make a copy first
$i = $params['item'];
logger('calling localize');
localize_item($i);
$title = $i['title'];
$body = $i['body'];
$private = $i['item_private'] || intval($i['item_obscured']);
} else {
$title = $params['item']['title'];
$body = $params['item']['body'];
}
} else {
$title = $body = '';
}
// e.g. "your post", "David's photo", etc.
$possess_desc = t('%s <!item_type!>');
if ($params['type'] == NOTIFY_MAIL) {
logger('notification: mail');
$subject = sprintf(t('[$Projectname:Notify] New mail received at %s'), $sitename);
$preamble = sprintf(t('%1$s, %2$s sent you a new private message at %3$s.'), $recip['channel_name'], $sender['xchan_name'], $sitename);
$epreamble = sprintf(t('%1$s sent you %2$s.'), '[zrl=' . $sender['xchan_url'] . ']' . $sender['xchan_name'] . '[/zrl]', '[zrl=$itemlink]' . t('a private message') . '[/zrl]');
$sitelink = t('Please visit %s to view and/or reply to your private messages.');
$tsitelink = sprintf($sitelink, $siteurl . '/mail/' . $params['item']['id']);
$hsitelink = sprintf($sitelink, '<a href="' . $siteurl . '/mail/' . $params['item']['id'] . '">' . $sitename . '</a>');
$itemlink = $siteurl . '/mail/' . $params['item']['id'];
}
if ($params['type'] == NOTIFY_COMMENT) {
// logger("notification: params = " . print_r($params, true), LOGGER_DEBUG);
$itemlink = $params['link'];
// ignore like/unlike activity on posts - they probably require a separate notification preference
if (array_key_exists('item', $params) && !visible_activity($params['item'])) {
logger('notification: not a visible activity. Ignoring.');
pop_lang();
//.........这里部分代码省略.........
示例4: count_unseen_descendants
private function count_unseen_descendants()
{
$children = $this->get_children();
$total = count($children);
if ($total > 0) {
$total = 0;
foreach ($children as $child) {
if (!visible_activity($child->data) || array_key_exists('author_blocked', $child->data)) {
continue;
}
if (intval($child->data['item_unseen'])) {
$total++;
}
}
}
return $total;
}
示例5: conversation
//.........这里部分代码省略.........
}
$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_google($locate);
localize_item($item);
if ($mode === 'network-new') {
$dropping = true;
} else {
$dropping = false;
}
$drop = array('dropping' => $dropping, 'pagedrop' => $page_dropping, 'select' => t('Select'), 'delete' => t('Delete'));
$star = false;
$isstarred = "unstarred";
$lock = false;
$likebuttons = false;
$shareable = false;
$body = prepare_body($item, true, $preview);
list($categories, $folders) = get_cats_and_terms($item);
if ($a->theme['template_engine'] === 'internal') {
$profile_name_e = template_escape($profile_name);
$item['title_e'] = template_escape($item['title']);
$body_e = template_escape($body);
$tags_e = template_escape($tags);
$hashtags_e = template_escape($hashtags);
$mentions_e = template_escape($mentions);
$location_e = template_escape($location);
$owner_name_e = template_escape($owner_name);
} else {
$profile_name_e = $profile_name;
$item['title_e'] = $item['title'];
$body_e = $body;
$tags_e = $tags;
$hashtags_e = $hashtags;
$mentions_e = $mentions;
$location_e = $location;
$owner_name_e = $owner_name;
}
$tmp_item = array('template' => $tpl, 'id' => $preview ? 'P0' : $item['item_id'], 'network' => $item['item_network'], 'linktitle' => sprintf(t('View %s\'s profile @ %s'), $profile_name, strlen($item['author-link']) ? $item['author-link'] : $item['url']), 'profile_url' => $profile_link, 'item_photo_menu' => item_photo_menu($item), 'name' => $profile_name_e, 'sparkle' => $sparkle, 'lock' => $lock, 'thumb' => proxy_url($profile_avatar), 'title' => $item['title_e'], 'body' => $body_e, 'tags' => $tags_e, 'hashtags' => $hashtags_e, 'mentions' => $mentions_e, 'txt_cats' => t('Categories:'), 'txt_folders' => t('Filed under:'), 'has_cats' => count($categories) ? 'true' : '', 'has_folders' => count($folders) ? 'true' : '', 'categories' => $categories, 'folders' => $folders, 'text' => strip_tags($body_e), 'localtime' => datetime_convert('UTC', date_default_timezone_get(), $item['created'], 'r'), 'ago' => $item['app'] ? sprintf(t('%s from %s'), relative_date($item['created']), $item['app']) : relative_date($item['created']), 'location' => $location_e, 'indent' => '', 'owner_name' => $owner_name_e, 'owner_url' => $owner_url, 'owner_photo' => proxy_url($owner_photo), 'plink' => get_plink($item), 'edpost' => false, 'isstarred' => $isstarred, 'star' => $star, 'drop' => $drop, 'vote' => $likebuttons, 'like' => '', 'dislike' => '', 'comment' => '', 'conv' => $preview ? '' : array('href' => $a->get_baseurl($ssl_state) . '/display/' . $item['guid'], 'title' => t('View in context')), 'previewing' => $previewing, 'wait' => t('Please wait'), 'thread_level' => 1);
$arr = array('item' => $item, 'output' => $tmp_item);
call_hooks('display_item', $arr);
$threads[$threadsid]['id'] = $item['item_id'];
$threads[$threadsid]['network'] = $item['item_network'];
$threads[$threadsid]['items'] = array($arr['output']);
}
} else {
// Normal View
$page_template = get_markup_template("threaded_conversation.tpl");
require_once 'object/Conversation.php';
require_once 'object/Item.php';
$conv = new Conversation($mode, $preview);
// get all the topmost parents
// this shouldn't be needed, as we should have only them in our array
// But for now, this array respects the old style, just in case
$threads = array();
foreach ($items as $item) {
if ($arr_blocked) {
$blocked = false;
foreach ($arr_blocked as $b) {
if ($b && link_compare($item['author-link'], $b)) {
$blocked = true;
break;
}
}
if ($blocked) {
continue;
}
}
// Can we put this after the visibility check?
like_puller($a, $item, $alike, 'like');
like_puller($a, $item, $dlike, 'dislike');
// Only add what is visible
if ($item['network'] === NETWORK_MAIL && local_user() != $item['uid']) {
continue;
}
if (!visible_activity($item)) {
continue;
}
call_hooks('display_item', $arr);
$item['pagedrop'] = $page_dropping;
if ($item['id'] == $item['parent']) {
$item_object = new Item($item);
$conv->add_thread($item_object);
}
}
$threads = $conv->get_template_data($alike, $dlike);
if (!$threads) {
logger('[ERROR] conversation : Failed to get template data.', LOGGER_DEBUG);
$threads = array();
}
}
}
$o = replace_macros($page_template, array('$baseurl' => $a->get_baseurl($ssl_state), '$return_path' => $a->query_string, '$live_update' => $live_update_div, '$remove' => t('remove'), '$mode' => $mode, '$user' => $a->user, '$threads' => $threads, '$dropping' => $page_dropping && feature_enabled(local_user(), 'multi_delete') ? t('Delete Selected Items') : False));
return $o;
}
示例6: conversation
//.........这里部分代码省略.........
$dropping = false;
}
$drop = array('pagedropping' => $page_dropping, 'dropping' => $dropping, 'select' => t('Select'), 'delete' => t('Delete'));
$star = false;
$isstarred = "unstarred icon-star-empty";
$lock = $item['item_private'] || strlen($item['allow_cid']) || strlen($item['allow_gid']) || strlen($item['deny_cid']) || strlen($item['deny_gid']) ? t('Private Message') : false;
$likebuttons = false;
$shareable = false;
$verified = $item['item_flags'] & ITEM_VERIFIED ? t('Message signature validated') : '';
$forged = $item['sig'] && !($item['item_flags'] & ITEM_VERIFIED) ? t('Message signature incorrect') : '';
$unverified = '';
$tags = array();
$terms = get_terms_oftype($item['term'], array(TERM_HASHTAG, TERM_MENTION, TERM_UNKNOWN));
if (count($terms)) {
foreach ($terms as $tag) {
$tags[] = format_term_for_display($tag);
}
}
$body = prepare_body($item, true);
$tmp_item = array('template' => $tpl, 'toplevel' => 'toplevel_item', 'mode' => $mode, 'id' => $preview ? 'P0' : $item['item_id'], 'linktitle' => sprintf(t('View %s\'s profile @ %s'), $profile_name, $profile_url), 'profile_url' => $profile_link, 'item_photo_menu' => item_photo_menu($item), 'name' => $profile_name, 'sparkle' => $sparkle, 'lock' => $lock, 'thumb' => $profile_avatar, 'title' => $item['title'], 'body' => $body, 'tags' => $tags, 'hashtags' => $hashtags, 'mentions' => $mentions, 'verified' => $verified, 'unverified' => $unverified, 'forged' => $forged, 'txt_cats' => t('Categories:'), 'txt_folders' => t('Filed under:'), 'has_cats' => count($categories) ? 'true' : '', 'has_folders' => count($folders) ? 'true' : '', 'categories' => $categories, 'folders' => $folders, 'text' => strip_tags($body), 'ago' => relative_date($item['created']), 'app' => $item['app'], 'str_app' => sprintf(t(' from %s'), $item['app']), 'isotime' => datetime_convert('UTC', date_default_timezone_get(), $item['created'], 'c'), 'localtime' => datetime_convert('UTC', date_default_timezone_get(), $item['created'], 'r'), 'editedtime' => $item['edited'] != $item['created'] ? sprintf(t('last edited: %s'), datetime_convert('UTC', date_default_timezone_get(), $item['edited'], 'r')) : '', 'expiretime' => $item['expires'] !== NULL_DATE ? sprintf(t('Expires: %s'), datetime_convert('UTC', date_default_timezone_get(), $item['expires'], 'r')) : '', 'location' => $location, 'indent' => '', 'owner_name' => $owner_name, 'owner_url' => $owner_url, 'owner_photo' => $owner_photo, 'plink' => get_plink($item, false), 'edpost' => false, 'isstarred' => $isstarred, 'star' => $star, 'drop' => $drop, 'vote' => $likebuttons, 'like' => '', 'dislike' => '', 'comment' => '', 'conv' => $preview ? '' : array('href' => z_root() . '/display/' . $item['mid'], 'title' => t('View in context')), 'previewing' => $previewing, 'wait' => t('Please wait'), 'thread_level' => 1);
$arr = array('item' => $item, 'output' => $tmp_item);
call_hooks('display_item', $arr);
// $threads[$threadsid]['id'] = $item['item_id'];
$threads[] = $arr['output'];
}
} else {
// Normal View
// logger('conv: items: ' . print_r($items,true));
require_once 'include/ConversationObject.php';
require_once 'include/ItemObject.php';
$conv = new Conversation($mode, $preview, $prepared_item);
// In the display mode we don't have a profile owner.
if ($mode === 'display' && $items) {
$conv->set_profile_owner($items[0]['uid']);
}
// get all the topmost parents
// this shouldn't be needed, as we should have only them in our array
// But for now, this array respects the old style, just in case
$threads = array();
foreach ($items as $item) {
// Check for any blocked authors
if ($arr_blocked) {
$blocked = false;
foreach ($arr_blocked as $b) {
if ($b && $item['author_xchan'] == $b) {
$blocked = true;
break;
}
}
if ($blocked) {
continue;
}
}
// Check all the kids too
if ($arr_blocked && $item['children']) {
for ($d = 0; $d < count($item['children']); $d++) {
foreach ($arr_blocked as $b) {
if ($b && $item['children'][$d]['author_xchan'] == $b) {
$item['children'][$d]['author_blocked'] = true;
}
}
}
}
builtin_activity_puller($item, $conv_responses);
if (!visible_activity($item)) {
continue;
}
$item['pagedrop'] = $page_dropping;
if ($item['id'] == $item['parent']) {
$item_object = new Item($item);
$conv->add_thread($item_object);
if ($page_mode === 'list') {
$item_object->set_template('conv_list.tpl');
$item_object->set_display_mode('list');
}
}
}
$threads = $conv->get_template_data($conv_responses);
if (!$threads) {
logger('[ERROR] conversation : Failed to get template data.', LOGGER_DEBUG);
$threads = array();
}
}
}
if ($page_mode === 'traditional' || $page_mode === 'preview') {
$page_template = get_markup_template("threaded_conversation.tpl");
} elseif ($update) {
$page_template = get_markup_template("convobj.tpl");
} else {
$page_template = get_markup_template("conv_frame.tpl");
$threads = null;
}
// if($page_mode === 'preview')
// logger('preview: ' . print_r($threads,true));
// Do not un-comment if smarty3 is in use
// logger('page_template: ' . $page_template);
// logger('nouveau: ' . print_r($threads,true));
$o .= replace_macros($page_template, array('$baseurl' => $a->get_baseurl($ssl_state), '$photo_item' => $content_html, '$live_update' => $live_update_div, '$remove' => t('remove'), '$mode' => $mode, '$user' => $a->user, '$threads' => $threads, '$wait' => t('Loading...'), '$dropping' => $page_dropping ? t('Delete Selected Items') : False));
return $o;
}