$requestRaw = file_get_contents('php://input'); if ($requestRaw != '') { $upnpRequest = Upnp_Api::parseUPnPRequest($requestRaw); //!!debug_event('upnp', 'Request: ' . $requestRaw, '5'); } else { echo 'Error: no UPnP request.'; debug_event('upnp', 'No request', '5'); exit; } $items = array(); $totMatches = 0; $responseType = "u:Error"; switch ($upnpRequest['action']) { case 'search': $responseType = 'u:SearchResponse'; $items = Upnp_Api::_callSearch($upnpRequest['searchcriteria']); break; case 'browse': $responseType = 'u:BrowseResponse'; if ($upnpRequest['objectid'] == '0') { // Root items if ($upnpRequest['browseflag'] == 'BrowseMetadata') { $items[] = array('id' => '0', 'parentID' => '-1', 'childCount' => '2', 'dc:title' => T_('root'), 'upnp:class' => 'object.container'); } else { $items = $rootMediaItems; } break; } else { # The parse_url function returns an array in this format: # Array ( # [scheme] => http