File: /home/www/torresncgolf/instalaciones/application/views/reservas/calendario_reservas_view.php
<script type="text/javascript">
function hacer_reserva(hora,dia,mes,anyo,act_id){
if (hora == 14 || hora == 15 || hora == 16){
alert("La reserva de 14:00 a 17:00 horas no está disponible.");
return;
}
$('#'+hora+'_'+dia+'_'+mes+'_'+anyo).html('Reservando...<br><img src="<?php echo base_url();?>/application/views/images/ajaxProgress.gif">');
$('#'+hora+'_'+dia+'_'+mes+'_'+anyo).css('border-color','#f50');
//if (confirm('¿Seguro que quiere realizar la reserva?')) {
$.ajax({
type: 'POST',
url: '<?php echo base_url(); ?>index.php/reservas/hacer_reserva/'+act_id,
data: 'hora=' + hora + '&dia=' + dia + '&mes=' + mes + '&anyo=' + anyo + '&act_id=' + act_id,
success: function(resp){
if (resp != 'La reserva se realizó correctamente.') {
alert(resp);
}
mostrar_actividad(act_id, <?=$offset?>, <?=$offset?>);
}
});
//}
//else {
// mostrar_actividad(act_id, <?=$offset?>, <?=$offset?>);
//}
}
function deshacer_reserva(hora, dia, mes, anyo, act_id){
$('#'+hora+'_'+dia+'_'+mes+'_'+anyo).html('Cancelando...<br><img src="<?php echo base_url();?>/application/views/images/ajaxProgress.gif">');
$('#'+hora+'_'+dia+'_'+mes+'_'+anyo).css('border-color','#f00');
//if (confirm('¿Seguro que quiere cancelar la reserva?')) {
$.ajax({
type: 'POST',
url: '<?php echo base_url(); ?>index.php/reservas/deshacer_reserva/'+act_id,
data: 'hora=' + hora + '&dia=' + dia + '&mes=' + mes + '&anyo=' + anyo + '&act_id=' + act_id,
success: function(resp){
if (resp != 'La reserva se ha cancelado sin problemas.') {
alert(resp);
}
mostrar_actividad(act_id, <?=$offset?>, <?=$offset?>);
}
});
//}
//else {
// mostrar_actividad(act_id, <?=$offset?>, <?=$offset?>);
//}
}
$(".celda").hover(
function(celda) {
datos = celda.target.id.split("_",4);
h=datos[0];
d=datos[1];
$("#h"+h).css("background-color","#60DE75");
$(".d"+d).css("background-color","#60DE75");
}
,
function(celda) {
datos = celda.target.id.split("_",4);
h=datos[0];
d=datos[1];
$("#h"+h).css("background-color","#21A137");
$(".d"+d).css("background-color","#21A137");
}
);
$(document).ready(
function() {
<?php
$user_id = $this->session->userdata('user_id');
foreach ($reservas->result() as $r):
$f = new DateTime($r->fecha, new DateTimeZone('Europe/Madrid'));
$id = $f->format('G_j_n_Y');
$param = $f->format('G,j,n,Y,').$r->actividad_id;
//$usuario = (int) $user_id;
$login = $r->login;
if ($login == '000') $login = '534'; // cheto
if (strlen($r->alias)>10){
$alias_corto = substr($r->alias,0,10).'...';
}
else {
$alias_corto = $r->alias ;
}
$alias_corto = '<strong>'.$alias_corto . '</strong> <br>Piso ' . $login . '' ;
if ( $r->usuario_id == $user_id){
if ($r->pasada == 0){
?>
// mia sin pasar
$('#<?=$id?>').html('<?=$alias_corto?><br/><a href="" onclick="deshacer_reserva(<?=$param?>); return false;">Cancelar</a>');
$('#<?=$id?>').css('border-color','#F79719');
$('#<?=$id?>').css('background-color','#F4E91C');
$('#<?=$id?> a').css('color','#C43C06');
<?php
}
else {
?>
// mia pasada
$('#<?=$id?>').html('<?=$alias_corto?>');
$('#<?=$id?>').css('border-color','#C40606');
$('#<?=$id?>').css('background-color','#F79719');
$('#<?=$id?>').css('color','#000');
<?php
}
}
else {
?>
// de otro
$('#<?=$id?>').html('<?=$alias_corto?>');
$('#<?=$id?>').css('border-color','#C40606');
$('#<?=$id?>').css('background-color','#DE5A4C');
$('#<?=$id?>').css('color','#000');
<?
}
endforeach;
?>
});
</script>
<h1><?=$D1['month']?></h1>
<table class="calendario">
<tr>
<th style="background-color:#146221;"></th>
<?php
if ($fin_de_semana){
$num_dias = 7;
$temp = array('D0','D1','D2','D3','D4','D5','D6','D7');
}
else {
$num_dias = 5;
$temp = array('D0','D1','D2','D3','D4','D5');
}
for ($i=1;$i<($num_dias+1);$i++){
$temp2 = ${$temp[$i]} ;
?>
<th class="dias d<?=$temp2['mday']?>"><?=$temp2['weekday']?>, <?=$temp2['mday']?></th>
<?
}
?>
</tr>
<?php
for ($i=$hora_ini;$i<=$hora_fin;$i++){
echo '<tr><th class="horas" id="h'.$i.'">'.$i.':00</th>';
for ($j=1;$j<($num_dias+1);$j++){
$t = ${$temp[$j]} ;
if ($j < $dia_semana){
?>
<td class="celda pasada" width="120px" id="<?=$i.'_'.$t['mday'].'_'.$t['mon'].'_'.$t['year']?>">Hora<br>pasada</td>
<?
}
else{
if (($j == $dia_semana)&&($i<=$t['hours'])){
?>
<td class="celda pasada" width="120px" id="<?=$i.'_'.$t['mday'].'_'.$t['mon'].'_'.$t['year']?>">Hora<br>pasada</td>
<?
}
else{
?>
<td class="celda futura" width="120px" id="<?=$i.'_'.$t['mday'].'_'.$t['mon'].'_'.$t['year']?>">Libre<br><a href="" onclick="hacer_reserva(<?=$i?>,<?=$t['mday']?>,<?=$t['mon']?>,<?=$t['year']?>,<?=$actividad_id?>); return false;">Reservar</a></td>
<?
}
}
}
echo '</tr>';
}
?>
<tr>
<th style="background-color:#282828;"></th>
<?php
if ($fin_de_semana){
$temp = array('D0','D1','D2','D3','D4','D5','D6','D7');
}
else {
$temp = array('D0','D1','D2','D3','D4','D5');
}
for ($k=1;$k<($num_dias+1);$k++){
$temp2 = ${$temp[$k]} ;
?>
<th class="dias d<?=$temp2['mday']?>" id="d<?=$temp2['mday']?>"><?=$temp2['mday']?>/<?=$temp2['mon']?></th>
<?
}
?>
</tr>
<?php
?>
</table>
<center>
<h3>Esta instalación está limitada a <?=$max_reservas?> horas de reservas.<br></h3>
<h3>Además se limita el horario de uso de 10 a 14h y de 17 a 22h.<br></h3>
<br>
<table class="calendario" border="1" frame="void" cellpadding="5">
<tr>
<td id="semana_anterior"><a href="" onclick="mostrar_actividad(<?=$actividad_id?>,<?=$offset-1?>); return false;"><img border="0" src="<?php echo base_url();?>/application/views/images/flecha_izquierda.png" alt="Semana anterior"></a></td>
<td id="semana_siguiente"><a href="" onclick="mostrar_actividad(<?=$actividad_id?>,<?=$offset+1?>); return false;"><img border="0" src="<?php echo base_url();?>/application/views/images/flecha_derecha.png" alt="Semana siguiente"></a></td>
</tr>
</table>
</center>