diff -r -c opensrs-client-2.9.8/ChangeLog opensrs-client-3.0.0/ChangeLog
*** opensrs-client-2.9.8/ChangeLog	Wed Jul 25 15:55:37 2007
--- opensrs-client-3.0.0/ChangeLog	Tue Mar 18 14:31:14 2008
***************
*** 1,3 ****
--- 1,17 ----
+ 2008/02/28 v3.0.0
+ 	- Added ability for .ASIA TLD (all configurations, scripts, and
+ 	  templates)
+ 2007/08/21 v2.9.9
+ 	- cgi/manage.cgi
+ 	* whois privacy is no longer a paid service
+ 	
+ 	- templates/manage/whois_privacy_form.html
+ 	* whois privacy is no longer a paid service
+ 	* typo fixed
+ 	
+ 	- templates/reg_system/reg_period_hints.html
+ 	* updated .mobi min/max registration period
+ 
  2007/05/30 v2.9.8
  	- lib/OpenSRS/Languamge.pm
  	* added language codes for .org .info .biz
diff -r -c opensrs-client-2.9.8/cgi/manage.cgi opensrs-client-3.0.0/cgi/manage.cgi
*** opensrs-client-2.9.8/cgi/manage.cgi	Wed Jul 25 12:56:59 2007
--- opensrs-client-3.0.0/cgi/manage.cgi	Tue Mar 18 14:31:14 2008
***************
*** 63,68 ****
--- 63,70 ----
  use OpenSRS::Util::America qw(build_app_purpose_list);
  use OpenSRS::Util::Common qw(make_navbar locale_build_country_list build_select_menu);
  use OpenSRS::Util::Europe qw(build_eu_countries_list build_eu_languages_list build_be_languages_list);
+ use OpenSRS::Util::Asia qw(build_ced_locality_select_list build_ced_entity_type_select_list
+                            build_ced_contact_type_select_list build_ced_identification_type_select_list);
  
  # initialize global defines
  $cgi = $ENV{SCRIPT_NAME};
***************
*** 962,967 ****
--- 964,988 ----
          escape_hash_values( $rsp_nexus_info );
      }
  
+     my $rsp_ced_info;
+     if ($capabilities->{ced_info}) {
+         my $xcp_ced_info = {
+                 action => "get",
+                 object => "domain",
+                 cookie => $cookie,
+                 attributes => {
+                     type => "ced_info",
+                     }
+                 };
+         $rsp_ced_info = $XML_Client->send_cmd( $xcp_ced_info );
+         if (not $rsp_ced_info->{is_success}) {
+                 $error = "Failed attempt: $rsp_ced_info->{response_text}<br>\n";
+                 error_out($error);
+                 exit;
+         }
+         escape_hash_values( $rsp_ced_info );
+     }
+ 
      my $rsp_trademark;
      if ($capabilities->{trademark}) {
          my $xcp_trademark = {
***************
*** 1033,1039 ****
  	$HTML{old_nexus_validator} =~ tr/a-z/A-Z/;
  	$HTML{"category_" . $HTML{old_nexus_category}} = "checked";
      }
! 	 
      if ($HTML{forwarding_email}) {
  	$HTML{text_comment} = '!-- ';
  	$HTML{text_comment_close} = ' --';
--- 1054,1072 ----
  	$HTML{old_nexus_validator} =~ tr/a-z/A-Z/;
  	$HTML{"category_" . $HTML{old_nexus_category}} = "checked";
      }
! 
!     if ($rsp_ced_info) {
! 	$HTML{old_contact_type} = $rsp_ced_info->{attributes}->{ced_info}->{contact_type};
! 	$HTML{old_locality_country} = $rsp_ced_info->{attributes}->{ced_info}->{locality_country};
! 	$HTML{old_locality_city} = $rsp_ced_info->{attributes}->{ced_info}->{locality_city};
! 	$HTML{old_locality_state_prov} = $rsp_ced_info->{attributes}->{ced_info}->{locality_state_prov};
! 	$HTML{old_legal_entity_type} = $rsp_ced_info->{attributes}->{ced_info}->{legal_entity_type};
! 	$HTML{old_legal_entity_type_info} = $rsp_ced_info->{attributes}->{ced_info}->{legal_entity_type_info};
! 	$HTML{old_id_type} = $rsp_ced_info->{attributes}->{ced_info}->{id_type};
! 	$HTML{old_id_type_info} = $rsp_ced_info->{attributes}->{ced_info}->{id_type_info};
! 	$HTML{old_id_number} = $rsp_ced_info->{attributes}->{ced_info}->{id_number};
!     }
! 
      if ($HTML{forwarding_email}) {
  	$HTML{text_comment} = '!-- ';
  	$HTML{text_comment_close} = ' --';
***************
*** 1106,1111 ****
--- 1139,1153 ----
  	$HTML{us_nexus_form} = get_content("$path_templates/us_nexus_form.html", \%HTML);
      }
  
+     # include ced data form in the main html page if it is capable for .asia ced data modification
+     if ($rsp_ced_info) {
+ 	$HTML{contact_type_menu} = build_ced_contact_type_select_list($HTML{old_contact_type});
+ 	$HTML{locality_country_menu} = build_ced_locality_select_list($HTML{old_locality_country});
+ 	$HTML{legal_entity_type_menu} = build_ced_entity_type_select_list($HTML{old_legal_entity_type});
+ 	$HTML{id_type_menu} = build_ced_identification_type_select_list($HTML{old_id_type});
+ 	$HTML{asia_ced_form} = get_content("$path_templates/asia_ced_form.html", \%HTML);
+     }
+ 
      # include domain whois_privacy form in the main html page if domain whois_privacy state is enabled or disabled
      if ($rsp_whois_privacy->{attributes}->{changeable}) {
  	$HTML{whois_privacy_state} = $rsp_whois_privacy->{attributes}->{state} if ($rsp_whois_privacy);
***************
*** 1115,1131 ****
  	    $HTML{wp_state_change_to} = 'Disable';
  	    $HTML{whois_privacy_radio_button}='<input type="radio" name="whois_privacy" value="N" >
  	    ';
- 	    $HTML{whois_privacy_refund_notice} = '
- 	    <TR>
- 	    <TD align="center" colspan="2" bgcolor="#e0e0e0">
- 	        <font color="blue" size="2"><i>Disabling the feature does not refund any fees paid for the service. <br>The service may be Enabled at any time.</i></font>
- 	    </TD>
- 	    </TR>';
  	} else {
  	    $HTML{wp_state_cur} = 'Disabled';
  	    $HTML{wp_state_change_to} = 'Enable';
  	    $HTML{whois_privacy_radio_button}='<input type="radio" name="whois_privacy" value="Y" >';
- 			
  	}
  	$HTML{whois_privacy_changes_menu} =
  	                 make_whois_privacy_changes_menu();
--- 1157,1166 ----
***************
*** 1329,1334 ****
--- 1364,1412 ----
          }
      }
  
