[code=php]<?php
function showdatesequence($date, $aantaldagen, $soort)
{
 	//date is de uitgangsdatum, in te voeren in het formaat yyyy-mm-dd
 	//aantaldagen is het aantal dagen dat er bij geteld of vanaf getrokken moet worden, maximaal 30 dagen.
 	//soort heeft de waarde 'omhoog' of 'omlaag', afhankelijk van of er opgeteld of afgetrokken moet worden.
 	
	$dag	= substr($date, 8, 2); 
	$maand	= substr($date, 5, 2);
	$jaar	= substr($date, 0, 4);
	
	if ($soort == 'omlaag')
	{
		for ($i=0; $i<=$aantaldagen-1; $i++)
		{
		 	if ($dag - $i > 0) // wanneer de maand niet verandert, alleen de dagen aftrekken.
		 	{
				$newdag		= $dag - $i;
				
				if (strlen($newdag) == 1)
				{
					$newdag = '0'.$newdag;
				}
				
				$newmaand	= $maand;
				$newjaar	= $jaar;
			}
			else
			{
			 	if ($maand == 01)
			 	{
				  	$newmaand	= 12;
					$newjaar	= $jaar - 1;
				}
				else
				{
					$newmaand	= $maand - 1;
					if (strlen($newmaand) == 1)
					{
						$newmaand = '0'.$newmaand;
					}
					$newjaar	= $jaar;
				}
				
				$dagenmaand		= cal_days_in_month(CAL_GREGORIAN, $newmaand, $newjaar);
				
				$newdag			= $dagenmaand - ($i - $dag);
				if (strlen($newdag) == 1)
				{
					$newdag = '0'.$newdag;
				}
			}
		$datums[] = $newjaar.'-'.$newmaand.'-'.$newdag;
		}
	}
	elseif ($soort == 'omhoog')
	{
		for ($i=0; $i<=$aantaldagen-1; $i++)
		{
		 	if ($dag + $i < (cal_days_in_month(CAL_GREGORIAN, $maand, $jaar)+1)) // wanneer de maand niet verandert, alleen de dagen optellen. 
		 	{
				$newdag		= $dag + $i;
				
				if (strlen($newdag) == 1)
				{
					$newdag = '0'.$newdag;
				}
				
				$newmaand	= $maand;
				$newjaar	= $jaar;
			}
			else
			{
			 	if ($maand == 12)
			 	{
				  	$newmaand	= 01;
				  	if (strlen($newmaand) == 1)
					{
						$newmaand = '0'.$newmaand;
					}
					$newjaar	= $jaar + 1;
				}
				else
				{
					$newmaand	= $maand + 1;
					if (strlen($newmaand) == 1)
					{
						$newmaand = '0'.$newmaand;
					}
					$newjaar	= $jaar;
				}
				
				$dagenmaand		= cal_days_in_month(CAL_GREGORIAN, $maand, $jaar);
				
				$newdag			= ($i + $dag) - $dagenmaand;
				if (strlen($newdag) == 1)
				{
					$newdag = '0'.$newdag;
				}
			}
		$datums[] = $newjaar.'-'.$newmaand.'-'.$newdag;
		}
	}
	return $datums;	
}
?>
