本文整理汇总了PHP中messages_delete_thread函数的典型用法代码示例。如果您正苦于以下问题:PHP messages_delete_thread函数的具体用法?PHP messages_delete_thread怎么用?PHP messages_delete_thread使用的例子?那么, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了messages_delete_thread函数的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: test_get_starred_threads_should_not_include_deleted_thread
/**
* @group bp_messages_filter_starred_message_threads
*/
public function test_get_starred_threads_should_not_include_deleted_thread()
{
$old_current_user = get_current_user_id();
$u1 = $this->factory->user->create();
$u2 = $this->factory->user->create();
// create three threads
$t1 = $this->factory->message->create(array('sender_id' => $u1, 'recipients' => array($u2), 'subject' => 'A'));
$t2 = $this->factory->message->create(array('sender_id' => $u1, 'recipients' => array($u2), 'subject' => 'B'));
$t3 = $this->factory->message->create(array('sender_id' => $u1, 'recipients' => array($u2), 'subject' => 'C'));
// grab the message ids as individual variables
list($m1) = $this->get_message_ids($t1);
list($m2) = $this->get_message_ids($t2);
list($m3) = $this->get_message_ids($t3);
// star all threads
bp_messages_star_set_action(array('user_id' => $u2, 'message_id' => $m1));
bp_messages_star_set_action(array('user_id' => $u2, 'message_id' => $m2));
bp_messages_star_set_action(array('user_id' => $u2, 'message_id' => $m3));
// delete the second thread
$this->set_current_user($u2);
messages_delete_thread($t2);
// load the starred threads loop
global $messages_template;
add_filter('bp_after_has_message_threads_parse_args', 'bp_messages_filter_starred_message_threads');
bp_has_message_threads();
remove_filter('bp_after_has_message_threads_parse_args', 'bp_messages_filter_starred_message_threads');
// assert that second thread isn't in starred thread loop
$thread_ids = wp_list_pluck($messages_template->threads, 'thread_id');
$this->assertFalse(in_array($t2, $thread_ids));
// reset
$this->set_current_user($old_current_user);
}
示例2: test_bp_messages_delete_metadata_cache_on_thread_delete
/**
* @group bp_messages_delete_meta
* @group messages_delete_thread
*/
public function test_bp_messages_delete_metadata_cache_on_thread_delete()
{
$this->old_current_user = get_current_user_id();
$u1 = $this->factory->user->create();
$u2 = $this->factory->user->create();
// create the thread
$t1 = $this->factory->message->create(array('sender_id' => $u1, 'recipients' => array($u2), 'subject' => 'Oy'));
// create a reply
$this->factory->message->create(array('thread_id' => $t1, 'sender_id' => $u2, 'recipients' => array($u1), 'content' => 'Yo'));
// add message meta
list($m1, $m2) = $this->get_message_ids($t1);
bp_messages_update_meta($m1, 'yolo', 'gah');
bp_messages_update_meta($m2, 'yolo', 'bah');
// prime message meta cache
bp_messages_get_meta($m1, 'yolo');
bp_messages_get_meta($m2, 'yolo');
// delete thread
// to outright delete a thread, both recipients must delete it
$this->set_current_user($u1);
messages_delete_thread($t1);
$this->set_current_user($u2);
messages_delete_thread($t1);
// assert empty meta cache
$this->assertEmpty(wp_cache_get($m1, 'message_meta'));
$this->assertEmpty(wp_cache_get($m2, 'message_meta'));
// cleanup
$this->set_current_user($this->old_current_user);
}
示例3: messages_action_bulk_delete
function messages_action_bulk_delete()
{
if (!bp_is_messages_component() || !bp_is_action_variable('bulk-delete', 0)) {
return false;
}
$thread_ids = $_POST['thread_ids'];
if (!$thread_ids || !messages_check_thread_access($thread_ids)) {
bp_core_redirect(trailingslashit(bp_displayed_user_domain() . bp_get_messages_slug() . '/' . bp_current_action()));
} else {
if (!check_admin_referer('messages_delete_thread')) {
return false;
}
if (!messages_delete_thread($thread_ids)) {
bp_core_add_message(__('There was an error deleting messages.', 'buddypress'), 'error');
} else {
bp_core_add_message(__('Messages deleted.', 'buddypress'));
}
bp_core_redirect(trailingslashit(bp_displayed_user_domain() . bp_get_messages_slug() . '/' . bp_current_action()));
}
}
示例4: messages_action_bulk_delete
function messages_action_bulk_delete() {
global $bp, $thread_ids;
if ( $bp->current_component != $bp->messages->slug || $bp->action_variables[0] != 'bulk-delete' )
return false;
$thread_ids = $_POST['thread_ids'];
if ( !$thread_ids || !messages_check_thread_access($thread_ids) ) {
bp_core_redirect( $bp->displayed_user->domain . $bp->current_component . '/' . $bp->current_action );
} else {
if ( !check_admin_referer( 'messages_delete_thread' ) )
return false;
if ( !messages_delete_thread( $thread_ids ) ) {
bp_core_add_message( __('There was an error deleting messages.', 'buddypress'), 'error' );
} else {
bp_core_add_message( __('Messages deleted.', 'buddypress') );
}
bp_core_redirect( $bp->loggedin_user->domain . $bp->current_component . '/' . $bp->current_action );
}
}
示例5: bp_legacy_theme_ajax_messages_delete
/**
* Delete a private message(s) in your inbox via a POST request.
*
* @return string HTML
* @since BuddyPress (1.2)
*/
function bp_legacy_theme_ajax_messages_delete()
{
// Bail if not a POST action
if ('POST' !== strtoupper($_SERVER['REQUEST_METHOD'])) {
return;
}
if (!isset($_POST['thread_ids'])) {
echo "-1<div id='message' class='error'><p>" . __('There was a problem deleting messages.', 'buddypress') . '</p></div>';
} else {
$thread_ids = wp_parse_id_list($_POST['thread_ids']);
messages_delete_thread($thread_ids);
_e('Messages deleted.', 'buddypress');
}
exit;
}
示例6: test_get_recipients_cache_should_be_busted_when_array_of_threads_is_deleted
/**
* @group get_recipients
* @group cache
*/
public function test_get_recipients_cache_should_be_busted_when_array_of_threads_is_deleted()
{
global $wpdb;
$u1 = $this->factory->user->create();
$u2 = $this->factory->user->create();
$t1 = $this->factory->message->create(array('sender_id' => $u1, 'recipients' => array($u2), 'subject' => 'Foo'));
$thread = new BP_Messages_Thread($t1);
$recipients = $thread->get_recipients();
// Verify that the cache is populated.
$num_queries = $wpdb->num_queries;
$recipients_cached = $thread->get_recipients();
$this->assertEquals($num_queries, $wpdb->num_queries);
messages_delete_thread(array($t1));
// Cache should be empty.
$this->assertFalse(wp_cache_get('thread_recipients_' . $t1, 'bp_messages'));
}
示例7: delete_item
/**
* Delete a single message
*
* @param WP_REST_Request $request Full details about the request.
* @return WP_Error|WP_REST_Response
*/
public function delete_item($request)
{
$id = (int) $request['id'];
if (!bp_thread_has_messages(array('thread_id' => $id))) {
return new WP_Error('bp_json_message', __('Message Not Found.', BP_API_PLUGIN_SLUG), array('status' => 404));
}
$deleted = messages_delete_thread($id);
if (!$deleted) {
return new WP_Error('bp_json_message_cannot_be_deleted', __('The message cannot be deleted.', BP_API_PLUGIN_SLUG), array('status' => 500));
}
return new WP_Error('bp_json_message_deleted', __('Message deleted successfully.', BP_API_PLUGIN_SLUG), array('status' => 200));
}
示例8: test_messages_notifications_should_be_deleted_when_corresponding_message_is_deleted
/**
* @ticket BP6329
*/
public function test_messages_notifications_should_be_deleted_when_corresponding_message_is_deleted()
{
if (!bp_is_active('messages')) {
$this->markTestSkipped(__METHOD__ . ' requires the Messages component.');
}
$u1 = $this->factory->user->create();
$u2 = $this->factory->user->create();
$t1 = messages_new_message(array('sender_id' => $u1, 'recipients' => array($u2), 'subject' => 'A new message', 'content' => 'Hey there!'));
// Verify that a notification has been created for the message.
$n1 = BP_Notifications_Notification::get(array('component' => 'messages', 'user_id' => $u2));
$this->assertNotEmpty($n1);
$this->assertTrue(messages_delete_thread($t1));
$n2 = BP_Notifications_Notification::get(array('component' => 'messages', 'user_id' => $u2));
$this->assertSame(array(), $n2);
}