trusty-cms 2.0.2 → 2.0.3.pre.beta

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 (207) hide show
  1. checksums.yaml +13 -5
  2. data/.gitignore +0 -2
  3. data/CONTRIBUTORS.md +1 -3
  4. data/Gemfile +1 -6
  5. data/Gemfile.lock +80 -100
  6. data/INSTALL.md +6 -7
  7. data/README.md +1 -3
  8. data/Rakefile +4 -24
  9. data/app/assets/javascripts/admin/jquery-ui.js +2339 -3787
  10. data/app/assets/javascripts/admin/page-edit.js +3 -3
  11. data/app/assets/javascripts/admin/tabcontrol.js.erb +16 -16
  12. data/app/assets/javascripts/admin/treetable.js +2 -4
  13. data/app/assets/stylesheets/admin/_base.scss +4 -4
  14. data/app/assets/stylesheets/admin/modules/_links.scss +1 -1
  15. data/app/assets/stylesheets/admin/partials/_content.scss +2 -9
  16. data/app/assets/stylesheets/admin/partials/_forms.scss +29 -97
  17. data/app/assets/stylesheets/admin/partials/_header.scss +3 -2
  18. data/app/assets/stylesheets/admin/partials/_index.scss +6 -9
  19. data/app/assets/stylesheets/admin/partials/_layout.scss +2 -1
  20. data/app/assets/stylesheets/admin/partials/_popup.scss +11 -0
  21. data/app/assets/stylesheets/admin/partials/_tabcontrol.scss +4 -4
  22. data/app/assets/stylesheets/admin/partials/_typography.scss +0 -4
  23. data/app/controllers/admin/pages_controller.rb +1 -9
  24. data/app/controllers/admin/references_controller.rb +1 -8
  25. data/app/controllers/admin/users_controller.rb +1 -1
  26. data/app/controllers/admin/welcome_controller.rb +3 -3
  27. data/app/controllers/application_controller.rb.rails2 +113 -0
  28. data/app/controllers/site_controller.rb +1 -1
  29. data/app/helpers/admin/node_helper.rb +4 -4
  30. data/app/helpers/application_helper.rb.rails2 +242 -0
  31. data/app/models/trusty_cms/config.rb +1 -2
  32. data/app/views/admin/configuration/edit.html.haml +2 -2
  33. data/app/views/admin/configuration/show.html.haml +1 -1
  34. data/app/views/admin/layouts/_form.html.haml +1 -1
  35. data/app/views/admin/layouts/remove.html.haml +1 -1
  36. data/app/views/admin/pages/_fields.html.haml +1 -1
  37. data/app/views/admin/pages/_node.html.haml +2 -2
  38. data/app/views/admin/pages/edit.html.haml +1 -1
  39. data/app/views/admin/pages/remove.html.haml +2 -2
  40. data/app/views/admin/preferences/edit.html.haml +36 -36
  41. data/app/views/admin/users/_form.html.haml +1 -1
  42. data/app/views/admin/users/_password_fields.html.haml +1 -1
  43. data/app/views/admin/users/remove.html.haml +1 -1
  44. data/app/views/admin/welcome/login.html.haml +1 -1
  45. data/app/views/layouts/application.html.haml +16 -18
  46. data/config/application.rb +1 -2
  47. data/config/boot.rb +1 -0
  48. data/config/database.mysql.yml +3 -3
  49. data/{spec/dummy/config/database.yml → config/database.yml.rails2} +4 -4
  50. data/config/environment.rb.rails2 +89 -0
  51. data/config/environments/development.rb +0 -1
  52. data/config/environments/development.rb.rails2 +17 -0
  53. data/config/environments/production.rb.rails2 +24 -0
  54. data/config/environments/test.rb +4 -2
  55. data/config/initializers/trusty_cms_config.rb +0 -1
  56. data/config/routes.rb +0 -1
  57. data/config/routes.rb.rails2 +41 -0
  58. data/db/migrate/001_create_radiant_tables.rb +0 -1
  59. data/db/migrate/003_rename_behavior_column.rb +9 -0
  60. data/db/migrate/019_add_salt_to_users.rb +11 -0
  61. data/db/migrate/20100805155020_convert_page_metas.rb +13 -0
  62. data/db/migrate/20110902203823_add_allowed_children_cache_to_pages.rb +4 -0
  63. data/db/migrate/20120209231801_change_pages_allowed_children_cache_to_text.rb +1 -0
  64. data/lib/generators/instance/templates/databases/mysql.yml +3 -3
  65. data/lib/generators/instance/templates/instance_gemfile +2 -2
  66. data/lib/generators/trusty_cms/templates/database.yml.erb +4 -4
  67. data/lib/generators/trusty_cms/templates/routes.rb.erb +1 -0
  68. data/lib/login_system.rb +1 -1
  69. data/lib/tasks/database.rake +3 -1
  70. data/lib/tasks/framework.rake +1 -1
  71. data/lib/trusty_cms/admin_ui.rb +0 -2
  72. data/lib/trusty_cms/extension_migrator.rb +2 -1
  73. data/lib/trusty_cms/initializer.rb +1 -1
  74. data/lib/trusty_cms/setup.rb +1 -1
  75. data/lib/trusty_cms.rb +1 -1
  76. data/public/stylesheets/admin/main.css +1 -0
  77. data/{spec/dummy/config/routes.rb → public/stylesheets/admin/overrides.css} +0 -0
  78. data/spec/ci/database.mysql.yml +1 -1
  79. data/spec/features/pages_spec.rb +2 -2
  80. data/spec/helpers/regions_helper_spec.rb +16 -0
  81. data/spec/rails_helper.rb +4 -3
  82. data/spec/spec_helper.rb +77 -13
  83. data/spec/support/custom_actions.rb +0 -1
  84. data/test/test_helper.rb.rails2 +64 -0
  85. data/tmp/cache/747/A70/TrustyCms%3A%3AConfig +0 -0
  86. data/tmp/cache/85C/FA0/TrustyCms.cache_mtime +0 -0
  87. data/tmp/cache_files_test/a.txt +1 -0
  88. data/tmp/cache_files_test/all.txt +3 -0
  89. data/tmp/cache_files_test/b.txt +1 -0
  90. data/tmp/config/radiant_config.yml +27 -0
  91. data/tmp/sass-cache/1a137f46a4706893cc07b2aa949a92cf851d936f/_boxes.sassc +0 -0
  92. data/tmp/sass-cache/1a137f46a4706893cc07b2aa949a92cf851d936f/_gradients.sassc +0 -0
  93. data/tmp/sass-cache/1a137f46a4706893cc07b2aa949a92cf851d936f/_links.sassc +0 -0
  94. data/tmp/sass-cache/28de5f95620abb7d2385166aed681f8b13104764/_appearance.scssc +0 -0
  95. data/tmp/sass-cache/28de5f95620abb7d2385166aed681f8b13104764/_background-clip.scssc +0 -0
  96. data/tmp/sass-cache/28de5f95620abb7d2385166aed681f8b13104764/_background-origin.scssc +0 -0
  97. data/tmp/sass-cache/28de5f95620abb7d2385166aed681f8b13104764/_background-size.scssc +0 -0
  98. data/tmp/sass-cache/28de5f95620abb7d2385166aed681f8b13104764/_border-radius.scssc +0 -0
  99. data/tmp/sass-cache/28de5f95620abb7d2385166aed681f8b13104764/_box-shadow.scssc +0 -0
  100. data/tmp/sass-cache/28de5f95620abb7d2385166aed681f8b13104764/_box-sizing.scssc +0 -0
  101. data/tmp/sass-cache/28de5f95620abb7d2385166aed681f8b13104764/_box.scssc +0 -0
  102. data/tmp/sass-cache/28de5f95620abb7d2385166aed681f8b13104764/_columns.scssc +0 -0
  103. data/tmp/sass-cache/28de5f95620abb7d2385166aed681f8b13104764/_filter.scssc +0 -0
  104. data/tmp/sass-cache/28de5f95620abb7d2385166aed681f8b13104764/_font-face.scssc +0 -0
  105. data/tmp/sass-cache/28de5f95620abb7d2385166aed681f8b13104764/_hyphenation.scssc +0 -0
  106. data/tmp/sass-cache/28de5f95620abb7d2385166aed681f8b13104764/_images.scssc +0 -0
  107. data/tmp/sass-cache/28de5f95620abb7d2385166aed681f8b13104764/_inline-block.scssc +0 -0
  108. data/tmp/sass-cache/28de5f95620abb7d2385166aed681f8b13104764/_opacity.scssc +0 -0
  109. data/tmp/sass-cache/28de5f95620abb7d2385166aed681f8b13104764/_regions.scssc +0 -0
  110. data/tmp/sass-cache/28de5f95620abb7d2385166aed681f8b13104764/_shared.scssc +0 -0
  111. data/tmp/sass-cache/28de5f95620abb7d2385166aed681f8b13104764/_text-shadow.scssc +0 -0
  112. data/tmp/sass-cache/28de5f95620abb7d2385166aed681f8b13104764/_transform.scssc +0 -0
  113. data/tmp/sass-cache/28de5f95620abb7d2385166aed681f8b13104764/_transition.scssc +0 -0
  114. data/tmp/sass-cache/28de5f95620abb7d2385166aed681f8b13104764/_user-interface.scssc +0 -0
  115. data/tmp/sass-cache/2f4278d4f2cc4f21f31aa67430e462fbca6b47a0/_actions.sassc +0 -0
  116. data/tmp/sass-cache/2f4278d4f2cc4f21f31aa67430e462fbca6b47a0/_avatars.sassc +0 -0
  117. data/tmp/sass-cache/2f4278d4f2cc4f21f31aa67430e462fbca6b47a0/_content.sassc +0 -0
  118. data/tmp/sass-cache/2f4278d4f2cc4f21f31aa67430e462fbca6b47a0/_dateinput.sassc +0 -0
  119. data/tmp/sass-cache/2f4278d4f2cc4f21f31aa67430e462fbca6b47a0/_deprecated.sassc +0 -0
  120. data/tmp/sass-cache/2f4278d4f2cc4f21f31aa67430e462fbca6b47a0/_dropdown.sassc +0 -0
  121. data/tmp/sass-cache/2f4278d4f2cc4f21f31aa67430e462fbca6b47a0/_footer.sassc +0 -0
  122. data/tmp/sass-cache/2f4278d4f2cc4f21f31aa67430e462fbca6b47a0/_forms.sassc +0 -0
  123. data/tmp/sass-cache/2f4278d4f2cc4f21f31aa67430e462fbca6b47a0/_header.sassc +0 -0
  124. data/tmp/sass-cache/2f4278d4f2cc4f21f31aa67430e462fbca6b47a0/_index.sassc +0 -0
  125. data/tmp/sass-cache/2f4278d4f2cc4f21f31aa67430e462fbca6b47a0/_layout.sassc +0 -0
  126. data/tmp/sass-cache/2f4278d4f2cc4f21f31aa67430e462fbca6b47a0/_messages.sassc +0 -0
  127. data/tmp/sass-cache/2f4278d4f2cc4f21f31aa67430e462fbca6b47a0/_popup.sassc +0 -0
  128. data/tmp/sass-cache/2f4278d4f2cc4f21f31aa67430e462fbca6b47a0/_tabcontrol.sassc +0 -0
  129. data/tmp/sass-cache/2f4278d4f2cc4f21f31aa67430e462fbca6b47a0/_toolbar.sassc +0 -0
  130. data/tmp/sass-cache/2f4278d4f2cc4f21f31aa67430e462fbca6b47a0/_typography.sassc +0 -0
  131. data/tmp/sass-cache/2f4278d4f2cc4f21f31aa67430e462fbca6b47a0/_validations.sassc +0 -0
  132. data/tmp/sass-cache/33c9f77b54ab77293741bf5159eedff124a39fc1/_color.scssc +0 -0
  133. data/tmp/sass-cache/33c9f77b54ab77293741bf5159eedff124a39fc1/_general.scssc +0 -0
  134. data/tmp/sass-cache/33c9f77b54ab77293741bf5159eedff124a39fc1/_sprites.scssc +0 -0
  135. data/tmp/sass-cache/33c9f77b54ab77293741bf5159eedff124a39fc1/_tables.scssc +0 -0
  136. data/tmp/sass-cache/5683573556a6b271b3ffade55f4ff32a60e7c0f0/_base.scssc +0 -0
  137. data/tmp/sass-cache/5683573556a6b271b3ffade55f4ff32a60e7c0f0/_sprite-img.scssc +0 -0
  138. data/tmp/sass-cache/6159fdf943b5ffc54b901a34cdfcfc7e6f736834/_alternating-rows-and-columns.scssc +0 -0
  139. data/tmp/sass-cache/6159fdf943b5ffc54b901a34cdfcfc7e6f736834/_borders.scssc +0 -0
  140. data/tmp/sass-cache/6159fdf943b5ffc54b901a34cdfcfc7e6f736834/_scaffolding.scssc +0 -0
  141. data/tmp/sass-cache/81fb0626d3f9dbbcc1f43df416db1c97b6ad512a/_links.scssc +0 -0
  142. data/tmp/sass-cache/81fb0626d3f9dbbcc1f43df416db1c97b6ad512a/_lists.scssc +0 -0
  143. data/tmp/sass-cache/81fb0626d3f9dbbcc1f43df416db1c97b6ad512a/_text.scssc +0 -0
  144. data/tmp/sass-cache/81fb0626d3f9dbbcc1f43df416db1c97b6ad512a/_vertical_rhythm.scssc +0 -0
  145. data/tmp/sass-cache/87c1de4edf14dc5f527f65e2080e0faa325354aa/_hover-link.scssc +0 -0
  146. data/tmp/sass-cache/87c1de4edf14dc5f527f65e2080e0faa325354aa/_link-colors.scssc +0 -0
  147. data/tmp/sass-cache/87c1de4edf14dc5f527f65e2080e0faa325354aa/_unstyled-link.scssc +0 -0
  148. data/tmp/sass-cache/8b412a89f899813981285eadb5f08e52b94dfb65/_css3.scssc +0 -0
  149. data/tmp/sass-cache/8b412a89f899813981285eadb5f08e52b94dfb65/_support.scssc +0 -0
  150. data/tmp/sass-cache/8b412a89f899813981285eadb5f08e52b94dfb65/_typography.scssc +0 -0
  151. data/tmp/sass-cache/8b412a89f899813981285eadb5f08e52b94dfb65/_utilities.scssc +0 -0
  152. data/tmp/sass-cache/92844cd19a320f87ef960171cea4f33d1a07339c/_contrast.scssc +0 -0
  153. data/tmp/sass-cache/a97de1041408f914478b9e7943c5c6c2d221d4c0/_ellipsis.scssc +0 -0
  154. data/tmp/sass-cache/a97de1041408f914478b9e7943c5c6c2d221d4c0/_force-wrap.scssc +0 -0
  155. data/tmp/sass-cache/a97de1041408f914478b9e7943c5c6c2d221d4c0/_nowrap.scssc +0 -0
  156. data/tmp/sass-cache/a97de1041408f914478b9e7943c5c6c2d221d4c0/_replacement.scssc +0 -0
  157. data/tmp/sass-cache/b3d80baefd48593d8c08815ba2d83e209f5dad6f/_grid-background.scssc +0 -0
  158. data/tmp/sass-cache/b92bfc773efa04d930ffa0b3331244a1f378caa7/_compass.scssc +0 -0
  159. data/tmp/sass-cache/c055a2360b102aff9247707235d9dce9214f6c4f/_clearfix.scssc +0 -0
  160. data/tmp/sass-cache/c055a2360b102aff9247707235d9dce9214f6c4f/_float.scssc +0 -0
  161. data/tmp/sass-cache/c055a2360b102aff9247707235d9dce9214f6c4f/_hacks.scssc +0 -0
  162. data/tmp/sass-cache/c055a2360b102aff9247707235d9dce9214f6c4f/_min.scssc +0 -0
  163. data/tmp/sass-cache/c055a2360b102aff9247707235d9dce9214f6c4f/_reset.scssc +0 -0
  164. data/tmp/sass-cache/c055a2360b102aff9247707235d9dce9214f6c4f/_tag-cloud.scssc +0 -0
  165. data/tmp/sass-cache/c3fa060b99d9ed1d9740af472ecc747182e2ea93/_base.sassc +0 -0
  166. data/tmp/sass-cache/c3fa060b99d9ed1d9740af472ecc747182e2ea93/main.sassc +0 -0
  167. data/tmp/sass-cache/c3fa060b99d9ed1d9740af472ecc747182e2ea93/overrides.sassc +0 -0
  168. data/tmp/sass-cache/d2bf234de18cb20fe8238c9224b9863ed5d268c6/_bullets.scssc +0 -0
  169. data/tmp/sass-cache/d2bf234de18cb20fe8238c9224b9863ed5d268c6/_horizontal-list.scssc +0 -0
  170. data/tmp/sass-cache/d2bf234de18cb20fe8238c9224b9863ed5d268c6/_inline-block-list.scssc +0 -0
  171. data/tmp/sass-cache/d2bf234de18cb20fe8238c9224b9863ed5d268c6/_inline-list.scssc +0 -0
  172. data/tmp/sass-cache/dc9647e96d50c02214aff50e88308a74bf56d1d7/_utilities.scssc +0 -0
  173. data/trusty_cms.gemspec +2 -4
  174. metadata +180 -171
  175. data/spec/dummy/README.rdoc +0 -28
  176. data/spec/dummy/Rakefile +0 -5
  177. data/spec/dummy/bin/bundle +0 -3
  178. data/spec/dummy/bin/rails +0 -4
  179. data/spec/dummy/bin/rake +0 -4
  180. data/spec/dummy/bin/setup +0 -29
  181. data/spec/dummy/config/application.rb +0 -152
  182. data/spec/dummy/config/boot.rb +0 -6
  183. data/spec/dummy/config/environment.rb +0 -5
  184. data/spec/dummy/config/environments/development.rb +0 -49
  185. data/spec/dummy/config/environments/production.rb +0 -79
  186. data/spec/dummy/config/environments/test.rb +0 -42
  187. data/spec/dummy/config/initializers/assets.rb +0 -11
  188. data/spec/dummy/config/initializers/backtrace_silencers.rb +0 -7
  189. data/spec/dummy/config/initializers/cookies_serializer.rb +0 -3
  190. data/spec/dummy/config/initializers/filter_parameter_logging.rb +0 -4
  191. data/spec/dummy/config/initializers/inflections.rb +0 -16
  192. data/spec/dummy/config/initializers/mime_types.rb +0 -4
  193. data/spec/dummy/config/initializers/session_store.rb +0 -3
  194. data/spec/dummy/config/initializers/trusty_cms_config.rb +0 -20
  195. data/spec/dummy/config/initializers/wrap_parameters.rb +0 -14
  196. data/spec/dummy/config/locales/en.yml +0 -23
  197. data/spec/dummy/config/secrets.yml +0 -22
  198. data/spec/dummy/config.ru +0 -4
  199. data/spec/dummy/db/schema.rb +0 -122
  200. data/spec/dummy/log/test.log +0 -25081
  201. data/spec/dummy/public/404.html +0 -67
  202. data/spec/dummy/public/422.html +0 -67
  203. data/spec/dummy/public/500.html +0 -66
  204. data/spec/dummy/public/favicon.ico +0 -0
  205. data/spec/dummy/tmp/cache/747/A70/TrustyCms%3A%3AConfig +0 -0
  206. data/spec/dummy/tmp/cache/85C/FA0/TrustyCms.cache_mtime +0 -0
  207. data/spec/dummy/tmp/radiant_config_cache.txt +0 -0
