original_string: protected function get_search_client($triggerexception = true) {
          global $CFG;
  
          // Type comparison as it is set to false if not available.
          if ($this->client !== null) {
              return $this->client;
          }
  
          $options = array(
              'hostname' => $this->config->server_hostname,
              'path'     => '/solr/' . $this->config->indexname,
              'login'    => !empty($this->config->server_username) ? $this->config->server_username : '',
              'password' => !empty($this->config->server_password) ? $this->config->server_password : '',
              'port'     => !empty($this->config->server_port) ? $this->config->server_port : '',
              'secure' => !empty($this->config->secure) ? true : false,
              'ssl_cert' => !empty($this->config->ssl_cert) ? $this->config->ssl_cert : '',
              'ssl_key' => !empty($this->config->ssl_key) ? $this->config->ssl_key : '',
              'ssl_keypassword' => !empty($this->config->ssl_keypassword) ? $this->config->ssl_keypassword : '',
              'ssl_cainfo' => !empty($this->config->ssl_cainfo) ? $this->config->ssl_cainfo : '',
              'ssl_capath' => !empty($this->config->ssl_capath) ? $this->config->ssl_capath : '',
              'timeout' => !empty($this->config->server_timeout) ? $this->config->server_timeout : '30'
          );
  
          if ($CFG->proxyhost && !is_proxybypass('http://' . $this->config->server_hostname . '/')) {
              $options['proxy_host'] = $CFG->proxyhost;
              if (!empty($CFG->proxyport)) {
                  $options['proxy_port'] = $CFG->proxyport;
              }
              if (!empty($CFG->proxyuser) && !empty($CFG->proxypassword)) {
                  $options['proxy_login'] = $CFG->proxyuser;
                  $options['proxy_password'] = $CFG->proxypassword;
              }
          }
  
          if (!class_exists('\SolrClient')) {
              throw new \core_search\engine_exception('enginenotinstalled', 'search', '', 'solr');
          }
  
          $client = new \SolrClient($options);
  
          if ($client === false && $triggerexception) {
              throw new \core_search\engine_exception('engineserverstatus', 'search');
          }
  
          if ($this->cacheclient) {
              $this->client = $client;
          }
  
          return $client;
      }
code: protected function get_search_client($triggerexception = true) {
          global $CFG;
  
          // Type comparison as it is set to false if not available.
          if ($this->client !== null) {
              return $this->client;
          }
  
          $options = array(
              'hostname' => $this->config->server_hostname,
              'path'     => '/solr/' . $this->config->indexname,
              'login'    => !empty($this->config->server_username) ? $this->config->server_username : '',
              'password' => !empty($this->config->server_password) ? $this->config->server_password : '',
              'port'     => !empty($this->config->server_port) ? $this->config->server_port : '',
              'secure' => !empty($this->config->secure) ? true : false,
              'ssl_cert' => !empty($this->config->ssl_cert) ? $this->config->ssl_cert : '',
              'ssl_key' => !empty($this->config->ssl_key) ? $this->config->ssl_key : '',
              'ssl_keypassword' => !empty($this->config->ssl_keypassword) ? $this->config->ssl_keypassword : '',
              'ssl_cainfo' => !empty($this->config->ssl_cainfo) ? $this->config->ssl_cainfo : '',
              'ssl_capath' => !empty($this->config->ssl_capath) ? $this->config->ssl_capath : '',
              'timeout' => !empty($this->config->server_timeout) ? $this->config->server_timeout : '30'
          );
  
          if ($CFG->proxyhost && !is_proxybypass('http://' . $this->config->server_hostname . '/')) {
              $options['proxy_host'] = $CFG->proxyhost;
              if (!empty($CFG->proxyport)) {
                  $options['proxy_port'] = $CFG->proxyport;
              }
              if (!empty($CFG->proxyuser) && !empty($CFG->proxypassword)) {
                  $options['proxy_login'] = $CFG->proxyuser;
                  $options['proxy_password'] = $CFG->proxypassword;
              }
          }
  
          if (!class_exists('\SolrClient')) {
              throw new \core_search\engine_exception('enginenotinstalled', 'search', '', 'solr');
          }
  
          $client = new \SolrClient($options);
  
          if ($client === false && $triggerexception) {
              throw new \core_search\engine_exception('engineserverstatus', 'search');
          }
  
          if ($this->cacheclient) {
              $this->client = $client;
          }
  
          return $client;
      }
code_tokens: protected function get_search_client ( $ triggerexception = true ) { global $ CFG ; // Type comparison as it is set to false if not available. if ( $ this -> client !== null ) { return $ this -> client ; } $ options = array ( 'hostname' => $ this -> config -> server_hostname , 'path' => '/solr/' . $ this -> config -> indexname , 'login' => ! empty ( $ this -> config -> server_username ) ? $ this -> config -> server_username : '' , 'password' => ! empty ( $ this -> config -> server_password ) ? $ this -> config -> server_password : '' , 'port' => ! empty ( $ this -> config -> server_port ) ? $ this -> config -> server_port : '' , 'secure' => ! empty ( $ this -> config -> secure ) ? true : false , 'ssl_cert' => ! empty ( $ this -> config -> ssl_cert ) ? $ this -> config -> ssl_cert : '' , 'ssl_key' => ! empty ( $ this -> config -> ssl_key ) ? $ this -> config -> ssl_key : '' , 'ssl_keypassword' => ! empty ( $ this -> config -> ssl_keypassword ) ? $ this -> config -> ssl_keypassword : '' , 'ssl_cainfo' => ! empty ( $ this -> config -> ssl_cainfo ) ? $ this -> config -> ssl_cainfo : '' , 'ssl_capath' => ! empty ( $ this -> config -> ssl_capath ) ? $ this -> config -> ssl_capath : '' , 'timeout' => ! empty ( $ this -> config -> server_timeout ) ? $ this -> config -> server_timeout : '30' ) ; if ( $ CFG -> proxyhost && ! is_proxybypass ( 'http://' . $ this -> config -> server_hostname . '/' ) ) { $ options [ 'proxy_host' ] = $ CFG -> proxyhost ; if ( ! empty ( $ CFG -> proxyport ) ) { $ options [ 'proxy_port' ] = $ CFG -> proxyport ; } if ( ! empty ( $ CFG -> proxyuser ) && ! empty ( $ CFG -> proxypassword ) ) { $ options [ 'proxy_login' ] = $ CFG -> proxyuser ; $ options [ 'proxy_password' ] = $ CFG -> proxypassword ; } } if ( ! class_exists ( '\SolrClient' ) ) { throw new \ core_search \ engine_exception ( 'enginenotinstalled' , 'search' , '' , 'solr' ) ; } $ client = new \ SolrClient ( $ options ) ; if ( $ client === false && $ triggerexception ) { throw new \ core_search \ engine_exception ( 'engineserverstatus' , 'search' ) ; } if ( $ this -> cacheclient ) { $ this -> client = $ client ; } return $ client ; }
docstring: Returns the solr client instance.
  
  We don't reuse SolrClient if we are on libcurl 7.35.0, due to a bug in that version of curl.
  
  @throws \core_search\engine_exception
  @param bool $triggerexception
  @return \SolrClient
docstring_tokens: Returns the solr client instance .