public function challengeAction() { if (empty($_SERVER['HTTP_X_REQUESTED_WITH'])) { error404(); } $model = new ProfileModel(); $data['uid'] = Request::getParam('user')->id; $role = Request::getParam('user')->role; $model->checkStamina($data['uid']); $data['pid'] = post('pid', 'int'); $data['startTime'] = time(); if ($model->getStamina($data['uid']) - 1 >= 0 or $role == 'admin') { if ($data['uid'] != $data['pid']) { if ($model->getUserByID($data['pid'])->id && !$model->getMatchesByUP($data['uid'], $data['pid'])->id) { $result = $model->insert('matches', $data); if ($result) { if ($role != 'admin') { $model->updateStamina($data['uid'], "-1"); } $response['target_h']['#challenge'] = 'Challenge sent'; $response['target_h']['#challenge' . $data['pid']] = 'Challenge sent'; } else { $response['target_h']['#challenge'] = 'Error challenge!'; $response['target_h']['#challenge' . $data['pid']] = 'Error challenge!'; } } else { $response['target_h']['#challenge'] = 'You have already challenged this profile!'; $response['target_h']['#challenge' . $data['pid']] = 'You have already challenged this profile!'; } } else { $response['target_h']['#challenge'] = 'You can not challenge for yourself!'; $response['target_h']['#challenge' . $data['pid']] = 'You can not challenge for yourself!'; } } else { $response['target_h']['#challenge'] = 'Not enough stamina, recover your stamina points or try again tomorrow.'; $response['target_h']['#challenge' . $data['pid']] = 'Not enough stamina, recover your stamina points or try again tomorrow.'; } $response['error'] = 0; echo json_encode($response); exit; }