view release on metacpan or search on metacpan
lib/IO/EPP/Base.pm view on Meta::CPAN
return wantarray ? ( 0, 0, 'empty answer' ) : 0 ;
}
=head2 update_statuses_add
Part of update_* functions
=cut
sub update_statuses_add {
my ( undef, $type, $statuses ) = @_;
my $add = '';
my %sts;
if ( ref $statuses eq 'HASH' ) {
%sts = %{$statuses};
}
elsif ( ref $statuses eq 'ARRAY' ) {
$sts{$_} = '+' for @{$statuses};
lib/IO/EPP/Base.pm view on Meta::CPAN
return $add;
}
=head2 update_statuses_rem
Part of update_* functions
=cut
sub update_statuses_rem {
my ( undef, $type, $statuses ) = @_;
my $rem = '';
my @sts;
if ( ref $statuses eq 'HASH' ) {
@sts = keys %{$statuses};
}
elsif ( ref $statuses eq 'ARRAY' ) {
@sts = @{$statuses};
lib/IO/EPP/Base.pm view on Meta::CPAN
phone => '+380.501234567',
fax => '',
email => 'reg1010@yandex.com',
authinfo => 'Q2+qqqqqqqqqqqqqqqqqqqqqqqqqq',
}
},
);
=cut
sub update_contact {
my ( $self, $params ) = @_;
return ( 0, 0, 'no params' ) unless ref $params;
return ( 0, 0, 'no cont_id' ) unless $params->{cont_id};
my ( $add, $rem, $chg ) = ( '', '', '' );
if ( $$params{add} ) {
if ( $$params{add}{statuses} ) {
lib/IO/EPP/Base.pm view on Meta::CPAN
} );
( $answ, $msg ) = make_request( 'update_ns', {
ns => 'ns1.sss.ru.com',
chg => { new_name => 'ns1.sss.xyz' },
conn => $conn,
} );
=cut
sub update_ns {
my ( $self, $params ) = @_;
return ( 0, 0, 'no ns' ) unless $$params{ns};
my $add = '';
if ( $params->{add} ) {
if ( $params->{add}{ips} and ref $params->{add}{ips} ) {
foreach my $ip ( @{$params->{add}{ips}} ) {
if ( $ip =~ /^\d+\.\d+\.\d+\.\d+$/ ) {
lib/IO/EPP/Base.pm view on Meta::CPAN
=head2 update_domain_add_nss
Part of the update_domain function.
Can be overwritten in a child module, example, in L<IO::EPP::DrsUa>
=cut
sub update_domain_add_nss {
my ( undef, $params ) = @_;
my $add = " <domain:ns>\n";
foreach my $ns ( @{$$params{add}{nss}} ) {
$add .= " <domain:hostObj>$ns</domain:hostObj>\n";
}
$add .= " </domain:ns>\n";
lib/IO/EPP/Base.pm view on Meta::CPAN
=head2 update_domain_rem_nss
Part of the update_domain function.
Can be overwritten in a child module.
=cut
sub update_domain_rem_nss {
my ( undef, $params ) = @_;
my $rem = " <domain:ns>\n";
foreach my $ns ( @{$$params{rem}{nss}} ) {
$rem .= " <domain:hostObj>$ns</domain:hostObj>\n";
}
$rem .= " </domain:ns>\n";
lib/IO/EPP/Base.pm view on Meta::CPAN
=head2 update_domain_ext
Part of the update_domain function.
Can be overwritten in a child module.
In this function this module contains the DNSSEC extension
=cut
sub update_domain_ext {
my ( undef, $params ) = @_;
my $ext = '';
my $rem_ds = '';
if ( $params->{rem} && $params->{rem}{dnssec} ) {
foreach my $raw ( @{$params->{rem}{dnssec}} ) {
my $ds = '';
$ds .= " <secDNS:keyTag>$$raw{keytag}</secDNS:keyTag>\n" if $raw->{keytag};
$ds .= " <secDNS:alg>$$raw{alg}</secDNS:alg>\n" if $raw->{alg};
lib/IO/EPP/Base.pm view on Meta::CPAN
( $a, $m ) = make_request( 'update_domain', {
dname => 'example.com',
rem => { statuses => [ 'clientUpdateProhibited','clientDeleteProhibited' ] },
add => { statuses => [ 'clientHold' ] },
conn => $c,
} );
=cut
sub update_domain {
my ( $self, $params ) = @_;
return ( 0, 0, 'no params' ) unless ref $params;
return ( 0, 0, 'no dname' ) unless $params->{dname};
my $nm = 'update_domain';
my $add = '';
if ( ref $$params{add} ) {
lib/IO/EPP/CNic.pm view on Meta::CPAN
$params->{pp_ext} = '
<contact:disclose flag="'.$visible.'">
<contact:voice/>
<contact:email/>
</contact:disclose>';
return $self->SUPER::create_contact( $params );
}
sub update_contact {
my ( $self, $params ) = @_;
if ( ref $params->{chg} ) {
$params->{chg}{company} =~ s/&/&/g if $params->{chg}{company};
$params->{chg}{addr} = [ $params->{chg}{addr} ] unless ref $params->{chg}{addr};
s/&/&/g for @{$params->{chg}{addr}};
$params->{chg}{authinfo} ||= IO::EPP::Base::gen_pw( 16 );
}
lib/IO/EPP/CNic.pm view on Meta::CPAN
$params->{pp_ext} = '
<contact:disclose flag="'.$visible.'">
<contact:voice/>
<contact:email/>
</contact:disclose>';
return $self->SUPER::update_contact( $params );
}
sub update_ns {
my ( $self, $params ) = @_;
$params->{no_empty_chg} = 1;
return $self->SUPER::update_ns( $params );
}
=head2 check_premium
Get prices for premium domains
lib/IO/EPP/CoreNic.pm view on Meta::CPAN
$cont{$dt{$k}} =~ s/T/ /;
$cont{$dt{$k}} =~ s/\.\d+Z$//;
}
}
return \%cont;
}
sub update_contact {
my ( $self, $params ) = @_;
if ( $params->{chg} ) {
$params->{chg}{need_name} = 1;
$params->{chg}{authinfo} = IO::EPP::Base::gen_pw( 12 );
}
return $self->SUPER::update_contact( $params );
}
lib/IO/EPP/DrsUa.pm view on Meta::CPAN
return $self->SUPER::create_contact( $params );
}
=head1 update_contact
It has many features, see the description of the module above
=cut
sub update_contact {
my ( $self, $params ) = @_;
_prepare_contact( $params );
$params->{chg}{need_name} = 1;
my $visible = $$params{pp_flag} ? 0 : 1;
$params->{pp_ext} = '
<contact:disclose flag="'.$visible.'">
lib/IO/EPP/DrsUa.pm view on Meta::CPAN
sub create_domain {
my ( $self, $params ) = @_;
$params->{authinfo} ||= IO::EPP::Base::gen_pw( 16 );
return $self->SUPER::create_domain( $params );
}
sub update_domain_add_nss {
my ( $self, $params ) = @_;
my $add = " <domain:ns>\n";
# Old EPP version, see in https://tools.ietf.org/html/rfc3731
foreach my $ns ( @{$$params{add}{nss}} ) {
$add .= " <domain:hostAttr>\n <domain:hostName>$$ns{ns}</domain:hostName>\n";
if ( $ns->{ips} ) {
foreach my $ip ( @{$ns->{ips}} ) {
if ( $ip =~ /^\d+\.\d+\.\d+\.\d+$/ ) {
lib/IO/EPP/DrsUa.pm view on Meta::CPAN
$add .= " </domain:hostAttr>\n";
}
$add .= " </domain:ns>\n";
return $add;
}
sub update_domain_rem_nss {
my ( $self, $params ) = @_;
my $rem = " <domain:ns>\n";
# Old EPP version, see in https://tools.ietf.org/html/rfc3731
foreach my $ns ( @{$$params{rem}{nss}} ) {
$rem .= " <domain:hostAttr>\n <domain:hostName>$$ns{ns}</domain:hostName>\n";
if ( $ns->{ips} ) {
foreach my $ip ( @{$ns->{ips}} ) {
lib/IO/EPP/DrsUa.pm view on Meta::CPAN
$rem .= " </domain:hostAttr>\n";
}
$rem .= " </domain:ns>\n";
return $rem;
}
sub update_domain {
my ( $self, $params ) = @_;
$params->{nss_as_attr} = 1;
return $self->SUPER::update_domain( $params );
}
=head1 req_poll
It has many features, see the description of the module above
lib/IO/EPP/HosterKZ.pm view on Meta::CPAN
my ( $self, $params ) = @_;
$params->{cont_id} = IO::EPP::Base::gen_id( 16 );
$params->{authinfo} = IO::EPP::Base::gen_pw( 16 );
return $self->SUPER::create_contact( $params );
}
sub update_contact {
my ( $self, $params ) = @_;
$params->{company} =~ s/&/&/g
if $params->{company};
$params->{need_name} = 1;
return $self->SUPER::update_contact( $params );
}
lib/IO/EPP/HosterKZ.pm view on Meta::CPAN
return $self->SUPER::request_transfer( $params );
}
=head2 update_domain
See L</create_domain> for C<server_loc> parameters.
=cut
sub update_domain {
my ( $self, $params ) = @_;
if ( $params->{server_loc} ) {
my $server_loc = delete $params->{server_loc};
$params->{extension} =
' <srvloc:create xmlns:srvloc="urn:kaznic:params:xml:ns:srvloc-1.0" xsi:schemaLocation="urn:kaznic:params:xml:ns:srvloc-1.0 srvloc-1.0.xsd">
<srvloc:street>'.$server_loc->{srvloc_street}.'</srvloc:street>
<srvloc:city>'.$server_loc->{srvloc_city}.'</srvloc:city>
<srvloc:sp>'.$server_loc->{srvloc_state}.'</srvloc:sp>
lib/IO/EPP/IRRP.pm view on Meta::CPAN
C<trade> â Changing domain contacts requires confirmation or a fee, depending on the tld;
C<confirm_old_registrant> â send confirmation of changing the owner's email address to the old address;
C<confirm_new_registrant>â send confirmation of changing the owner's email address to the new address;
Other additional parameters depend on the tld.
=cut
sub update_domain {
my ( $self, $params ) = @_;
my $extension = '';
# Up keys for key-value extension
foreach my $k ( keys %$params ) {
if ( $k =~ /^x-/ ) {
$params->{ uc($k) } = delete $params->{$k};
}
}
lib/IO/EPP/RIPN.pm view on Meta::CPAN
C<emails> - hashref where keys - email type, values - email
C<chg>:
C<www> - new web url
C<whois> - new whois url
=cut
sub update_registrar {
my ( $self, $params ) = @_;
return ( 0, 0, 'no params' ) unless ref $params;
my $cltrid = $self->get_cltrid();
my $add = '';
if ( $params->{add} ) {
if ( defined $params->{add}{ips} and ref $params->{add}{ips} ) {
foreach my $ip ( @{$params->{add}{ips}} ) {
lib/IO/EPP/RRPProxy.pm view on Meta::CPAN
return $self->SUPER::renew_domain( $params );
}
=head2 update_domain
C<trade> â option for special change of domain owner â paid or requires confirmation;
=cut
sub update_domain {
my ( $self, $params ) = @_;
$params->{'X-ACCEPT-TRADE'} = 1 if delete $params->{trade};
my $extension = _keysys_domain_ext( $params );
if ( $extension ) {
$params->{extension} =
qq| <keysys:update $ks_ext>
<keysys:domain>$extension
lib/IO/EPP/Verisign.pm view on Meta::CPAN
=head2 update_contact
.com/.net/.edu zones are not currently supported.
For more information, see L<IO::EPP::Base/update_contact>.
=cut
sub update_contact {
my ( $self, $params ) = @_;
$params->{extension} = $self->{namestore_ext};
return $self->SUPER::update_contact( $params );
}
=head2 delete_contact
lib/IO/EPP/Verisign.pm view on Meta::CPAN
sub get_ns_info {
my ( $self, $params ) = @_;
$params->{extension} = $self->{namestore_ext};
return $self->SUPER::get_ns_info( $params );
}
sub update_ns {
my ( $self, $params ) = @_;
$params->{extension} = $self->{namestore_ext};
$params->{no_empty_chg} = 1 unless $params->{chg};
return $self->SUPER::update_ns( $params );
}
lib/IO/EPP/Verisign.pm view on Meta::CPAN
sub renew_domain {
my ( $self, $params ) = @_;
$params->{extension} = $self->{namestore_ext};
return $self->SUPER::renew_domain( $params );
}
sub update_domain {
my ( $self, $params ) = @_;
$params->{extension} = $self->{namestore_ext};
return $self->SUPER::update_domain( $params );
}
=head2 delete_domain
You can delete a domain only if it does not have NS-s that are used by other domains.