public static function create() { $app = \Slim\Slim::getInstance(); $jsonData = $app->request->getBody(); //$allPostVars = json_decode($jsonData,true); $allPostVars = $app->request->post(); $eventName = @$allPostVars['relive-event-name'] ? @trim($allPostVars['relive-event-name']) : NULL; $hashtags = @$allPostVars['relive-hashtags'] ? $allPostVars['relive-hashtags'] : []; $eventName = htmlspecialchars($eventName, ENT_QUOTES, 'UTF-8'); if (is_null($eventName) || empty($eventName) || strlen($eventName) > 255 || count($hashtags) == 0) { $app->render(400, ['Status' => 'Invalid input.']); return; } try { $event = \relive\models\Event::firstOrCreate(['eventName' => $eventName]); $event->dateAdded = time(); $event->save(); foreach ($hashtags as $tag) { $tag = trim(htmlspecialchars($tag, ENT_QUOTES, 'UTF-8')); if (!empty($tag) && strlen($tag) < 255) { $hashtag = \relive\models\Hashtag::firstOrCreate(['hashtag' => $tag]); $eventhashtagrelationship = \relive\models\EventHashtagRelationship::firstOrCreate(['event_id' => $event->event_id, 'hashtag_id' => $hashtag->hashtag_id]); } } echo json_encode($event, JSON_UNESCAPED_SLASHES); passthru("php ./relive/crawlers/CreationCrawler.php " . $event->event_id . "> /dev/null &"); } catch (\Exception $e) { $app->render(500, ['Status' => 'An error occurred.']); } }