trusty-cms 3.0.6 → 3.0.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (37) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +23 -14
  3. data/README.md +7 -8
  4. data/app/assets/images/rad_social/ajax-loader-small.gif +0 -0
  5. data/app/assets/images/rad_social/ajax-loader.gif +0 -0
  6. data/app/assets/images/rad_social/bg_primary-btn.png +0 -0
  7. data/app/assets/images/rad_social/email.png +0 -0
  8. data/app/assets/images/rad_social/facebook.png +0 -0
  9. data/app/assets/images/rad_social/flickr.png +0 -0
  10. data/app/assets/images/rad_social/foursquare.png +0 -0
  11. data/app/assets/images/rad_social/googleplus.png +0 -0
  12. data/app/assets/images/rad_social/twitter.png +0 -0
  13. data/app/assets/javascripts/rad_social/captcha.js +42 -0
  14. data/app/assets/javascripts/rad_social/jquery.validate.min.js +4 -0
  15. data/app/assets/javascripts/rad_social/rad_ajax_form.js +82 -0
  16. data/app/assets/javascripts/rad_social/rad_email.js +6 -0
  17. data/app/assets/javascripts/rad_social/rad_email_form.js +85 -0
  18. data/app/assets/javascripts/rad_social/rad_email_validator.js +47 -0
  19. data/app/assets/javascripts/rad_social/rad_widget.js +20 -0
  20. data/app/assets/stylesheets/rad_social/rad_screen.scss +148 -0
  21. data/app/controllers/social_mailer_controller.rb +34 -0
  22. data/app/helpers/rad_social_helper.rb +23 -0
  23. data/app/models/rad_social_mailer.rb +24 -0
  24. data/app/models/standard_tags.rb +17 -0
  25. data/app/views/rad_social_mailer/social_mail.html.haml +5 -0
  26. data/app/views/rad_social_mailer/social_mail_form.html.haml +42 -0
  27. data/app/views/widget/_email_form.html.haml +25 -0
  28. data/app/views/widget/_horizontal_widget.html.haml +18 -0
  29. data/config/routes.rb +3 -0
  30. data/coverage/index.html +267 -267
  31. data/lib/trusty_cms/engine.rb +13 -1
  32. data/lib/trusty_cms.rb +1 -1
  33. data/spec/dummy/log/test.log +4515 -0
  34. data/spec/dummy/tmp/cache/747/A70/TrustyCms%3A%3AConfig +0 -0
  35. data/spec/dummy/tmp/cache/85C/FA0/TrustyCms.cache_mtime +0 -0
  36. data/trusty_cms.gemspec +1 -0
  37. metadata +40 -2
@@ -0,0 +1,34 @@
1
+ class SocialMailerController < ApplicationController
2
+ trusty_layout "default", {:only => :create_social_mail}
3
+ no_login_required
4
+
5
+ def create_social_mail
6
+
7
+ mailer_options = {
8
+ :to => params[:to],
9
+ :from => params[:from],
10
+ :from_name => params[:from_name],
11
+ :message => params[:message],
12
+ :subject => params[:subject]
13
+ }
14
+
15
+ if verify_recaptcha
16
+ RadSocialMailer.social_mail(mailer_options).deliver_now
17
+ head :ok
18
+ else
19
+ head :bad_request, :ErrorMsg => "Please verify that you are not a robot. Tick the reCAPTCHA checkbox."
20
+ end
21
+
22
+ end
23
+
24
+ def social_mail_form
25
+ render :template => "rad_social_mailer/social_mail_form",
26
+ :layout => false,
27
+ :locals => {
28
+ :email_message => params[:email_message],
29
+ :email_subject => params[:email_subject],
30
+ :email_action_url => params[:email_action_url]
31
+ }
32
+ end
33
+
34
+ end
@@ -0,0 +1,23 @@
1
+ module RadSocialHelper
2
+
3
+ def rad_test_method
4
+ "SURPRISE SURPRISE SURPRISE"
5
+ end
6
+
7
+ def rad_share_widget(options)
8
+ url = options[:url].nil? ? request.url : options[:url]
9
+ message = options[:message].nil? ? "Check out #{options[:title]}." : options[:message]
10
+ email_subject = options[:email_subject].nil? ? options[:title] : options[:email_subject]
11
+ email_message = options[:email_message].nil? ? "I thought you might be interested in this: #{url}" : "#{options[:email_message]} #{url}"
12
+ email_action_url = options[:email_action_url].nil? ? "/rad_social/mail" : options[:email_action_url]
13
+
14
+ render :partial => "widget/horizontal_widget",
15
+ :locals => { :url => url,
16
+ :message => message,
17
+ :email_subject => email_subject,
18
+ :email_message => email_message,
19
+ :email_action_url => email_action_url
20
+ }
21
+ end
22
+
23
+ end
@@ -0,0 +1,24 @@
1
+ require 'mail'
2
+ class RadSocialMailer < ActionMailer::Base
3
+ include Roadie::Rails::Automatic
4
+
5
+ def social_mail options
6
+ from_address = Mail::Address.new options[:from] # ex: "john@example.com"
7
+ from_address.display_name = options[:from_name] # ex: "John Doe"
8
+
9
+ @from_name = from_address.display_name
10
+ @from_email = from_address
11
+ @message = options[:message]
12
+ @actual_from = ENV['RAD_SOCIAL_FROM_EMAIL']
13
+ @actual_from = from_address if @actual_from.nil?
14
+
15
+ mail({
16
+ to: options[:to],
17
+ from: @actual_from,
18
+ reply_to: @from_email,
19
+ subject: options[:subject],
20
+ text: @message,
21
+ content_type: "text/html"
22
+ })
23
+ end
24
+ end
@@ -1171,6 +1171,23 @@ module StandardTags
1171
1171
  end
