#Hier sollen die Alben anhand des Artisten ermittelt werden
function getAlbums($name) {
try{
$xml = simplexml_load_file('http://ws.audioscrobbler.com/2.0/?method=artist.gettopalbums&artist='.urlencode($name).'&autocorrect=1&api_key='.$GLOBALS[api_key]);
$albums = $xml->topalbums->album;
$artist_id = getArtistid($name);
foreach($albums as $album) {
$album_name = removeUmlauts(utf8_decode($album->name));
$artist = utf8_decode($album->artist->name);
$image = 'no_image.jpg';
$discs = 1;
$genre = 0;
$price = '0.00';
$buylink = '';
similar_text($artist, $name, $p);
if ($p == 100){
#Hier werden die Informationen über das Album ermittelt (Tracklist und dergleichen)
$var= getAlbuminfo($artist, $album_name);
$album = $var[album];
$tracklist = $var[tracklist];
echo 'Artist_Id: '.$artist_id.'<br>';
echo 'Album_Name: '.$album_name.'<br>';
#Hier wird das Album in die Datenbank geschrieben
inputAlbum($artist_id, $album_name, $album[year], $album[month], getPicturealbum($album[image]), $discs, $album[length], $genre, $price, $buylink);
echo 'Album_Id: '.getAlbumid($artist_id, $album_name).'<br>';
#Hier wird die Tracklist in die Datenbank geschrieben, davor wird ermittelt, welche Album_ID vorliegt
inputTrack($artist_id, getAlbumid($artist_id, $album_name), $tracklist);
}
}
}catch (Exception $e){
$artist = $name;
}
}
#Hier werden die Albuminformationen aus der XML-Datei gelesen und dann in einem Array, welches aus 2 Arrays besteht zurückgegeben
function getAlbuminfo($artist,$name){
try{
$xml = simplexml_load_file('http://ws.audioscrobbler.com/2.0/?method=album.getinfo&lang=de&autocorrect=1&api_key='.$GLOBALS[api_key].'&artist='.urlencode($artist).'&album='.urlencode($name));
$release = utf8_decode($xml->album->releasedate);
$year = 0000;
$month = 0;
$image = $xml->album->image[3];
if (strlen(trim($image)) == '0') {
$image = 'no_image.jpg';
}
$tracks = $xml->album->tracks->track;
$position = 0;
$length = 0;
foreach($tracks as $track) {
$position = $position + 1;
$name = utf8_decode(removeUmlauts($track->name));
$track_var = getTrackinfo($artist, $name);
$dauer = $track_var[dauer];
$genre_id = $track_var[genre_id];
$tracklist[] = array(
"position"=>$position,
"name"=>$name,
"dauer"=>$dauer,
"genre_id"=>$genre_id,
);
$length = $length + intval($dauer / 100);
}
$album = array(
"year"=>$year,
"month"=>$month,
"image"=>$image,
"length"=>$length/1000,
);
$return = array(
"album"=>$album,
"tracklist"=>$tracklist,
);
return $return;
}catch (Exception $e){
echo "Konnte Albuminfos nicht abrufen";
}
}
#Hier werden die Informationen vom Track ermittelt
function getTrackinfo($artist,$track){
try{
$xml = simplexml_load_file('http://ws.audioscrobbler.com/2.0/?method=track.getinfo&autocorrect=1&api_key='.$GLOBALS[api_key].'&artist='.urlencode($artist).'&track='.urlencode($track));
$dauer = utf8_decode($xml->track->duration);
$genre = utf8_decode($xml->track->toptags->tag[0]->name);
$genre_id = getTagid($genre);
echo '<u>'.$genre.'</u>: '.$genre_id.'<br>';
$return = array(
"dauer"=>$dauer,
"genre_id"=>$genre_id,
);
}catch (Exception $e){
$artist = $name;
}
return $return;
}
#Hier wird die ID vom Genre ermittelt
function getTagid($tag) {
$sql_befehl = "SELECT id FROM jos_muscol_genres WHERE genre_name = '".$tag."' ";
if ($result = $GLOBALS[db]->query($sql_befehl)) {
while($datensatz = $result->fetch_object() ){
$ausgabe = $datensatz->id;
};
$result->close();
} else {
echo "Zugriff fehlgeschlagen (TagID)";
}
return $ausgabe;
}
#Hiermit wird das Album hinzugefügt
function inputAlbum($artist_id,$album_name,$year,$month,$image,$discs,$length,$genre,$price,$buylink){
$sql_befehl = "INSERT INTO jos_muscol_albums VALUES ('', '".$album_name."', '".$artist_id."', '".$year."', '".$month."', '".$year."', '".$month."', '', '', '".$genre."', '', '', '".$length."', '1', '".$image."', '".$discs."', '', '', '', '', '', '', 'si', '0', CURDATE(), CURDATE(), '".$price."', '', '0', 'Y', '', '".album_name."', '62', '0', '".$buylink."', '', '', '')";
if (!$GLOBALS[db]->query($sql_befehl)){
echo "Album konnte nicht hinzugefügt werden<br>";
}
}
#Hier wird die Album_ID ermittelt
function getAlbumid($artist_id,$album_name){
$sql_befehl = "SELECT id FROM jos_muscol_albums WHERE artist_id = '".$artist_id."' AND name = '".$album_name."' ";
echo $sql_befehl.'<br>';
if ($result = $GLOBALS[db]->query($sql_befehl)) {
while($datensatz = $result->fetch_object() ){
$id = $datensatz->id;
};
$result->close();
} else {
echo "Zugriff fehlgeschlagen (getAlbumid)";
$id = 0;
}
return $id;
}
#Hier wird der Track hinzugefügt
function inputTrack($artist_id, $album_id, $tracklist){
foreach ($tracklist as $track){
$position = $track[position];
$dauer = $track[dauer];
$name = $track[name];
$genre_id = $track[genre];
$buylink = '';
$video = '';
$sql_befehl = "INSERT INTO jos_muscol_songs VALUES ('' , '".$album_id."', '".$position."', '1', '".$dauer."', '".$name."', '', '".$artist_id."', '0', '', '', CURDATE( ), '', '', '', '".$genre_id."', '0', '".$buylink."', '".$video."', '', '0', '62')";
if (!$GLOBALS[db]->query($sql_befehl)){
echo "Track ".$name." konnte nicht hinzugefügt werden<br>";
}
}
echo $sql_befehl.'<br><br>';
}