Obtenha dias de início e término para uma determinada semana em PHP

Estou tentando obter o intervalo de semanas usando o domingo como data de início e uma data de referência, digamos$date, mas não consigo entende

Por exemplo, se eu tivesse $ date como 01/05/2009, obteria 26-04-2009 e 02-05-2009. 2009-05-10 renderia 2009-05-10 e 2009-05-16. Meu código atual fica assim (não me lembro de onde o tirei, pois esqueci de colocar o URL nos meus comentários):

function x_week_range(&$start_date, &$end_date, $date)
{
    $start_date = '';
    $end_date = '';
    $week = date('W', strtotime($date));
    $week = $week;

    $start_date = $date;

    $i = 0;
    while(date('W', strtotime("-$i day")) >= $week) {
        $start_date = date('Y-m-d', strtotime("-$i day"));
        $i++;
    }

    list($yr, $mo, $da) = explode('-', $start_date);

    $end_date = date('Y-m-d', mktime(0, 0, 0, $mo, $da + 6, $yr));
}

Eu percebi que tudo o que fiz foi adicionar 7 dias à data atual. Como você faria isso

questionAnswers(26)

yourAnswerToTheQuestion