1
0
Fork 0
mirror of https://github.com/Yetangitu/ampache synced 2025-10-03 09:49:30 +02:00

Rip out ugly lyrics code

This commit is contained in:
Paul Arthur 2012-11-13 18:51:11 -05:00
parent 75b6969ae1
commit 4e247196ff
2 changed files with 0 additions and 118 deletions

View file

@ -316,94 +316,5 @@ class Artist extends database_object {
} // update
/**
* get_song_lyrics
* gets the lyrics of $this->song
* if they are not in the database, fetch using LyricWiki (SOAP) and insert
*/
public function get_song_lyrics($song_id, $artist_name, $song_title) {
debug_event("lyrics", "Initialized Function", "5");
$sql = "SELECT `song_data`.`lyrics` FROM `song_data` WHERE `song_id`='" . Dba::escape($song_id) . "'";
$db_results = Dba::read($sql);
$results = Dba::fetch_assoc($db_results);
// Get Lyrics From id3tag (Lyrics3)
$rs = Dba::read("SELECT `song`.`file` FROM `song` WHERE `id`='" . Dba::escape($song_id) . "'");
$filename = Dba::fetch_row($rs);
$vainfo = new vainfo($filename[0], '','','',$catalog->sort_pattern,$catalog->rename_pattern);
$vainfo->get_info();
$key = vainfo::get_tag_type($vainfo->tags);
$tag_lyrics = vainfo::clean_tag_info($vainfo->tags,$key,$filename);
$lyrics = $tag_lyrics['lyrics'];
if (strlen($results['lyrics']) > 1) {
debug_event("lyrics", "Use DB", "5");
return html_entity_decode($results['lyrics'], ENT_QUOTES);
} elseif (strlen($lyrics) > 1) {
// encode lyrics utf8
if (function_exists('mb_detect_encoding') AND function_exists('mb_convert_encoding')) {
$enc = mb_detect_encoding($lyrics);
if ($enc != "ASCII" OR $enc != "UTF-8") {
$lyrics = mb_convert_encoding($lyrics, "UTF-8", $enc);
}
}
$sql = "UPDATE `song_data` SET `lyrics` = '" . Dba::escape(htmlspecialchars($lyrics, ENT_QUOTES)) . "' WHERE `song_id`='" . Dba::escape($song_id) . "'";
$db_results = Dba::write($sql);
debug_event("lyrics", "Use id3v2 tag (USLT or lyrics3)", "5");
return $lyrics;
}
else {
debug_event("lyrics", "Start to get from lyricswiki", "5");
$proxyhost = $proxyport = $proxyuser = $proxypass = false;
if(Config::get('proxy_host') AND Config::get('proxy_port')) {
$proxyhost = Config::get('proxy_host');
$proxyport = Config::get('proxy_port');
debug_event("lyrics", "Use proxy server: $proxyhost:$proxyport", '5');
if(Config::get('proxy_user')) { $proxyuser = Config::get('proxy_user'); }
if(Config::get('proxy_pass')) { $proxypass = Config::get('proxy_pass'); }
}
$client = new nusoap_client('http://lyricwiki.org/server.php?wsdl', 'wsdl', $proxyhost, $proxyport, $proxyuser, $proxypass);
$err = $client->getError();
if ($err) { return $results = $err; }
// sall SOAP method
$result = $client->call("getSongResult", array("artist" => $artist_name, "song" => $song_title ));
// check for fault
if ($client->fault) {
debug_event("lyrics", "Can't get lyrics", "1");
return $results = "<h2>" . T_('Fault') . "</h2>" . print_r($result);
}
else {
// check for errors
$err = $client->getError();
if ($err) {
debug_event("lyrics", "Getting error: $err", "1");
return $results = "<h2>" . T_('Error') . "</h2>" . $err;
}
else {
// if returned "Not found" do not add
if($result['lyrics'] == "Not found") {
$sorry = T_('Sorry Lyrics Not Found.');
return $sorry;
}
else {
$lyrics = str_replace(array("\r\n","\r","\n"), '<br />',strip_tags($result['lyrics']));
// since we got lyrics, might as well add them to the database now (for future use)
$sql = "UPDATE `song_data` SET `lyrics` = '" . Dba::escape(htmlspecialchars($lyrics, ENT_QUOTES)) . "' WHERE `song_id`='" . Dba::escape($song_id) . "'";
$db_results = Dba::write($sql);
// display result (lyrics)
debug_event("lyrics", "get successful", "5");
return $results = strip_tags($result['lyrics']);
}
}
}
}
} // get_song_lyrics
} // end of artist class
?>

View file

@ -30,8 +30,6 @@ require 'lib/init.php';
show_header();
$show_lyrics = Config::get('show_lyrics');
// Switch on Action
switch ($_REQUEST['action']) {
default:
@ -40,34 +38,7 @@ switch ($_REQUEST['action']) {
$song->format();
$song->fill_ext_info();
require_once Config::get('prefix') . '/templates/show_song.inc.php';
// does user want to display lyrics?
if($show_lyrics == 1) {
$lyric = new Artist();
$return = $lyric->get_song_lyrics($song->id, ucwords($song->f_artist), ucwords($song->title));
$link = '<a href="http://lyricwiki.org/' . rawurlencode(ucwords($song->f_artist)) . ':' . rawurlencode(ucwords($song->title)) . '" target="_blank">';
/* HINT: Artist, Song Title */
$link .= sprintf(T_('%1$s - %2$s Lyrics Detail'), ucwords($song->f_artist), ucwords($song->title));
$link .= "</a><br /><br />";
require_once Config::get('prefix') . '/templates/show_lyrics.inc.php';
}
break;
case 'show_lyrics':
if($show_lyrics == 1) {
$song = new Song($_REQUEST['song_id']);
$song->format();
$song->fill_ext_info();
require_once Config::get('prefix') . '/templates/show_lyrics_song.inc.php';
// get the lyrics
$show_lyrics = Config::get('show_lyrics');
$lyric = new Artist();
$return = $lyric->get_song_lyrics($song->id, ucwords($song->f_artist), ucwords($song->title));
$link = '<a href="http://lyricwiki.org/' . rawurlencode(ucwords($song->f_artist)) . ':' . rawurlencode(ucwords($song->title)) . '" target="_blank">';
/* HINT: Artist, Song Title */
$link .= sprintf(T_('%1$s - %2$s Lyrics Detail'), ucwords($song->f_artist), ucwords($song->title));
$link .= "</a><br /><br />";
require_once Config::get('prefix') . '/templates/show_lyrics.inc.php';
}
} // end data collection
show_footer();