当前位置: 首页>>代码示例>>PHP>>正文


PHP bp_notifications_mark_notifications_by_item_id函数代码示例

本文整理汇总了PHP中bp_notifications_mark_notifications_by_item_id函数的典型用法代码示例。如果您正苦于以下问题:PHP bp_notifications_mark_notifications_by_item_id函数的具体用法?PHP bp_notifications_mark_notifications_by_item_id怎么用?PHP bp_notifications_mark_notifications_by_item_id使用的例子?那么, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了bp_notifications_mark_notifications_by_item_id函数的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: bp_messages_screen_conversation_mark_notifications

/**
 * Mark new message notification when member reads a message thread directly.
 *
 * @since BuddyPress (1.9.0)
 */
function bp_messages_screen_conversation_mark_notifications()
{
    if (bp_is_active('notifications')) {
        global $thread_template;
        // get unread PM notifications for the user
        $new_pm_notifications = BP_Notifications_Notification::get(array('user_id' => bp_loggedin_user_id(), 'component_name' => buddypress()->messages->id, 'component_action' => 'new_message', 'is_new' => 1));
        $unread_message_ids = wp_list_pluck($new_pm_notifications, 'item_id');
        // no unread PMs, so stop!
        if (empty($unread_message_ids)) {
            return;
        }
        // get the unread message ids for this thread only
        $message_ids = array_intersect($unread_message_ids, wp_list_pluck($thread_template->thread->messages, 'id'));
        // mark each notification for each PM message as read
        foreach ($message_ids as $message_id) {
            bp_notifications_mark_notifications_by_item_id(bp_loggedin_user_id(), (int) $message_id, buddypress()->messages->id, 'new_message');
        }
    }
}
开发者ID:kosir,项目名称:thatcamp-org,代码行数:24,代码来源:bp-messages-notifications.php

示例2: bp_groups_accept_invite_mark_notifications

/**
 * Mark notifications read when a member accepts a group invitation.
 *
 * @since 1.9.0
 *
 * @param int $user_id  ID of the user.
 * @param int $group_id ID of the group.
 */
function bp_groups_accept_invite_mark_notifications($user_id, $group_id)
{
    if (bp_is_active('notifications')) {
        bp_notifications_mark_notifications_by_item_id($user_id, $group_id, buddypress()->groups->id, 'group_invite');
    }
}
开发者ID:buddypress,项目名称:BuddyPress-build,代码行数:14,代码来源:bp-groups-notifications.php

示例3: bp_activity_remove_screen_notifications_single_activity_permalink

/**
 * Mark at-mention notification as read when user visits the activity with the mention.
 *
 * @since 2.0.0
 *
 * @param BP_Activity_Activity $activity Activity object.
 */
function bp_activity_remove_screen_notifications_single_activity_permalink($activity)
{
    if (!bp_is_active('notifications')) {
        return;
    }
    if (!is_user_logged_in()) {
        return;
    }
    // Mark as read any notifications for the current user related to this activity item.
    bp_notifications_mark_notifications_by_item_id(bp_loggedin_user_id(), $activity->id, buddypress()->activity->id, 'new_at_mention');
}
开发者ID:mawilliamson,项目名称:wordpress,代码行数:18,代码来源:bp-activity-notifications.php

示例4: wp_idea_stream_buddypress_comments_mark_notifications_read

/**
 * Mark notification(s) as read
 *
 * @package WP Idea Stream
 * @subpackage buddypress/notifications
 *
 * @since  2.0.0
 *
 * @uses   wp_idea_stream_is_single_idea() to check if viewing the single template of an idea
 * @uses   bp_notifications_mark_notifications_by_item_id() to mark notifications as read
 * @uses   bp_loggedin_user_id() to get the logged in user ID
 * @uses   wp_idea_stream_get_single_idea_id() to get the ID of the idea being viewed
 * @uses   buddypress() to get BuddyPress instance
 * @uses   wp_idea_stream_get_post_type() to get the ideas post type identifier
 * @uses   bp_is_user() to check a user's profile is displayed
 * @uses   bp_is_current_component( 'ideastream' ) to check it's an IdeaStream part of the profile
 * @uses   bp_notifications_mark_notifications_by_type() to mark notifications as read
 */
