web/wp-content/plugins/bbpress/includes/extend/buddypress/activity.php
author Anthony Ly <anthonyly.com@gmail.com>
Tue, 12 Mar 2013 18:21:39 +0100
changeset 206 919b4ddb13fa
parent 204 09a1c134465b
permissions -rw-r--r--
modification logo footer cccb
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
196
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
     1
<?php
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
     2
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
     3
/**
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
     4
 * bbPress BuddyPress Activity Class
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
     5
 *
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
     6
 * @package bbPress
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
     7
 * @subpackage BuddyPress
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
     8
 */
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
     9
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    10
// Exit if accessed directly
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    11
if ( !defined( 'ABSPATH' ) ) exit;
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    12
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    13
if ( !class_exists( 'BBP_BuddyPress_Activity' ) ) :
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    14
/**
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    15
 * Loads BuddyPress Activity extension
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    16
 *
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    17
 * @since bbPress (r3395)
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    18
 *
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    19
 * @package bbPress
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    20
 * @subpackage BuddyPress
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    21
 */
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    22
class BBP_BuddyPress_Activity {
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    23
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    24
	/** Variables *************************************************************/
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    25
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    26
	/**
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    27
	 * The name of the BuddyPress component, used in activity streams
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    28
	 *
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    29
	 * @var string
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    30
	 */
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    31
	private $component = '';
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    32
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    33
	/**
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    34
	 * Forum Create Activty Action
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    35
	 *
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    36
	 * @var string
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    37
	 */
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    38
	private $forum_create = '';
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    39
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    40
	/**
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    41
	 * Topic Create Activty Action
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    42
	 *
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    43
	 * @var string
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    44
	 */
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    45
	private $topic_create = '';
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    46
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    47
	/**
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    48
	 * Topic Close Activty Action
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    49
	 *
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    50
	 * @var string
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    51
	 */
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    52
	private $topic_close = '';
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    53
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    54
	/**
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    55
	 * Topic Edit Activty Action
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    56
	 *
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    57
	 * @var string
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    58
	 */
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    59
	private $topic_edit = '';
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    60
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    61
	/**
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    62
	 * Topic Open Activty Action
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    63
	 *
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    64
	 * @var string
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    65
	 */
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    66
	private $topic_open = '';
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    67
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    68
	/**
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    69
	 * Reply Create Activty Action
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    70
	 *
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    71
	 * @var string
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    72
	 */
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    73
	private $reply_create = '';
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    74
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    75
	/**
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    76
	 * Reply Edit Activty Action
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    77
	 *
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    78
	 * @var string
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    79
	 */
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    80
	private $reply_edit = '';
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    81
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    82
	/** Setup Methods *********************************************************/
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    83
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    84
	/**
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    85
	 * The bbPress BuddyPress Activity loader
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    86
	 *
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    87
	 * @since bbPress (r3395)
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    88
	 */
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    89
	public function __construct() {
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    90
		$this->setup_globals();
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    91
		$this->setup_actions();
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    92
		$this->setup_filters();
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    93
		$this->fully_loaded();
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    94
	}
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    95
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    96
	/**
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    97
	 * Extension variables
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    98
	 *
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    99
	 * @since bbPress (r3395)
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   100
	 * @access private
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   101
	 * @uses apply_filters() Calls various filters
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   102
	 */
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   103
	private function setup_globals() {
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   104
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   105
		// The name of the BuddyPress component, used in activity streams
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   106
		$this->component = 'bbpress';
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   107
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   108
		// Forums
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   109
		$this->forum_create = 'bbp_forum_create';
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   110
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   111
		// Topics
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   112
		$this->topic_create = 'bbp_topic_create';
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   113
		$this->topic_edit   = 'bbp_topic_edit';
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   114
		$this->topic_close  = 'bbp_topic_close';
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   115
		$this->topic_open   = 'bbp_topic_open';
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   116
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   117
		// Replies
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   118
		$this->reply_create = 'bbp_reply_create';
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   119
		$this->reply_edit   = 'bbp_reply_edit';
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   120
	}
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   121
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   122
	/**
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   123
	 * Setup the actions
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   124
	 *
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   125
	 * @since bbPress (r3395)
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   126
	 * @access private
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   127
	 * @uses add_filter() To add various filters
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   128
	 * @uses add_action() To add various actions
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   129
	 */
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   130
	private function setup_actions() {
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   131
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   132
		// Register the activity stream actions
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   133
		add_action( 'bp_register_activity_actions',      array( $this, 'register_activity_actions' )        );
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   134
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   135
		// Hook into topic and reply creation
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   136
		add_action( 'bbp_new_topic',                     array( $this, 'topic_create'              ), 10, 4 );
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   137
		add_action( 'bbp_new_reply',                     array( $this, 'reply_create'              ), 10, 5 );
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   138
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   139
		// Hook into topic and reply status changes
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   140
		add_action( 'wp_insert_post',                    array( $this, 'topic_update'              ), 10, 2 );
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   141
		add_action( 'wp_insert_post',                    array( $this, 'reply_update'              ), 10, 2 );
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   142
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   143
		// Hook into topic and reply deletion
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   144
		add_action( 'bbp_delete_topic',                  array( $this, 'topic_delete'              ), 10, 1 );
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   145
		add_action( 'bbp_delete_reply',                  array( $this, 'reply_delete'              ), 10, 1 );
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   146
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   147
		// Append forum filters in site wide activity streams
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   148
		add_action( 'bp_activity_filter_options',        array( $this, 'activity_filter_options'   ), 10    );
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   149
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   150
		// Append forum filters in single member activity streams
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   151
		add_action( 'bp_member_activity_filter_options', array( $this, 'activity_filter_options'   ), 10    );
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   152
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   153
		// Append forum filters in single group activity streams
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   154
		add_action( 'bp_group_activity_filter_options',  array( $this, 'activity_filter_options'   ), 10    );
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   155
	}
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   156
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   157
	/**
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   158
	 * Setup the filters
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   159
	 *
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   160
	 * @since bbPress (r3395)
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   161
	 * @access private
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   162
	 * @uses add_filter() To add various filters
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   163
	 * @uses add_action() To add various actions
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   164
	 */
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   165
	private function setup_filters() {
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   166
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   167
		/** Activity **********************************************************/
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   168
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   169
		// Obey BuddyPress commenting rules
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   170
		add_filter( 'bp_activity_can_comment',   array( $this, 'activity_can_comment'   )        );
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   171
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   172
		// Link directly to the topic or reply
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   173
		add_filter( 'bp_activity_get_permalink', array( $this, 'activity_get_permalink' ), 10, 2 );
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   174
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   175
		/** Mentions **********************************************************/
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   176
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   177
		// Convert mentions into links on create
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   178
		add_filter( 'bbp_new_topic_pre_content',  'bp_activity_at_name_filter' );
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   179
		add_filter( 'bbp_new_reply_pre_content',  'bp_activity_at_name_filter' );
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   180
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   181
		// Convert mentions into links on edit
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   182
		add_filter( 'bbp_edit_topic_pre_content', 'bp_activity_at_name_filter' );
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   183
		add_filter( 'bbp_edit_reply_pre_content', 'bp_activity_at_name_filter' );
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   184
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   185
		// Revert links into text on edit
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   186
		add_filter( 'bbp_get_form_topic_content', array( $this, 'strip_mentions_on_edit' ) );
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   187
		add_filter( 'bbp_get_form_reply_content', array( $this, 'strip_mentions_on_edit' ) );
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   188
	}
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   189
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   190
	/**
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   191
	 * Allow the variables, actions, and filters to be modified by third party
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   192
	 * plugins and themes.
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   193
	 *
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   194
	 * @since bbPress (r3902)
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   195
	 */
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   196
	private function fully_loaded() {
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   197
		do_action_ref_array( 'bbp_buddypress_activity_loaded', array( $this ) );
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   198
	}
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   199
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   200
	/** Methods ***************************************************************/
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   201
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   202
	/**
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   203
	 * Strip out BuddyPress activity at-name HTML on topic/reply edit
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   204
	 *
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   205
	 * Copied from bp_forums_strip_mentions_on_post_edit() in case forums
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   206
	 * component is not active or is not loaded in yet.
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   207
	 *
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   208
	 * @since bbPress (r3475)
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   209
	 * @param type $content Optional
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   210
	 * @uses bp_get_root_domain()
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   211
	 * @uses bp_get_members_root_slug()
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   212
	 * @return string
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   213
	 */
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   214
	public function strip_mentions_on_edit( $content = '' ) {
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   215
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   216
		// Backwards compat for members root slug
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   217
		if ( function_exists( 'bp_get_members_root_slug' ) ) {
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   218
			$members_root = bp_get_members_root_slug();
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   219
		} elseif ( defined( 'BP_MEMBERS_SLUG' ) ) {
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   220
			$members_root = BP_MEMBERS_SLUG;
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   221
		} else {
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   222
			$members_root = 'members';
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   223
		}
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   224
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   225
		$pattern = "|<a href=&#039;" . bp_get_root_domain() . "/" . $members_root . "/[A-Za-z0-9-_\.]+/&#039; rel=&#039;nofollow&#039;>(@[A-Za-z0-9-_\.@]+)</a>|";
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   226
		$content = preg_replace( $pattern, "$1", htmlspecialchars_decode( $content ) );
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   227
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   228
		return $content;
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   229
	}
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   230
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   231
	/**
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   232
	 * Register our activity actions with BuddyPress
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   233
	 *
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   234
	 * @since bbPress (r3395)
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   235
	 * @uses bp_activity_set_action()
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   236
	 */
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   237
	public function register_activity_actions() {
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   238
		bp_activity_set_action( $this->component, $this->topic_create, __( 'New topic created', 'bbpress' ) );
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   239
		bp_activity_set_action( $this->component, $this->reply_create, __( 'New reply created', 'bbpress' ) );
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   240
	}
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   241
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   242
	/**
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   243
	 * Wrapper for recoding bbPress actions to the BuddyPress activity stream
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   244
	 *
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   245
	 * @since bbPress (r3395)
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   246
	 * @param type $args Array of arguments for bp_activity_add()
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   247
	 * @uses bbp_get_current_user_id()
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   248
	 * @uses bp_core_current_time()
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   249
	 * @uses bbp_parse_args()
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   250
	 * @uses aplly_filters()
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   251
	 * @uses bp_activity_add()
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   252
	 * @return type Activity ID if successful, false if not
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   253
	 */
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   254
	private function record_activity( $args = '' ) {
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   255
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   256
		// Default activity args
204
09a1c134465b man wordpress + plugins order post + slideshow
Anthony Ly <anthonyly.com@gmail.com>
parents: 196
diff changeset
   257
		$activity = bbp_parse_args( $args, array(
196
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   258
			'id'                => null,
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   259
			'user_id'           => bbp_get_current_user_id(),
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   260
			'type'              => '',
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   261
			'action'            => '',
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   262
			'item_id'           => '',
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   263
			'secondary_item_id' => '',
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   264
			'content'           => '',
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   265
			'primary_link'      => '',
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   266
			'component'         => $this->component,
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   267
			'recorded_time'     => bp_core_current_time(),
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   268
			'hide_sitewide'     => false
204
09a1c134465b man wordpress + plugins order post + slideshow
Anthony Ly <anthonyly.com@gmail.com>
parents: 196
diff changeset
   269
		), 'record_activity' );
196
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   270
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   271
		// Add the activity
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   272
		return bp_activity_add( $activity );
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   273
	}
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   274
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   275
	/**
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   276
	 * Wrapper for deleting bbPress actions from BuddyPress activity stream
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   277
	 *
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   278
	 * @since bbPress (r3395)
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   279
	 * @param type $args Array of arguments for bp_activity_add()
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   280
	 * @uses bbp_get_current_user_id()
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   281
	 * @uses bp_core_current_time()
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   282
	 * @uses bbp_parse_args()
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   283
	 * @uses aplly_filters()
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   284
	 * @uses bp_activity_add()
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   285
	 * @return type Activity ID if successful, false if not
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   286
	 */
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   287
	public function delete_activity( $args = '' ) {
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   288
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   289
		// Default activity args
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   290
		$defaults = array(
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   291
			'item_id'           => false,
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   292
			'component'         => $this->component,
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   293
			'type'              => false,
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   294
			'user_id'           => false,
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   295
			'secondary_item_id' => false
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   296
		);
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   297
		$activity = bbp_parse_args( $args, $defaults, 'delete_activity' );
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   298
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   299
		// Delete the activity
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   300
		bp_activity_delete_by_item_id( $activity );
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   301
	}
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   302
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   303
	/**
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   304
	 * Check for an existing activity stream entry for a given post_id
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   305
	 *
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   306
	 * @param int $post_id ID of the topic or reply
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   307
	 * @uses get_post_meta()
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   308
	 * @uses bp_activity_get_specific()
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   309
	 * @return int if an activity id is verified, false if not
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   310
	 */
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   311
	private static function get_activity_id( $post_id = 0 ) {
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   312
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   313
		// Try to get the activity ID of the post
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   314
		$activity_id = (int) get_post_meta( $post_id, '_bbp_activity_id', true );
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   315
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   316
		// Bail if no activity ID is in post meta
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   317
		if ( empty( $activity_id ) )
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   318
			return null;
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   319
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   320
		// Get the activity stream item, bail if it doesn't exist
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   321
		$existing = bp_activity_get_specific( array( 'activity_ids' => $activity_id, 'show_hidden' => true, 'spam' => 'all', ) );
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   322
		if ( empty( $existing['total'] ) || ( 1 != $existing['total'] ) )
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   323
			return null;
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   324
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   325
		// Return the activity ID since we've verified the connection
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   326
		return $activity_id;
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   327
	}
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   328
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   329
	/**
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   330
	 * Maybe disable activity stream comments on select actions
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   331
	 *
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   332
	 * @since bbPress (r3399)
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   333
	 * @global BP_Activity_Template $activities_template
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   334
	 * @param boolean $can_comment
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   335
	 * @uses bp_get_activity_action_name()
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   336
	 * @return boolean
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   337
	 */
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   338
	public function activity_can_comment( $can_comment = true ) {
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   339
		global $activities_template;
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   340
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   341
		// Already forced off, so comply
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   342
		if ( false === $can_comment )
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   343
			return $can_comment;
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   344
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   345
		// Check if blog & forum activity stream commenting is off
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   346
		if ( ( false === $activities_template->disable_blogforum_replies ) || (int) $activities_template->disable_blogforum_replies ) {
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   347
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   348
			// Get the current action name
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   349
			$action_name = bp_get_activity_action_name();
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   350
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   351
			// Setup the array of possibly disabled actions
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   352
			$disabled_actions = array(
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   353
				$this->topic_create,
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   354
				$this->reply_create
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   355
			);
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   356
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   357
			// Check if this activity stream action is disabled
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   358
			if ( in_array( $action_name, $disabled_actions ) ) {
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   359
				$can_comment = false;
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   360
			}
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   361
		}
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   362
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   363
		return $can_comment;
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   364
	}
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   365
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   366
	/**
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   367
	 * Maybe link directly to topics and replies in activity stream entries
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   368
	 *
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   369
	 * @since bbPress (r3399)
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   370
	 * @param string $link
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   371
	 * @param mixed $activity_object
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   372
	 * @return string The link to the activity stream item
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   373
	 */
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   374
	public function activity_get_permalink( $link = '', $activity_object = false ) {
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   375
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   376
		// Setup the array of actions to link directly to
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   377
		$disabled_actions = array(
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   378
			$this->topic_create,
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   379
			$this->reply_create
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   380
		);
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   381
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   382
		// Check if this activity stream action is directly linked
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   383
		if ( in_array( $activity_object->type, $disabled_actions ) ) {
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   384
			$link = $activity_object->primary_link;
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   385
		}
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   386
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   387
		return $link;
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   388
	}
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   389
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   390
	/**
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   391
	 * Append forum options to activity filter select box
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   392
	 *
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   393
	 * @since bbPress (r3653)
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   394
	 */
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   395
	function activity_filter_options() {
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   396
	?>
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   397
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   398
		<option value="<?php echo $this->topic_create; ?>"><?php _e( 'Topics',  'bbpress' ); ?></option>
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   399
		<option value="<?php echo $this->reply_create; ?>"><?php _e( 'Replies', 'bbpress' ); ?></option>
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   400
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   401
	<?php
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   402
	}
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   403
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   404
	/** Topics ****************************************************************/
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   405
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   406
	/**
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   407
	 * Record an activity stream entry when a topic is created or updated
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   408
	 *
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   409
	 * @since bbPress (r3395)
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   410
	 * @param int $topic_id
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   411
	 * @param int $forum_id
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   412
	 * @param array $anonymous_data
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   413
	 * @param int $topic_author_id
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   414
	 * @uses bbp_get_topic_id()
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   415
	 * @uses bbp_get_forum_id()
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   416
	 * @uses bbp_get_user_profile_link()
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   417
	 * @uses bbp_get_topic_permalink()
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   418
	 * @uses bbp_get_topic_title()
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   419
	 * @uses bbp_get_topic_content()
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   420
	 * @uses bbp_get_forum_permalink()
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   421
	 * @uses bbp_get_forum_title()
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   422
	 * @uses bp_create_excerpt()
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   423
	 * @uses apply_filters()
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   424
	 * @return Bail early if topic is by anonymous user
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   425
	 */
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   426
	public function topic_create( $topic_id, $forum_id, $anonymous_data, $topic_author_id ) {
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   427
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   428
		// Bail early if topic is by anonymous user
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   429
		if ( !empty( $anonymous_data ) )
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   430
			return;
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   431
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   432
		// Bail if site is private
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   433
		if ( !bbp_is_site_public() )
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   434
			return;
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   435
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   436
		// Validate activity data
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   437
		$user_id  = $topic_author_id;
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   438
		$topic_id = bbp_get_topic_id( $topic_id );
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   439
		$forum_id = bbp_get_forum_id( $forum_id );
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   440
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   441
		// Bail if user is not active
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   442
		if ( bbp_is_user_inactive( $user_id ) )
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   443
			return;
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   444
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   445
		// Bail if topic is not published
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   446
		if ( !bbp_is_topic_published( $topic_id ) )
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   447
			return;
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   448
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   449
		// User link for topic author
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   450
		$user_link  = bbp_get_user_profile_link( $user_id  );
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   451
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   452
		// Topic
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   453
		$topic_permalink = bbp_get_topic_permalink( $topic_id );
204
09a1c134465b man wordpress + plugins order post + slideshow
Anthony Ly <anthonyly.com@gmail.com>
parents: 196
diff changeset
   454
		$topic_title     = get_post_field( 'post_title',   $topic_id, 'raw' );
09a1c134465b man wordpress + plugins order post + slideshow
Anthony Ly <anthonyly.com@gmail.com>
parents: 196
diff changeset
   455
		$topic_content   = get_post_field( 'post_content', $topic_id, 'raw' );
196
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   456
		$topic_link      = '<a href="' . $topic_permalink . '" title="' . $topic_title . '">' . $topic_title . '</a>';
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   457
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   458
		// Forum
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   459
		$forum_permalink = bbp_get_forum_permalink( $forum_id );
204
09a1c134465b man wordpress + plugins order post + slideshow
Anthony Ly <anthonyly.com@gmail.com>
parents: 196
diff changeset
   460
		$forum_title     = get_post_field( 'post_title', $forum_id, 'raw' );
196
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   461
		$forum_link      = '<a href="' . $forum_permalink . '" title="' . $forum_title . '">' . $forum_title . '</a>';
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   462
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   463
		// Activity action & text
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   464
		$activity_text    = sprintf( __( '%1$s started the topic %2$s in the forum %3$s', 'bbpress' ), $user_link, $topic_link, $forum_link    );
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   465
		$activity_action  = apply_filters( 'bbp_activity_topic_create',                $activity_text, $user_id,   $topic_id,   $forum_id      );
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   466
		$activity_content = apply_filters( 'bbp_activity_topic_create_excerpt',        bp_create_excerpt( $topic_content ),     $topic_content );
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   467
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   468
		// Compile the activity stream results
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   469
		$activity = array(
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   470
			'id'                => $this->get_activity_id( $topic_id ),
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   471
			'user_id'           => $user_id,
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   472
			'action'            => $activity_action,
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   473
			'content'           => $activity_content,
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   474
			'primary_link'      => $topic_permalink,
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   475
			'type'              => $this->topic_create,
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   476
			'item_id'           => $topic_id,
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   477
			'secondary_item_id' => $forum_id,
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   478
			'recorded_time'     => get_post_time( 'Y-m-d H:i:s', true, $topic_id ),
204
09a1c134465b man wordpress + plugins order post + slideshow
Anthony Ly <anthonyly.com@gmail.com>
parents: 196
diff changeset
   479
			'hide_sitewide'     => ! bbp_is_forum_public( $forum_id, false )
196
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   480
		);
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   481
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   482
		// Record the activity
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   483
		$activity_id = $this->record_activity( $activity );
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   484
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   485
		// Add the activity entry ID as a meta value to the topic
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   486
		if ( !empty( $activity_id ) ) {
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   487
			update_post_meta( $topic_id, '_bbp_activity_id', $activity_id );
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   488
		}
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   489
	}
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   490
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   491
	/**
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   492
	 * Delete the activity stream entry when a topic is spammed, trashed, or deleted
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   493
	 *
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   494
	 * @param int $topic_id
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   495
	 * @uses bp_activity_delete()
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   496
	 */
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   497
	public function topic_delete( $topic_id ) {
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   498
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   499
		// Get activity ID, bail if it doesn't exist
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   500
		if ( $activity_id = $this->get_activity_id( $topic_id ) )
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   501
			return bp_activity_delete( array( 'id' => $activity_id ) );
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   502
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   503
		return false;		
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   504
	}
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   505
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   506
	/**
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   507
	 * Update the activity stream entry when a topic status changes
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   508
	 *
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   509
	 * @param int $post_id
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   510
	 * @param obj $post
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   511
	 * @uses get_post_type()
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   512
	 * @uses bbp_get_topic_post_type()
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   513
	 * @uses bbp_get_topic_id()
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   514
	 * @uses bbp_is_topic_anonymous()
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   515
	 * @uses bbp_get_public_status_id()
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   516
	 * @uses bbp_get_closed_status_id()
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   517
	 * @uses bbp_get_topic_forum_id()
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   518
	 * @uses bbp_get_topic_author_id()
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   519
	 * @return Bail early if not a topic, or topic is by anonymous user
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   520
	 */
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   521
	public function topic_update( $topic_id, $post ) {
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   522
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   523
		// Bail early if not a topic
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   524
		if ( get_post_type( $post ) != bbp_get_topic_post_type() )
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   525
			return;
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   526
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   527
		$topic_id = bbp_get_topic_id( $topic_id );
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   528
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   529
		// Bail early if topic is by anonymous user
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   530
		if ( bbp_is_topic_anonymous( $topic_id ) )
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   531
			return;
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   532
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   533
		$anonymous_data = array();
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   534
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   535
		// Action based on new status
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   536
		if ( in_array( $post->post_status, array( bbp_get_public_status_id(), bbp_get_closed_status_id() ) ) ) {
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   537
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   538
			// Validate topic data
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   539
			$forum_id        = bbp_get_topic_forum_id( $topic_id );
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   540
			$topic_author_id = bbp_get_topic_author_id( $topic_id );
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   541
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   542
			$this->topic_create( $topic_id, $forum_id, $anonymous_data, $topic_author_id );
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   543
		} else {
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   544
			$this->topic_delete( $topic_id );
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   545
		}
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   546
	}
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   547
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   548
	/** Replies ***************************************************************/
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   549
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   550
	/**
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   551
	 * Record an activity stream entry when a reply is created
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   552
	 *
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   553
	 * @since bbPress (r3395)
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   554
	 * @param int $topic_id
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   555
	 * @param int $forum_id
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   556
	 * @param array $anonymous_data
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   557
	 * @param int $topic_author_id
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   558
	 * @uses bbp_get_reply_id()
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   559
	 * @uses bbp_get_topic_id()
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   560
	 * @uses bbp_get_forum_id()
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   561
	 * @uses bbp_get_user_profile_link()
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   562
	 * @uses bbp_get_reply_url()
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   563
	 * @uses bbp_get_reply_content()
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   564
	 * @uses bbp_get_topic_permalink()
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   565
	 * @uses bbp_get_topic_title()
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   566
	 * @uses bbp_get_forum_permalink()
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   567
	 * @uses bbp_get_forum_title()
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   568
	 * @uses bp_create_excerpt()
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   569
	 * @uses apply_filters()
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   570
	 * @return Bail early if topic is by anonywous user
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   571
	 */
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   572
	public function reply_create( $reply_id, $topic_id, $forum_id, $anonymous_data, $reply_author_id ) {
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   573
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   574
		// Do not log activity of anonymous users
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   575
		if ( !empty( $anonymous_data ) )
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   576
			return;
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   577
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   578
		// Bail if site is private
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   579
		if ( !bbp_is_site_public() )
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   580
			return;
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   581
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   582
		// Validate activity data
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   583
		$user_id  = $reply_author_id;
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   584
		$reply_id = bbp_get_reply_id( $reply_id );
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   585
		$topic_id = bbp_get_topic_id( $topic_id );
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   586
		$forum_id = bbp_get_forum_id( $forum_id );
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   587
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   588
		// Bail if user is not active
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   589
		if ( bbp_is_user_inactive( $user_id ) )
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   590
			return;
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   591
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   592
		// Bail if reply is not published
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   593
		if ( !bbp_is_reply_published( $reply_id ) )
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   594
			return;
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   595
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   596
		// Setup links for activity stream
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   597
		$user_link  = bbp_get_user_profile_link( $user_id  );
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   598
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   599
		// Reply
204
09a1c134465b man wordpress + plugins order post + slideshow
Anthony Ly <anthonyly.com@gmail.com>
parents: 196
diff changeset
   600
		$reply_url     = bbp_get_reply_url( $reply_id );
09a1c134465b man wordpress + plugins order post + slideshow
Anthony Ly <anthonyly.com@gmail.com>
parents: 196
diff changeset
   601
		$reply_content = get_post_field( 'post_content', $reply_id, 'raw' );
196
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   602
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   603
		// Topic
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   604
		$topic_permalink = bbp_get_topic_permalink( $topic_id );
204
09a1c134465b man wordpress + plugins order post + slideshow
Anthony Ly <anthonyly.com@gmail.com>
parents: 196
diff changeset
   605
		$topic_title     = get_post_field( 'post_title', $topic_id, 'raw' );
196
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   606
		$topic_link      = '<a href="' . $topic_permalink . '" title="' . $topic_title . '">' . $topic_title . '</a>';
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   607
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   608
		// Forum
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   609
		$forum_permalink = bbp_get_forum_permalink( $forum_id );
204
09a1c134465b man wordpress + plugins order post + slideshow
Anthony Ly <anthonyly.com@gmail.com>
parents: 196
diff changeset
   610
		$forum_title     = get_post_field( 'post_title', $forum_id, 'raw' );
196
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   611
		$forum_link      = '<a href="' . $forum_permalink . '" title="' . $forum_title . '">' . $forum_title . '</a>';
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   612
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   613
		// Activity action & text
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   614
		$activity_text    = sprintf( __( '%1$s replied to the topic %2$s in the forum %3$s', 'bbpress' ), $user_link, $topic_link, $forum_link    );
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   615
		$activity_action  = apply_filters( 'bbp_activity_reply_create',         $activity_text, $user_id,   $reply_id,   $topic_id      );
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   616
		$activity_content = apply_filters( 'bbp_activity_reply_create_excerpt', bp_create_excerpt( $reply_content ),     $reply_content );
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   617
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   618
		// Compile the activity stream results
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   619
		$activity = array(
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   620
			'id'                => $this->get_activity_id( $reply_id ),
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   621
			'user_id'           => $user_id,
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   622
			'action'            => $activity_action,
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   623
			'content'           => $activity_content,
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   624
			'primary_link'      => $reply_url,
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   625
			'type'              => $this->reply_create,
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   626
			'item_id'           => $reply_id,
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   627
			'secondary_item_id' => $topic_id,
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   628
			'recorded_time'     => get_post_time( 'Y-m-d H:i:s', true, $reply_id ),
204
09a1c134465b man wordpress + plugins order post + slideshow
Anthony Ly <anthonyly.com@gmail.com>
parents: 196
diff changeset
   629
			'hide_sitewide'     => ! bbp_is_forum_public( $forum_id, false )
196
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   630
		);
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   631
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   632
		// Record the activity
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   633
		$activity_id = $this->record_activity( $activity );
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   634
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   635
		// Add the activity entry ID as a meta value to the reply
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   636
		if ( !empty( $activity_id ) ) {
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   637
			update_post_meta( $reply_id, '_bbp_activity_id', $activity_id );
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   638
		}
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   639
	}
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   640
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   641
 	/**
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   642
	 * Delete the activity stream entry when a reply is spammed, trashed, or deleted
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   643
	 *
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   644
	 * @param int $reply_id
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   645
	 * @uses get_post_meta()
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   646
	 * @uses bp_activity_delete()
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   647
	 */
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   648
	public function reply_delete( $reply_id ) {
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   649
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   650
		// Get activity ID, bail if it doesn't exist
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   651
		if ( $activity_id = $this->get_activity_id( $reply_id ) )
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   652
			return bp_activity_delete( array( 'id' => $activity_id ) );
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   653
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   654
		return false;		
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   655
	}
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   656
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   657
	/**
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   658
	 * Update the activity stream entry when a reply status changes
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   659
	 *
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   660
	 * @param int $post_id
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   661
	 * @param obj $post
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   662
	 * @uses get_post_type()
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   663
	 * @uses bbp_get_reply_post_type()
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   664
	 * @uses bbp_get_reply_id()
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   665
	 * @uses bbp_is_reply_anonymous()
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   666
	 * @uses bbp_get_public_status_id()
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   667
	 * @uses bbp_get_closed_status_id()
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   668
	 * @uses bbp_get_reply_topic_id()
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   669
	 * @uses bbp_get_reply_forum_id()
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   670
	 * @uses bbp_get_reply_author_id()
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   671
	 * @return Bail early if not a reply, or reply is by anonymous user
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   672
	 */
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   673
	public function reply_update( $reply_id, $post ) {
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   674
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   675
		// Bail early if not a reply
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   676
		if ( get_post_type( $post ) != bbp_get_reply_post_type() )
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   677
			return;
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   678
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   679
		$reply_id = bbp_get_reply_id( $reply_id );
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   680
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   681
		// Bail early if reply is by anonymous user
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   682
		if ( bbp_is_reply_anonymous( $reply_id ) )
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   683
			return;
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   684
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   685
		$anonymous_data = array();
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   686
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   687
		// Action based on new status
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   688
		if ( $post->post_status == bbp_get_public_status_id() ) {
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   689
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   690
			// Validate reply data
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   691
			$topic_id        = bbp_get_reply_topic_id( $reply_id );
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   692
			$forum_id        = bbp_get_reply_forum_id( $reply_id );
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   693
			$reply_author_id = bbp_get_reply_author_id( $reply_id );
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   694
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   695
			$this->reply_create( $reply_id, $topic_id, $forum_id, $anonymous_data, $reply_author_id );
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   696
		} else {
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   697
			$this->reply_delete( $reply_id );
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   698
		}
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   699
	}
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   700
}
5e8dcbe22c24 ajout plugins pour résoudre les messages d'erreurs
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   701
endif;
204
09a1c134465b man wordpress + plugins order post + slideshow
Anthony Ly <anthonyly.com@gmail.com>
parents: 196
diff changeset
   702