Example #1
0
 public function checkTaskAvaliable()
 {
     $tasks_users = \App\UserTask::whereIn('status', ['active', 'available'])->get();
     foreach ($tasks_users as $task_user) {
         $task = \App\Task::whereId($task_user->id_task)->first();
         $timer = explode(':', $task->timer);
         $data = $task_user->created_at;
         $data->addHours($timer[0]);
         $data->addMinutes($timer[1]);
         if (!Carbon::now()->between($task_user->created_at, $data)) {
             $task_user->status = 'timeout';
             $task_user->save();
         } else {
             $data->subMinutes(9);
             $data2 = $data->copy();
             $data2->subMinutes(1);
             if (Carbon::now()->between($data2, $data) && $task_user->status != 'available') {
                 $user = \App\Users::whereId($task_user->id_user)->first();
                 $MESSAGE = 'You have less than 10 minutes to complete the task';
                 $url = 'https://api.parse.com/1/push';
                 $data = array('where' => ['email' => ['$in' => [$user->email]]], 'data' => array('alert' => $task->name, 'title' => $MESSAGE));
                 $_data = json_encode($data);
                 $headers = array('X-Parse-Application-Id: ' . $this->APPLICATION_ID, 'X-Parse-REST-API-Key: ' . $this->REST_API_KEY, 'Content-Type: application/json', 'Content-Length: ' . strlen($_data));
                 $curl = curl_init($url);
                 curl_setopt($curl, CURLOPT_POST, 1);
                 curl_setopt($curl, CURLOPT_POSTFIELDS, $_data);
                 curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
                 curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);
                 curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
                 curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
                 $response = curl_exec($curl);
             }
         }
     }
     return $this;
 }
Example #2
0
 public function getUserById($userId)
 {
     $result = Users::whereId($userId)->first();
     return $result;
 }
Example #3
0
 public function get()
 {
     $this->_methodName = 'edit';
     $this->resolveParams();
     // TODO Сделать изменения для админов
     $this->checkAuth();
     if (!Auth::checkAdmin()) {
         $user = Auth::user();
         $count = DB::table('UserTask')->join('task', 'UserTask.id_task', '=', 'task.id')->where('UserTask.id_user', $user->id)->where('UserTask.status', 'done')->groupBy('id_user')->select(DB::raw('sum(point) as point'))->get();
         if (count($count) > 0) {
             $sum = $count[0]->point;
         } else {
             $sum = 0;
         }
         $sum += $user->bonusPoint;
         $this->_arData['data'] = ['userId' => (int) $user->id, 'email' => $user->email, 'firstName' => $user->first_name, 'lastName' => $user->last_name, 'occupation' => $user->occupation, 'score' => $sum, 'avatar' => $user->avatar, 'city' => $user->city, 'street' => $user->street, 'birthday' => explode('-', $user->bithday)[2] . '.' . explode('-', $user->bithday)[1] . '.' . explode('-', $user->bithday)[0]];
     } else {
         $arNeed = ['userId' => 'required|numeric'];
         $this->checkAttr($arNeed);
         $user = \App\Users::whereId($this->_request_params['userId'])->first();
         if (!is_null($user)) {
             $users = \App\Users::find($this->_request_params['userId']);
             $count = DB::table('UserTask')->join('task', 'UserTask.id_task', '=', 'task.id')->where('UserTask.id_user', $this->_request_params['userId'])->where('UserTask.status', 'done')->groupBy('id_user')->select(DB::raw('sum(point) as point'))->get();
             if (count($count) > 0) {
                 $sum = $count[0]->point;
             } else {
                 $sum = 0;
             }
             $this->_arData['data'] = ['userId' => (int) $user->id, 'email' => $user->email, 'firstName' => $user->first_name, 'lastName' => $user->last_name, 'occupation' => $user->occupation, 'city' => $user->city, 'avatar' => $user->avatar, 'score' => (int) $sum + (int) $user->bonusPoint, 'street' => $user->street, 'birthday' => explode('-', $user->bithday)[2] . '.' . explode('-', $user->bithday)[1] . '.' . explode('-', $user->bithday)[0]];
         }
     }
     return $this;
 }