<?php

function addDir($item,$mpd) {
	$opendirs[] = $item;
      	$count=0;
      	while($count != count($opendirs)){
        	$current = $opendirs[$count];
        	$count++;

        	$files = $mpd->GetDir($current);
        	for($i=0;$i<count($files);$i++) {
                	if($files[$i]['type']=="directory") {
                        	$opendirs[]=$files[$i]['name'];
                	} else {
                        	$mpd->PLAdd($files[$i]['name']);
                	}

        	}
	}	
}

switch($task) {

  case("remove"):
    if($item != null)
      $mpd->PLRemove($item);
    break;


   case("clear"):
     $mpd->PLClear();
     break;

   case("playitem"):
     if($item != null){
       $mpd->SkipTo($item);
      }
      break;

   case("addfile"):
      $mpd->PLAdd($item);
      break;

   case("load"):
      $mpd->PLLoad($item);
      break;

   case("adddir"):
      addDir($item,$mpd);
      break;
      

    case("moveup"):
       if($item !=0) {
           $mpd->Move($item,$item-1);
       }
       break;

    case("movedown"):
       if($item !=count($mpd->playlist)-1) {
           $mpd->Move($item,$item+1);
       }
       break;


     case("removeselected"):
	$items=$_POST['itemlist'];
	for($i=0;$i<count($items);$i++){
	  $mpd->PLRemove($items[$i]-$i);
	}
	break;


	case("addselected"):
		$items=$_POST['itemlist'];
		$dir=$_REQUEST['dir'];
		$files = $mpd->GetDir($dir);
                for($i=0;$i<count($items);$i++) {
                        if($files[$items[$i]]['type']=="directory") {
                                addDir($files[$items[$i]]['name'],$mpd);
                        } else {
                                $mpd->PLAdd($files[$items[$i]]['name']);
                        }
                }
		break;

	case("addall"):
                $dir=$_REQUEST['item'];
                $files = $mpd->GetDir($dir);
                for($i=0;$i<count($files);$i++) {
                        if($files[$i]['type']=="directory") {
                                addDir($files[$i]['name'],$mpd);
                        } else {
                                $mpd->PLAdd($files[$i]['name']);
                        }
                }
                break;



}


?>