function ribcage_add_artist() { global $wpdb; $hidden_field_name = 'ribcage_artist_submit'; $button_name = 'Add Artist'; if ($_POST[$hidden_field_name] == 'Y') { // an artist is posted //slice off two variables at the end to prepare for implodes array_pop($_POST); // hidden var array_pop($_POST); // submit button var //split apart associative array into different parts to prepare for implodes $post_keys = array_keys($_POST); $post_vals = array_values($_POST); //construct field name list and vals to post $string_keys = implode($post_keys, ","); $string_vals = "'" . implode($post_vals, "','") . "'"; $wpdb->show_errors(); //construct query $sql = "INSERT INTO " . $wpdb->prefix . "ribcage_artists\n\t\t\t\t({$string_keys})\n\t\t\t\tVALUES\n\t\t\t\t({$string_vals})"; //echo "<pre>$sql</pre>"; $results = $wpdb->query($sql); $wpdb->hide_errors(); //display snazzy update fade thing when they are added echo <<<EOT \t\t\t<div id="message" class="updated fade"><p><strong>Artist added.</strong></p></div> EOT; } ?> <div class="wrap"> <h2>Add Artist</h2> <form action="<?php echo str_replace('%7E', '~', $_SERVER['REQUEST_URI']); ?> " method="post" id="ribcage_add_artist" name="add_artist"> <fieldset> <legend>Basic Details</legend> <table class="optiontable"> <tr valign="top"> <th scope="row"><strong>Name: </strong></th> <td> <input type="text" style="width:320px;" class="cleardefault" value="<?php echo $artist_name_val; ?> " name="artist_name" id="artist_name" maxlength="200" /> </td> </tr> <tr valign="top"> <th scope="row"><strong>Sort Name: </strong></th> <td> <input type="text" style="width:320px;" class="cleardefault" value="<?php echo $artist_name_sort_val; ?> " name="artist_name_sort" id="artist_name_sort" /> </td> </tr> <tr valign="top"> <th scope="row"><strong>Artist Slug: </strong></th> <td> <input type="text" style="width:320px;" class="cleardefault" value="<?php echo $artist_slug_val; ?> " name="artist_slug" id="artist_slug" /> </td> </tr> <!--<tr valign="top"> <th scope="row"><strong>Starting hits: </strong></th> <td> <input type="text" style="width:100px;" class="cleardefault" value="<?php echo $artist_hits_val; ?> " name="artist_hits" id="artist_hits" maxlength="50" /> </td> </tr>--> <tr valign="top"> <th scope="row"><strong>Artist's Music Brainz ID: </strong></th> <td> <input type="text" style="width:320px;" class="cleardefault" value="<?php echo $artist_mbid_val; ?> " name="artist_mbid" id="artist_mbid" maxlength="50" /> </td> </tr> <tr valign="top"> <th scope="row"><strong>Signup Date: </strong></th> <td> <input type="text" style="width:100px;" class="cleardefault" value="<?php echo $artist_signed_val; ?> " name="artist_signed" id="artist_signed" maxlength="50" /> </td> </tr> <tr valign="top"> <th scope="row"><strong>Creative Commons license: </strong></th> <td> <?php echo ribcage_cc_dropdown(); ?> </td> </tr> <tr valign="top"> <th scope="row"><strong>Artist Biography: </strong></th> <td> <textarea rows="5" cols="50" name="artist_bio" id="artist_bio"><?php echo $artist_bio_val; ?> </textarea> </td> </tr> <tr valign="top"> <th scope="row"><strong>Artist Picture 1: </strong></th> <td> <input type="text" style="width:320px;" class="cleardefault" value="<?php echo $artist_picture_1_val; ?> " name="artist_picture_1" id="artist_picture_1" maxlength="200" /> </td> </tr> <tr valign="top"> <th scope="row"><strong>Artist Picture 2: </strong></th> <td> <input type="text" style="width:320px;" class="cleardefault" value="<?php echo $artist_picture_2_val; ?> " name="artist_picture_2" id="artist_picture_2" maxlength="200" /> </td> </tr> <tr valign="top"> <th scope="row"><strong>Artist Picture 3: </strong></th> <td> <input type="text" style="width:320px;" class="cleardefault" value="<?php echo $artist_picture_3_val; ?> " name="artist_picture_3" id="artist_picture_3" maxlength="200" /> </td> </tr> <tr valign="top"> <th scope="row"><strong>Artist Picture HQ Zipfile URL: </strong></th> <td> <input type="text" style="width:320px;" class="cleardefault" value="<?php echo $artist_picture_zip_val; ?> " name="artist_picture_zip" id="artist_picture_zip" maxlength="200" /> </td> </tr> <tr valign="top"> <th scope="row"><strong>Artist E-mail: </strong></th> <td> <input type="text" style="width:320px;" class="cleardefault" value="<?php echo $artist_contact_email_val; ?> " name="artist_contact_email" id="artist_contact_email" maxlength="150" /> </td> </tr> <tr valign="top"> <th scope="row"><strong>Artist Phone: </strong></th> <td> <input type="text" style="width:100px;" class="cleardefault" value="<?php echo $artist_contact_phone_val; ?> " name="artist_contact_phone" id="artist_contact_phone" maxlength="20" /> </td> </tr> <tr valign="top"> <th scope="row"><strong>One-sentence Description of Artist: </strong></th> <td> <input type="text" style="width:320px;" class="cleardefault" value="<?php echo $artist_blurb_tiny_val; ?> " name="artist_blurb_tiny" id="artist_blurb_tiny" maxlength="255" /> </td> </tr> <tr valign="top"> <th scope="row"><strong>One-paragraph Description of Artist: </strong></th> <td> <textarea rows="5" cols="50" name="artist_blurb_short" id="artist_blurb_short"><?php echo $artist_blurb_short_val; ?> </textarea> </td> </tr> <tr valign="top"> <th scope="row"><strong>Website URL: </strong></th> <td> <input type="text" style="width:320px;" class="cleardefault" value="<?php echo $artist_link_website_val; ?> " name="artist_link_website" id="artist_link_website" maxlength="200" /> </td> </tr> <tr valign="top"> <th scope="row"><strong>MySpace URL: </strong></th> <td> <input type="text" style="width:320px;" class="cleardefault" value="<?php echo $artist_link_myspace_val; ?> " name="artist_link_myspace" id="artist_link_myspace" maxlength="200" /> </td> </tr> <tr valign="top"> <th scope="row"><strong>Facebook URL: </strong></th> <td> <input type="text" style="width:320px;" class="cleardefault" value="<?php echo $artist_link_facebook_val; ?> " name="artist_link_facebook" id="artist_link_facebook" maxlength="200" /> </td> </tr> <tr> <th scope="row"></th> <td> <p class="submit"> <input type="submit" class="btn" name="save" style="padding:5px 30px 5px 30px;" value="<?php echo $button_name; ?> " /> <input type="hidden" name="<?php echo $hidden_field_name; ?> " value="Y"> </p> </td> </tr> </table> </fieldset> </form> </div> </div> <?php }
/** * Manages artists - adds, deletes, edits. * * @author Alex Andrews <*****@*****.**> * @return void **/ function ribcage_manage_artists() { global $artists; global $artist; $index = false; // If we aren't on an artist page then we are on the index page. if (isset($_REQUEST['artist'])) { $artist_id = (int) $_REQUEST['artist']; } elseif (isset($_REQUEST['page']) && $_REQUEST['page'] == 'add_artist') { $index = false; } else { $index = true; } register_column_headers('ribcage-manage-artist', array('cb' => '<input type="checkbox" />', 'artist' => 'Artist')); if (isset($_REQUEST['ribcage_action'])) { global $wpdb; // Refactor, this is a terrible place for this to do this. if ($_REQUEST['ribcage_action'] !== 'add') { check_admin_referer('manage_artists'); } else { check_admin_referer('add_artist'); } unset($_POST['_wpnonce']); unset($_POST['_wp_http_referer']); unset($_POST['Submit']); //split apart associative array into different parts to prepare for implodes $post_keys = array_keys($_POST); $post_vals = array_values($_POST); //construct field name list and vals to post $string_keys = implode($post_keys, ","); $string_vals = "'" . implode($post_vals, "','") . "'"; $wpdb->show_errors(); switch ($_REQUEST['ribcage_action']) { case 'edit': $sql = "UPDATE " . $wpdb->prefix . "ribcage_artists\n\t\t\t\t\t\tSET "; $i = 0; foreach ($post_keys as $field) { $sql .= $field . "='" . $post_vals[$i] . "', "; $i++; } $sql .= " artist_id = " . $artist_id . " \n\t\t\t\t\t\tWHERE artist_id = " . $artist_id; $results = $wpdb->query($sql); $wpdb->hide_errors(); $artist = get_artist($artist_id); $message = 'updated'; break; case 'add': $sql = "INSERT INTO " . $wpdb->prefix . "ribcage_artists\n\t\t\t\t\t\t({$string_keys})\n\t\t\t\t\t\tVALUES\n\t\t\t\t\t\t({$string_vals})"; $results = $wpdb->query($sql); $wpdb->hide_errors(); $artist = get_artist_by_slug($_POST['artist_slug']); $message = 'added'; break; case 'delete': $del_artist = get_artistname_by_id($_REQUEST['artist']); delete_artist($_REQUEST['artist']); $message = "{$del_artist} deleted"; $index = 1; break; } echo '<div id="message" class="updated fade"><p><strong>Artist ' . $message . '.</strong></p></div>'; } if (!$index) { if (isset($_REQUEST['artist'])) { $artist = get_artist($_REQUEST['artist']); } ?> <div class="wrap"> <div id="icon-options-general" class="icon32"><br /></div> <?php if ($_REQUEST['page'] == 'add_artist') { ?> <h2>Add Artist</h2> <form action="<?php echo str_replace('%7E', '~', $_SERVER['REQUEST_URI']); ?> &ribcage_action=add" method="post" id="ribcage_edit_artist" name="edit_artist"> <?php wp_nonce_field('add_artist'); ?> <?php } ?> <?php if (isset($_REQUEST['artist'])) { ?> <h2>Managing <?php artist_name(); ?> </h2> <form action="<?php echo str_replace('%7E', '~', $_SERVER['REQUEST_URI']); ?> &ribcage_action=edit" method="post" id="ribcage_edit_artist" name="edit_artist"> <?php wp_nonce_field('manage_artists'); ?> <?php } ?> <table class="form-table"> <tr valign="top"> <th scope="row"><label for="artist_name">Name</label></th> <td> <input type="text" value="<?php artist_name(); ?> " name="artist_name" id="artist_name" class="regular-text"/> </td> </tr> <tr valign="top"> <th scope="row">Sort Name</th> <td> <input type="text" value="<?php artist_name_sort(); ?> " name="artist_name_sort" id="artist_name_sort" class="regular-text" /> <span class="description">The name of the artist to be alphabetized. For example, 'Butterfly, The'.</span> </td> </tr> <tr valign="top"> <th scope="row">Artist Slug</th> <td> <input type="text" style="width:320px;" class="regular-text code" value="<?php artist_slug(); ?> " name="artist_slug" id="artist_slug" /><span class="description">The URL you want for the artist - for example <a href="<?php echo home_url(); ?> /artists/artist_slug</span> </td> </tr> <tr valign="top"> <th scope="row">Signup Date</th> <td> <input type="text" style="width:100px;" class="regular-text code" value="<?php echo $artist['artist_signed']; ?> " name="artist_signed" id="artist_signed" maxlength="50" /><span class="description">The date the artist signed for your label</span> </td> </tr> <tr valign="top"> <th scope="row">Creative Commons license</th> <td> <?php echo ribcage_cc_dropdown($artist_license_val); ?> </td> </tr> <tr valign="top"> <th scope="row">Artist's Music Brainz ID</th> <td> <input type="text" style="width:320px;" class="regular-text code" value="<?php artist_musicbrainz(); ?> " name="artist_mbid" id="artist_mbid" maxlength="50" /> </td> </tr> <tr valign="top"> <th scope="row">Website URL</th> <td> <input type="text" style="width:320px;" class="regular-text code" value="<?php artist_website_link(); ?> " name="artist_link_website" id="artist_link_website" maxlength="200" /> </td> </tr> <tr valign="top"> <th scope="row">MySpace URL</th> <td> <input type="text" style="width:320px;" class="regular-text code" value="<?php artist_myspace_link(); ?> " name="artist_link_myspace" id="artist_link_myspace" maxlength="200" /> </td> </tr> <tr valign="top"> <th scope="row">Facebook URL</th> <td> <input type="text" style="width:320px;" class="regular-text code" value="<?php artist_facebook_link(); ?> " name="artist_link_facebook" id="artist_link_facebook" maxlength="200" /> </td> </tr> <tr valign="top"> <th scope="row">Artist Biography</th> <td> <textarea rows="5" cols="50" name="artist_bio" id="artist_bio" class="regular-text"><?php echo $artist['artist_bio']; ?> </textarea> </td> </tr> <tr valign="top"> <th scope="row">Short One Paragraph Description of Artist</th> <td> <textarea rows="5" cols="50" name="artist_blurb_tiny" id="artist_blurb_tiny" class="regular-text"><?php echo $artist['artist_blurb_tiny']; ?> </textarea> </td> </tr> <tr valign="top"> <th scope="row">Artist Picture 1</th> <td> <input type="text" style="width:320px;" class="regular-text code" value="<?php artist_picture_1(); ?> " name="artist_picture_1" id="artist_picture_1" maxlength="200" /> </td> </tr> <tr valign="top"> <th scope="row">Artist Picture 2</th> <td> <input type="text" style="width:320px;" class="regular-text code" value="<?php artist_picture_2(); ?> " name="artist_picture_2" id="artist_picture_2" maxlength="200" /> </td> </tr> <tr valign="top"> <th scope="row">Artist Picture 3</th> <td> <input type="text" style="width:320px;" class="regular-text code" value="<?php artist_picture_3(); ?> " name="artist_picture_3" id="artist_picture_3" maxlength="200" /> </td> </tr> <tr valign="top"> <th scope="row">Artist Picture HQ Zipfile URL</th> <td> <input type="text" style="width:320px;" class="regular-text code" value="<?php echo $artist_picture_zip_val; ?> " name="artist_picture_zip" id="artist_picture_zip" maxlength="200" /> </td> </tr> </table> <p class="submit"> <input type="submit" name="Submit" class="button-primary" value="Save Changes" /> </p> </form> </div> <?php } else { ?> <?php $artists = list_artists_blurb(); $alt = 0; ?> <div class="wrap"> <div id="icon-plugins" class="icon32"><br /></div> <h2>Manage Artists</h2> <form action="<?php echo str_replace('%7E', '~', $_SERVER['REQUEST_URI']); ?> " method="post" id="ribcage_manage_artists" name="manage_artists"> <table class="widefat post fixed" cellspacing="0"> <thead> <tr> <?php print_column_headers('ribcage-manage-artist'); ?> </tr> </thead> <tfoot> <tr> <?php print_column_headers('ribcage-manage-artist', FALSE); ?> </tr> </tfoot> <tbody> <?php while (have_artists()) { the_artist(); ?> <?php $manage_link = wp_nonce_url('?page=ribcage&artist=' . artist_id(false), 'manage_artists'); $delete_link = wp_nonce_url('?page=ribcage&artist=' . artist_id(false) . '&ribcage_action=delete', 'manage_artists'); ?> <?php echo $alt % 2 ? '<tr valign="top" class="">' : '<tr valign="top" class="alternate">'; ++$alt; ?> <th scope="row" class="check-column"><input type="checkbox" name="artistcheck[]" value="2" /></th> <td class="column-name"> <strong><a class="row-title" href="?page=manage_artists&artist=<?php artist_id(); ?> " title="<?php artist_name(); ?> " ><?php artist_name(); ?> </strong></a><br /><div class="row-actions"><span class='edit'><a href="<?php echo $manage_link; ?> ">Edit</a> | </span><span class='delete'><a class='submitdelete' href='<?php echo $delete_link; ?> ' onclick="if ( confirm('You are about to delete \'<?php artist_name(); ?> \'\n \'Cancel\' to stop, \'OK\' to delete.') ) { return true;}return false;">Delete</a></span></div></td> </tr> <?php } ?> </tbody> </table> </form> </div> <?php } }
function ribcage_manage_artists($value = '') { if (isset($_REQUEST['artist'])) { global $wpdb; $artist_id = (int) $_REQUEST['artist']; $hidden_field_name = 'ribcage_artist_edit'; $button_name = 'Edit Artist'; if ($_POST[$hidden_field_name] == 'M') { // an artist is posted //slice off two variables at the end to prepare for implodes array_pop($_POST); // hidden var array_pop($_POST); // submit button var //split apart associative array into different parts to prepare for implodes $post_keys = array_keys($_POST); $post_vals = array_values($_POST); //construct field name list and vals to post $string_keys = implode($post_keys, ","); $string_vals = "'" . implode($post_vals, "','") . "'"; $wpdb->show_errors(); //construct query $sql = "UPDATE " . $wpdb->prefix . "ribcage_artists\n\t\t\t\tSET "; $i = 0; foreach ($post_keys as $field) { $sql .= $field . "='" . $post_vals[$i] . "', "; $i++; } $sql .= " artist_id = " . $artist_id . " \n\t\t\t\tWHERE artist_id = " . $artist_id; # echo "<pre>$sql</pre>"; exit(); $results = $wpdb->query($sql); $wpdb->hide_errors(); //display snazzy update fade thing when they are added echo <<<EOT \t\t\t<div id="message" class="updated fade"><p><strong>Artist updated.</strong></p></div> EOT; } $artist = get_artist($_REQUEST['artist']); $artist_name_val = $artist['artist_name']; $artist_name_sort_val = $artist['artist_name_sort']; $artist_slug_val = $artist['artist_slug']; $artist_mbid_val = $artist['artist_mbid']; $artist_signed_val = $artist['artist_signed']; $artist_license_val = $artist['artist_license']; $artist_bio_val = $artist['artist_bio']; $artist_picture1_val = $artist['artist_picture1']; $artist_picture2_val = $artist['artist_picture2']; $artist_picture3_val = $artist['artist_picture3']; $artist_picturezip_val = $artist['artist_picturezip']; $artist_contact_email_val = $artist['artist_contact_email']; $artist_contact_phone_val = $artist['artist_contact_phone']; $artist_blurb_tiny_val = $artist['artist_blurb_tiny']; $artist_blurb_short_val = $artist['artist_blurb_short']; $artist_link_website_val = $artist['artist_link_website']; $artist_link_myspace_val = $artist['artist_link_myspace']; $artist_link_facebook_val = $artist['artist_link_facebook']; ?> <div class="wrap"> <h2>Manage <em><?php echo $artist['artist_name']; ?> </em> (#<?php echo $artist['artist_id']; ?> )</h2> <form action="<?php echo str_replace('%7E', '~', $_SERVER['REQUEST_URI']); ?> " method="post" id="ribcage_edit_artist" name="edit_artist"> <fieldset> <legend>Artist info</legend> <table class="optiontable"> <tr valign="top"> <th scope="row"><strong>Name: </strong></th> <td> <input type="text" style="width:320px;" class="cleardefault" value="<?php echo $artist_name_val; ?> " name="artist_name" id="artist_name" maxlength="200" /> </td> </tr> <tr valign="top"> <th scope="row"><strong>Sort Name: </strong></th> <td> <input type="text" style="width:320px;" class="cleardefault" value="<?php echo $artist_name_sort_val; ?> " name="artist_name_sort" id="artist_name_sort" /> </td> </tr> <tr valign="top"> <th scope="row"><strong>Artist Slug: </strong></th> <td> <input type="text" style="width:320px;" class="cleardefault" value="<?php echo $artist_slug_val; ?> " name="artist_slug" id="artist_slug" /> </td> </tr> <!--<tr valign="top"> <th scope="row"><strong>Starting hits: </strong></th> <td> <input type="text" style="width:100px;" class="cleardefault" value="<?php echo $artist_hits_val; ?> " name="artist_hits" id="artist_hits" maxlength="50" /> </td> </tr>--> <tr valign="top"> <th scope="row"><strong>Artist's Music Brainz ID: </strong></th> <td> <input type="text" style="width:320px;" class="cleardefault" value="<?php echo $artist_mbid_val; ?> " name="artist_mbid" id="artist_mbid" maxlength="50" /> </td> </tr> <tr valign="top"> <th scope="row"><strong>Signup Date: </strong></th> <td> <input type="text" style="width:100px;" class="cleardefault" value="<?php echo $artist_signed_val; ?> " name="artist_signed" id="artist_signed" maxlength="50" /> </td> </tr> <tr valign="top"> <th scope="row"><strong>Creative Commons license: </strong></th> <td> <?php echo ribcage_cc_dropdown($artist_license_val); ?> </td> </tr> <tr valign="top"> <th scope="row"><strong>Artist Biography: </strong></th> <td> <textarea rows="5" cols="50" name="artist_bio" id="artist_bio"><?php echo $artist_bio_val; ?> </textarea> </td> </tr> <tr valign="top"> <th scope="row"><strong>Artist Picture 1: </strong></th> <td> <input type="text" style="width:320px;" class="cleardefault" value="<?php echo $artist_picture_1_val; ?> " name="artist_picture_1" id="artist_picture_1" maxlength="200" /> </td> </tr> <tr valign="top"> <th scope="row"><strong>Artist Picture 2: </strong></th> <td> <input type="text" style="width:320px;" class="cleardefault" value="<?php echo $artist_picture_2_val; ?> " name="artist_picture_2" id="artist_picture_2" maxlength="200" /> </td> </tr> <tr valign="top"> <th scope="row"><strong>Artist Picture 3: </strong></th> <td> <input type="text" style="width:320px;" class="cleardefault" value="<?php echo $artist_picture_3_val; ?> " name="artist_picture_3" id="artist_picture_3" maxlength="200" /> </td> </tr> <tr valign="top"> <th scope="row"><strong>Artist Picture HQ Zipfile URL: </strong></th> <td> <input type="text" style="width:320px;" class="cleardefault" value="<?php echo $artist_picture_zip_val; ?> " name="artist_picture_zip" id="artist_picture_zip" maxlength="200" /> </td> </tr> <tr valign="top"> <th scope="row"><strong>Artist E-mail: </strong></th> <td> <input type="text" style="width:320px;" class="cleardefault" value="<?php echo $artist_contact_email_val; ?> " name="artist_contact_email" id="artist_contact_email" maxlength="150" /> </td> </tr> <tr valign="top"> <th scope="row"><strong>Artist Phone: </strong></th> <td> <input type="text" style="width:100px;" class="cleardefault" value="<?php echo $artist_contact_phone_val; ?> " name="artist_contact_phone" id="artist_contact_phone" maxlength="20" /> </td> </tr> <tr valign="top"> <th scope="row"><strong>One-sentence Description of Artist: </strong></th> <td> <input type="text" style="width:320px;" class="cleardefault" value="<?php echo $artist_blurb_tiny_val; ?> " name="artist_blurb_tiny" id="artist_blurb_tiny" maxlength="255" /> </td> </tr> <tr valign="top"> <th scope="row"><strong>One-paragraph Description of Artist: </strong></th> <td> <textarea rows="5" cols="50" name="artist_blurb_short" id="artist_blurb_short"><?php echo $artist_blurb_short_val; ?> </textarea> </td> </tr> <tr valign="top"> <th scope="row"><strong>Website URL: </strong></th> <td> <input type="text" style="width:320px;" class="cleardefault" value="<?php echo $artist_link_website_val; ?> " name="artist_link_website" id="artist_link_website" maxlength="200" /> </td> </tr> <tr valign="top"> <th scope="row"><strong>MySpace URL: </strong></th> <td> <input type="text" style="width:320px;" class="cleardefault" value="<?php echo $artist_link_myspace_val; ?> " name="artist_link_myspace" id="artist_link_myspace" maxlength="200" /> </td> </tr> <tr valign="top"> <th scope="row"><strong>Facebook URL: </strong></th> <td> <input type="text" style="width:320px;" class="cleardefault" value="<?php echo $artist_link_facebook_val; ?> " name="artist_link_facebook" id="artist_link_facebook" maxlength="200" /> </td> </tr> <tr> <th scope="row"></th> <td> <p class="submit"> <input type="submit" class="btn" name="save" style="padding:5px 30px 5px 30px;" value="<?php echo $button_name; ?> " /> <input type="hidden" name="<?php echo $hidden_field_name; ?> " value="M"> </p> </td> </tr> </table> </fieldset> </form> </div> <?php } else { ?> <div class="wrap"> <h2>Manage Artists</h2> <form action="<?php echo str_replace('%7E', '~', $_SERVER['REQUEST_URI']); ?> " method="post" id="ribcage_manage_artists" name="manage_artists"> <fieldset> <legend>Here's your label's Artists. Take care of them!</legend> <table class="optiontable"> <thead> <tr valign="top"> <td>#</td> <td>Name</td> <td>Sort Name</td> <td>Picture</td> </tr> </thead> <tbody> <?php $artists = list_artists_blurb(); foreach ($artists as $artist) { ?> <tr valign="top"> <td><?php echo $artist['artist_id']; ?> </td> <td><a href="?page=manage_artists&artist=<?php echo $artist['artist_id']; ?> "> <?php echo $artist['artist_name']; ?> </a></td> <td><?php echo $artist['artist_name_sort']; ?> </td> <td><?php echo $artist['artist_thumb']; ?> </td> </tr> <?php } ?> </tbody> </table> </fieldset> </form> </div> <?php } }