$i = 0; function getDatesFromRange($start, $end) { $dates = array($start); while (end($dates) < $end) { $dates[] = date('Y-m-d', strtotime(end($dates) . ' +1 day')); } return $dates; } reset($data); $startDate = key($data); end($data); // move the internal pointer to the end of the array $endingDate = key($data); // fetches the key of the element pointed to by the internal pointer $Alldates = getDatesFromRange($startDate, $endingDate); $remainingDates = array_diff($Alldates, array_keys($data)); foreach ($remainingDates as $key => $value) { $data[$value] = array(); } ksort($data); foreach ($data as $date => $statusArr) { if ($i == 0) { $i++; $oldKey = $date; } else { if (!isset($statusArr['Toatal'])) { $statusArr['Toatal'] = 0; } if (!isset($statusArr['24 hour'])) { $statusArr['24 hour'] = 0;
function calendar_metabox($object, $box) { ?> <div id="unitCalendar" class="responsive-calendar"> <div class="controls"> <a class="pull-left" data-go="prev"><div class="btn"><i class="glyphicon glyphicon-chevron-left"></i></div></a> <h4><span data-head-year></span> <span data-head-month></span></h4> <a class="pull-right" data-go="next"><div class="btn"><i class="glyphicon glyphicon-chevron-right"></i></div></a> </div> <div class="day-headers"> <div class="day header">Mon</div> <div class="day header">Tue</div> <div class="day header">Wed</div> <div class="day header">Thu</div> <div class="day header">Fri</div> <div class="day header">Sat</div> <div class="day header">Sun</div> </div> <div class="days" data-group="days"> </div> </div> <script src="http://leasing.dmcihomes.com/wp-admin/js/responsive-calendar.js"></script> <?php $start = get_post_meta($object->ID, 'availability_start', true); $end = get_post_meta($object->ID, 'availability_end', true); $dates = getDatesFromRange($start, $end); $temp = getAllBookings($object->ID); $bookedDates = getDatesFromRange($temp['start'], $temp['end']); ?> <script type="text/javascript"> jQuery(document).ready(function() { jQuery('.responsive-calendar').responsiveCalendar({ activateNonCurrentMonths: true, allRows: false, events: { <?php foreach ($dates as $date) { echo "\"" . $date . "\": {},\n"; } ?> <?php foreach ($bookedDates as $bookedDate) { echo "\"" . $bookedDate . "\": {\"class\": \"active booked\"}, \n"; } ?> } }); }); </script> <?php }
$location = get_post_meta(get_the_ID(), 'location', true); $propType = get_post_meta(get_the_ID(), 'property_type', true); $priceRange = get_post_meta(get_the_ID(), 'price_range', true); $calendar = get_post_meta(get_the_ID(), 'property_calendar', true); $start = get_post_meta($calendar['ID'], 'availability_start', true); $end = get_post_meta($calendar['ID'], 'availability_end', true); $dates = getDatesFromRange($start, $end); $galleryIds = get_post_meta(get_the_ID(), '_pods_property_unit_gallery', true); $features = get_post_meta(get_the_ID(), 'unit_features', true); $floorPlans = get_post_meta(get_the_ID(), '_pods_unit_floorplans', true); $leaseType = get_post_meta(get_the_ID(), '_pods_lease_type', true); $unitsLeft = get_post_meta(get_the_ID(), 'units_available', true); $temp = getAllBookings($calendar['ID']); $i = 0; foreach ($temp as $t) { $bookedDates[$i] = getDatesFromRange($t['start'], $t['end']); $i++; } $temp2 = array(); if ($bookedDates) { foreach ($bookedDates as $bd) { foreach ($bd as $b) { array_push($temp2, $b); } } } if ($temp2) { foreach (array_count_values($temp2) as $key => $val) { $temp3[$key] = $unitsLeft - $val; } }
<?php function getDatesFromRange($start, $end) { $interval = new DateInterval('P1D'); $realEnd = new DateTime($end); $realEnd->add($interval); $period = new DatePeriod(new DateTime($start), $interval, $realEnd); foreach ($period as $date) { $array[] = $date->format('Y-m-d'); } return $array; } // Call the function $dates = getDatesFromRange('2010-10-01', '2010-10-31'); // Print the output echo "<pre>"; print_r($dates);