if (field_name == A,B, or C)
new_field_name = Monday;
else if (field_name == D,E,F)
new_field_name = Tuesday;
else
new_field_name = Error?;
if(status != inactive) //postponed || inactive - based on selected dates (vacation)
if (fieldtypeFrequency == A)
new_date_field = "this " new_field_name (as date);
else if(fieldtypeFrequency == B)
new_date_field = "next " new_field_name (as date);
else
new_date_field = 4 weeks + new_field_name (as date);
else
new_date_field = new_field_name (as date) > return_date_field;
// next valid date post-marked
Please Log in to join the conversation.
Please Log in to join the conversation.
<?php
$frequency = 1; //user preference 1 = every week 2 = every other week
$deliverday = 3;
echo "Your delivery day is ".date("l", $deliveryday); // equal to cb_zip switch case
echo "<br/>";
$today = time();
echo "Today is ".date("l F jS", $today);
echo "<br/>";
$postpone = mktime(0,0,0,date("3"),date("13"),date("Y")); //equal to cb_postpone date field ?? getdate?
echo "The day you postponed (or signed up on) is ".date("l F jS", $postpone);
echo "<br/>";
if ($today < $postpone)
$today = $postpone; //sets function below to future date if need else runs as today
if (date("w",$today) > $deliverday)
$bump = date("w",$today); //difference to next week
else if (date("w",$today) < $deliverday)
$bump = ($deliverday - date("w",$today)); //difference for this week
else
$bump = 0; //equal
if ($frequency == 2 && $today > $postpone && date("W", $postpone)%2 != date("W", $today)%2 )
$bump += 7; //if alternating weeks checks even/odd
$nextdelivery = ($bump * 24 * 3600)+ date($today);
echo " so your next delevery day should be ".date("l F jS", $nextdelivery);
?>
Please Log in to join the conversation.
Please Log in to join the conversation.
What you're wanting is probably best done using PHP in a new fieldtype so you can ensure accuracy.
Please Log in to join the conversation.
Please Log in to join the conversation.