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(); } }
public function getEvents() { return Event::orderBy('begin')->get(array('title', 'description', 'begin', 'end')); }
<?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'); });