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; |