/**
 * 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;
}
Пример #2
0
/**
 * 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);
}
Пример #3
0
/**
 * 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));
}