+     if ($capabilities->{ced_info}) {
+         my $xcp_ced_info = {
+                 action => "modify",
+                 object => "domain",
+                 cookie => $cookie,
+                 attributes => {
+                     data => "ced_info",
+ 		    ced_info => {
+ 		        contact_type => $in{contact_type},
+ 		        locality_country => $in{locality_country},
+ 		        locality_city => $in{locality_city},
+ 		        locality_state_prov => $in{locality_state_prov},
+ 		        legal_entity_type => $in{legal_entity_type},
+ 		        legal_entity_type_info => $in{legal_entity_type_info},
+ 		        id_type => $in{id_type},
+ 		        id_type_info => $in{id_type_info},
+ 		        id_number => $in{id_number},
+ 			}
+                     }
+                 };
+         my $mod_flag = 0;
+         $mod_flag =1 if ($in{contact_type} ne $in{old_contact_type});
+         $mod_flag =1 if ($in{locality_country} ne $in{old_locality_country});
+         $mod_flag =1 if ($in{locality_city} ne $in{old_locality_city});
+         $mod_flag =1 if ($in{locality_state_prov} ne $in{old_locality_state_prov});
+         $mod_flag =1 if ($in{legal_entity_type} ne $in{old_legal_entity_type});
+         $mod_flag =1 if ($in{legal_entity_type_info} ne $in{old_legal_entity_type_info});
+         $mod_flag =1 if ($in{id_type} ne $in{old_id_type});
+         $mod_flag =1 if ($in{id_type_info} ne $in{old_id_type_info});
+         $mod_flag =1 if ($in{id_number} ne $in{old_id_number});
+ 
+         if ($mod_flag) {
+                 $do_flag = 1;
+                 my $rsp_ced_info = $XML_Client->send_cmd( $xcp_ced_info );
+                 if (not $rsp_ced_info->{is_success}) {
+                         $resultString .= "Failed to modify CED contact info for $reg_domain : $rsp_ced_info->{response_text}<br>";
+                 } else {
+                         $resultString .= "CED contact info modification successful for $reg_domain<br>";
+                         $ok_flag = 1;
+                 }
+         }
+     }
+ 
      if($in{flag_do_validate_domain} and $dns_errors) {
  	 $do_flag = 1;	
  	my $validate_command = {
***************
*** 1593,1601 ****
  }
  
  sub make_de_org_change_menu {
-     my $html;
  
!     $html = <<EOF;
  <table border=0 cellpadding=3 cellspacing=0>
  <tr><td colspan=3 align=center><font face="verdana, arial" size=2>
  <b>Also Apply these changes to:</b></font></td>
--- 1671,1682 ----
  }
  
  sub make_de_org_change_menu {
  
!     my ($type,$html);
! 
!     my ($reg_domain,$f_owner,$permission,$current_type) = @_;
!     my ($tld) = $reg_domain =~ /$OPENSRS{OPENSRS_TLDS_REGEX}$/;
!     my $table_start = <<EOF;
  <table border=0 cellpadding=3 cellspacing=0>
  <tr><td colspan=3 align=center><font face="verdana, arial" size=2>
  <b>Also Apply these changes to:</b></font></td>
***************
*** 1606,1623 ****
  <td align=center><font face="verdana, arial" size=2><b>YES</b></font></td>
  <td align=center><font face="verdana, arial" size=2><b>NO</b></font></td>
  </tr>
  <tr>
! <td align=right><font face="verdana, arial" size=2>All Domains (<font color="blue">$domain_count</font>)</font></td>
  <td align=center>
! <input type=radio name=affect_domains value="1"></td>
  <td align=center>
  <input type=radio name=affect_domains value="0" checked></td>
  </tr>
! <tr>
! <td colspan=3 align=right><font face="verdana, arial" size=-1>(only .de domains will be modified)</font></td>
! </tr>
! </table>
  
  <table border=0 cellpadding=3 cellspacing=0>
  <tr>
  <td colspan=2 align=center><font face="verdana, arial" size=2>
--- 1687,1721 ----
  <td align=center><font face="verdana, arial" size=2><b>YES</b></font></td>
  <td align=center><font face="verdana, arial" size=2><b>NO</b></font></td>
  </tr>
+ EOF
+     my $need_report_email = 0;
+     if ($reg_f_owner && ($domain_count > 1)) {
+ 	$need_report_email = 1;
+ 	$html .= <<EOF;
  <tr>
! <td align=right><font face="verdana, arial" size=2>All UNLOCKED Domains (<font color="blue">$domain_count</font>)</font></td>
  <td align=center>
! <input type=radio name=affect_domains value="1"> 
! </td>
  <td align=center>
  <input type=radio name=affect_domains value="0" checked></td>
  </tr>
! EOF
!     }
!     my $table_end = "</table>\n";
!     my ($menu);
  
+     if ($html) {
+ 	$menu = <<EOF;
+ $table_start
+ 
+ $html
+ 
+ $table_end
+ EOF
+ 
+ 	if ($need_report_email) {
+ 	    $menu .= <<EOF;
  <table border=0 cellpadding=3 cellspacing=0>
  <tr>
  <td colspan=2 align=center><font face="verdana, arial" size=2>
***************
*** 1631,1648 ****
  <input name=report_email size=20></td>
  </tr>
  </font>
! </table>	    	    
  EOF
  
-     return $html;
-     
  }
  #generate menu for applying whois_privacy changes to all domains in the profile
  sub make_whois_privacy_changes_menu {
  
!     my $html;
  
!     $html = <<EOF;
  <table border=0 cellpadding=3 cellspacing=0>
  <tr><td colspan=3 align=center><font face="verdana, arial" size=2>
  <b>Also Apply these changes to:</b></font></td>
--- 1729,1751 ----
  <input name=report_email size=20></td>
  </tr>
  </font>
! </table>
! <br><i>Only  $tld will be affected</i><b><br>
  EOF
+ 	}
+ 	return $menu;
+     } else {
+ 	return "";
+     }
  
  }
+ 
  #generate menu for applying whois_privacy changes to all domains in the profile
  sub make_whois_privacy_changes_menu {
  
!     my ($type,$html);
  
!     my $table_start = <<EOF;
  <table border=0 cellpadding=3 cellspacing=0>
  <tr><td colspan=3 align=center><font face="verdana, arial" size=2>
  <b>Also Apply these changes to:</b></font></td>
***************
*** 1653,1667 ****
  <td align=center><font face="verdana, arial" size=2><b>YES</b></font></td>
  <td align=center><font face="verdana, arial" size=2><b>NO</b></font></td>
  </tr>
  <tr>
! <td align=right><font face="verdana, arial" size=2>All Domains (<font color="blue">$domain_count</font>)</font></td>
  <td align=center>
  <input type=radio name=wp_affect_domains value="1"> 
  </td>
  <td align=center>
  <input type=radio name=wp_affect_domains value="0" checked></td>
  </tr>
! </table>
  <table border=0 cellpadding=3 cellspacing=0>
  <tr>
  <td colspan=2 align=center><font face="verdana, arial" size=2>
--- 1756,1790 ----
  <td align=center><font face="verdana, arial" size=2><b>YES</b></font></td>
  <td align=center><font face="verdana, arial" size=2><b>NO</b></font></td>
  </tr>
+ EOF
+     my $need_report_email = 0;
+     if ($reg_f_owner && ($domain_count > 1)) {
+ 	$need_report_email = 1;
+ 	$html .= <<EOF;
  <tr>
! <td align=right><font face="verdana, arial" size=2>All UNLOCKED Domains (<font color="blue">$domain_count</font>)</font></td>
  <td align=center>
  <input type=radio name=wp_affect_domains value="1"> 
  </td>
  <td align=center>
  <input type=radio name=wp_affect_domains value="0" checked></td>
  </tr>
! EOF
!     }
!     my $table_end = "</table>\n";
!     my ($menu);
! 
!     if ($html) {
! 	$menu = <<EOF;
! $table_start
! 
! $html
! 
! $table_end
! EOF
! 
! 	if ($need_report_email) {
! 	    $menu .= <<EOF;
  <table border=0 cellpadding=3 cellspacing=0>
  <tr>
  <td colspan=2 align=center><font face="verdana, arial" size=2>
***************
*** 1675,1684 ****
  <input name=report_email size=20></td>
  </tr>
  </font>
! </table>	    	    
  EOF
  
-     return $html;
  }
  
  sub make_beu_global_menu {
--- 1798,1812 ----
  <input name=report_email size=20></td>
  </tr>
  </font>
! </table>
! <br>
  EOF
+ 	}
+ 	return $menu;
+     } else {
+ 	return "";
+     }
  
  }
  
  sub make_beu_global_menu {
***************
*** 1704,1710 ****
  	$need_report_email = 1;
  	$html .= <<EOF;
  <tr>
! <td align=right><font face="verdana, arial" size=2>All Domains (<font color="blue">$domain_count</font>)</font></td>
  <td align=center>
  <input type=radio name=affect_domains value="1"> 
  </td>
--- 1832,1838 ----
  	$need_report_email = 1;
  	$html .= <<EOF;
  <tr>
! <td align=right><font face="verdana, arial" size=2>All UNLOCKED Domains (<font color="blue">$domain_count</font>)</font></td>
  <td align=center>
  <input type=radio name=affect_domains value="1"> 
  </td>
***************
*** 1809,1815 ****
  	$need_report_email = 1;
  	$html .= <<EOF;
  <tr>
! <td align=right><font face="verdana, arial" size=2>All Domains (<font color="blue">$domain_count</font>)</font></td>
  <td align=center>
  <input type=radio name=affect_domains value="1"> 
  </td>
--- 1937,1943 ----
  	$need_report_email = 1;
  	$html .= <<EOF;
  <tr>
! <td align=right><font face="verdana, arial" size=2>All UNLOCKED Domains (<font color="blue">$domain_count</font>)</font></td>
  <td align=center>
  <input type=radio name=affect_domains value="1"> 
  </td>
***************
*** 2174,2180 ****
  	# Nominet handles glue records.
  	modify_nameserver( $response->{ response_text } );
      } else {
!     	modify_nameservers("Nameservers modification for $reg_domain successfully submitted to registry. Please review your changes in 15 minutes to verify that they were accepted");
      }
  }
  
--- 2302,2308 ----
  	# Nominet handles glue records.
  	modify_nameserver( $response->{ response_text } );
      } else {
!     	modify_nameservers("Nameservers modification for $reg_domain successfully submitted to registry.");
      }
  }
  
diff -r -c opensrs-client-2.9.8/cgi/reg_system.cgi opensrs-client-3.0.0/cgi/reg_system.cgi
*** opensrs-client-2.9.8/cgi/reg_system.cgi	Wed Jul 25 12:56:59 2007
--- opensrs-client-3.0.0/cgi/reg_system.cgi	Tue Mar 18 14:31:14 2008
***************
*** 50,55 ****
--- 50,58 ----
  use OpenSRS::Util::Common qw(send_email build_select_menu build_select_menu3 locale_build_country_list);
  use OpenSRS::Util::America qw(build_app_purpose_list);
  use OpenSRS::Util::Europe qw(build_eu_countries_list build_eu_languages_list build_be_languages_list);
+ use OpenSRS::Util::Asia qw(%asia_ced_locality_country %asia_ced_contact_type %asia_ced_entity_type %asia_ced_identification_type
+                            build_ced_contact_type_select_list build_ced_locality_select_list
+                            build_ced_entity_type_select_list build_ced_identification_type_select_list);
  use OpenSRS::Language qw/native_to_puny puny_to_native code2language/;
  
  # global defines
***************
*** 71,76 ****
--- 74,80 ----
  	    bulk_order => undef,
  	    bulk_order_ca => undef,
  	    bulk_order_us => undef,
