mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-03-03 16:56:54 +00:00
commandref_modular.pl: show german doc only if available (Forum #105079)
git-svn-id: https://svn.fhem.de/fhem/trunk@20691 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
ba16120542
commit
9d61144d37
@ -56,6 +56,13 @@ for my $lang (@lang) {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if($l =~ m,<div id='modLangs'[^>]*> ([^<]+)</div>,) {
|
||||
for my $ml (split(" ", $1)) {
|
||||
my ($n,$v) = split(/[:,]/,$ml,2);
|
||||
$modData{$n}{modLangs} = $v;
|
||||
}
|
||||
}
|
||||
}
|
||||
close(FH);
|
||||
}
|
||||
@ -66,18 +73,22 @@ for my $lang (@lang) {
|
||||
my $mName = $1;
|
||||
my $ts = (stat("$modDir/$fName"))[9];
|
||||
if($protVersion != $fileVersion ||
|
||||
!$modData{$mName} || !$modData{$mName}{ts} || $modData{$mName}{ts}<$ts) {
|
||||
!$modData{$mName} || !$modData{$mName}{ts} || $modData{$mName}{ts}<$ts ||
|
||||
!$modData{$mName}{modLangs}) {
|
||||
#print "Checking $fName for $lang short description\n";
|
||||
|
||||
$modData{$mName}{type}="device" if(!$modData{$mName}{type});
|
||||
delete($modData{$mName}{modLinks});
|
||||
open(FH, "$modDir/$fName") || die("Cant open $modDir/$fName: $!\n");
|
||||
my @lang;
|
||||
while(my $l = <FH>) {
|
||||
push @lang,($1 eq "" ? "EN":substr($1,1)) if($l =~ m/^=begin html(.*)/);
|
||||
$modData{$mName}{type}=$1 if($l =~ m/^=item\s+(helper|command|device)/);
|
||||
$modData{$mName}{$1} =$2 if($l =~ m/^=item\s+(summary[^ ]*)\s(.*)$/);
|
||||
$modData{$mName}{modLinks}{$1} = 1
|
||||
if($l =~ m/<a\s+name=['"]([^ '"]+)['"]>/);
|
||||
}
|
||||
$modData{$mName}{modLangs} = join(",", @lang);
|
||||
close(FH);
|
||||
}
|
||||
}
|
||||
@ -104,12 +115,15 @@ EOF
|
||||
if($l =~ m,<!-- header:(.*) -->,) {
|
||||
my @mList = sort {uc($a) cmp uc($b)} keys %modData;
|
||||
if(!$linkDumped) {
|
||||
my $ml = "";
|
||||
my ($mlink,$mlang) = ("","");
|
||||
for my $m (@mList) {
|
||||
next if(!$modData{$m}{modLinks});
|
||||
$ml .= " $m:".join(",", keys(%{$modData{$m}{modLinks}}));
|
||||
$mlink .= " $m:".join(",", keys(%{$modData{$m}{modLinks}}))
|
||||
if($modData{$m}{modLinks});
|
||||
$mlang .= " $m:$modData{$m}{modLangs}"
|
||||
if($modData{$m}{modLangs});
|
||||
}
|
||||
print OUT "<div id='modLinks' style='display:none'>$ml</div>\n";
|
||||
print OUT "<div id='modLinks' style='display:none'>$mlink</div>\n";
|
||||
print OUT "<div id='modLangs' style='display:none'>$mlang</div>\n";
|
||||
$linkDumped = 1;
|
||||
}
|
||||
my $type = $1;
|
||||
|
@ -66,6 +66,13 @@ for my $lang (@lang) {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if($l =~ m,<div id='modLangs'[^>]*> ([^<]+)</div>,) {
|
||||
for my $ml (split(" ", $1)) {
|
||||
my ($n,$v) = split(/[:,]/,$ml,2);
|
||||
$modData{$n}{modLangs} = $v;
|
||||
}
|
||||
}
|
||||
}
|
||||
close(FH);
|
||||
}
|
||||
@ -76,18 +83,23 @@ for my $lang (@lang) {
|
||||
my $mName = $1;
|
||||
my $ts = (stat("$modDir/$fName"))[9];
|
||||
if($protVersion != $fileVersion || $rebuild ||
|
||||
!$modData{$mName} || !$modData{$mName}{ts} || $modData{$mName}{ts}<$ts) {
|
||||
!$modData{$mName} || !$modData{$mName}{ts} || $modData{$mName}{ts}<$ts ||
|
||||
!$modData{$mName}{modLangs}) {
|
||||
|
||||
#print "Checking $fName for $lang short description\n";
|
||||
|
||||
$modData{$mName}{type}="device" if(!$modData{$mName}{type});
|
||||
delete($modData{$mName}{modLinks});
|
||||
open(FH, "$modDir/$fName") || die("Cant open $modDir/$fName: $!\n");
|
||||
my @lang;
|
||||
while(my $l = <FH>) {
|
||||
push @lang,($1 eq "" ? "EN":substr($1,1)) if($l =~ m/^=begin html(.*)/);
|
||||
$modData{$mName}{type}=$1 if($l =~ m/^=item\s+(helper|command|device)/);
|
||||
$modData{$mName}{$1} =$2 if($l =~ m/^=item\s+(summary[^ ]*)\s(.*)$/);
|
||||
$modData{$mName}{modLinks}{$1} = 1
|
||||
if($l =~ m/<a\s+name=['"]([^ '"]+)['"]>/);
|
||||
}
|
||||
$modData{$mName}{modLangs} = join(",", @lang);
|
||||
close(FH);
|
||||
my $output = _cref_search("$modDir/$fName",$sfx);
|
||||
my $outFile = "docs/cref$sfx/$mName.cref";
|
||||
@ -118,12 +130,15 @@ EOF
|
||||
if($l =~ m,<!-- header:(.*) -->,) {
|
||||
my @mList = sort {uc($a) cmp uc($b)} keys %modData;
|
||||
if(!$linkDumped) {
|
||||
my $ml = "";
|
||||
my ($mlink,$mlang) = ("","");
|
||||
for my $m (@mList) {
|
||||
next if(!$modData{$m}{modLinks});
|
||||
$ml .= " $m:".join(",", keys(%{$modData{$m}{modLinks}}));
|
||||
$mlink .= " $m:".join(",", keys(%{$modData{$m}{modLinks}}))
|
||||
if($modData{$m}{modLinks});
|
||||
$mlang .= " $m:$modData{$m}{modLangs}"
|
||||
if($modData{$m}{modLangs});
|
||||
}
|
||||
print OUT "<div id='modLinks' style='display:none'>$ml</div>\n";
|
||||
print OUT "<div id='modLinks' style='display:none'>$mlink</div>\n";
|
||||
print OUT "<div id='modLangs' style='display:none'>$mlang</div>\n";
|
||||
$linkDumped = 1;
|
||||
}
|
||||
my $type = $1;
|
||||
|
@ -3,7 +3,7 @@
|
||||
|
||||
var fd_loadedHash={}, fd_loadedList=[], fd_all={}, fd_allCnt, fd_progress=0,
|
||||
fd_lang, fd_offsets=[], fd_scrolled=0, fd_modLinks={}, csrfToken="X",
|
||||
fd_mode = "FHEM";
|
||||
fd_modLangs={}, fd_mode = "FHEM";
|
||||
var fd_otherSrc = { "usb":"autocreate", "createlog":"autocreate" };
|
||||
|
||||
|
||||
@ -182,7 +182,11 @@ checkScroll()
|
||||
$("a#otherLang span.mod").html(mname);
|
||||
$("a#otherLang span[lang="+l1+"]").hide();
|
||||
$("a#otherLang span[lang="+l2+"]").show();
|
||||
if(fd_modLangs[mname] && fd_modLangs[mname][l2]) {
|
||||
$("a#otherLang").show();
|
||||
} else {
|
||||
$("a#otherLang").hide();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -233,6 +237,15 @@ $(document).ready(function(){
|
||||
fd_modLinks[a2[i2]] = mName;
|
||||
}
|
||||
});
|
||||
$("div#modLangs").each(function(){
|
||||
var a1 = $(this).html().split(" ");
|
||||
for(var i1=0; i1<a1.length; i1++) {
|
||||
var a2 = a1[i1].split(/[:,]/);
|
||||
fd_modLangs[a2[0]] = {};
|
||||
for(var i2=1; i2<a2.length; i2++)
|
||||
fd_modLangs[a2[0]][a2[i2]] = true;
|
||||
}
|
||||
});
|
||||
|
||||
$("a[name]").each(function(){ fd_loadedHash[$(this).attr("name")]=fd_lang; });
|
||||
$("table.summary td.modname a")
|
||||
|
Loading…
x
Reference in New Issue
Block a user