Example #1
0
/**
 * Catches an activity to reshare if js is enabled
 *
 * @package BP Reshare
 * @since    1.0
 *
 * @uses  check_ajax_referer() for security reasons
 * @uses  buddyreshare_prepare_reshare() to build the reshare arguments
 * @uses  bp_activity_add() to save the reshare
 */
function buddyreshare_handle_ajax_reshare()
{
    // Bail if not a POST action
    if ('POST' !== strtoupper($_SERVER['REQUEST_METHOD'])) {
        return;
    }
    check_ajax_referer('buddyreshare_update', 'nonce');
    $response = array('result' => 'error', 'message' => __('OOps, error while trying to reshare..', 'bp-reshare'));
    $activity_id = intval($_POST['activity']);
    if (empty($activity_id)) {
        $response['message'] = __('The activity was not found.', 'bp-reshare');
        exit(json_encode($response));
    }
    $args = buddyreshare_prepare_reshare($activity_id);
    if (isset($args['error'])) {
        $response['message'] = $args['error'];
        exit(json_encode($response));
    }
    $reshare_id = bp_activity_add($args);
    if (!empty($reshare_id)) {
        do_action('buddyreshare_reshare_added', $reshare_id);
        $response['result'] = 'success';
        $response['message'] = __('Activity successfully reshared.', 'bp-reshare');
    } else {
        do_action('buddyreshare_reshare_added_error', $reshare_id);
    }
    exit(json_encode($response));
}
Example #2
0
/**
 * Catches an activity to reshare if js is disabled
 *
 * @package BP Reshare
 * @since    1.0
 *
 * @uses  bp_is_activity_component() are we in activity component
 * @uses  bp_is_current_action() to check current action
 * @uses  buddyreshare_get_component_slug() to get component slug
 * @uses  bp_action_variable() to check the variables
 * @uses  check_admin_referer() for security reasons
 * @uses  bp_core_get_user_domain() to build user's url
 * @uses  bp_loggedin_user_id() to get current user's id
 * @uses  bp_get_activity_slug() to get activity slug
 * @uses  buddyreshare_prepare_reshare() to build the reshare arguments
 * @uses  bp_core_add_message() to print a warning message
 * @uses  bp_core_redirect() to safely redirect user
 * @uses  bp_activity_add() to save the reshare
 */
function buddyreshare_add_reshare()
{
    // Not adding a reshare
    if (!bp_is_activity_component() || !bp_is_current_action(buddyreshare_get_component_slug())) {
        return false;
    }
    // No reshare to add
    if (!bp_action_variable(0) || bp_action_variable(0) != 'add' || !bp_action_variable(1) || !is_numeric(bp_action_variable(1))) {
        return false;
    }
    $reshare_id = bp_action_variable(1);
    check_admin_referer('buddyreshare_update');
    // redirecting to user's profile
    $redirect = bp_core_get_user_domain(bp_loggedin_user_id()) . bp_get_activity_slug() . '/';
    $reshared_args = buddyreshare_prepare_reshare($reshare_id);
    if (isset($reshared_args['error'])) {
        bp_core_add_message($reshared_args['error'], 'error');
        bp_core_redirect($redirect);
    }
    $reshared = bp_activity_add($reshared_args);
    if (!empty($reshared)) {
        do_action('buddyreshare_reshare_added', $reshare_id);
        bp_core_add_message(__('Activity reshared !', 'bp-reshare'));
        bp_core_redirect($redirect);
    } else {
        do_action('buddyreshare_reshare_added_error', $reshare_id);
        bp_core_add_message(__('OOps, error while trying to reshare..', 'bp-reshare'), 'error');
        bp_core_redirect($redirect);
    }
}