+ 	    bulk_order_asia => undef,
  	    bulk_transfer => undef,
  	    do_bulk_transfer => undef, 
  	   );
***************
*** 241,247 ****
      
      ###################################
      # check syntax on domains given if this is a bulk order
!     my ($gtld,$ca,$uk,$us,$de,$eu,$be);
  
      my $mldn = 0;
      my $ascii = 0;
--- 245,251 ----
      
      ###################################
      # check syntax on domains given if this is a bulk order
!     my ($gtld,$ca,$uk,$us,$asia,$de,$eu,$be);
  
      my $mldn = 0;
      my $ascii = 0;
***************
*** 277,282 ****
--- 281,287 ----
  	    $ca   = $ca   || $punycodeObj =~ /ca$/i;
  	    $de   = $de   || $punycodeObj =~ /de$/i;
  	    $us   = $us   || $punycodeObj =~ /us$/i;
+ 	    $asia = $asia || $punycodeObj =~ /asia$/i;
  	    $uk   = $uk   || $punycodeObj =~ /uk$/i;
  	    $eu   = $eu   || $punycodeObj =~ /eu$/i;
  	    $be   = $be   || $punycodeObj =~ /be$/i;
***************
*** 338,344 ****
  	if ( $ascii and $mldn and $in{ reg_type } eq 'transfer' ) {
  	    $error_msg = "Bulk transfer requests cannot contain both ASCII and multi-lingual domains";
  	}
! 	if ($ca and ($gtld or $uk or $us or $de)){
  	    $error_msg = "You can't mix .ca with gTLD or .uk domains in bulk_registration";
  	}
  
--- 343,349 ----
  	if ( $ascii and $mldn and $in{ reg_type } eq 'transfer' ) {
  	    $error_msg = "Bulk transfer requests cannot contain both ASCII and multi-lingual domains";
  	}
! 	if ($ca and ($gtld or $uk or $us or $asia or $de)){
  	    $error_msg = "You can't mix .ca with gTLD or .uk domains in bulk_registration";
  	}
  
***************
*** 346,352 ****
  	    $error_msg = "You can't mix .us with gTLD, .ca or .uk domains in bulk_registration";
  	}
  
! 	if ($de and ($gtld or $uk or $ca or $us)){
  	    $error_msg = "You can't mix .de with gTLD, .ca or .uk domains in bulk_registration";
  	}
  
--- 351,361 ----
  	    $error_msg = "You can't mix .us with gTLD, .ca or .uk domains in bulk_registration";
  	}
  
! 	if ($asia and ($gtld or $uk or $ca or $de or $us)){
! 	    $error_msg = "You can't mix .asia with gTLD, .ca, .de, .us or .uk domains in bulk_registration";
! 	}
! 
! 	if ($de and ($gtld or $uk or $ca or $us or $asia)){
  	    $error_msg = "You can't mix .de with gTLD, .ca or .uk domains in bulk_registration";
  	}
  
***************
*** 373,395 ****
  		    $de   = $de   || $_ =~ /de$/i;
  		    $uk   = $uk   || $_ =~ /uk$/i;
  		    $us   = $us   || $_ =~ /us$/i;
  		    $eu   = $eu   || $_ =~ /eu$/i;
  		    $be   = $be   || $_ =~ /be$/i;
  		} keys %good_domains;
! 	if ($eu and ($gtld or $uk or $us or $de)){
! 	    error_out("You can't mix .eu with gTLD, .us, or .uk domains in bulk_registration");
  	    exit;
! 	}elsif ($be and ($gtld or $uk or $us or $de)){
! 	    error_out("You can't mix .be with gTLD, .us, or .uk domains in bulk_registration");
  	    exit;
! 	} elsif ($ca and ($gtld or $uk or $us or $de)){
! 	    error_out("You can't mix .ca with gTLD, .us, or .uk domains in bulk_registration");
  	    exit;
  	} elsif ($us and ($gtld or $uk or $ca or $de)){
  	    error_out("You can't mix .us with gTLD, .ca, or .uk domains in bulk_registration");
  	    exit;
! 	} elsif ($de and ($gtld or $uk or $ca or $us)){
! 	    error_out("You can't mix .de with gTLD, .ca, or .uk domains in bulk_registration");
  	    exit;
  	} elsif ( $ca  and $in{reg_type} eq 'new' ) {
  	    # for .ca domains, ensure a valid legal type was given
--- 382,408 ----
  		    $de   = $de   || $_ =~ /de$/i;
  		    $uk   = $uk   || $_ =~ /uk$/i;
  		    $us   = $us   || $_ =~ /us$/i;
+ 		    $asia = $asia || $_ =~ /asia$/i;
  		    $eu   = $eu   || $_ =~ /eu$/i;
  		    $be   = $be   || $_ =~ /be$/i;
  		} keys %good_domains;
! 	if ($eu and ($gtld or $uk or $us or $asia or $de)){
! 	    error_out("You can't mix .eu with gTLD, .us, .asia, or .uk domains in bulk_registration");
  	    exit;
! 	}elsif ($be and ($gtld or $uk or $us or $asia or $de)){
! 	    error_out("You can't mix .be with gTLD, .us, .asia, or .uk domains in bulk_registration");
  	    exit;
! 	} elsif ($ca and ($gtld or $uk or $us or $asia or $de)){
! 	    error_out("You can't mix .ca with gTLD, .us, .asia, or .uk domains in bulk_registration");
  	    exit;
  	} elsif ($us and ($gtld or $uk or $ca or $de)){
  	    error_out("You can't mix .us with gTLD, .ca, or .uk domains in bulk_registration");
  	    exit;
! 	} elsif ($asia and ($gtld or $uk or $ca or $de or $us)){
! 	    error_out("You can't mix .asia with gTLD, .ca, .us, or .uk domains in bulk_registration");
! 	    exit;
! 	} elsif ($de and ($gtld or $uk or $ca or $us or $asia)){
! 	    error_out("You can't mix .de with gTLD, .ca, .us, .asia, or .uk domains in bulk_registration");
  	    exit;
  	} elsif ( $ca  and $in{reg_type} eq 'new' ) {
  	    # for .ca domains, ensure a valid legal type was given
***************
*** 518,524 ****
  	} elsif ($eu){
  	    $custom_verify='eu';
  	}
! 				    
  	my %verify_results = $XML_Client->validate(
  	    \%HTML, 
  	    custom_tech_contact => $REG_SYSTEM{custom_tech_contact}, 
--- 531,537 ----
  	} elsif ($eu){
  	    $custom_verify='eu';
  	}
! 
  	my %verify_results = $XML_Client->validate(
  	    \%HTML, 
  	    custom_tech_contact => $REG_SYSTEM{custom_tech_contact}, 
***************
*** 693,698 ****
--- 706,740 ----
  	$HTML{SPECIAL_DOMAIN_INFO} .= '<input type=hidden name="app_purpose" value="' . $in{app_purpose} . "\">\n";
  	$HTML{SPECIAL_DOMAIN_INFO} .= '<input type=hidden name="nexus_category" value="' . $in{nexus_category} . "\">\n";
  	$HTML{SPECIAL_DOMAIN_INFO} .= '<input type=hidden name="nexus_validator" value="' . $in{nexus_validator} . "\">\n";
+     } elsif ( $asia ) {
+     	my $ccodes;
+         $formCountry = "_asia";
+ 
+         # Show the data on the page NICELY...
+ 	$HTML{ced_contact_type} = $asia_ced_contact_type{$in{ced_contact_type}};
+ 	$HTML{ced_locality_country} = $asia_ced_locality_country{$in{ced_locality_country}};
+ 	if($in{ced_legal_entity_type} eq 'other') {
+ 	    $HTML{ced_legal_entity_type}=$in{ced_legal_entity_type_info};
+ 	} else {
+ 	    $HTML{ced_legal_entity_type}=$asia_ced_entity_type{$in{ced_legal_entity_type}};
+ 	}
+ 	if($in{ced_id_type} eq 'other') {
+ 	    $HTML{ced_id_type}=$in{ced_id_type_info};
+ 	} else {
+ 	    $HTML{ced_id_type}=$asia_ced_identification_type{$in{ced_id_type}};
+ 	}
+ 
+         # Make sure the data is passed to the next screen...
+ 	$HTML{SPECIAL_DOMAIN_INFO} .= '<input type=hidden name="ced_contact_type" value="' . $in{ced_contact_type} . "\">\n";
+ 	$HTML{SPECIAL_DOMAIN_INFO} .= '<input type=hidden name="ced_locality_country" value="' . $in{ced_locality_country} . "\">\n";
+ 	$HTML{SPECIAL_DOMAIN_INFO} .= '<input type=hidden name="ced_locality_city" value="' . $in{ced_locality_city} . "\">\n";
+ 	$HTML{SPECIAL_DOMAIN_INFO} .= '<input type=hidden name="ced_locality_state_prov" value="' . $in{ced_locality_state_prov} . "\">\n";
+ 	$HTML{SPECIAL_DOMAIN_INFO} .= '<input type=hidden name="ced_legal_entity_type" value="' . $in{ced_legal_entity_type} . "\">\n";
+ 	$HTML{SPECIAL_DOMAIN_INFO} .= '<input type=hidden name="ced_legal_entity_type_info" value="' . $in{ced_legal_entity_type_info} . "\">\n";
+ 	$HTML{SPECIAL_DOMAIN_INFO} .= '<input type=hidden name="ced_id_type" value="' . $in{ced_id_type} . "\">\n";
+ 	$HTML{SPECIAL_DOMAIN_INFO} .= '<input type=hidden name="ced_id_type_info" value="' . $in{ced_id_type_info} . "\">\n";
+ 	$HTML{SPECIAL_DOMAIN_INFO} .= '<input type=hidden name="ced_id_number" value="' . $in{ced_id_number} . "\">\n";
+ 
      } elsif ( $in{domain} =~ /name$/ && $in{email_bundle} == 1) {
  	$formCountry = "_name";
      } elsif ( $in{domain} =~ /eu$/ ) {
***************
*** 813,818 ****
--- 855,872 ----
  	    }
  	    next;
  	}
