connected) { echo "" . _("Error Connecting") . ": " . $myMpd->errStr . "
\n"; log_event($_SESSION['userdata']['username'],' connection_failed ',"Error: Unable able to connect to MPD, " . $myMpd->errStr); } else { switch ($_REQUEST['action']) { case "add": if (!$user->has_access(25)) { break; } $song_ids = array(); $song_ids[0] = $_REQUEST[song_id]; addToPlaylist( $myMpd, $song_ids ); break; case "rem": if (!$user->has_access(25)) { break; } if ( is_null($myMpd->PLRemove($_REQUEST[id])) ) echo "ERROR: " .$myMpd->errStr."\n"; mpd_redirect(); break; case ' > ': case "play": if (!$user->has_access(25)) { break; } if ( is_null($myMpd->Play()) ) echo "ERROR: " .$myMpd->errStr."\n"; mpd_redirect(); break; case "stop": case ' X ': if (!$user->has_access(25)) { break; } if ( is_null($myMpd->Stop()) ) echo "ERROR: " .$myMpd->errStr."\n"; mpd_redirect(); break; case ' = ': case "pause": if (!$user->has_access(25)) { break; } if ( is_null($myMpd->Pause()) ) echo "ERROR: " .$myMpd->errStr."\n"; mpd_redirect(); break; case '|< ': case "Prev": if (!$user->has_access(25)) { break; } if ( is_null($myMpd->Previous()) ) echo "ERROR: " . $myMpd->errStr."\n"; mpd_redirect(); break; case ' >|'; case "Next": if (!$user->has_access(25)) { break; } if ( is_null($myMpd->Next()) ) echo "ERROR: " . $myMpd->errStr."\n"; mpd_redirect(); break; case "shuffle": if (!$user->has_access(25)) { break; } if ( is_null($myMpd->PLShuffle()) ) echo "ERROR: " .$myMpd->errStr."\n"; mpd_redirect(); break; case "clear": if (!$user->has_access(25)) { break; } if ( is_null($myMpd->PLClear()) ) echo "ERROR: " .$myMpd->errStr."\n"; mpd_redirect(); break; case "loop": if (!$user->has_access(25)) { break; } if ($_REQUEST['val'] == "On") { $_REQUEST['val'] = '1'; } else { $_REQUEST['val'] = '0'; } if ( is_null($myMpd->SetRepeat($_REQUEST['val'])) ) echo "ERROR: " .$myMpd->errStr."\n"; mpd_redirect(); break; case "random": if (!$user->has_access(25)) { break; } if ($_REQUEST['val'] == "On") { $_REQUEST['val'] = '1'; } else { $_REQUEST['val'] = '0'; } if ( is_null($myMpd->SetRandom($_REQUEST['val']))) echo "ERROR: " .$myMpd->errStr."\n"; mpd_redirect(); break; case "adjvol": if (!$user->has_access(25)) { break; } if ( is_null($myMpd->AdjustVolume($_REQUEST[val])) ) echo "ERROR: " .$myMpd->errStr."\n"; mpd_redirect(); break; case "setvol": if (!$user->has_access(25)) { break; } if ( is_null($myMpd->SetVolume($_REQUEST[val])) ) echo "ERROR: " .$myMpd->errStr."\n"; mpd_redirect(); break; case "skipto": if (!$user->has_access(25)) { break; } if ( is_null($myMpd->SkipTo($_REQUEST[val])) ) echo "ERROR: " .$myMpd->errStr."\n"; mpd_redirect(); break; case "pladd": if (!$user->has_access(25)) { break; } $plist = new Playlist( $_REQUEST[pl_id] ); $song_ids = $plist->get_songs(); addToPlaylist( $myMpd, $song_ids ); break; case "albadd": if (!$user->has_access(25)) { break; } $album = new Album( $_REQUEST[alb_id] ); $song_ids = $album->get_song_ids( ); addToPlaylist( $myMpd, $song_ids ); break; case "show_control": require (conf('prefix') . "/templates/show_mpdplay.inc"); break; case "mute": if (!$user->has_access(25)) { break; } if ( is_null($myMpd->SetVolume(0)) ) echo "ERROR: " .$myMpd->errStr."\n"; mpd_redirect(); break; case "condPL": if (!$user->has_access(25)) { break; } $condPL = (conf('condPL')==1 ? 0 : 1); conf(array('condPL' => $condPL),1); $pref_id = get_preference_id('condPL'); $user->update_preference($pref_id,$condPL); mpd_redirect(); break; case "crop": if (!$user->has_access(25)) { break; } $pl = $myMpd->playlist; $cur = $myMpd->current_track_id; foreach ($pl as $id => $entry) { if ($id != $cur) { if ( is_null($myMpd->PLRemove($id < $cur ? 0 : 1))) {echo "ERROR: " .$myMpd->errStr."\n"; } } } mpd_redirect(); break; case "plact": if (!$user->has_access(25)) { break; } switch ($_REQUEST['todo']) { case "Delete": $shrunkby =0; foreach ($_REQUEST[song] as $id => $entry) { if ( is_null($myMpd->PLRemove($id-$shrunkby)) ) echo "ERROR: " .$myMpd->errStr."\n"; $shrunkby++; } break; case "Crop": $skipped=0; $upto = $myMpd->playlist_count-1; for ($count=0; $count <= $upto; $count++) { if (!isset($_REQUEST[song][$count])) { if ( is_null($myMpd->PLRemove($skipped)) ) echo "ERROR: " .$myMpd->errStr."\n"; } else {$skipped++;} } break; case "move Next": /* This does not work yet */ $fromabovenp = 0; $frombelownp = 0; $reversed = array_reverse ($_REQUEST[song]); foreach ($reversed as $id => $entry) { echo "id=".$id; if ($id > $myMpd->current_track_id) { echo " fromabovenp=".$fromabovenp." source=".$id+$fromabovenp." dest=".($myMpd->current_track_id+1)."
"; if (is_null($myMpd->PLMoveTrack($id+$fromabovenp,$myMpd->current_track_id+1))) echo "ERROR: ".$myMpd->errStr."\n"; $fromabovenp++; } elseif ($id < $myMpd->current_track_id) { echo " frombelownp=".$frombelownp." source=".$id." dest=".$myMpd->current_track_id+1-frombelownp."
"; if (is_null($myMpd->PLMoveTrack($id,$myMpd->current_track_id+1-frombelownp))) echo "ERROR: ".$myMpd->errStr."\n"; $frombelownp++; } } break; default: echo "todo='".$_REQUEST['todo']."'
"; foreach ($_REQUEST[song] as $id => $entry) { echo "id=".$id." entry=".$entry."_REQUEST[song][id]=".$_REQUEST[song][$id]."
"; } } mpd_redirect(); break; case "movenext": if (!$user->has_access(25)) { break; } if (is_null($myMpd->PLMoveTrack($_REQUEST[val],$myMpd->current_track_id+1))) echo "ERROR: ".$myMpd->errStr."\n"; mpd_redirect(); break; default: mpd_redirect(); break; } // end switch // We're done let's disconnect $myMpd->Disconnect(); } // end else ?>