Esempio n. 1
0
 /**
  * Show calendar for Aircraft
  *
  * @return \Illuminate\Http\Response
  */
 public function calendar($slug)
 {
     $flights = FlightThread::whereAircraftUsageId($slug)->with('FlightDays', 'AirportDeparture', 'AirportArrival')->get();
     $i = 1;
     $return = [];
     $userData = Auth::User()->UserData();
     foreach ($flights as $flight) {
         foreach ($flight->FlightDays as $flightday) {
             //86400 Sec/Tag
             $arrival_time = strtotime($flightday->arrival_time);
             $departure_time = strtotime($flightday->departure_time);
             if ($arrival_time < $departure_time) {
                 //flying over midnight
                 $left_sec = $departure_time - strtotime('00:00:00');
                 $width_sec = strtotime('24:00:00') - $departure_time;
                 $left = $left_sec / 86400 * 100;
                 $width = $width_sec / 86400 * 100;
                 $return[$flightday->day][$i]['left'] = $left;
                 $return[$flightday->day][$i]['width'] = $width;
                 $return[$flightday->day][$i]['flightnumber'] = $userData->airline_short . $flight->flight_number;
                 $return[$flightday->day][$i]['departure_airport'] = $flight->AirportDeparture->iata;
                 $return[$flightday->day][$i]['arrival_airport'] = $flight->AirportArrival->iata;
                 $return[$flightday->day][$i]['departure_time'] = date('H:i', $departure_time);
                 $return[$flightday->day][$i]['arrival_time'] = date('H:i', $arrival_time);
                 $width_sec = $arrival_time - strtotime('00:00:00');
                 $width = $width_sec / 86400 * 100;
                 $return[$flightday->day * 2][999]['left'] = 0;
                 $return[$flightday->day * 2][999]['width'] = $width;
                 $return[$flightday->day * 2][999]['flightnumber'] = $userData->airline_short . $flight->flight_number;
                 $return[$flightday->day * 2][999]['departure_airport'] = $flight->AirportDeparture->iata;
                 $return[$flightday->day * 2][999]['arrival_airport'] = $flight->AirportArrival->iata;
                 $return[$flightday->day * 2][999]['departure_time'] = date('H:i', $departure_time);
                 $return[$flightday->day * 2][999]['arrival_time'] = date('H:i', $arrival_time);
             } else {
                 $time = $arrival_time - $departure_time;
                 $start_time = $departure_time - strtotime('00:00:00');
                 $width = $time / 86400 * 100;
                 $left = $start_time / 86400 * 100;
                 $return[$flightday->day][$i]['left'] = $left;
                 $return[$flightday->day][$i]['width'] = $width;
                 $return[$flightday->day][$i]['flightnumber'] = $userData->airline_short . $flight->flight_number;
                 $return[$flightday->day][$i]['departure_airport'] = $flight->AirportDeparture->iata;
                 $return[$flightday->day][$i]['arrival_airport'] = $flight->AirportArrival->iata;
                 $return[$flightday->day][$i]['departure_time'] = date('H:i', $departure_time);
                 $return[$flightday->day][$i]['arrival_time'] = date('H:i', $arrival_time);
             }
             $i++;
         }
     }
     return view('template.fleet.calendar', ['days' => $return]);
 }