<?php
function get_next_contest_date($current_date) {
	$current_date_obj = new DateTime($current_date);

	$year = $current_date_obj->format("Y");
	$first_day_of_year = date('D', strtotime("$year-01-01"));
 
	$week = $current_date_obj->format("W");
	$contest_week = $week;

	if($first_day_of_year !== 'Mon') {
		$contest_week--;
	}

	$end_date_obj = new DateTime();

	if($contest_week & 1) {
		$end_date_obj->setISODate($year, $week + 2);
	} else {
		$end_date_obj->setISODate($year, $week + 1);
	}

	return $end_date_obj->format('Y-m-d');
}

echo get_next_contest_date('2014-01-11') . "\n";
echo get_next_contest_date('2014-02-01') . "\n";
echo get_next_contest_date('2014-03-30') . "\n";
echo get_next_contest_date('2014-03-31') . "\n";