initial commit of file from CVS for e-smith-domains on Thu 26 Oct 11:21:08 BST 2023

This commit is contained in:
2023-10-26 11:21:08 +01:00
parent 2b48ca96f2
commit d997dac820
16 changed files with 1687 additions and 2 deletions

View File

@@ -0,0 +1,24 @@
{
# vim: ft=perl ts=4 sw=4 et:
foreach my $domain ( $DB->get_all )
{
my $lc_key = lc( $domain->key );
next if ( $lc_key eq $domain->key );
my $rec = $DB->get($lc_key);
if ($rec)
{
warn "DomainsDB: "
. $domain->key
. " NOT migrated as $lc_key exists\n";
next;
}
$rec = $DB->new_record($lc_key);
$rec->merge_props( $domain->props );
$domain->delete;
}
}

View File

@@ -0,0 +1,30 @@
{
# vim: ft=perl ts=4 sw=4 et:
use esmith::ConfigDB;
my $db = esmith::ConfigDB->open_ro;
for my $domain ( $DB->get_all )
{
my %props = $domain->props;
if (exists $props{Nameserver})
{
$props{Nameservers} ||= $props{Nameserver};
$domain->delete_prop("Nameserver");
}
if (($props{Nameservers} || '') eq 'corporate')
{
$props{Nameservers} = ''
unless ($db->get_prop('dnscache', 'Forwarder'));
}
$props{Nameservers} ||= (($props{SystemPrimaryDomain}||'no') eq 'yes') ?
'localhost' : 'internet';
$domain->merge_props(%props);
}
}

View File

