/** * @param string $url * @param array $data * @param array $curlOptions * * @return bool|mixed|\stdClass */ protected function postData($url, $data, $curlOptions = []) { if (false === $this->checkPayload($data)) { return false; } try { if (false === ($_result = Curl::post($url, $data, $curlOptions))) { \Log::error('[dfe.license] Network communication error.'); return false; } // Yay? if (Response::HTTP_OK == Curl::getLastHttpCode()) { return $_result; } \Log::error('[dfe.license] POST failed with status "' . Curl::getLastHttpCode() . '". Response: ' . print_r($_result, true)); } catch (\Exception $_ex) { \Log::error('[dfe.license] Exception while POSTing: ' . $_ex->getMessage()); } return false; }
/** * @param User $user * @param array $payload * * @return bool */ public static function registerUser($user, array $payload = []) { $source = 'Product Install DreamFactory'; if (env('DF_MANAGED', false)) { $serverName = isset($_SERVER['SERVER_NAME']) ? $_SERVER['SERVER_NAME'] : ''; if (false === strpos($serverName, '.enterprise.dreamfactory.com')) { return true; // bail, not tracking } $source = 'Website Free Hosted'; } $partner = env('DF_INSTALL', ''); if (empty($partner) && false !== stripos(env('DB_DATABASE', ''), 'bitnami')) { $partner = 'Bitnami'; } $payload = array_merge(['email' => $user->email, 'name' => $user->name, 'firstname' => $user->first_name, 'lastname' => $user->last_name, 'phone' => $user->phone, 'lead_event' => $source, 'lead_source' => $source, 'partner' => $partner, 'product' => 'DreamFactory', 'version' => config('df.version', 'unknown'), 'host_os' => PHP_OS], $payload); $payload = json_encode($payload); $options = [CURLOPT_HTTPHEADER => ['Content-Type: application/json']]; if (false !== ($_response = Curl::post(static::ENDPOINT, $payload, $options))) { return true; } return false; }