1172
1172
  end
1173
1173
 
1174
+ desc "Widget of sharing icons"
1175
+ tag "rad_share_widget" do |tag|
1176
+ attributes = tag.attr.to_options
1177
+ url = attributes[:url].nil? ? request.url : attributes[:url]
1178
+ message = attributes[:message].nil? ? "Check out #{tag.locals.page.title}." : attributes[:message]
1179
+ email_subject = attributes[:email_subject].nil? ? tag.locals.page.title : attributes[:email_subject]
1180
+ email_message = attributes[:email_message].nil? ? "I thought you might be interested in this: #{url}" : "#{attributes[:email_message]} #{url}"
1181
+ email_action_url = attributes[:email_action_url].nil? ? "/rad_social/mail" : attributes[:email_action_url]
1182
+ request.env["action_controller.instance"].render_to_string :partial => "widget/horizontal_widget",
1183
+ :locals => { :url => url,
1184
+ :message => message,
1185
+ :email_subject => email_subject,
1186
+ :email_message => email_message,
1187
+ :email_action_url => email_action_url
1188
+ }
1189
+ end
1190
+
1174
1191
  private
1175
1192
  def render_children_with_pagination(tag, opts={})
1176
1193
  if opts[:aggregate]
@@ -0,0 +1,5 @@
1
+ %div
2
+ %p
3
+ = "From: #{@from_name} (#{@from_email})"
4
+ %p
5
+ = @message
@@ -0,0 +1,42 @@
1
+ = stylesheet_link_tag('rad_social/rad_screen')
2
+ = javascript_include_tag("https://www.google.com/recaptcha/api/js/recaptcha_ajax.js")
3
+ = javascript_include_tag("rad_social/rad_email")
4
+
5
+ .rad-dialog-titlebar
6
+ %span.rad-dialog-title
7
+ Email a Friend
8
+
9
+ %form{:id=>'rad-social-email-form', :class=>"rad-email-form"}
10
+ .rad-email-error
11
+ %input{:type=>'hidden', :id=> "auth_token", :value=>"#{form_authenticity_token}"}
12
+ %div.form-row
13
+ %label.form-label{:type=>"label", :for=>"from"}
14
+ From Email
15
+ %div.form-fields
16
+ %input{:class => "input-textbox", :type => "text", :id => "rs-from", :name => "from", :size => 30, :maxlength => 35}
17
+ %div.form-row
18
+ %label.form-label{:type=>"label", :for=>"from_name"}
19
+ From Name
20
+ %div.form-fields
21
+ %input{:class => "input-textbox", :type => "text", :id => "rs-from_name", :name => "from_name", :size => 30, :maxlength => 35}
22
+ %div.form-row
23
+ %label.form-label{:type=>"label", :for=>"to"}
24
+ To Email
25
+ %div.form-fields
26
+ %input{:class => "input-textbox", :type => "text", :id => "rs-to", :name => "to", :size => 30, :maxlength => 35}
27
+ %div.form-row
28
+ %label.form-label{:type=>"label", :for=>"message"}
29
+ Message
30
+ %div.form-fields
31
+ %textarea{:class => "input-textbox", :id => "rs-message", :name => "message", :rows => 5, :cols => 40}
32
+ = email_message
33
+ %input{:type=>"hidden", :name=>"subject", :value=> email_subject}
34
+ %input{:type=>"hidden", :id=>"rs-base-message", :value=> email_message}
35
+ #recaptcha-container.captcha-container
36
+ = recaptcha_tags
37
+ %input{:type=>"hidden", :name=>"submit_url", :value=> email_action_url}
38
+ %input.button.primary-button{:id => "rad_email_submit", :type=>:button ,:value=>"Submit"}
39
+ .loader
40
+
41
+ #rad-confirmation.hidden
42
+ Your message has been sent.
@@ -0,0 +1,25 @@
1
+ - javascript("rad_social/captcha")
2
+
3
+ = form_tag
4
+ %form{:id=>'rad_social_email_form', :class=>"rad-email-form"}
5
+ %label{:for => "from"}
6
+ Your Email:
7
+ %input{:class => "std_input", :type => "text", :id => "rs-from", :name => "from", :size => 40, :maxlength => 35}
8
+ %label{:for => "from_name"}
9
+ Your Name:
10
+ %input{:class => "std_input", :type => "text", :id => "rs-from_name", :name => "from_name", :size => 40, :maxlength => 35}
11
+ %label{:for => "to"}
12
+ To:
13
+ %input{:class => "std_input", :type => "text", :id => "rs-to", :name => "to", :size => 40, :maxlength => 35}
14
+ %label{:for => "subject"}
15
+ To:
16
+ %input{:class => "std_input", :type => "text", :id => "rs-subject", :name => "subject", :size => 40, :maxlength => 35}
17
+ %label{:for => "Message"}
18
+ Message:
19
+ %textarea{:id => "rs-message", :rows => 18, :cols => 40}
20
+ %input{:type=>"hidden", :name=>"submit_url", :value=>'contact/email'}
21
+ %input.button.primary-button{:id => "email_submit", :type=>:button ,:value=>"Submit"}
22
+ .loader
23
+
24
+ #recaptcha-container.captcha-container
25
+ = recaptcha_tags
@@ -0,0 +1,18 @@
1
+ = stylesheet_link_tag('rad_social/rad_screen')
2
+ = javascript_include_tag("rad_social/rad_widget", async: 'true')
3
+ - local_variables = defined?(locals) ? locals : local_assigns
4
+ - url = local_variables[:url]
5
+ - message = local_variables[:message]
6
+ - email_action_url = local_variables[:email_action_url]
7
+ - email_subject = local_variables[:email_subject]
8
+ - email_message = local_variables[:email_message]
9
+
10
+ .rad-widget
11
+ .rad-icon
12
+ %a{:class => "rad-popup-window rad-facebook", :href => "https://www.facebook.com/sharer/sharer.php?u=#{CGI::escape(url)}", :target=> "_blank"}
13
+ .rad-icon
14
+ %a{:class => "rad-popup-window rad-twitter", :href => "https://twitter.com/intent/tweet?text=#{CGI::escape(message + " " + url)}", :target=> "_blank"}
15
+ .rad-icon
16
+ %a{:class => "rad-popup-window rad-email", :href => rad_social_mail_form_url(:email_subject => email_subject, :email_message => email_message, :email_action_url => email_action_url)}
17
+ .rad-icon
18
+ %a{:class => "rad-popup-window rad-gplus", :href => "https://plus.google.com/share?url=#{CGI::escape(url)}", :target=> "_blank"}
data/config/routes.rb CHANGED
@@ -1,5 +1,8 @@
1
1
  TrustyCms::Application.routes.draw do
2
2
  root to: 'site#show_page'
3
+
4
+ get '/rad_social/mail' => 'social_mailer#social_mail_form', as: :rad_social_mail_form
5
+ post '/rad_social/mail' => 'social_mailer#create_social_mail', as: :rad_create_social_mail
3
6
  TrustyCms::Application.config.enabled_extensions.each { |ext|
4
7
  #load File.join(TrustyCms::ExtensionPath.find(ext).to_s, "config", "routes.rb")
5
8
  }