コード例 #1
0
 /**
  * Store a newly created resource in storage.
  *
  * @return Response
  */
 public function store()
 {
     $device_id = Request::get('device_id');
     $device = RegisteredDevice::where('device_id', '=', $device_id)->first();
     if ($device) {
         $device->reg_id = Request::get('reg_id');
     } else {
         $device = new RegisteredDevice();
         $device->device_id = $device_id;
         $device->reg_id = Request::get('reg_id');
     }
     $device->save();
     return Response::json(array('status' => 'OK'), 200);
 }
コード例 #2
0
ファイル: RestApi.php プロジェクト: vishnu-b/traffic_minimal
 public static function sendNotification($flag, $valueArray)
 {
     $api_key = "AIzaSyBH2OD9dUrh9yoYSowf_Fi5b2619AnJsbs";
     $regIdArray = [];
     $message = [];
     $url = "https://android.googleapis.com/gcm/send";
     switch ($flag) {
         case 'TR':
             $tracker_name = $valueArray[0];
             $track_id = $valueArray[1];
             $username = TrackId::where('track_id', '=', $track_id)->first();
             $registrationIDs = RegisteredDevice::where('username', '=', $tracker_name)->get();
             $message = array("flag" => "TR", "user" => $username->username);
             foreach ($registrationIDs as $regId) {
                 array_push($regIdArray, $regId->reg_id);
             }
             break;
         case 'TJ':
             $lat = $valueArray[0];
             $lng = $valueArray[1];
             $address = self::getaddress($lat, $lng);
             $ctime = $valueArray[2];
             $registrationIDs = RegisteredDevice::all(array('reg_id'));
             $message = array("flag" => 'TJ', "lat" => $lat, "lng" => $lng, "address" => $address, "ctime" => $ctime);
             foreach ($registrationIDs as $regId) {
                 array_push($regIdArray, $regId->reg_id);
             }
             break;
         case 'ST':
             $tracker_name = $valueArray[0];
             $track_id = $valueArray[1];
             $registrationIDs = RegisteredDevice::where('username', '=', $tracker_name)->get();
             $message = array("flag" => "ST", "user" => $track_id);
             foreach ($registrationIDs as $regId) {
                 array_push($regIdArray, $regId->reg_id);
             }
             break;
     }
     print_r($regIdArray);
     print_r($message);
     $fields = array('registration_ids' => $regIdArray, 'data' => array("message" => $message));
     $headers = array('Authorization: key=' . $api_key, 'Content-Type: application/json');
     $ch = curl_init();
     curl_setopt($ch, CURLOPT_URL, $url);
     curl_setopt($ch, CURLOPT_POST, true);
     curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
     curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
     curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($fields));
     $result = curl_exec($ch);
     return $result;
     curl_close($ch);
 }
コード例 #3
0
 public function login()
 {
     $username = Request::get('username');
     $password = Request::get('password');
     $device_id = Request::get('device_id');
     $field = filter_var($username, FILTER_VALIDATE_EMAIL) ? 'email' : 'username';
     $user = array($field => $username, 'password' => $password, 'active' => 1);
     if (Auth::attempt($user)) {
         $device = RegisteredDevice::where('device_id', '=', $device_id)->first();
         $device->username = $username;
         $device->save();
         return Response::json(array("status" => 'OK'), 200);
     }
     return Response::json(array("status" => 'FAILED'), 200);
 }