store 'Expire-at' as integer instead of string
[coquelicot.git] / coquelicot.rb
index 960fb29..d71bd7a 100644 (file)
@@ -101,7 +101,7 @@ private
     if @meta["Coquelicot"].nil? or @meta["Coquelicot"] != COQUELICOT_VERSION then
       raise "unknown file"
     end
-    @expire_at = Time.at(@meta['Expire-at'].to_i)
+    @expire_at = Time.at(@meta['Expire-at'])
   end
 
   def init_decrypt_cipher(pass)
@@ -311,6 +311,10 @@ get '/' do
   haml :index
 end
 
+get '/random_pass' do
+  "#{gen_random_pass}"
+end
+
 get '/ready/:link' do |link|
   link, pass = link.split '-' if link.include? '-'
   begin
@@ -353,7 +357,7 @@ post '/upload' do
   src = params[:file][:tempfile]
   link = depot.add_file(
      src, pass,
-     { "Expire-at" => expire_at.strftime('%s'),
+     { "Expire-at" => expire_at.to_i,
        "Filename" => params[:file][:filename],
        "Length" => src.stat.size,
        "Content-Type" => params[:file][:type]
@@ -428,10 +432,21 @@ __END__
     %script{ :type => 'text/javascript', :src => 'javascripts/jquery.min.js' }
     %script{ :type => 'text/javascript', :src => 'javascripts/jquery.lightBoxFu.js' }
     %script{ :type => 'text/javascript', :src => 'javascripts/jquery.uploadProgress.js' }
+    :javascript
+      var generateRandomPassword = 'Generate random';
+      var generatingRandomPassword = 'Generating…';
     %script{ :type => 'text/javascript', :src => 'javascripts/coquelicot.js' }
   %body
     #container
       = yield
+    #footer
+      %span Coquelicot © 2010 potager.org
+      %span
+        —
+        %a{ :href => 'http://www.gnu.org/licenses/agpl.txt' } AGPLv3
+        —
+      %span
+        %code git clone #{base_href}coquelicot.git
 
 @@ index
 %h1 Share a file!
@@ -545,10 +560,18 @@ h1
   width: 12em
   text-align: right
 
-.input
+.input, .random-pass
   float: left
   width: 15em
 
+.random-pass
+  font-family: monospace
+  font-size: large
+  color: black
+
+#gen_pass
+  font-size: small
+
 .field
   clear: left
 
@@ -564,3 +587,10 @@ h1
   background: url('images/ajax-loader.gif') no-repeat
   width: 0px
   height: 19px
+
+#footer
+  margin-top: 7em
+  padding-top: 1em
+  border-top: dashed 1px black
+  text-align: center
+  font-size: small