fix username@domain search
[freeside.git] / httemplate / search / svc_Smart.html
index 4d8f3e2..706471b 100644 (file)
@@ -1,29 +1,28 @@
+% if (    $cgi->param('search_svc') =~ /\.[a-z]{2,8}$/i
+%      && $cgi->param('search_svc') !~ /\@/
+%    )
+% {
+
+% # looks (enough) like a domain
+  <% $cgi->redirect('svc_domain.cgi?domain='. uri_escape( $cgi->param('search_svc') ) ) %>
+
+% } elsif ( $cgi->param('search_svc') =~ /\w/ ) {
 %
-%
-%if ( $cgi->param('search_svc') =~ /\.[a-z]{2,8}$/i ) {
-%
-%  # looks (enough) like a domain
-%
-%  
-<% $cgi->redirect('svc_domain.cgi?domain='. uri_escape( $cgi->param('search_svc') ) ) %>
-%
-%
-%} elsif ( $cgi->param('search_svc') =~ /\w/ ) {
-%
-%  #looks (enough) like a username
-%
-%  
-<% $cgi->redirect('svc_acct.cgi?username_type=Exact;username='. uri_escape( $cgi->param('search_svc') ) ) %>
-%
-%
-%} else {
-%
-%
-<% include('/elements/header.html', 'Unrecognized service string') %>
+%   if ( $cgi->param('search_svc') =~ /^(.+)\@(.+)$/ ) {
+
+%     #looks (enough) like a username@domain
+      <% $cgi->redirect('svc_acct.cgi?username_type=Exact;username='. uri_escape($1). ';domain='. uri_escape($2) ) %>
+
+%   } else {
+
+%     #looks (enough) like a username
+      <% $cgi->redirect('svc_acct.cgi?username_type=Exact;username='. uri_escape( $cgi->param('search_svc') ) ) %>
+
+%   }
+
+% } else {
+
+  <% include('/elements/header.html', 'Unrecognized service string') %>
   <% include('/elements/footer.html') %>
-%
-%
-%} 
-%
-%
 
+% }