contact.rb 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. get '/contact' do
  2. erb :'contact'
  3. end
  4. post '/contact' do
  5. @errors = []
  6. if params[:email].empty? || params[:subject].empty? || params[:body].empty?
  7. @errors << 'Please fill out all fields'
  8. end
  9. if params[:faq_check] == 'no'
  10. @errors << 'Please check Frequently Asked Questions before sending a contact message'
  11. end
  12. unless hcaptcha_valid?
  13. @errors << 'Captcha was not filled out (or was filled out incorrectly)'
  14. end
  15. if !@errors.empty?
  16. erb :'contact'
  17. else
  18. body = params[:body]
  19. if current_site
  20. body = "current username: #{current_site.username}\n\n" + body
  21. if parent_site != current_site
  22. body = "parent username: #{parent_site.username}\n\n" + body
  23. end
  24. end
  25. if current_site && current_site.supporter?
  26. subject = "[Neocities Supporter Contact]: #{params[:subject]}"
  27. else
  28. subject = "[Neocities Contact]: #{params[:subject]}"
  29. end
  30. EmailWorker.perform_async({
  31. from: 'web@neocities.org',
  32. reply_to: params[:email],
  33. to: 'contact@neocities.org',
  34. subject: subject,
  35. body: body,
  36. no_footer: true
  37. })
  38. flash[:success] = 'Your contact message has been sent.'
  39. redirect '/'
  40. end
  41. end