예제 #1
0
 public function postIndex()
 {
     $validator = Validator::make(Request::all(), Event::$optionRules);
     if ($validator->passes()) {
         // validation has passed, write events in range on that date to xml File
         $geocoding_arr = Event::lookup(Request::input('adress'));
         $events = Event::orderBy('updated_at', 'DESC')->get();
         $date = strtotime(Request::input('date'));
         //$range = Request::input('range');
         (double) ($lat = $geocoding_arr['latitude']);
         (double) ($lng = $geocoding_arr['longitude']);
         //Start XML file, create parent node
         $xml = new XMLWriter();
         $xml->openMemory();
         $xml->startDocument('1.0', 'UTF-8');
         //markers
         $xml->startElement('markers');
         foreach ($events as $event) {
             $distance = 6371 * acos(cos(deg2rad($lat)) * cos(deg2rad($event->latitude)) * cos(deg2rad($event->longitude) - deg2rad($lng)) + sin(deg2rad($lat)) * sin(deg2rad($event->latitude)));
             if ($distance <= $range) {
                 if (strtotime($event->Begin) <= $date && strtotime($event->End) >= $date) {
                     $xml->startElement('marker');
                     $xml->writeAttribute('name', $event->title);
                     $xml->writeAttribute('content', $event->content);
                     $xml->writeAttribute('type', $event->type);
                     $xml->writeAttribute('link', $event->link);
                     $xml->writeAttribute('longitude', $event->longitude);
                     $xml->writeAttribute('latitude', $event->latitude);
                     $xml->endElement();
                 }
             }
         }
         //close markers
         $xml->endElement();
         //write to file
         file_put_contents('markers.xml', $xml->outputMemory());
         return view('events.index');
     } else {
         // validation has failed, display error messages
         return redirect('events/index')->with('message', 'danger|Die folgenden Fehler sind aufgetreten:')->withErrors($validator)->withInput();
     }
 }
예제 #2
0
 public function getEvents()
 {
     return Event::orderBy('begin')->get(array('title', 'description', 'begin', 'end'));
 }
예제 #3
0
<?php

/*
|--------------------------------------------------------------------------
| Routes File
|--------------------------------------------------------------------------
|
| Here is where you will register all of the routes in an application.
| It's a breeze. Simply tell Laravel the URIs it should respond to
| and give it the controller to call when that URI is requested.
|
*/
Route::get('/', function () {
    return view('welcome');
});
Route::get('dashboard', function () {
    $events = \App\Models\Event::orderBy('updated_at', 'desc')->take(4)->get();
    $latest = \App\Models\Log::orderBy('updated_at', 'desc')->take(4)->get();
    return view('dashboard', compact('events', 'latest'));
});
Route::controller('places', 'PlacesController');
Route::group(['middleware' => ['web'], 'prefix' => 'api'], function () {
    //
});
Route::get('test', function () {
    return view('tsipras');
});