display alias domains less confusing (from/to instead of "is an alias domain for ...)

This fixes 
https://sourceforge.net/tracker/?func=detail&aid=2890375&group_id=191583&atid=937967

list-virtual.php:
- merge queries for from and to side of alias domains
- use a mostly common query for MySQL and PgSQL
- move "can create alias domain" logic to PHP

list-virtual_alias_domain.tpl:
- merge "from" and "to" view to one table
- add "To" column to the merged table
- do not link to $fDomain (which would lead to the currently displayed page)
- drop the second table / "is an alias domain for ..."



git-svn-id: https://svn.code.sf.net/p/postfixadmin/code/trunk@1052 a1433add-5e2c-0410-b055-b7f2511e0802
pull/2/head
Christian Boltz 15 years ago
parent b37811d153
commit 23e3330003

@ -99,16 +99,21 @@ if($fDomain) {
# TODO: add search support for alias domains
if (boolconf('alias_domain')) {
# Alias-Domains
# first try to get a list of other domains pointing
# to this currently chosen one (aka. alias domains)
$query = "SELECT $table_alias_domain.alias_domain,$table_alias_domain.target_domain,$table_alias_domain.modified,$table_alias_domain.active FROM $table_alias_domain WHERE target_domain='$fDomain' ORDER BY $table_alias_domain.alias_domain LIMIT $fDisplay, $page_size";
if ('pgsql'==$CONF['database_type'])
{
$query = "SELECT alias_domain,target_domain,extract(epoch from modified) as modified,active FROM $table_alias_domain WHERE target_domain='$fDomain' ORDER BY alias_domain LIMIT $page_size OFFSET $fDisplay";
$modified_field = 'modified';
if ('pgsql'==$CONF['database_type']) { # TODO: do we really need the extract(epoch from modified) for pgsql? We ust gmstrftime anyway (see below)
$modified_field = 'extract(epoch from modified) as modified';
}
$query = "
SELECT alias_domain,target_domain,$modified_field,active FROM $table_alias_domain
WHERE alias_domain='$fDomain' OR target_domain='$fDomain'
ORDER BY alias_domain
LIMIT $page_size OFFSET $fDisplay
";
$result = db_query ($query);
$tAliasDomains = array();
$can_create_alias_domain = 1;
if ($result['rows'] > 0)
{
while ($row = db_array ($result['result']))
@ -119,29 +124,11 @@ if (boolconf('alias_domain')) {
$row['active']=('t'==$row['active']) ? 1 : 0;
}
$tAliasDomains[] = $row;
if ($row['target_domain'] == $fDomain) $can_create_alias_domain = 0;
}
}
# now let's see if the current domain itself is an alias for another domain
$query = "SELECT $table_alias_domain.alias_domain,$table_alias_domain.target_domain,$table_alias_domain.modified,$table_alias_domain.active FROM $table_alias_domain WHERE alias_domain='$fDomain'";
if ('pgsql'==$CONF['database_type'])
{
$query = "SELECT alias_domain,target_domain,extract(epoch from modified) as modified,active FROM $table_alias_domain WHERE alias_domain='$fDomain'";
}
$result = db_query ($query);
$tTargetDomain = "";
if ($result['rows'] > 0)
{
if($row = db_array ($result['result']))
{
if ('pgsql'==$CONF['database_type'])
{
$row['modified']=gmstrftime('%c %Z',$row['modified']);
$row['active']=('t'==$row['active']) ? 1 : 0;
}
$tTargetDomain = $row;
}
# TODO: set $can_create_alias_domain = 0; if all domains (of this admin) are already used as alias domains
}
}
#
# aliases
@ -457,11 +444,7 @@ $smarty->assign ('tDisplay_next', $tDisplay_next);
if(sizeof ($tAliasDomains) > 0)
$smarty->assign ('tAliasDomains', $tAliasDomains);
if(is_array($tTargetDomain))
{
$smarty->assign ('tTargetDomain', $tTargetDomain);
$smarty->assign ('PALANG_pOverview_alias_domain_target', sprintf($PALANG['pOverview_alias_domain_target'], $fDomain));
}
$smarty->assign ('can_create_alias_domain', $can_create_alias_domain);
$smarty->assign ('tAlias', $tAlias);
$smarty->assign ('gen_show_status', $gen_show_status, false);
$smarty->assign ('check_alias_owner', $check_alias_owner);

@ -1,54 +1,42 @@
{*** Domain Aliases ***}
<table id="alias_domain_table">
<tr>
<td colspan="4"><h3>{$PALANG.pOverview_alias_domain_title}</h3></td>
<td colspan="5"><h3>{$PALANG.pOverview_alias_domain_title}</h3></td>
</tr>
{if $tAliasDomains|@count>0 || $tTargetDomain|@count>1}
{if $tAliasDomains|@count>0} {* -> HAT alias-domains *}
{#tr_header#}
<td>{$PALANG.pOverview_alias_domain_aliases}</td>
<td>{$PALANG.pOverview_alias_address}</td>
<td>{$PALANG.pOverview_alias_goto}</td>
<td>{$PALANG.pOverview_alias_domain_modified}</td>
<td>{$PALANG.pOverview_alias_domain_active}</td>
<td>&nbsp;</td>
</tr>
{foreach from=$tAliasDomains item=item}
{#tr_hilightoff#}
<td><a href="{$smarty.config.url_list_virtual}?domain={$item.alias_domain|escape:"url"}&amp;limit={$current_limit|escape:"url"}">
<td>{if $item.alias_domain != $fDomain}<a href="{$smarty.config.url_list_virtual}?domain={$item.alias_domain|escape:"url"}&amp;limit={$current_limit|escape:"url"}">{/if}
{if $search eq ""}
{$item.alias_domain}
{else}
{$item.alias_domain|replace:$search:"<span class='searchresult'>$search</span>"}
{/if}
</a></td>
{if $item.alias_domain != $fDomain}</a>{/if}</td>
<td>{if $item.target_domain != $fDomain}<a href="{$smarty.config.url_list_virtual}?domain={$item.target_domain|escape:"url"}&amp;limit={$current_limit|escape:"url"}">{/if}
{if $search eq ""}
{$item.target_domain}
{else}
{$item.target_domain|replace:$search:"<span class='searchresult'>$search</span>"}
{/if}
{if $item.target_domain != $fDomain}</a>{/if}</td>
<td>{$item.modified}</td>
<td><a href="{#url_edit_active#}?alias_domain=true&amp;domain={$item.alias_domain|escape:"url"}&amp;return={$smarty.config.url_list_virtual|escape:"url"}?domain={$fDomain|escape:"url"}&amp;limit={$current_limit|escape:"url"}">{if $item.active==1}{$PALANG.YES}{else}{$PALANG.NO}{/if}</a></td>
<td><a href="{#url_delete#}?table=alias_domain&amp;delete={$item.alias_domain|escape:"url"}&amp;domain={$item.alias_domain|escape:"url"}" onclick="return confirm ('{$PALANG.confirm}{$PALANG.pOverview_get_alias_domains}: {$item.alias_domain}');">{$PALANG.del}</a></td>
</tr>
{/foreach}
{/if}
{if $tTargetDomain|@count>1} {* IST alias-domain *}
<tr class="header">
<td>{$PALANG_pOverview_alias_domain_target}</td>
<td>{$PALANG.pOverview_alias_domain_modified}</td>
<td>{$PALANG.pOverview_alias_domain_active}</td>
<td>&nbsp;</td>
</tr>
{#tr_hilightoff#}
<td><a href="{$smarty.config.url_list_virtual}?domain={$tTargetDomain.target_domain|escape:"url"}&amp;limit={$current_limit|escape:"url"}">{$tTargetDomain.target_domain}</a></td>
<td>{$tTargetDomain.modified}</td>
<td><a href="{#url_edit_active#}?alias_domain=true&amp;domain={$fDomain|escape:"url"}&amp;return={$smarty.config.url_list_virtual|escape:"url"}?domain={$fDomain|escape:"url"}&amp;limit={$current_limit|escape:"url"}">
{if $tTargetDomain.active==1}
{$PALANG.YES}
{else}
{$PALANG.NO}
{/if}
</a></td>
<td><a href="{#url_delete#}?table=alias_domain&amp;delete={$fDomain|escape:"url"}&amp;domain={$fDomain|escape:"url"}" onclick="return confirm ('{$PALANG.confirm}{$PALANG.pOverview_get_alias_domains}: {$fDomain})');">{$PALANG.del}</a></td>
</tr>
{/if}
{/if}
</table>
{if $tTargetDomain|@count<2}
{if $can_create_alias_domain}
<br/>
<p id="mailbox_table"><a href="{#url_create_alias_domain#}?target_domain={$fDomain|escape:"url"}">{$PALANG.pMenu_create_alias_domain}</a></p>
{/if}

Loading…
Cancel
Save