<?xml version="1.0" encoding="UTF-8"?>
<!-- EN-Revision: 24249 -->
<!-- Reviewed: no -->
<sect1 id="zend.service.audioscrobbler">
    <title>Zend_Service_Audioscrobbler</title>

    <sect2 id="zend.service.audioscrobbler.introduction">
        <title>Einführung</title>

        <para>
            <classname>Zend_Service_Audioscrobbler</classname> ist eine einfache
            <acronym>API</acronym> für die Verwendung des Audioscrobbler REST Web Services. Der
            Audioscrobbler Web Service bietet Zugang zu seinen Datenbanken von Benutzern, Artisten,
            Albums, Lieder, tags, Gruppen und Foren. Die Methoden der
            <classname>Zend_Service_Audioscrobbler</classname> Klasse beginnt mit einem dieser
            Bezeichner. Der Syntax und der Namensraum des Audioscrobbler Web Services sind in
            <classname>Zend_Service_Audioscrobbler</classname> gespiegelt. Für weitere Informationen
            über das Audioscrobbler REST Web Service, siehe die <ulink
                url="http://www.audioscrobbler.net/data/webservices/">Audioscrobbler Web Service
                Seite</ulink>.
        </para>
    </sect2>

    <sect2 id="zend.service.audioscrobbler.users">
        <title>Benutzer</title>

        <para>
            Um Informationen über einen bestimmten Benutzer zu erhalten, wird zuerst die
            <methodname>setUser()</methodname> Methode verwendet um den Benutzer zu selektieren für
            den Daten empfangen werden sollen. <classname>Zend_Service_Audioscrobbler</classname>
            bietet verschiedene Methoden für das Empfangen von Daten eines einzelnen Benutzers:

            <itemizedlist>
                <listitem>
                    <para>
                        <methodname>userGetProfileInformation()</methodname>: Gibt ein SimpleXML
                        Objekt zurück das die aktuellen Profilinformationen des Benutzers enthält.
                    </para>
                </listitem>

                <listitem>
                    <para>
                        <methodname>userGetTopArtists()</methodname>: Gibt ein SimpleXML Objekt
                        zurück das eine Liste der aktuell am meisten gelisteten Artisten des
                        Benutzers enthält.
                    </para>
                </listitem>

                <listitem>
                    <para>
                        <methodname>userGetTopAlbums()</methodname>: Gibt ein SimpleXML Objekt
                        zurück das eine Liste der aktuell am meisten gelisteten Alben des Benutzer
                        enthält.
                    </para>
                </listitem>

                <listitem>
                    <para>
                        <methodname>userGetTopTracks()</methodname>: Gibt ein SimpleXML Objekt
                        zurück welches das aktuell am meisten gelistete Lied des Benutzers enthält.
                    </para>
                </listitem>

                <listitem>
                    <para>
                        <methodname>userGetTopTags()</methodname>: Gibt ein SimpleXML Objekt zurück
                        das eine Liste der Tags enthält die am meisten vom aktuellen Benutzer
                        zugeordnet wurden.
                    </para>
                </listitem>

                <listitem>
                    <para>
                        <methodname>userGetTopTagsForArtist()</methodname>: Erfordert das ein Artist
                        über <methodname>setArtist()</methodname> gesetzt wurde. Gibt ein SimpleXML
                        Objekt zurück das die Tags enthält die am meisten dem aktuellen Artisten
                        durch den aktuellen Benutzer zugeordnet worden sind.
                    </para>
                </listitem>

                <listitem>
                    <para>
                        <methodname>userGetTopTagsForAlbum()</methodname>: Erfordert das ein Album
                        über <methodname>setAlbum()</methodname> gesetzt wurde. Gibt ein SimpleXML
                        Objekt zurück das die Tags enthält die am meisten dem aktuellen Album durch
                        den aktuellen Benutzer zugeordnet worden sind.
                    </para>
                </listitem>

                <listitem>
                    <para>
                        <methodname>userGetTopTagsForTrack()</methodname>: Erfordert das ein Lied
                        über <methodname>setTrack()</methodname> gesetzt wurde. Gibt ein SimpleXML
                        Objekt zurück das die Tags enthält die am meisten dem aktuellen Lied vom
                        aktuellen Benutzer zugeordnet worden sind.
                    </para>
                </listitem>

                <listitem>
                    <para>
                        <methodname>userGetFriends()</methodname>: Gibt ein SimpleXML Objekt zurück
                        das die Benutzernamen der Freunde des aktuellen Benutzers enthält.
                    </para>
                </listitem>

                <listitem>
                    <para>
                        <methodname>userGetNeighbours()</methodname>: Gibt ein SimpleXML Objekt
                        zurück das die Benutzernamen der Personen enthält die ähnliche
                        Unterhaltungs-Gewohnheiten wie der aktuelle Benutzer haben.
                    </para>
                </listitem>

                <listitem>
                    <para>
                        <methodname>userGetRecentTracks()</methodname>: Gibt ein SimpleXML Objekt
                        zurück das eine Liste der 10 zuletzt gespielten Lieder des aktuellen
                        Benutzers enthält.
                    </para>
                </listitem>

                <listitem>
                    <para>
                        <methodname>userGetRecentBannedTracks()</methodname>: Gibt ein SimpleXML
                        Objekt zurück das eine Liste der 10 zuletzt verbannten Lieder des aktuellen
                        Benutzers enthält.
                    </para>
                </listitem>

                <listitem>
                    <para>
                        <methodname>userGetRecentLovedTracks()</methodname>: Gibt ein SimpleXML
                        Objekt zurück das eine Liste der 10 zuletzt geliebten Lieder des aktuellen
                        Benutzers enthält.
                    </para>
                </listitem>

                <listitem>
                    <para>
                        <methodname>userGetRecentJournals()</methodname>: Gibt ein SimpleXML Objekt
                        zurück das eine Liste der letzten Journaleintröge des aktuellen Benutzers
                        enthält.
                    </para>
                </listitem>

                <listitem>
                    <para>
                        <methodname>userGetWeeklyChartList()</methodname>: Gibt ein SimpleXML Objekt
                        zurück das eine Liste der Wochen enthält für die ein Wochenchart des
                        aktuellen Benutzers existiert.
                    </para>
                </listitem>

                <listitem>
                    <para>
                        <methodname>userGetRecentWeeklyArtistChart()</methodname>: Gibt ein
                        SimpleXML Objekt zurück das die letzten wöchentlichen Artistencharts des
                        aktuellen Benutzers enthält.
                    </para>
                </listitem>

                <listitem>
                    <para>
                        <methodname>userGetRecentWeeklyAlbumChart()</methodname>: Gibt ein SimpleXML
                        Objekt zurück das die letzten wöchentlichen Albumcharts des aktuellen
                        Benutzers enthält.
                    </para>
                </listitem>

                <listitem>
                    <para>
                        <methodname>userGetRecentWeeklyTrackChart()</methodname>: Gibt ein SimpleXML
                        Objekt zurück das die letzten wöchentlichen Liedercharts des aktuellen
                        Benutzers enthält.
                    </para>
                </listitem>

                <listitem>
                    <para>
                        <methodname>userGetPreviousWeeklyArtistChart($fromDate,
                            $toDate)</methodname>: Gibt ein SimpleXML Objekt zurück das die
                        wöchentliche Artistencharts von <varname>$fromDate</varname> bis
                        <varname>$toDate</varname> für den aktuellen Benutzer enthält.
                    </para>
                </listitem>

                <listitem>
                    <para>
                        <methodname>userGetPreviousWeeklyAlbumChart($fromDate,
                            $toDate)</methodname>: Gibt ein SimpleXML Objekt zurück das die
                        wöchentlichen Albumcharts von <varname>$fromDate</varname> bis
                        <varname>$toDate</varname> für den aktuellen Benutzer enthält.
                    </para>
                </listitem>

                <listitem>
                    <para>
                        <methodname>userGetPreviousWeeklyTrackChart($fromDate,
                            $toDate)</methodname>: Gibt ein SimpleXML Objekt zurück das die
                        wöchentlichen Liedercharts von <varname>$fromDate</varname> bis
                        <varname>$toDate</varname> für den aktuellen Benutzer enthält.
                    </para>
                </listitem>
            </itemizedlist>
        </para>

        <example id="zend.service.audioscrobbler.users.example.profile_information">
            <title>Informationen von Benutzerprofilen erhalten</title>

            <para>
                In diesem Beispiel werden die <methodname>setUser()</methodname> und
                <methodname>userGetProfileInformation()</methodname> Methoden verwendet um
                Informationen über ein spezielles Benutzerprofil zu erhalten:
            </para>

            <programlisting language="php"><![CDATA[
$as = new Zend_Service_Audioscrobbler();
// Den Benutzer setzen dessen Profilinformationen man empfangen will
$as->setUser('BigDaddy71');
// Informationen von BigDaddy71's Profil erhalten
$profileInfo = $as->userGetProfileInformation();
// Einige von Ihnen darstellen
print "Informationen für $profileInfo->realname können unter "
    . "$profileInfo->url gefunden werden";
]]></programlisting>
        </example>

        <example id="zend.service.audioscrobbler.users.example.weekly_artist_chart">
            <title>Die wöchentlichen Artistencharts eines Benutzers erhalten</title>

            <programlisting language="php"><![CDATA[
$as = new Zend_Service_Audioscrobbler();
// Den Benutzer setzen dessen wöchentliche Artistencharts man empfangen will
$as->setUser('lo_fye');
// Eine Liste von vorherigen Wochen erhalten in denen Chartdaten vorhanden sind
$weeks = $as->userGetWeeklyChartList();
if (count($weeks) < 1) {
    echo 'Keine Daten vorhanden';
}
sort($weeks); // Die Liste der Wochen sortieren

$as->setFromDate($weeks[0]); // Das Startdatum setzen
$as->setToDate($weeks[0]); // Das Enddatum setzen

$previousWeeklyArtists = $as->userGetPreviousWeeklyArtistChart();

echo 'Artisten Chart für Woche '
   . date('Y-m-d h:i:s', $as->from_date)
   . '<br />';

foreach ($previousWeeklyArtists as $artist) {
    // Artistennamen mit Links zu Ihrem Profil darstellen
    print '<a href="' . $artist->url . '">' . $artist->name . '</a><br />';
}
]]></programlisting>
        </example>
    </sect2>

    <sect2 id="zend.service.audioscrobbler.artists">
        <title>Artisten</title>

        <para>
            <classname>Zend_Service_Audioscrobbler</classname> bietet verschiedene Methoden um Daten
            über einen speziellen Artisten zu empfangen, der über die
            <methodname>setArtist()</methodname> Methode spezifiziert wurde:

            <itemizedlist>
                <listitem>
                    <para>
                        <methodname>artistGetRelatedArtists()</methodname>: Gibt ein SimpleXML
                        Objekt zurück das eine Liste von Artisten enthält die dem aktuellen Artisten
                        ähnlich sind.
                    </para>
                </listitem>

                <listitem>
                    <para>
                        <methodname>artistGetTopFans()</methodname>: Gibt ein SimpleXML Objekt
                        zurück das eine Liste von Benutzern enthält die den aktuellen Artisten am
                        meisten hören.
                    </para>
                </listitem>

                <listitem>
                    <para>
                        <methodname>artistGetTopTracks()</methodname>: Gibt ein SimpleXML Objekt
                        zurück das eine Liste der am meisten gewählten Lieder des aktuellen Artisten
                        enthält.
                    </para>
                </listitem>

                <listitem>
                    <para>
                        <methodname>artistGetTopAlbums()</methodname>: Gibt ein SimpleXML Objekt
                        zurück das eine Liste der aktuell am meisten gewählten Alben des aktuellen
                        Artisten enthält.
                    </para>
                </listitem>

                <listitem>
                    <para>
                        <methodname>artistGetTopTags()</methodname>: Gibt ein SimpleXML Objekt
                        zurück das eine Liste der Tags enthält die dem aktuellen Artisten am meisten
                        zugeordnet werden.
                    </para>
                </listitem>
            </itemizedlist>
        </para>

        <example id="zend.service.audioscrobbler.artists.example.related_artists">
            <title>Ähnliche Artisten erhalten</title>

            <programlisting language="php"><![CDATA[
$as = new Zend_Service_Audioscrobbler();
// Den Artisten setzen für den man ähnliche Artisten bekommen will
$as->setArtist('LCD Soundsystem');
// Ähnliche Artisten erhalten
$relatedArtists = $as->artistGetRelatedArtists();
foreach ($relatedArtists as $artist) {
    // Die ähnlichen Artisten anzeigen
    print '<a href="' . $artist->url . '">' . $artist->name . '</a><br />';
}
]]></programlisting>
        </example>
    </sect2>

    <sect2 id="zend.service.audioscrobbler.tracks">
        <title>Lieder</title>

        <para>
            <classname>Zend_Service_Audioscrobbler</classname> bietet zwei Methoden für das
            Empfangen von Daten für ein einzelnes Lied, das über die
            <methodname>setTrack()</methodname> Methode spezifiziert wurde:

            <itemizedlist>
                <listitem>
                    <para>
                        <methodname>trackGetTopFans()</methodname>: Gibt ein SimpleXML Objekt zurück
                        das eine Liste mit den Benutzern enthält die das aktuelle Lied am meisten
                        gehört haben.
                    </para>
                </listitem>

                <listitem>
                    <para>
                        <methodname>trackGetTopTags()</methodname>: Gibt ein SimpleXML Objekt zurück
                        das eine Liste der Tags enthält die dem aktuellen Tag am meisten hinzugefügt
                        werden.
                    </para>
                </listitem>
            </itemizedlist>
        </para>
    </sect2>

    <sect2 id="zend.service.audioscrobbler.tags">
        <title>Tags</title>

        <para>
            <classname>Zend_Service_Audioscrobbler</classname> bietet verschiedene Methoden für das
            Empfangen von Daten die einem einzelnen Tag zugeordnet sind, welches über die
            <methodname>setTag()</methodname> Methode zugeordnet werden:

            <itemizedlist>
                <listitem>
                    <para>
                        <methodname>tagGetOverallTopTags()</methodname>: Gibt ein SimpleXML Objekt
                        zurück das eine Liste von Tags enthält die am meisten in Audioscrobbler
                        verwendet werden.
                    </para>
                </listitem>

                <listitem>
                    <para>
                        <methodname>tagGetTopArtists()</methodname>: Gibt ein SimpleXML Objekt
                        zurück das eine Liste von Artisten enthält denen das aktuelle Tag am meisten
                        zugeordnet wurden.
                    </para>
                </listitem>

                <listitem>
                    <para>
                        <methodname>tagGetTopAlbums()</methodname>: Gibt ein SimpleXML Objekt zurück
                        das eine Liste von Alben enthält die dem aktuellen Tag am meisten zugeordnet
                        wurden.
                    </para>
                </listitem>

                <listitem>
                    <para>
                        <methodname>tagGetTopTracks()</methodname>: Gibt ein SimpleXML Objekt zurück
                        das eine Liste von Liedern enthält die dem aktuellen Tag am meisten
                        zugeordnet wurden.
                    </para>
                </listitem>
            </itemizedlist>
        </para>
    </sect2>

    <sect2 id="zend.service.audioscrobbler.groups">
        <title>Gruppen</title>

        <para>
            <classname>Zend_Service_Audioscrobbler</classname> bietet verschiedene Methoden um Daten
            zu erhalten die einer speziellen Gruppe gehören, die über die
            <methodname>setGroup()</methodname> Methode zugeordnet wurde:

            <itemizedlist>
                <listitem>
                    <para>
                        <methodname>groupGetRecentJournals()</methodname>: Gibt ein SimpleXML Objekt
                        zurück das eine Liste der letzten Journalbeiträge der Benutzer der aktuellen
                        Gruppe enthält.
                    </para>
                </listitem>

                <listitem>
                    <para>
                        <methodname>groupGetWeeklyChart()</methodname>: Gibt ein SimpleXML Objekt
                        zurück das eine Liste der Wochen enthält für die ein wöchentliches Chart der
                        aktuellen Gruppe existiert.
                    </para>
                </listitem>

                <listitem>
                    <para>
                        <methodname>groupGetRecentWeeklyArtistChart()</methodname>: Gibt ein
                        SimpleXML Objekt zurück das die letzten wöchentlichen Artistencharts der
                        aktuellen Gruppe enthält.
                    </para>
                </listitem>

                <listitem>
                    <para>
                        <methodname>groupGetRecentWeeklyAlbumChart()</methodname>: Gibt ein
                        SimpleXML Objekt zurück das die letzten wöchentlichen Albumcharts der
                        aktuellen Gruppe enthält.
                    </para>
                </listitem>

                <listitem>
                    <para>
                        <methodname>groupGetRecentWeeklyTrackChart()</methodname>: Gibt ein
                        SimpleXML Objekt zurück das die letzten wöchentlichen Liedercharts der
                        aktuellen Gruppe enthält.
                    </para>
                </listitem>

                <listitem>
                    <para>
                        <methodname>groupGetPreviousWeeklyArtistChart($fromDate,
                            $toDate)</methodname>: Erfordert <methodname>setFromDate()</methodname>
                        und <methodname>setToDate()</methodname>. Gibt ein SimpleXML Objekt zurück
                        das die wöchentlichen Artistencharts vom aktuellen fromDate bis zum
                        aktuellen toDate der aktuellen Gruppe enthält.
                    </para>
                </listitem>

                <listitem>
                    <para>
                        <methodname>groupGetPreviousWeeklyAlbumChart($fromDate,
                            $toDate)</methodname>: Erfordert <methodname>setFromDate()</methodname>
                        und <methodname>setToDate()</methodname>. Gibt ein SimpleXML Objekt zurück
                        das die wöchentlichen Albumcharts vom aktuellen fromDate bis zum aktuellen
                        toDate der aktuellen Gruppe enthält.
                    </para>
                </listitem>

                <listitem>
                    <para>
                        <methodname>groupGetPreviousWeeklyTrackChart($fromDate,
                            $toDate)</methodname>: Gibt ein SimpleXML Objekt zurück das die
                        wöchentlichen Liedercharts vom aktuellen fromDate bis zum aktuellen toDate
                        für die aktuelle Gruppe enthält.
                    </para>
                </listitem>
            </itemizedlist>
        </para>
    </sect2>

    <sect2 id="zend.service.audioscrobbler.forums">
        <title>Foren</title>

        <para>
            <classname>Zend_Service_Audioscrobbler</classname> bietet eine Methode für das Empfangen
            von Daten eines einzelnen Forums, das über die <methodname>setForum()</methodname>
            Methode spezifiziert wurde:

            <itemizedlist>
                <listitem>
                    <para>
                        <methodname>forumGetRecentPosts()</methodname>: Gibt ein SimpleXML Objekt
                        zurück das eine Liste der letzten Beiträge im aktuellen Forum enthält.
                    </para>
                </listitem>
            </itemizedlist>
        </para>
    </sect2>
</sect1>
