1 ####################################################################
2 # SearchArchives.pm - module for searching through archived files #
3 # via a sqlite database #
4 ####################################################################
5 package BackupPC::CGI::SearchArchives;
9 use BackupPC::CGI::Lib qw(:all);
10 use BackupPC::SearchLib;
12 use vars qw($Cgi %In $MyURL $User %Conf $TopDir $BinDir $bpc);
21 BackupPC::CGI::Lib::NewRequest();
23 @hosts = BackupPC::SearchLib::getUnits();
24 if ( !defined($In{search_results}) ) {
25 foreach $host (@hosts) {
28 . $host->{'ID'} . "> "
32 my $title = eval(q{ ${h1("Search")}});
33 my $subtitle = eval(q{ ${h2("Search criteria")}});
35 sub date_from_to_html {
36 my $name = shift || return;
40 <td colspan="3" align="center">from</a>
42 <td colspan="3" align="center">to</a>
45 <td align="center">dd</td>
46 <td align="center">mm</td>
47 <td align="center">yyyy</td>
48 <td align="center"> </td>
49 <td align="center">dd</td>
50 <td align="center">mm</td>
51 <td align="center">yyyy</td>
54 <td><input type="text" name="${name}_day_from" size="2"></td>
55 <td><input type="text" name="${name}_month_from" size="2"></td>
56 <td><input type="text" name="${name}_year_from" size="4"></td>
57 <td> - </td>
58 <td><input type="text" name="${name}_day_to" size="2"></td>
59 <td><input type="text" name="${name}_month_to" size="2"></td>
60 <td><input type="text" name="${name}_year_to" size="4"></td>
67 <form name="searchForm" method="GET" action="$MyURL">
70 <table border="0" width="100%">
73 <td><select name="search_host">$hosts_html</select></td>
75 <tr class="fviewborder">
76 <td>All file(s) between:</td>
77 <td>} . date_from_to_html('search') . qq{</td>
80 <td>All backups between:</td>
81 <td>} . date_from_to_html('search_backup') . qq{</td>
83 <tr class="fviewborder">
85 <td><input type="text" name="search_filename" size="25"></td>
89 <input type="submit" value="Search">
90 <input type="hidden" value="search" name="action">
91 <input type="hidden" value="results" name="search_results">
96 $cont = eval(q{ ${h1("Search")}});
97 $cont .= eval(q{ ${h2("Search results")}});
101 my ($where, $from_f, $to_f, $from_b, $to_b) = BackupPC::SearchLib::getWhere(\%In);
103 my $q = $In{'search_filename'};
106 $cont .= "Filename filter: $q</br>" if ($q);
107 $cont .= "Files date limit: $from_f - $to_f</br>" if ($from_f && $to_f);
108 $cont .= "Backup date limit: $from_b - $to_b</br>" if ($from_b && $to_b);
111 my $grid = BackupPC::SearchLib::displayGrid( $where, 1, $In{'offset'}, $q);
114 Header( eval("qq{$Lang->{Search_archive}}"), "", 1, "", $cont );