コード例 #1
0
ファイル: bp-messages.php プロジェクト: n-sane/zaroka
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' ) );
}
コード例 #2
0
/**
 * 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);
}
コード例 #3
0
/**
 * 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'));
}
コード例 #4
0
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'));
}