WARNING: translation string unused: written sectors
WARNING: translation string unused: xtaccess bad transfert
WARNING: translation string unused: yearly firewallhits
-WARNING: untranslated string: OVPN
-WARNING: untranslated string: abort
-WARNING: untranslated string: aktiv
-WARNING: untranslated string: reload
-WARNING: untranslated string: upgrade
WARNING: translation string unused: weekly firewallhits
WARNING: translation string unused: written sectors
WARNING: translation string unused: yearly firewallhits
-WARNING: untranslated string: OVPN
-WARNING: untranslated string: abort
-WARNING: untranslated string: aktiv
-WARNING: untranslated string: reload
-WARNING: untranslated string: upgrade
print FILE "} #$itf\n";
system ('/usr/bin/touch', "${General::swroot}/dhcp/enable_${lc_itf}");
- system ('/usr/local/bin/dhcpctrl enable');
&General::log("DHCP on ${itf}: " . $Lang::tr{'dhcp server enabled'})
} else {
unlink "${General::swroot}/dhcp/enable_${lc_itf}";
- system ('/usr/local/bin/dhcpctrl disable');
&General::log("DHCP on ${itf}: " . $Lang::tr{'dhcp server disabled'})
}
}
}
}
close FILE;
+ if ( $dhcpsettings{"ENABLE_GREEN"} eq 'on' || $dhcpsettings{"ENABLE_BLUE"} eq 'on' ) {system '/usr/local/bin/dhcpctrl enable >/dev/null 2>&1';}
+ else {system '/usr/local/bin/dhcpctrl disable >/dev/null 2>&1';}
system '/usr/local/bin/dhcpctrl restart >/dev/null 2>&1';
}
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 ">" ){system("/usr/local/bin/mpfirectrl","play","\"$mpfiresettings{'FILE'}\""); print $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 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 "playlist" ){system("/usr/local/bin/mpfirectrl playall");}
+if ( $mpfiresettings{'ACTION'} eq "playalbum" )
+{
+my @temp = "";
+my @album = split(/\|/,$mpfiresettings{'album'});
+my %hash = map{ $_, 1 }@album;
+
+foreach (@songdb){
+ my @song = split(/\|/,$_);
+ chomp($song[0]);
+ push(@temp,$song[0]."\n") if exists $hash{$song[4]};
+ }
+open(DATEI, ">${General::swroot}/mpfire/playlist") || die "Could not add playlist";
+print DATEI @temp;
+close(DATEI);
+system("/usr/local/bin/mpfirectrl playall");
+}
+if ( $mpfiresettings{'ACTION'} eq "playartist" )
+{
+my @temp = "";
+my @artist = split(/\|/,$mpfiresettings{'artist'});
+my %hash = map{ $_, 1 }@artist;
+
+foreach (@songdb){
+ my @song = split(/\|/,$_);
+ chomp($song[0]);
+ push(@temp,$song[0]."\n") if exists $hash{$song[1]};
+ }
+open(DATEI, ">${General::swroot}/mpfire/playlist") || die "Could not add playlist";
+print DATEI @temp;
+close(DATEI);
+system("/usr/local/bin/mpfirectrl playall");
+}
if ( $mpfiresettings{'ACTION'} eq "playall" )
{
my @temp = "";
&Header::closebox();
&Header::openbox('100%', 'center', $Lang::tr{'mpfire controls'});
-print "<form method='post' action='$ENV{'SCRIPT_NAME'}'><table width='95%' cellspacing='0'><tr>";
+print "<table width='95%' cellspacing='0'><tr>";
print <<END
<td align='center'><form method='post' action='$ENV{'SCRIPT_NAME'}'><input type='hidden' name='ACTION' value='x' /><input type='image' alt='$Lang::tr{'stop'}' title='$Lang::tr{'stop'}' src='/images/media-playback-stop.png' /></form></td>
<td align='center'><form method='post' action='$ENV{'SCRIPT_NAME'}'><input type='hidden' name='ACTION' value='||' /><input type='image' alt='$Lang::tr{'pause'}' title='$Lang::tr{'pause'}' src='/images/media-playback-pause.png' /></form></td>
;
&Header::closebox();
+&Header::openbox('100%', 'center', $Lang::tr{'quick playlist'});
+
+my @artist;
+my @album;
+foreach (@songdb){
+ my @song = split(/\|/,$_);
+ push(@artist,$song[1]);push(@album,$song[4]);}
+ my %hash = map{ $_, 1 }@artist;
+ @artist = sort keys %hash;
+ my %hash = map{ $_, 1 }@album;
+ @album = sort keys %hash;
+print <<END
+ <table width='95%' cellspacing='0'>
+ <tr><td align='center'>
+ <form method='post' action='$ENV{'SCRIPT_NAME'}'>
+ <select name='artist' size='8' multiple='multiple'>
+END
+;
+ foreach (@artist){print "<option>$_</option>";}
+print <<END
+ </select><br/>
+ <input type='hidden' name='ACTION' value='playartist' />
+ <input type='image' alt='$Lang::tr{'play'}' title='$Lang::tr{'play'}' src='/images/media-playback-start.png' />
+ </form></td>
+ <td align='center'>
+ <form method='post' action='$ENV{'SCRIPT_NAME'}'>
+ <select name='album' size='8' multiple='multiple'>
+END
+;
+ foreach (@album){print "<option>$_</option>";}
+print <<END
+ </select><br/>
+ <input type='hidden' name='ACTION' value='playalbum' />
+ <input type='image' alt='$Lang::tr{'play'}' title='$Lang::tr{'play'}' src='/images/media-playback-start.png' />
+ </form></td>
+ </tr></table>
+END
+;
+&Header::closebox();
+
if ( $mpfiresettings{'SHOWLIST'} eq "on" ){
&Header::openbox('100%', 'center', $Lang::tr{'mpfire songs'});
print <<END
-<table width='95%' cellspacing=5'>
+<table width='95%' cellspacing='5'>
<tr bgcolor='$color{'color20'}'><td colspan='9' align='left'><b>$Lang::tr{'Existing Files'}</b></td></tr>
<tr><td align='center'></td>
<td align='center'><b>$Lang::tr{'artist'}<br/>$Lang::tr{'title'}</b></td>
if ($lines % 2) {print "<tr bgcolor='$color{'color20'}'>";} else {print "<tr bgcolor='$color{'color22'}'>";}
$song[0]=~s/\/\//\//g;
print <<END
- <td align='center' style="white-space:nowrap;"><form method='post' action='$ENV{'SCRIPT_NAME'}'><input type='hidden' name='ACTION' value='>' /><input type='hidden' name='FILE' value='$song[0]' /><input type='image' alt='$Lang::tr{'play'}' title='$Lang::tr{'play'}' src='/images/media-playback-start.png' /></form></td>
+ <td align='center' style="white-space:nowrap;"><form method='post' action='$ENV{'SCRIPT_NAME'}'><input type='hidden' name='ACTION' value='>' /><input type='hidden' name='FILE' value="$song[0]" /><input type='image' alt='$Lang::tr{'play'}' title='$Lang::tr{'play'}' src='/images/media-playback-start.png' /></form></td>
<td align='center'>$song[1]<br/>$song[2]</td>
<td align='center'>$song[3]</td>
<td align='center'>$song[4]</td>
&Header::closebox();
}
+&Header::openbox('100%', 'center', $Lang::tr{'mpfire playlist'});
+
+;
+
+open(DATEI, "<${General::swroot}/mpfire/playlist") || die "Could not open playlist";
+my @playlist = <DATEI>;
+close(DATEI);
+
+print <<END
+<table width='95%' cellspacing='0'>
+<tr bgcolor='$color{'color20'}'><td colspan='9' align='left'><b>$Lang::tr{'current playlist'}</b></td></tr>
+<tr><td align='center'><textarea cols='120' rows='10' name='playlist' style='font-size:10px' readonly='readonly' >@playlist</textarea><br/>
+ <form method='post' action='$ENV{'SCRIPT_NAME'}'>
+ <input type='hidden' name='ACTION' value='playlist' />
+ <input type='image' alt='$Lang::tr{'play'}' title='$Lang::tr{'play'}' src='/images/media-playback-start.png' />
+ </form></td></tr>
+</table>
+END
+;
+&Header::closebox();
+
&Header::closebigbox();
&Header::closepage();
'MTU' => 'MTU Size',
'Number of IPs for the pie chart' => 'Anzahl der angezeigten IPs im Diagramm',
'Number of Ports for the pie chart' => 'Anzahl der angezeigten Ports im Diagramm',
+'OVPN' => 'OpenVPN',
'OpenVPN' => 'OpenVPN',
'Ping' => 'Ping ',
'Remote IP' => 'Entfernte IP / Hostname (DynDNS)',
'a ca certificate with this name already exists' => 'Ein CA-Zertifikat mit diesem Namen existiert bereits.',
'a connection with this common name already exists' => 'Eine Verbindung mit diesem gemeinsamen Namen existiert bereits.',
'a connection with this name already exists' => 'Eine Verbindung mit diesem Namen existiert bereits.',
+'abort' => 'Abbrechen',
'access allowed' => 'Zugriff erlaubt von:',
'access refused with this oinkcode' => 'Zugriff mit diesem Oink Code verweigert',
'accounting' => 'Benutzerverwaltung',
'advproxy web browser' => 'Web-Browser',
'advproxy wednesday' => 'Mit',
'again' => 'Wiederholung:',
+'aktiv' => 'aktiv',
'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 <b>Embedded Firmware</b> 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',
'current hosts' => 'Aktuelle Hosts:',
'current media' => 'Aktuelles Medium',
'current ovpn' => 'Aktive OVPN-Verbindung',
+'current playlist' => 'Aktuelle Playlist',
'current profile' => 'Aktuelles Profil:',
'current rules' => 'Aktuelle Regeln:',
'custom networks' => 'Benutzerdefinierte Netzwerke',
'mounted on' => 'Mounted auf',
'mpfire' => 'Media Player für IPFire',
'mpfire controls' => 'MPFire Steuerung',
+'mpfire playlist' => 'MPFire Playlist',
'mpfire scanning' => 'Nach neuen Dateien suchen',
'mpfire songs' => 'MPFire Songliste',
'my new share' => 'Meine neue Freigabe',
'pulse' => 'Puls',
'pulse dial' => 'Pulswahl:',
'qos graphs' => 'Qos Diagramme',
+'quick playlist' => 'Quick Playlist',
'ram' => 'RAM-Speicher',
'read list' => 'Liste der Leseberechtigten',
'read sectors' => 'Sektoren lesen',
'refresh update list' => 'Aktualisiere Update-Liste',
'registered user rules' => 'Sourcefire VRT Regeln für registrierte Benutzer',
'released' => 'Freigegeben',
+'reload' => 'neu laden',
'remark' => 'Anmerkung',
'remark title' => 'Anmerkung:',
'remote access' => 'Fernwartung',
'updxlrtr week' => 'einer Woche',
'updxlrtr weekly' => 'wöchentlich',
'updxlrtr year' => 'einem Jahr',
+'upgrade' => 'upgrade',
'uplink speed' => 'Uplink-Geschwindigkeit (kBit/sek)',
'upload' => 'Hochladen',
'upload a certificate' => 'Ein Zertifikat hochladen:',
'MTU' => 'MTU Size:',
'Number of IPs for the pie chart' => 'Number of IPs for the pie chart',
'Number of Ports for the pie chart' => 'Number of ports for the pie chart',
+'OVPN' => 'OpenVPN',
'OpenVPN' => 'OpenVPN',
'Ping' => 'Ping :',
'Remote IP' => 'Remote IP / Hostname (DynDNS):',
'a ca certificate with this name already exists' => 'A CA Certificate with this name already exists.',
'a connection with this common name already exists' => 'A connection with this common name already exists.',
'a connection with this name already exists' => 'A connection with this name already exists.',
+'abort' => 'abort',
'access allowed' => 'Access allowed from:',
'access refused with this oinkcode' => 'Access refused with this Oink Code',
'accounting' => 'Accounting',
'advproxy web browser' => 'Web browser',
'advproxy wednesday' => 'Wed',
'again' => 'Again:',
+'aktiv' => 'active',
'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 <b>Embedded Firmware</b> 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',
'current hosts' => 'Current hosts:',
'current media' => 'Current media',
'current ovpn' => 'Active OVPN-Connection:',
+'current playlist' => 'Current Playlist',
'current profile' => 'Current profile:',
'current rules' => 'Current rules:',
'custom networks' => 'Custom networks',
'mounted on' => 'Mounted on',
'mpfire' => 'Media Player for IPFire',
'mpfire controls' => 'MPFire Control',
+'mpfire playlist' => 'MPFire Playlist',
'mpfire scanning' => 'Scan for new files',
'mpfire songs' => 'MPFire songlist',
'my new share' => 'My new share',
'pulse dial' => 'Pulse dial:',
'qos graphs' => 'Qos Graphs',
'quick control' => 'Quick Control',
+'quick playlist' => 'Quick Playlist',
'ram' => 'RAM',
'read list' => 'list with readonly hosts',
'read sectors' => 'Read Sectors',
'refresh update list' => 'Refresh update list',
'registered user rules' => 'Sourcefire VRT rules for registered users',
'released' => 'Released',
+'reload' => 'reload',
'remark' => 'Remark',
'remark title' => 'Remark:',
'remote access' => 'Remote access',
'updxlrtr week' => 'one week',
'updxlrtr weekly' => 'weekly',
'updxlrtr year' => 'one year',
+'upgrade' => 'upgrade',
'uplink speed' => 'Uplink speed (kbit/sec)',
'upload' => 'Upload',
'upload a certificate' => 'Upload a certificate:',