function __construct($logging = false, $settingsfile = null)
{
if ($logging) {
$this->enableLogging();
}
#
# Initialize default values for config parameters
#
$this->language = 'en';
$this->version = '1.0';
// Default server configuration stuff - this varies per connected registry
// Check the greeting of the server to see which of these values you need to add
$this->setTimeout(10);
$this->setLanguage($this->language);
$this->setVersion($this->version);
$this->responses['Metaregistrar\\EPP\\eppHelloRequest'] = 'Metaregistrar\\EPP\\eppHelloResponse';
$this->responses['Metaregistrar\\EPP\\eppLoginRequest'] = 'Metaregistrar\\EPP\\eppLoginResponse';
$this->responses['Metaregistrar\\EPP\\eppLogoutRequest'] = 'Metaregistrar\\EPP\\eppLogoutResponse';
$this->responses['Metaregistrar\\EPP\\eppPollRequest'] = 'Metaregistrar\\EPP\\eppPollResponse';
$this->responses['Metaregistrar\\EPP\\eppCheckDomainRequest'] = 'Metaregistrar\\EPP\\eppCheckDomainResponse';
$this->responses['Metaregistrar\\EPP\\eppCheckContactRequest'] = 'Metaregistrar\\EPP\\eppCheckContactResponse';
$this->responses['Metaregistrar\\EPP\\eppCheckHostRequest'] = 'Metaregistrar\\EPP\\eppCheckHostResponse';
$this->responses['Metaregistrar\\EPP\\eppInfoHostRequest'] = 'Metaregistrar\\EPP\\eppInfoHostResponse';
$this->responses['Metaregistrar\\EPP\\eppInfoContactRequest'] = 'Metaregistrar\\EPP\\eppInfoContactResponse';
$this->responses['Metaregistrar\\EPP\\eppInfoDomainRequest'] = 'Metaregistrar\\EPP\\eppInfoDomainResponse';
$this->responses['Metaregistrar\\EPP\\eppCreateDomainRequest'] = 'Metaregistrar\\EPP\\eppCreateDomainResponse';
$this->responses['Metaregistrar\\EPP\\eppCreateContactRequest'] = 'Metaregistrar\\EPP\\eppCreateContactResponse';
$this->responses['Metaregistrar\\EPP\\eppCreateHostRequest'] = 'Metaregistrar\\EPP\\eppCreateHostResponse';
$this->responses['Metaregistrar\\EPP\\eppDeleteDomainRequest'] = 'Metaregistrar\\EPP\\eppDeleteResponse';
$this->responses['Metaregistrar\\EPP\\eppDeleteContactRequest'] = 'Metaregistrar\\EPP\\eppDeleteResponse';
$this->responses['Metaregistrar\\EPP\\eppDeleteHostRequest'] = 'Metaregistrar\\EPP\\eppDeleteResponse';
$this->responses['Metaregistrar\\EPP\\eppUndeleteRequest'] = 'Metaregistrar\\EPP\\eppUndeleteResponse';
$this->responses['Metaregistrar\\EPP\\eppUpdateDomainRequest'] = 'Metaregistrar\\EPP\\eppUpdateResponse';
$this->responses['Metaregistrar\\EPP\\eppUpdateContactRequest'] = 'Metaregistrar\\EPP\\eppUpdateResponse';
$this->responses['Metaregistrar\\EPP\\eppUpdateHostRequest'] = 'Metaregistrar\\EPP\\eppUpdateResponse';
$this->responses['Metaregistrar\\EPP\\eppRenewRequest'] = 'Metaregistrar\\EPP\\eppRenewResponse';
$this->responses['Metaregistrar\\EPP\\eppTransferRequest'] = 'Metaregistrar\\EPP\\eppTransferResponse';
$this->responses['Metaregistrar\\EPP\\eppCheckRequest'] = 'Metaregistrar\\EPP\\eppCheckResponse';
$this->responses['Metaregistrar\\EPP\\eppCreateRequest'] = 'Metaregistrar\\EPP\\eppCreateResponse';
$this->responses['Metaregistrar\\EPP\\eppUpdateRequest'] = 'Metaregistrar\\EPP\\eppUpdateResponse';
$this->responses['Metaregistrar\\EPP\\eppDeleteRequest'] = 'Metaregistrar\\EPP\\eppDeleteResponse';
#
# Read settings.ini or specified settings file
#
if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') {
$path = str_replace('Metaregistrar\\EPP\\', dirname(__FILE__) . '\\..\\..\\Registries\\', get_called_class());
} else {
$path = str_replace('Metaregistrar\\EPP\\', dirname(__FILE__) . '/../../Registries/', get_called_class());
}
if (!$settingsfile) {
$settingsfile = 'settings.ini';
}
$test = pathinfo($settingsfile);
if ($test['dirname'] != '.') {
$path = $test['dirname'];
$settingsfile = $test['basename'];
}
if ($settings = $this->loadSettings($path, $settingsfile)) {
$this->setHostname($settings['hostname']);
$this->setUsername($settings['userid']);
$this->setPassword($settings['password']);
if (array_key_exists('port', $settings)) {
$this->setPort($settings['port']);
} else {
$this->setPort(700);
}
if (array_key_exists('certificatefile', $settings) && array_key_exists('certificatepassword', $settings)) {
if (strpos($settings['certificatefile'], '\\') === false && strpos($settings['certificatefile'], '/') === false) {
if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') {
$settings['certificatefile'] = $path . '\\' . $settings['certificatefile'];
} else {
$settings['certificatefile'] = $path . '/' . $settings['certificatefile'];
}
}
if (isset($settings['allowselfsigned'])) {
$this->enableCertification($settings['certificatefile'], $settings['certificatepassword'], $settings['allowselfsigned']);
} else {
$this->enableCertification($settings['certificatefile'], $settings['certificatepassword']);
}
}
}
}