/** * Get REST client instance * * @return null|RestClient */ public static function getRestClient() { if (is_null(self::$restClient)) { self::$restClient = new RestClient(array('base_url' => 'https://app.getsitecontrol.com/api/v1', 'headers' => array('Content-Type' => 'application/json'))); } return self::$restClient; }
/** * Processing a sign up form */ public function post_sign_up() { if (self::post('gsc_sign_up') && check_admin_referer()) { $data['name'] = self::post('gsc_name'); $data['email'] = self::post('gsc_email'); $data['password'] = self::post('gsc_password'); $data['site'] = self::post('gsc_site'); if (self::validate($data, 'register')) { $response = GetSiteControlApi::getRestClient()->post('users/register', json_encode(array('name' => $data['name'], 'email' => $data['email'], 'password' => $data['password'], 'site' => $data['site'], 'tracking' => array('context' => 'utm_campaign=WorpressPlugin&utm_medium=plugin')))); if (empty($response->error)) { $responseObject = json_decode($response->response); if (empty($responseObject->error)) { //If no errors, save the api key and login url self::$settings['api_key'] = $responseObject->api_key; self::update(self::$settings); wp_redirect(admin_url('admin.php?page=' . self::$actions['index']['slug'])); } else { foreach ((array) $responseObject->error->field_errors as $field => $messages) { foreach ($messages as $message) { self::$errors[$field][] = $message; } } } } else { self::$errors['__all__'][] = $response->error; } } } }