diff --git a/configs/menu.conf b/configs/menu.conf
index ebbbea2c..c61b8243 100644
--- a/configs/menu.conf
+++ b/configs/menu.conf
@@ -9,7 +9,7 @@ url_create_domain = create-domain.php
url_list_virtual = list-virtual.php
url_create_mailbox = create-mailbox.php
url_create_alias = create-alias.php
-url_create_alias_domain = create-alias-domain.php
+url_create_alias_domain = edit.php?table=aliasdomain
# fetchmail
url_fetchmail = fetchmail.php
url_fetchmail_new_entry = fetchmail.php?new=1
diff --git a/create-alias-domain.php b/create-alias-domain.php
deleted file mode 100644
index 5096ee39..00000000
--- a/create-alias-domain.php
+++ /dev/null
@@ -1,148 +0,0 @@
- 0) {
- while ($row = db_array ($result['result']))
- {
- $list_aliases[ $row['alias_domain'] ] = $row['target_domain'];
- }
-}
-
-# filter available alias domains
-$alias_domains = array();
-foreach ($list_domains as $dom) {
- if (isset($list_aliases[$dom]) || in_array($dom,$list_aliases)) continue;
- $alias_domains[] = $dom;
-}
-
-if (count($alias_domains) == 0) {
- $error = 1;
- flash_error($PALANG['pCreate_alias_domain_error4']);
-}
-
-# filter available target domains
-foreach ($list_domains as $dom) {
- if (isset($list_aliases[$dom])) continue;
- $target_domains[] = $dom;
-}
-
-
-if (isset ($_REQUEST['alias_domain'])) {
- $fAliasDomain = escape_string ($_REQUEST['alias_domain']);
- $fAliasDomain = strtolower ($fAliasDomain);
-}
-if (isset ($_REQUEST['target_domain'])) {
- $fTargetDomain = escape_string ($_REQUEST['target_domain']);
- $fTargetDomain = strtolower ($fTargetDomain);
-}
-//*** ?????
-if (isset ($_REQUEST['active'])) {
- $fActive = (bool)$_REQUEST['active'];
-} else {
- $fActive = false;
-}
-if (!isset ($_REQUEST['submit']))
- $fActive = true;
-
-if ($_SERVER['REQUEST_METHOD'] == "POST")
-{
- if(!authentication_has_role ('global-admin') &&
- !(check_owner ($SESSID_USERNAME, $fAliasDomain) &&
- check_owner ($SESSID_USERNAME, $fTargetDomain)))
- {
- $error = 1;
- flash_error($PALANG['pCreate_alias_domain_error1']);
- }
-
- if (isset($list_aliases[$fAliasDomain]) || // alias_domain is unique (primary key, a domain can't be an alias for multiple others)
- in_array($fAliasDomain,$list_aliases) || // an alias_domain can't be a target_domain for a third domain.
- isset($list_aliases[$fTargetDomain]) || // same as above, other way around
- ($fAliasDomain == $fTargetDomain) || // i really don't have to
- empty($fAliasDomain) || empty($fTargetDomain)) // explain this, do i?
- {
- $error = 1;
- flash_error($PALANG['pCreate_alias_domain_error2']);
- }
-
- $sqlActive = db_get_boolean($fActive);
-
- if ($error != 1) {
- $result = db_query ("INSERT INTO $table_alias_domain (alias_domain,target_domain,created,modified,active) VALUES ('$fAliasDomain','$fTargetDomain',NOW(),NOW(),'$sqlActive')");
- if ($result['rows'] != 1) {
- $error = 1;
- flash_error($PALANG['pCreate_alias_domain_error3']);
- }
- else {
- db_log ($fAliasDomain, 'create_alias_domain', "$fAliasDomain -> $fTargetDomain");
-
- flash_info($PALANG['pCreate_alias_domain_success']);
- # we would have to update the list of domains available for aliasing. Doing a redirect is easier.
- header("Location: create-alias-domain.php");
- exit;
- }
- }
-
- flash_info("
($fAliasDomain -> $fTargetDomain)
\n");
-}
-
-
-$smarty->assign ('alias_domains', (count($alias_domains) > 0));
-$smarty->assign ('select_options_alias', select_options ($alias_domains, array ($fAliasDomain)), false);
-$smarty->assign ('select_options_target', select_options ($target_domains, array ($fTargetDomain)), false);
-if ($fActive) $smarty->assign ('fActive', ' checked="checked"');
-$smarty->assign ('smarty_template', 'create-alias-domain');
-$smarty->display ('index.tpl');
-/* vim: set expandtab softtabstop=3 tabstop=3 shiftwidth=3: */
-?>
diff --git a/model/AliasdomainHandler.php b/model/AliasdomainHandler.php
index 9f23ee18..aec84eeb 100644
--- a/model/AliasdomainHandler.php
+++ b/model/AliasdomainHandler.php
@@ -80,6 +80,24 @@ class AliasdomainHandler extends PFAHandler {
}
}
+ /*
+ * Configuration for the web interface
+ */
+ public function webformConfig() {
+ return array(
+ # $PALANG labels
+ 'formtitle_create' => 'pCreate_alias_domain_welcome',
+ 'formtitle_edit' => 'pCreate_alias_domain_welcome',
+ 'create_button' => 'pCreate_alias_domain_button',
+ 'successmessage' => 'pCreate_alias_domain_success',
+
+ # various settings
+ 'required_role' => 'admin',
+ 'listview' => 'list-virtual.php',
+ 'early_init' => 1, # 0 for create-domain
+ );
+ }
+
protected function validate_new_id() {
return true; # alias_domain is enum, so we don't need to check its syntax etc.
}
diff --git a/templates/list-virtual_alias_domain.tpl b/templates/list-virtual_alias_domain.tpl
index 1f8042fc..dcf36002 100644
--- a/templates/list-virtual_alias_domain.tpl
+++ b/templates/list-virtual_alias_domain.tpl
@@ -1,7 +1,7 @@
{*** Domain Aliases ***}
| {$PALANG.pOverview_alias_domain_title} | +{$PALANG.pOverview_alias_domain_title} | {$PALANG.pOverview_alias_domain_modified} | {$PALANG.pOverview_alias_domain_active} | + | {foreach from=$tAliasDomains item=item} {#tr_hilightoff#} @@ -30,6 +31,7 @@ {if $item.target_domain != $fDomain}{/if} | {$item.modified} | {if $item.active==1}{$PALANG.YES}{else}{$PALANG.NO}{/if} | +{$PALANG.edit} | {$PALANG.del} | {/foreach} @@ -38,6 +40,6 @@|
|---|---|---|---|---|---|---|---|---|---|---|