@@ -0,0 +1,240 @@
<!-- vim: ft=xml ts=4 sw=4 et:
-->
<lexicon lang="en-us" params="getExtraParams()">
<entry>
<base>FORM_TITLE</base>
<trans>
Manage domains
</trans>
</entry>
<entry>
<base>FORM_DESCRIPTION</base>
<trans>
<![CDATA[
<p>When you create a domain, your server will be able to
receive e-mail for that domain and will also be able to host a
web site for that domain.</p>
<p><a class="button-like"
href="domains?page=0&page_stack=&Next=Next&wherenext=DOMAINS_PAGE_CREATE">Add domain</a>
]]>
</trans>
</entry>
<entry>
<base>NO_VIRTUAL_DOMAINS</base>
<trans>
There are no domains in the system.
</trans>
</entry>
<entry>
<base>CURRENT_LIST_OF_DOMAINS</base>
<trans>
Current list of domains
</trans>
</entry>
<entry>
<base>PRIMARY_SITE</base>
<trans>
primary site
</trans>
</entry>
<entry>
<base>CONTENT</base>
<trans>
{$content} i-bay
</trans>
</entry>
<entry>
<base>CREATE_TITLE</base>
<trans>
Create a new domain
</trans>
</entry>
<entry>
<base>CONTENT_FIELD_DESCRIPTION</base>
<trans>
For the web site, you may choose your primary web site or any
i-bay as the content.
</trans>
</entry>
<entry>
<base>DOMAIN_NAME_VALIDATION_ERROR</base>
<trans>
Error: unexpected or missing characters in domain name
{$domainName}. The domain name should contain one or more
letters, numbers, periods and minus signs. Did not create new
domain.
</trans>
</entry>
<entry>
<base>DOMAIN_DESCRIPTION_VALIDATION_ERROR</base>
<trans>
Error: unexpected or missing characters in domain description
{$domainDesc}. Did not create new domain.
</trans>
</entry>
<entry>
<base>DOMAIN_IN_USE_ERROR</base>
<trans>
Error: domain {$domainName} is already in use. Did not create
new domain.
</trans>
</entry>
<entry>
<base>SYSTEM_DOMAIN_ERROR</base>
<trans>
Error: domain {$domainName} is your system domain name. You
cannot have a domain with the same name. Did not create
new domain.
</trans>
</entry>
<entry>
<base>SUCCESSFULLY_CREATED</base>
<trans>
Successfully created domain {$domainName}. Your web
server is now being restarted. The links on this page will be
inactive until the web server restart is complete.
</trans>
</entry>
<entry>
<base>MODIFY_TITLE</base>
<trans>
Modify domain
</trans>
</entry>
<entry>
<base>NONEXISTENT_DOMAIN_ERROR</base>
<trans>
Error: {$domainName} is not an existing domain.
</trans>
</entry>
<entry>
<base>SUCCESSFULLY_MODIFIED</base>
<trans>
Successfully modified domain {$domainName}. Your web
server is now being restarted. The links on this page will be
inactive until the web server restart is complete.
</trans>
</entry>
<entry>
<base>REMOVE_TITLE</base>
<trans>
Remove domain
</trans>
</entry>
<entry>
<base>REMOVE_DESCRIPTION</base>
<trans>
<![CDATA[
<p>
You are about to remove the domain {$domain}
({$domainDesc}).
</p>
<p>
<b>Are you sure you wish to remove this domain?</b>
</p>
]]>
</trans>
</entry>
<entry>
<base>ERROR_WHILE_REMOVING_DOMAIN</base>
<trans>
Error: internal failure while removing domain
{$domain}.
</trans>
</entry>
<entry>
<base>SUCCESSFULLY_DELETED</base>
<trans>
Successfully deleted domain {$domain}. Your web server
is now being restarted. The links on this page will be inactive
until the web server restart is complete.
</trans>
</entry>
<entry>
<base>DESC_CORPORATE_DNS_CURRENT</base>
<trans> <![CDATA[
<hr class="sectionbar" /><h2>Corporate DNS Settings</h2>
]]>
</trans>
</entry>
<entry>
<base>BUTTON_CORPORATE_DNS</base>
<trans> <![CDATA[
<p>If this server does not have access to the Internet, or you have special
requirements for DNS resolution, enter the DNS server IP address here.
You should not enter the address of your ISP's DNS servers here, as the server
is capable of resolving all Internet DNS names without this additional
configuration.</p>
<p> <a class="button-like"
href="domains?page=0&page_stack=&Next=Next&wherenext=DOMAINS_PAGE_CORPORATE_DNS">Modify corporate DNS settings</a>
]]>
</trans>
</entry>
<entry>
<base>DESC_CORPORATE_DNS</base>
<trans>
If this server does not have access to the Internet, or
you have special requirements for DNS resolution,
enter the DNS server IP addresses here.
These fields should be left blank unless
you have a specific reason to configure other DNS servers.
You should not enter the address of your ISP's DNS servers
here, as the server is capable of resolving all
Internet DNS names without this additional configuration.
</trans>
</entry>
<entry>
<base>LABEL_CORPORATE_DNS_PRIMARY</base>
<trans>Primary corporate DNS server</trans>
</entry>
<entry>
<base>LABEL_CORPORATE_DNS_SECONDARY</base>
<trans>Secondary corporate DNS server</trans>
</entry>
<entry>
<base>DESC_NAMESERVERS</base>
<trans>
You can select whether this domain is resolved locally,
passed to the corporate DNS servers, or resolved by
the Internet DNS servers. The default will be correct
for most networks.
</trans>
</entry>
<entry>
<base>LABEL_NAMESERVERS</base>
<trans>Domain DNS servers</trans>
</entry>
<entry>
<base>localhost</base>
<trans>Resolve locally</trans>
</entry>
<entry>
<base>internet</base>
<trans>Internet DNS servers</trans>
</entry>
<entry>
<base>corporate</base>
<trans>Corporate DNS servers</trans>
</entry>
<entry>
<base>REMOVE_DESC</base>
<trans>You are about to remove the domain </trans>
</entry>
<entry>
<base>REMOVE_DESC2</base>
<trans> Are you sure you wish to remove this Domain ? </trans>
</entry>
</lexicon>

View File

View File

