示例#1
0
$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