Changeset 1651 for trunk/bp-messages/deprecated/bp-messages-deprecated.php
- Timestamp:
- 08/11/2009 10:59:21 PM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/bp-messages/deprecated/bp-messages-deprecated.php
r1636 r1651 162 162 add_action( 'wp_ajax_messages_close_notice', 'messages_ajax_close_notice' ); 163 163 164 /* Deprecated -- use messages_new_message() */ 165 function messages_send_message( $recipients, $subject, $content, $thread_id, $from_ajax = false, $from_template = false, $is_reply = false ) { 166 global $pmessage; 167 global $message, $type; 168 global $bp, $current_user; 169 170 messages_add_callback_values( $recipients, $subject, $content ); 171 172 if ( isset( $_POST['send-notice'] ) ) { 173 if ( messages_send_notice( $subject, $content, $from_template ) ) { 174 bp_core_add_message( __('Notice posted successfully.', 'buddypress') ); 175 } else { 176 bp_core_add_message( __('There was an error posting that notice.', 'buddypress'), 'error' ); 177 } 178 bp_core_redirect( $bp->loggedin_user->domain . $bp->current_component . '/notices' ); 179 return true; 180 } 181 182 $recipients = explode( ' ', $recipients ); 183 184 // If there are no recipients 185 if ( count( $recipients ) < 1 ) { 186 if ( !$from_ajax ) { 187 bp_core_add_message( __('Please enter at least one valid user to send this message to.', 'buddypress'), 'error' ); 188 bp_core_redirect( $bp->loggedin_user->domain . $bp->current_component . '/compose' ); 189 } else { 190 return array('status' => 0, 'message' => __('There was an error sending the reply, please try again.', 'buddypress')); 191 } 192 193 // If there is only 1 recipient and it is the logged in user. 194 } else if ( 1 == count( $recipients ) && $recipients[0] == $current_user->user_login ) { 195 bp_core_add_message( __('You must send your message to one or more users not including yourself.', 'buddypress'), 'error' ); 196 bp_core_redirect( $bp->loggedin_user->domain . $bp->current_component . '/compose' ); 197 198 // If the subject or content boxes are empty. 199 } else if ( empty( $subject ) || empty( $content ) ) { 200 if ( !$from_ajax ) { 201 bp_core_add_message( __('Please make sure you fill in all the fields.', 'buddypress'), 'error' ); 202 bp_core_redirect( $bp->loggedin_user->domain . $bp->current_component . '/compose' ); 203 } else { 204 return array('status' => 0, 'message' => __('Please make sure you have typed a message before sending a reply.', 'buddypress')); 205 } 206 207 // Passed validation continue. 208 } else { 209 210 // Strip the logged in user from the recipient list if they exist 211 if ( $key = array_search( $current_user->user_login, $recipients ) ) 212 unset( $recipients[$key] ); 213 214 $pmessage = new BP_Messages_Message; 215 216 $pmessage->sender_id = $bp->loggedin_user->id; 217 $pmessage->subject = $subject; 218 $pmessage->message = $content; 219 $pmessage->thread_id = $thread_id; 220 $pmessage->date_sent = time(); 221 222 if ( $is_reply ) { 223 $thread = new BP_Messages_Thread($thread_id); 224 $pmessage->recipients = $thread->get_recipients(); 225 } else { 226 $pmessage->recipients = BP_Messages_Message::get_recipient_ids( $recipients ); 227 } 228 229 if ( !is_null( $pmessage->recipients ) ) { 230 if ( !$pmessage->send() ) { 231 $message = __('Message could not be sent, please try again.', 'buddypress'); 232 $type = 'error'; 233 234 if ( $from_ajax ) { 235 return array('status' => 0, 'message' => $message); 236 } else { 237 bp_core_add_message( $message, $type ); 238 bp_core_redirect( $bp->loggedin_user->domain . $bp->current_component . '/compose' ); 239 } 240 } else { 241 $message = __('Message sent successfully!', 'buddypress'); 242 $type = 'success'; 243 244 // Send screen notifications to the recipients 245 for ( $i = 0; $i < count($pmessage->recipients); $i++ ) { 246 if ( $pmessage->recipients[$i] != $bp->loggedin_user->id ) { 247 bp_core_add_notification( $pmessage->id, $pmessage->recipients[$i], 'messages', 'new_message' ); 248 } 249 } 250 251 // Send email notifications to the recipients 252 require_once( BP_PLUGIN_DIR . '/bp-messages/bp-messages-notifications.php' ); 253 messages_notification_new_message( array( 'item_id' => $pmessage->id, 'recipient_ids' => $pmessage->recipients, 'thread_id' => $pmessage->thread_id, 'component_name' => $bp->messages->slug, 'component_action' => 'message_sent', 'is_private' => 1 ) ); 254 255 do_action( 'messages_send_message', array( 'item_id' => $pmessage->id, 'recipient_ids' => $pmessage->recipients, 'thread_id' => $pmessage->thread_id, 'component_name' => $bp->messages->slug, 'component_action' => 'message_sent', 'is_private' => 1 ) ); 256 257 if ( $from_ajax ) { 258 return array('status' => 1, 'message' => $message, 'reply' => $pmessage); 259 } else { 260 bp_core_add_message( $message ); 261 bp_core_redirect( $bp->loggedin_user->domain . $bp->messages->slug . '/view/' . $pmessage->thread_id ); 262 } 263 } 264 } else { 265 $message = __('Message could not be sent, please try again.', 'buddypress'); 266 $type = 'error'; 267 268 if ( $from_ajax ) { 269 return array('status' => 0, 'message' => $message); 270 } else { 271 bp_core_add_message( $message, $type ); 272 bp_core_redirect( $bp->loggedin_user->domain . $bp->messages->slug . '/compose' ); 273 } 274 } 275 } 276 277 } 278 164 279 ?>
Note:
See TracChangeset
for help on using the changeset viewer.
![(please configure the [header_logo] section in trac.ini)](/chrome/site/your_project_logo.png)