/** * Calculate the event cost as the package changes * * @since 1.0 * @return void */ function mdjm_update_event_cost_from_package_ajax() { _deprecated_function(__FUNCTION__, '1.4'); $mdjm_event = new MDJM_Event($_POST['event_id']); $package = $mdjm_event->get_package(); $addons = $mdjm_event->get_addons(); $event_cost = $mdjm_event->price; $event_date = !empty($_POST['event_date']) ? $_POST['event_date'] : NULL; $base_cost = '0.00'; $package_price = $package ? (double) mdjm_get_package_price($package->ID, $event_date) : false; if ($event_cost) { $event_cost = (double) $event_cost; $base_cost = $package_price ? $event_cost - $package_price : $event_cost; } if ($addons) { foreach ($addons as $addon) { $addon_cost = mdjm_get_package_price($addon->ID, $event_date); $base_cost = $base_cost - (double) $addon_cost; } } $cost = $base_cost; $new_package = $_POST['package']; $new_package_price = !empty($new_package) ? mdjm_get_package_price($new_package, $event_date) : false; if ($new_package_price) { $cost = $base_cost + (double) $new_package_price; } if (!empty($cost)) { $result['type'] = 'success'; $result['cost'] = mdjm_sanitize_amount((double) $cost); } else { $result['type'] = 'success'; $result['cost'] = mdjm_sanitize_amount(0); } $result = json_encode($result); echo $result; die; }
/** * Calculate the event cost as event elements change * * @since 1.0 * @return void */ function mdjm_update_event_cost_ajax() { $mdjm_event = new MDJM_Event($_POST['event_id']); $mdjm_travel = new MDJM_Travel(); $event_cost = $mdjm_event->price; $event_date = $event_date = !empty($_POST['event_date']) ? $_POST['event_date'] : NULL; $base_cost = '0.00'; $package = $mdjm_event->get_package(); $package_price = $package ? mdjm_get_package_price($package, $event_date) : '0.00'; $addons = $mdjm_event->get_addons(); $travel_data = $mdjm_event->get_travel_data(); $employee_id = $_POST['employee_id']; $dest = $_POST['venue']; $dest = maybe_unserialize($dest); if ($event_cost) { $event_cost = (double) $event_cost; $base_cost = $package_price ? $event_cost - $package_price : $event_cost; } if ($package) { $base_cost = $event_cost - $package_price; } if ($addons) { foreach ($addons as $addon) { $addon_price = mdjm_get_addon_price($addon, $event_date); $base_cost = $base_cost - (double) $addon_price; } } if ($travel_data && !empty($travel_data['cost'])) { $base_cost = $base_cost - (double) $travel_data['cost']; } $new_package = !empty($_POST['package']) ? $_POST['package'] : false; $new_addons = !empty($_POST['addons']) ? $_POST['addons'] : false; $cost = $base_cost; if ($new_package) { $new_package_price = mdjm_get_package_price($new_package, $event_date); $cost += (double) $new_package_price; } if ($new_addons) { foreach ($new_addons as $new_addon) { $new_addon_price = mdjm_get_addon_price($new_addon, $event_date); $cost += (double) $new_addon_price; } } if ($mdjm_travel->add_travel_cost) { if (!empty($employee_id)) { $mdjm_travel->__set('start_address', $mdjm_travel->get_employee_address($employee_id)); } $mdjm_travel->set_destination($dest); $mdjm_travel->get_travel_data(); $new_travel = !empty($mdjm_travel->data) ? $mdjm_travel->get_cost() : false; if ($new_travel && (double) preg_replace('/[^0-9.]*/', '', $mdjm_travel->data['distance']) >= mdjm_get_option('travel_min_distance')) { $cost += (double) $new_travel; } } if (!empty($cost)) { $result['type'] = 'success'; $result['cost'] = mdjm_sanitize_amount((double) $cost); } else { $result['type'] = 'success'; $result['cost'] = mdjm_sanitize_amount(0); } wp_send_json($result); }
/** * Content tag: event_package_cost. * The package attached to the event and it's cost. * * @param int The event ID. * @return str The package name and cost or "No Package". */ function mdjm_content_tag_event_package_cost($event_id = '') { $return = '0.00'; if (!empty($event_id)) { $mdjm_event = new MDJM_Event($event_id); $package_id = $mdjm_event->get_package(); $package_price = mdjm_get_package_price($package_id, $mdjm_event->date); if (!empty($package_price)) { $return = $package_price; } } return mdjm_currency_filter(mdjm_format_amount($return)); }