data/config/boot.rb CHANGED
@@ -1,3 +1,4 @@
1
+ require 'rubygems'
1
2
  # Don't change this file!
2
3
  # Configure your app in config/environment.rb and config/environments/*.rb
3
4
 
@@ -4,19 +4,19 @@
4
4
  #
5
5
 
6
6
  development:
7
- adapter: mysql2
7
+ adapter: mysql
8
8
  database: trusty_cms_dev
9
9
  username: root
10
10
  password:
11
11
 
12
12
  test: &TEST
13
- adapter: mysql2
13
+ adapter: mysql
14
14
  database: trusty_cms_test
15
15
  username: root
16
16
  password:
17
17
 
18
18
  production:
19
- adapter: mysql2
19
+ adapter: mysql
20
20
  database: trusty_cms_live
21
21
  username: root
22
22
  password:
@@ -4,25 +4,25 @@
4
4
  #
5
5
 
6
6
  development:
7
- adapter: mysql2
7
+ adapter: mysql
8
8
  database: trusty_cms_dev
9
9
  username: root
10
10
  password:
11
11
  host: localhost
12
12
 
13
13
  test: &TEST
14
- adapter: mysql2
14
+ adapter: mysql
15
15
  database: trusty_cms_test
16
16
  username: root
17
17
  password:
18
18
  host: localhost
19
19
 
20
20
  production:
21
- adapter: mysql2
21
+ adapter: mysql
22
22
  database: trusty_cms_live
23
23
  username: root
24
24
  password:
25
25
  socket: /tmp/mysql.sock
26
26
 
27
27
  cucumber:
