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.
- checksums.yaml +4 -4
- data/Gemfile.lock +23 -14
- data/README.md +7 -8
- data/app/assets/images/rad_social/ajax-loader-small.gif +0 -0
- data/app/assets/images/rad_social/ajax-loader.gif +0 -0
- data/app/assets/images/rad_social/bg_primary-btn.png +0 -0
- data/app/assets/images/rad_social/email.png +0 -0
- data/app/assets/images/rad_social/facebook.png +0 -0
- data/app/assets/images/rad_social/flickr.png +0 -0
- data/app/assets/images/rad_social/foursquare.png +0 -0
- data/app/assets/images/rad_social/googleplus.png +0 -0
- data/app/assets/images/rad_social/twitter.png +0 -0
- data/app/assets/javascripts/rad_social/captcha.js +42 -0
- data/app/assets/javascripts/rad_social/jquery.validate.min.js +4 -0
- data/app/assets/javascripts/rad_social/rad_ajax_form.js +82 -0
- data/app/assets/javascripts/rad_social/rad_email.js +6 -0
- data/app/assets/javascripts/rad_social/rad_email_form.js +85 -0
- data/app/assets/javascripts/rad_social/rad_email_validator.js +47 -0
- data/app/assets/javascripts/rad_social/rad_widget.js +20 -0
- data/app/assets/stylesheets/rad_social/rad_screen.scss +148 -0
- data/app/controllers/social_mailer_controller.rb +34 -0
- data/app/helpers/rad_social_helper.rb +23 -0
- data/app/models/rad_social_mailer.rb +24 -0
- data/app/models/standard_tags.rb +17 -0
- data/app/views/rad_social_mailer/social_mail.html.haml +5 -0
- data/app/views/rad_social_mailer/social_mail_form.html.haml +42 -0
- data/app/views/widget/_email_form.html.haml +25 -0
- data/app/views/widget/_horizontal_widget.html.haml +18 -0
- data/config/routes.rb +3 -0
- data/coverage/index.html +267 -267
- data/lib/trusty_cms/engine.rb +13 -1
- data/lib/trusty_cms.rb +1 -1
- data/spec/dummy/log/test.log +4515 -0
- data/spec/dummy/tmp/cache/747/A70/TrustyCms%3A%3AConfig +0 -0
- data/spec/dummy/tmp/cache/85C/FA0/TrustyCms.cache_mtime +0 -0
- data/trusty_cms.gemspec +1 -0
- 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
|
data/app/models/standard_tags.rb
CHANGED
@@ -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,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
|
}
|