public
Description: Open source non-commercial music platform: http://alonetone.com
Homepage: http://alonetone.com
Clone URL: git://github.com/sudara/alonetone.git
Search Repo:
tying to rails edge
sudara (author)
Mon Apr 28 06:43:48 -0700 2008
commit  d9cd58cb980f0e8ca19be5261b38d32ea9c48ef0
tree    b06e6312c9b56f9517c345ed21a445bf97fdd33c
parent  ff02703bcbb360067091433bf0ce95215126147d
...
 
 
 
...
1
2
3
0
@@ -1 +1,4 @@
0
+[submodule "vendor/rails"]
0
+ path = vendor/rails
0
+ url = git://github.com/rails/rails.git
...
122
123
124
125
 
 
126
127
128
...
122
123
124
 
125
126
127
128
129
0
@@ -122,7 +122,8 @@
0
       flash[:ok] = flashes
0
       redirect_to user_tracks_path(current_user)
0
     else
0
- flash[:error] = flashes
0
+ flash[:error] = flashes
0
+ flash[:error] = "Please try again with a file that is not empty (or miniscule) and is an mp3. <br/>Click the HALP! button or email sudara@alonetone.com for more help" if @assets.size == 0
0
       redirect_to new_user_track_path(current_user)
0
     end
0
   end
...
38
39
40
41
 
42
43
44
...
38
39
40
 
41
42
43
44
0
@@ -38,7 +38,7 @@
0
       format.html do
0
         @page_title = @user.name + " on alonetone - latest music & playlists"
0
         @tab = 'your_stuff' if current_user == @user
0
- @assets = @user.assets.paginate(:all, :per_page => 5, :page=>params[:page])
0
+ @assets = @user.assets.find(:all, :limit => 5)
0
         @playlists = @user.playlists.find(:all,:conditions => [ "tracks_count > 0"])
0
         @listens = @user.listens.find(:all, :limit =>5)
0
         @track_plays = @user.track_plays.find(:all, :limit =>10)
...
5
6
7
8
 
9
10
11
...
5
6
7
 
8
9
10
11
0
@@ -5,7 +5,7 @@
0
   end
0
   
0
   def myspace_for(user)
0
- link_to "#{user.name} on Myspace.com",('http://'+h(user.myspace))
0
+ link_to "#{user.name} on Myspace.com",('http://myspace.com'+h(user.myspace))
0
   end
0
   
0
   def itunes_link_for(user)
...
103
104
105
106
 
107
 
 
108
109
110
...
103
104
105
 
106
107
108
109
110
111
112
0
@@ -103,8 +103,10 @@
0
     end
0
   # pass back the file unprocessed if the file is not a zip
0
   rescue Zip::ZipError => e
0
- logger.warn("An error occured with attempted extraction from #{zip_file.path}:"+e)
0
+ logger.warn("User uploaded #{zip_file.path}:"+e)
0
     yield zip_file
0
+ rescue TypeError => e
0
+ logger.warn("User tried to upload too small file");
0
   end
0
   
0
   def self.latest(limit=10)