+ 
+         #
+         # Add the CED contact info if it's defined...
+         #
+     	if ( $key =~ /^ced_/ ) {
+ 	    if  ( defined $in{$key} ) {
+                 my $xcp_key = $key;
+                 $xcp_key =~ s/^ced_//;
+                 $xcp_request->{attributes}->{tld_data}->{ced_info}->{$xcp_key} = $in{$key};
+ 	    }
+ 	    next;
+ 	}
          
          if ( $key eq 'forwarding_email' ) {
              $xcp_request->{attributes}->{tld_data}->{forwarding_email} = $in{$key};
***************
*** 1655,1660 ****
--- 1709,1720 ----
  	$HTML{CITIZEN_COUNTRY_LIST} = locale_build_country_list( $domain_info->{attributes}->{nexus}->{validator} ?
                                                            $domain_info->{attributes}->{nexus}->{validator} : '--');
  
+         # Build .ASIA select options list for display in HTML templates...
+         $HTML{CED_CONTACT_TYPE_LIST}=build_ced_contact_type_select_list($domain_info->{attributes}->{ced_info}->{contact_type});
+         $HTML{CED_LOCALITY_COUNTRY_LIST}=build_ced_locality_select_list($domain_info->{attributes}->{ced_info}->{locality_country});
+         $HTML{CED_LEGAL_ENTITY_TYPE_LIST}=build_ced_entity_type_select_list($domain_info->{attributes}->{ced_info}->{legal_entity_type});
+         $HTML{CED_ID_TYPE_LIST}=build_ced_entity_type_select_list($domain_info->{attributes}->{ced_info}->{id_type});
+ 
      } else {
  	# make a new profile
  	$HTML{reg_profile} = "New";
***************
*** 1787,1792 ****
--- 1847,1865 ----
          $HTML{APP_PURPOSE_LIST} = build_app_purpose_list() if not exists $HTML{APP_PURPOSE_LIST};
      }
      elsif ( ( $in{domain} &&
+ 	      $in{domain} =~ /\.asia/i ) ||
+ 	    ( $in{domain_country} &&
+ 	      $in{domain_country} eq 'asia' ) ) {
+     	$domainCountry = "_asia";
+ 	$HTML{domain_country} = $in{domain_country};
+ 
+         # Build .ASIA select options list for display in HTML templates...
+         $HTML{CED_CONTACT_TYPE_LIST}=build_ced_contact_type_select_list($HTML{ced_contact_type});
+         $HTML{CED_LOCALITY_COUNTRY_LIST}=build_ced_locality_select_list($HTML{ced_locality_country});
+         $HTML{CED_LEGAL_ENTITY_TYPE_LIST}=build_ced_entity_type_select_list($HTML{ced_legal_entity_type});
+         $HTML{CED_ID_TYPE_LIST}=build_ced_identification_type_select_list($HTML{ced_id_type});
+     }
+     elsif ( ( $in{domain} &&
  	      $in{domain} =~ /\.name/i && $in{email_bundle} == 1) ||
              ( $in{domain_country} &&
                $in{domain_country} eq 'name' ) ) {
***************
*** 1843,1849 ****
  <tr>
  <td align=right bgcolor="#e0e0e0"><b>WHOIS Privacy:</b><br><br>
  WHOIS Privacy is applicable for .com, .net, .org, .biz, .cc, 
! .tv, and .info domains.<br><br>
  WHOIS Privacy expiration date remains open for a domain 
  that is set to auto-renew.<br><br>
  When the domain is not set to auto renew, 
--- 1916,1922 ----
  <tr>
  <td align=right bgcolor="#e0e0e0"><b>WHOIS Privacy:</b><br><br>
  WHOIS Privacy is applicable for .com, .net, .org, .biz, .cc, 
! .tv, .info, and .asia domains.<br><br>
  WHOIS Privacy expiration date remains open for a domain 
  that is set to auto-renew.<br><br>
  When the domain is not set to auto renew, 
***************
*** 2072,2077 ****
--- 2145,2163 ----
      print_form("$path_templates/setup_profile.html",\%HTML);
  }
  
+ sub bulk_order_asia {
+ 
+     my %HTML = (
+ 		CGI => $cgi,
+ 		affiliate_id => $in{affiliate_id},
+ 		domain_country => "asia",
+ 		reg_type => 'new',
+ 		bulk_order => 1,
+ 		title => 'Batch Domain Registration',
+ 		);
+     print_form("$path_templates/setup_profile.html",\%HTML);
+ }
+ 
  sub bulk_transfer {
  
      my %HTML = (
diff -r -c opensrs-client-2.9.8/cgi/register.cgi opensrs-client-3.0.0/cgi/register.cgi
*** opensrs-client-2.9.8/cgi/register.cgi	Wed Jul 25 12:56:59 2007
--- opensrs-client-3.0.0/cgi/register.cgi	Tue Mar 18 14:31:14 2008
***************
*** 32,38 ****
  # pull in conf file with defined values
  # XXX NOTE XXX Update this configuration file
  BEGIN {
!     do "<path_to_conf_file>/OpenSRS.conf";
  }
  
  use CGI ':cgi-lib';
--- 32,42 ----
  # pull in conf file with defined values
  # XXX NOTE XXX Update this configuration file
  BEGIN {
!     $path_to_config = "<path_to_conf_file>";
!     if ($ENV{OSRS_CLIENT_ETC}){
!         $path_to_config = "$ENV{OSRS_CLIENT_ETC}";
!     } 
!     do "$path_to_config/OpenSRS.conf"; 
  }
  
  use CGI ':cgi-lib';
diff -r -c opensrs-client-2.9.8/etc/OpenSRS.conf opensrs-client-3.0.0/etc/OpenSRS.conf
*** opensrs-client-2.9.8/etc/OpenSRS.conf	Wed Jul 25 15:54:50 2007
--- opensrs-client-3.0.0/etc/OpenSRS.conf	Tue Mar 18 14:31:14 2008
***************
*** 64,73 ****
  	    # regular expression that lists the domains serviced by OpenSRS
  	    # this should not include the domains that you are not
  	    # authorized to register
! 	    OPENSRS_TLDS_REGEX => "(\.ca|\.(bc|ab|sk|mb|on|qc|nb|ns|pe|nf|nt|nu|yk)\.ca|\.com|\.net|\.org|\.me\.uk|\.net\.uk|\.ltd\.uk|\.plc\.uk|\.co\.uk|\.org\.uk|\.tv|\.vc|\.com\.vc|\.net\.vc|\.org\.vc|\.cc|\.info|\.biz|\.name|\.us|\.com\.cn|\.net\.cn|\.org\.cn|\.cn|\.de|\.ch|\.nl|\.fr|\.be|\.eu|\.mobi|\.es)",
  
  	    # Regex of TLDs that support domain locking.
! 	    TLDS_SUPPORTING_LOCKING => '\.(com|net|org|info|biz|us|name|cc|vc|tv)$',
  
  	    # regular expression that lists the domains which OpenSRS is authoritative for.
  	    OPENSRS_AUTHORITY => "(\.com|\.net|\.org|\.tv|\.cc)",
--- 64,73 ----
  	    # regular expression that lists the domains serviced by OpenSRS
  	    # this should not include the domains that you are not
  	    # authorized to register
! 	    OPENSRS_TLDS_REGEX => "(\.ca|\.(bc|ab|sk|mb|on|qc|nb|ns|pe|nf|nt|nu|yk)\.ca|\.com|\.net|\.org|\.me\.uk|\.net\.uk|\.ltd\.uk|\.plc\.uk|\.co\.uk|\.org\.uk|\.tv|\.vc|\.com\.vc|\.net\.vc|\.org\.vc|\.cc|\.info|\.asia|\.biz|\.name|\.us|\.com\.cn|\.net\.cn|\.org\.cn|\.cn|\.de|\.ch|\.nl|\.fr|\.be|\.eu|\.mobi|\.es)",
  
  	    # Regex of TLDs that support domain locking.
! 	    TLDS_SUPPORTING_LOCKING => '\.(com|net|org|info|asia|biz|us|name|cc|vc|tv)$',
  
  	    # regular expression that lists the domains which OpenSRS is authoritative for.
  	    OPENSRS_AUTHORITY => "(\.com|\.net|\.org|\.tv|\.cc)",
***************
*** 83,89 ****
  	    #     the different TLDs have different period years restrictions
  	    lookup_all_tlds => 1, # lookup related available domains
  	    RELATED_TLDS => [
!     			[ ".com", ".net", ".org", ".info", ".biz" ],
      			[ ".me.uk",".co.uk", ".org.uk" ],
  
      	    	    	# with this array, you can provide suggestions
--- 83,89 ----
  	    #     the different TLDs have different period years restrictions
  	    lookup_all_tlds => 1, # lookup related available domains
  	    RELATED_TLDS => [
!     			[ ".com", ".net", ".org", ".info", ".biz", ".asia" ],
      			[ ".me.uk",".co.uk", ".org.uk" ],
  
      	    	    	# with this array, you can provide suggestions
***************
*** 227,233 ****
  	      '.com' => 1, '.net' => 1, '.org' => 1, '.uk' => 1,
  	      '.ca' => 1, '.vc' => 0, '.cc' => 1, '.tv' => 1, '.de' => 1,
  	      '.info' => 1, '.biz' => 1,'.us' => 1, '.name' => 1, '.cn' => 1,
! 	      '.fr' => 1,'.ch' =>1 ,'.nl' => 1, '.eu' => 1, '.be' => 1
  	  }
  );
  
--- 227,234 ----
  	      '.com' => 1, '.net' => 1, '.org' => 1, '.uk' => 1,
  	      '.ca' => 1, '.vc' => 0, '.cc' => 1, '.tv' => 1, '.de' => 1,
  	      '.info' => 1, '.biz' => 1,'.us' => 1, '.name' => 1, '.cn' => 1,
! 	      '.fr' => 1,'.ch' =>1 ,'.nl' => 1, '.eu' => 1, '.be' => 1,
! 	      '.asia' => 1
  	  }
  );
  
