diff --git a/app/site_files.rb b/app/site_files.rb index 25286887..c65abc2d 100644 --- a/app/site_files.rb +++ b/app/site_files.rb @@ -125,13 +125,12 @@ post '/site_files/upload' do unless params[:file_paths].nil? || params[:file_paths].empty? || params[:file_paths].length == 0 file_path = params[:file_paths][i] - unless file_path.nil? dir_name += '/' + Pathname(file_path).dirname.to_s end end - file[:filename] = "#{dir_name}/#{file[:filename]}" + file[:filename] = "#{dir_name}/#{site.scrubbed_path file[:filename]}" if current_site.file_size_too_large? file[:tempfile].size file_upload_response "#{file[:filename]} is too large, upload cancelled." end diff --git a/models/site.rb b/models/site.rb index cfe97bc0..a47b0cfb 100644 --- a/models/site.rb +++ b/models/site.rb @@ -1607,23 +1607,17 @@ class Site < Sequel::Model DB["update sites set space_used=space_used#{new_size < 0 ? new_size.to_s : '+'+new_size.to_s} where id=?", self.id].first if opts[:new_install] != true - if files.select {|f| f[:filename] =~ /^\/?index.html$/}.length > 0 || site_changed == true - index_changed = true - else - index_changed = false + if files.select {|f| f[:filename] =~ /^\/?index.html$/}.length > 0 && site_changed != true && !empty_index? + DB[:sites].where(id: self.id).update site_changed: true end - index_changed = false if empty_index? - time = Time.now - sql = DB["update sites set site_changed=?, site_updated_at=?, updated_at=?, changed_count=changed_count+1 where id=?", - index_changed, + DB["update sites set site_updated_at=?, updated_at=?, changed_count=changed_count+1 where id=?", time, time, self.id - ] - sql.first + ].first if ipfs_archiving_enabled == true ArchiveWorker.perform_in Archive::ARCHIVE_WAIT_TIME, self.id diff --git a/views/dashboard.erb b/views/dashboard.erb index 63197bfa..fa5be252 100644 --- a/views/dashboard.erb +++ b/views/dashboard.erb @@ -337,7 +337,8 @@ }) this.on("sending", function(file) { - $('#uploads').append('') + if(file.fullPath !== undefined) + $('#uploads').append('') }) } }