original_string: public function client( $key = null ) {
  
  		// check if we already set the client object
  		if ( is_null( $this->client ) ) 
  		{
  			// make client 
  			$this->client = new \stdClass;
  
  			/*
  			 * get clients ip address
  			 */
  			// Cloudlfare fix 
  			if ( $this->has_server( 'HTTP_CF_CONNECTING_IP' ) ) 
  			{
  				$this->client->ip = $this->server( 'HTTP_CF_CONNECTING_IP' );
  			}
  			// proxy?
  			elseif ( $this->has_server( 'HTTP_X_FORWARDED_FOR' ) ) 
  			{
  				$this->client->ip = $this->server( 'HTTP_X_FORWARDED_FOR' );
  			} 
  			// another proxy?
  			elseif ( $this->has_server( 'HTTP_CLIENT_IP' ) )
  			{
  				$this->client->ip = $this->server( 'HTTP_CLIENT_IP' );
  			}
  			// or default
  			else 
  			{
  				$this->client->ip = $this->server( 'REMOTE_ADDR', '127.0.0.1' );
  			}
  
  			/*
  			 * set clients user agent
  			 */
  			$this->client->agent = $this->server( 'HTTP_USER_AGENT', '' );
  
  			/*
  			 * set clients port
  			 */
  			$this->client->port = $this->server( 'REMOTE_PORT', '' );
  
  			/*
  			 * set clients fingerprint based on host and agent
  			 */
  			$this->client->fingerprint = CCStr::hash( $this->client('agent').$this->client('ip') );
  
  			/*
  			 * set clients language
  			 */
  			$this->client->language = CCLang::set_current( $this->server( 'HTTP_ACCEPT_LANGUAGE' ) );
  		}
  
  		// return the object
  		if ( is_null( $key ) ) 
  		{
  			return $this->client;
  		}
  
  		// return a special key
  		return $this->client->{$key};
  	}
code: public function client( $key = null ) {
  
  		// check if we already set the client object
  		if ( is_null( $this->client ) ) 
  		{
  			// make client 
  			$this->client = new \stdClass;
  
  			/*
  			 * get clients ip address
  			 */
  			// Cloudlfare fix 
  			if ( $this->has_server( 'HTTP_CF_CONNECTING_IP' ) ) 
  			{
  				$this->client->ip = $this->server( 'HTTP_CF_CONNECTING_IP' );
  			}
  			// proxy?
  			elseif ( $this->has_server( 'HTTP_X_FORWARDED_FOR' ) ) 
  			{
  				$this->client->ip = $this->server( 'HTTP_X_FORWARDED_FOR' );
  			} 
  			// another proxy?
  			elseif ( $this->has_server( 'HTTP_CLIENT_IP' ) )
  			{
  				$this->client->ip = $this->server( 'HTTP_CLIENT_IP' );
  			}
  			// or default
  			else 
  			{
  				$this->client->ip = $this->server( 'REMOTE_ADDR', '127.0.0.1' );
  			}
  
  			/*
  			 * set clients user agent
  			 */
  			$this->client->agent = $this->server( 'HTTP_USER_AGENT', '' );
  
  			/*
  			 * set clients port
  			 */
  			$this->client->port = $this->server( 'REMOTE_PORT', '' );
  
  			/*
  			 * set clients fingerprint based on host and agent
  			 */
  			$this->client->fingerprint = CCStr::hash( $this->client('agent').$this->client('ip') );
  
  			/*
  			 * set clients language
  			 */
  			$this->client->language = CCLang::set_current( $this->server( 'HTTP_ACCEPT_LANGUAGE' ) );
  		}
  
  		// return the object
  		if ( is_null( $key ) ) 
  		{
  			return $this->client;
  		}
  
  		// return a special key
  		return $this->client->{$key};
  	}
code_tokens: public function client ( $ key = null ) { // check if we already set the client object if ( is_null ( $ this -> client ) ) { // make client  $ this -> client = new \ stdClass ; /*
  			 * get clients ip address
  			 */ // Cloudlfare fix  if ( $ this -> has_server ( 'HTTP_CF_CONNECTING_IP' ) ) { $ this -> client -> ip = $ this -> server ( 'HTTP_CF_CONNECTING_IP' ) ; } // proxy? elseif ( $ this -> has_server ( 'HTTP_X_FORWARDED_FOR' ) ) { $ this -> client -> ip = $ this -> server ( 'HTTP_X_FORWARDED_FOR' ) ; } // another proxy? elseif ( $ this -> has_server ( 'HTTP_CLIENT_IP' ) ) { $ this -> client -> ip = $ this -> server ( 'HTTP_CLIENT_IP' ) ; } // or default else { $ this -> client -> ip = $ this -> server ( 'REMOTE_ADDR' , '127.0.0.1' ) ; } /*
  			 * set clients user agent
  			 */ $ this -> client -> agent = $ this -> server ( 'HTTP_USER_AGENT' , '' ) ; /*
  			 * set clients port
  			 */ $ this -> client -> port = $ this -> server ( 'REMOTE_PORT' , '' ) ; /*
  			 * set clients fingerprint based on host and agent
  			 */ $ this -> client -> fingerprint = CCStr :: hash ( $ this -> client ( 'agent' ) . $ this -> client ( 'ip' ) ) ; /*
  			 * set clients language
  			 */ $ this -> client -> language = CCLang :: set_current ( $ this -> server ( 'HTTP_ACCEPT_LANGUAGE' ) ) ; } // return the object if ( is_null ( $ key ) ) { return $ this -> client ; } // return a special key return $ this -> client -> { $ key } ; }
docstring: get the client data
  
  @param string		$key
  @return mixed
docstring_tokens: get the client data