...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
...
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
0
@@ -1,19 +1,19 @@
0
- <div class="play-button button"><%= link_to_play asset, referer %></div>
0
- <div class="title">
0
- <%= link_to track_name_for(asset,30), user_track_path(asset.user, asset.permalink), :class => 'track_link' %><br>
0
-
0
- <%= yield %>
0
- <span class='counter'> </span>
0
-
0
- <% if setting(:display_listen_count) == 'true' %>
0
- <span class="listen_count"><%= asset.listens_count %></span>
0
- <% end %>
0
-
0
- <span class='time'><%= asset.length%></span>
0
- <span class="when" style="display:none;"><%= time_ago_in_words asset.created_at %> ago</span>
0
- </div>
0
-
0
- <div class="download-button button">
0
- <%= link_to ' ', formatted_user_track_path(asset.user, asset.permalink, :mp3, :referer => 'download'), :class=> 'download button' %>
0
- </div>
0
+<div class="play-button button"><%= link_to_play asset, referer %></div>
0
+<div class="title">
0
+ <%= link_to track_name_for(asset,30), user_track_path(asset.user, asset.permalink), :class => 'track_link' %><br>
0
+
0
+ <%= yield %>
0
+ <span class='counter'> </span>
0
+
0
+ <% if setting(:display_listen_count) == 'true' %>
0
+ <span class="listen_count"><%= asset.listens_count %></span>
0
+ <% end %>
0
+
0
+ <span class='time'><%= asset.length%></span>
0
+ <span class="when" style="display:none;"><%= time_ago_in_words asset.created_at %> ago</span>
0
+</div>
0
+
0
+<div class="download-button button">
0
+ <%= link_to ' ', formatted_user_track_path(asset.user, asset.permalink, :mp3, :referer => 'download'), :class=> 'download button' %>
0
+</div>
...
8
9
10
11
12
13
14
15
16
17
18
 
 
 
 
 
19
20
21
22
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
23
 
 
 
 
 
24
25
 
26
27
28
29
30
31
 
32
33
...
8
9
10
 
 
 
 
 
 
 
 
11
12
13
14
15
16
 
 
 
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
 
50
51
52
 
 
 
 
53
54
55
0
@@ -8,27 +8,49 @@
0
     </ul>
0
   
0
     <div id="details_track_<%= asset.unique_id %>">
0
- <%= asset.description %><br/><br/>
0
- Bitrate: <%= asset.bitrate %><br/>
0
- Length: <%= asset.length %><br/>
0
- Listen count: <%= asset.listens_count %><br/>
0
- <div class="home_page_link">
0
- <%= link_to "view more", user_track_path(asset.user, asset.permalink), :class => 'view_more' %>
0
- </div>
0
- </div>
0
+ <% if asset.present?(:description) %>
0
+ <div class="panel no_border">
0
+ <%= asset.description %>
0
+ </div>
0
+ <% end %>
0
   
0
- <div id="share_track_<%= asset.unique_id %>">
0
- <%= render :partial => 'assets/share', :object => asset %>
0
- </div>
0
+ <div class="panel no_border">
0
+ Uploaded <strong><%= time_ago_in_words asset.created_at %></strong> ago<br/>
0
+ Listened to <strong><%= asset.listens_count %></strong> times<br/>
0
+ <% if asset.comments.size > 0 %>
0
+ Commented on <strong><%= asset.comments.size %></strong> times
0
+ <% end %>
0
+ </div>
0
+
0
+ <div class="panel">
0
+ <div class="track_links">
0
+ <%= link_to "view more", user_track_path(asset.user, asset.permalink), :class => 'view_more' %>
0
+ <% if authorized_for(asset) %>
0
+ <%= link_to "edit", edit_user_track_path(asset.user, asset), :class => 'edit' %>
0
+ <% end %>
0
+ </div>
0
+ </div>
0
+
0
+ <% if admin? %>
0
+ <div class="panel">
0
+ <strong>MP3 Tags (admin)</strong><br/>
0
+ Name: <%= h asset.filename %> (<%=h asset.title%>)<br/>
0
+ Artist: <%=h asset.artist %><br/>
0
+ Album: <%=h asset.album %><br/>
0
+ </div>
0
+ <% end %>
0
+ </div>
0
 
0
+
0
+ <div id="share_track_<%= asset.unique_id %>">
0
+ <%= render :partial => 'assets/share', :object => asset %>
0
+ </div>
0
+
0
     <div id="comment_track_<%= asset.unique_id %>">
0
- <%= render :partial => 'assets/comment', :object => asset %>
0
+ <%= render :partial => 'assets/comment', :object => asset %>
0
     </div>
0
   
0
- <% if authorized_for(asset) %>
0
- <div class="edit" style='display:none;'><%= link_to "edit", edit_user_track_path(asset.user, asset) %></div>
0
- <% else %>
0
- <% end %>
0
+
0
   
