Esempio n. 1
0
/**
 * Refresh the travel data for an event.
 *
 * @since	1.4
 */
function mdjm_update_event_travel_data_ajax()
{
    $employee_id = $_POST['employee_id'];
    $dest = $_POST['venue'];
    $dest = maybe_unserialize($dest);
    $mdjm_travel = new MDJM_Travel();
    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();
    if (!empty($mdjm_travel->data)) {
        $travel_cost = $mdjm_travel->get_cost();
        $response = array('type' => 'success', 'distance' => mdjm_format_distance($mdjm_travel->data['distance'], false, true), 'time' => mdjm_seconds_to_time($mdjm_travel->data['duration']), 'cost' => !empty($travel_cost) ? mdjm_currency_filter(mdjm_format_amount($travel_cost)) : mdjm_currency_filter(mdjm_format_amount(0)), 'directions_url' => $mdjm_travel->get_directions_url(), 'raw_cost' => $travel_cost);
    } else {
        $response = array('type' => 'error');
    }
    wp_send_json($response);
}
/**
 * Adds the travel data row to the venue details metabox on the event screen.
 *
 * @since	1.4
 * @param	int|arr|obj	$dest			An address array, event ID, event object or venue ID.
 * @param	int			$employee_id	An employee user ID.
 * @return	void
 */
function mdjm_show_travel_data_row($dest, $employee_id = '')
{
    $mdjm_travel = new MDJM_Travel();
    if (!empty($employee_id)) {
        $mdjm_travel->__set('start_address', $mdjm_travel->get_employee_address($employee_id));
    }
    $mdjm_travel->set_destination($dest);
    if (empty($employee_id)) {
        if (is_object($dest)) {
            $mdjm_travel->__set('start_address', $mdjm_travel->get_employee_address($dest->employee_id));
        } elseif (is_numeric($dest)) {
            if ('mdjm-event' == get_post_type($dest)) {
                $mdjm_travel->__set('start_address', $mdjm_travel->get_employee_address(mdjm_get_event_primary_employee_id($dest)));
            }
        }
    }
    $mdjm_travel->get_travel_data();
    $distance = '';
    $duration = '';
    $cost = '';
    $directions_url = '';
    $directions = $mdjm_travel->get_directions_url();
    $class = 'mdjm-hidden';
    if (!empty($mdjm_travel->data)) {
        $distance = mdjm_format_distance($mdjm_travel->data['distance'], false, true);
        $duration = mdjm_seconds_to_time($mdjm_travel->data['duration']);
        $cost = mdjm_currency_filter(mdjm_format_amount($mdjm_travel->get_cost()));
        $directions_url = $directions ? $directions : '';
        $class = '';
    }
    ob_start();
    ?>
	<tr id="mdjm-travel-data" class="<?php 
    echo $class;
    ?>
">
		<td><i class="fa fa-car" aria-hidden="true" title="<?php 
    _e('Distance', 'mobile-dj-manager');
    ?>
"></i>
			<span class="mdjm-travel-distance"><?php 
    echo $distance;
    ?>
</span></td>
		<td><i class="fa fa-clock-o" aria-hidden="true" title="<?php 
    _e('Travel Time', 'mobile-dj-manager');
    ?>
"></i>
			<span class="mdjm-travel-time"><?php 
    echo $duration;
    ?>
</span></td>
		<td><i class="fa fa-money" aria-hidden="true" title="<?php 
    _e('Cost', 'mobile-dj-manager');
    ?>
"></i>
			<span class="mdjm-travel-cost"><?php 
    echo $cost;
    ?>
</span></td>
	</tr>

    <tr id="mdjm-travel-directions" class="<?php 
    echo $class;
    ?>
">
        <td colspan="3"><i class="fa fa-map-signs" aria-hidden="true" title="<?php 
    _e('Directions', 'mobile-dj-manager');
    ?>
"></i>
        <span class="mdjm-travel-directions"><a id="travel_directions" href="<?php 
    echo $directions_url;
    ?>
" target="_blank"><?php 
    _e('Directions', 'mobile-dj-manager');
    ?>
</a></span></td>
    </tr>

	<?php 
    $travel_data_row = ob_get_contents();
    ob_end_clean();
    echo $travel_data_row;
}