Code Search for Developers
 
 
  

process_search.html from AlphaMail at Krugle


Show process_search.html syntax highlighted

% # vim:set syntax=mason:
<%args>
$search_string => ""
</%args>
<%init>
my $query_string = "";
my $oss = $search_string;
my @or_items = ();
my @and_items = ();

while($search_string =~ m/from:([a-zA-Z0-9.@]+)(\s|$)/) {
   push @or_items, qq(FROM "$1");
   $search_string =~ s/from:([a-zA-Z0-9.@]+)(\s|$)//;
}

while($search_string =~ m/to:([a-z0-9.@]+)(\s|$)/i) {
   push @or_items, qq(TO "$1");
   $search_string =~ s/to:([a-z0-9.@]+)(\s|$)//i;
}

while($search_string =~ m/"([^"]*)"/) { # "
   push @and_items, qq(TEXT "$1");
   $search_string =~ s/"[^"]*"//; # "
}

my @words = split /\s+/, $search_string;
for my $w (@words) {
   push @and_items, qq(TEXT "$w");
}

if(@or_items > 2) {
   $query_string .= "OR ";
   for(my $i = 0; $i < @or_items; $i++) {
      if($i == scalar(@or_items)-1) {
         $query_string .= $or_items[$i];
      } else {
         $query_string .= qq(OR $or_items[$i] );
      }
   }
} elsif(@or_items == 2) {
   $query_string .= qq(OR $or_items[0] $or_items[1] );
} else {
   $query_string .= qq($or_items[0] );
}

for my $ai (@and_items) {
   $query_string .= qq($ai );
}
#my ($sm, $sd, $sy, $em, $ed, $ey);
#if($start =~ m!^(\d{1,2})/(\d{1,2})/(\d{4})$!) {
   #($sm, $sd, $sy) = ($1, $2, $3);
   #$sm -= 1;
   #if($end =~ m!^(\d{1,2})/(\d{1,2})/(\d{4})$!) {
      #($em, $ed, $ey) = ($1, $2, $3);
      #$em -= 1;
   #}
   #if($sm >= 0 && $sm < 12 && $em >=0 && $em < 12 && $sd < 32 && $ed < 32) {
      #$logger->debug("$sm, $sd, $sy, $em, $ed, $ey");
         #my $since = Email::Date::format_date(Time::Local::timelocal(1,0,0,$sd,$sm,$sy));
         #my $before = Email::Date::format_date(Time::Local::timelocal(59,59,23,$ed,$em,$ey));
         #$query_string .= qq(BEFORE "$before" SINCE "$since");
   #}
#}
#
$query_string =~ s/^\s*//;
$query_string =~ s/\s*$//;
$logger->debug("QUERY: $query_string");

</%init>
<%once>
# use Time::Local;
our $logger = Log::Log4perl->get_logger('alphamail');
our $base = $config->get('base_uri');
</%once>
<& /mail/index.html, filter => $query_string, search_string => $oss &>




See more files for this project here

AlphaMail

AlphaMail is an accelerated web mail interface with a C++ middleware layer that is more effective than an IMAP proxy which is a highly scalable (10k+ users). The interface includes modern features, Section 508 compliance, and universal browser support.

Project homepage: http://sourceforge.net/projects/alphamail
Programming language(s): C++,Java,JavaScript,Perl
License: other

  addressbook/
    edit.mhtml
    import.mhtml
    import_complete.html
    import_csv.html
    import_csv_save.html
    import_fname.html
    import_imho.html
    import_lname.html
    index.html
    lists.mhtml
    process_edit.html
    process_lists.html
    process_take.html
    take.html
  admin/
    autohandler
    index.html
    show_stats.mhtml
    test.mhtml
  docs/
    faq/
      colors.gif
      dates1.gif
      drafts.gif
      filter.gif
      general.html
      index.html
      notrash1.gif
      notrash2.gif
      notrash3.gif
      other.html
      sort.gif
      timeout.gif
    new_features.html
  settings/
    add_filter.html
    altfolder_update.html
    altprefix_update.html
    edit_folders.html
    filters.mhtml
    folders.mhtml
    general.mhtml
    index.html
    share.mhtml
    sharing_agree.html
    signatures.mhtml
    update_folderlist.html
    update_general.html
    update_signatures.html
  viewers/
    excel.html
    html.html
    targz.html
    text.html
    word.html
    zip.html
  address_mail.html
  addresslist.html
  autohandler
  check_spelling.html
  compose.html
  error.html
  feedback.html
  first_login.html
  fix_spelling.html
  folderlist.mhtml
  footer.mhtml
  get_attachment.html
  header.mhtml
  help.html
  index.html
  logout.html
  menu.mhtml
  other_folders.html
  process_compose.html
  process_first_login.html
  process_messages.html
  process_read_message.html
  process_search.html
  quota.html
  quota_graph.html
  raw.html
  read.html
  remove_attachment.html
  renew_session.html
  resume_compose.html
  sanitized.html
  share_options.html
  share_upload.html
  verify_password.html
  view_attachment.html