File Coverage

blib/lib/WebEditor/OldFeatures/KeyDB.pm
Criterion Covered Total %
statement 9 35 25.7
branch 0 6 0.0
condition 0 3 0.0
subroutine 3 5 60.0
pod 0 1 0.0
total 12 50 24.0


line stmt bran cond sub pod time code
1             package WebEditor::OldFeatures::KeyDB;
2              
3 1     1   1073 use strict;
  1         2  
  1         34  
4 1     1   6 use vars qw($VERSION);
  1         1  
  1         60  
5             $VERSION = sprintf("%d.%02d", q$Revision: 1.3 $ =~ /(\d+)\.(\d+)/);
6              
7 1     1   6 use WE::Util::LangString qw(langstring);
  1         1  
  1         415  
8              
9             ######################################################################
10             #
11             # updating keyword database
12             #
13             sub updatekeydb {
14 0     0 0   my $self = shift;
15              
16 0           my $root = $self->Root;
17 0           my $objdb = $root->ObjDB;
18 0           my $c = $self->C;
19              
20 0           my ($folder_id) = 0;
21 0           my %keywords;
22             my %id2title;
23              
24 0           foreach my $lang (@{ $c->project->sitelanguages }) {
  0            
25             # "Walk" through every object
26             $objdb->walk($folder_id, sub {
27 0     0     my ($id) = @_;
28 0           my $obj = $objdb->get_object($id);
29             # Check if object is released
30             #print "
$id : ";
31 0 0 0       if ($obj->Release_State eq 'released' && $obj->Keywords) {
32             #print "ok";
33             #warn $obj->Id;
34 0           foreach my $word ( split(/,/, langstring($obj->Keywords, $lang) ) ) {
35             #nur als Kleinbuchstaben speichern
36 0           $keywords{lc($word)} .= $obj->Id.",";
37 0           my $title = $obj->Title->{$lang};
38 0 0         if ($root->can("get_section")) {
39 0           $title .= "|".$root->get_section($obj->Id);
40             }
41 0           $id2title{$obj->Id} = $title;
42             #print $word." " if ($debug);
43             }
44             }
45 0           });
46              
47             # Write keywords to file
48 0           my $file = $c->paths->pubhtmldir."/html/keywords_".$lang.".dat";
49 0 0         open (SEARCH, ">$file")
50             or error( "can't writeopen keyworddb $file");
51 0           foreach my $key (sort keys %keywords) {
52 0           print SEARCH "$key|".$keywords{$key}."\n";
53             }
54 0           print SEARCH ">>> Id to title\n";
55 0           foreach my $id (sort keys %id2title) {
56 0           print SEARCH "$id=".$id2title{$id}."\n";
57             }
58 0           close SEARCH;
59             #print "
Keywords-Datei $file gespichert.\n";
60              
61             }
62             }
63              
64             1;