trusty-cms 3.0.6 → 3.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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
  }