diff options
Diffstat (limited to 'artists.php')
-rw-r--r-- | artists.php | 354 |
1 files changed, 177 insertions, 177 deletions
diff --git a/artists.php b/artists.php index f893328a..b6496339 100644 --- a/artists.php +++ b/artists.php @@ -1,5 +1,5 @@ <?php -/* vim:set tabstop=8 softtabstop=8 shiftwidth=8 noexpandtab: */ +/* vim:set softtabstop=4 shiftwidth=4 expandtab: */ /** * * LICENSE: GNU General Public License, version 2 (GPLv2) @@ -28,183 +28,183 @@ UI::show_header(); * Display Switch */ switch($_REQUEST['action']) { - case 'show': - $artist = new Artist($_REQUEST['artist']); - $artist->format(); - $object_ids = $artist->get_albums($_REQUEST['catalog']); - $object_type = 'album'; - require_once Config::get('prefix') . '/templates/show_artist.inc.php'; - if (Config::get('show_similar')) { - if ($object_ids = Recommendation::get_artists_like($artist->id)) { - // Ugly code to grab the relevant entries. - // Almost looks like Perl. - $object_ids = array_map(create_function('$i', 'return $i[\'id\'];'), $object_ids); - require_once Config::get('prefix') . '/templates/show_recommended_artists.inc.php'; - } - } - break; - case 'show_all_songs': - $artist = new Artist($_REQUEST['artist']); - $artist->format(); - $object_type = 'song'; - $object_ids = $artist->get_songs(); - require_once Config::get('prefix') . '/templates/show_artist.inc.php'; + case 'show': + $artist = new Artist($_REQUEST['artist']); + $artist->format(); + $object_ids = $artist->get_albums($_REQUEST['catalog']); + $object_type = 'album'; + require_once Config::get('prefix') . '/templates/show_artist.inc.php'; + if (Config::get('show_similar')) { + if ($object_ids = Recommendation::get_artists_like($artist->id)) { + // Ugly code to grab the relevant entries. + // Almost looks like Perl. + $object_ids = array_map(create_function('$i', 'return $i[\'id\'];'), $object_ids); + require_once Config::get('prefix') . '/templates/show_recommended_artists.inc.php'; + } + } break; - case 'update_from_tags': - $type = 'artist'; - $object_id = intval($_REQUEST['artist']); - $target_url = Config::get('web_path') . "/artists.php?action=show&artist=" . $object_id; - require_once Config::get('prefix') . '/templates/show_update_items.inc.php'; - break; - case 'rename_similar': - if (!$user->has_access('100')) { UI::access_denied(); } - $count = 0; - if (isset($_REQUEST['artist']) && is_numeric($_REQUEST['artist']) && isset($_REQUEST['artists']) && is_array($_REQUEST['artists'])) { - $artist = new Artist($_REQUEST['artist']); - if ($artist->id) - foreach ($_REQUEST['artists'] as $artist_id) { - if (is_numeric($artist_id)) { - $that_artist = new Artist($artist_id); - if ($that_artist->id) { - $that_artist->merge($artist->id); - $count++; - } else - $GLOBALS['error']->add_error('general', sprintf(T_('Error: No such artist \'%s\''), $artist_id)); - } else { - $GLOBALS['error']->add_error('general', sprintf(T_('Error: \'%s\' is not a valid ID'), $artist_id)); - } - } - else - $GLOBALS['error']->add_error('general', sprintf(T_('Error: No such artist \'%s\''), $_REQUEST['artist'])); - } else { - $GLOBALS['error']->add_error('general', T_("Error: Errenous request")); - } - if ($count > 0) { - show_confirmation ( - T_('Renamed artist(s)'), - sprintf(T_('%1$s artists have been merged with %2$s'), $count, $artist->name), - Config::get('web_path') . '/artists.php?action=show&artist=' . $artist->id - ); - } else { - $GLOBALS['error']->print_error('general'); - } - - break; - case 'show_similar': - if (!$GLOBALS['user']->has_access('75')) { - UI::access_denied(); - exit; - } - - $artist = new Artist($_REQUEST['artist']); - //options - $similar_artists = $artist->get_similar_artists( - make_bool($_POST['n_rep_uml']), - $_POST['n_filter'], - $_POST['n_ignore'], - $_POST['c_mode'], - $_POST['c_count_w'], - $_POST['c_percent_w'], - $_POST['c_distance_l'], - make_bool($_POST['c_ignins_l'])); - $artist_id = $artist->id; - $artist_name = $artist->name; - require Config::get('prefix') . '/templates/show_similar_artists.inc.php'; - - break; - case 'rename': - //die if not enough permissions - if (!$user->has_access('100')) { UI::access_denied(); } - - /* Get the artist */ - $artist = new Artist($_REQUEST['artist']); - $catalog = new Catalog(); - - //check if we've been given a target - if ((isset($_POST['artist_id']) && $_POST['artist_id'] != $artist->id ) || (isset($_POST['artist_name']) && $_POST['artist_name'] != "")) { - - //if we want to update id3 tags, then get the array of ids now, it's too late afterwards - if (make_bool($_POST['update_id3'])) - $songs = $artist->get_songs(); - - $ret = 0; - //the manual rename takes priority, but if they tested out the insert thing ignore - if ($_POST['artist_name'] != "" && $_POST['artist_name'] != $artist->name) { - //then just change the name of the artist in the db - $ret = $artist->rename($_POST['artist_name']); - $newid = $ret; - $newname = $_POST['artist_name']; - } - //new id? - elseif ($_POST['artist_id'] != $artist->id) { - //merge with other artist - $ret = $artist->merge($_POST['artist_id']); - $newid = $_POST['artist_id']; - $newname = $ret; - } // elseif different artist and id - //if no changes, no changes - - //now flag for id3tag update if selected, and something actually happaned - if ($ret && make_bool($_POST['update_id3'])) { - - /* Set the rename information in the db */ - foreach ($songs as $song) { - $flag = new Flag(); - $flag->add($song->id,"song","retag","Renamed artist, retag"); - $flag_qstring = "REPLACE INTO flagged " . - "SET type = 'setid3', song = '" . $song->id . "', date = '" . time() . "', user = '" . $GLOBALS['user']->username . "'"; - Dba::write($flag_qstring); - } - - } // end if they wanted to update - - // show something other than a blank screen after this - if ($ret) { - show_confirmation ( - T_('Renamed artist'), - sprintf(T_('%1$s is now known as %2$s'), $artist->name, $newname), - Config::get('web_path') . "/artists.php?action=show&artist=" . $newid - ); - } - - } // if we've got the needed variables - - /* Else we've got an error! But be lenient, and just show the form again */ - else { - require Config::get('prefix') . '/templates/show_rename_artist.inc.php'; - } - break; - case 'show_rename': - $artist = new Artist($_REQUEST['artist']); - require Config::get('prefix') . '/templates/show_rename_artist.inc.php'; - break; - case 'match': - case 'Match': - $match = scrub_in($_REQUEST['match']); - if ($match == "Browse" || $match == "Show_all") { $chr = ""; } - else { $chr = $match; } - /* Enclose this in the purty box! */ - require Config::get('prefix') . '/templates/show_box_top.inc.php'; - show_alphabet_list('artists','artists.php',$match); - show_alphabet_form($chr, T_('Show Artists starting with'),"artists.php?action=match"); - require Config::get('prefix') . '/templates/show_box_bottom.inc.php'; - - if ($match === "Browse") { - show_artists(); - } - elseif ($match === "Show_all") { - $offset_limit = 999999; - show_artists(); - } - else { - if ($chr == '') { - show_artists('A'); - } - else { - show_artists($chr); - } - } - break; + case 'show_all_songs': + $artist = new Artist($_REQUEST['artist']); + $artist->format(); + $object_type = 'song'; + $object_ids = $artist->get_songs(); + require_once Config::get('prefix') . '/templates/show_artist.inc.php'; + break; + case 'update_from_tags': + $type = 'artist'; + $object_id = intval($_REQUEST['artist']); + $target_url = Config::get('web_path') . "/artists.php?action=show&artist=" . $object_id; + require_once Config::get('prefix') . '/templates/show_update_items.inc.php'; + break; + case 'rename_similar': + if (!$user->has_access('100')) { UI::access_denied(); } + $count = 0; + if (isset($_REQUEST['artist']) && is_numeric($_REQUEST['artist']) && isset($_REQUEST['artists']) && is_array($_REQUEST['artists'])) { + $artist = new Artist($_REQUEST['artist']); + if ($artist->id) + foreach ($_REQUEST['artists'] as $artist_id) { + if (is_numeric($artist_id)) { + $that_artist = new Artist($artist_id); + if ($that_artist->id) { + $that_artist->merge($artist->id); + $count++; + } else + $GLOBALS['error']->add_error('general', sprintf(T_('Error: No such artist \'%s\''), $artist_id)); + } else { + $GLOBALS['error']->add_error('general', sprintf(T_('Error: \'%s\' is not a valid ID'), $artist_id)); + } + } + else + $GLOBALS['error']->add_error('general', sprintf(T_('Error: No such artist \'%s\''), $_REQUEST['artist'])); + } else { + $GLOBALS['error']->add_error('general', T_("Error: Errenous request")); + } + if ($count > 0) { + show_confirmation ( + T_('Renamed artist(s)'), + sprintf(T_('%1$s artists have been merged with %2$s'), $count, $artist->name), + Config::get('web_path') . '/artists.php?action=show&artist=' . $artist->id + ); + } else { + $GLOBALS['error']->print_error('general'); + } + + break; + case 'show_similar': + if (!$GLOBALS['user']->has_access('75')) { + UI::access_denied(); + exit; + } + + $artist = new Artist($_REQUEST['artist']); + //options + $similar_artists = $artist->get_similar_artists( + make_bool($_POST['n_rep_uml']), + $_POST['n_filter'], + $_POST['n_ignore'], + $_POST['c_mode'], + $_POST['c_count_w'], + $_POST['c_percent_w'], + $_POST['c_distance_l'], + make_bool($_POST['c_ignins_l'])); + $artist_id = $artist->id; + $artist_name = $artist->name; + require Config::get('prefix') . '/templates/show_similar_artists.inc.php'; + + break; + case 'rename': + //die if not enough permissions + if (!$user->has_access('100')) { UI::access_denied(); } + + /* Get the artist */ + $artist = new Artist($_REQUEST['artist']); + $catalog = new Catalog(); + + //check if we've been given a target + if ((isset($_POST['artist_id']) && $_POST['artist_id'] != $artist->id ) || (isset($_POST['artist_name']) && $_POST['artist_name'] != "")) { + + //if we want to update id3 tags, then get the array of ids now, it's too late afterwards + if (make_bool($_POST['update_id3'])) + $songs = $artist->get_songs(); + + $ret = 0; + //the manual rename takes priority, but if they tested out the insert thing ignore + if ($_POST['artist_name'] != "" && $_POST['artist_name'] != $artist->name) { + //then just change the name of the artist in the db + $ret = $artist->rename($_POST['artist_name']); + $newid = $ret; + $newname = $_POST['artist_name']; + } + //new id? + elseif ($_POST['artist_id'] != $artist->id) { + //merge with other artist + $ret = $artist->merge($_POST['artist_id']); + $newid = $_POST['artist_id']; + $newname = $ret; + } // elseif different artist and id + //if no changes, no changes + + //now flag for id3tag update if selected, and something actually happaned + if ($ret && make_bool($_POST['update_id3'])) { + + /* Set the rename information in the db */ + foreach ($songs as $song) { + $flag = new Flag(); + $flag->add($song->id,"song","retag","Renamed artist, retag"); + $flag_qstring = "REPLACE INTO flagged " . + "SET type = 'setid3', song = '" . $song->id . "', date = '" . time() . "', user = '" . $GLOBALS['user']->username . "'"; + Dba::write($flag_qstring); + } + + } // end if they wanted to update + + // show something other than a blank screen after this + if ($ret) { + show_confirmation ( + T_('Renamed artist'), + sprintf(T_('%1$s is now known as %2$s'), $artist->name, $newname), + Config::get('web_path') . "/artists.php?action=show&artist=" . $newid + ); + } + + } // if we've got the needed variables + + /* Else we've got an error! But be lenient, and just show the form again */ + else { + require Config::get('prefix') . '/templates/show_rename_artist.inc.php'; + } + break; + case 'show_rename': + $artist = new Artist($_REQUEST['artist']); + require Config::get('prefix') . '/templates/show_rename_artist.inc.php'; + break; + case 'match': + case 'Match': + $match = scrub_in($_REQUEST['match']); + if ($match == "Browse" || $match == "Show_all") { $chr = ""; } + else { $chr = $match; } + /* Enclose this in the purty box! */ + require Config::get('prefix') . '/templates/show_box_top.inc.php'; + show_alphabet_list('artists','artists.php',$match); + show_alphabet_form($chr, T_('Show Artists starting with'),"artists.php?action=match"); + require Config::get('prefix') . '/templates/show_box_bottom.inc.php'; + + if ($match === "Browse") { + show_artists(); + } + elseif ($match === "Show_all") { + $offset_limit = 999999; + show_artists(); + } + else { + if ($chr == '') { + show_artists('A'); + } + else { + show_artists($chr); + } + } + break; } // end switch UI::show_footer(); |