***************
*** 274,280 ****
  #################################################################
  # The version number shouldn't be modified, else it may cause inaccuracies in
  # support response.
! $OpenSRS::VERSION = "2.9.8";
  
  #################################################################
  # .de domains are normally disabled for the first 30 days after registration
--- 275,281 ----
  #################################################################
  # The version number shouldn't be modified, else it may cause inaccuracies in
  # support response.
! $OpenSRS::VERSION = "3.0.0";
  
  #################################################################
  # .de domains are normally disabled for the first 30 days after registration
diff -r -c opensrs-client-2.9.8/lib/OpenSRS/Country.pm opensrs-client-3.0.0/lib/OpenSRS/Country.pm
*** opensrs-client-2.9.8/lib/OpenSRS/Country.pm	Wed Jul 25 12:56:59 2007
--- opensrs-client-3.0.0/lib/OpenSRS/Country.pm	Tue Mar 18 14:31:14 2008
***************
*** 7,19 ****
  =head1 SYNOPSIS
  
      use OpenSRS::Country;
!     
      $country = code2country('jp');               # $country gets 'Japan'
      $code    = country2code('Norway');           # $code gets 'no'
!     
      @codes   = all_country_codes();
      @names   = all_country_names();
!     
      # add "uk" as a pseudo country code for United Kingdom
      OpenSRS::Country::_alias_code('uk' => 'gb');
  
--- 7,19 ----
  =head1 SYNOPSIS
  
      use OpenSRS::Country;
! 
      $country = code2country('jp');               # $country gets 'Japan'
      $code    = country2code('Norway');           # $code gets 'no'
! 
      @codes   = all_country_codes();
      @names   = all_country_names();
! 
      # add "uk" as a pseudo country code for United Kingdom
      OpenSRS::Country::_alias_code('uk' => 'gb');
  
***************
*** 82,88 ****
  #	Public Global Variables
  #-----------------------------------------------------------------------
  use vars qw($VERSION @ISA @EXPORT @EXPORT_OK);
