my $dsn = $Conf{SearchDSN};
my $db_user = $Conf{SearchUser} || '';
-my $hest_index_path = $Conf{HyperEstraierIndex};
+my $hest_node_url = $Conf{HyperEstraierIndex};
my $dbh;
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($) {
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;
- 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
- my $cond = HyperEstraier::Condition->new();
+ my $cond = Search::Estraier::Condition->new();
my $q = $param->{'search_filename'};
my $shareid = $param->{'search_share'};
$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);
- if ($index_path) {
- $result = $db->search($cond, 0);
- $hits = $result->size;
- } elsif ($index_node_url) {
+ if ($hest_node_url) {
$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)) {
- last if ($i >= $hits);
+ last if ($i >= $result->doc_num);
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";
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,
$retHTML .= <<'EOF3';
function debug(msg) {
-// return; // Disable debugging
+ return; // Disable debugging
if (! debug_div) debug_div = document.getElementById('debug');
<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>
+-->
EOF3
$retHTML .= q{
<input type="hidden" value="burn" name="action">