From a28fdc01dab591eb15e3fd3020d4efe45b05db30 Mon Sep 17 00:00:00 2001 From: maniacikarus Date: Sat, 30 Jun 2007 20:47:32 +0000 Subject: [PATCH] =?utf8?q?MPFire=20hinzugef=C3=BCgt=20-=20CGI=20mpg123=20F?= =?utf8?q?rontend=20Hardwaregraphs=20und=20Samba=20korrigiert=20makegraphs?= =?utf8?q?=20f=C3=BCr=20alle=20erweitert=20die=20ihr=20Gateway=20nicht=20p?= =?utf8?q?ingen=20k=C3=B6nnen=20->=20geht=20jetzt=20auf=20ping.ipfire.org?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit git-svn-id: http://svn.ipfire.org/svn/ipfire/trunk@654 ea5c0bd1-69bd-2848-81d8-4f18e57aeed8 --- config/cfgroot/graphs.pl | 12 +- config/mpfire/mpfire.pl | 99 ++++++++++++ doc/language_issues.de | 2 - doc/language_issues.en | 2 - html/cgi-bin/hardwaregraphs.cgi | 24 +-- html/cgi-bin/mpfire.cgi | 174 +++++++++++++++++++++ html/cgi-bin/samba.cgi | 12 +- html/html/images/audio-volume-high-red.png | Bin 0 -> 688 bytes html/html/images/audio-volume-high.png | Bin 0 -> 685 bytes html/html/images/audio-volume-low-red.png | Bin 0 -> 505 bytes html/html/images/audio-volume-low.png | Bin 0 -> 500 bytes html/html/images/audio-x-generic-red.png | Bin 0 -> 438 bytes html/html/images/audio-x-generic.png | Bin 0 -> 419 bytes html/html/images/media-playback-pause.png | Bin 0 -> 464 bytes html/html/images/media-playback-start.png | Bin 0 -> 660 bytes html/html/images/media-playback-stop.png | Bin 0 -> 429 bytes html/html/images/media-resume.png | Bin 0 -> 667 bytes html/html/images/media-skip-forward.png | Bin 0 -> 771 bytes langs/de/cgi-bin/de.pl | 26 +++ langs/en/cgi-bin/en.pl | 26 +++ lfs/mpfire | 69 ++++++++ make.sh | 1 + src/scripts/makegraphs | 19 ++- 23 files changed, 432 insertions(+), 34 deletions(-) create mode 100644 config/mpfire/mpfire.pl create mode 100644 html/cgi-bin/mpfire.cgi create mode 100644 html/html/images/audio-volume-high-red.png create mode 100644 html/html/images/audio-volume-high.png create mode 100644 html/html/images/audio-volume-low-red.png create mode 100644 html/html/images/audio-volume-low.png create mode 100644 html/html/images/audio-x-generic-red.png create mode 100644 html/html/images/audio-x-generic.png create mode 100644 html/html/images/media-playback-pause.png create mode 100644 html/html/images/media-playback-start.png create mode 100644 html/html/images/media-playback-stop.png create mode 100644 html/html/images/media-resume.png create mode 100644 html/html/images/media-skip-forward.png create mode 100644 lfs/mpfire diff --git a/config/cfgroot/graphs.pl b/config/cfgroot/graphs.pl index a3bdac37d1..0ac9e7dec0 100644 --- a/config/cfgroot/graphs.pl +++ b/config/cfgroot/graphs.pl @@ -81,7 +81,7 @@ sub updatecpugraph { "GPRINT:iowaitpct:AVERAGE:%3.2lf%%", "GPRINT:iowaitpct:MIN:%3.2lf%%", "GPRINT:iowaitpct:LAST:%3.2lf%%\\j", - "STACK:irqpct".$color{"color23"}.":$tr{'irq cpu usage'}", + "STACK:irqpct".$color{"color23"}.":IRQ CPU ", "GPRINT:irqpct:MAX:%3.2lf%%", "GPRINT:irqpct:AVERAGE:%3.2lf%%", "GPRINT:irqpct:MIN:%3.2lf%%", @@ -366,15 +366,15 @@ sub updatehddgraph { "--color", "BACK".$color{"color21"}, "-t $tr{'harddisk temperature'} ($tr{'graph per'} $tr{$period})", "DEF:temperature=$rrdlog/hddtemp-$disk.rrd:temperature:AVERAGE", - "AREA:temperature".$color{"color11"}.":$tr{'hdd temperature in'} C\\j", + "LINE2:temperature".$color{"color11"}.":$tr{'hdd temperature in'} C\\j", "COMMENT:$tr{'maximal'}", "COMMENT:$tr{'average'}", "COMMENT:$tr{'minimal'}", "COMMENT:$tr{'current'}\\j", - "GPRINT:temperature:MAX:%2.0lf Grad C", - "GPRINT:temperature:AVERAGE:%2.0lf Grad C", - "GPRINT:temperature:MIN:%2.0lf Grad C", - "GPRINT:temperature:LAST:%2.0lf Grad C\\j", + "GPRINT:temperature:MAX:%3.0lf Grad C", + "GPRINT:temperature:AVERAGE:%3.0lf Grad C", + "GPRINT:temperature:MIN:%3.0lf Grad C", + "GPRINT:temperature:LAST:%3.0lf Grad C\\j", ); $ERROR = RRDs::error; print "Error in RRD::graph for hdd-$disk: $ERROR\n" if $ERROR; diff --git a/config/mpfire/mpfire.pl b/config/mpfire/mpfire.pl new file mode 100644 index 0000000000..ee21f4a2a6 --- /dev/null +++ b/config/mpfire/mpfire.pl @@ -0,0 +1,99 @@ +#!/usr/bin/perl + +use MP3::Tag; +use MP3::Info; + +require '/var/ipfire/general-functions.pl'; +require "${General::swroot}/lang.pl"; +require "${General::swroot}/header.pl"; + +my $filename = ""; +my %songs = ""; +my $debug = 0; + +if ($ARGV[0] eq 'scan') { +my $command = "find "; +chomp $ARGV[1]; +$command .= "\"$ARGV[1]\""; +if ($ARGV[2] eq 'off'){$command .= " -maxdepth 1";} +$command .= " -name *.mp3"; +my @files = `$command`; + +&getExistingSongs(); + +foreach (@files){ + $filename = $_; + chomp($filename) + &getSongInfo(); + } +open(DATEI, ">${General::swroot}/mpfire/db/songs.db") || die "Kann Datenbank nicht speichern"; +print DATEI %songs; +close(DATEI); +} + +if ($ARGV[0] eq 'getdb') { + &getExistingSongs(); + print %songs; + } + +if ($ARGV[0] eq 'play') { + if ($debug){print "Yes we are called and we will play $ARGV[1]\n";} + system("/usr/bin/mpg123 -b 1024 --aggressive -q \"$ARGV[1]\" 2>/dev/null >/dev/null &"); + } + +if ($ARGV[0] eq 'stop') { + my $PID = `ps -ef | grep mpg123 | grep playlist | head -1 | awk '{ print \$2 }'`; + if ($debug){print "Stopping $PID\n";} + system("kill -KILL $PID"); + } + +if ($ARGV[0] eq 'volup') { + if ($debug){print "Increasing Volume\n";} + system("/usr/bin/amixer set Master $ARGV[1]%+ 2>/dev/null >/dev/null"); + } + +if ($ARGV[0] eq 'voldown') { + if ($debug){print "Decreasing Volume\n";} + system("/usr/bin/amixer set Master $ARGV[1]%- 2>/dev/null >/dev/null"); + } + +if ($ARGV[0] eq 'playall') { + if ($debug){print "Playing everything\n";} + system("/usr/bin/mpg123 -b 1024 --aggressive -Zq@ /var/ipfire/mpfire/playlist 2>/dev/null >/dev/null &"); + } + +if ($ARGV[0] eq 'pause') { + my $PID = `ps -ef | grep mpg123 | grep playlist | head -1 | awk '{ print \$2 }'`; + if ($debug){print "Pausing Process $PID\n";} + system("kill -STOP $PID"); + } + +if ($ARGV[0] eq 'resume') { + my $PID = `ps -ef | grep mpg123 | grep playlist | head -1 | awk '{ print \$2 }'`; + if ($debug){print "Resuming Process $PID\n";} + system("kill -CONT $PID"); + } + +if ($ARGV[0] eq 'next') { + if ($debug){print "Next Song\n";} + my $PID = `ps -ef | grep mpg123 | grep playlist | head -1 | awk '{ print \$2 }'`; + system("kill -SIGINT $PID"); + } + +sub getSongInfo(){ + my $mp3 = MP3::Tag->new($filename); + my ($title, $track, $artist, $album, $comment, $year, $genre) = $mp3->autoinfo(); + my $info = get_mp3info($filename); + $mp3->close(); + $songs{$filename} = "|".$artist."|".$title."|".$track."|".$album."|".$year."|".$genre."|".$info->{MM}."|".$info->{SS}."|".$info->{BITRATE}."|".$info->{FREQUENCY}."|".$info->{MODE}."\n"; + } + +sub getExistingSongs(){ + open(DATEI, "<${General::swroot}/mpfire/db/songs.db") || die "Keine Datenbank vorhanden"; + my @Zeilen = ; + close(DATEI); + foreach (@Zeilen){ + my @Zeile = split(/\|/,$_); + $songs{$Zeile[0]} = "|".$Zeile[1]."|".$Zeile[2]."|".$Zeile[3]."|".$Zeile[4]."|".$Zeile[5]."|".$Zeile[6]."|".$Zeile[7]."|".$Zeile[8]."|".$Zeile[9]."|".$Zeile[10]."|".$Zeile[11]."\n"; + } + } diff --git a/doc/language_issues.de b/doc/language_issues.de index 38a18322f6..48409d1969 100644 --- a/doc/language_issues.de +++ b/doc/language_issues.de @@ -340,7 +340,6 @@ WARNING: translation string unused: this months volume WARNING: translation string unused: this update is already installed WARNING: translation string unused: this weeks volume WARNING: translation string unused: time date manually reset -WARNING: translation string unused: title WARNING: translation string unused: to email adr WARNING: translation string unused: to install an update WARNING: translation string unused: to warn email bad @@ -388,7 +387,6 @@ WARNING: translation string unused: week WARNING: translation string unused: weekly firewallhits WARNING: translation string unused: written sectors WARNING: translation string unused: xtaccess bad transfert -WARNING: translation string unused: year WARNING: translation string unused: yearly firewallhits WARNING: untranslated string: OVPN WARNING: untranslated string: abort diff --git a/doc/language_issues.en b/doc/language_issues.en index 3be8c9dc3b..f18920b13d 100644 --- a/doc/language_issues.en +++ b/doc/language_issues.en @@ -347,7 +347,6 @@ WARNING: translation string unused: this months volume WARNING: translation string unused: this update is already installed WARNING: translation string unused: this weeks volume WARNING: translation string unused: time date manually reset -WARNING: translation string unused: title WARNING: translation string unused: to email adr WARNING: translation string unused: to install an update WARNING: translation string unused: to warn email bad @@ -392,7 +391,6 @@ WARNING: translation string unused: web proxy configuration WARNING: translation string unused: week WARNING: translation string unused: weekly firewallhits WARNING: translation string unused: written sectors -WARNING: translation string unused: year WARNING: translation string unused: yearly firewallhits WARNING: untranslated string: OVPN WARNING: untranslated string: abort diff --git a/html/cgi-bin/hardwaregraphs.cgi b/html/cgi-bin/hardwaregraphs.cgi index 478bf9c387..6e3fc1d230 100644 --- a/html/cgi-bin/hardwaregraphs.cgi +++ b/html/cgi-bin/hardwaregraphs.cgi @@ -34,7 +34,7 @@ my @disks = `kudzu -qps -c HD | grep device: | cut -d" " -f2 | sort | uniq`; foreach (@disks){ my $disk = $_; chomp $disk; - &Graphs::updatehddgraph ($disk,"day"); + &Graphs::updatehddgraph ($disk,"day");&Graphs::updatehddgraph ($disk,"week");&Graphs::updatehddgraph ($disk,"month");&Graphs::updatehddgraph ($disk,"year"); } &Graphs::updatetempgraph ("day"); @@ -155,15 +155,6 @@ elsif ($cgigraphs[1] =~ /(temp|fan|volt)/) if ($cgigraphs[1] =~ /temp/) {&Graphs::updatetempgraph ("week");&Graphs::updatetempgraph ("month");&Graphs::updatetempgraph ("year");} if ($cgigraphs[1] =~ /fan/) {&Graphs::updatefangraph ("week");&Graphs::updatefangraph ("month");&Graphs::updatefangraph ("year");} if ($cgigraphs[1] =~ /volt/) {&Graphs::updatevoltgraph ("week");&Graphs::updatevoltgraph ("month");&Graphs::updatevoltgraph ("year");} -if ($cgigraphs[1] =~ /hddtemp/){ - my @devices = `kudzu -qps -c HD | grep device: | cut -d" " -f2 | sort | uniq`; - - foreach (@devices) { - my $device = $_; - chomp($device); - &Graphs::updatehddgraph ($device,"week"); - &Graphs::updatehddgraph ($device,"month"); - &Graphs::updatehddgraph ($device,"year");}} my $graph = $cgigraphs[1]; my $graphname = $Lang::tr{"mbmon $cgigraphs[1]"}; @@ -249,14 +240,11 @@ else if ( $mbmon_settings{'GRAPH_HDD'} == 1 ) { - hddtempbox("hda"); - hddtempbox("hdb"); - hddtempbox("hdc"); - hddtempbox("hdd"); - hddtempbox("hde"); - hddtempbox("hdf"); - hddtempbox("hdg"); - hddtempbox("hdh"); + my @devices = `kudzu -qps -c HD | grep device: | cut -d" " -f2 | sort | uniq`; + foreach (@devices) { + my $device = $_; + chomp($device); + hddtempbox($device);} } &Header::openbox('100%', 'center', $Lang::tr{'settings'}); diff --git a/html/cgi-bin/mpfire.cgi b/html/cgi-bin/mpfire.cgi new file mode 100644 index 0000000000..05d2e149da --- /dev/null +++ b/html/cgi-bin/mpfire.cgi @@ -0,0 +1,174 @@ +#!/usr/bin/perl +# +# IPFire CGIs +# +# This code is distributed under the terms of the GPL +# +# (c) The IPFire Team + +use strict; +# enable only the following on debugging purpose +use warnings; +use CGI::Carp 'fatalsToBrowser'; + +require '/var/ipfire/general-functions.pl'; +require "${General::swroot}/lang.pl"; +require "${General::swroot}/header.pl"; + +my %color = (); +my %mainsettings = (); +my %mpfiresettings = (); +my %checked = (); +my $message = ""; +my $errormessage = ""; + +open(DATEI, "<${General::swroot}/mpfire/db/songs.db") || die "No Database found"; +my @songdb = ; +close(DATEI); +@songdb = sort(@songdb); + +&General::readhash("${General::swroot}/main/settings", \%mainsettings); +&General::readhash("/srv/web/ipfire/html/themes/".$mainsettings{'THEME'}."/include/colors.txt", \%color); + +&Header::showhttpheaders(); +&Header::getcgihash(\%mpfiresettings); + +&Header::openpage($Lang::tr{'mpfire'}, 1, ''); +&Header::openbigbox('100%', 'left', '', $errormessage); + +sub refreshpage{&Header::openbox( 'Waiting', 1, "" );} + +############################################################################################################################ +######################################## Scanne Verzeichnisse nach Mp3 Dateien ############################################# + +if ( $mpfiresettings{'ACTION'} eq "scan" ) +{ +delete $mpfiresettings{'__CGI__'};delete $mpfiresettings{'x'};delete $mpfiresettings{'y'}; +&General::writehash("${General::swroot}/mpfire/settings", \%mpfiresettings); +system("/usr/local/bin/mpfirectrl scan $mpfiresettings{'SCANDIR'} $mpfiresettings{'SCANDIRDEPS'}"); +} + +if ( $mpfiresettings{'ACTION'} eq ">" ){system("/usr/local/bin/mpfirectrl play $mpfiresettings{'FILE'}");} +if ( $mpfiresettings{'ACTION'} eq "x" ){system("/usr/local/bin/mpfirectrl stop");} +if ( $mpfiresettings{'ACTION'} eq "||" ){system("/usr/local/bin/mpfirectrl pause");} +if ( $mpfiresettings{'ACTION'} eq "|>" ){system("/usr/local/bin/mpfirectrl resume");} +if ( $mpfiresettings{'ACTION'} eq ">>" ){system("/usr/local/bin/mpfirectrl next");} +if ( $mpfiresettings{'ACTION'} eq "+" ){system("/usr/local/bin/mpfirectrl volup 5");} +if ( $mpfiresettings{'ACTION'} eq "-" ){system("/usr/local/bin/mpfirectrl voldown 5");} +if ( $mpfiresettings{'ACTION'} eq "++" ){system("/usr/local/bin/mpfirectrl volup 10");} +if ( $mpfiresettings{'ACTION'} eq "--" ){system("/usr/local/bin/mpfirectrl voldown 10");} +if ( $mpfiresettings{'ACTION'} eq "playall" ) +{ +my @temp = ""; +foreach (@songdb){ + my @song = split(/\|/,$_); + chomp($song[0]); + push(@temp,$song[0]."\n"); + } +open(DATEI, ">${General::swroot}/mpfire/playlist") || die "Could not add playlist"; +print DATEI @temp; +close(DATEI); +system("/usr/local/bin/mpfirectrl playall"); +} +if ( $mpfiresettings{'SHOWLIST'} ){delete $mpfiresettings{'__CGI__'};delete $mpfiresettings{'x'};delete $mpfiresettings{'y'};&General::writehash("${General::swroot}/mpfire/settings", \%mpfiresettings);} + +############################################################################################################################ +################################### Aufbau der HTML Seite fr globale Sambaeinstellungen #################################### + +$mpfiresettings{'SCANDIR'} = "/"; +$mpfiresettings{'SHOWLIST'} = "off"; + +&General::readhash("${General::swroot}/mpfire/settings", \%mpfiresettings); + +############################################################################################################################ +########################################### rekursiv nach neuen Mp3s Scannen ##############################################ä + +if ( $message ne "" ) { print "$message"; } + +&Header::openbox('100%', 'center', $Lang::tr{'mpfire scanning'}); + +print < + + + + + +
$Lang::tr{'Scan for Files'}
$Lang::tr{'Scan from Directory'}
$Lang::tr{'deep scan directories'}on / + off
+
+ +END +; +&Header::closebox(); + +&Header::openbox('100%', 'center', $Lang::tr{'mpfire controls'}); +print "
"; +print < + + + + + +END +; +if ( $mpfiresettings{'SHOWLIST'} eq "on" ){print"";} +else { print"";} +print <
+
+ + + +
+END +; +&Header::closebox(); + +if ( $mpfiresettings{'SHOWLIST'} eq "on" ){ + +&Header::openbox('100%', 'center', $Lang::tr{'mpfire songs'}); +print < +$Lang::tr{'Existing Files'} + + $Lang::tr{'artist'}
$Lang::tr{'title'}
+ $Lang::tr{'number'} + $Lang::tr{'album'} + $Lang::tr{'year'} + $Lang::tr{'genre'} + $Lang::tr{'length'}
$Lang::tr{'bitrate'} - $Lang::tr{'frequency'}
+ $Lang::tr{'mode'} +END +; +my $lines = 0; +foreach (@songdb){ + my @song = split(/\|/,$_); + + if ($lines % 2) {print "";} else {print "";} + $song[0]=~s/\/\//\//g; + print <
+ $song[1]
$song[2] + $song[3] + $song[4] + $song[5] + $song[6] + $song[7]:$song[8]
$song[9] - $song[10] +END +; + if ( $song[11] eq "0\n" ) {print "Stereo"; } + elsif ( $song[11] eq "1\n" ) {print "Joint
Stereo"; } + elsif ( $song[11] eq "2\n" ) {print "Dual
Channel"; } + elsif ( $song[11] eq "3\n" ) {print "Single
Channel"; } + else {print ""; } + $lines++ + } +print ""; +&Header::closebox(); +} + +&Header::closebigbox(); +&Header::closepage(); diff --git a/html/cgi-bin/samba.cgi b/html/cgi-bin/samba.cgi index 69cb9fe258..6c52a84579 100644 --- a/html/cgi-bin/samba.cgi +++ b/html/cgi-bin/samba.cgi @@ -571,10 +571,14 @@ END @user = ; close(FILE); system('/usr/local/bin/sambactrl locksmbpasswd'); + + my $lines = 0; + foreach $userentry (sort @user) { @userline = split( /\:/, $userentry ); - print "$userline[0]"; + if ($lines % 2) {print "";} else {print "";} + print "$userline[0]"; if ($userline[4] =~ /N/) { print "$Lang::tr{'not set'}"; @@ -663,6 +667,7 @@ END END ; } + $lines++; } print < @@ -796,12 +801,14 @@ END ; my @Shares = keys(%shares); +my $lines = 0; foreach my $shareentry (sort @Shares) { chomp $shareentry; + if ($lines % 2) {print "";} else {print "";} print <$shareentry + $shareentry
@@ -814,6 +821,7 @@ foreach my $shareentry (sort @Shares)
END ; + $lines++; } print <Px#1ZP1_K>z@;j|==^1poj5AY({UO#lFTCIA3{ga82g0001h=l}q9FaQARU;qF* zm;eA5aGbhPJOBUy7<5HgbW?9;ba!ELWdKlNX>N2bPDNB8b~7$8H}%bdZ~y=T3Q0sk zR5(wSlRrotK@`R}>gg3iQb;gpXDOt(okRjcK!iXLg*(^T+dIP%c1KGs0s$LE5CyAL zY9VsBD{8txiUbs~P$3CHEmEgQf|aKd6i-~gH#e)}zrx~U-u(G~^JeCa5r(00A2H8= zq_4lzoU&6)2obvu2VfR@AB|rE48sVOI8P>e?CxSNmy6#5XaryvYNoj|;F>wx>+D-R zbtVC7j)_9wGcRbTKFn{SZ%~zioerUrleLRZhL4kZ1zeuCPIW-S&9}ku+Z0O=6=WU# zq`_^g^aqA5D4pSF8)%Q9OmA8OOwaFcas5Wh6!8o+q5z`+Oi%`;6BtOg(-R(7RLGNM z-#8M$gg=CZAEn6+UNbNFssLRWUzUKMFzhJ6c03;b(vCp8W8of#9+;x=B#O~CKt%~y z!|b{O{Gj91)?VC!G93`$X@CAPO#2k0t%nXI;4?(XRT3Qtw|CjhzFB WMdrhj6x|a500005 zlg~?3Q51l`bLY)4l3F0T>JKOcNu8G(En2v##EqsSQya-Q6RvELwP{hyD3|3JO@hzD zkW|_T{e%|5%oIVH*{UBPLA#lt=K0=f;fzc%E;?`*=YHJp+w~flY12|jE|2u_H-Y?vMc~%j+^QpbNAZ zQIzK977iY0MOCH!P$$u79U=mN2u;2)1t2O*g7lOHIUr^L-mksm!C=_}`1{x^wm|qrRww06e39#Ft9reZUxiLa{)h zSU^?rN*-Rx+YtyRj_7k$)bc~^Kwh^i#DLcZpja%jxw#3z=dWKVd8O+1TS|Ch`_A>G z!mBcg0Xa)mb#Zag7ZJ~hnO$C9O7!>j*H_kOXHH)O=t|w|0R|D%Rz}Bwn+9l5)%qX^ z>gV12Det#`eC5$fF$jXc9$DZAU7)Gl^vDm}afg8>;Gw80|HjbJ&{0gVx~Hz8DU-?k zs%Ez1wg7K|zHB;?ulW}i78YI-m=lpm#IJ#`0=Kj2L>|DZB`8Z??1HWU-z&)Px#1ZP1_K>z@;j|==^1poj5AY({UO#lFTCIA3{ga82g0001h=l}q9FaQARU;qF* zm;eA5aGbhPJOBUy7<5HgbW?9;ba!ELWdKlNX>N2bPDNB8b~7$8H}%bdZ~y=SQ%OWY zR5(v#{Qv(y14RI205%*P5p0r{md1)p9wv^d8R(qw@F1hGh>#Bn2?-p84FGBYc>;`q zt^sL|iH-Ug8Xo+QC)i;Sr&~p8_>pWM%yy z86E!bIFS7vh@)d8!3G$oF3B)YSt5hWD-0mpfAR4A|0N>wKO!pZ{|}H)fH)>D3T%K$ z+LCIM)FrF&8gL${;W7&g*nmqw_H`sLfNTdE@E$0{h|LhN3l0Hgj{z~rfU_X)AQ@ns zwpbEqz$d&0Yz4~hWM&2h-2W3m_8BAtOwyJXnxrk>gx3ozt*!nqurLQ3uoCJTSS*;N zEG{)pTcM280APIo0(#>QP{a4gsPGxU=={8blxPGRzz)P5K+FtEOrfEnHXuWYPDt3C v1~LR_z*nLY5-z_14Y4OLGvUacxGVwyGImDO5L zld(<|Q51&1bN9|L8oSn&W58bt~;z5s;KEG$FpHo?VgWn$nd%(h~)p;$w<*+6JW zNVM<~ln^?!*az4lk-5x07AR=g37~&_&-u=O@}DcJ%KymZJuIy*&D87l;GY0-T$wH) zhiRG??hT0J%5)G$A62z{TQh)NSzYb}k+t>=)ptP{y{gq}<*oNy*@syu%5geWQ^A^?amnhDL^6#%{- zeYu)=a&k-%1UTogLm>svb|$2;v zH!BVems+jXkG$sJ4n|b9ScOp>bfdr&L@0000@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCijSl0AZa85pY67#JE_7#My5g&JNkFq9fFFuY1&V6d9Oz#v{QXIG#NP=d3- zBeEE1(KQfeoRD8R2Pnv1;_2(kew9Ur+stye%6xaAkVJ`VL`iUdT1k0gQ7S_~VrE{6 zo}X)oLYc9if%(_7jRin8FFaiwLoEE06Be+pFf4t&{^F*e{v6k(t==BYviEqr^Hf}u z#1g*UjJLMMuS{ad)4%bLHPYb%>kg4C8Mo_}Ut!oFUbve34I!C@Yw821xthF(^i z#D-U`Ox)rpm6DHd%F#V7yJ3R;dIZrtKG+Le4Pa8 zK^snKJ^8P;`^0~C=g$Ys!e8E;yM1ctMpZYt9FMkHCv#`~cb-xrzG!)2$@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b zKpodXn9)gNb_Gz7y~NYkmHjG<47Zu(Zk74&3=E70o-U3d7N?UF76=$53G1vieVd-} zE6TycSXlUYoY)(qc`nN*((jQ?Z!Ob6)4A5{EDyh0~is8d5}~ zJd8H~>HPcg@9xPBAL`55+WzzG|5wwNeL(&Ep#ujFeE4~Jxs|EzHXdQ)P`0|bQntFh z)V6B>>qZ@&#YO^?(i0OB5++PYJh5T>_Ou`0-}5sY8(SZ~tDY^PH@E)p|Ff_EM}IuI zzv|!>27mVNa`Vz3JV;1<@VxqT!RKGmZRPp@<7{f*IE&l;+^l~8UAy|EBR*SiD<$b@ zfn2_Q{r{LPiC6DdJZW&AK0SQOiWxU5zgRBac!GgpZ)xYxd`+);z~E%?boFyt=akR{ E0K%rMX8-^I literal 0 Hc-jL100001 diff --git a/html/html/images/media-playback-pause.png b/html/html/images/media-playback-pause.png new file mode 100644 index 0000000000000000000000000000000000000000..c8b4fe2251f885e2362b7ef36b85d6c3a178f7c8 GIT binary patch literal 464 zc-jHb0WbcEP)fkXfR0bNN% zK~y-)&5}!Q6hRDzzbd<#?kMWj*ortnatw&zNJwy`D9RZCg*!wL5UgjGNHA&oVHW+! z028qUFG{7aT)%!l;9p1DyPy6&J1w6g;v*0`zpdA6&YwMbzc2ds_4Qc{Lq320^k$!5 zzj=4I*=`dMd4^_&s>bET6_*!RsOsQmtPgN=Ura3y+#M02?|VLd`GAOE?sQ$Z@Y~Nf zBRBg~z|0U4c6Z+?v_MoabGo)gM7V2qh$y0hKP1q!JDR3JR1gu|*FYL}%{SWi2j!|- zoXv6H10NkUZ9^gMh7Gi5vrqV;>BD-9GXJBeDwkV$vM~cQN1dU zzy8jT>#CjwmhIYXH>X4*rDN*a%Jzqz;k7x5ETI&B|H7dZO>0000H0h#)QuLQNI1SZtsXO8U^GGfgrxxh}+}VkxnAb?)YabMHAocX%9NxLrB| zzyY8MfO-Y6yO;d<*y~_0mS+_>8utCg%c)OS>fRtAV|%-`d2TEk2V8nL~zb!m)|pEA$SF2->jn-2hWj=^AH zPL5B%P2Stz^{Pr7#{fi4VAUxi)#JB!S3FMcd3k;2Es0696z@F%)>@ou3v24+*vND076Ixy33;9q2pAv`@ZPsg6f3A(Qi1k* zFkavM@*Aa-5I$9)h)6g*I{0=DB#I*EIzT(hNs`o~9IE3`*}+soD!;iA7_JPj`4{UQ XDQtDP+C_)X00000NkvXXu0mjf5}&Iv literal 0 Hc-jL100001 diff --git a/html/html/images/media-resume.png b/html/html/images/media-resume.png new file mode 100644 index 0000000000000000000000000000000000000000..624310db415129ba971f2cf1a3f10ea2c51166f9 GIT binary patch literal 667 zc-jG*0%ZM(P)Px#1ZP1_K>z@;j|==^1poj5AY({UO#lFTCIA3{ga82g0001h=l}q9FaQARU;qF* zm;eA5aGbhPJOBUy8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H10rW{k zK~y+TWBmXBKLbSoWB?HJzkK;p@ywYs%InsxQ>gwuDlGBoY{{Hj(|LnOle?~-yUsP39wFMd? z0>mH}!@YykfE1ts|Ni~^4>IK1^=p4)<6}PCJKAOd4Uhw3R+u5UU67gxHsIBp7yrNi z`2PRf_iz7e8)|+8g#@k=6cp438o~#TL0n!)N=bkl@bdNZ|DV5n`v2$8pZ|OI?D`!U z9sW>OR@MaM608Q)*VmgM8}Q=Qv;UtyfBgUF@1OrCPo4M^9TWaqMn=XAXaE~d0}_+t z;V$^{_4EIqzkdGj?(O;!79PA87_Ejt&EPbG(}0AeI7lG={`LRC!w3HoQ{un5dO6ns zH7WoxJKjKSXlO728SwY--~SsoZTJ}#8~(`1NZ%8vQH-c)1Q`$+9r35Ky5f6eOvD-; z9UU!ZW@a8-2??H*Bcj6ofKp;tSC>wFLd>b~@X%a)dwUsqd3hFmNf{IlLRYR_(cZgv zukPZ-i?yatpDtciRV5o27bi$eX2O}%2x$h%0|1>3SFwyj99jSX002ovPDHLkV1k$J BAyohX literal 0 Hc-jL100001 diff --git a/html/html/images/media-skip-forward.png b/html/html/images/media-skip-forward.png new file mode 100644 index 0000000000000000000000000000000000000000..758ec6f1b14f2dbcc92cdb13de57c59ce92175e6 GIT binary patch literal 771 zc-jF21N{7nP)=MI^)2*h*-#hC`$v=FNQAc%05uTADme$0$B-ud#L7LFp;GJ4>J!^3$Gzw`0}|9~0* z%06cRF#qEJfB>+nX9qwUKoLM~^$`gmUoB_P-CZ=d+e9Q1>0Ve^98RTDX+=?1TrO83 z9B%JkT>Lze&161-z;GOALrRHLr%x{JG$#_10Yz{NhRH4lL(Pe3G;+@C^>SU;1I(c3 zTY^U?LT$k=kH=eYS%F%?w*x$T`Wyhj{Q?TN1XNX3U%hL;!Lqr^zV&tSppjO`=L_}ilXAdK+Lngw&w1>eyu;B%Tp;O`uh57 zve~S+x3}lUp~LlO6%YV`X`0}E4$Tq*g|ZC*$mepP1|<(;k37@UQ@c)cspL-o-2<6y zx~8-9@@@iQ320mhtgI$M2(X@61!D#vCG3I?LV&f*Dj21Zjzlt*l#DR|0Amb-b10m1 z7;XcKq9Py;LU&Qb<4^3F*=f1s4Ccnj%n}GA1U* zieJBf+4TA9x=ho3zg#J^kMr;Cw{x?_>_+}^u%&fic5Z5Edj(Q&mQ(6CH^0tm@$Ia?e6Zr$$L-UA^(Y}>A`C)os$GYqy>EEaqK zC;&%-q#30p0I+S_+8N?5QcACslI(L-N=flQ_zm52>_i|8P1XPa002ovPDHLkV1goq BQIP-u literal 0 Hc-jL100001 diff --git a/langs/de/cgi-bin/de.pl b/langs/de/cgi-bin/de.pl index 28053446e9..acd51cf438 100644 --- a/langs/de/cgi-bin/de.pl +++ b/langs/de/cgi-bin/de.pl @@ -17,6 +17,7 @@ 'ConnSched time' => 'Zeit:', 'ConnSched up' => 'Hoch', 'ConnSched weekdays' => 'Wochentage:', +'Existing Files' => 'Dateien in der Datenbank', 'HDD temperature' => 'HDD-Temperatur', 'Local VPN IP' => 'Internes Netzwerk (GREEN)', 'MTU' => 'MTU Size', @@ -27,6 +28,8 @@ 'Remote IP' => 'Entfernte IP / Hostname (DynDNS)', 'Remote VPN IP' => 'VPN Subnetz (z.B. 10.0.10.0/255.255.255.0)', 'Resolv' => 'Resolv-Retry', +'Scan for Files' => 'Nach Dateien suchen', +'Scan from Directory' => 'Scan Verzeichnis', 'Verbose' => 'Verbose', 'WakeOnLan' => 'Wake On LAN', 'a ca certificate with this name already exists' => 'Ein CA-Zertifikat mit diesem Namen existiert bereits.', @@ -283,6 +286,7 @@ 'advproxy web browser' => 'Web-Browser', 'advproxy wednesday' => 'Mit', 'again' => 'Wiederholung:', +'album' => 'Album', 'alcatelusb help' => 'Um das Speedtouch USB Modem zu verwenden, müssen Sie die Firmware in Ihre IPFire Box hochladen. Bitte laden sie das Embedded Firmware Paket von speedtouch.com herunter, entpacken es und laden dann die passende Datei für Ihr Modem hoch: KQD6_3.xxx für Revisionsnummern <4 oder ZZZL_3.xxx für Rev.=4 mittels des unten angegebenen Formulars.', 'alcatelusb upload' => 'Speedtouch USB Firmware hochladen', 'alias ip' => 'Alias-IP-Adresse', @@ -308,6 +312,7 @@ 'archive not exist' => 'Konfigurationsarchiv existiert nicht', 'are you sure' => 'Sind Sie sicher?', 'arp table entries' => 'Einträge der ARP-Tabelle:', +'artist' => 'Künstler', 'attemps' => 'Versuche', 'august' => 'August', 'authentication' => 'Authentifizierung:', @@ -339,6 +344,7 @@ 'basic options' => 'Basisoptionen', 'beep when ppp connects or disconnects' => 'Piepen, wenn IPFire verbindet oder trennt', 'behind a proxy' => 'Hinter einem Proxy:', +'bitrate' => 'Bitrate', 'bleeding rules' => 'Bleeding Edge Snort Rules', 'blue' => 'BLAU', 'blue access' => 'Zugriff auf Blau', @@ -503,6 +509,7 @@ 'deactivate user' => 'Benutzer deaktivieren', 'debugme' => 'Noch nicht implementiert', 'december' => 'Dezember', +'deep scan directories' => 'rekursiv scannen', 'def lease time' => 'Standardzeit für Zuordnung', 'default lease time' => 'Haltezeit-Voreinstellung in min:', 'default networks' => 'Standard Netzwerke', @@ -700,6 +707,7 @@ 'free' => 'Frei', 'free memory' => 'Freier Speicher ', 'free swap' => 'Freier Swap', +'frequency' => 'Frequenz', 'friday' => 'Freitag', 'fritzdsl help' => 'Um eines der folgenden Fritz!DSL Modems (Fritz!Card DSL=fcdsl / Fritz!CardDSL SL=fcdslsl / Fritz!Card DSL V2.0=fcdsl2 / Fritz!Card DSL USB=fcdslusb / Fritz!Card DSL USB SL=fcdslslusb) nutzen zu können, müssen Sie ein Paket auf Ihre IPFire-Box laden. Bitte laden Sie den tarball entsprechend Ihrer Version von der IPFire-Webseite herunter und laden Sie dann die gesamte fcdsl-(ihre_version).tgz mit dem folgenden Formular hoch.', 'fritzdsl upload' => 'Fritz!DSL-Treiber hochladen', @@ -721,6 +729,7 @@ 'generatereport' => 'Neuen Report erstellen', 'generating the root and host certificates may take a long time. it can take up to several minutes on older hardware. please be patient' => 'Die Erzeugung der Root und Host Zertifikate kann lange Zeit dauern. Auf älterer Hardware kann es mehrere Minuten lang dauern. Bitte haben Sie etwas Geduld.', 'genkey' => 'PSK erzeugen', +'genre' => 'Genre', 'global settings' => 'Globale Einstellungen', 'graph' => 'Diagramm', 'graph per' => 'Diagramm pro', @@ -902,6 +911,7 @@ 'lateprompting' => 'Late prompting', 'lease expires' => 'Zuordnung verfällt', 'legend' => 'Legende', +'length' => 'Länge', 'line' => 'Leitung', 'linkq' => 'Verbindungsqualität', 'load printer' => 'Load Printer', @@ -991,6 +1001,7 @@ 'misc-options' => 'Sonstige Optionen', 'missing dat' => 'Verschlüsseltes Archiv wurde nicht gefunden', 'missing gz' => 'Nichtverschlüsseltes Archiv wurde nicht gefunden', +'mode' => 'Modus', 'modem' => 'Modem', 'modem configuration' => 'Modem-Konfiguration', 'modem on com1' => 'Modem an COM1', @@ -1013,6 +1024,10 @@ 'more' => 'weitere', 'mount' => 'Einbinden', 'mounted on' => 'Mounted auf', +'mpfire' => 'Media Player für IPFire', +'mpfire controls' => 'MPFire Steuerung', +'mpfire scanning' => 'Nach neuen Dateien suchen', +'mpfire songs' => 'MPFire Songliste', 'my new share' => 'Meine neue Freigabe', 'name' => 'Name', 'name is invalid' => 'Name ist ungültig', @@ -1047,6 +1062,7 @@ 'new optionsfw later' => 'Ihre Modifikation(en) wird (werden) beim nächsten Neustart aktiv werden', 'new optionsfw must boot' => 'Sie müssen Ihren IPFire neu starten', 'newer' => 'Neuer', +'next' => 'Nächster', 'no' => 'Nein', 'no alcatelusb firmware' => 'Keine Alcatel USB ADSL-Firmware vorhanden. Bitte hochladen.', 'no cfg upload' => 'Keine Daten wurden hochgeladen', @@ -1077,8 +1093,10 @@ 'o-no' => 'Inaktiv', 'o-yes' => 'Aktiv', 'october' => 'Oktober', +'off' => 'off', 'ok' => 'OK', 'older' => 'Älter', +'on' => 'on', 'online help en' => 'Online-Hilfe (auf Deutsch)', 'only digits allowed in holdoff field' => 'Im Holdoff-Feld sind nur Ziffern erlaubt', 'only digits allowed in max retries field' => 'Im Feld "Maximale Wiederholversuche" sind nur Ziffern erlaubt.', @@ -1150,6 +1168,7 @@ 'passwords do not match' => 'Die Passwörter stimmen nicht überein.', 'passwords must be at least 6 characters in length' => 'Passwörter müssen mind. 6 Zeichen lang sein', 'path to directory' => 'Pfad zur Freigabe', +'pause' => 'Pause', 'pc' => 'PC', 'pc add' => 'PC hinzufügen', 'pdc options' => 'PDC Optionen', @@ -1160,6 +1179,7 @@ 'phonebook entry' => 'Telefonbuch-Eintrag:', 'ping disabled' => 'Ping Antwort deaktivieren', 'pkcs12 file password' => 'PKCS12 Datei-Passwort', +'play' => 'Play', 'polfile' => 'Polfile', 'port' => 'Port', 'port forwarding configuration' => 'Konfiguration der Port-Weiterleitung', @@ -1248,6 +1268,7 @@ 'restore defaults' => 'Voreinstellungen wiederherstellen', 'restore hardware settings' => 'Hardware-Einstellungen wiederherstellen', 'restore settings' => 'Einstellungen wiederherstellen', +'resume' => 'Resume', 'reverse sort' => 'In umgekehrter chronologischer Reihenfolge sortieren', 'root' => 'Root', 'root certificate' => 'Root-Zertifikat', @@ -1389,6 +1410,7 @@ 'status' => 'Status', 'status information' => 'Statusinformationen', 'status ovpn' => 'OpenVPN', +'stop' => 'Stop', 'stop ovpn server' => 'Stoppe OpenVPN Server', 'stopped' => 'ANGEHALTEN', 'subject' => 'Betreff', @@ -1779,6 +1801,10 @@ 'virtual address' => 'Virtuelle Addresse', 'virtual private networking' => 'Virtuelles Privates Netzwerk', 'visible in browselist' => 'Sichtbar in der Verzeichnisliste', +'voldown10' => 'Laustärke um 10 verringern', +'voldown5' => 'Laustärke um 5 verringern', +'volup10' => 'Laustärke um 10 erhöhen', +'volup5' => 'Laustärke um 5 erhöhen', 'vpi number' => 'VPI-Nummer:', 'vpn' => 'VPN', 'vpn aggrmode' => 'IKE Aggressive Mode zugelassen. Wenn möglich, vermeiden (preshared Schlüssel wird im Klartext übertragen)!', diff --git a/langs/en/cgi-bin/en.pl b/langs/en/cgi-bin/en.pl index 0a42dcff93..ac299b79f3 100644 --- a/langs/en/cgi-bin/en.pl +++ b/langs/en/cgi-bin/en.pl @@ -17,6 +17,7 @@ 'ConnSched time' => 'Time:', 'ConnSched up' => 'Up', 'ConnSched weekdays' => 'Days of the week:', +'Existing Files' => 'Files in database', 'HDD temperature' => 'HDD temperature', 'Local VPN IP' => 'Internal Network (GREEN):', 'MTU' => 'MTU Size:', @@ -27,6 +28,8 @@ 'Remote IP' => 'Remote IP / Hostname (DynDNS):', 'Remote VPN IP' => 'VPN Subnet (e.g. 10.0.10.0/255.255.255.0):', 'Resolv' => 'Resolv-Retry:', +'Scan for Files' => 'Scan for files', +'Scan from Directory' => 'Scan from directory', 'Verbose' => 'Verbose:', 'WakeOnLan' => 'Wake On LAN', 'a ca certificate with this name already exists' => 'A CA Certificate with this name already exists.', @@ -284,6 +287,7 @@ 'advproxy web browser' => 'Web browser', 'advproxy wednesday' => 'Wed', 'again' => 'Again:', +'album' => 'Album', 'alcatelusb help' => 'To utilise the Speedtouch 330 or Speedtouch USB modem you must upload the firmware to your IPFire box. Please download the Embedded Firmware package for SpeedTouch 330 from speedtouch.com, unzip and then upload the appropriate file for your modem : KQD6_3.xxx when Rev<4 or ZZZL_3.xxx for Rev=4 using the form below.', 'alcatelusb upload' => 'Upload Speedtouch USB Firmware', 'alias ip' => 'Alias IP', @@ -310,6 +314,7 @@ 'archive not exist' => 'Configuration archive does not exist', 'are you sure' => 'Are you sure?', 'arp table entries' => 'ARP Table Entries:', +'artist' => 'Artist', 'attemps' => 'Attempts', 'august' => 'August', 'authentication' => 'Authentication:', @@ -356,6 +361,7 @@ 'behind a proxy' => 'Behind a proxy:', 'bewan adsl pci st' => 'TO BE REMOVED', 'bewan adsl usb' => 'TO BE REMOVED', +'bitrate' => 'Bitrate', 'bleeding rules' => 'Bleeding Edge Snort Rules', 'blue' => 'BLUE', 'blue access' => 'Blue Access', @@ -516,6 +522,7 @@ 'deactivate user' => 'deactivate user', 'debugme' => 'Not yet implemented', 'december' => 'December', +'deep scan directories' => 'Scan recursive', 'def lease time' => 'Default Lease Time', 'default lease time' => 'Default lease time (mins):', 'default networks' => 'Default networks', @@ -709,6 +716,7 @@ 'free' => 'Free', 'free memory' => 'Free Memory ', 'free swap' => 'Free Swap', +'frequency' => 'Frequency', 'friday' => 'Friday', 'fritzdsl help' => 'To utilise one of Fritz!DSL fcdsl / fcdslsl / fcdsl2 / fcdslusb / fcdslslusb modem, you must upload a package to your IPFire box. Please download the tarball corresponding to your version from the IPFire Website and then upload the entire fcdsl-(your_version).tgz using the form below.', 'fritzdsl upload' => 'Upload Fritz!DSL Driver', @@ -732,6 +740,7 @@ 'generatereport' => 'Generate new Report', 'generating the root and host certificates may take a long time. it can take up to several minutes on older hardware. please be patient' => 'Generating the root and host certificates may take a long time. It can take up to several minutes on older hardware. Please be patient.', 'genkey' => 'Generate PSK', +'genre' => 'Genre', 'global settings' => 'Global settings', 'graph' => 'Graph', 'graph per' => 'Graph per', @@ -914,6 +923,7 @@ 'lateprompting' => 'Lateprompting', 'lease expires' => 'Lease expires', 'legend' => 'Legend', +'length' => 'Length', 'line' => 'Line', 'linkq' => 'Link Quality', 'load printer' => 'Load Printer', @@ -1003,6 +1013,7 @@ 'misc-options' => 'Miscellaneous options', 'missing dat' => 'Encrypted archive not found', 'missing gz' => 'Unencrypted archive not found', +'mode' => 'Mode', 'modem' => 'Modem', 'modem configuration' => 'Modem configuration', 'modem on com1' => 'Modem on COM1', @@ -1025,6 +1036,10 @@ 'more' => 'more', 'mount' => 'Mount', 'mounted on' => 'Mounted on', +'mpfire' => 'Media Player for IPFire', +'mpfire controls' => 'MPFire Control', +'mpfire scanning' => 'Scan for new files', +'mpfire songs' => 'MPFire songlist', 'my new share' => 'My new share', 'name' => 'Name', 'name is invalid' => 'Name is invalid', @@ -1059,6 +1074,7 @@ 'new optionsfw later' => 'Your modification(s) will be active on next restart', 'new optionsfw must boot' => 'You must reboot your IPFire', 'newer' => 'Newer', +'next' => 'next', 'no' => 'No', 'no alcatelusb firmware' => 'No Alcatel USB firmware. Please upload.', 'no cfg upload' => 'No data was uploaded', @@ -1090,8 +1106,10 @@ 'o-no' => 'Inactiv', 'o-yes' => 'Activ', 'october' => 'October', +'off' => 'off', 'ok' => 'OK', 'older' => 'Older', +'on' => 'on', 'online help en' => 'Online Help (in English)', 'only digits allowed in holdoff field' => 'Only digits allowed in holdoff field', 'only digits allowed in max retries field' => 'Only digits allowed in max retries field.', @@ -1161,6 +1179,7 @@ 'passwords do not match' => 'Passwords do not match.', 'passwords must be at least 6 characters in length' => 'Passwords must be at least 6 characters in length', 'path to directory' => 'path to share', +'pause' => 'pause', 'pc' => 'Workstatipon', 'pc add' => 'add workstation', 'pdc options' => 'PDC Options', @@ -1171,6 +1190,7 @@ 'phonebook entry' => 'Phonebook entry:', 'ping disabled' => 'Disable ping response', 'pkcs12 file password' => 'PKCS12 File Password', +'play' => 'play', 'polfile' => 'Polfile', 'port' => 'Port', 'port forwarding configuration' => 'Port forwarding configuration', @@ -1257,6 +1277,7 @@ 'restore defaults' => 'Restore defaults', 'restore hardware settings' => 'Restore hardware settings', 'restore settings' => 'Reset Settings', +'resume' => 'resume', 'reverse sort' => 'Sort in reverse chronological order', 'root' => 'Root', 'root certificate' => 'Root Certificate', @@ -1396,6 +1417,7 @@ 'status' => 'Status', 'status information' => 'Status information', 'status ovpn' => '4. OpenVPN Status / Configuration:', +'stop' => 'stop', 'stop ovpn server' => 'Stop OpenVPN Server', 'stopped' => 'STOPPED', 'subject' => 'Subject', @@ -1784,6 +1806,10 @@ 'virtual address' => 'Virtual Address', 'virtual private networking' => 'Virtual Private Networking', 'visible in browselist' => 'visible in browselist', +'voldown10' => 'Decrease Volume by 10', +'voldown5' => 'Decrease Volume by 5', +'volup10' => 'Increase Volume by 10', +'volup5' => 'Increase Volume by 5', 'vpi number' => 'VPI Number:', 'vpn' => 'VPN', 'vpn aggrmode' => 'IKE aggressive mode allowed. Avoid if possible (preshared key is transmitted in clear text)!', diff --git a/lfs/mpfire b/lfs/mpfire new file mode 100644 index 0000000000..fb04dbb005 --- /dev/null +++ b/lfs/mpfire @@ -0,0 +1,69 @@ +############################################################################### +# This file is part of the IPCop Firewall. # +# # +# IPCop is free software; you can redistribute it and/or modify # +# it under the terms of the GNU General Public License as published by # +# the Free Software Foundation; either version 2 of the License, or # +# (at your option) any later version. # +# # +# IPCop is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# GNU General Public License for more details. # +# # +# You should have received a copy of the GNU General Public License # +# along with IPCop; if not, write to the Free Software # +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # +# # +# Makefiles are based on LFSMake, which is # +# Copyright (C) 2002 Rod Roard # +# # +############################################################################### + +############################################################################### +# Definitions +############################################################################### + +include Config + +VER = ipfire + +THISAPP = mpfire-$(VER) +DIR_APP = $(DIR_SRC)/$(THISAPP) +TARGET = $(DIR_INFO)/$(THISAPP) +PROG = mpfire +PAK_VER = 1 + +DESCDE = "MPFire ist ein CGI Multimediaplayer auf Basis von mpg123." +DESCEN = "MPFire is a mpg123 based CGI Multimedia-Player." +DEPS = "mpg123" + +############################################################################### +# Top-level Rules +############################################################################### + +objects = + +install : $(TARGET) + +check : + +download : + +md5 : + +dist: + @$(PAK) + +############################################################################### +# Installation Details +############################################################################### + +$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) + @$(PREBUILD) + -mkdir -p /var/ipfire/mpfire/{bin,db} + touch /var/ipfire/mpfire/{settings,playlist} + touch /var/ipfire/mpfire/db/songs.db + chown nobody.nobody /var/ipfire/mpfire/{settings,playlist} + install -v -m 755 $(DIR_SRC)/config/mpfire/mpfire.pl /var/ipfire/mpfire/bin + @$(POSTBUILD) diff --git a/make.sh b/make.sh index e73e676479..3886b58fe7 100755 --- a/make.sh +++ b/make.sh @@ -503,6 +503,7 @@ buildipfire() { # ipfiremake bristuff ipfiremake asterisk ipfiremake mpg123 + ipfiremake mpfire ipfiremake libmad ipfiremake libogg ipfiremake libvorbis diff --git a/src/scripts/makegraphs b/src/scripts/makegraphs index ed3bbeac25..4e22159457 100644 --- a/src/scripts/makegraphs +++ b/src/scripts/makegraphs @@ -379,11 +379,22 @@ sub updatelq { my $LQ_GATEWAY=`cat /var/ipfire/red/remote-ipaddress`; chomp($LQ_GATEWAY); my $NUMPINGS=5; - my $pingoutput = `ping -c $NUMPINGS -q $LQ_GATEWAY`; - chomp; + my $pingoutput = `/usr/bin/ping -w 10 -c $NUMPINGS -q $LQ_GATEWAY | tail -2`; my @temp = split (/\/|\%|\s/, $pingoutput); - $packetloss = $temp[17]; - $roundtrip = $temp[28]; + $packetloss = $temp[5]; + $roundtrip = $temp[17]; + + print "Paketlos->".$packetloss."<-Roundtrip->".$roundtrip."<-\n"; + + if ( $packetloss eq "100" ){ + my $pingoutput = `/usr/bin/ping -w 10 -c $NUMPINGS -q ping.ipfire.org | tail -2`; + my @temp = split (/\/|\%|\s/, $pingoutput); + $packetloss = $temp[5]; + $roundtrip = $temp[17]; + + print "Paketlos->".$packetloss."<-Roundtrip->".$roundtrip."<-\n"; + } + RRDs::update ("$rrdlog/lq.rrd", "N:$packetloss:$roundtrip"); $ERROR = RRDs::error; print "Error in RRD::update for line quality: $ERROR\n" if $ERROR; -- 2.39.2