28
- <<: *TEST
28
+ <<: *TEST
@@ -0,0 +1,89 @@
1
+ # Be sure to restart your server when you modify this file
2
+
3
+ # Uncomment below to force Rails into production mode when
4
+ # you don't control web/app server and can't set it the proper way
5
+ # ENV['RAILS_ENV'] ||= 'production'
6
+
7
+ # Specifies gem version of Rails to use when vendor/rails is not present
8
+ require File.join(File.dirname(__FILE__), 'boot')
9
+
10
+ require 'radius'
11
+
12
+ YAML::ENGINE.yamler = 'syck' if RUBY_VERSION =~ /1.9/
13
+
14
+ TrustyCms::Initializer.run do |config|
15
+ # Skip frameworks you're not going to use (only works if using vendor/rails).
16
+ # To use Rails without a database, you must remove the Active Record framework
17
+ # config.frameworks -= [ :action_mailer ]
18
+
19
+ # Only load the extensions named here, in the order given. By default all
20
+ # extensions in vendor/extensions are loaded, in alphabetical order. :all
21
+ # can be used as a placeholder for all extensions not explicitly named.
22
+ # config.extensions = [ :all ]
23
+
24
+ # By default, only English translations are loaded. Remove any of these from
25
+ # the list below if you'd like to provide any of the additional options
26
+ # config.ignore_extensions []
27
+
28
+ # Your secret key for verifying cookie session data integrity.
29
+ # If you change this key, all old sessions will become invalid!
30
+ # Make sure the secret is at least 30 characters and all random,
31
+ # no regular words or you'll be exposed to dictionary attacks.
32
+ config.action_controller.session = {
33
+ :key => '_trusty_cms_session',
34
+ :secret => 'asdfqwerfxcoivswqenadfasdfqewpfioutyqwel'
35
+ }
36
+
37
+ # Comment out this line if you want to turn off all caching, or
38
+ # add options to modify the behavior. In the majority of deployment
39
+ # scenarios it is desirable to leave TrustyCms's cache enabled and in
40
+ # the default configuration.
41
+ #
42
+ # Additional options:
43
+ # :use_x_sendfile => true
44
+ # Turns on X-Sendfile support for Apache with mod_xsendfile or lighttpd.
45
+ # :use_x_accel_redirect => '/some/virtual/path'
46
+ # Turns on X-Accel-Redirect support for nginx. You have to provide
47
+ # a path that corresponds to a virtual location in your webserver
48
+ # configuration.
49
+ # :entitystore => "trusty_cms:tmp/cache/entity"
50
+ # Sets the entity store type (preceding the colon) and storage
51
+ # location (following the colon, relative to Rails.root).
52
+ # We recommend you use trusty_cms: since this will enable manual expiration.
53
+ # :metastore => "trusty_cms:tmp/cache/meta"
54
+ # Sets the meta store type and storage location. We recommend you use
55
+ # trusty_cms: since this will enable manual expiration and acceleration headers.
56
+ config.middleware.use ::TrustyCms::Cache
57
+
58
+ # Use the database for sessions instead of the cookie-based default,
59
+ # which shouldn't be used to store highly confidential information
60
+ # (create the session table with 'rake db:sessions:create')
61
+ config.action_controller.session_store = :cookie_store
62
+
63
+ # Activate observers that should always be running
64
+ config.active_record.observers = :user_action_observer
65
+
66
+ # The internationalization framework can be changed to have another default locale (standard is :en) or more load paths.
67
+ # All files from config/locales/*.rb,yml are added automatically.
68
+ # config.i18n.load_path << Dir[File.join(Rails.root, 'my', 'locales', '*.{rb,yml}')]
69
+ # config.i18n.default_locale = :'en'
70
+
71
+ # Make Active Record use UTC-base instead of local time
72
+ config.time_zone = 'UTC'
73
+
74
+ # Set the default field error proc
75
+ config.action_view.field_error_proc = Proc.new do |html, instance|
76
+ if html !~ /label/
77
+ %{<span class="error-with-field">#{html} <span class="error">#{[instance.error_message].flatten.first}</span></span>}
78
+ else
79
+ html
80
+ end
81
+ end
82
+
83
+ config.after_initialize do
84
+ # Add new inflection rules using the following format:
85
+ ActiveSupport::Inflector.inflections do |inflect|
86
+ inflect.uncountable 'config'
87
+ end
88
+ end
89
+ end
@@ -5,7 +5,6 @@ TrustyCms::Application.configure do
5
5
  # every request. This slows down response time but is perfect for development
6
6
  # since you don't have to restart the webserver when you make code changes.
7
7
  config.cache_classes = false
8
- config.eager_load = false
9
8
 
10
9
  # Log error messages when you accidentally call methods on nil.
11
10
  config.whiny_nils = true
@@ -0,0 +1,17 @@
1
+ # Settings specified here will take precedence over those in config/environment.rb
2
+
3
+ # In the development environment your application's code is reloaded on
4
+ # every request. This slows down response time but is perfect for development
5
+ # since you don't have to restart the webserver when you make code changes.
6
+ config.cache_classes = false
7
+
8
+ # Log error messages when you accidentally call methods on nil.
9
+ config.whiny_nils = true
10
+
11
+ # Show full error reports and caching is turned off
12
+ config.action_controller.consider_all_requests_local = true
13
+ config.action_view.debug_rjs = true
14
+ config.action_controller.perform_caching = false
15
+
16
+ # Don't care if the mailer can't send
17
+ config.action_mailer.raise_delivery_errors = false
@@ -0,0 +1,24 @@
1
+ # Settings specified here will take precedence over those in config/environment.rb
2
+
3
+ # The production environment is meant for finished, "live" apps.
4
+ # Code is not reloaded between requests
5
+ config.cache_classes = true
6
+
7
+ # Use a different logger for distributed setups
8
+ # config.logger = SyslogLogger.new
9
+
10
+
11
+ # Full error reports are disabled and caching is on
12
+ config.action_controller.consider_all_requests_local = false
13
+ config.action_controller.perform_caching = true
14
+
15
+ # Enable serving of images, stylesheets, and javascripts from an asset server
16
+ # config.action_controller.asset_host = "http://assets.example.com"
17
+
18
+ # Disable delivery errors if you bad email addresses should just be ignored
19
+ # config.action_mailer.raise_delivery_errors = false
20
+
21
+ # Cache your content for a longer time, the default is 5.minutes
22
+ # config.after_initialize do
23
+ # SiteController.cache_timeout = 12.hours
24
+ # end
@@ -6,7 +6,6 @@ TrustyCms::Application.configure do
6
6
  # your test database is "scratch space" for the test suite and is wiped
7
7
  # and recreated between test runs. Don't rely on the data there!
8
8
  config.cache_classes = true
9
- config.eager_load = false
10
9
 
11
10
  # ensure test extensions are loaded
12
11
  # test_extension_dir = File.join(File.expand_path(TRUSTY_CMS_ROOT), 'test', 'fixtures', 'extensions')
@@ -24,6 +23,9 @@ TrustyCms::Application.configure do
24
23
  config.consider_all_requests_local = true
25
24
  config.action_controller.perform_caching = false
26
25
 
26
+ # Quiet rack cache logging in test mode
27
+ Rails.application.middleware.delete Rack::Cache
28
+ Rails.application.middleware.insert 0, Rack::Cache, { verbose: false }
27
29
 
28
30
  # Raise an ActiveModel::MassAssignmentSecurity::Error any time
29
31
  # something is mass-assigned that shouldn't be for ease in debugging.
@@ -38,7 +40,7 @@ TrustyCms::Application.configure do
38
40
  config.action_mailer.delivery_method = :test
39
41
 
40
42
  # Configure static asset server for tests with Cache-Control for performance
41
- config.serve_static_files = true
43
+ config.serve_static_assets = true
42
44
  config.static_cache_control = "public, max-age=3600"
43
45
 
44
46
  # Raise exceptions instead of rendering exception templates
@@ -13,5 +13,4 @@ TrustyCms.config do |config|
13
13
  config.define 'site.title', :default => "Your site title", :allow_blank => false
14
14
  config.define 'site.host', :default => "www.example.com", :allow_blank => false
15
15
  config.define 'user.allow_password_reset?', :default => true
16
- config.define 'session_timeout', :default => 2.weeks
17
16
  end
data/config/routes.rb CHANGED
@@ -35,5 +35,4 @@ TrustyCms::Application.routes.draw do
35
35
  get 'error/404' => 'site#not_found', :as => :not_found
36
36
  get 'error/500' => 'site#error', :as => :error
37
37
  get '*url' => 'site#show_page'
38
-
39
38
  end
@@ -0,0 +1,41 @@
1
+ ActionController::Routing::Routes.draw do |map|
2
+
3
+ # Admin RESTful Routes
4
+ map.namespace :admin, :member => { :remove => :get } do |admin|
5
+ admin.resources :pages do |pages|
6
+ pages.resources :children, :controller => "pages"
7
+ end
8
+ admin.resources :layouts
9
+ admin.resources :users
10
+ end
11
+ map.preview 'admin/preview', :controller => 'admin/pages', :action => 'preview', :conditions => {:method => [:post, :put]}
12
+
13
+ map.namespace :admin do |admin|
14
+ admin.resource :preferences
15
+ admin.resource :configuration, :controller => 'configuration'
16
+ # admin.resources :settings
17
+ admin.resources :extensions, :only => :index
18
+ admin.resources :page_parts
19
+ admin.resources :page_fields
20
+ admin.reference '/reference/:type.:format', :controller => 'references', :action => 'show', :conditions => {:method => :get}
21
+ end
22
+
23
+ # Admin Routes
24
+ map.with_options(:controller => 'admin/welcome') do |welcome|
25
+ welcome.admin 'admin', :action => 'index'
26
+ welcome.welcome 'admin/welcome', :action => 'index'
27
+ welcome.login 'admin/login', :action => 'login'
28
+ welcome.logout 'admin/logout', :action => 'logout'
29
+ end
30
+
31
+ # Site URLs
32
+ map.with_options(:controller => 'site') do |site|
33
+ site.root :action => 'show_page', :url => '/'
34
+ site.not_found 'error/404', :action => 'not_found'
35
+ site.error 'error/500', :action => 'error'
36
+
37
+ # Everything else
38
+ site.connect '*url', :action => 'show_page'
39
+ end
40
+
41
+ end
@@ -59,7 +59,6 @@ class CreateRadiantTables < ActiveRecord::Migration
59
59
  t.column "updated_at", :datetime
60
60
  t.column "created_by", :integer
61
61
  t.column "updated_by", :integer
62
- t.column "salt", :string
63
62
  end
64
63
  add_index "users", ["login"], :name => "login", :unique => true
65
64
 
@@ -0,0 +1,9 @@
1
+ class RenameBehaviorColumn < ActiveRecord::Migration
2
+ def self.up
3
+ rename_column :pages, :behavior, :behavior_id
4
+ end
5
+
6
+ def self.down
7
+ rename_column :pages, :behavior_id, :behavior
8
+ end
9
+ end
@@ -0,0 +1,11 @@
1
+ class AddSaltToUsers < ActiveRecord::Migration
2
+ def self.up
3
+ add_column :users, :salt, :string
4
+ User.reset_column_information
5
+ User.update_all :salt => "sweet harmonious biscuits"
6
+ end
7
+
8
+ def self.down
9
+ remove_column :users, :salt
10
+ end
11
+ end
@@ -1,11 +1,24 @@
1
1
  class ConvertPageMetas < ActiveRecord::Migration
2
2
  def self.up
3
+ # following add and remove column enables running this migration
4
+ # when upgrading radiant with allowed_children_cache added to Page model
5
+ add_column :pages, :allowed_children_cache, :text
6
+ Page.all.each do |page|
7
+ page.fields.create(:name => 'Keywords', :content => page.keywords)
8
+ page.fields.create(:name => 'Description', :content => page.description)
9
+ end
3
10
  remove_column :pages, :keywords
4
11
  remove_column :pages, :description
12
+ remove_column :pages, :allowed_children_cache
5
13
  end
6
14
 
7
15
  def self.down
8
16
  add_column :pages, :description, :string
9
17
  add_column :pages, :keywords, :string
18
+ Page.all.each do |page|
19
+ page.description = page.field('description').content
20
+ page.keywords = page.field('keywords').content
21
+ page.save
22
+ end
10
23
  end
11
24
  end
@@ -1,6 +1,10 @@
1
1
  class AddAllowedChildrenCacheToPages < ActiveRecord::Migration
2
2
  def self.up
3
3
  add_column :pages, :allowed_children_cache, :text
4
+ Page.reset_column_information
5
+ Page.find_each do |page|
6
+ page.save # update the allowed_children_cache
7
+ end
4
8
  end
5
9
 
6
10
  def self.down
@@ -1,5 +1,6 @@
1
1
  class ChangePagesAllowedChildrenCacheToText < ActiveRecord::Migration
2
2
  def self.up
3
+ Page.reset_column_information
3
4
  change_column :pages, :allowed_children_cache, :text
4
5
  end
5
6
 
@@ -11,7 +11,7 @@
11
11
  # And be sure to use new-style password hashing:
12
12
  # http://dev.mysql.com/doc/refman/5.0/en/old-client.html
13
13
  development:
14
- adapter: mysql2
14
+ adapter: mysql
15
15
  database: <%= app_name %>_development
16
16
  username: root
17
17
  password:
@@ -25,7 +25,7 @@ development:
25
25
  # re-generated from your development database when you run 'rake'.
26
26
  # Do not set this db to the same as development or production.
27
27
  test:
28
- adapter: mysql2
28
+ adapter: mysql
29
29
  database: <%= app_name %>_test
30
30
  username: root
31
31
  password:
@@ -36,7 +36,7 @@ test:
36
36
  <% end -%>
37
37
 
38
38
  production:
39
- adapter: mysql2
39
+ adapter: mysql
40
40
  database: <%= app_name %>_production
41
41
  username: root
42
42
  password:
@@ -20,8 +20,8 @@ gem "compass-rails", "~> 1.0.3"
20
20
  # SQLite is the default database connection but only suitable for local use
21
21
  <%= '# ' unless db == 'sqlite3' %>gem "sqlite3", "~> 1.3.5"
22
22
 
23
- # To use MySQL2
24
- <%= '# ' unless db == 'mysql2' %>"mysql2", "~> 0.4.2"
23
+ # To use MySQL
24
+ <%= '# ' unless db == 'mysql' %>gem "mysql", "~> 2.8.1"
25
25
 
26
26
  # Postgres
27
27
  <%= '# ' unless db == 'postgresql' %>gem "pg", "~> 0.11.0"
@@ -4,25 +4,25 @@
4
4
  #
5
5
 
6
6
  development:
7
- adapter: mysql2
7
+ adapter: mysql
8
8
  database: <%= project_name%>_blank_dev
9
9
  username:
10
10
  password:
11
11
  host: localhost
12
12
 
13
13
  test: &TEST
14
- adapter: mysql2
14
+ adapter: mysql
15
15
  database: <%= project_name%>_blank_test
16
16
  username:
17
17
  password:
18
18
  host:
19
19
 
20
20
  production:
21
- adapter: mysql2
21
+ adapter: mysql
22
22
  database: <%= project_name%>_blank_live
23
23
  username:
24
24
  password:
25
25
  socket: /tmp/mysql.sock
26
26
 
27
27
  cucumber:
28
- <<: *TEST
28
+ <<: *TEST
@@ -0,0 +1 @@
1
+ load File.join(TRUSTY_CMS_ROOT, "config", "routes.rb")
data/lib/login_system.rb CHANGED
@@ -81,7 +81,7 @@ module LoginSystem
81
81
  end
82
82
 
83
83
  def set_session_cookie(user = current_user)
84
- cookies[:session_token] = { :value => user.session_token , :expires => (Time.now + ((TrustyCms::Config['session_timeout'].to_i)/86400).days).utc }
84
+ cookies[:session_token] = { :value => user.session_token , :expires => TrustyCms::Config['session_timeout'].to_i.from_now.utc }
85
85
  end
86
86
 
87
87
  module ClassMethods
@@ -63,7 +63,9 @@ To add more extensions just add them to your Gemfile and run `bundle install`.
63
63
  end
64
64
 
65
65
  desc "Migrate the database through all available migration scripts (looks for db/migrate/* in trusty-cms, in extensions and in your site) and update db/schema.rb by invoking db:schema:dump. Turn off output with VERBOSE=false."
66
- task :migrate => [:environment, 'db:migrate:trusty_cms', 'db:migrate:extensions'] do
66
+ task :migrate => :environment do
67
+ Rake::Task['db:migrate:trusty_cms'].invoke
68
+ Rake::Task['db:migrate:extensions'].invoke
67
69
  ActiveRecord::Migration.verbose = ENV["VERBOSE"] ? ENV["VERBOSE"] == "true" : true
68
70
  ActiveRecord::Migrator.migrate("db/migrate/", ENV["VERSION"] ? ENV["VERSION"].to_i : nil)
69
71
  Rake::Task["db:schema:dump"].invoke if ActiveRecord::Base.schema_format == :ruby
@@ -120,7 +120,7 @@ unless File.directory? "#{Rails.root}/app"
120
120
 
121
121
  db_gems = {
122
122
  'sqlite3' => 'sqlite3',
123
- 'mysql2' => 'mysql2',
123
+ 'mysql' => 'mysql',
124
124
  'pg' => 'postgresql',
125
125
  'db2' => 'db2',
126
126
  'activerecord-sqlserver-adapter' => 'sqlserver'
@@ -198,7 +198,6 @@ module TrustyCms
198
198
  index.bottom.concat %w{new_button}
199
199
  end
200
200
  user.new = user.edit
201
- user.remove = user.edit
202
201
  end
203
202
  end
204
203
 
@@ -216,7 +215,6 @@ module TrustyCms
216
215
  index.bottom.concat %w{new_button}
217
216
  end
218
217
  layout.new = layout.edit
219
- layout.remove = layout.edit
220
218
  end
221
219
  end
222
220
 
@@ -84,12 +84,13 @@ module TrustyCms
84
84
 
85
85
  def record_version_state_after_migrating(version)
86
86
  sm_table = self.class.schema_migrations_table_name
87
+
87
88
  @migrated_versions ||= []
88
89
  if down?
89
90
  @migrated_versions.delete(version.to_i)
90
91
  ActiveRecord::Base.connection.update("DELETE FROM #{sm_table} WHERE version = #{quote(version_string(version))}")
91
92
  else
92
- @migrated_versions.add(version.to_i)
93
+ @migrated_versions.push(version.to_i).sort!
93
94
  ActiveRecord::Base.connection.insert("INSERT INTO #{sm_table} (version) VALUES (#{quote(version_string(version))})")
94
95
  end
95
96
  end
@@ -3,7 +3,7 @@ require 'rails'
3
3
  require 'jquery-rails'
4
4
  require 'haml-rails'
5
5
  require 'haml'
6
- require 'mysql2'
6
+ require 'mysql'
7
7
 
8
8
  require 'trusty_cms/admin_ui'
9
9
  require 'trusty_cms/extension_loader'
@@ -36,7 +36,7 @@ module TrustyCms
36
36
  :password => password,
37
37
  :password_confirmation => password
38
38
  }
39
- admin = User.find_by(login: username)
39
+ admin = User.find_by_login(username)
40
40
  admin = User.new unless admin
41
41
  admin.update_attributes(attributes)
42
42
  admin.admin = true
data/lib/trusty_cms.rb CHANGED
@@ -2,6 +2,6 @@ TRUSTY_CMS_ROOT = File.expand_path(File.join(File.dirname(__FILE__), "..")) unle
2
2
 
3
3
  unless defined? TrustyCms::VERSION
4
4
  module TrustyCms
5
- VERSION = "2.0.2"
5
+ VERSION = "2.0.3-beta"
6
6
  end
7
7
  end
@@ -0,0 +1 @@
1
+ html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font:inherit;font-size:100%;vertical-align:baseline}html{line-height:1}ol,ul{list-style:none}table{border-collapse:collapse;border-spacing:0}caption,th,td{text-align:left;font-weight:normal;vertical-align:middle}q,blockquote{quotes:none}q:before,q:after,blockquote:before,blockquote:after{content:"";content:none}a img{border:none}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section,summary{display:block}body{font-size:15px;font-family:"Lucida Grande","Bitstream Vera Sans",Helvetica,Verdana,Arial,sans-serif;line-height:1.4}a{color:#06c;text-decoration:underline}a:hover{text-decoration:none}a.alt{color:red;text-decoration:underline}a.alt:hover{text-decoration:none}big{font-size:110%}h1{font-size:180%;font-weight:bold;margin:0.75em 0}h3{font-weight:bold;font-size:130%;margin-top:1.25em;margin-bottom:0.5em}h4,h5,h6{font-weight:bold}p{margin:1em 0}td{vertical-align:middle}caption,th,td{text-align:left;font-weight:normal}img{border:none;vertical-align:middle}input[type=image]{border:none;vertical-align:middle}input.big{font-size:120%}#change_password span,span.info,span.error{font-size:80%}.clear{font-size:1px;clear:both}.warning{color:red}table{border-collapse:collapse}body.reversed{background-color:#9e9e9e;color:#fff}body.single_form #content{text-align:center}body.single_form #content #single_form{margin:6em auto 0;text-align:left}#header{font-size:90%;background:#ca0000;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #8d0000), color-stop(50%, #ca0000), color-stop(100%, #ca0000));background-image:-webkit-linear-gradient(top, #8d0000,#ca0000,#ca0000);background-image:-moz-linear-gradient(top, #8d0000,#ca0000,#ca0000);background-image:-o-linear-gradient(top, #8d0000,#ca0000,#ca0000);background-image:linear-gradient(top, #8d0000,#ca0000,#ca0000);position:relative}#header:after{content:"\0020";display:block;clear:both;overflow:hidden;height:2px;width:100%;position:absolute;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, rgba(0,0,0,0.3)), color-stop(100%, rgba(0,0,0,0)));background-image:-webkit-linear-gradient(top, rgba(0,0,0,0.3),rgba(0,0,0,0));background-image:-moz-linear-gradient(top, rgba(0,0,0,0.3),rgba(0,0,0,0));background-image:-o-linear-gradient(top, rgba(0,0,0,0.3),rgba(0,0,0,0));background-image:linear-gradient(top, rgba(0,0,0,0.3),rgba(0,0,0,0))}#site_links{color:#f7d8d8;font-size:80%;float:right;padding:15px 10px 0 5px;height:16px}#site_links a{color:#fff}#site_links a:hover,#site_links strong a{text-decoration:none}#view_site{font-size:90%;background:rgba(0,0,0,0.45);-webkit-border-radius:5px;-moz-border-radius:5px;-ms-border-radius:5px;-o-border-radius:5px;border-radius:5px;display:inline;padding:3px 10px 4px;text-decoration:none}ul#navigation{float:left;margin-top:6px}ul#navigation li{float:left;height:30px;margin:4px 0 0 8px;white-space:nowrap}ul#navigation li a{background:rgba(255,255,255,0.3);color:#f7d8d8;display:block;height:30px;line-height:30px;padding:0 20px;position:relative;text-decoration:none;-moz-border-radius-topleft:6px;-webkit-border-top-left-radius:6px;border-top-left-radius:6px;-moz-border-radius-topright:6px;-webkit-border-top-right-radius:6px;border-top-right-radius:6px}ul#navigation li:hover a{background:rgba(255,255,255,0.5);color:#fff}ul#navigation li.current a{background:#fff;color:#333;font-weight:bold}#toolbar{background:#fff;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #ffffff), color-stop(50%, #f2f2f2), color-stop(100%, #cccccc));background-image:-webkit-linear-gradient(top, #ffffff,#f2f2f2,#cccccc);background-image:-moz-linear-gradient(top, #ffffff,#f2f2f2,#cccccc);background-image:-o-linear-gradient(top, #ffffff,#f2f2f2,#cccccc);background-image:linear-gradient(top, #ffffff,#f2f2f2,#cccccc);font-size:95%;clear:both;margin:0;width:100%;height:38px;*zoom:1}#toolbar:after{content:"";display:table;clear:both}#toolbar .right{float:right}#toolbar form.search{padding:8px 8px 0}#toolbar form.search input[type=search]{font-size:12px;-webkit-border-radius:100px;-moz-border-radius:100px;-ms-border-radius:100px;-o-border-radius:100px;border-radius:100px;border:1px solid #ccc;border-top-color:#999;border-left-color:#b0b0b0;border-right-color:#bbb;background:#fff url('../../images/admin/search.png?1399550568') 4px center no-repeat;-webkit-box-shadow:0 1px 0 inset rgba(0,0,0,0.2);-moz-box-shadow:0 1px 0 inset rgba(0,0,0,0.2);box-shadow:0 1px 0 inset rgba(0,0,0,0.2);width:180px;padding:2px 8px 2px 20px}ul#secondary_navigation{float:left;margin-right:8px}ul#secondary_navigation li{float:left;display:block;background:url('../../images/admin/navigation_secondary_separator.gif?1399550568') bottom right no-repeat;padding-right:2px}ul#secondary_navigation li a{color:#555;display:block;font-weight:normal;float:left;line-height:38px;margin:0;padding:0 26px;height:38px;text-decoration:none}ul#secondary_navigation li a:hover{background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #e4f9ff), color-stop(30%, #d2ebfd), color-stop(50%, #b1d1f1), color-stop(50%, #9bc5ed), color-stop(100%, #caecff));background-image:-webkit-linear-gradient(top, #e4f9ff,#d2ebfd 30%,#b1d1f1 50%,#9bc5ed 50%,#caecff);background-image:-moz-linear-gradient(top, #e4f9ff,#d2ebfd 30%,#b1d1f1 50%,#9bc5ed 50%,#caecff);background-image:-o-linear-gradient(top, #e4f9ff,#d2ebfd 30%,#b1d1f1 50%,#9bc5ed 50%,#caecff);background-image:linear-gradient(top, #e4f9ff,#d2ebfd 30%,#b1d1f1 50%,#9bc5ed 50%,#caecff);color:#444}ul#secondary_navigation li a.current{background:#ddd;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #ffffff), color-stop(35%, #e6e6e6), color-stop(50%, #d9d9d9), color-stop(50%, #cccccc), color-stop(100%, #d9d9d9));background-image:-webkit-linear-gradient(top, #ffffff,#e6e6e6 35%,#d9d9d9 50%,#cccccc 50%,#d9d9d9);background-image:-moz-linear-gradient(top, #ffffff,#e6e6e6 35%,#d9d9d9 50%,#cccccc 50%,#d9d9d9);background-image:-o-linear-gradient(top, #ffffff,#e6e6e6 35%,#d9d9d9 50%,#cccccc 50%,#d9d9d9);background-image:linear-gradient(top, #ffffff,#e6e6e6 35%,#d9d9d9 50%,#cccccc 50%,#d9d9d9);color:#333;font-weight:bold}ul#secondary_navigation li a.current:hover{background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #e0f9fe), color-stop(30%, #c4e2f8), color-stop(50%, #98c3e7), color-stop(50%, #79aedb), color-stop(100%, #b1ddef));background-image:-webkit-linear-gradient(top, #e0f9fe,#c4e2f8 30%,#98c3e7 50%,#79aedb 50%,#b1ddef);background-image:-moz-linear-gradient(top, #e0f9fe,#c4e2f8 30%,#98c3e7 50%,#79aedb 50%,#b1ddef);background-image:-o-linear-gradient(top, #e0f9fe,#c4e2f8 30%,#98c3e7 50%,#79aedb 50%,#b1ddef);background-image:linear-gradient(top, #e0f9fe,#c4e2f8 30%,#98c3e7 50%,#79aedb 50%,#b1ddef);color:#222}img.avatar{background:#fff;border:none;padding:4px;-webkit-border-radius:3px;-moz-border-radius:3px;-ms-border-radius:3px;-o-border-radius:3px;border-radius:3px;-webkit-box-shadow:1px 1px 3px rgba(0,0,0,0.25);-moz-box-shadow:1px 1px 3px rgba(0,0,0,0.25);box-shadow:1px 1px 3px rgba(0,0,0,0.25)}img.avatar.avatar_32x32{padding:2px;-webkit-border-radius:2px;-moz-border-radius:2px;-ms-border-radius:2px;-o-border-radius:2px;border-radius:2px;-webkit-box-shadow:1px 1px 2px rgba(0,0,0,0.3);-moz-box-shadow:1px 1px 2px rgba(0,0,0,0.3);box-shadow:1px 1px 2px rgba(0,0,0,0.3)}.dropdown_wrapper{border:1px solid #b3b3b3;border-top:1px solid #c3c3c3;-webkit-box-shadow:0px 8px 25px rgba(0,0,0,0.35);-moz-box-shadow:0px 8px 25px rgba(0,0,0,0.35);box-shadow:0px 8px 25px rgba(0,0,0,0.35);-moz-border-radius-topright:5px;-webkit-border-top-right-radius:5px;border-top-right-radius:5px;-moz-border-radius-bottomleft:5px;-webkit-border-bottom-left-radius:5px;border-bottom-left-radius:5px;-moz-border-radius-bottomright:5px;-webkit-border-bottom-right-radius:5px;border-bottom-right-radius:5px}ul.menu{background:#fff;font-size:80%;padding:5px 20px;-moz-border-radius-topright:5px;-webkit-border-top-right-radius:5px;border-top-right-radius:5px;-moz-border-radius-bottomleft:5px;-webkit-border-bottom-left-radius:5px;border-bottom-left-radius:5px;-moz-border-radius-bottomright:5px;-webkit-border-bottom-right-radius:5px;border-bottom-right-radius:5px}ul.menu li{margin:0 -20px}ul.menu li.separator{margin:5px -18px;border-top:1px solid #e5e5e5}ul.menu a{color:#000;display:block;padding:6px 20px 7px;text-decoration:none;border-top:1px solid #fff}ul.menu a:hover{background:#e0f0ff;border-top:1px solid #d5f0ff;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #e5f5ff), color-stop(100%, #b5d0f5));background-image:-webkit-linear-gradient(top, #e5f5ff,#b5d0f5);background-image:-moz-linear-gradient(top, #e5f5ff,#b5d0f5);background-image:-o-linear-gradient(top, #e5f5ff,#b5d0f5);background-image:linear-gradient(top, #e5f5ff,#b5d0f5)}#notice,#error{padding:1px 1em}#notice{background-color:#b2e5b2;color:#060}#error{background-color:#f3c2c2;color:#700}#content form p label{display:block}#content form p label.checkbox,#content form p label.radio{display:inline;font-weight:normal;font-size:95%;text-shadow:none;margin-right:1em}#content form p label.multi_option{margin-bottom:0.3em}#content form p input.textbox{font-family:Georgia,Palatino,"Times New Roman",Times,serif;font-size:140%;margin-bottom:0}#content form p input.checkbox,#content form p input.radio{margin-top:0.3em}#content form p textarea{font-size:100%;margin-top:0.3em}#content form p .value{display:block;margin-top:0.25em;text-shadow:#666 1px 1px 0}#content form p .hint{font-size:90%;display:block;margin-top:0.25em;text-shadow:0px 0px 20px rgba(255,255,255,0.1)}#content form p a{color:#fff}#content form p a.action{background-color:#7e7e7e;font-size:75%;padding:0.2em 0.5em 0.3em;text-decoration:none;text-shadow:0px 0px 20px rgba(255,255,255,0.1);-webkit-border-radius:4px;-moz-border-radius:4px;-ms-border-radius:4px;-o-border-radius:4px;border-radius:4px}#content form p a.action:hover{background-color:#555}#content form p.title input.textbox{margin-top:4px;font-family:Georgia,Palatino,"Times New Roman",Times,serif;font-size:200%;width:99.5%}#content form .set{float:left;width:100%;margin-bottom:1em;clear:both}#content form .set p{float:left;margin:0 1em 0 0}#content form .buttons{color:#666;font-size:80%;margin:2.5em 0 1em}#content form .buttons button,#content form .buttons input.button{font-size:150%}#content form .buttons a{color:red;text-decoration:underline}#content form .buttons a:hover{text-decoration:none}.drawer{margin-top:-1em;margin-bottom:1em}.drawer_contents{background:#7e7e7e;-moz-border-radius-bottomright:6px;-webkit-border-bottom-right-radius:6px;border-bottom-right-radius:6px;margin:0;margin-right:2px;padding-bottom:2px;overflow:hidden}.drawer_contents:before{content:"\0020";display:block;width:100%;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, rgba(0,0,0,0.3)), color-stop(100%, rgba(0,0,0,0)));background-image:-webkit-linear-gradient(top, rgba(0,0,0,0.3),rgba(0,0,0,0));background-image:-moz-linear-gradient(top, rgba(0,0,0,0.3),rgba(0,0,0,0));background-image:-o-linear-gradient(top, rgba(0,0,0,0.3),rgba(0,0,0,0));background-image:linear-gradient(top, rgba(0,0,0,0.3),rgba(0,0,0,0));height:3px;margin-bottom:-3px}.drawer_contents table.fieldset{margin:0;padding:0;width:100%}.drawer_contents table.fieldset th,.drawer_contents table.fieldset td{border-top:1px #999 solid;padding:6px}.drawer_contents table.fieldset th.label{font-size:85%;padding:0 15px 0 10px !important;whitespace:nowrap;width:1%;vertical-align:middle;text-align:left}.drawer_contents table.fieldset td.field{padding-left:0px;padding-right:10px;text-align:right;width:auto}.drawer_contents table.fieldset td.field input.textbox{font-size:110%;width:99.5%}.drawer_contents table.fieldset td.actions{width:40px;text-align:left;vertical-align:middle}.drawer_contents table.fieldset tr:first-child td,.drawer_contents table.fieldset tr:first-child th{border-top:none}.drawer_handle{padding:4px 0 5px;margin-top:-1px}.drawer_handle a{background:#7e7e7e;border-bottom-left-radius:6px;border-bottom-right-radius:6px;color:#f0f0f0;font-size:80%;padding:4px 21px 5px 10px;position:relative;top:-1px;text-shadow:#666 1px 1px 0;text-decoration:none;-moz-border-radius-bottomleft:6px;-webkit-border-bottom-left-radius:6px;border-bottom-left-radius:6px;-moz-border-radius-bottomright:6px;-webkit-border-bottom-right-radius:6px;border-bottom-right-radius:6px}.drawer_handle a:hover,.drawer_handle a:active,.drawer_handle a:focus{text-decoration:underline}.drawer_handle a.more{background:#7e7e7e url('../../images/admin/metadata_toggle.png?1399550568') no-repeat 85% 8px}.drawer_handle a.less{background:#7e7e7e url('../../images/admin/metadata_toggle.png?1399550568') no-repeat 85% -21px}.box{color:#333;background:#f5f1e2;font-size:90%;padding:1px 15px 10px;position:relative;margin:3px 0 20px;-webkit-border-radius:8px;-moz-border-radius:8px;-ms-border-radius:8px;-o-border-radius:8px;border-radius:8px;*zoom:1}.box:after{content:"";display:table;clear:both}.box *{position:relative}.box:before{background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #ffffff), color-stop(50%, #f5f1e2), color-stop(100%, #f5f1e2));background-image:-webkit-linear-gradient(top, #ffffff,#f5f1e2 50%,#f5f1e2);background-image:-moz-linear-gradient(top, #ffffff,#f5f1e2 50%,#f5f1e2);background-image:-o-linear-gradient(top, #ffffff,#f5f1e2 50%,#f5f1e2);background-image:linear-gradient(top, #ffffff,#f5f1e2 50%,#f5f1e2);-moz-border-radius-topleft:10px;-webkit-border-top-left-radius:10px;border-top-left-radius:10px;-moz-border-radius-topright:10px;-webkit-border-top-right-radius:10px;border-top-right-radius:10px;content:"\0020";display:block;position:absolute;width:100%;height:100px;overflow:hidden;left:0;top:0}.box h3{color:#333;margin:15px 0 0;border-bottom:1px solid #ccc;padding-bottom:8px}.box h3 .actions{float:right}.box h3 .actions button{font-size:13px;padding-left:1em;padding-right:1em;position:relative;top:-4px}.box h4{border-bottom:1px solid #ccc;padding-bottom:4px;font-size:110%;margin-top:1.5em}.box p.ruled{border-bottom:1px solid #ddd;margin:0;padding:0.5em 0}.box p.ruled:last-child{border:none}.box label{color:#888;width:12em;display:inline-block}.box span.uri{color:#39c}.box:last-child{margin:0}.box#preferences img.avatar{float:right;margin:10px 0px;z-index:100}textarea{border:1px solid #cdc295;font-family:Monaco,"Courier New",Courier,monospace;font-size:95%}textarea.large{height:280px}p.updated_line{background-color:inherit;font-size:80%;text-shadow:0px 0px 20px rgba(255,255,255,0.1);margin-bottom:0}body.reversed #content form p label{color:#f5f5f5;font-weight:normal;text-shadow:1px 1px 0 #888}body.reversed #content form p label .hint{display:inline}body.reversed #content form .hint{color:#d0d0d0;text-shadow:none}body.reversed #content form .buttons{background:#d8d8d8;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #ffffff), color-stop(100%, #cccccc));background-image:-webkit-linear-gradient(top, #ffffff,#cccccc);background-image:-moz-linear-gradient(top, #ffffff,#cccccc);background-image:-o-linear-gradient(top, #ffffff,#cccccc);background-image:linear-gradient(top, #ffffff,#cccccc);-webkit-border-radius:8px;-moz-border-radius:8px;-ms-border-radius:8px;-o-border-radius:8px;border-radius:8px;-webkit-box-shadow:2px 2px 3px rgba(0,0,0,0.15);-moz-box-shadow:2px 2px 3px rgba(0,0,0,0.15);box-shadow:2px 2px 3px rgba(0,0,0,0.15);padding:12px 10px}body.reversed #content form fieldset{background:#858585;padding:20px 15px;margin-bottom:20px;overflow:hidden;-webkit-box-shadow:1px 1px 0 #ababab;-moz-box-shadow:1px 1px 0 #ababab;box-shadow:1px 1px 0 #ababab;-webkit-border-radius:8px;-moz-border-radius:8px;-ms-border-radius:8px;-o-border-radius:8px;border-radius:8px}body.reversed #content form fieldset h3{font-weight:bold;font-size:120%;margin:-20px -20px 0 -20px;padding:15px 20px 0 20px;text-shadow:0px 0px 20px rgba(255,255,255,0.1)}body.reversed #content form fieldset p{margin-bottom:0}body.reversed #content p.updated_line{color:#eee}body.reversed #content textarea{border:1px solid #fff}body.reversed #content .box{-webkit-box-shadow:2px 2px 3px rgba(0,0,0,0.15);-moz-box-shadow:2px 2px 3px rgba(0,0,0,0.15);box-shadow:2px 2px 3px rgba(0,0,0,0.15)}body.single_form #content #single_form{background:#f5f1e2;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #fdfcf9), color-stop(25%, #f5f1e2), color-stop(100%, #f5f1e2));background-image:-webkit-linear-gradient(top, #fdfcf9,#f5f1e2 25%,#f5f1e2);background-image:-moz-linear-gradient(top, #fdfcf9,#f5f1e2 25%,#f5f1e2);background-image:-o-linear-gradient(top, #fdfcf9,#f5f1e2 25%,#f5f1e2);background-image:linear-gradient(top, #fdfcf9,#f5f1e2 25%,#f5f1e2);border:0.35em solid #efead3;padding:0.5em 1.5em;padding-right:22px;position:relative;width:28em;-webkit-border-radius:6px;-moz-border-radius:6px;-ms-border-radius:6px;-o-border-radius:6px;border-radius:6px}body.single_form #content #single_form h1{font-size:140%;margin:0.75em 0 1.25em}body.single_form #content #single_form p{font-size:90%}body.single_form #content #single_form p.intro,body.single_form #content #single_form p.error{font-size:100%;line-height:1.4}body.single_form #content #single_form p.error{color:#c00}body.single_form #content #single_form p label{font-size:105%}body.single_form #content #single_form p label.checkbox{font-size:90%}body.single_form #content #single_form ul{font-size:90%;list-style:disc;padding-left:2em}body.single_form #content #single_form ul li{margin-bottom:0.5em}body.single_form #content #single_form input.textbox{width:98.5%}body.single_form #content #single_form span.remember_me{color:#333;font-size:95%;margin-left:1em}body.single_form #content #single_form span.remember_me label{margin:0}body.single_form #content #single_form span.remember_me a{margin:0;color:#06c;text-decoration:underline}body.single_form #content #single_form span.remember_me a:hover{text-decoration:none}body.single_form #content #single_form span.forgot_password{position:relative;top:-3px;margin:0 1em}body.single_form #content #single_form span.forgot_password a{color:#06c;text-decoration:underline}body.single_form #content #single_form span.forgot_password a:hover{text-decoration:none}body.single_form #content #single_form .buttons{margin:1.75em 0 1em}body.single_form #content p.version{background:url('../../images/admin/single_form_shadow.png?1399550568') top center no-repeat;color:#666;font-size:80%;padding-top:10px;margin-top:0}body.edit_user #avatar,body.edit_personal_preferences #avatar{left:26em;position:absolute;text-align:center;width:102px}body.edit_user #avatar p.caption,body.edit_personal_preferences #avatar p.caption{font-size:70%;color:#e5e5e5;line-height:1.3}table.index{font-size:90%;margin-bottom:2em;width:100%;border-bottom:1px solid #fff}table.index th{text-align:left;background-color:#9e9e9e;color:#fff;font-size:90%;font-weight:normal;padding:2px 9px}table.index th.actions{padding-left:15px;min-width:18em}table.index th.name{width:100%}table.index th.status{min-width:8em}table.index td{text-align:left;padding:4px 9px;border-top:1px solid #f0f0f0}table.index td a.action,table.index td span.action.disabled{padding:6px;margin:0 25px 0 1px}table.index td a.action img,table.index td span.action.disabled img{vertical-align:-18%}table.index td a.action{color:#000;text-decoration:none}table.index td a.action:hover{background:#d8d8d8;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #ffffff), color-stop(100%, #cccccc));background-image:-webkit-linear-gradient(top, #ffffff,#cccccc);background-image:-moz-linear-gradient(top, #ffffff,#cccccc);background-image:-o-linear-gradient(top, #ffffff,#cccccc);background-image:linear-gradient(top, #ffffff,#cccccc);border:1px solid #a5c9df;margin:0 24px 0 0;-webkit-border-radius:5px;-moz-border-radius:5px;-ms-border-radius:5px;-o-border-radius:5px;border-radius:5px}table.index td a.action.selected{background:#c5e0f5;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #e5f5ff), color-stop(100%, #c5e0ff));background-image:-webkit-linear-gradient(top, #e5f5ff,#c5e0ff);background-image:-moz-linear-gradient(top, #e5f5ff,#c5e0ff);background-image:-o-linear-gradient(top, #e5f5ff,#c5e0ff);background-image:linear-gradient(top, #e5f5ff,#c5e0ff);border:1px solid #a5c9df;margin:0 24px 0 0;-moz-border-radius-topleft:5px;-webkit-border-top-left-radius:5px;border-top-left-radius:5px;-moz-border-radius-topright:5px;-webkit-border-top-right-radius:5px;border-top-right-radius:5px;-moz-border-radius-bottomleft:0;-webkit-border-bottom-left-radius:0;border-bottom-left-radius:0;-moz-border-radius-bottomright:0;-webkit-border-bottom-right-radius:0;border-bottom-right-radius:0}table.index td span.action.disabled{color:#ccc}table.index td.empty{color:silver;font-size:85%;font-style:italic;padding:3em;text-align:center}table.index td.name{font-size:115%;font-weight:bold}table.index td.name img{vertical-align:center}table.index td.name a{color:#000;text-decoration:none}table.index td.name a:hover{color:#06c;text-decoration:underline}table.index td.actions{font-size:85%;white-space:nowrap}table.index tr:first-child{border-top:1px solid #fff}table.index tr.hover td,table.index tr:hover td{border-top:1px solid #d5f0ff;border-bottom:1px solid #c5dff5;background:#c5dff5;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #e5f5ff), color-stop(100%, #c5dff5));background-image:-webkit-linear-gradient(top, #e5f5ff,#c5dff5);background-image:-moz-linear-gradient(top, #e5f5ff,#c5dff5);background-image:-o-linear-gradient(top, #e5f5ff,#c5dff5);background-image:linear-gradient(top, #e5f5ff,#c5dff5)}table.index thead tr,table.index thead tr:first-child{border-top:none}table.index#pages tr.page.level_0 td.name{font-size:120%;font-weight:bold}table.index#pages tr.page.level_1 td.name{font-size:115%;font-weight:bold}table.index#pages tr.page.level_2 td.name{font-size:115%}table.index#pages tr.page.level_3 td.name{font-size:105%}table.index#pages td.name{font-size:105%}table.index#pages td.name a{text-decoration:none}table.index#pages td.name a .title{color:#000;text-decoration:none}table.index#pages td.name a:hover .title{color:#06c;text-decoration:underline}table.index#pages td.name .info{color:#9eb3bf;font-style:italic;font-weight:normal;font-size:90%}table.index#pages tr.page.virtual td.name a .title{color:#9eb3bf}table.index#pages td.name .w1{position:relative}table.index#pages td.name .w1 img.expander{left:-25px;position:absolute;padding:6px 3px}table.index#pages td.status{font-size:80%}.status a{color:#333;text-decoration:none}.status a:hover{text-decoration:underline;color:#06c}.draft_status{color:#fff;background:#cc494c;display:block;padding:0 6px;width:5em;text-align:center;-webkit-border-radius:100px;-moz-border-radius:100px;-ms-border-radius:100px;-o-border-radius:100px;border-radius:100px}.hidden_status{color:#fff;background:#9eb3bf;display:block;padding:0 6px;width:5em;text-align:center;-webkit-border-radius:100px;-moz-border-radius:100px;-ms-border-radius:100px;-o-border-radius:100px;border-radius:100px}table.index#users td.name{padding-top:8px;padding-bottom:8px}table.index#users td.name img.avatar{margin-right:4px;vertical-align:center}table.index#users td.name .login{color:#9eb3bf;font-size:90%;font-style:italic;font-weight:normal}#main{float:left;width:100%}#content{font-size:95%;line-height:1.2em;padding:20px}.outset{margin:-20px;margin-bottom:20px}table.fieldset th{padding:6px}table.fieldset td.field textarea{width:99.5%;margin-right:-5px}body.reversed h1{border-bottom:1px solid #ababab;background:#7e7e7e;font-size:125%;margin:-20px -20px 20px;padding:15px 20px;text-shadow:0px 0px 20px rgba(255,255,255,0.1)}.fullcover{position:absolute;width:100%;height:100%;top:0;right:0;bottom:0;left:0}.clipped{overflow:hidden}.grey_out{background:#666;background:rgba(0,0,0,0.7)}#preview_panel{background:#fff}.preview_tools{color:#000;position:fixed;top:10px;right:20px;filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=70);opacity:0.7;background:#d8d8d8;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #ffffff), color-stop(100%, #cccccc));background-image:-webkit-linear-gradient(top, #ffffff,#cccccc);background-image:-moz-linear-gradient(top, #ffffff,#cccccc);background-image:-o-linear-gradient(top, #ffffff,#cccccc);background-image:linear-gradient(top, #ffffff,#cccccc);-webkit-border-radius:8px;-moz-border-radius:8px;-ms-border-radius:8px;-o-border-radius:8px;border-radius:8px;-webkit-box-shadow:2px 2px 3px rgba(0,0,0,0.15);-moz-box-shadow:2px 2px 3px rgba(0,0,0,0.15);box-shadow:2px 2px 3px rgba(0,0,0,0.15);padding:12px 10px}.preview_tools:hover{filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=100);opacity:1}.preview_tools a{color:red;text-decoration:underline}.preview_tools a:hover{text-decoration:none}#actions{position:fixed;left:0;right:0;bottom:0;background:#777;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #555555), color-stop(33.33333%, #666666), color-stop(66.66667%, #777777), color-stop(100%, #777777));background-image:-webkit-linear-gradient(top, #555555,#666666,#777777,#777777);background-image:-moz-linear-gradient(top, #555555,#666666,#777777,#777777);background-image:-o-linear-gradient(top, #555555,#666666,#777777,#777777);background-image:linear-gradient(top, #555555,#666666,#777777,#777777)}#actions ul{padding:14px 8px}#actions li{display:inline;margin-right:5px}#actions .pagination{position:relative;overflow:hidden;float:right;margin-right:24px;padding:0 5px 5px 0}#actions .pagination a,#actions .pagination span.current,#actions .pagination span.disabled{display:block;float:left;padding:6px 12px 6px 12px;margin-right:1px;background:#ddd;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #c5c5c5), color-stop(20%, #f0f0f0), color-stop(35%, #ffffff), color-stop(100%, #ffffff));background-image:-webkit-linear-gradient(top, #c5c5c5,#f0f0f0 20%,#ffffff 35%,#ffffff);background-image:-moz-linear-gradient(top, #c5c5c5,#f0f0f0 20%,#ffffff 35%,#ffffff);background-image:-o-linear-gradient(top, #c5c5c5,#f0f0f0 20%,#ffffff 35%,#ffffff);background-image:linear-gradient(top, #c5c5c5,#f0f0f0 20%,#ffffff 35%,#ffffff);color:#999;font-size:80%;text-decoration:none;-moz-border-radius-bottomleft:5px;-webkit-border-bottom-left-radius:5px;border-bottom-left-radius:5px;-moz-border-radius-bottomright:5px;-webkit-border-bottom-right-radius:5px;border-bottom-right-radius:5px;-moz-border-radius-topleft:0;-webkit-border-top-left-radius:0;border-top-left-radius:0;-moz-border-radius-topright:0;-webkit-border-top-right-radius:0;border-top-right-radius:0}#actions .pagination a{text-shadow:1px 1px 1px #eee}#actions .pagination a:hover{background:#d8d8d8;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #ffffff), color-stop(50%, #ffffff), color-stop(100%, #dddddd));background-image:-webkit-linear-gradient(top, #ffffff,#ffffff,#dddddd);background-image:-moz-linear-gradient(top, #ffffff,#ffffff,#dddddd);background-image:-o-linear-gradient(top, #ffffff,#ffffff,#dddddd);background-image:linear-gradient(top, #ffffff,#ffffff,#dddddd);color:#0076a3;-webkit-box-shadow:1px 2px 3px #555;-moz-box-shadow:1px 2px 3px #555;box-shadow:1px 2px 3px #555}#actions .pagination a:active{color:#000;-webkit-box-shadow:0 0 0 #555;-moz-box-shadow:0 0 0 #555;box-shadow:0 0 0 #555}#actions .pagination span.disabled{color:#666;background-color:#999;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #888888), color-stop(33.33333%, #999999), color-stop(66.66667%, #999999), color-stop(100%, #999999));background-image:-webkit-linear-gradient(top, #888888,#999999,#999999,#999999);background-image:-moz-linear-gradient(top, #888888,#999999,#999999,#999999);background-image:-o-linear-gradient(top, #888888,#999999,#999999,#999999);background-image:linear-gradient(top, #888888,#999999,#999999,#999999)}#actions .pagination span.current{color:#000;background:#fff;font-weight:bold;background-image:none;-webkit-box-shadow:1px 2px 3px #555;-moz-box-shadow:1px 2px 3px #555;box-shadow:1px 2px 3px #555}#actions .pagination span.gap{display:block;float:left;padding:6px;color:#ccc}#actions .depaginate{float:right;padding:6px 12px}#actions .depaginate a{-webkit-box-shadow:0 0 0 #555;-moz-box-shadow:0 0 0 #555;box-shadow:0 0 0 #555;background:none;font-size:80%;color:#ccc;text-shadow:none;text-decoration:none}#actions .depaginate a:hover{color:#fff}.button_form{display:inline}.action_button{display:inline;background:#d8d8d8;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #ffffff), color-stop(100%, #cccccc));background-image:-webkit-linear-gradient(top, #ffffff,#cccccc);background-image:-moz-linear-gradient(top, #ffffff,#cccccc);background-image:-o-linear-gradient(top, #ffffff,#cccccc);background-image:linear-gradient(top, #ffffff,#cccccc);color:#333;font-size:80%;padding:8px 12px;text-decoration:none;text-shadow:1px 1px 1px #eee;-webkit-border-radius:5px;-moz-border-radius:5px;-ms-border-radius:5px;-o-border-radius:5px;border-radius:5px;-webkit-box-shadow:1px 2px 3px #555;-moz-box-shadow:1px 2px 3px #555;box-shadow:1px 2px 3px #555}.action_button:hover{color:#0076a3;text-shadow:1px 1px 1px #fff}.action_button:active{background:#fff;-webkit-box-shadow:0 0 0 #555;-moz-box-shadow:0 0 0 #555;box-shadow:0 0 0 #555;color:#000}.action_button img{vertical-align:-20%}#footer{color:#999;background-color:#f7f7f7;border-top:1px solid #eaeaea;font-size:80%;float:left;padding-top:20px;padding-bottom:20px;width:100%}#footer p{padding-left:20px;padding-right:20px}div.popup{color:#333;background-color:#fff;border:1px solid #777;padding:10px 20px}div.popup strong{font-weight:bold}div.popup em{font-style:italic}div.popup .busy{float:right;margin-top:9px}div.popup .popup_title{background:#c5dff5;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #e5f5ff), color-stop(100%, #c5dff5));background-image:-webkit-linear-gradient(top, #e5f5ff,#c5dff5);background-image:-moz-linear-gradient(top, #e5f5ff,#c5dff5);background-image:-o-linear-gradient(top, #e5f5ff,#c5dff5);background-image:linear-gradient(top, #e5f5ff,#c5dff5);border-bottom:1px solid #a7cdf0;cursor:move;font-weight:bold;font-size:100%;margin:-10px -20px 20px -20px;padding:6px 10px}div.popup p.intro{font-size:90%}div.popup label{display:block;font-size:85%}div.popup label.inline{display:inline}div.popup label span.hint{font-size:90%;color:#666}div.popup input.button{font-size:120%}div.popup .viewport{background:#fff;border:1px solid #ddd;border-top:1px solid #ccc;border-left:1px solid #ccc;-webkit-box-shadow:1px 1px 0 #fff;-moz-box-shadow:1px 1px 0 #fff;box-shadow:1px 1px 0 #fff;margin:1em 0;overflow:auto}div.popup .viewport table.index{margin:-1px 0 0}div.popup .buttons{border-top:1px solid #e5e5e5;background:#f5f5f5;font-size:85%;margin:1.5em -20px -10px;padding:10px;text-align:right}div.popup .buttons input.button{font-size:120%}div.popup .buttons button{font-size:110%;padding:4px 15px 5px;background:#f5f5f5;border:1px solid #959595;-webkit-border-radius:100px;-moz-border-radius:100px;-ms-border-radius:100px;-o-border-radius:100px;border-radius:100px;-webkit-box-shadow:0 2px 0 inset #fff;-moz-box-shadow:0 2px 0 inset #fff;box-shadow:0 2px 0 inset #fff;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #dddddd), color-stop(15%, #eeeeee), color-stop(100%, #ffffff));background-image:-webkit-linear-gradient(top, #dddddd 0%,#eeeeee 15%,#ffffff 100%);background-image:-moz-linear-gradient(top, #dddddd 0%,#eeeeee 15%,#ffffff 100%);background-image:-o-linear-gradient(top, #dddddd 0%,#eeeeee 15%,#ffffff 100%);background-image:linear-gradient(top, #dddddd 0%,#eeeeee 15%,#ffffff 100%)}div.popup .buttons button.default{border:1px solid #154ca6;-webkit-box-shadow:0 2px 1px inset #c7e0f6;-moz-box-shadow:0 2px 1px inset #c7e0f6;box-shadow:0 2px 1px inset #c7e0f6;color:#fff;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #67b4e1), color-stop(100%, #78b9e1));background-image:-webkit-linear-gradient(top, #67b4e1,#78b9e1);background-image:-moz-linear-gradient(top, #67b4e1,#78b9e1);background-image:-o-linear-gradient(top, #67b4e1,#78b9e1);background-image:linear-gradient(top, #67b4e1,#78b9e1)}div.popup .buttons button:active{border:1px solid #888;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #cccccc), color-stop(15%, #dddddd), color-stop(100%, #eeeeee));background-image:-webkit-linear-gradient(top, #cccccc 0%,#dddddd 15%,#eeeeee 100%);background-image:-moz-linear-gradient(top, #cccccc 0%,#dddddd 15%,#eeeeee 100%);background-image:-o-linear-gradient(top, #cccccc 0%,#dddddd 15%,#eeeeee 100%);background-image:linear-gradient(top, #cccccc 0%,#dddddd 15%,#eeeeee 100%)}div.popup .buttons button.default:active{border:1px solid #002c86;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #4794c1), color-stop(100%, #78b9e1));background-image:-webkit-linear-gradient(top, #4794c1,#78b9e1);background-image:-moz-linear-gradient(top, #4794c1,#78b9e1);background-image:-o-linear-gradient(top, #4794c1,#78b9e1);background-image:linear-gradient(top, #4794c1,#78b9e1)}div.popup .buttons button:focus{border-width:2px}div.popup .buttons a.cancel{color:red}div.popup .tag_description,div.popup .snippet_description{border-bottom:1px dotted silver;font-size:95%;padding:6px 0}div.popup .tag_description h4,div.popup .snippet_description h4{color:green;font-size:120%;margin-top:0;margin-bottom:8px}div.popup .tag_description code,div.popup .snippet_description code{background-color:#f5f5f5;color:#666;font-family:Monaco,"Courier New",Courier,monospace;padding-top:1px;padding-bottom:1px}div.popup .tag_description pre,div.popup .snippet_description pre{background-color:#f5f5f5;border:1px solid #ddd;color:#666;font-family:Monaco,"Courier New",Courier,monospace;overflow:hidden;padding:10px}div.popup .reference{font-size:90%;border:1px solid silver;overflow:auto;overflow-y:auto;overflow-x:hidden;line-height:140%;padding:12px;padding-top:1px;height:300px;width:40em}div.popup .reference code{background-color:#f5f5f5;color:#666;font-family:Monaco,"Courier New",Courier,monospace;padding-top:1px;padding-bottom:1px}div.popup .reference pre{background-color:#f5f5f5;border:1px solid #ddd;color:#666;font-family:Monaco,"Courier New",Courier,monospace;overflow:auto;padding:10px}div.popup .reference table{width:100%}div.popup .reference table th{color:green;font-size:120%;padding:5px;padding-left:0;padding-right:0}div.popup .reference table td{border-bottom:1px dotted silver;padding-top:8px;padding-bottom:8px;text-align:left}div.popup .reference table h1{color:#000;margin:0;margin-bottom:0.5em}div.popup .reference table acronym{border-bottom:1px dotted silver}div.popup .reference table blockquote{border-left:4px solid silver;padding-left:1em;padding-right:1em;margin:0;margin-top:1em;margin-bottom:1em}div.popup .close_link{font-size:85%;text-align:center}.tag{color:green;cursor:pointer;font-size:120%;margin-top:0;margin-bottom:8px}.tag_options{margin-left:1em}.tag_options li{margin-bottom:8px}.tag_option_value_list{margin-left:1em}.tag_option_value_list li{display:inline}.tag_option_value_list li:last-child{border:none}.tag_option_value_list li code{padding-left:0.3em;padding-right:0.3em}.tag_option_value_list li code:hover{background:#666;color:#fff}div.popup .reference table th{border-bottom:1px dotted silver;padding-top:8px;padding-bottom:8px;text-align:left}div.popup .reference table h2,div.popup .reference table h3,div.popup .reference table h4{color:#000;margin:0;margin-bottom:0.5em}div.popup.textured{background:#eee}div.popup.textured .head{background:#fff;padding:10px 20px;margin:-20px -20px 20px;border-bottom:1px solid #ccc;-webkit-box-shadow:0 1px 0 #fff;-moz-box-shadow:0 1px 0 #fff;box-shadow:0 1px 0 #fff}div.popup.textured .buttons{border-top:1px solid #fff;margin:20px -20px -10px;padding:20px;-webkit-box-shadow:0 -1px 0 #ccc;-moz-box-shadow:0 -1px 0 #ccc;box-shadow:0 -1px 0 #ccc}#tab_control{color:#333;margin-bottom:1em}#tab_control .tabs{float:left;width:100%;margin-right:-4px}#tab_control .tabs .tab{background-color:#cac8c0;color:#7f7f7f;display:inline-block;font-size:90%;text-align:left;margin-right:5px;padding:8px 15px 5px;text-decoration:none;text-transform:titlecase;-moz-border-radius-topleft:6px;-webkit-border-top-left-radius:6px;border-top-left-radius:6px;-moz-border-radius-topright:6px;-webkit-border-top-right-radius:6px;border-top-right-radius:6px}#tab_control .tabs .tab.here{background-color:#fff;color:#000;font-weight:bold}#tab_control .tabs .tab span:hover{color:#000}#tab_control .tabs .tab .close{margin-top:-4px;margin-left:5px;margin-right:-5px}#tab_control .pages{background:#fff;width:100%;clear:both}#tab_control .pages .page{background:#fff;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #ffffff), color-stop(15%, #f5f1e2), color-stop(100%, #f5f1e2));background-image:-webkit-linear-gradient(top, #ffffff,#f5f1e2 15%,#f5f1e2);background-image:-moz-linear-gradient(top, #ffffff,#f5f1e2 15%,#f5f1e2);background-image:-o-linear-gradient(top, #ffffff,#f5f1e2 15%,#f5f1e2);background-image:linear-gradient(top, #ffffff,#f5f1e2 15%,#f5f1e2);-webkit-box-shadow:2px 2px 3px rgba(0,0,0,0.15);-moz-box-shadow:2px 2px 3px rgba(0,0,0,0.15);box-shadow:2px 2px 3px rgba(0,0,0,0.15);padding:12px 20px 20px}#tab_control .pages .page p{margin-top:0}#tab_control .pages .page label{display:inline;color:#333;font-weight:normal;font-size:80%;text-shadow:none}#tab_control .pages .reference_links{font-size:85%;margin-left:1em;float:right}#tab_control .pages .reference_links a{color:#06c}.tabs #tab_toolbar{float:right;overflow:hidden;margin-top:0.2em;padding:3px}.reference_links{font-size:85%}.reference_links span{padding:0 0 0 4px}.reference_links span a{color:#44e}#tag_reference_link{margin:0 0.5em}body.reversed #tab_control textarea{border:1px solid #ccc}input.date{background:#fff url('../../images/admin/calendar_down.gif?1399550568') right no-repeat;padding-right:26px;width:11em}.calendar_popup{-webkit-box-shadow:0px 0px 5px #333;-moz-box-shadow:0px 0px 5px #333;box-shadow:0px 0px 5px #333;-webkit-border-radius:5px;-moz-border-radius:5px;-ms-border-radius:5px;-o-border-radius:5px;border-radius:5px;z-index:1000;border:1px solid #b2b2b2;background-color:#fff;padding:5px;line-height:140% !important}.calendar_popup a{-webkit-border-radius:5px;-moz-border-radius:5px;-ms-border-radius:5px;-o-border-radius:5px;border-radius:5px}.calendar_popup table.calendar{font-size:90%;margin:0 !important}.calendar_popup table.calendar tr.day_header th{border-top:1px solid #e4e4e4;border-bottom:1px solid #e4e4e4;color:#ccc;padding:2px}.calendar_popup table.calendar th,.calendar_popup table.calendar td{text-align:center}.calendar_popup table.calendar th.back,.calendar_popup table.calendar th.month_year,.calendar_popup table.calendar th.forward{padding-bottom:3px}.calendar_popup table.calendar td{height:1em;padding:3px !important;margin:0}.calendar_popup table.calendar td.today{-webkit-border-radius:5px;-moz-border-radius:5px;-ms-border-radius:5px;-o-border-radius:5px;border-radius:5px;background-color:#e5e5e5}.calendar_popup table.calendar td.today a{background-color:#fff}.calendar_popup table.calendar td.selected a{color:#fff;background-color:#d60}.calendar_popup table.calendar a{color:#000;display:block;font-family:"Lucida Grande","Bitstream Vera Sans",Helvetica,Verdana,Arial,sans-serif;text-decoration:none;text-align:center;width:2.25em;padding:0.2em 0}.calendar_popup table.calendar a:hover{color:#fff !important;background-color:#3257f4 !important}body.reversed .calendar_popup{border:1px solid #fff}.toolbar select{float:left}div.textarea_toolbar{float:left;margin-bottom:8px}div.textarea_toolbar span.separator{padding:0;height:6px;width:2px;margin:0 2px;border-left:solid 1px #d5d5d5;border-right:solid 1px #f5f5f5}div.textarea_toolbar button,div.textarea_toolbar button.unselected{margin:0;background:none;border:none;padding:2px 0;text-align:center;width:24px}div.textarea_toolbar button img,div.textarea_toolbar button.unselected img{vertical-align:text-bottom}div.textarea_toolbar button:hover,div.textarea_toolbar button.unselected:hover{border:1px solid #999;padding:1px 0}div.textarea_toolbar button.selected{border:1px solid #ce9100;background-color:#fff;padding:1px 0}#content span.error-with-field input,#content span.error-with-field select{background:#f3c2c2}#content span.error{line-height:1.4;background-color:#c00;color:#fff;padding:3px 6px;margin:0 0 0 6px;background-color:#b30000;-webkit-border-radius:5px;-moz-border-radius:5px;-ms-border-radius:5px;-o-border-radius:5px;border-radius:5px;-webkit-box-shadow:0px 0px 5px #333;-moz-box-shadow:0px 0px 5px #333;box-shadow:0px 0px 5px #333}#content span.error a.closer{margin-left:10px;color:#fcc;text-decoration:none}table.index td.note{color:silver;font-size:85%;font-style:italic;padding:3em;text-align:center}.row{clear:both;margin-top:20px;width:100%}.row p{float:left;margin:0 2em 1.25em 0;font-size:95%}.row p label{display:inline;text-shadow:#666 1px 1px 0}div.popup h3.title{background:#c5dff5;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #e5f5ff), color-stop(100%, #c5dff5));background-image:-webkit-linear-gradient(top, #e5f5ff,#c5dff5);background-image:-moz-linear-gradient(top, #e5f5ff,#c5dff5);background-image:-o-linear-gradient(top, #e5f5ff,#c5dff5);background-image:linear-gradient(top, #e5f5ff,#c5dff5);border-bottom:1px solid #a7cdf0;font-size:100%;margin:-10px -20px 20px -20px;padding:6px 10px}#actions a{background:#d8d8d8;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #ffffff), color-stop(100%, #cccccc));background-image:-webkit-linear-gradient(top, #ffffff,#cccccc);background-image:-moz-linear-gradient(top, #ffffff,#cccccc);background-image:-o-linear-gradient(top, #ffffff,#cccccc);background-image:linear-gradient(top, #ffffff,#cccccc);color:#333;font-size:80%;padding:8px 12px;text-decoration:none;text-shadow:1px 1px 1px #eee;-webkit-border-radius:5px;-moz-border-radius:5px;-ms-border-radius:5px;-o-border-radius:5px;border-radius:5px;-webkit-box-shadow:1px 2px 3px #555;-moz-box-shadow:1px 2px 3px #555;box-shadow:1px 2px 3px #555}#actions a:hover{color:#0076a3;text-shadow:1px 1px 1px #fff}#actions a:active{background:#fff;-webkit-box-shadow:0 0 0 #555;-moz-box-shadow:0 0 0 #555;box-shadow:0 0 0 #555;color:#000}#actions a img{vertical-align:-20%}
@@ -1,4 +1,4 @@
1
1
  test: &TEST
2
- adapter: mysql2
2
+ adapter: mysql
3
3
  database: radiant_test
4
4
  username: