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;

DB/Web.pm  view on Meta::CPAN

  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 )