/** * deleteBookmark * Delete an existing bookmark. * Takes the file id in parameter. * Not supported. */ public static function deletebookmark($input) { self::check_version($input, "1.9.0"); $r = Subsonic_XML_Data::createError(Subsonic_XML_Data::SSERROR_DATA_NOTFOUND); self::apiOutput($input, $r); }
/** * savePlayQueue * Save the state of the play queue for the authenticated user. * Takes multiple song id in parameter with optional current id playing sond and position. * Not supported. */ public static function saveplayqueue($input) { self::check_version($input, "1.12.0"); $r = Subsonic_XML_Data::createError(Subsonic_XML_Data::SSERROR_DATA_NOTFOUND); self::apiOutput($input, $r); }
if (array_key_exists($decname, $params)) { if (!is_array($params[$decname])) { $oldvalue = $params[$decname]; $params[$decname] = array(); $params[$decname][] = $oldvalue; } $params[$decname][] = $decvalue; } else { $params[$decname] = $decvalue; } } //debug_event('subsonic', print_r($params, true), '5'); //debug_event('subsonic', print_r(apache_request_headers(), true), '5'); // Recurse through them and see if we're calling one of them foreach ($methods as $method) { if (in_array($method, $internal_functions)) { continue; } // If the method is the same as the action being called // Then let's call this function! if ($action == $method) { call_user_func(array('subsonic_api', $method), $params); // We only allow a single function to be called, and we assume it's cleaned up! exit; } } // end foreach methods in API // If we manage to get here, we still need to hand out an XML document ob_end_clean(); echo Subsonic_XML_Data::createError(Subsonic_XML_Data::SSERROR_DATA_NOTFOUND)->asXml();