trusty-cms 2.0.2 → 2.0.3.pre.beta

Sign up to get free protection for your applications and to get access to all the features.
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: