SF.net SVN: postfixadmin:[1052] trunk
Brought to you by:
christian_boltz,
gingerdog
From: <chr...@us...> - 2011-04-24 14:08:17
|
Revision: 1052 http://postfixadmin.svn.sourceforge.net/postfixadmin/?rev=1052&view=rev Author: christian_boltz Date: 2011-04-24 14:08:11 +0000 (Sun, 24 Apr 2011) Log Message: ----------- 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 ..." Modified Paths: -------------- trunk/list-virtual.php trunk/templates/list-virtual_alias_domain.tpl Modified: trunk/list-virtual.php =================================================================== --- trunk/list-virtual.php 2011-04-23 22:22:07 UTC (rev 1051) +++ trunk/list-virtual.php 2011-04-24 14:08:11 UTC (rev 1052) @@ -99,16 +99,21 @@ # 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 @@ $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'"; + # TODO: set $can_create_alias_domain = 0; if all domains (of this admin) are already used as alias domains } - $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; - } - } -} # # aliases @@ -457,11 +444,7 @@ 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); Modified: trunk/templates/list-virtual_alias_domain.tpl =================================================================== --- trunk/templates/list-virtual_alias_domain.tpl 2011-04-23 22:22:07 UTC (rev 1051) +++ trunk/templates/list-virtual_alias_domain.tpl 2011-04-24 14:08:11 UTC (rev 1052) @@ -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> </td> </tr> {foreach from=$tAliasDomains item=item} {#tr_hilightoff#} - <td><a href="{$smarty.config.url_list_virtual}?domain={$item.alias_domain|escape:"url"}&limit={$current_limit|escape:"url"}"> + <td>{if $item.alias_domain != $fDomain}<a href="{$smarty.config.url_list_virtual}?domain={$item.alias_domain|escape:"url"}&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"}&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&domain={$item.alias_domain|escape:"url"}&return={$smarty.config.url_list_virtual|escape:"url"}?domain={$fDomain|escape:"url"}&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&delete={$item.alias_domain|escape:"url"}&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> </td> - </tr> - {#tr_hilightoff#} - <td><a href="{$smarty.config.url_list_virtual}?domain={$tTargetDomain.target_domain|escape:"url"}&limit={$current_limit|escape:"url"}">{$tTargetDomain.target_domain}</a></td> - <td>{$tTargetDomain.modified}</td> - <td><a href="{#url_edit_active#}?alias_domain=true&domain={$fDomain|escape:"url"}&return={$smarty.config.url_list_virtual|escape:"url"}?domain={$fDomain|escape:"url"}&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&delete={$fDomain|escape:"url"}&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} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |