/** * Lists an events addons. * * @since 1.4 * @param int $event_id The event ID. * @param bool $price True to include the addon price. * @return int|false The event addons or false if no addons. */ function mdjm_list_event_addons($event_id, $price = false) { $output = __('No addons are assigned to this event', 'mobile-dj-manager'); if (!mdjm_packages_enabled()) { return $output; } $mdjm_event = new MDJM_Event($event_id); $event_addons = $mdjm_event->get_addons(); $event_date = $mdjm_event->date; if ($event_addons) { $addons = array(); foreach ($event_addons as $addon_id) { $addon_price = ''; if ($price) { $addon_price = ' ' . mdjm_currency_filter(mdjm_format_amount(mdjm_get_addon_price($addon_id, $event_date))); } $addons[] = mdjm_get_addon_name($addon_id) . '' . $addon_price; } $output = implode('<br />', $addons); } return apply_filters('mdjm_list_event_addons', $output); }
/** * 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); }
/** * 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; }