projects
/
BackupPC.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fix when no results are returned from HyperEstraier
[BackupPC.git]
/
lib
/
BackupPC
/
SearchLib.pm
diff --git
a/lib/BackupPC/SearchLib.pm
b/lib/BackupPC/SearchLib.pm
index
ebc9697
..
5044b4f
100644
(file)
--- a/
lib/BackupPC/SearchLib.pm
+++ b/
lib/BackupPC/SearchLib.pm
@@
-17,7
+17,7
@@
my $pager_pages = 10;
my $dsn = $Conf{SearchDSN};
my $db_user = $Conf{SearchUser} || '';
my $dsn = $Conf{SearchDSN};
my $db_user = $Conf{SearchUser} || '';
-my $hest_
index_path
= $Conf{HyperEstraierIndex};
+my $hest_
node_url
= $Conf{HyperEstraierIndex};
my $dbh;
my $dbh;
@@
-251,16
+251,11
@@
sub getHyperEstraier_url($) {
return unless $use_hest;
return unless $use_hest;
- use HyperEstraier;
- my ($index_path, $index_node_url);
+ use Search::Estraier 0.04;
+ die "direct access to Hyper Estraier datatase is no longer supported. Please use estmaster\n"
+ unless ($use_hest =~ m#^http://#);
- if ($use_hest =~ m#^http://#) {
- $index_node_url = $use_hest;
- } else {
- $index_path = $TopDir . '/' . $use_hest;
- $index_path =~ s#//#/#g;
- }
- return ($index_path, $index_node_url);
+ return $use_hest;
}
sub getFilesHyperEstraier($) {
}
sub getFilesHyperEstraier($) {
@@
-269,26
+264,19
@@
sub getFilesHyperEstraier($) {
my $offset = $param->{'offset'} || 0;
$offset *= $on_page;
my $offset = $param->{'offset'} || 0;
$offset *= $on_page;
- die "no index_path?" unless ($hest_index_path);
-
- use HyperEstraier;
-
- my ($index_path, $index_node_url) = getHyperEstraier_url($hest_index_path);
+ die "no Hyper Estraier node URL?" unless ($hest_node_url);
# open the database
my $db;
# open the database
my $db;
- if ($index_path) {
- $db = HyperEstraier::Database->new();
- $db->open($index_path, $HyperEstraier::ESTDBREADER);
- } elsif ($index_node_url) {
- $db ||= HyperEstraier::Node->new($index_node_url);
+ if ($hest_node_url) {
+ $db ||= Search::Estraier::Node->new($hest_node_url);
$db->set_auth('admin', 'admin');
} else {
die "BUG: unimplemented";
}
# create a search condition object
$db->set_auth('admin', 'admin');
} else {
die "BUG: unimplemented";
}
# create a search condition object
- my $cond =
Hyper
Estraier::Condition->new();
+ my $cond =
Search::
Estraier::Condition->new();
my $q = $param->{'search_filename'};
my $shareid = $param->{'search_share'};
my $q = $param->{'search_filename'};
my $shareid = $param->{'search_share'};
@@
-312,33
+300,32
@@
sub getFilesHyperEstraier($) {
$cond->add_attr("shareid NUMEQ $shareid") if ($shareid);
$cond->add_attr("shareid NUMEQ $shareid") if ($shareid);
-
#
$cond->set_max( $offset + $on_page );
- $cond->set_options(
$HyperEstraier::Condition::SURE
);
+
$cond->set_max( $offset + $on_page );
+ $cond->set_options(
'SURE'
);
$cond->set_order( getSort('search', 'est', $param->{'sort'} ) );
# get the result of search
my @res;
my ($result, $hits);
$cond->set_order( getSort('search', 'est', $param->{'sort'} ) );
# get the result of search
my @res;
my ($result, $hits);
- if ($index_path) {
- $result = $db->search($cond, 0);
- $hits = $result->size;
- } elsif ($index_node_url) {
+ if ($hest_node_url) {
$result = $db->search($cond, 0);
$result = $db->search($cond, 0);
- $hits = $result->doc_num;
+ if ($result) {
+ $hits = $result->hits;
+ } else {
+ $hits = 0;
+ return ($hits,[]);
+ }
} else {
die "BUG: unimplemented";
}
# for each document in result
for my $i ($offset .. ($offset + $on_page - 1)) {
} else {
die "BUG: unimplemented";
}
# for each document in result
for my $i ($offset .. ($offset + $on_page - 1)) {
- last if ($i >= $
hits
);
+ last if ($i >= $
result->doc_num
);
my $doc;
my $doc;
- if ($index_path) {
- my $id = $result->get($i);
- $doc = $db->get_doc($id, 0);
- } elsif ($index_node_url) {
+ if ($hest_node_url) {
$doc = $result->get_doc($i);
} else {
die "BUG: unimplemented";
$doc = $result->get_doc($i);
} else {
die "BUG: unimplemented";
@@
-476,7
+463,7
@@
print STDERR "## sort=". ($param->{'sort'} || 'no sort param') . " burn sql orde
INNER JOIN shares ON backups.shareID=shares.ID
INNER JOIN hosts ON backups.hostID = hosts.ID
LEFT OUTER JOIN archive_backup ON archive_backup.backup_id = backups.id
INNER JOIN shares ON backups.shareID=shares.ID
INNER JOIN hosts ON backups.hostID = hosts.ID
LEFT OUTER JOIN archive_backup ON archive_backup.backup_id = backups.id
- WHERE backups.inc_size > 0 AND backups.
inc_deleted is false AND archive_backup.backup_id IS NULL
+ WHERE backups.inc_size > 0 AND backups.
size > 0 AND backups.inc_deleted is false AND archive_backup.backup_id IS NULL AND backups.parts > 0
GROUP BY
backups.hostID,
hosts.name,
GROUP BY
backups.hostID,
hosts.name,
@@
-654,7
+641,7
@@
var max_file_size = $max_archive_file_size;
$retHTML .= <<'EOF3';
function debug(msg) {
$retHTML .= <<'EOF3';
function debug(msg) {
-
//
return; // Disable debugging
+
return; // Disable debugging
if (! debug_div) debug_div = document.getElementById('debug');
if (! debug_div) debug_div = document.getElementById('debug');
@@
-856,9
+843,11
@@
Note:
<input type="submit" id="submitBurner" value="Burn selected" name="submitBurner" />
</div>
<input type="submit" id="submitBurner" value="Burn selected" name="submitBurner" />
</div>
+<!--
<div id="debug" style="float: right; width: 10em; border: 1px #ff0000 solid; background-color: #ffe0e0; -moz-opacity: 0.7;">
no debug output yet
</div>
<div id="debug" style="float: right; width: 10em; border: 1px #ff0000 solid; background-color: #ffe0e0; -moz-opacity: 0.7;">
no debug output yet
</div>
+-->
EOF3
$retHTML .= q{
<input type="hidden" value="burn" name="action">
EOF3
$retHTML .= q{
<input type="hidden" value="burn" name="action">