function messages_screen_notices() { global $notice_id; if (!is_super_admin()) { return false; } $notice_id = (int) bp_action_variable(1); if (!empty($notice_id) && is_numeric($notice_id)) { $notice = new BP_Messages_Notice($notice_id); if (bp_is_action_variable('deactivate', 0)) { if (!$notice->deactivate()) { bp_core_add_message(__('There was a problem deactivating that notice.', 'buddypress'), 'error'); } else { bp_core_add_message(__('Notice deactivated.', 'buddypress')); } } else { if (bp_is_action_variable('activate', 0)) { if (!$notice->activate()) { bp_core_add_message(__('There was a problem activating that notice.', 'buddypress'), 'error'); } else { bp_core_add_message(__('Notice activated.', 'buddypress')); } } else { if (bp_is_action_variable('delete')) { if (!$notice->delete()) { bp_core_add_message(__('There was a problem deleting that notice.', 'buddypress'), 'buddypress'); } else { bp_core_add_message(__('Notice deleted.', 'buddypress')); } } } } bp_core_redirect(bp_loggedin_user_domain() . bp_get_messages_slug() . '/notices'); } if (bp_action_variables()) { bp_do_404(); return; } do_action('messages_screen_notices'); bp_core_load_template(apply_filters('messages_template_notices', 'members/single/home')); }
function messages_screen_notices() { global $bp, $notice_id; if ( !is_super_admin() ) return false; $notice_id = $bp->action_variables[1]; if ( $notice_id && is_numeric($notice_id) ) { $notice = new BP_Messages_Notice($notice_id); if ( 'deactivate' == $bp->action_variables[0] ) { if ( !$notice->deactivate() ) { bp_core_add_message( __('There was a problem deactivating that notice.', 'buddypress'), 'error' ); } else { bp_core_add_message( __('Notice deactivated.', 'buddypress') ); } } else if ( 'activate' == $bp->action_variables[0] ) { if ( !$notice->activate() ) { bp_core_add_message( __('There was a problem activating that notice.', 'buddypress'), 'error' ); } else { bp_core_add_message( __('Notice activated.', 'buddypress') ); } } else if ( 'delete' == $bp->action_variables[0] ) { if ( !$notice->delete() ) { bp_core_add_message( __('There was a problem deleting that notice.', 'buddypress'), 'buddypress' ); } else { bp_core_add_message( __('Notice deleted.', 'buddypress') ); } } bp_core_redirect( $bp->loggedin_user->domain . $bp->messages->slug . '/notices' ); } do_action( 'messages_screen_notices' ); bp_core_load_template( apply_filters( 'messages_template_notices', 'members/single/home' ) ); }
/** * Load the Messages > Notices screen. * * @return false|null False on failure. */ function messages_screen_notices() { global $notice_id; if (!bp_current_user_can('bp_moderate')) { return false; } $notice_id = (int) bp_action_variable(1); if (!empty($notice_id) && is_numeric($notice_id)) { $notice = new BP_Messages_Notice($notice_id); if (bp_is_action_variable('deactivate', 0)) { if (!$notice->deactivate()) { bp_core_add_message(__('There was a problem deactivating that notice.', 'buddypress'), 'error'); } else { bp_core_add_message(__('Notice deactivated.', 'buddypress')); } } elseif (bp_is_action_variable('activate', 0)) { if (!$notice->activate()) { bp_core_add_message(__('There was a problem activating that notice.', 'buddypress'), 'error'); } else { bp_core_add_message(__('Notice activated.', 'buddypress')); } } elseif (bp_is_action_variable('delete')) { if (!$notice->delete()) { bp_core_add_message(__('There was a problem deleting that notice.', 'buddypress'), 'buddypress'); } else { bp_core_add_message(__('Notice deleted.', 'buddypress')); } } bp_core_redirect(trailingslashit(bp_loggedin_user_domain() . bp_get_messages_slug() . '/notices')); } if (bp_action_variables()) { bp_do_404(); return; } /** * Fires right before the loading of the Messages notices screen template file. * * @since BuddyPress (1.0.0) */ do_action('messages_screen_notices'); /** * Filters the template to load for the Messages notices screen. * * @since BuddyPress (1.0.0) * * @param string $template Path to the messages template to load. */ bp_core_load_template(apply_filters('messages_template_notices', 'members/single/home')); }
/** * Handle editing of sitewide notices * * @since BuddyPress (2.4.0) This function was split from messages_screen_notices(). See #6505. * * @global int $notice_id * * @return boolean */ function bp_messages_action_edit_notice() { global $notice_id; // Bail if not viewing a single notice URL if (!bp_is_messages_component() || !bp_is_current_action('notices') || !bp_action_variable(1)) { return false; } // Get action variables $action = bp_action_variable(0); // deactivate|activate|delete $notice_id = bp_action_variable(1); // 1|2|3|etc... // Bail if notice ID is not numeric if (!is_numeric($notice_id)) { return; } // Define local variables $redirect_to = ''; $feedback = ''; $success = false; // Get the notice from database $notice = new BP_Messages_Notice($notice_id); // Take action switch ($action) { // Deactivate case 'deactivate': $success = $notice->deactivate(); $feedback = true === $success ? __('Notice deactivated successfully.', 'buddypress') : __('There was a problem deactivating that notice.', 'buddypress'); break; // Activate // Activate case 'activate': $success = $notice->activate(); $feedback = true === $success ? __('Notice activated successfully.', 'buddypress') : __('There was a problem activating that notice.', 'buddypress'); break; // Delete // Delete case 'delete': $success = $notice->delete(); $feedback = true === $success ? __('Notice deleted successfully.', 'buddypress') : __('There was a problem deleting that notice.', 'buddypress'); break; } // Feedback if (!empty($feedback)) { // Determine message type $type = true === $success ? 'success' : 'error'; // Add feedback message bp_core_add_message($feedback, $type); } // Redirect $member_notices = trailingslashit(bp_loggedin_user_domain() . bp_get_messages_slug()); $redirect_to = trailingslashit($member_notices . 'notices'); bp_core_redirect($redirect_to); }