! $VERSION   = sprintf("%d.%02d", q$Revision: 1.5 $ =~ /(\d+)\.(\d+)/);
  @ISA       = qw(Exporter);
  @EXPORT    = qw(code2country country2code
                  all_country_codes all_country_names
--- 82,88 ----
  #	Public Global Variables
  #-----------------------------------------------------------------------
  use vars qw($VERSION @ISA @EXPORT @EXPORT_OK);
! $VERSION   = sprintf("%d.%02d", q$Revision: 1.6 $ =~ /(\d+)\.(\d+)/);
  @ISA       = qw(Exporter);
  @EXPORT    = qw(code2country country2code
                  all_country_codes all_country_names
***************
*** 285,291 ****
  code for United Kingdom, use the following:
  
      use OpenSRS::Country;
!     
      OpenSRS::Country::_alias_code('uk' => 'gb');
  
  With this code, both "uk" and "gb" are valid codes for United Kingdom,
--- 285,291 ----
  code for United Kingdom, use the following:
  
      use OpenSRS::Country;
! 
      OpenSRS::Country::_alias_code('uk' => 'gb');
  
  With this code, both "uk" and "gb" are valid codes for United Kingdom,
***************
*** 325,331 ****
  country name:
  
      $| = 1;   # turn off buffering
!     
      print "Enter country code: ";
      chop($code = <STDIN>);
      $country = code2country($code, LOCALE_CODE_ALPHA_2);
--- 325,331 ----
  country name:
  
      $| = 1;   # turn off buffering
! 
      print "Enter country code: ";
      chop($code = <STDIN>);
      $country = code2country($code, LOCALE_CODE_ALPHA_2);
***************
*** 508,514 ****
  cn:chn:156:China
  co:col:170:Colombia
  cr:cri:188:Costa Rica
- cs:cgs:189:Serbia and Montenegro
  cu:cub:192:Cuba
  cv:cpv:132:Cape Verde
  cx:::Christmas Island
--- 508,513 ----
***************
*** 562,567 ****
--- 561,567 ----
  ie:irl:372:Ireland
  il:isr:376:Israel
  in:ind:356:India
+ im:imn:833:Isle of Man
  io:::British Indian Ocean Territory
  iq:irq:368:Iraq
  ir:irn:364:Iran, Islamic Republic of
***************
*** 604,609 ****
--- 604,610 ----
  mp:mnp:580:Northern Mariana Islands
  mq:mtq:474:Martinique
  mr:mrt:478:Mauritania
+ me:mne:499:Montenegro
  ms:msr:500:Montserrat
  mt:mlt:470:Malta
  mu:mus:480:Mauritius
***************
*** 657,662 ****
--- 658,664 ----
  sl:sle:694:Sierra Leone
  sm:smr:674:San Marino
  sn:sen:686:Senegal
+ rs:srb:688:Serbia
  so:som:706:Somalia
  sr:sur:740:Suriname
  st:stp:678:Sao Tome and Principe
diff -r -c opensrs-client-2.9.8/lib/OpenSRS/Language.pm opensrs-client-3.0.0/lib/OpenSRS/Language.pm
*** opensrs-client-2.9.8/lib/OpenSRS/Language.pm	Wed Jul 25 12:56:59 2007
--- opensrs-client-3.0.0/lib/OpenSRS/Language.pm	Tue Mar 18 14:31:14 2008
***************
*** 50,56 ****
  #	Public Global Variables
  #-----------------------------------------------------------------------
  use vars qw($VERSION @ISA @EXPORT_OK $OPENSRS);
! $VERSION      = sprintf("%d.%02d", q$Revision: 1.10 $ =~ /(\d+)\.(\d+)/);
  @ISA          = qw(Exporter);
  @EXPORT_OK       = qw(code2language language2code
                     all_language_codes all_language_names 
--- 50,56 ----
  #	Public Global Variables
  #-----------------------------------------------------------------------
  use vars qw($VERSION @ISA @EXPORT_OK $OPENSRS);
! $VERSION      = sprintf("%d.%02d", q$Revision: 1.11 $ =~ /(\d+)\.(\d+)/);
  @ISA          = qw(Exporter);
  @EXPORT_OK       = qw(code2language language2code
                     all_language_codes all_language_names 
***************
*** 275,280 ****
--- 275,282 ----
  pol
  swe
  /);
+     # No IDNs for .ASIA yet...
+     # } elsif ( $fqdn =~ /\.asia$/ ){
      } elsif ( $fqdn =~ /\.de$/ ){
  	return (sort qw/ 
  alb
Only in opensrs-client-3.0.0/lib/OpenSRS/Util: Asia.pm
diff -r -c opensrs-client-2.9.8/lib/OpenSRS/XML_Client.pm opensrs-client-3.0.0/lib/OpenSRS/XML_Client.pm
*** opensrs-client-2.9.8/lib/OpenSRS/XML_Client.pm	Wed Jul 25 12:56:59 2007
--- opensrs-client-3.0.0/lib/OpenSRS/XML_Client.pm	Tue Mar 18 14:31:14 2008
***************
*** 1,5 ****
  #!/usr/bin/perl
! # $Id: XML_Client.pm,v 1.112 2006/11/22 22:17:28 sbelikov Exp $
  #       .Copyright (C)  2000 TUCOWS.com Inc.
  #       .Created:       11/19/1999
  #       .Contactid:     <admin@vpop.net>
--- 1,5 ----
  #!/usr/bin/perl
! # $Id: XML_Client.pm,v 1.113 2008/03/12 17:07:47 sbelikov Exp $
  #       .Copyright (C)  2000 TUCOWS.com Inc.
  #       .Created:       11/19/1999
  #       .Contactid:     <admin@vpop.net>
***************
*** 406,412 ****
  	if ($syntaxError = check_domain_syntax($domain)) {
  	    $problem_fields{Domain} = $domain . " - " . $syntaxError;
  	}
!         
          if ( $domain =~ /\.us$/ ) {
              if ( !$data->{app_purpose} ) {
                  push @missing_fields, "Domain Name Application Purpose";
--- 406,412 ----
  	if ($syntaxError = check_domain_syntax($domain)) {
  	    $problem_fields{Domain} = $domain . " - " . $syntaxError;
  	}
! 
          if ( $domain =~ /\.us$/ ) {
              if ( !$data->{app_purpose} ) {
                  push @missing_fields, "Domain Name Application Purpose";
***************
*** 652,658 ****
  	    $problem_fields{"$contact_types{$type} Email"} = $data->{"${type}_email"};
  	}
          
! 	if ( $data->{domain} =~ /\.(info|biz|name|us|de)/ ) {
  	    if ($data->{"${type}_phone"} !~ /^\+\d{1,3}\.\d{1,12}( *x\d{1,4})?$/){
  		# tell the registrant about the bad phone number
  		$problem_fields{"$contact_types{$type} Phone"} =
--- 652,658 ----
  	    $problem_fields{"$contact_types{$type} Email"} = $data->{"${type}_email"};
  	}
          
! 	if ( $data->{domain} =~ /\.(info|biz|name|us|de|asia)/ ) {
  	    if ($data->{"${type}_phone"} !~ /^\+\d{1,3}\.\d{1,12}( *x\d{1,4})?$/){
  		# tell the registrant about the bad phone number
  		$problem_fields{"$contact_types{$type} Phone"} =
Only in opensrs-client-3.0.0/templates/manage: asia_ced_form.html
diff -r -c opensrs-client-2.9.8/templates/manage/domain_auth_code_form.html opensrs-client-3.0.0/templates/manage/domain_auth_code_form.html
*** opensrs-client-2.9.8/templates/manage/domain_auth_code_form.html	Wed Jul 25 12:57:01 2007
--- opensrs-client-3.0.0/templates/manage/domain_auth_code_form.html	Tue Mar 18 14:31:14 2008
***************
*** 8,15 ****
  <TR>
  <TD ALIGN=left bgcolor="#e0e0e0">
  <font face="verdana, arial" size=2><B>Domain Auth Code</B></font></TD>
! <TD><input name="domain_auth_info" size=30 value="{{domain_auth_info}}">
!     <font color=red size=-1><br><i>must contain between 6 and 16 characters</i></font>
  </TD>
  <input type=hidden name="old_domain_auth" value="{{domain_auth_info}}">
  </TR>
--- 8,15 ----
  <TR>
  <TD ALIGN=left bgcolor="#e0e0e0">
  <font face="verdana, arial" size=2><B>Domain Auth Code</B></font></TD>
! <TD><input name="domain_auth_info" size=32 value="{{domain_auth_info}}">
!     <font color=red size=-1><br><i>must contain between 1 and 32 characters</i></font>
  </TD>
  <input type=hidden name="old_domain_auth" value="{{domain_auth_info}}">
  </TR>
diff -r -c opensrs-client-2.9.8/templates/manage/main_menu.html opensrs-client-3.0.0/templates/manage/main_menu.html
*** opensrs-client-2.9.8/templates/manage/main_menu.html	Wed Jul 25 12:57:01 2007
--- opensrs-client-3.0.0/templates/manage/main_menu.html	Tue Mar 18 14:31:14 2008
***************
*** 53,59 ****
  <strong>{{f_modify_domain_extras}}</strong><BR>
   
  This page contains non-classifiable domain data like: domain auth info,
! forwarding email address, nexus data and domain validation.
  <BR><BR>
  
  <strong>{{f_modify_whois_rsp_info}}</strong><BR>
--- 53,59 ----
  <strong>{{f_modify_domain_extras}}</strong><BR>
   
  This page contains non-classifiable domain data like: domain auth info,
! forwarding email address, nexus data (.us), ced contact info (.asia) and domain validation.
  <BR><BR>
  
  <strong>{{f_modify_whois_rsp_info}}</strong><BR>
diff -r -c opensrs-client-2.9.8/templates/manage/modify_ca_org_contact.html opensrs-client-3.0.0/templates/manage/modify_ca_org_contact.html
*** opensrs-client-2.9.8/templates/manage/modify_ca_org_contact.html	Wed Jul 25 12:57:01 2007
--- opensrs-client-3.0.0/templates/manage/modify_ca_org_contact.html	Tue Mar 18 14:31:14 2008
***************
*** 32,43 ****
  
  <TR>
  <TD ALIGN=right bgcolor="#d0d0d0">
- <font face="verdana, arial" size=2><B>CIRA Member:</B></font></TD>
- <TD>{{member_field}}</TD>
- </TR>
- 
- <TR>
- <TD ALIGN=right bgcolor="#d0d0d0">
  <font face="verdana, arial" size=2><B>Description:</B></font></TD>
  <TD>
     <TEXTAREA COLS=49 ROWS=10 name='description'>{{description}}</TEXTAREA>
--- 32,37 ----
***************
*** 55,61 ****
  <font face="verdana, arial" size=2><b>
  * Setting the CWA (Change Without Approval) flag will allow your registrar (Tucows) 
   to modify your email address without submitting the request to the registry 
!  (CIRA) for processing. If you set this flag to yes, you will be required to confirm this change at
  <b>
  <br><br>
  <a href="https://registrants.cira.ca/user">https://registrants.cira.ca/user</a>
--- 49,56 ----
  <font face="verdana, arial" size=2><b>
  * Setting the CWA (Change Without Approval) flag will allow your registrar (Tucows) 
   to modify your email address without submitting the request to the registry 
!  (CIRA) for processing. If you set this flag to yes, you will be required to 
!  confirm this change at:
  <b>
  <br><br>
  <a href="https://registrants.cira.ca/user">https://registrants.cira.ca/user</a>
***************
*** 63,68 ****
--- 58,67 ----
  </TD>
  </TR>
  
+ 
+ 
+ 
+ 
  </table>
  <BR>
  
diff -r -c opensrs-client-2.9.8/templates/manage/modify_domain_extras.html opensrs-client-3.0.0/templates/manage/modify_domain_extras.html
*** opensrs-client-2.9.8/templates/manage/modify_domain_extras.html	Wed Jul 25 12:57:01 2007
--- opensrs-client-3.0.0/templates/manage/modify_domain_extras.html	Tue Mar 18 14:31:14 2008
***************
*** 11,16 ****
--- 11,17 ----
  {{domain_auth_code_form}}
  {{forwarding_email_form}}
  {{us_nexus_form}}
+ {{asia_ced_form}}
  {{trademark_form}}
  {{dns_error_form}}
  {{uk_whois_opt_form}}
diff -r -c opensrs-client-2.9.8/templates/manage/whois_privacy_form.html opensrs-client-3.0.0/templates/manage/whois_privacy_form.html
*** opensrs-client-2.9.8/templates/manage/whois_privacy_form.html	Wed Jul 25 12:57:01 2007
--- opensrs-client-3.0.0/templates/manage/whois_privacy_form.html	Tue Mar 18 14:31:14 2008
***************
*** 7,13 ****
  
  <TR>
  <TD align="left" colspan="2" bgcolor="#e0e0e0">
!     <font color="blue" size="2"><i>WHOIS Privacy will allow the registrant information to not be displayed in the publid WHOIS, but will still be available in the event that an authorized request is made.</i></font>
  </TD>
  </TR>
  
--- 7,13 ----
  
  <TR>
  <TD align="left" colspan="2" bgcolor="#e0e0e0">
!     <font color="blue" size="2"><i>WHOIS Privacy will allow the registrant information to not be displayed in the public WHOIS, but will still be available in the event that an authorized request is made.</i></font>
  </TD>
  </TR>
  
***************
*** 33,39 ****
  {{whois_privacy_changes_menu}}
  </TD>
  </TR>
- {{whois_privacy_refund_notice}}
  <BR>
  </TABLE>
  <BR>
--- 33,38 ----
diff -r -c opensrs-client-2.9.8/templates/reg_system/bulk_order.html opensrs-client-3.0.0/templates/reg_system/bulk_order.html
*** opensrs-client-2.9.8/templates/reg_system/bulk_order.html	Wed Jul 25 12:57:01 2007
--- opensrs-client-3.0.0/templates/reg_system/bulk_order.html	Tue Mar 18 14:31:14 2008
***************
*** 126,132 ****
  <TR>
  	<TD ALIGN=right bgcolor="#90c0ff"><B>Phone Number:</B></TD>
  	<TD><input name="owner_phone" size=40 value="{{owner_phone}}">
! 	    <font size=-1><br>(eg. +1.4165551122x1234 for .info/.biz/.us/.name/.cn/.org domains)</font>
  	</TD>
  </TR>
  <TR>
--- 126,132 ----
  <TR>
  	<TD ALIGN=right bgcolor="#90c0ff"><B>Phone Number:</B></TD>
  	<TD><input name="owner_phone" size=40 value="{{owner_phone}}">
! 	    <font size=-1><br>(eg. +1.4165551122x1234 for .info/.biz/.us/.name/.cn/.org/.asia domains)</font>
  	</TD>
  </TR>
  <TR>
***************
*** 134,140 ****
  		*optional*</font> <B>Fax Number:</B>
  	</TD>
  	<TD><input name="owner_fax" size=40 value="{{owner_fax}}">
! 	    <font size=-1><br>(eg. +1.4165551122x1234 for .info/.biz/.us/.name/.cn/.org domains)</font>
  	</TD>
  </TR>
  <TR>
--- 134,140 ----
  		*optional*</font> <B>Fax Number:</B>
  	</TD>
  	<TD><input name="owner_fax" size=40 value="{{owner_fax}}">
! 	    <font size=-1><br>(eg. +1.4165551122x1234 for .info/.biz/.us/.name/.cn/.org/.asia domains)</font>
  	</TD>
  </TR>
  <TR>
***************
*** 200,206 ****
  <TR>
  	<TD ALIGN=right bgcolor="#90c0ff"><B>Phone Number:</B></TD>
  	<TD><input name="admin_phone" size=40 value="{{admin_phone}}">
! 	    <font size=-1><br>(eg. +1.4165551122x1234 for .info/.biz/.us/.name/.cn/.org domains)</font>
  	</TD>
  </TR>
  <TR>
--- 200,206 ----
  <TR>
  	<TD ALIGN=right bgcolor="#90c0ff"><B>Phone Number:</B></TD>
  	<TD><input name="admin_phone" size=40 value="{{admin_phone}}">
! 	    <font size=-1><br>(eg. +1.4165551122x1234 for .info/.biz/.us/.name/.cn/.org/.asia domains)</font>
  	</TD>
  </TR>
  <TR>
***************
*** 208,214 ****
  		*optional*</font> <B>Fax Number:</B>
  	</TD>
  	<TD><input name="admin_fax" size=40 value="{{admin_fax}}">
! 	    <font size=-1><br>(eg. +1.4165551122x1234 for .info/.biz/.us/.name/.cn/.org domains)</font>
  	</TD>
  </TR>
  <TR>
--- 208,214 ----
  		*optional*</font> <B>Fax Number:</B>
  	</TD>
  	<TD><input name="admin_fax" size=40 value="{{admin_fax}}">
! 	    <font size=-1><br>(eg. +1.4165551122x1234 for .info/.biz/.us/.name/.cn/.org/.asia domains)</font>
  	</TD>
  </TR>
  <TR>
***************
*** 277,283 ****
  <TR>
  	<TD ALIGN=right bgcolor="#90c0ff"><B>Phone Number:</B></TD>
  	<TD><input name="billing_phone" size=40 value="{{billing_phone}}">
! 	    <font size=-1><br>(eg. +1.4165551122x1234 for .info/.biz/.us/.name/.cn/.org domains)</font>
  	</TD>
  </TR>
  <TR>
--- 277,283 ----
  <TR>
  	<TD ALIGN=right bgcolor="#90c0ff"><B>Phone Number:</B></TD>
  	<TD><input name="billing_phone" size=40 value="{{billing_phone}}">
! 	    <font size=-1><br>(eg. +1.4165551122x1234 for .info/.biz/.us/.name/.cn/.org/.asia domains)</font>
  	</TD>
  </TR>
  <TR>
***************
*** 285,291 ****
  		*optional*</font> <B>Fax Number:</B>
  	</TD>
  	<TD><input name="billing_fax" size=40 value="{{billing_fax}}">
! 	    <font size=-1><br>(eg. +1.4165551122x1234 for .info/.biz/.us/.name/.cn/.org domains)</font>
  	</TD>
  </TR>
  <TR>
--- 285,291 ----
  		*optional*</font> <B>Fax Number:</B>
  	</TD>
  	<TD><input name="billing_fax" size=40 value="{{billing_fax}}">
! 	    <font size=-1><br>(eg. +1.4165551122x1234 for .info/.biz/.us/.name/.cn/.org/.asia domains)</font>
  	</TD>
  </TR>
  <TR>
Only in opensrs-client-3.0.0/templates/reg_system: bulk_order_asia.html
diff -r -c opensrs-client-2.9.8/templates/reg_system/bulk_transfer.html opensrs-client-3.0.0/templates/reg_system/bulk_transfer.html
*** opensrs-client-2.9.8/templates/reg_system/bulk_transfer.html	Wed Jul 25 12:57:01 2007
--- opensrs-client-3.0.0/templates/reg_system/bulk_transfer.html	Tue Mar 18 14:31:14 2008
***************
*** 118,124 ****
  <TR>
  	<TD ALIGN=right bgcolor="#90c0ff"><B>Phone Number:</B></TD>
  	<TD><input name="owner_phone" size=40 value="{{owner_phone}}">
! 	    <font size=-1><br>(eg. +1.4165551122x1234 for .info/.biz/.us/.name/.cn/.org domains)</font>
  	</TD>
  </TR>
  <TR>
--- 118,124 ----
  <TR>
  	<TD ALIGN=right bgcolor="#90c0ff"><B>Phone Number:</B></TD>
  	<TD><input name="owner_phone" size=40 value="{{owner_phone}}">
! 	    <font size=-1><br>(eg. +1.4165551122x1234 for .info/.biz/.us/.name/.cn/.org/.asia domains)</font>
  	</TD>
  </TR>
  <TR>
***************
*** 126,132 ****
  		*optional*</font> <B>Fax Number:</B>
  	</TD>
  	<TD><input name="owner_fax" size=40 value="{{owner_fax}}">
! 	    <font size=-1><br>(eg. +1.4165551122x1234 for .info/.biz/.us/.name/.cn/.org domains)</font>
  	</TD>
  </TR>
  <TR>
--- 126,132 ----
  		*optional*</font> <B>Fax Number:</B>
  	</TD>
  	<TD><input name="owner_fax" size=40 value="{{owner_fax}}">
! 	    <font size=-1><br>(eg. +1.4165551122x1234 for .info/.biz/.us/.name/.cn/.org/.asia domains)</font>
  	</TD>
  </TR>
  <TR>
***************
*** 192,198 ****
  <TR>
  	<TD ALIGN=right bgcolor="#90c0ff"><B>Phone Number:</B></TD>
  	<TD><input name="admin_phone" size=40 value="{{admin_phone}}">
! 	    <font size=-1><br>(eg. +1.4165551122x1234 for .info/.biz/.us/.name/.cn/.org domains)</font>
  	</TD>
  </TR>
  <TR>
--- 192,198 ----
  <TR>
  	<TD ALIGN=right bgcolor="#90c0ff"><B>Phone Number:</B></TD>
  	<TD><input name="admin_phone" size=40 value="{{admin_phone}}">
! 	    <font size=-1><br>(eg. +1.4165551122x1234 for .info/.biz/.us/.name/.cn/.org/.asia domains)</font>
  	</TD>
  </TR>
  <TR>
***************
*** 200,206 ****
  		*optional*</font> <B>Fax Number:</B>
  	</TD>
  	<TD><input name="admin_fax" size=40 value="{{admin_fax}}">
! 	    <font size=-1><br>(eg. +1.4165551122x1234 for .info/.biz/.us/.name/.cn/.org domains)</font>
  	</TD>
  </TR>
  <TR>
--- 200,206 ----
  		*optional*</font> <B>Fax Number:</B>
  	</TD>
  	<TD><input name="admin_fax" size=40 value="{{admin_fax}}">
! 	    <font size=-1><br>(eg. +1.4165551122x1234 for .info/.biz/.us/.name/.cn/.org/.asia domains)</font>
  	</TD>
  </TR>
  <TR>
***************
*** 268,274 ****
  <TR>
  	<TD ALIGN=right bgcolor="#90c0ff"><B>Phone Number:</B></TD>
  	<TD><input name="billing_phone" size=40 value="{{billing_phone}}">
! 	    <font size=-1><br>(eg. +1.4165551122x1234 for .info/.biz/.us/.name/.cn/.org domains)</font>
  	</TD>
  </TR>
  <TR>
--- 268,274 ----
  <TR>
  	<TD ALIGN=right bgcolor="#90c0ff"><B>Phone Number:</B></TD>
  	<TD><input name="billing_phone" size=40 value="{{billing_phone}}">
! 	    <font size=-1><br>(eg. +1.4165551122x1234 for .info/.biz/.us/.name/.cn/.org/.asia domains)</font>
  	</TD>
  </TR>
  <TR>
***************
*** 276,282 ****
  		*optional*</font> <B>Fax Number:</B>
  	</TD>
  	<TD><input name="billing_fax" size=40 value="{{billing_fax}}">
! 	    <font size=-1><br>(eg. +1.4165551122x1234 for .info/.biz/.us/.name/.cn/.org domains)</font>
  	</TD>
  </TR>
  <TR>
--- 276,282 ----
  		*optional*</font> <B>Fax Number:</B>
  	</TD>
  	<TD><input name="billing_fax" size=40 value="{{billing_fax}}">
! 	    <font size=-1><br>(eg. +1.4165551122x1234 for .info/.biz/.us/.name/.cn/.org/.asia domains)</font>
  	</TD>
  </TR>
  <TR>
diff -r -c opensrs-client-2.9.8/templates/reg_system/order.html opensrs-client-3.0.0/templates/reg_system/order.html
*** opensrs-client-2.9.8/templates/reg_system/order.html	Wed Jul 25 12:57:01 2007
--- opensrs-client-3.0.0/templates/reg_system/order.html	Tue Mar 18 14:31:14 2008
***************
*** 116,122 ****
  <TR>
  	<TD ALIGN=right bgcolor="#90c0ff"><B>Phone Number:</B></TD>
  	<TD><input name="owner_phone" size=40 value="{{owner_phone}}">
! 	    <font size=-1><br>(eg. +1.4165551122x1234 for .info/.biz/.us/.name/.cn/.org domains)</font>
  	</TD>
  </TR>
  <TR>
--- 116,122 ----
  <TR>
  	<TD ALIGN=right bgcolor="#90c0ff"><B>Phone Number:</B></TD>
  	<TD><input name="owner_phone" size=40 value="{{owner_phone}}">
! 	    <font size=-1><br>(eg. +1.4165551122x1234 for .info/.biz/.us/.name/.cn/.org/.asia domains)</font>
  	</TD>
  </TR>
  <TR>
***************
*** 124,130 ****
  		*optional*</font> <B>Fax Number:</B>
  	</TD>
  	<TD><input name="owner_fax" size=40 value="{{owner_fax}}">
! 	    <font size=-1><br>(eg. +1.4165551122x1234 for .info/.biz/.us/.name/.cn/.org domains)</font>
  	</TD>
  </TR>
  <TR>
--- 124,130 ----
  		*optional*</font> <B>Fax Number:</B>
  	</TD>
  	<TD><input name="owner_fax" size=40 value="{{owner_fax}}">
! 	    <font size=-1><br>(eg. +1.4165551122x1234 for .info/.biz/.us/.name/.cn/.org/.asia domains)</font>
  	</TD>
  </TR>
  <TR>
***************
*** 190,196 ****
  <TR>
  	<TD ALIGN=right bgcolor="#90c0ff"><B>Phone Number:</B></TD>
  	<TD><input name="admin_phone" size=40 value="{{admin_phone}}">
! 	    <font size=-1><br>(eg. +1.4165551122x1234 for .info/.biz/.us/.name/.cn/.org domains)</font>
  	</TD>
  </TR>
  <TR>
--- 190,196 ----
  <TR>
  	<TD ALIGN=right bgcolor="#90c0ff"><B>Phone Number:</B></TD>
  	<TD><input name="admin_phone" size=40 value="{{admin_phone}}">
! 	    <font size=-1><br>(eg. +1.4165551122x1234 for .info/.biz/.us/.name/.cn/.org/.asia domains)</font>
  	</TD>
  </TR>
  <TR>
***************
*** 198,204 ****
  		*optional*</font> <B>Fax Number:</B>
  	</TD>
  	<TD><input name="admin_fax" size=40 value="{{admin_fax}}">
! 	    <font size=-1><br>(eg. +1.4165551122x1234 for .info/.biz/.us/.name/.cn/.org domains)</font>
  	</TD>
  </TR>
  <TR>
--- 198,204 ----
  		*optional*</font> <B>Fax Number:</B>
  	</TD>
  	<TD><input name="admin_fax" size=40 value="{{admin_fax}}">
! 	    <font size=-1><br>(eg. +1.4165551122x1234 for .info/.biz/.us/.name/.cn/.org/.asia domains)</font>
  	</TD>
  </TR>
  <TR>
***************
*** 266,272 ****
  <TR>
  	<TD ALIGN=right bgcolor="#90c0ff"><B>Phone Number:</B></TD>
  	<TD><input name="billing_phone" size=40 value="{{billing_phone}}">
! 	    <font size=-1><br>(eg. +1.4165551122x1234 for .info/.biz/.us/.name/.cn/.org domains)</font>
  	</TD>
  </TR>
  <TR>
--- 266,272 ----
  <TR>
  	<TD ALIGN=right bgcolor="#90c0ff"><B>Phone Number:</B></TD>
  	<TD><input name="billing_phone" size=40 value="{{billing_phone}}">
! 	    <font size=-1><br>(eg. +1.4165551122x1234 for .info/.biz/.us/.name/.cn/.org/.asia domains)</font>
  	</TD>
  </TR>
  <TR>
***************
*** 274,280 ****
  		*optional*</font> <B>Fax Number:</B>
  	</TD>
  	<TD><input name="billing_fax" size=40 value="{{billing_fax}}">
! 	    <font size=-1><br>(eg. +1.4165551122x1234 for .info/.biz/.us/.name/.cn/.org domains)</font>
  	</TD>
  </TR>
  <TR>
--- 274,280 ----
  		*optional*</font> <B>Fax Number:</B>
  	</TD>
  	<TD><input name="billing_fax" size=40 value="{{billing_fax}}">
! 	    <font size=-1><br>(eg. +1.4165551122x1234 for .info/.biz/.us/.name/.cn/.org/.asia domains)</font>
  	</TD>
  </TR>
  <TR>
Only in opensrs-client-3.0.0/templates/reg_system: order_asia.html
diff -r -c opensrs-client-2.9.8/templates/reg_system/reg_period_hints.html opensrs-client-3.0.0/templates/reg_system/reg_period_hints.html
*** opensrs-client-2.9.8/templates/reg_system/reg_period_hints.html	Wed Jul 25 12:57:01 2007
--- opensrs-client-3.0.0/templates/reg_system/reg_period_hints.html	Tue Mar 18 14:31:14 2008
***************
*** 1 ****
! <i>(2 years for .uk and .mobi, max 5 years for .cn and 1 year for .de, .eu and .be)</i><br>
--- 1 ----
! <i>(2 years for .uk, max 5 years for .cn and 1 year for .de, .eu and .be)</i><br>
Only in opensrs-client-3.0.0/templates/reg_system: verify_asia.html
diff -r -c opensrs-client-2.9.8/templates/renew/renew_domain_menu.html opensrs-client-3.0.0/templates/renew/renew_domain_menu.html
*** opensrs-client-2.9.8/templates/renew/renew_domain_menu.html	Wed Jul 25 12:57:02 2007
--- opensrs-client-3.0.0/templates/renew/renew_domain_menu.html	Tue Mar 18 14:31:14 2008
***************
*** 62,68 ****
  </tr>
  </table>
  
! <br><font size=-1 color="red">* <i>(only applicable for ".net", ".com", ".org", ".tv", ".info", ".biz", ".vc", ".name", ".cc",  ".ca", ".de", ".be", ".eu" and ".uk" domains)</i></font>
  <br>
  
  <br><font size=-1 color="red">** <i>(2 years only for ".uk" and 1 year for ".de", ".be" and ".eu" domains)</i></font>
--- 62,69 ----
  </tr>
  </table>
  
! <br><font size=-1 color="red">* <i>(only applicable for ".net", ".com", ".org", ".tv", ".info", ".biz", ".vc", ".name", ".cc",  ".ca", ".de", ".be",
! ".eu", ".uk", and ".asia" domains)</i></font>
  <br>
  
  <br><font size=-1 color="red">** <i>(2 years only for ".uk" and 1 year for ".de", ".be" and ".eu" domains)</i></font>
diff -r -c opensrs-client-2.9.8/templates/renew/renew_domain_menu_name.html opensrs-client-3.0.0/templates/renew/renew_domain_menu_name.html
*** opensrs-client-2.9.8/templates/renew/renew_domain_menu_name.html	Wed Jul 25 12:57:02 2007
--- opensrs-client-3.0.0/templates/renew/renew_domain_menu_name.html	Tue Mar 18 14:31:14 2008
***************
*** 63,69 ****
  </tr>
  </table>
  
! <br><font size=-1 color="red">* <i>(only applicable for ".net", ".com", ".org", ".tv", ".info", ".biz", ".vc", ".name", ".cc"  and ".ca" domains)</i></font>
  <br><font size=-1 color="red">** <i>(If present, email forwarding will be renewed automatically with the domain)</i></font>
  </form>
  <A HREF="{{CGI}}?action=logout">Logout</A>
--- 63,69 ----
  </tr>
  </table>
  
! <br><font size=-1 color="red">* <i>(only applicable for ".net", ".com", ".org", ".tv", ".info", ".biz", ".vc", ".name", ".cc", ".ca", and ".asia" domains)</i></font>
  <br><font size=-1 color="red">** <i>(If present, email forwarding will be renewed automatically with the domain)</i></font>
  </form>
  <A HREF="{{CGI}}?action=logout">Logout</A>
diff -r -c opensrs-client-2.9.8/templates/whois_privacy/whois_privacy_menu.html opensrs-client-3.0.0/templates/whois_privacy/whois_privacy_menu.html
*** opensrs-client-2.9.8/templates/whois_privacy/whois_privacy_menu.html	Wed Jul 25 12:57:02 2007
--- opensrs-client-3.0.0/templates/whois_privacy/whois_privacy_menu.html	Tue Mar 18 14:31:14 2008
***************
*** 36,42 ****
    </td>
  </tr>
  </table>
! <br><font size=-1 color="red">* <i>( only applicable for .com, .net, .org, .biz, .cc, .tv, and .info domains ) </i></font>
  <br>
  </form>
  <A HREF="{{CGI}}?action=logout">Logout</A>
--- 36,42 ----
    </td>
  </tr>
  </table>
! <br><font size=-1 color="red">* <i>( only applicable for .com, .net, .org, .biz, .cc, .tv, .info, and .asia domains ) </i></font>
  <br>
  </form>
  <A HREF="{{CGI}}?action=logout">Logout</A>
