PHP Code:
function getDayBefore( $day ) {
$d = explode( '-', $day );
$yesterday = date( 'Y-m-d', mktime( 0, 0, 0, $d[1], $d[2] - 1, $d[0] ));
return $yesterday;
}
function checkAvail($dateFrom,$dateTo){
$array = JRequest::getVar('cid', 0, '', 'array');
$id_property=((int)$array[0]);
$db = & JFactory::getDBO();
if($month<10){$month='0'.$month;}
$query = 'SELECT * from #__properties_available_product '
. ' WHERE id_product = ' . $id_property
. ' AND date >= \'' . $dateFrom . '\' AND date <= \'' . $dateTo . '\'';
$db->setQuery( $query );
$list = $db->loadObjectList();
return $list;
}
function pastDate( $day ) {
$ft = explode( '-', date( 'Y-m-d' ) );
$now = mktime( 0, 0, 0, $ft[1], $ft[2], $ft[0] );
$ft = explode( '-', $day );
$day = mktime( 0, 0, 0, $ft[1], $ft[2], $ft[0] );
if( $day < $now ) return true;
return false;
}
?>
<?php
if(JRequest::getVar('fechaD')){$sd=JRequest::getVar('fechaD');}
if(JRequest::getVar('fechaA')){$ed=JRequest::getVar('fechaA');}
if( $sd > $ed ) {
$t = $sd;
$sd = $ed;
$ed = $t;
}
$Error = null;
if($ed == '' || $sd == '') {
$Error = JText::_( 'EMPTY_DATE' );
$ErrorExpl = JText::_( 'EMPTY_DATE_EXPL' );
}
else {
if( $sd == $ed ) {
$ft = explode( '-', $ed );
$ed = date( 'Y-m-d', mktime( 0, 0, 0, $ft[1], $ft[2]+1, $ft[0] ) );
}
if( pastDate( $sd ) or pastDate( $ed ) ) {
$Error = JText::_( 'PAST_DATE' );
$ErrorExpl = JText::_( 'PAST_DATE_EXPL' );
}
else {
$d = checkAvail( $sd, getDayBefore( $ed ) );
$od = "";
foreach( $d as $l ) {
if( $l->price == 0 or $l->available == 0 ) $od .= $l->date . '<br />' . "\n";
}
if( $od ) {
$Error = JText::_( 'BOOKING_PER_UNAVAL' );
$ErrorExpl = JText::_( 'BOOKING_PER_UNAVAL_EXPL' ) . '<br />' . $od;
}
}
}
if( $Error ) echo "<h1>" . JText::_( 'BOOKING_ERROR' ) . ": " . $Error . "</h1><p>" . $ErrorExpl . "</p>";
else {
$sdD = explode( '-', $sd );
$edD = explode( '-', $ed );
$timestamp1 = mktime( 0, 0, 0, $sdD[1], $sdD[2], $sdD[0] );
$timestamp2 = mktime( 0, 0, 0, $edD[1], $edD[2], $edD[0] );
$diferencia = $timestamp2 - $timestamp1;
$dias = $diferencia / 86400;
Bookmarks