Audio-DB
view release on metacpan or search on metacpan
DB/Util/Playlists.pm view on Meta::CPAN
$self->print_navigation($self->build_nav_link(-class=>'playlist',-action=>'create_new_playlist',
-text=>'Create New Playlist'));
}
print start_div({-class=>'actioncontent'});
print "Use this form to add a new playlist.";
Delete('playlist');
print startform(),
start_table(),
TR(td('Playlist Name'),td(textfield({-name=>'playlist'}))),
TR(td('Description'),td(textfield({-name=>'description'}))),
TR(td('Publically viewable?'),td(popup_menu({-name=>'is_shared',-values=>[qw/yes no/]}))),
TR(td({-colspan=>2,-align=>'right'},
submit(-name=>'submit',-label=>'Add New Playlist'))),
end_table;
# Fetch all the user playlists
print end_div;
}
}
DB/Util/Playlists.pm view on Meta::CPAN
print TR(td(\@cols));
# First I need to print a header for the playlist, letting user edit the name
# and shared properties.
# print
# hidden(-name=>'playlist_id',-value=>$h->{playlist_id});
# print
# TR(td(textfield({-name=>'playlist',-value=>$h->{playlist},-size=>15})),
## td(textfield({-name=>'description',-value=>$h->{description},-size=>15})),
# td(textfield({-name=>'email',-value=>$h->{created},-size=>20})),
# td(popup_menu({-name=>'is_shared',-values=>[qw/yes no/]})));
#
# $sth->execute();
# while (my $h = $sth->fetchrow_hashref) {
#
# }
print end_table;
print submit(-name=>'submit',-label=>'Update Users');
print end_div;
}
DB/Util/Playlists.pm view on Meta::CPAN
}
sub delete_all_playlists {
}
sub playlist_popup {
my $self = shift;
# Flow
# 1. Create the popup window
# 2. Fetch user playlists
# 3. Display form
# Processing...
# Should songs be added to new playlist?
# Creat playlist, then add songs.
# Should songs be added to existing playlist?
# Popupmen presents: view playlist or return...
# Example code for creating a javapopup window
# <script language="javascript" type="text/javascript">
# function OpenComments (c) {
# window.open('<$MTCGIPath$>mt-comments.cgi?' +
# 'entry_id=' + c,
# 'comments',
# 'width=480,height=480,scrollbars=yes,status=yes');
#}
#</script>
#
#}
DB/Util/Playlists.pm view on Meta::CPAN
sub fetch_playlists {
my ($self,@p) = @_;
my ($type,$id) = rearrange([qw/TYPE ID/],@p);
# Cases:
# 1. fetch playlists for a specific user,
# 2. Browse all playlists
# 3. fetch an individual playlist
# UI could present a popupmenu for each user
# Or alternatively, could expand them all
my $user_id = $self->{user_id};
my $dbh = $self->dbh;
# This is the flat query that simply returns all the playlists
# but does not actually list the song ids
my %queries = ( by_user => qq{select * from playlists where user_id=?},
all => qq{select * from playlists,users where
playlists.user_id=users.user_id
ORDER BY last_name},
DB/Util/SystemConfig.pm view on Meta::CPAN
print div({-class=>'actionbyline'},"Use this form to add new users to the Music Repository");
print start_div({-class=>'actioncontent'});
print startform(),
start_table(),
TR(td('first name'),td(textfield({-name=>'first_name'}))),
TR(td('last name'),td(textfield({-name=>'last_name'}))),
TR(td('email'),td(textfield({-name=>'email'}))),
TR(td('username'),td(textfield({-name=>'username'}))),
TR(td('password'),td(textfield({-name=>'password'}))),
TR(td('priviledges'),
td(popup_menu({-name=>'privs',-values=>[qw/user admin overlord/]}))),
TR(td({-colspan=>2,-align=>'right'},
submit(-name=>'submit',-label=>'Add New User'))),
end_form,
end_table;
print end_div;
}
sub print_edit_form {
my $self = shift;
my @cols = qw/First Last Email Username Password Priviledges/;
DB/Util/SystemConfig.pm view on Meta::CPAN
$sth->execute();
while (my $h = $sth->fetchrow_hashref) {
print
hidden(-name=>'user_id',-value=>$h->{user_id});
print
TR(td(textfield({-name=>'first_name',-value=>$h->{first_name},-size=>15})),
td(textfield({-name=>'last_name',-value=>$h->{last_name},-size=>15})),
td(textfield({-name=>'email',-value=>$h->{email},-size=>20})),
td(textfield({-name=>'username',-value=>$h->{username},-size=>10})),
td(textfield({-name=>'password',-value=>$h->{password},-size=>10})),
td(popup_menu({-name=>'privs',-values=>[qw/user admin overlord/],
-default=>$h->{privs}})));
}
print end_table;
print submit(-name=>'submit',-label=>'Update Users');
print end_div;
}
sub process_edit_form {
my $self = shift;
foreach (@$playlists) {
push (@ids,$_->{playlist_id});
$labels{$_->{playlist_id}} = $_->{playlist};
}
print start_table({-width=>'100%'});
print TR({-class=>'colheaders'},td('action'),td('tracks'),td('Available Playlists'),td(''));
print TR(
td(radio_group({-name=>'todo',
-values=>['stream','fetch','add to playlist'],
-linebreak=>1})),
# td(popup_menu({-values=>['stream','fetch','to playlist...']})),
td(radio_group({-name=>'the_chosen',
-values=>[qw/All Selected/],
-linebreak=>1})),
td(popup_menu({-name=>'playlist',
-values=>\@ids,
-labels=>\%labels})),
td(submit()));
print a({-href=>"javascript:OpenPlaylists(" . $self->{user_id} . ")"},
"Add to playlist...");
# print a({-onclick=>"window.open('music.cgi?action=add_to_playlist&user
#-href=>"javascript:OpenPlaylists(" . $self->{user_id} . ")"},
# "Add to playlist...");
( run in 2.798 seconds using v1.01-cache-2.11-cpan-364913b4093 )