initial commit of file from CVS for e-smith-domains on Thu 26 Oct 11:21:08 BST 2023
This commit is contained in:
24
root/etc/e-smith/db/domains/migrate/10sanitise-db
Normal file
24
root/etc/e-smith/db/domains/migrate/10sanitise-db
Normal 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;
|
||||
}
|
||||
}
|
30
root/etc/e-smith/db/domains/migrate/20nameservers
Normal file
30
root/etc/e-smith/db/domains/migrate/20nameservers
Normal 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);
|
||||
}
|
||||
}
|
240
root/etc/e-smith/locale/en-us/etc/e-smith/web/functions/domains
Executable file
240
root/etc/e-smith/locale/en-us/etc/e-smith/web/functions/domains
Executable 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>
|
0
root/etc/e-smith/web/common/.gitignore
vendored
Normal file
0
root/etc/e-smith/web/common/.gitignore
vendored
Normal file
186
root/etc/e-smith/web/functions/domains
Executable file
186
root/etc/e-smith/web/functions/domains
Executable 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>
|
0
root/etc/e-smith/web/panels/manager/cgi-bin/.gitignore
vendored
Normal file
0
root/etc/e-smith/web/panels/manager/cgi-bin/.gitignore
vendored
Normal file
0
root/etc/e-smith/web/panels/manager/common/.gitignore
vendored
Normal file
0
root/etc/e-smith/web/panels/manager/common/.gitignore
vendored
Normal file
0
root/etc/e-smith/web/panels/manager/html/.gitignore
vendored
Normal file
0
root/etc/e-smith/web/panels/manager/html/.gitignore
vendored
Normal file
Reference in New Issue
Block a user