function wp_idea_stream_buddypress_comments_mark_notifications_read()
{
    if (!empty($_GET['notif'])) {
        if (wp_idea_stream_is_single_idea()) {
            bp_notifications_mark_notifications_by_item_id(bp_loggedin_user_id(), wp_idea_stream_get_single_idea_id(), buddypress()->ideastream->id, 'new_' . wp_idea_stream_get_post_type() . '_comment');
            bp_notifications_mark_notifications_by_item_id(bp_loggedin_user_id(), wp_idea_stream_get_single_idea_id(), buddypress()->ideastream->id, 'new_' . wp_idea_stream_get_post_type() . '_rate');
        }
        if (bp_is_user() && bp_is_current_component('ideastream')) {
            bp_notifications_mark_notifications_by_type(bp_loggedin_user_id(), buddypress()->ideastream->id, 'new_' . wp_idea_stream_get_post_type() . '_comment');
            bp_notifications_mark_notifications_by_type(bp_loggedin_user_id(), buddypress()->ideastream->id, 'new_' . wp_idea_stream_get_post_type() . '_rate');
        }
    }
}
开发者ID:mrjarbenne,项目名称:wp-idea-stream,代码行数:31,代码来源:notifications.php

示例5: bbp_buddypress_mark_notifications

/**
 * Mark notifications as read when reading a topic
 *
 * @since 2.5.0 bbPress (r5155)
 *
 * @return If not trying to mark a notification as read
 */
function bbp_buddypress_mark_notifications($action = '')
{
    // Bail if no topic ID is passed
    if (empty($_GET['topic_id'])) {
        return;
    }
    // Bail if action is not for this function
    if ('bbp_mark_read' !== $action) {
        return;
    }
    // Get required data
    $user_id = bp_loggedin_user_id();
    $topic_id = intval($_GET['topic_id']);
    // Check nonce
    if (!bbp_verify_nonce_request('bbp_mark_topic_' . $topic_id)) {
        bbp_add_error('bbp_notification_topic_id', __('<strong>ERROR</strong>: Are you sure you wanted to do that?', 'bbpress'));
        // Check current user's ability to edit the user
    } elseif (!current_user_can('edit_user', $user_id)) {
        bbp_add_error('bbp_notification_permissions', __('<strong>ERROR</strong>: You do not have permission to mark notifications for that user.', 'bbpress'));
    }
    // Bail if we have errors
    if (!bbp_has_errors()) {
        // Attempt to clear notifications for the current user from this topic
        $success = bp_notifications_mark_notifications_by_item_id($user_id, $topic_id, bbp_get_component_name(), 'bbp_new_reply');
        // Do additional subscriptions actions
        do_action('bbp_notifications_handler', $success, $user_id, $topic_id, $action);
    }
    // Redirect to the topic
    $redirect = bbp_get_reply_url($topic_id);
    // Redirect
    bbp_redirect($redirect);
}
开发者ID:joeyblake,项目名称:bbpress,代码行数:39,代码来源:notifications.php

示例6: bp_friends_add_friendship_accepted_notification

/**
 * Notify a member when another member accepts their virtual friendship request.
 *
 * @since 1.9.0
 *
 * @param int $friendship_id     The unique ID of the friendship.
 * @param int $initiator_user_id The friendship initiator user ID.
 * @param int $friend_user_id    The friendship request receiver user ID.
 */
