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>
- <input type="submit" value="Search">
- <input type="hidden" value="search" name="action">
- <input type="hidden" value="results" name="search_results">
- </form>
-ENDSTR
+ sub date_from_to_html {
+ my $name = shift || return;
+ return qq{
+<table>
+<tr>
+ <td colspan="3" align="center">from</a>
+ <td> </td>
+ <td colspan="3" align="center">to</a>
+</tr>
+<tr>
+ <td align="center">dd</td>
+ <td align="center">mm</td>
+ <td align="center">yyyy</td>
+ <td align="center"> </td>
+ <td align="center">dd</td>
+ <td align="center">mm</td>
+ <td align="center">yyyy</td>
+</tr>
+<tr>
+ <td><input type="text" name="${name}_day_from" size="2"></td>
+ <td><input type="text" name="${name}_month_from" size="2"></td>
+ <td><input type="text" name="${name}_year_from" size="4"></td>
+ <td> - </td>
+ <td><input type="text" name="${name}_day_to" size="2"></td>
+ <td><input type="text" name="${name}_month_to" size="2"></td>
+ <td><input type="text" name="${name}_year_to" size="4"></td>
+</tr>
+</table>
+ };
+ }
+
+ $cont .= qq{
+<form name="searchForm" method="GET" action="$MyURL">
+$title
+$subtitle
+<table border="0" width="100%">
+<tr>
+ <td>Share:</td>
+ <td><select name="search_host">$hosts_html</select></td>
+</tr>
+<tr class="fviewborder">
+ <td>All file(s) between:</td>
+ <td>} . date_from_to_html('search') . qq{</td>
+</tr>
+<tr>
+ <td>All backups between:</td>
+ <td>} . date_from_to_html('search_backup') . qq{</td>
+</tr>
+<tr class="fviewborder">
+ <td>Filename:</td>
+ <td><input type="text" name="search_filename" size="25"></td>
+</tr>
+</table>
+
+<input type="submit" value="Search">
+<input type="hidden" value="search" name="action">
+<input type="hidden" value="results" name="search_results">
+</form>
+ };
}
else {
$cont = eval(q{ ${h1("Search")}});
my $result;
my $rows = "";
- my $grid = BackupPC::SearchLib::displayGrid( BackupPC::SearchLib::getWhere(\%In), 1, $In{'offset'});
- $cont .= $grid;
+ my $grid = BackupPC::SearchLib::displayGrid( BackupPC::SearchLib::getWhere(\%In), 1, $In{'offset'}, $In{'search_filename'});
+ $cont .= $grid;
}
Header( eval("qq{$Lang->{Search_archive}}"), "", 1, "", $cont );
Trailer();
}
-sub displayGrid($$$)
- {
- my ($where, $addForm, $offset) = @_;
- my $retHTML = "";
-
- if ($addForm)
- {
- $retHTML .= q{<form name="forma" method="POST" action="}."$MyURL"."?action=search\"";
- $retHTML.= q{<input type="hidden" value="search" name="action">};
- $retHTML .= q{<input type="hidden" value="results" name="search_results">};
+sub displayGrid($$$$) {
+ my ($where, $addForm, $offset, $hilite) = @_;
+ my $retHTML = "";
+
+ if ($addForm) {
+ $retHTML .= qq{<form name="forma" method="POST" action="}.$MyURL.qq{?action=search">};
+ $retHTML.= qq{<input type="hidden" value="search" name="action">};
+ $retHTML .= qq{<input type="hidden" value="results" name="search_results">};
}
- $retHTML .= "<table style=\"fview\">";
- $retHTML .= "<tr> ";
- $retHTML .= "<td class=\"tableheader\">Host</td> <td class=\"tableheader\">Name</td> <td class=\"tableheader\">Type</td> <td class=\"tableheader\">backup no.</td> <td class=\"tableheader\">size</td> <td class=\"tableheader\">date</td> <td class=\"tableheader\">Media</td></tr>";
- my @files = getFiles($where, $offset);
- my $file;
+ $retHTML .= qq{
+ <table style="fview" width="100%">
+ <tr>
+ <td class="tableheader">Host</td>
+ <td class="tableheader">Type</td>
+ <td class="tableheader">Name</td>
+ <td class="tableheader">backup no.</td>
+ <td class="tableheader">size</td>
+ <td class="tableheader">date</td>
+ <td class="tableheader">Media</td>
+ </tr>
+ };
+ my @files = getFiles($where, $offset);
+ my $file;
- foreach $file(@files)
- {
- my $ftype = "";
-
- if ($file->{'type'} == BPC_FTYPE_DIR)
- {
- $ftype = "dir";
- }
- else
- {
- $ftype = "file";
- }
- $retHTML .= "<tr>";
- $retHTML .= "<td class=\"fviewborder\">" . $file->{'hname'} ."</td>";
- $retHTML .= "<td class=\"fviewborder\">" . $file->{'fname'} . "</td>";
- $retHTML .= "<td class=\"fviewborder\">" . $ftype . "</td>";
- $retHTML .= "<td class=\"fviewborder\">" . $file->{'backupno'} . "</td>";
- $retHTML .= "<td class=\"fviewborder\">" . $file->{'size'} . "</td>";
- $retHTML .= "<td class=\"fviewborder\">" . $file->{'date'} . "</td>";
- $retHTML .= "<td class=\"fviewborder\">" . $file->{'dvd'} . "</td>";
- $retHTML .= "</tr>";
+ sub hilite_html($$) {
+ my ($html, $search) = @_;
+ $html =~ s#($search)#<b>$1</b>#gis;
+ return $html;
}
- $retHTML .= "</table>";
-
+ foreach $file (@files) {
+ my $ftype = "file";
+ $ftype = "dir" if ($file->{'type'} == BPC_FTYPE_DIR);
- $retHTML .= "<INPUT TYPE=\"hidden\" VALUE=\"\" NAME=\"offset\">";
- for (my $ii = 1; $ii <= $#files; $ii++)
- {
- $retHTML .= "<a href = \"#\" onclick=\"document.forma.offset.value=$ii;document.forma.submit();\">$ii</a>";
- if ($ii < $#files)
- {
- $retHTML .= " | ";
- }
- }
+ $retHTML .= "<tr>";
+ foreach my $v ((
+ $file->{'hname'},
+ $ftype,
+ hilite_html( $file->{'fpath'}, $hilite ),
+ $file->{'backupno'},
+ $file->{'size'},
+ $file->{'date'},
+ $file->{'dvd'}
+ )) {
+ $retHTML .= qq{<td class="fviewborder">$v</td>};
+ }
- if ($addForm)
- {
- $retHTML .= "</form>";
- }
+ $retHTML .= "</tr>";
+ }
+ $retHTML .= "</table>";
+
+ # skip pager
+ return $retHTML;
+
+ $retHTML .= "<INPUT TYPE=\"hidden\" VALUE=\"\" NAME=\"offset\">";
+ for (my $ii = 1; $ii <= $#files; $ii++) {
+ $retHTML .= "<a href = \"#\" onclick=\"document.forma.offset.value=$ii;document.forma.submit();\">$ii</a>";
+ if ($ii < $#files) {
+ $retHTML .= " | ";
+ }
+ }
+
+ $retHTML .= "</form>" if ($addForm);
- return $retHTML;
- }
+ return $retHTML;
+}
1;