+
+if ( $mpfiresettings{'PAGE'} eq "" ){$mpfiresettings{'PAGE'} = "1";}
+
+&Header::getcgihash(\%mpfiresettings);
+&Header::openpage($Lang::tr{'mpfire'}, 1,);
+&Header::openbigbox('100%', 'left', '', $errormessage);
+
+############################################################################################################################
+######################################## Scanne Verzeichnisse nach Mp3 Dateien #############################################
+
+if ( $mpfiresettings{'ACTION'} eq "scan" ){
+
+# on keypress scan the given directory and store the path to the mpd config
+ &General::readhash("${General::swroot}/mpfire/settings", \%mpfiresettings);
+ &Header::getcgihash(\%mpfiresettings);
+ delete $mpfiresettings{'__CGI__'};delete $mpfiresettings{'x'};delete $mpfiresettings{'y'};
+ &General::writehash("${General::swroot}/mpfire/settings", \%mpfiresettings);
+
+ open(DATEI, "<${General::swroot}/mpfire/mpd.conf") || die "Datei nicht gefunden";
+ my @Zeilen = <DATEI>;
+ close(DATEI);
+
+ open(DATEI, ">${General::swroot}/mpfire/mpd.conf") || die "Datei nicht gefunden";
+ foreach (@Zeilen){
+ if ( $_ =~ /music_directory/){
+ print DATEI "music_directory \"".$mpfiresettings{'MUSICDIR'}."\"\n";
+ }else {
+ print DATEI $_;
+ }
+ }
+ close(DATEI);
+
+ $mpd->updatedb();
+ refreshpage();
+}elsif ( $mpfiresettings{'ACTION'} eq "playweb" ){
+ $message=system("/usr/local/bin/mpfirectrl","playweb","\"$mpfiresettings{'FILE'}\"","2>/dev/null");
+}elsif ( $mpfiresettings{'ACTION'} eq "playlist" ){
+# on keypress play the playlist
+ $message=system("/usr/local/bin/mpfirectrl playlist 2>/dev/null");
+}elsif ( $mpfiresettings{'ACTION'} eq "emptyplaylist" ){
+# on keypress clear the playlist
+ $mpd->playlist->clear();
+}elsif ( $mpfiresettings{'ACTION'} eq "addtoplaylist" ){
+ $mpd->playlist->add($mpfiresettings{'FILE'});
+}elsif ( $mpfiresettings{'ACTION'} eq "playalbum" ){
+# on keypress play the selected albums
+ my @select = split(/\|/,$mpfiresettings{'album'});
+ $mpd->playlist->clear();
+ foreach (@select){
+ foreach ($mpd->collection->filenames_by_album($_)){
+ if ( $_ ne "" ){
+ $mpd->playlist->add($_);
+ }
+ }
+ }
+ $mpd->play();
+}elsif ( $mpfiresettings{'ACTION'} eq "playartist" ){
+# on keypress play the selected artist
+ my @select = split(/\|/,$mpfiresettings{'artist'});
+ $mpd->playlist->clear();
+ foreach (@select){
+ foreach ($mpd->collection->filenames_by_artist($_)){
+ if ( $_ ne "" ){
+ $mpd->playlist->add($_);
+ }
+ }
+ }
+ $mpd->play();
+}elsif ( $mpfiresettings{'ACTION'} eq "playyear" ){
+# on keypress play the selected year
+ my @select = split(/\|/,$mpfiresettings{'year'});
+ $mpd->playlist->clear();
+ foreach (@select){
+ foreach ($mpd->collection->filenames_by_year($_)){
+ if ( $_ ne "" ){
+ $mpd->playlist->add($_);
+ }
+ }
+ }
+ $mpd->play();
+}elsif ( $mpfiresettings{'ACTION'} eq "playgenre" ){
+# on keypress play the selected genre
+ my @select = split(/\|/,$mpfiresettings{'genre'});
+ $mpd->playlist->clear();
+ foreach (@select){
+ foreach ($mpd->collection->filenames_by_genre($_)){
+ if ( $_ ne "" ){
+ $mpd->playlist->add($_);
+ }
+ }
+ }
+ $mpd->play();
+}elsif ( $mpfiresettings{'ACTION'} eq ">" ){
+ $mpd->playlist->clear();
+ $mpd->playlist->add($mpfiresettings{'FILE'});
+ $mpd->play();