function bp_friends_add_friendship_accepted_notification($friendship_id, $initiator_user_id, $friend_user_id)
{
    // Bail if notifications is not active.
    if (!bp_is_active('notifications')) {
        return;
    }
    // Remove the friend request notice.
    bp_notifications_mark_notifications_by_item_id($friend_user_id, $initiator_user_id, buddypress()->friends->id, 'friendship_request');
    // Add a friend accepted notice for the initiating user.
    bp_notifications_add_notification(array('user_id' => $initiator_user_id, 'item_id' => $friend_user_id, 'secondary_item_id' => $friendship_id, 'component_name' => buddypress()->friends->id, 'component_action' => 'friendship_accepted', 'date_notified' => bp_core_current_time(), 'is_new' => 1));
}
开发者ID:sourabh-mehra,项目名称:ASVYS-Charity-Foundation,代码行数:20,代码来源:bp-friends-notifications.php

示例7: bp_groups_accept_request_mark_notifications

/**
 * Mark notifications read when a member's group membership request is granted.
 *
 * @since 2.8.0
 *
 * @param int $user_id  ID of the user.
 * @param int $group_id ID of the group.
 */
function bp_groups_accept_request_mark_notifications($user_id, $group_id)
{
    if (bp_is_active('notifications')) {
        // First null parameter marks read for all admins.
        bp_notifications_mark_notifications_by_item_id(null, $group_id, buddypress()->groups->id, 'new_membership_request', $user_id);
    }
}
开发者ID:CompositeUK,项目名称:clone.BuddyPress,代码行数:15,代码来源:bp-groups-notifications.php

示例8: bp_compliments_notifications_mark_compliments_as_read

/**
 * Marks a compliment as read when 'bpc_read' is set.
 *
 * @since 0.0.2
 * @package BuddyPress_Compliments
 *
 * @global object $bp BuddyPress instance.
 */
function bp_compliments_notifications_mark_compliments_as_read()
{
    if (!bp_is_user() || !is_user_logged_in()) {
        return;
    }
    if (!isset($_GET['bpc_read']) || !isset($_GET['bpc_sender_id'])) {
        return;
    }
    $compliment_id = false;
    if (isset($_GET['c_id'])) {
        $compliment_id = (int) strip_tags(esc_sql($_GET['c_id']));
    }
    $sender_id = (int) strip_tags(esc_sql($_GET['bpc_sender_id']));
    if (!is_int($sender_id)) {
        return;
    }
    // mark notification as read
    if (bp_is_active('notifications')) {
        bp_notifications_mark_notifications_by_item_id(bp_loggedin_user_id(), $sender_id, buddypress()->compliments->id, 'new_compliment');
        // check if we're not on BP 1.9
        // if so, delete notification since marked functionality doesn't exist
    } elseif (!class_exists('BP_Core_Login_Widget')) {
        global $bp;
        bp_core_delete_notifications_by_item_id(bp_loggedin_user_id(), $sender_id, buddypress()->compliments->id, 'new_compliment');
    }
    // Redirect
    if ($compliment_id) {
        bp_core_redirect(bp_displayed_user_domain() . BP_COMPLIMENTS_SLUG . '/?c_id=' . $compliment_id);
    } else {
        bp_core_redirect(bp_displayed_user_domain() . BP_COMPLIMENTS_SLUG . '/');
    }
}
开发者ID:kprajapatii,项目名称:buddypress-compliments,代码行数:40,代码来源:bp-compliments-notifications.php

示例9: bp_follow_notifications_mark_follower_profile_as_read

/**
 * Mark notification as read when a logged-in user visits their follower's profile.
 *
 * This is a new feature in BuddyPress 1.9.
 *
 * @since 1.2.1
 */
function bp_follow_notifications_mark_follower_profile_as_read()
{
    if (!isset($_GET['bpf_read'])) {
        return;
    }
    // mark notification as read
    if (bp_is_active('notifications')) {
        bp_notifications_mark_notifications_by_item_id(bp_loggedin_user_id(), bp_displayed_user_id(), buddypress()->follow->id, 'new_follow');
        // check if we're not on BP 1.9
        // if so, delete notification since marked functionality doesn't exist
    } elseif (!class_exists('BP_Core_Login_Widget')) {
        global $bp;
        bp_core_delete_notifications_by_item_id(bp_loggedin_user_id(), bp_displayed_user_id(), $bp->follow->id, 'new_follow');
    }
}
开发者ID:vikramshaw,项目名称:buddypress-followers,代码行数:22,代码来源:notifications.php

