function process_unfill_shift($post, $msentry)
{
    $persons = get_persons($msentry->get_id());
    if (!$persons[0]) {
        array_shift($persons);
    }
    for ($i = 0; $i < count($persons); ++$i) {
        if (array_key_exists('_submit_filled_slot_' . $i, $post)) {
            if (is_array($persons[$i])) {
                unschedule_person($msentry, $persons[$i]['id']);
                remove_from_future_shifts($persons[$i]['id']);
            } else {
                unschedule_person($msentry, $persons[$i]);
                remove_from_future_shifts($persons[$i]);
            }
            return true;
        }
    }
    return false;
}
function delete_dbMasterSchedule($id)
{
    // first, unschedule people from the shift
    $msentry = retrieve_dbMasterSchedule($id);
    if ($msentry != null) {
        $ids = get_person_ids($msentry->get_venue(), $msentry->get_week_no(), $msentry->get_day(), $msentry->get_hours());
        foreach ($ids as $person_id) {
            if ($person_id) {
                unschedule_person($msentry, $person_id);
            }
        }
    }
    connect();
    $query = "DELETE FROM dbMasterSchedule WHERE id = '" . $id . "'";
    $result = mysql_query($query);
    if (!$result) {
        echo mysql_error() . " - Unable to delete from dbMasterSchedule: " . $id . "\n";
        return false;
    }
    mysql_close();
    return true;
}
function process_unfill_crew($post, $group, $day, $week_no)
{
    $persons = get_persons($group, $day, $week_no);
    if (!$persons[0]) {
        array_shift($persons);
    }
    for ($i = 0; $i < count($persons); ++$i) {
        if (array_key_exists('_submit_filled_slot_' . $i, $post)) {
            if (is_array($persons[$i])) {
                unschedule_person($group, $day, $week_no, $persons[$i]['id']);
            } else {
                unschedule_person($group, $day, $week_no, $persons[$i]);
            }
            return true;
        }
    }
    return false;
}