spree_froomerce_fconnect 0.70.2
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.
- data/.gitignore +11 -0
- data/.rspec +1 -0
- data/Gemfile +20 -0
- data/Gemfile.lock +222 -0
- data/LICENSE +26 -0
- data/README.md +76 -0
- data/Rakefile +31 -0
- data/Versionfile +2 -0
- data/app/assets/images/loading.gif +0 -0
- data/app/assets/javascripts/admin/froomerces.js +2 -0
- data/app/assets/javascripts/admin/spree_froomerce_fconnect.js +1 -0
- data/app/assets/javascripts/froomerce_products.js +2 -0
- data/app/assets/javascripts/store/spree_froomerce_fconnect.js +1 -0
- data/app/assets/stylesheets/admin/froomerces.css +4 -0
- data/app/assets/stylesheets/admin/spree_froomerce_fconnect.css +3 -0
- data/app/assets/stylesheets/application.css +107 -0
- data/app/assets/stylesheets/froomerce_products.css +4 -0
- data/app/assets/stylesheets/store/spree_froomerce_fconnect.css +3 -0
- data/app/controllers/admin/froomerces_controller.rb +200 -0
- data/app/controllers/froomerce_products_controller.rb +79 -0
- data/app/helpers/admin/froomerces_helper.rb +2 -0
- data/app/helpers/froomerce_products_helper.rb +2 -0
- data/app/models/froomerce_config.rb +8 -0
- data/app/models/froomerce_product_status.rb +11 -0
- data/app/models/froomerce_user.rb +3 -0
- data/app/models/product_decorator.rb +4 -0
- data/app/models/taxon_decorator.rb +20 -0
- data/app/overrides/froomerce_tab.rb +5 -0
- data/app/views/admin/froomerces/export_facebook.html.erb +122 -0
- data/app/views/admin/froomerces/export_facebook_widgets.html.erb +108 -0
- data/app/views/admin/froomerces/export_shop.html.erb +56 -0
- data/app/views/admin/froomerces/index.html.erb +39 -0
- data/app/views/admin/shared/_froomerce_sub_menu.html.erb +8 -0
- data/app/views/froomerce_products/call_backs.html.erb +25 -0
- data/app/views/froomerce_products/feed_url.xml.builder +86 -0
- data/app/views/froomerce_products/index.xml.builder +83 -0
- data/config/locales/en.yml +72 -0
- data/config/routes.rb +29 -0
- data/db/migrate/20120111085252_create_froomerce_users.rb +11 -0
- data/db/migrate/20120113072837_create_froomerce_configs.rb +12 -0
- data/db/migrate/20120203125952_create_froomerce_product_statuses.rb +10 -0
- data/lib/api_calls.rb +37 -0
- data/lib/call_backs.rb +141 -0
- data/lib/generators/spree_froomerce_fconnect/install/install_generator.rb +20 -0
- data/lib/spree_froomerce_fconnect/engine.rb +25 -0
- data/lib/spree_froomerce_fconnect.rb +2 -0
- data/script/rails +7 -0
- data/spec/controllers/admin/froomerces_controller_spec.rb +5 -0
- data/spec/controllers/froomerce_products_controller_spec.rb +5 -0
- data/spec/helpers/admin/froomerces_helper_spec.rb +15 -0
- data/spec/helpers/froomerce_products_helper_spec.rb +15 -0
- data/spec/models/froomerce_config_spec.rb +5 -0
- data/spec/models/froomerce_product_status_spec.rb +5 -0
- data/spec/models/froomerce_user_spec.rb +5 -0
- data/spec/spec_helper.rb +31 -0
- data/spree_froomerce_fconnect.gemspec +20 -0
- metadata +113 -0
data/.gitignore
ADDED
data/.rspec
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
--colour
|
data/Gemfile
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
source 'http://rubygems.org'
|
2
|
+
|
3
|
+
group :test do
|
4
|
+
gem 'rspec-rails', '= 2.6.1'
|
5
|
+
end
|
6
|
+
|
7
|
+
group :cucumber do
|
8
|
+
gem 'cucumber-rails', '1.0.0'
|
9
|
+
gem 'database_cleaner', '= 0.6.7'
|
10
|
+
gem 'nokogiri'
|
11
|
+
gem 'capybara', '1.0.1'
|
12
|
+
end
|
13
|
+
|
14
|
+
if RUBY_VERSION < "1.9"
|
15
|
+
gem "ruby-debug"
|
16
|
+
else
|
17
|
+
gem "ruby-debug19"
|
18
|
+
end
|
19
|
+
|
20
|
+
gemspec
|
data/Gemfile.lock
ADDED
@@ -0,0 +1,222 @@
|
|
1
|
+
PATH
|
2
|
+
remote: .
|
3
|
+
specs:
|
4
|
+
spree_froomerce_fconnect (0.70.1)
|
5
|
+
spree_core (>= 0.70.1)
|
6
|
+
|
7
|
+
GEM
|
8
|
+
remote: http://rubygems.org/
|
9
|
+
specs:
|
10
|
+
actionmailer (3.1.3)
|
11
|
+
actionpack (= 3.1.3)
|
12
|
+
mail (~> 2.3.0)
|
13
|
+
actionpack (3.1.3)
|
14
|
+
activemodel (= 3.1.3)
|
15
|
+
activesupport (= 3.1.3)
|
16
|
+
builder (~> 3.0.0)
|
17
|
+
erubis (~> 2.7.0)
|
18
|
+
i18n (~> 0.6)
|
19
|
+
rack (~> 1.3.5)
|
20
|
+
rack-cache (~> 1.1)
|
21
|
+
rack-mount (~> 0.8.2)
|
22
|
+
rack-test (~> 0.6.1)
|
23
|
+
sprockets (~> 2.0.3)
|
24
|
+
activemerchant (1.17.0)
|
25
|
+
activesupport (>= 2.3.11)
|
26
|
+
braintree (>= 2.0.0)
|
27
|
+
builder (>= 2.0.0)
|
28
|
+
json (>= 1.5.1)
|
29
|
+
activemodel (3.1.3)
|
30
|
+
activesupport (= 3.1.3)
|
31
|
+
builder (~> 3.0.0)
|
32
|
+
i18n (~> 0.6)
|
33
|
+
activerecord (3.1.3)
|
34
|
+
activemodel (= 3.1.3)
|
35
|
+
activesupport (= 3.1.3)
|
36
|
+
arel (~> 2.2.1)
|
37
|
+
tzinfo (~> 0.3.29)
|
38
|
+
activeresource (3.1.3)
|
39
|
+
activemodel (= 3.1.3)
|
40
|
+
activesupport (= 3.1.3)
|
41
|
+
activesupport (3.1.3)
|
42
|
+
multi_json (~> 1.0)
|
43
|
+
acts_as_list (0.1.4)
|
44
|
+
archive-tar-minitar (0.5.2)
|
45
|
+
arel (2.2.1)
|
46
|
+
braintree (2.13.2)
|
47
|
+
builder (>= 2.0.0)
|
48
|
+
builder (3.0.0)
|
49
|
+
capybara (1.0.1)
|
50
|
+
mime-types (>= 1.16)
|
51
|
+
nokogiri (>= 1.3.3)
|
52
|
+
rack (>= 1.0.0)
|
53
|
+
rack-test (>= 0.5.4)
|
54
|
+
selenium-webdriver (~> 2.0)
|
55
|
+
xpath (~> 0.1.4)
|
56
|
+
childprocess (0.2.8)
|
57
|
+
ffi (~> 1.0.6)
|
58
|
+
cocaine (0.2.1)
|
59
|
+
columnize (0.3.6)
|
60
|
+
cucumber (1.0.6)
|
61
|
+
builder (>= 2.1.2)
|
62
|
+
diff-lcs (>= 1.1.2)
|
63
|
+
gherkin (~> 2.4.18)
|
64
|
+
json (>= 1.4.6)
|
65
|
+
term-ansicolor (>= 1.0.6)
|
66
|
+
cucumber-rails (1.0.0)
|
67
|
+
capybara (>= 1.0.0)
|
68
|
+
cucumber (~> 1.0.0)
|
69
|
+
nokogiri (>= 1.4.4)
|
70
|
+
rack-test (>= 0.5.7)
|
71
|
+
database_cleaner (0.6.7)
|
72
|
+
deface (0.7.2)
|
73
|
+
nokogiri (~> 1.5.0)
|
74
|
+
rails (>= 3.0.9)
|
75
|
+
diff-lcs (1.1.3)
|
76
|
+
erubis (2.7.0)
|
77
|
+
faker (1.0.0)
|
78
|
+
i18n (~> 0.4)
|
79
|
+
ffi (1.0.11)
|
80
|
+
gherkin (2.4.21)
|
81
|
+
json (>= 1.4.6)
|
82
|
+
highline (1.6.2)
|
83
|
+
hike (1.2.1)
|
84
|
+
i18n (0.6.0)
|
85
|
+
jquery-rails (1.0.19)
|
86
|
+
railties (~> 3.0)
|
87
|
+
thor (~> 0.14)
|
88
|
+
json (1.6.4)
|
89
|
+
kaminari (0.13.0)
|
90
|
+
actionpack (>= 3.0.0)
|
91
|
+
activesupport (>= 3.0.0)
|
92
|
+
railties (>= 3.0.0)
|
93
|
+
linecache19 (0.5.12)
|
94
|
+
ruby_core_source (>= 0.1.4)
|
95
|
+
mail (2.3.0)
|
96
|
+
i18n (>= 0.4.0)
|
97
|
+
mime-types (~> 1.16)
|
98
|
+
treetop (~> 1.4.8)
|
99
|
+
meta_search (1.1.1)
|
100
|
+
actionpack (~> 3.1.0)
|
101
|
+
activerecord (~> 3.1.0)
|
102
|
+
activesupport (~> 3.1.0)
|
103
|
+
polyamorous (~> 0.5.0)
|
104
|
+
mime-types (1.17.2)
|
105
|
+
multi_json (1.0.4)
|
106
|
+
nested_set (1.6.8)
|
107
|
+
activerecord (>= 3.0.0)
|
108
|
+
railties (>= 3.0.0)
|
109
|
+
nokogiri (1.5.0)
|
110
|
+
paperclip (2.4.1)
|
111
|
+
activerecord (>= 2.3.0)
|
112
|
+
activesupport (>= 2.3.2)
|
113
|
+
cocaine (>= 0.0.2)
|
114
|
+
mime-types
|
115
|
+
polyamorous (0.5.0)
|
116
|
+
activerecord (~> 3.0)
|
117
|
+
polyglot (0.3.3)
|
118
|
+
rack (1.3.6)
|
119
|
+
rack-cache (1.1)
|
120
|
+
rack (>= 0.4)
|
121
|
+
rack-mount (0.8.3)
|
122
|
+
rack (>= 1.0.0)
|
123
|
+
rack-ssl (1.3.2)
|
124
|
+
rack
|
125
|
+
rack-test (0.6.1)
|
126
|
+
rack (>= 1.0)
|
127
|
+
rails (3.1.3)
|
128
|
+
actionmailer (= 3.1.3)
|
129
|
+
actionpack (= 3.1.3)
|
130
|
+
activerecord (= 3.1.3)
|
131
|
+
activeresource (= 3.1.3)
|
132
|
+
activesupport (= 3.1.3)
|
133
|
+
bundler (~> 1.0)
|
134
|
+
railties (= 3.1.3)
|
135
|
+
railties (3.1.3)
|
136
|
+
actionpack (= 3.1.3)
|
137
|
+
activesupport (= 3.1.3)
|
138
|
+
rack-ssl (~> 1.3.2)
|
139
|
+
rake (>= 0.8.7)
|
140
|
+
rdoc (~> 3.4)
|
141
|
+
thor (~> 0.14.6)
|
142
|
+
rake (0.9.2.2)
|
143
|
+
rd_find_by_param (0.1.1)
|
144
|
+
activerecord (~> 3.0)
|
145
|
+
activesupport (~> 3.0)
|
146
|
+
rd_resource_controller (1.0.1)
|
147
|
+
rdoc (3.12)
|
148
|
+
json (~> 1.4)
|
149
|
+
rspec (2.6.0)
|
150
|
+
rspec-core (~> 2.6.0)
|
151
|
+
rspec-expectations (~> 2.6.0)
|
152
|
+
rspec-mocks (~> 2.6.0)
|
153
|
+
rspec-core (2.6.4)
|
154
|
+
rspec-expectations (2.6.0)
|
155
|
+
diff-lcs (~> 1.1.2)
|
156
|
+
rspec-mocks (2.6.0)
|
157
|
+
rspec-rails (2.6.1)
|
158
|
+
actionpack (~> 3.0)
|
159
|
+
activesupport (~> 3.0)
|
160
|
+
railties (~> 3.0)
|
161
|
+
rspec (~> 2.6.0)
|
162
|
+
ruby-debug-base19 (0.11.25)
|
163
|
+
columnize (>= 0.3.1)
|
164
|
+
linecache19 (>= 0.5.11)
|
165
|
+
ruby_core_source (>= 0.1.4)
|
166
|
+
ruby-debug19 (0.11.6)
|
167
|
+
columnize (>= 0.3.1)
|
168
|
+
linecache19 (>= 0.5.11)
|
169
|
+
ruby-debug-base19 (>= 0.11.19)
|
170
|
+
ruby_core_source (0.1.5)
|
171
|
+
archive-tar-minitar (>= 0.5.2)
|
172
|
+
rubyzip (0.9.5)
|
173
|
+
selenium-webdriver (2.16.0)
|
174
|
+
childprocess (>= 0.2.5)
|
175
|
+
ffi (~> 1.0.9)
|
176
|
+
multi_json (~> 1.0.4)
|
177
|
+
rubyzip
|
178
|
+
spree_core (0.70.3)
|
179
|
+
activemerchant (= 1.17.0)
|
180
|
+
acts_as_list (= 0.1.4)
|
181
|
+
deface (>= 0.7.0)
|
182
|
+
faker (= 1.0.0)
|
183
|
+
highline (= 1.6.2)
|
184
|
+
jquery-rails (>= 1.0.14)
|
185
|
+
kaminari (>= 0.12.4)
|
186
|
+
meta_search (= 1.1.1)
|
187
|
+
nested_set (= 1.6.8)
|
188
|
+
paperclip (= 2.4.1)
|
189
|
+
rails (>= 3.1.1, <= 3.1.3)
|
190
|
+
rd_find_by_param (= 0.1.1)
|
191
|
+
rd_resource_controller
|
192
|
+
state_machine (= 1.0.1)
|
193
|
+
stringex (= 1.0.3)
|
194
|
+
sprockets (2.0.3)
|
195
|
+
hike (~> 1.2)
|
196
|
+
rack (~> 1.0)
|
197
|
+
tilt (~> 1.1, != 1.3.0)
|
198
|
+
sqlite3 (1.3.5)
|
199
|
+
state_machine (1.0.1)
|
200
|
+
stringex (1.0.3)
|
201
|
+
term-ansicolor (1.0.7)
|
202
|
+
thor (0.14.6)
|
203
|
+
tilt (1.3.3)
|
204
|
+
treetop (1.4.10)
|
205
|
+
polyglot
|
206
|
+
polyglot (>= 0.3.1)
|
207
|
+
tzinfo (0.3.31)
|
208
|
+
xpath (0.1.4)
|
209
|
+
nokogiri (~> 1.3)
|
210
|
+
|
211
|
+
PLATFORMS
|
212
|
+
ruby
|
213
|
+
|
214
|
+
DEPENDENCIES
|
215
|
+
capybara (= 1.0.1)
|
216
|
+
cucumber-rails (= 1.0.0)
|
217
|
+
database_cleaner (= 0.6.7)
|
218
|
+
nokogiri
|
219
|
+
rspec-rails (= 2.6.1)
|
220
|
+
ruby-debug19
|
221
|
+
spree_froomerce_fconnect!
|
222
|
+
sqlite3
|
data/LICENSE
ADDED
@@ -0,0 +1,26 @@
|
|
1
|
+
Copyright (c) 2012 Ali Naqi
|
2
|
+
All rights reserved.
|
3
|
+
|
4
|
+
Redistribution and use in source and binary forms, with or without modification,
|
5
|
+
are permitted provided that the following conditions are met:
|
6
|
+
|
7
|
+
* Redistributions of source code must retain the above copyright notice,
|
8
|
+
this list of conditions and the following disclaimer.
|
9
|
+
* Redistributions in binary form must reproduce the above copyright notice,
|
10
|
+
this list of conditions and the following disclaimer in the documentation
|
11
|
+
and/or other materials provided with the distribution.
|
12
|
+
* Neither the name Spree nor the names of its contributors may be used to
|
13
|
+
endorse or promote products derived from this software without specific
|
14
|
+
prior written permission.
|
15
|
+
|
16
|
+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
17
|
+
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
18
|
+
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
19
|
+
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
|
20
|
+
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
21
|
+
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
22
|
+
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
|
23
|
+
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
24
|
+
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
25
|
+
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
26
|
+
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
data/README.md
ADDED
@@ -0,0 +1,76 @@
|
|
1
|
+
# F.Connect - Online store and widgets on Facebook
|
2
|
+
|
3
|
+
F.Connect integrates your existing store with Facebook in a few steps.
|
4
|
+
It not only lets you create complete Facebook store but also give you
|
5
|
+
ability to post your products to your Fan Page wall. This allows you
|
6
|
+
to reach your customers on Facebook directly from the wall. You can also
|
7
|
+
run social campaigns to promote your products and engage customers.
|
8
|
+
All of this can be done without writing a single line of code!
|
9
|
+
|
10
|
+
This extensions requires you to create an account on [Froomerce F.Connect](http://froomerce.com/merchant/merchantplatform/fconnect)
|
11
|
+
|
12
|
+
|
13
|
+
## Your Benefits
|
14
|
+
|
15
|
+
### Easy porting of store to Facebook
|
16
|
+
|
17
|
+
You just need to install the extension and export the store to your Page.
|
18
|
+
`Note:` This extension only support single store architecture.
|
19
|
+
|
20
|
+
### Social sharing widgets
|
21
|
+
|
22
|
+
Your users can share and like products from your Fan Page.
|
23
|
+
|
24
|
+
### Selling or redirecting to main store
|
25
|
+
|
26
|
+
Depending on what you require, you can let users add all products to their
|
27
|
+
Facebook cart or you can redirect users to go to the main site.
|
28
|
+
|
29
|
+
### Product widgets
|
30
|
+
|
31
|
+
You can create product widgets and post them directly on the wall.This will
|
32
|
+
enable you to reach out to your Fans directly on their walls! When they like or
|
33
|
+
share the widgets, their friends will also get exposure to your products.
|
34
|
+
|
35
|
+
### Custom verbs support
|
36
|
+
|
37
|
+
You can choose to have new custom verbs apart from “like”. For example, you can
|
38
|
+
configure the store to have “Want” and “Need” buttons.
|
39
|
+
|
40
|
+
### Detailed Statistics
|
41
|
+
|
42
|
+
You get detailed statistics on not only the products but also demographics from
|
43
|
+
Facebook Page e.g., how many males and females came on your page, what were their
|
44
|
+
age groups etc. You receive weekly statistics emails.
|
45
|
+
|
46
|
+
### Custom campaigns
|
47
|
+
|
48
|
+
You can choose to have your own Welcome page. You can also choose to allow only
|
49
|
+
users how like your page to view your store.
|
50
|
+
|
51
|
+
### Customizations
|
52
|
+
|
53
|
+
You can have your own design for the stores and the product widgets.
|
54
|
+
|
55
|
+
### Support
|
56
|
+
|
57
|
+
You get free email support for all packages. With Professional Pro packages
|
58
|
+
you also get direct phone support.
|
59
|
+
|
60
|
+
## Requirements
|
61
|
+
|
62
|
+
`spree_froomerce_fconnect` requires `Spree 0.70.x`.
|
63
|
+
And it is not compatible with `Rails 2.x`
|
64
|
+
|
65
|
+
# Installation
|
66
|
+
|
67
|
+
spree_froomerce_fconnect is distributed as a gem, which is how it should be used in your application.
|
68
|
+
Follwoing steps are to be performed consecutively for this extension to work properly:
|
69
|
+
|
70
|
+
* Add following line to the Gemfile: `gem "spree_froomerce_fconnect"`
|
71
|
+
* Then run bundler to install the gem
|
72
|
+
* Run `rails g spree_froomerce_fconnect:install` to add and run required migrations.
|
73
|
+
|
74
|
+
And you are ready to go!
|
75
|
+
|
76
|
+
Copyright (c) 2012 Ali Naqi, released under the New BSD License
|
data/Rakefile
ADDED
@@ -0,0 +1,31 @@
|
|
1
|
+
require 'rake'
|
2
|
+
require 'rake/testtask'
|
3
|
+
require 'rake/packagetask'
|
4
|
+
require 'rubygems/package_task'
|
5
|
+
require 'rspec/core/rake_task'
|
6
|
+
require 'cucumber/rake/task'
|
7
|
+
require 'spree_core/testing_support/common_rake'
|
8
|
+
|
9
|
+
RSpec::Core::RakeTask.new
|
10
|
+
Cucumber::Rake::Task.new
|
11
|
+
|
12
|
+
task :default => [:spec, :cucumber ]
|
13
|
+
|
14
|
+
spec = eval(File.read('spree_froomerce_fconnect.gemspec'))
|
15
|
+
|
16
|
+
Gem::PackageTask.new(spec) do |p|
|
17
|
+
p.gem_spec = spec
|
18
|
+
end
|
19
|
+
|
20
|
+
desc "Release to gemcutter"
|
21
|
+
task :release => :package do
|
22
|
+
require 'rake/gemcutter'
|
23
|
+
Rake::Gemcutter::Tasks.new(spec).define
|
24
|
+
Rake::Task['gem:push'].invoke
|
25
|
+
end
|
26
|
+
|
27
|
+
desc "Generates a dummy app for testing"
|
28
|
+
task :test_app do
|
29
|
+
ENV['LIB_NAME'] = 'spree_froomerce_fconnect'
|
30
|
+
Rake::Task['common:test_app'].invoke
|
31
|
+
end
|
data/Versionfile
ADDED
Binary file
|
@@ -0,0 +1 @@
|
|
1
|
+
//= require admin/spree_core
|
@@ -0,0 +1 @@
|
|
1
|
+
//= require store/spree_core
|
@@ -0,0 +1,107 @@
|
|
1
|
+
/*
|
2
|
+
*= require store/spree_core
|
3
|
+
*/
|
4
|
+
|
5
|
+
body {
|
6
|
+
font-family:Arial, Helvetica, sans-serif;
|
7
|
+
font-size:12px;
|
8
|
+
color:#4e4e4e;
|
9
|
+
}
|
10
|
+
* {
|
11
|
+
margin:0px;
|
12
|
+
padding:0px;
|
13
|
+
}
|
14
|
+
.clr {
|
15
|
+
clear:both;
|
16
|
+
}
|
17
|
+
ul, li {
|
18
|
+
list-style:none;
|
19
|
+
}
|
20
|
+
#layout {
|
21
|
+
width:990px;
|
22
|
+
margin:auto;
|
23
|
+
}
|
24
|
+
#header {
|
25
|
+
height:25px;
|
26
|
+
padding:15px 10px 5px 20px;
|
27
|
+
border-bottom:3px solid #dfdfdf;
|
28
|
+
position:relative;
|
29
|
+
margin-bottom:18px;
|
30
|
+
}
|
31
|
+
#header h1{
|
32
|
+
font-size:16px;
|
33
|
+
font-weight:bold;
|
34
|
+
color:#eb5e00;
|
35
|
+
position:absolute;
|
36
|
+
width:775px;
|
37
|
+
}
|
38
|
+
#header .btnArea {
|
39
|
+
position:absolute;
|
40
|
+
right:0;
|
41
|
+
}
|
42
|
+
#header .btnArea input {
|
43
|
+
float:left;
|
44
|
+
background:url(admin/submit-btn.gif) no-repeat left top;
|
45
|
+
width:113px;
|
46
|
+
border:none;
|
47
|
+
font-family:inherit;
|
48
|
+
font-size:12px;
|
49
|
+
color:#fff;
|
50
|
+
padding:1px 5px 3px 20px;
|
51
|
+
text-align:center;
|
52
|
+
cursor:pointer;
|
53
|
+
}
|
54
|
+
#header .btnArea input[type="reset"]{
|
55
|
+
float:left;
|
56
|
+
background:url(admin/reset-btn.gif) no-repeat left top;
|
57
|
+
width:55px;
|
58
|
+
padding:1px 0px 3px;
|
59
|
+
margin-right:10px;
|
60
|
+
}
|
61
|
+
#hd-bar {
|
62
|
+
background:#6f8992;
|
63
|
+
height:16px;
|
64
|
+
color:#fff;
|
65
|
+
padding:3px 10px 3px 20px;
|
66
|
+
}
|
67
|
+
#hd-bar h2 {
|
68
|
+
font-size:14px;
|
69
|
+
font-weight:bold;
|
70
|
+
line-height:16px;
|
71
|
+
float:left;
|
72
|
+
color:#FFFFFF;
|
73
|
+
width:700px;
|
74
|
+
}
|
75
|
+
#hd-bar .link {
|
76
|
+
float:right;
|
77
|
+
}
|
78
|
+
#hd-bar .link a {
|
79
|
+
color:#fff;
|
80
|
+
}
|
81
|
+
#hd-bar .link a:hover {
|
82
|
+
text-decoration:none;
|
83
|
+
}
|
84
|
+
#contactBox {
|
85
|
+
border:1px solid #d6d6d6;
|
86
|
+
background:#fafafa;
|
87
|
+
padding:20px;
|
88
|
+
}
|
89
|
+
#contactBox ul li {
|
90
|
+
float:left;
|
91
|
+
margin-bottom:10px;
|
92
|
+
width:900px;
|
93
|
+
}
|
94
|
+
#contactBox ul li label {
|
95
|
+
float:left;
|
96
|
+
width:300px;
|
97
|
+
margin-right:10px;
|
98
|
+
margin-top:3px;
|
99
|
+
}
|
100
|
+
#contactBox ul li input {
|
101
|
+
font-family:inherit;
|
102
|
+
font-size:inherit;
|
103
|
+
float:left;
|
104
|
+
width:280px;
|
105
|
+
padding:3px;
|
106
|
+
border:#c8c8c8 1px solid;
|
107
|
+
}
|