use BackupPC::CGI::Lib qw(:all);
use BackupPC::SearchLib;
use Data::Dumper;
+use HTML::FillInForm;
use vars qw($Cgi %In $MyURL $User %Conf $TopDir $BinDir $bpc);
sub action() {
- my $cont = "";
- my $host;
- my @hosts;
- my $hosts_html = "";
+ my $hosts_html = "";
- BackupPC::CGI::Lib::NewRequest();
-
- @hosts = BackupPC::SearchLib::getUnits();
- if ( !defined($In{search_results}) ) {
- foreach $host (@hosts) {
- $hosts_html .=
- "<option value="
- . $host->{'ID'} . "> "
- . $host->{'name'}
- . " </option>\n";
+ BackupPC::CGI::Lib::NewRequest();
+ my @hosts = BackupPC::SearchLib::getUnits();
+
+ foreach my $host (@hosts) {
+ $hosts_html .= "<option value=" . $host->{'id'} . "> " . $host->{'share'} . " </option>\n";
}
- my $title = eval(q{ ${h1("Search")}});
- my $subtitle = eval(q{ ${h2("Search criteria")}});
-
- $cont .= <<ENDSTR;
-
- <form name="searchForm" method="GET" action="$MyURL">
- $title
- $subtitle
- <table border="0">
- <tr>
- <td>
- Share:
- </td>
- <td>
- <select name="search_host">
- $hosts_html
- </select>
- </td>
- </tr>
- <tr>
- <td>
- All file(s) between:
- </td>
- <td>
- <table>
- <tr>
- <td>
- Day
- </td>
- <td>
- <input type="text" name="search_day_from">
- </td>
- <td>
- Month
- </td>
- <td>
- <input type="text" name="search_month_from">
- </td>
- <td>
- Year
- </td>
- <td>
- <input type="text" name="search_year_from">
- </td>
- </tr>
- <tr>
- <td>
- Day
- </td>
- <td>
- <input type="text" name="search_day_to">
- </td>
- <td>
- Month
- </td>
- <td>
- <input type="text" name="search_month_to">
- </td>
- <td>
- Year
- </td>
- <td>
- <input type="text" name="search_year_to">
- </td>
- </tr>
-
- </table>
- </td>
- </tr>
- <tr>
- <td>
- All backups between:
- </td>
- <td>
- <table>
- <tr>
- <td>Day</td>
- <td>Month</td>
- <td>Year</td>
- </tr>
- <tr>
- <td>
- <input type="text" name="search_backup_day_from">
- </td>
- <td>
- <input type="text" name="search_backup_month_from">
- </td>
- <td>
- <input type="text" name="search_backup_year_from">
- </td>
- </tr>
- <tr>
- <td>
- <input type="text" name="search_backup_day_to">
- </td>
- <td>
- <input type="text" name="search_backup_month_to">
- </td>
- <td>
- <input type="text" name="search_backup_year_to">
- </td>
- </tr>
- </table>
- </td>
- </tr>
- <tr>
- <td>
- Filename:
- </td>
- <td>
- <input type="text" name="search_filename">
- </td>
- </tr>
- </table>
+
+ sub date_from_to_html {
+ my $name = shift || return;
+ return qq{
+ <input type="text" name="${name}_year_from" size="4">
+ <input type="text" name="${name}_month_from" size="2">
+ <input type="text" name="${name}_day_from" size="2">
+ -
+ <input type="text" name="${name}_year_to" size="4">
+ <input type="text" name="${name}_month_to" size="2">
+ <input type="text" name="${name}_day_to" size="2">
+ };
+ }
+
+ my $form .= qq{
+<form name="searchForm" method="GET" action="$MyURL">
+<p>
+ Filename:
+ <input type="text" name="search_filename" size="50">
+
+ on share
+
+ <select name="search_share">$hosts_html</select>
+ show
+ <select name="burned">
+ <option value="">all</a>
+ <option value="burned">burned</a>
+ <option value="pending">pending</a>
+ </select>
+ files
+
<input type="submit" value="Search">
- <input type="hidden" value="search" name="action">
- <input type="hidden" value="results" name="search_results">
- </form>
-ENDSTR
- }
- else {
- $cont = eval(q{ ${h1("Search")}});
- $cont .= eval(q{ ${h2("Search results")}});
- my $result;
- my $rows = "";
-
- my $grid = BackupPC::SearchLib::displayGrid( BackupPC::SearchLib::getWhere(\%In), 0);
- $cont .= $grid;
- }
- Header( eval("qq{$Lang->{Search_archive}}"), "", 1, "", $cont );
- Trailer();
+</p>
+
+<p style="color:gray;">
+ file(s) between:
+ } . date_from_to_html('search') . qq{
+
+ backups between:
+ } . date_from_to_html('search_backup') . qq{
+ (yyyy-mm-dd)
+</p>
+
+<p style="color: gray;">
+ <input type="checkbox" name="use_hest"> use faster full-text search engine
+</p>
+
+<input type="hidden" value="search" name="action">
+<input type="hidden" value="results" name="search_results">
+</form>
+ };
+
+ my $html = eval(q{ ${h1("Search")}});
+
+ if ( !defined($In{search_results}) ) {
+ $html .= eval(q{ ${h2("Search criteria")}});
+
+ $html .= $form;
+ } else {
+ $html .= eval(q{ ${h2("Search results")}});
+
+ my $fif = new HTML::FillInForm;
+ $html .= $fif->fill(scalarref => \$form, fdat => \%In);
+
+ $html .= BackupPC::SearchLib::displayGrid( \%In );
+ }
+
+ Header( eval("qq{$Lang->{Search_archive}}"), "", 1, "", $html );
+ Trailer();
}
1;