0
   </div>
...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
24
25
 
 
 
 
 
 
...
1
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
18
19
20
21
22
23
0
@@ -1,26 +1,24 @@
0
 <%= error_messages_for :asset %>
0
-
0
-<% form_for :asset, :url => user_tracks_path(current_user), :html => { :multipart => true } do |f| %>
0
- <div id="uploader">
0
- <dl class="group" id="fileform">
0
- <dt id="filelbls">
0
- </dt>
0
- <dd class="asset-data">
0
- <ul id="filefields">
0
- <li>
0
- <%= file_field_tag 'asset_data[]', :class=> 'asset_data' %>
0
- </li>
0
- </ul>
0
- </dd>
0
- </dl>
0
-
0
- <p class="buttons">
0
- <div id="uploading" style="display:none;"> <%= image_tag 'uploading.gif'%></div>
0
-
0
- <%= submit_tag 'Upload!', :id => 'upload', :disable_with => 'Uploading, be patient now...' %>
0
-
0
- </p>
0
-
0
+<div id="uploader">
0
+ <% form_for :asset, :url => user_tracks_path(current_user), :html => { :multipart => true } do |f| %>
0
+ <dl class="group" id="fileform">
0
+ <dt id="filelbls">
0
+ </dt>
0
+ <dd class="asset-data">
0
+ <ul id="filefields">
0
+ <li>
0
+ <%= file_field_tag 'asset_data[]', :class=> 'asset_data' %>
0
+ </li>
0
+ </ul>
0
+ </dd>
0
+ </dl>
0
+ <div class="submit_wrapper">
0
+ <%= submit_tag 'Upload!', :id => 'upload' %>
0
   </div>
0
- <% end -%>
0
+ <% end -%>
0
+ <div id="uploading" style='display:none'>
0
+ <%= image_tag 'uploading.gif'%>
0
+ </div>
0
+
0
+</div>
...
1
2
3
4
 
 
5
...
1
2
 
 
3
4
5
0
@@ -1,6 +1,6 @@
0
 <h2 class="box">Stats</h2>
0
 <div class="static_content">
0
-...uploaded <%= time_ago_in_words(@asset.created_at) %> ago on <%= @asset.created_at.to_date.to_s(:long) %><br/>
0
-...listened to <%= @asset.listens_count %> times
0
+Uploaded <strong><%= time_ago_in_words(@asset.created_at) %></strong> ago on <%= @asset.created_at.to_date.to_s(:long) %><br/>
0
+Listened to <strong><%= @asset.listens_count %></strong> times
0
 </div>
...
15
16
17
18
19
20
21
22
23
...
15
16
17
 
 
 
18
19
20
0
@@ -15,9 +15,6 @@
0
       <object width="425" height="355"><param name="movie" value="http://www.youtube.com/v/<%=@asset.youtube_embed%>&rel=0&color1=0xd6d6d6&color2=0xf0f0f0&border=0"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/<%=@asset.youtube_embed%>&rel=0&color1=0xd6d6d6&color2=0xf0f0f0&border=0" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"></embed></object>
0
     <% end %>
0
   </div>
0
-
0
- <%= link_to 'edit or delete', edit_user_track_path(@asset.user.login,@asset),:class =>'edit' if authorized_for(@asset) %>
0
-
0
       
0
    <%= render :partial => 'stats'%>
0
   <% end %>
...
175
176
177
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
178
179
180
...
561
562
563
 
 
564
565
...
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
...
591
592
593
594
595
596
597
0
@@ -175,6 +175,36 @@
0
   
0
 });
0
 
