function bl_order_meta_save($bl_order_id) { $cust_user_id = is_numeric($_POST["cust_user_id"]) ? $_POST["cust_user_id"] : 1; $status = is_numeric($_POST["status"]) ? $_POST["status"] : ""; $feature_type = is_numeric($_POST["feature_type"]) ? $_POST["feature_type"] : ""; $feature_id = is_numeric($_POST["feature_id"]) ? $_POST["feature_id"] : ""; $date_paid = $_POST["date_paid"]; $expires = ""; if ($feature_id && $status == 1) { $feature = get_post($feature_id); $duration = get_post_meta($feature_id, "package_duration", true); if (is_numeric($duration)) { $expires = strtotime("+" . $duration . " day", strtotime($date_paid)); $expires = date("Y-m-d H:i:s", $expires); } } bl_create_payment_order(array("bl_order_id" => $bl_order_id, "cust_user_id" => $cust_user_id, "status" => $status, "feature_type" => $feature_type, "feature_id" => $feature_id, "date_paid" => $date_paid, "expires" => $expires)); }
function bepro_payment_completed($item, $bepro_cart_id) { global $wpdb; //Collect Variables $data = get_option("bepro_listings"); $duration = 0; $bl_order_id = $item["item_number"]; $update_payment["bepro_cart_id"] = $bepro_cart_id; $update_payment["date_paid"] = date("Y-m-d H:i:s"); $update_payment["status"] = 1; if (stristr($bl_order_id, "BPL_PACKAGE-")) { $feature_id = explode("-", $bl_order_id); $update_payment["cust_user_id"] = get_current_user_id(); $update_payment["feature_type"] = $data["require_payment"]; $update_payment["feature_id"] = @$feature_id[1]; $update_payment["bl_order_id"] = bl_get_vacant_order_id($order->cust_user_id, false); } else { $order = bl_get_payment_order($bl_order_id); $update_payment["bl_order_id"] = $bl_order_id; $update_payment["cust_user_id"] = $order->cust_user_id; $update_payment["feature_type"] = $order->feature_type; $update_payment["feature_id"] = $order->feature_id; } //duration for categories is calculated differently to durations for packages if (@$update_payment["feature_id"] && @$data["require_payment"] == 2 && get_post($update_payment["feature_id"])) { $duration = get_post_meta($update_payment["feature_id"], "package_duration", true); } else { if (!empty($data["require_payment"]) && $data["require_payment"] == 1) { $duration = $data["cat_fee_duration"]; } } //set expiration if ($duration != 0) { $update_payment["expires"] = date('Y-m-d H:i:s', strtotime(date('Y-m-d H:i:s') . " +" . $duration . " days")); } //save purchase details & publish all listings attached to the package if (bl_create_payment_order($update_payment) && $duration != 0) { $posts = $wpdb->get_results("SELECT * FROM " . $wpdb->prefix . BEPRO_LISTINGS_TABLE_NAME . " WHERE bl_order_id = " . $update_payment["bl_order_id"]); if ($posts && $wpdb->num_rows > 0) { remove_action('post_updated', "bepro_admin_save_details"); foreach ($posts as $post) { wp_update_post(array("ID" => $post->post_id, "post_status" => "publish")); } add_action('post_updated', "bepro_admin_save_details"); } } }