示例10: rendez_vous_remove_current_attend_notifications

/**
 * Mark screen notifications
 *
 * @package Rendez Vous
 * @subpackage Notifications
 *
 * @since Rendez Vous (1.0.0)
 */
function rendez_vous_remove_current_attend_notifications()
{
    if (!isset($_GET['rdv']) || !isset($_GET['n'])) {
        return;
    }
    $bp = buddypress();
    /**
     * Removing all for the current user & current rendez-vous
     */
    bp_notifications_mark_notifications_by_item_id(bp_loggedin_user_id(), $_GET['rdv'], buddypress()->rendez_vous->id, false);
}
开发者ID:socialray,项目名称:surfied-2-0,代码行数:19,代码来源:rendez-vous-notifications.php

示例11: test_bp_notifications_get_unread_notification_count_cache

 /**
  * @group bp_notifications_get_unread_notification_count
  * @group cache
  */
 public function test_bp_notifications_get_unread_notification_count_cache()
 {
     $u1 = $this->factory->user->create();
     $u2 = $this->factory->user->create();
     $this->factory->notification->create(array('component_name' => 'messages', 'component_action' => 'new_message', 'item_id' => 99, 'user_id' => $u2, 'secondary_item_id' => $u1, 'is_new' => true));
     // prime cache
     bp_notifications_get_unread_notification_count($u2);
     // mark the created notification as read
     bp_notifications_mark_notifications_by_item_id($u2, 99, 'messages', 'new_message', $u1);
     // now grab the updated notification count
     $n = bp_notifications_get_unread_notification_count($u2);
     // assert
     $this->assertEquals(0, $n);
 }
开发者ID:JeroenNouws,项目名称:BuddyPress,代码行数:18,代码来源:functions.php

示例12: likebtn_bbp_buddypress_mark_notifications

function likebtn_bbp_buddypress_mark_notifications()
{
    global $wp;
    $action = '';
    if (isset($_GET['action'])) {
        $action = $_GET['action'];
    }
    // Bail if action is not for this function
    if ('likebtn_bp_mark_read' !== $action) {
        return;
    }
    if (empty($_GET['likebtn_bp_params']) || empty($_GET['_wpnonce'])) {
        return;
    }
    $params = json_decode(base64_decode($_GET['likebtn_bp_params']), true);
    if (empty($params['item_id']) || empty($params['secondary_item_id']) || empty($params['component_action'])) {
        return;
    }
    // Get required data
    $user_id = bp_loggedin_user_id();
    $errors = false;
    $none_name = 'likebtn_bp_mark_read_' . md5($params['component_action'] . $params['item_id'] . $params['secondary_item_id']);
    // Check nonce
    if (!wp_verify_nonce($_GET['_wpnonce'], $none_name)) {
        $errors = true;
    } elseif (!current_user_can('edit_user', $user_id)) {
        // Check current user's ability to edit the user
        $errors = true;
    }
    // Bail if we have errors
    if (!$errors) {
        // Attempt to clear notifications for the current user from this topic
        $success = bp_notifications_mark_notifications_by_item_id($user_id, $params['item_id'], LIKEBTN_BP_COMPONENT_NAME, $params['component_action'], $params['secondary_item_id']);
    }
    // Redirect url
    $current_url = add_query_arg($wp->query_string, '', home_url($wp->request));
    $redirect_url = add_query_arg(array('likebtn_bp_params' => false, 'action' => false, '_wpnonce' => false), $current_url);
    // Redirect
    wp_safe_redirect($redirect_url);
    // For good measure
    exit;
}
开发者ID:pslorus,项目名称:WebsiteTinTuc,代码行数:42,代码来源:buddypress.php


注:本文中的bp_notifications_mark_notifications_by_item_id函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。