mirror of
https://github.com/Yetangitu/ampache
synced 2025-10-03 17:59:21 +02:00
Rip out ugly lyrics code
This commit is contained in:
parent
75b6969ae1
commit
4e247196ff
2 changed files with 0 additions and 118 deletions
|
@ -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
|
||||
?>
|
||||
|
|
29
song.php
29
song.php
|
@ -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();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue