/**
  * Update the specified resource in storage.
  *
  * @param  int  $id
  * @return Response
  */
 public function update($id)
 {
     $todo = Input::all();
     $reglas = array('nombre' => 'required|unique:zonas,nombre');
     $validator = Validator::make($todo, $reglas);
     if ($validator->fails()) {
         return Redirect::back()->withErrors($validator);
     } else {
         $zona = Zona::find($id);
         $zona->administradore_id = Session::get('id_administrador');
         $zona->nombre = Input::get('nombre');
         $zona->save();
         return Redirect::route('zona.show', array($zona->id));
     }
 }
<table width='100%' border='1' style="bold" align="center">
		<tr align="center">
		|<td colspan="2">Lista de Zonas</td>
		</tr>
		<tr>
			<th whidth="50%">Nombre Zona</th>
			<th whidth="50%">Registrado por administrador</th>
			
			
		</tr>
				
		@foreach ($zonas as $zona)
		<tr>			
			<td align="center">{{$zona->nombre}}</td>
			<?php 
$administrador = Zona::find($zona->id)->administrador;
$usuaro = Administradore::find($administrador->id)->usuario;
?>
			<td align="center">{{$usuaro->nick}}</td>
		</tr>			
		@endforeach
</table>
 public function reportefarmaciaporzona()
 {
     $todo = Input::all();
     $reglas = array('zona' => 'exists:zonas,nombre');
     $validator = Validator::make($todo, $reglas);
     if ($validator->fails()) {
         return Redirect::back()->withErrors($validator);
     } else {
         $zona = Zona::where('nombre', '=', Input::get('zona'))->first();
         $farmacias = Zona::find($zona->id)->farmacias;
         $html = View::make('administrador.farmacias.reporteporzona')->with('zona', $zona)->with('farmacias', $farmacias);
         return PDF::load($html, 'A4', 'portrait')->download('farmacias_por_zona_reporte');
         //return PDF::load($html, 'A4', 'portrait')->show();
     }
 }
 /**
  * Display a listing of the resource.
  *
  * @return Response
  */
 public function sorteoturnos()
 {
     $turnssss = Turno::all();
     if (count($turnssss) == 0) {
         $error = "Primer debe sortear los turnos";
         return View::make('administrador.turnos.errores')->with('error', $error);
     } else {
         $totalzonas = Zona::all();
         $totalcontazonas = count($totalzonas);
         if ($totalcontazonas == 0) {
             $error = "no esta inscrita ninguna zona, ninguna farmacia, primer asignelas y despues sortee";
             return View::make('administrador.turnos.errores')->with('error', $error);
         } else {
             $contadorzonas = 0;
             $comparador = 0;
             $frm = Farmacia::all();
             $trns = Farmacia::find($frm[0]->id)->turnos;
             while ($contadorzonas < $totalcontazonas) {
                 $za[$contadorzonas] = Zona::find($totalzonas[$contadorzonas]->id);
                 $fff = Farmacia::where('zona_id', '=', $za[$contadorzonas]->id)->get();
                 if (count($fff) != 0) {
                     $comparador++;
                 }
                 $contadorzonas++;
             }
             if ($comparador != $totalcontazonas || count($trns) != 0) {
                 $error = "no puede sortear los turnos por que existe una zona que no tene ninguna farmacia registrada o los turnos ya estan sorteados";
                 return View::make('administrador.turnos.errores')->with('error', $error);
             } else {
                 $año = date("Y");
                 $añosig = $año + 1;
                 $zonas = Zona::all();
                 $contadorzonas = count($zonas);
                 $ii = 0;
                 $prueba = 0;
                 while ($ii < $contadorzonas) {
                     $controlaño = "";
                     $alta = Farmacia::where('zona_id', '=', $zonas[$ii]->id)->get();
                     $dias = count($alta);
                     $diasestaticos = $dias;
                     if ($dias <= 31) {
                         $i = 1;
                         $empieazodesorteo = 1;
                         $diassorteados = array("a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a");
                         while ($dias <= 31) {
                             $sorteo;
                             $cont = true;
                             $j = $empieazodesorteo;
                             foreach ($alta as $a) {
                                 while ($cont == true) {
                                     $sorteo = rand($empieazodesorteo, $dias);
                                     while ($j <= $dias) {
                                         if ($diassorteados[$j] == $sorteo) {
                                             $cont = true;
                                             break;
                                         }
                                         $cont = false;
                                         $j++;
                                     }
                                     $j = $empieazodesorteo;
                                     if ($cont == false) {
                                         $diassorteados[$i] = $sorteo;
                                         $fec = $año . "-01-" . $sorteo;
                                         $farmacia = Farmacia::find($a->id);
                                         $diass = "";
                                         $farmacia->turnohabilitado = "si";
                                         $farmacia->save();
                                         //echo $farmacia->id." le todo el dia"." : ".$fec."<br>";
                                         while ($año != $añosig) {
                                             $tur = Turno::where('fechaturno', '=', $fec)->first();
                                             $controlaño = $fec[0] . $fec[1] . $fec[2] . $fec[3];
                                             if ($controlaño == $añosig) {
                                                 break;
                                             } else {
                                                 $farmacia->turnos()->attach($tur);
                                                 //echo $farmacia->id." le todo el dia"." : ".$tur->fechaturno."<br>";
                                                 $prueba++;
                                             }
                                             $fec = strtotime('+29 day', strtotime($fec));
                                             $fec = date('Y-m-j', $fec);
                                         }
                                         $i++;
                                     }
                                 }
                                 $cont = true;
                                 if ($i == 32) {
                                     $cont = false;
                                     break;
                                 }
                             }
                             $empieazodesorteo = $dias + 1;
                             $dias += $diasestaticos;
                             if ($dias > 31) {
                                 $restadias = $dias - 31;
                                 $dias -= $restadias;
                             }
                             if ($i == 32) {
                                 break;
                             }
                         }
                     } else {
                         $fe = "";
                         $mess = 1;
                         $diasdelmes = cal_days_in_month(CAL_GREGORIAN, $mess, $año);
                         $ddd = $diasdelmes;
                         $diassorteados = array();
                         for ($i = 1; $i <= $dias; $i++) {
                             $diassorteados[$i] = "a";
                         }
                         $sorteo;
                         $cont = true;
                         $i = 1;
                         $j = 1;
                         $p = 1;
                         $diasrestantes;
                         $inicio = 1;
                         foreach ($alta as $a) {
                             $j = $inicio;
                             while ($cont == true) {
                                 $sorteo = rand(1, $ddd);
                                 while ($j <= $dias) {
                                     if ($diassorteados[$j] == $sorteo) {
                                         $cont = true;
                                         break;
                                     }
                                     $cont = false;
                                     $j++;
                                 }
                                 $j = $inicio;
                                 if ($cont == false) {
                                     $diassorteados[$i] = $sorteo;
                                     $fec = $año . "-" . $mess . "-" . $sorteo;
                                     $farmacia = Farmacia::find($a->id);
                                     $farmacia->turnohabilitado = "si";
                                     $farmacia->save();
                                     turnoscadames($año, $añosig, $fec, $farmacia);
                                     //echo $farmacia->id." le todo el dia"." : ".$fec."<br>";
                                     while ($año != $añosig) {
                                         $tur = Turno::where('fechaturno', '=', $fec)->first();
                                         $controlaño = $fec[0] . $fec[1] . $fec[2] . $fec[3];
                                         if ($controlaño == $añosig) {
                                             break;
                                         } else {
                                             $farmacia->turnos()->attach($tur);
                                             //echo $farmacia->id." le todo el dia"." : ".$tur->fechaturno."<br>";
                                         }
                                         $fec = strtotime('+29 day', strtotime($fec));
                                         $fec = date('Y-m-j', $fec);
                                     }
                                 }
                             }
                             if ($p == $diasdelmes) {
                                 $mess++;
                                 $p = 1;
                                 $diasdelmes = cal_days_in_month(CAL_GREGORIAN, $mess, $año);
                                 $diasrestantes = $dias - $i;
                                 $inicio = $i + 1;
                                 if ($diasrestantes <= $diasdelmes) {
                                     $ddd = $diasrestantes;
                                 }
                             }
                             $i++;
                             $p++;
                             $cont = true;
                         }
                     }
                     $ii++;
                     //echo "<br>"."ZONA:+".$ii;
                 }
                 //echo "<br>"."ternimo";
                 //echo $prueba;
                 return Redirect::route('turno.index');
             }
         }
     }
 }