[ Index ]

PHP Cross Reference of BuddyPress

title

Body

[close]

/src/bp-forums/bbpress/bb-admin/ -> delete-post.php (source)

   1  <?php
   2  require ('admin-action.php');
   3  
   4  $post_id = (int) $_GET['id'];
   5  
   6  if ( !bb_current_user_can( 'delete_post', $post_id ) ) {
   7      wp_redirect( bb_get_uri(null, null, BB_URI_CONTEXT_HEADER) );
   8      exit;
   9  }
  10  
  11  bb_check_admin_referer( 'delete-post_' . $post_id );
  12  
  13  $status  = (int) $_GET['status'];
  14  $bb_post = bb_get_post ( $post_id );
  15  $old_status = (int) $bb_post->post_status;
  16  
  17  if ( !$bb_post )
  18      bb_die(__('There is a problem with that post, pardner.'));
  19  
  20  if ( 0 == $status && 0 != $bb_post->post_status ) // We're undeleting
  21      add_filter('bb_delete_post', 'bb_topics_replied_on_undelete_post');
  22  
  23  bb_delete_post( $post_id, $status );
  24  
  25  $message = '';
  26  switch ( $old_status ) {
  27      case 0:
  28          switch ( $status ) {
  29              case 0:
  30                  break;
  31              case 1:
  32                  $message = 'deleted';
  33                  break;
  34              default:
  35                  $message = 'spammed';
  36                  break;
  37          }
  38          break;
  39      case 1:
  40          switch ( $status ) {
  41              case 0:
  42                  $message = 'undeleted';
  43                  break;
  44              case 1:
  45                  break;
  46              default:
  47                  $message = 'spammed';
  48                  break;
  49          }
  50          break;
  51      default:
  52          switch ( $status ) {
  53              case 0:
  54                  $message = 'unspammed-normal';
  55                  break;
  56              case 1:
  57                  $message = 'unspammed-deleted';
  58                  break;
  59              default:
  60                  break;
  61          }
  62          break;
  63  }
  64  
  65  $topic = get_topic( $bb_post->topic_id );
  66  
  67  if ( $sendto = wp_get_referer() ) {
  68      $sendto = remove_query_arg( 'message', $sendto );
  69      $sendto = add_query_arg( 'message', $message, $sendto );
  70      $send_to_topic = bb_get_topic_from_uri( $sendto );
  71      if ( $send_to_topic && $topic->topic_id == $send_to_topic->topic_id )
  72          $sendto = add_query_arg( 'view', 'all', $sendto );
  73  } else if ( $topic->topic_posts == 0 ) {
  74      $sendto = get_forum_link( $topic->forum_id );
  75  } else {
  76      $the_page = bb_get_page_number( $bb_post->post_position );
  77      $sendto = get_topic_link( $bb_post->topic_id, $the_page );
  78  }
  79  
  80  bb_safe_redirect( $sendto );
  81  exit;


Generated: Thu Dec 7 01:01:35 2017 Cross-referenced by PHPXref 0.7.1