@@ -0,0 +1,186 @@
#!/usr/bin/perl -wT
# vim: ts=4 sw=4 et:
#----------------------------------------------------------------------
# heading : Configuration
# description : DOMAINS
# navigation : 6000 6600
#----------------------------------------------------------------------
#----------------------------------------------------------------------
# copyright (C) 1999-2005 Mitel Networks Corporation
# Copyright 2005 Gordon Rowell <gordonr@gormand.com.au>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#----------------------------------------------------------------------
use strict;
use esmith::TestUtils;
use esmith::FormMagick::Panel::domains;
my $fm = esmith::FormMagick::Panel::domains->new();
$fm->display();
=pod
=head1 NAME
domains -- create/modify/delete domains
=head2 DESCRIPTION
This screen allows the administrator to create, modify or delete
domains.
=begin testing
=end testing
=cut
__DATA__
<form title="FORM_TITLE"
header="/etc/e-smith/web/common/head.tmpl"
footer="/etc/e-smith/web/common/foot.tmpl">
<page name="First" pre-event="print_status_message()">
<description>FORM_DESCRIPTION</description>
<subroutine src="print_domains_table()" />
<field type="literal" >
<description>DESC_CORPORATE_DNS_CURRENT</description>
</field>
<field type="literal" id="Forwarder"
value="get_prop('dnscache', 'Forwarder')"
display="get_prop('dnscache', 'Forwarder')" >
<label>LABEL_CORPORATE_DNS_PRIMARY</label>
</field>
<field type="literal" id="Forwarder2"
value="get_prop('dnscache', 'Forwarder2')"
display="get_prop('dnscache', 'Forwarder2')" >
<label>LABEL_CORPORATE_DNS_SECONDARY</label>
</field>
<field type="literal" value="" id="button_corporate_dns" >
<description>BUTTON_CORPORATE_DNS</description>
</field>
</page>
<page name="DOMAINS_PAGE_CREATE"
pre-event="turn_off_buttons()"
post-event="create_modify_domain('create')" >
<description>CREATE_TITLE</description>
<field type="text" id="Domain" validation="validate_Domain">
<label>DOMAIN_NAME</label>
</field>
<field type="text" id="Description" validation="nonblank">
<label>DESCRIPTION_BRIEF</label>
</field>
<field type="select" id="Content"
options="get_content_options()"
value="get_content_value()">
<label>CONTENT</label>
<description>CONTENT_FIELD_DESCRIPTION</description>
</field>
<field type="select" id="Nameservers"
options="get_nameserver_options()"
value="get_nameserver_value()">
<label>LABEL_NAMESERVERS</label>
<description>DESC_NAMESERVERS</description>
</field>
<subroutine src="print_button('ADD')" />
</page>
<page name="DOMAINS_PAGE_MODIFY"
pre-event="turn_off_buttons()"
post-event="create_modify_domain('modify')" >
<description>MODIFY_TITLE</description>
<field type="literal" id="Domain" >
<label>DOMAIN_NAME</label>
</field>
<field type="text" id="Description"
value="get_description_value()"
validation="nonblank">
<label>DESCRIPTION_BRIEF</label>
</field>
<field type="select" id="Content"
options="get_content_options()"
value="get_content_value()">
<label>CONTENT</label>
<description>CONTENT_FIELD_DESCRIPTION</description>
</field>
<field type="select" id="Nameservers"
options="get_nameserver_options()"
value="get_nameserver_value()" >
<label>LABEL_NAMESERVERS</label>
<description>DESC_NAMESERVERS</description>
</field>
<subroutine src="print_button('MODIFY')" />
</page>
<page name="DOMAINS_PAGE_REMOVE"
pre-event="turn_off_buttons()"
post-event="delete_domain()" >
<description>REMOVE_TITLE</description>
<subroutine src="print_page_description('remove')" />
<subroutine src="print_button('REMOVE')" />
</page>
<page name="DOMAINS_PAGE_CORPORATE_DNS"
pre-event="turn_off_buttons()"
post-event="modify_dns" >
<field type="text" id="Forwarder" size="15"
value="get_prop('dnscache', 'Forwarder')"
validation="ip_number_or_blank">
<label>LABEL_CORPORATE_DNS_PRIMARY</label>
<description>DESC_CORPORATE_DNS</description>
</field>
<field type="text" id="Forwarder2" size="15"
value="get_prop('dnscache', 'Forwarder2')"
validation="ip_number_or_blank">
<label>LABEL_CORPORATE_DNS_SECONDARY</label>
</field>
<subroutine src="print_button('SAVE')" />
</page>
</form>

View File

View File

View File