0
+Uploader = $.klass({
0
+ initialize: function(){
0
+ this.form = $('form');
0
+ this.submit = $('#upload',this.form);
0
+ this.field = $('ul#filefields > li > input');
0
+ this.clone = $('ul#filefields > li:first')
0
+ this.field.change($.bind(this.addField, this));
0
+ this.count = 0;
0
+ this.uploading = $('#uploading');
0
+ this.form.submit($.bind(this.waiting, this));
0
+ },
0
+ addField: function(e){
0
+ console.log('add field');
0
+ $('ul#filefields').append(this.clone.clone());
0
+ $('ul#filefields li:last input').val('').change($.bind(this.addField, this));
0
+ this.count++;
0
+ this.submit.val('Upload '+this.count+' files');
0
+ },
0
+ waiting: function(){
0
+ this.submit.attr('disabled', 'disabled');
0
+ this.submit.val('uploading...');
0
+ this.form.hide();
0
+ this.uploading.show();
0
+ this.uploading.prepend('Uploading '+this.count+' files...<br/><br/>');
0
+ }
0
+
0
+
0
+});
0
+
0
+
0
 PlaylistSource = $.klass({
0
   onclick: $.delegate({
0
     '.pagination a' : function(e){
0
@@ -561,6 +591,8 @@
0
 
0
   $('a.hide_notice').attach(DismissableNotice);
0
 
0
+ // uploader
0
+ $('#uploader').attach(Uploader);
0
 
0
 });
...
276
277
278
 
 
 
 
 
 
 
 
 
 
 
 
 
 
279
280
281
...
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
0
@@ -276,6 +276,20 @@
0
     :float left
0
     :background transparent url(../images/backgrounds/user_bar.png) repeat-x scroll left top
0
 
0
+
0
+// uploading
0
+#uploader
0
+ form
0
+ #filefields
0
+ li
0
+ :list-style none
0
+ #uploading
0
+ :width 100%
0
+ :height 100px
0
+ :text-align center
0
+ :font-size 18px
0
+ :font-weight bold
0
+
0
       
0
 // static content
0
 
...
109
110
111
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
112
113
114
...
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
0
@@ -109,6 +109,22 @@
0
     :font-weight bold
0
     :font-size 14px
0
     :text-align center
0
+ .panel
0
+ :border-top 1px solid #000
0
+ :width 380px
0
+ :padding 10px 20px
0
+ :margin-left -20px
0
+ :border-top-color = !body_background
0
+ &.no_border
0
+ :border none
0
+ .track_links
0
+ :height 22px
0
+ a
0
+ :margin-top 0
0
+ :display block
0
+ :font-weight bold
0
+
0
+
0
 
0
 .ui-tabs-loading em
0
   :padding 0 0 0 20px
...
105
106
107
 
 
108
109
110
...
116
117
118
119
 
120
121
122
...
130
131
132
133
 
 
 
134
135
136
...
105
106
107
108
109
110
111
112
...
118
119
120
 
121
122
123
124
...
132
133
134
 
135
136
137
138
139
140
0
@@ -105,6 +105,8 @@
0
   
0
 div.flash
0
   :background url(../images/backgrounds/flash.png) repeat-x top left
0
+ :background-color = !orange_background
0
+ :border-bottom 1px solid #000
0
   :font-size 24px
0
   :color = !white
0
   :padding 20px 30px
0
@@ -116,7 +118,7 @@
0
   :padding-right 12px
0
   
0
 .content
0
- a.view_all, a.edit
0
+ a.view_all, a.edit, a.view_more
0
     :color = !text_color
0
     :position relative
0
     :float right
0
@@ -130,7 +132,9 @@
0
   :font-weight bold
0
   :color = !orange
0
   
0
-
0
+
0
+span.orange
0
+ :color = !orange
0
     
0
 // for example the sort url and add url on edit playlists
0
 a.hidden
...
14
15
16
 
17
18
19
...
14
15
16
17
18
19
20
0
@@ -14,6 +14,7 @@
0
 
0
 !white = #f6fceb
0
 !orange = #da6d25
0
+!orange_background = #e66d29
0
 
0
 
0
 // text

Comments

    No one has commented yet.