/** * Store a newly created resource in storage. * * @return Response */ public function store() { $tracker_ids = Request::get('tracker_ids'); $tracker_id = explode(',', $tracker_ids); $usernameArray = []; $response = null; foreach ($tracker_id as $id) { if (trim($id) != 'null') { $username = null; if (is_numeric($id)) { $user = User::where('mobile', '=', $id)->get(array('username')); foreach ($user as $name) { $username = $name->username; array_push($usernameArray, $username); } } $validate = TrackAssign::where('user_id', '=', Request::get('user_id'))->where('tracker_id', '=', $username)->first(); if ($username != null) { if ($validate == null) { $assign = new TrackAssign(); $assign->user_id = Request::get('user_id'); $assign->tracker_id = $username; $assign->status = 1; $assign->save(); return $response = RestApi::trackNotification($username, Request::get('user_id')); } else { $validate->status = 1; $validate->save(); return $response = RestApi::trackNotification($username, Request::get('user_id')); } } } } //return $response; /*return Response::json(array( "status" => "OK", "users" => $usernameArray), 200);*/ }
public function start() { $username = Request::get('username'); $user_track_id = uniqid('TR_'); $trackers = array_filter(explode(',', Request::get('tracker_ids'))); /* Check if username is alredy in track_id table if there, update the track_id field with new one else, create a new row with track_id and username */ $track_id = TrackId::where('username', '=', $username)->first(); if ($track_id) { $track_id->track_id = $user_track_id; $track_id->status = 1; $track_id->save(); } else { $track_id = new TrackId(); $track_id->track_id = $user_track_id; $track_id->username = $username; $track_id->status = 1; $track_id->save(); } /* Assign the users to trackers */ foreach ($trackers as $tracker) { $tracker_name = User::where('mobile', '=', $tracker)->first(); if ($tracker_name) { $tracker_assign_name = TrackAssign::where('username', '=', $username)->where('tracker_id', '=', $tracker_name->username)->first(); if (!$tracker_assign_name) { $tracker_assign = new TrackAssign(); $tracker_assign->username = $username; $tracker_assign->tracker_id = $tracker_name->username; $tracker_assign->save(); } /* Send notification to trackers */ $values = array($tracker_name->username, $user_track_id); RestApi::sendNotification('TR', $values); } } return Response::json(array('status' => 'OK', 'trackid' => $track_id)); }