freeberry 0.2.5

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 (298) hide show
  1. data/MIT-LICENSE +20 -0
  2. data/README.rdoc +118 -0
  3. data/Rakefile +53 -0
  4. data/app/controllers/manage/assets_controller.rb +60 -0
  5. data/app/controllers/manage/base_controller.rb +9 -0
  6. data/app/controllers/manage/pages_controller.rb +36 -0
  7. data/app/controllers/manage/posts_controller.rb +42 -0
  8. data/app/controllers/manage/settings_controller.rb +22 -0
  9. data/app/controllers/manage/structures_controller.rb +42 -0
  10. data/app/controllers/manage/users_controller.rb +79 -0
  11. data/config/locales/defaults/en.yml +149 -0
  12. data/config/locales/defaults/pluralize.rb +6 -0
  13. data/config/locales/defaults/ru.yml +170 -0
  14. data/config/locales/defaults/uk.yml +238 -0
  15. data/config/locales/devise.en.yml +39 -0
  16. data/config/locales/devise.ru.yml +41 -0
  17. data/config/locales/devise.uk.yml +41 -0
  18. data/config/locales/manage/en.yml +235 -0
  19. data/config/locales/manage/ru.yml +235 -0
  20. data/config/locales/manage/uk.yml +235 -0
  21. data/config/routes.rb +23 -0
  22. data/lib/freeberry.rb +36 -0
  23. data/lib/freeberry/accessible_attributes.rb +30 -0
  24. data/lib/freeberry/controllers/authorized_system.rb +77 -0
  25. data/lib/freeberry/controllers/head_options.rb +41 -0
  26. data/lib/freeberry/controllers/helper_tools.rb +171 -0
  27. data/lib/freeberry/core_ext.rb +3 -0
  28. data/lib/freeberry/core_ext/array.rb +22 -0
  29. data/lib/freeberry/core_ext/i18n.rb +21 -0
  30. data/lib/freeberry/core_ext/string.rb +28 -0
  31. data/lib/freeberry/header_tools.rb +30 -0
  32. data/lib/freeberry/model_filter.rb +151 -0
  33. data/lib/freeberry/models/asset.rb +110 -0
  34. data/lib/freeberry/models/comment.rb +49 -0
  35. data/lib/freeberry/models/header.rb +24 -0
  36. data/lib/freeberry/models/page.rb +27 -0
  37. data/lib/freeberry/models/position_type.rb +14 -0
  38. data/lib/freeberry/models/post.rb +44 -0
  39. data/lib/freeberry/models/role.rb +28 -0
  40. data/lib/freeberry/models/role_type.rb +15 -0
  41. data/lib/freeberry/models/structure.rb +39 -0
  42. data/lib/freeberry/models/structure_type.rb +15 -0
  43. data/lib/freeberry/models/user.rb +82 -0
  44. data/lib/freeberry/mysql_utils.rb +103 -0
  45. data/lib/freeberry/railtie.rb +34 -0
  46. data/lib/freeberry/settingslogic.rb +162 -0
  47. data/lib/freeberry/system_settings.rb +65 -0
  48. data/lib/freeberry/transliteration.rb +70 -0
  49. data/lib/freeberry/utils.rb +39 -0
  50. data/lib/freeberry/version.rb +11 -0
  51. data/lib/generators/freeberry/USAGE +5 -0
  52. data/lib/generators/freeberry/base/USAGE +7 -0
  53. data/lib/generators/freeberry/base/base_generator.rb +63 -0
  54. data/lib/generators/freeberry/base/templates/config/application.yml +4 -0
  55. data/lib/generators/freeberry/base/templates/config/authorization_rules.rb +51 -0
  56. data/lib/generators/freeberry/base/templates/config/database.yml +34 -0
  57. data/lib/generators/freeberry/base/templates/config/freeberry.rb +14 -0
  58. data/lib/generators/freeberry/base/templates/config/logrotate-config +9 -0
  59. data/lib/generators/freeberry/base/templates/config/nginx-config-passenger +51 -0
  60. data/lib/generators/freeberry/base/templates/config/seeds.rb +32 -0
  61. data/lib/generators/freeberry/base/templates/config/words +98569 -0
  62. data/lib/generators/freeberry/base/templates/helpers/manage/assets_helper.rb +18 -0
  63. data/lib/generators/freeberry/base/templates/helpers/manage/base_helper.rb +84 -0
  64. data/lib/generators/freeberry/base/templates/helpers/manage/pages_helper.rb +2 -0
  65. data/lib/generators/freeberry/base/templates/helpers/manage/posts_helper.rb +2 -0
  66. data/lib/generators/freeberry/base/templates/helpers/manage/settings_helper.rb +2 -0
  67. data/lib/generators/freeberry/base/templates/helpers/manage/structures_helper.rb +12 -0
  68. data/lib/generators/freeberry/base/templates/helpers/manage/users_helper.rb +16 -0
  69. data/lib/generators/freeberry/base/templates/images/manage/add_post_bot.gif +0 -0
  70. data/lib/generators/freeberry/base/templates/images/manage/add_post_top.gif +0 -0
  71. data/lib/generators/freeberry/base/templates/images/manage/add_white_bot.gif +0 -0
  72. data/lib/generators/freeberry/base/templates/images/manage/add_white_top.gif +0 -0
  73. data/lib/generators/freeberry/base/templates/images/manage/arrow.png +0 -0
  74. data/lib/generators/freeberry/base/templates/images/manage/back_but_lc.gif +0 -0
  75. data/lib/generators/freeberry/base/templates/images/manage/back_but_rc.gif +0 -0
  76. data/lib/generators/freeberry/base/templates/images/manage/bot_corn.gif +0 -0
  77. data/lib/generators/freeberry/base/templates/images/manage/bot_duo_corn.gif +0 -0
  78. data/lib/generators/freeberry/base/templates/images/manage/but_bg.png +0 -0
  79. data/lib/generators/freeberry/base/templates/images/manage/but_block_lc.gif +0 -0
  80. data/lib/generators/freeberry/base/templates/images/manage/but_block_rc.gif +0 -0
  81. data/lib/generators/freeberry/base/templates/images/manage/but_freze_lc.gif +0 -0
  82. data/lib/generators/freeberry/base/templates/images/manage/but_freze_rc.gif +0 -0
  83. data/lib/generators/freeberry/base/templates/images/manage/but_gr.gif +0 -0
  84. data/lib/generators/freeberry/base/templates/images/manage/but_gr_l.gif +0 -0
  85. data/lib/generators/freeberry/base/templates/images/manage/but_gr_r.gif +0 -0
  86. data/lib/generators/freeberry/base/templates/images/manage/but_search.gif +0 -0
  87. data/lib/generators/freeberry/base/templates/images/manage/but_unfreze_lc.gif +0 -0
  88. data/lib/generators/freeberry/base/templates/images/manage/but_unfreze_rc.gif +0 -0
  89. data/lib/generators/freeberry/base/templates/images/manage/button_add_foto.gif +0 -0
  90. data/lib/generators/freeberry/base/templates/images/manage/button_add_foto_ru.gif +0 -0
  91. data/lib/generators/freeberry/base/templates/images/manage/button_add_foto_ua.gif +0 -0
  92. data/lib/generators/freeberry/base/templates/images/manage/button_add_foto_uk.gif +0 -0
  93. data/lib/generators/freeberry/base/templates/images/manage/cancelbutton.gif +0 -0
  94. data/lib/generators/freeberry/base/templates/images/manage/dark_arr.gif +0 -0
  95. data/lib/generators/freeberry/base/templates/images/manage/dark_arr_left.gif +0 -0
  96. data/lib/generators/freeberry/base/templates/images/manage/dark_cross_ico.gif +0 -0
  97. data/lib/generators/freeberry/base/templates/images/manage/dot.gif +0 -0
  98. data/lib/generators/freeberry/base/templates/images/manage/duo_bg.gif +0 -0
  99. data/lib/generators/freeberry/base/templates/images/manage/duo_bg_small.gif +0 -0
  100. data/lib/generators/freeberry/base/templates/images/manage/duo_bg_small_blocked.gif +0 -0
  101. data/lib/generators/freeberry/base/templates/images/manage/duo_bg_small_frozed.gif +0 -0
  102. data/lib/generators/freeberry/base/templates/images/manage/duo_bg_small_notact.gif +0 -0
  103. data/lib/generators/freeberry/base/templates/images/manage/duo_bot_small.gif +0 -0
  104. data/lib/generators/freeberry/base/templates/images/manage/duo_bot_small_blocked.gif +0 -0
  105. data/lib/generators/freeberry/base/templates/images/manage/duo_bot_small_frozed.gif +0 -0
  106. data/lib/generators/freeberry/base/templates/images/manage/duo_bot_small_notact.gif +0 -0
  107. data/lib/generators/freeberry/base/templates/images/manage/duo_top_small.gif +0 -0
  108. data/lib/generators/freeberry/base/templates/images/manage/duo_top_small_blocked.gif +0 -0
  109. data/lib/generators/freeberry/base/templates/images/manage/duo_top_small_frozed.gif +0 -0
  110. data/lib/generators/freeberry/base/templates/images/manage/duo_top_small_notact.gif +0 -0
  111. data/lib/generators/freeberry/base/templates/images/manage/edit_white_top.gif +0 -0
  112. data/lib/generators/freeberry/base/templates/images/manage/empty.gif +0 -0
  113. data/lib/generators/freeberry/base/templates/images/manage/filter_bot_bg.gif +0 -0
  114. data/lib/generators/freeberry/base/templates/images/manage/filter_top_bg.gif +0 -0
  115. data/lib/generators/freeberry/base/templates/images/manage/flag_en.gif +0 -0
  116. data/lib/generators/freeberry/base/templates/images/manage/flag_en_nonact.gif +0 -0
  117. data/lib/generators/freeberry/base/templates/images/manage/flag_ru.gif +0 -0
  118. data/lib/generators/freeberry/base/templates/images/manage/flag_ru_nonact.gif +0 -0
  119. data/lib/generators/freeberry/base/templates/images/manage/flag_ua.gif +0 -0
  120. data/lib/generators/freeberry/base/templates/images/manage/flag_ua_nonact.gif +0 -0
  121. data/lib/generators/freeberry/base/templates/images/manage/foto.jpg +0 -0
  122. data/lib/generators/freeberry/base/templates/images/manage/ico_add.gif +0 -0
  123. data/lib/generators/freeberry/base/templates/images/manage/ico_del.gif +0 -0
  124. data/lib/generators/freeberry/base/templates/images/manage/ico_down.gif +0 -0
  125. data/lib/generators/freeberry/base/templates/images/manage/ico_edit.gif +0 -0
  126. data/lib/generators/freeberry/base/templates/images/manage/ico_settings.gif +0 -0
  127. data/lib/generators/freeberry/base/templates/images/manage/ico_up.gif +0 -0
  128. data/lib/generators/freeberry/base/templates/images/manage/input_bg.gif +0 -0
  129. data/lib/generators/freeberry/base/templates/images/manage/l_but_corn.gif +0 -0
  130. data/lib/generators/freeberry/base/templates/images/manage/minimise_but.gif +0 -0
  131. data/lib/generators/freeberry/base/templates/images/manage/mp3.png +0 -0
  132. data/lib/generators/freeberry/base/templates/images/manage/page_arr_hover.png +0 -0
  133. data/lib/generators/freeberry/base/templates/images/manage/page_next_arr.gif +0 -0
  134. data/lib/generators/freeberry/base/templates/images/manage/page_num_hover.gif +0 -0
  135. data/lib/generators/freeberry/base/templates/images/manage/page_prev_arr.gif +0 -0
  136. data/lib/generators/freeberry/base/templates/images/manage/panel/l_but_corn.gif +0 -0
  137. data/lib/generators/freeberry/base/templates/images/manage/panel/maximise_but.gif +0 -0
  138. data/lib/generators/freeberry/base/templates/images/manage/panel/r_but_corn.gif +0 -0
  139. data/lib/generators/freeberry/base/templates/images/manage/panel/top_menu_arr.gif +0 -0
  140. data/lib/generators/freeberry/base/templates/images/manage/panel/user_pic.gif +0 -0
  141. data/lib/generators/freeberry/base/templates/images/manage/preloader.gif +0 -0
  142. data/lib/generators/freeberry/base/templates/images/manage/r_but_corn.gif +0 -0
  143. data/lib/generators/freeberry/base/templates/images/manage/select_bg.gif +0 -0
  144. data/lib/generators/freeberry/base/templates/images/manage/select_corn.gif +0 -0
  145. data/lib/generators/freeberry/base/templates/images/manage/struct_corn_lg.gif +0 -0
  146. data/lib/generators/freeberry/base/templates/images/manage/struct_corn_llg.gif +0 -0
  147. data/lib/generators/freeberry/base/templates/images/manage/struct_corn_lw.gif +0 -0
  148. data/lib/generators/freeberry/base/templates/images/manage/struct_corn_rg.gif +0 -0
  149. data/lib/generators/freeberry/base/templates/images/manage/struct_corn_rlg.gif +0 -0
  150. data/lib/generators/freeberry/base/templates/images/manage/struct_corn_rw.gif +0 -0
  151. data/lib/generators/freeberry/base/templates/images/manage/tab_gl.gif +0 -0
  152. data/lib/generators/freeberry/base/templates/images/manage/tab_gr.gif +0 -0
  153. data/lib/generators/freeberry/base/templates/images/manage/tab_wl.gif +0 -0
  154. data/lib/generators/freeberry/base/templates/images/manage/tab_wr.gif +0 -0
  155. data/lib/generators/freeberry/base/templates/images/manage/top_corn.gif +0 -0
  156. data/lib/generators/freeberry/base/templates/images/manage/top_duo_corn.gif +0 -0
  157. data/lib/generators/freeberry/base/templates/images/manage/top_menu_arr.gif +0 -0
  158. data/lib/generators/freeberry/base/templates/images/manage/transp_cross.png +0 -0
  159. data/lib/generators/freeberry/base/templates/images/manage/upload_progress.gif +0 -0
  160. data/lib/generators/freeberry/base/templates/images/manage/user_act_lc.gif +0 -0
  161. data/lib/generators/freeberry/base/templates/images/manage/user_act_rc.gif +0 -0
  162. data/lib/generators/freeberry/base/templates/images/manage/user_ico.gif +0 -0
  163. data/lib/generators/freeberry/base/templates/images/manage/user_pic.gif +0 -0
  164. data/lib/generators/freeberry/base/templates/images/manage/user_pic_small.gif +0 -0
  165. data/lib/generators/freeberry/base/templates/images/manage/user_pic_thumb.gif +0 -0
  166. data/lib/generators/freeberry/base/templates/javascripts/datepicker/jquery-ui-i18n.js +1176 -0
  167. data/lib/generators/freeberry/base/templates/javascripts/datepicker/jquery.ui.datepicker-ru.js +23 -0
  168. data/lib/generators/freeberry/base/templates/javascripts/datepicker/jquery.ui.datepicker-uk.js +23 -0
  169. data/lib/generators/freeberry/base/templates/javascripts/jquery.fancybox-1.3.2.pack.js +46 -0
  170. data/lib/generators/freeberry/base/templates/javascripts/manage.js +266 -0
  171. data/lib/generators/freeberry/base/templates/javascripts/preloader.js +47 -0
  172. data/lib/generators/freeberry/base/templates/javascripts/rails.js +146 -0
  173. data/lib/generators/freeberry/base/templates/javascripts/wp_cookie.js +167 -0
  174. data/lib/generators/freeberry/base/templates/stylesheets/fancybox/images/blank.gif +0 -0
  175. data/lib/generators/freeberry/base/templates/stylesheets/fancybox/images/fancy_close.png +0 -0
  176. data/lib/generators/freeberry/base/templates/stylesheets/fancybox/images/fancy_loading.png +0 -0
  177. data/lib/generators/freeberry/base/templates/stylesheets/fancybox/images/fancy_nav_left.png +0 -0
  178. data/lib/generators/freeberry/base/templates/stylesheets/fancybox/images/fancy_nav_right.png +0 -0
  179. data/lib/generators/freeberry/base/templates/stylesheets/fancybox/images/fancy_shadow_e.png +0 -0
  180. data/lib/generators/freeberry/base/templates/stylesheets/fancybox/images/fancy_shadow_n.png +0 -0
  181. data/lib/generators/freeberry/base/templates/stylesheets/fancybox/images/fancy_shadow_ne.png +0 -0
  182. data/lib/generators/freeberry/base/templates/stylesheets/fancybox/images/fancy_shadow_nw.png +0 -0
  183. data/lib/generators/freeberry/base/templates/stylesheets/fancybox/images/fancy_shadow_s.png +0 -0
  184. data/lib/generators/freeberry/base/templates/stylesheets/fancybox/images/fancy_shadow_se.png +0 -0
  185. data/lib/generators/freeberry/base/templates/stylesheets/fancybox/images/fancy_shadow_sw.png +0 -0
  186. data/lib/generators/freeberry/base/templates/stylesheets/fancybox/images/fancy_shadow_w.png +0 -0
  187. data/lib/generators/freeberry/base/templates/stylesheets/fancybox/images/fancy_title_left.png +0 -0
  188. data/lib/generators/freeberry/base/templates/stylesheets/fancybox/images/fancy_title_main.png +0 -0
  189. data/lib/generators/freeberry/base/templates/stylesheets/fancybox/images/fancy_title_over.png +0 -0
  190. data/lib/generators/freeberry/base/templates/stylesheets/fancybox/images/fancy_title_right.png +0 -0
  191. data/lib/generators/freeberry/base/templates/stylesheets/fancybox/images/fancybox-x.png +0 -0
  192. data/lib/generators/freeberry/base/templates/stylesheets/fancybox/images/fancybox-y.png +0 -0
  193. data/lib/generators/freeberry/base/templates/stylesheets/fancybox/images/fancybox.png +0 -0
  194. data/lib/generators/freeberry/base/templates/stylesheets/fancybox/jquery.fancybox-1.3.2.css +359 -0
  195. data/lib/generators/freeberry/base/templates/stylesheets/manage/ie.css +16 -0
  196. data/lib/generators/freeberry/base/templates/stylesheets/manage/main.css +1069 -0
  197. data/lib/generators/freeberry/base/templates/stylesheets/manage/panel.css +126 -0
  198. data/lib/generators/freeberry/base/templates/stylesheets/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  199. data/lib/generators/freeberry/base/templates/stylesheets/smoothness/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
  200. data/lib/generators/freeberry/base/templates/stylesheets/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
  201. data/lib/generators/freeberry/base/templates/stylesheets/smoothness/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  202. data/lib/generators/freeberry/base/templates/stylesheets/smoothness/images/ui-bg_glass_75_dadada_1x400.png +0 -0
  203. data/lib/generators/freeberry/base/templates/stylesheets/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
  204. data/lib/generators/freeberry/base/templates/stylesheets/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  205. data/lib/generators/freeberry/base/templates/stylesheets/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
  206. data/lib/generators/freeberry/base/templates/stylesheets/smoothness/images/ui-icons_222222_256x240.png +0 -0
  207. data/lib/generators/freeberry/base/templates/stylesheets/smoothness/images/ui-icons_2e83ff_256x240.png +0 -0
  208. data/lib/generators/freeberry/base/templates/stylesheets/smoothness/images/ui-icons_454545_256x240.png +0 -0
  209. data/lib/generators/freeberry/base/templates/stylesheets/smoothness/images/ui-icons_888888_256x240.png +0 -0
  210. data/lib/generators/freeberry/base/templates/stylesheets/smoothness/images/ui-icons_cd0a0a_256x240.png +0 -0
  211. data/lib/generators/freeberry/base/templates/stylesheets/smoothness/jquery-ui-1.8.6.custom.css +572 -0
  212. data/lib/generators/freeberry/base/templates/sweepers/page_sweeper.rb +22 -0
  213. data/lib/generators/freeberry/base/templates/sweepers/post_sweeper.rb +22 -0
  214. data/lib/generators/freeberry/base/templates/sweepers/structure_sweeper.rb +29 -0
  215. data/lib/generators/freeberry/base/templates/sweepers/user_sweeper.rb +17 -0
  216. data/lib/generators/freeberry/base/templates/views/layouts/application.html.erb +37 -0
  217. data/lib/generators/freeberry/base/templates/views/layouts/manage.html.erb +37 -0
  218. data/lib/generators/freeberry/base/templates/views/manage/assets/_collection.html.erb +36 -0
  219. data/lib/generators/freeberry/base/templates/views/manage/assets/_picture.html.erb +10 -0
  220. data/lib/generators/freeberry/base/templates/views/manage/assets/_swfscript.html.erb +59 -0
  221. data/lib/generators/freeberry/base/templates/views/manage/pages/_form.html.erb +9 -0
  222. data/lib/generators/freeberry/base/templates/views/manage/pages/edit.html.erb +14 -0
  223. data/lib/generators/freeberry/base/templates/views/manage/pages/new.html.erb +14 -0
  224. data/lib/generators/freeberry/base/templates/views/manage/posts/_form.html.erb +24 -0
  225. data/lib/generators/freeberry/base/templates/views/manage/posts/_model_filter.html.erb +29 -0
  226. data/lib/generators/freeberry/base/templates/views/manage/posts/_post.html.erb +31 -0
  227. data/lib/generators/freeberry/base/templates/views/manage/posts/edit.html.erb +14 -0
  228. data/lib/generators/freeberry/base/templates/views/manage/posts/index.html.erb +37 -0
  229. data/lib/generators/freeberry/base/templates/views/manage/posts/new.html.erb +14 -0
  230. data/lib/generators/freeberry/base/templates/views/manage/settings/_form.html.erb +22 -0
  231. data/lib/generators/freeberry/base/templates/views/manage/settings/index.html.erb +14 -0
  232. data/lib/generators/freeberry/base/templates/views/manage/structures/_form.html.erb +44 -0
  233. data/lib/generators/freeberry/base/templates/views/manage/structures/_structure.html.erb +35 -0
  234. data/lib/generators/freeberry/base/templates/views/manage/structures/edit.html.erb +14 -0
  235. data/lib/generators/freeberry/base/templates/views/manage/structures/index.html.erb +51 -0
  236. data/lib/generators/freeberry/base/templates/views/manage/structures/new.html.erb +14 -0
  237. data/lib/generators/freeberry/base/templates/views/manage/users/_form.html.erb +28 -0
  238. data/lib/generators/freeberry/base/templates/views/manage/users/_model_filter.html.erb +33 -0
  239. data/lib/generators/freeberry/base/templates/views/manage/users/_user.html.erb +55 -0
  240. data/lib/generators/freeberry/base/templates/views/manage/users/edit.html.erb +14 -0
  241. data/lib/generators/freeberry/base/templates/views/manage/users/index.html.erb +36 -0
  242. data/lib/generators/freeberry/base/templates/views/manage/users/new.html.erb +14 -0
  243. data/lib/generators/freeberry/base/templates/views/manage/users/show.html.erb +19 -0
  244. data/lib/generators/freeberry/base/templates/views/shared/_notice.html.erb +17 -0
  245. data/lib/generators/freeberry/base/templates/views/shared/manage/_head.html.erb +33 -0
  246. data/lib/generators/freeberry/base/templates/views/shared/manage/_locale.html.erb +8 -0
  247. data/lib/generators/freeberry/base/templates/views/shared/manage/_notice.html.erb +7 -0
  248. data/lib/generators/freeberry/base/templates/views/shared/manage/_panel.html.erb +34 -0
  249. data/lib/generators/freeberry/manage_scaffold/USAGE +6 -0
  250. data/lib/generators/freeberry/manage_scaffold/manage_scaffold_generator.rb +94 -0
  251. data/lib/generators/freeberry/manage_scaffold/templates/multiplay/controller.rb +39 -0
  252. data/lib/generators/freeberry/manage_scaffold/templates/multiplay/functional_test.rb +103 -0
  253. data/lib/generators/freeberry/manage_scaffold/templates/multiplay/helper.rb +2 -0
  254. data/lib/generators/freeberry/manage_scaffold/templates/multiplay/views/edit.html.erb +14 -0
  255. data/lib/generators/freeberry/manage_scaffold/templates/multiplay/views/form.html.erb +26 -0
  256. data/lib/generators/freeberry/manage_scaffold/templates/multiplay/views/index.html.erb +32 -0
  257. data/lib/generators/freeberry/manage_scaffold/templates/multiplay/views/item.html.erb +27 -0
  258. data/lib/generators/freeberry/manage_scaffold/templates/multiplay/views/model_filter.html.erb +31 -0
  259. data/lib/generators/freeberry/manage_scaffold/templates/multiplay/views/new.html.erb +14 -0
  260. data/lib/generators/freeberry/manage_scaffold/templates/multiplay/views/show.html.erb +17 -0
  261. data/lib/generators/freeberry/manage_scaffold/templates/single/controller.rb +33 -0
  262. data/lib/generators/freeberry/manage_scaffold/templates/single/functional_test.rb +98 -0
  263. data/lib/generators/freeberry/manage_scaffold/templates/single/helper.rb +2 -0
  264. data/lib/generators/freeberry/manage_scaffold/templates/single/views/edit.html.erb +14 -0
  265. data/lib/generators/freeberry/manage_scaffold/templates/single/views/form.html.erb +26 -0
  266. data/lib/generators/freeberry/manage_scaffold/templates/single/views/index.html.erb +30 -0
  267. data/lib/generators/freeberry/manage_scaffold/templates/single/views/item.html.erb +27 -0
  268. data/lib/generators/freeberry/manage_scaffold/templates/single/views/model_filter.html.erb +31 -0
  269. data/lib/generators/freeberry/manage_scaffold/templates/single/views/new.html.erb +14 -0
  270. data/lib/generators/freeberry/manage_scaffold/templates/single/views/show.html.erb +17 -0
  271. data/lib/generators/freeberry/models/USAGE +11 -0
  272. data/lib/generators/freeberry/models/models_generator.rb +37 -0
  273. data/lib/generators/freeberry/models/templates/create_assets.rb +27 -0
  274. data/lib/generators/freeberry/models/templates/create_comments.rb +25 -0
  275. data/lib/generators/freeberry/models/templates/create_headers.rb +20 -0
  276. data/lib/generators/freeberry/models/templates/create_pages.rb +17 -0
  277. data/lib/generators/freeberry/models/templates/create_posts.rb +24 -0
  278. data/lib/generators/freeberry/models/templates/create_roles.rb +16 -0
  279. data/lib/generators/freeberry/models/templates/create_structures.rb +27 -0
  280. data/lib/generators/freeberry/models/templates/create_users.rb +28 -0
  281. data/lib/generators/freeberry/models/templates/models/asset.rb +3 -0
  282. data/lib/generators/freeberry/models/templates/models/attachment_file.rb +35 -0
  283. data/lib/generators/freeberry/models/templates/models/avatar.rb +38 -0
  284. data/lib/generators/freeberry/models/templates/models/comment.rb +17 -0
  285. data/lib/generators/freeberry/models/templates/models/header.rb +5 -0
  286. data/lib/generators/freeberry/models/templates/models/page.rb +5 -0
  287. data/lib/generators/freeberry/models/templates/models/picture.rb +35 -0
  288. data/lib/generators/freeberry/models/templates/models/position_type.rb +7 -0
  289. data/lib/generators/freeberry/models/templates/models/post.rb +7 -0
  290. data/lib/generators/freeberry/models/templates/models/role.rb +20 -0
  291. data/lib/generators/freeberry/models/templates/models/role_type.rb +8 -0
  292. data/lib/generators/freeberry/models/templates/models/structure.rb +9 -0
  293. data/lib/generators/freeberry/models/templates/models/structure_type.rb +9 -0
  294. data/lib/generators/freeberry/models/templates/models/user.rb +52 -0
  295. data/lib/tasks/freeberry.rake +6 -0
  296. data/test/freeberry_test.rb +8 -0
  297. data/test/test_helper.rb +3 -0
  298. metadata +365 -0
@@ -0,0 +1,235 @@
1
+ uk:
2
+ activerecord:
3
+ attributes:
4
+ user:
5
+ name: "Ім'я"
6
+ email: "Email"
7
+ password: "Пароль"
8
+ password_confirmation: "Підтвердження пароля"
9
+ avatar: "Аватарки"
10
+ birthday: "Дата народження"
11
+ city_name: "Місто"
12
+ about: "Про себе"
13
+ remember_me: "Запам'ятати мене"
14
+
15
+ structure:
16
+ title: "Назва"
17
+ title_ru: "Назва <span>(рос.)</span>"
18
+ title_en: "Назва <span>(eng.)</span>"
19
+ parent_id: "Головна категорія"
20
+ is_visible: "Відображати?"
21
+ kind: "Тип сторінки"
22
+ redirect_url: "Перенаправлення (URL)"
23
+ position: "Позиція"
24
+
25
+ header:
26
+ title: "Заголовок сторінки"
27
+ title_ru: "Заголовок сторінки <span>(рос.)</span>"
28
+ title_en: "Заголовок сторінки <span>(eng.)</span>"
29
+ keywords: "Ключові слова"
30
+ keywords_ru: "Ключові слова <span>(рос.)</span>"
31
+ keywords_en: "Ключові слова <span>(eng.)</span>"
32
+ description: "Опис сторінки"
33
+ description_ru: "Опис сторінки <span>(рос.)</span>"
34
+ description_en: "Опис сторінки <span>(eng.)</span>"
35
+
36
+ post:
37
+ title: "Назва"
38
+ title_ru: "Назва <span>(рос.)</span>"
39
+ title_en: "Назва <span>(eng.)</span>"
40
+ content: "Зміст"
41
+ content_ru: "Зміст <span>(рос.)</span>"
42
+ content_en: "Зміст <span>(eng.)</span>"
43
+ created_at: "Дата / Час"
44
+ picture: "Зображення"
45
+
46
+ page:
47
+ title: "Назва"
48
+ title_ru: "Назва <span>(рос.)</span>"
49
+ title_en: "Назва <span>(eng.)</span>"
50
+ content: "Зміст"
51
+ content_ru: "Зміст <span>(рос.)</span>"
52
+ content_en: "Зміст <span>(eng.)</span>"
53
+
54
+ tag:
55
+ name: "Назва"
56
+
57
+ feedback:
58
+ name: "Ім'я"
59
+ email: "Email"
60
+ kind: "Категорія"
61
+ user_id: "Користувач"
62
+ remote_ip: "IP адреса"
63
+ user_agent: "Версія браузера"
64
+ message: "Повідомлення"
65
+
66
+ manage:
67
+ title: "Система <br /> управління"
68
+ go_site: "Перейти на сайт"
69
+ exit: "Вихід"
70
+ page_title: "Управління сайтом"
71
+ site_edit: "Система управління"
72
+ root: "Перейти на сайт"
73
+ users: "Користувачі"
74
+ label_settings: "Установки"
75
+ structure: "Структура"
76
+ new_structure: "Створити розділ"
77
+ user_actions: "Дії"
78
+ posts: "Блог"
79
+ new_post: "Додати пост"
80
+ confirm_delete: "Ви дійсно хочете видалити запис?"
81
+ prev: "Попередня"
82
+ next: "Наступна"
83
+ max_size: "Макс р."
84
+ keywords: "Ключові слова"
85
+ edit: "Редагувати"
86
+ delete: "Видалити"
87
+ add: "Додати"
88
+ create: "Створити"
89
+ cancel: "Скасувати"
90
+ update: "Оновити"
91
+ sort: "Сортувати"
92
+ pictures: "Фотографії"
93
+ download: "Завантажити"
94
+ close: "Закрити"
95
+
96
+ menu:
97
+ structures: "Структура"
98
+ users: "Користувачі"
99
+ system_messages: "Системні повідомлення"
100
+ settings: "Установки"
101
+ other: "Інші"
102
+ posts: "Новини"
103
+ categories: "Категорії"
104
+ statisticts: "Статистика"
105
+ videos: "Конкурсне відео"
106
+ questions: "Питання та відповіді"
107
+ cocktails: "Shake в банку"
108
+ tracks: "Музика"
109
+ wallpapers: "Шпалери"
110
+ reviews: "голоси"
111
+
112
+ settings:
113
+ title: "Установки"
114
+ mailer: "Пошта"
115
+ route: "Домен"
116
+ contacts: "Контакти"
117
+
118
+ locale:
119
+ ru: "російська"
120
+ en: "англійська"
121
+ uk: "український"
122
+
123
+ model_filter:
124
+ title: "Фільтр даних"
125
+ filter: "Фільтр"
126
+ search: "Пошук"
127
+ clear: "Очистити"
128
+
129
+ position:
130
+ down: "Опустити вниз"
131
+ up: "Підняти вгору"
132
+
133
+ buttons:
134
+ create_structure: "Створити розділ"
135
+
136
+ user:
137
+ actions: "дії"
138
+ events:
139
+ register: "Реєстрація"
140
+ suspend: "Заморозити"
141
+ delete: "Видалити"
142
+ unsuspend: "Розморозити"
143
+ activate: "Активувати"
144
+ roles: "Ролі"
145
+
146
+ users:
147
+ activated_at: "активація"
148
+ last_login_ip: "ip"
149
+ email: "email"
150
+ category: "категорія"
151
+ name: "Ім'я"
152
+
153
+ sort:
154
+ _: "-"
155
+ created_at_desc: "за датою за спаданням"
156
+ created_at_asc: "за датою за зростанням"
157
+ name_desc: "за за іменем за спаданням"
158
+ name_asc: "на ім'я за зростанням"
159
+
160
+ structure:
161
+ kind:
162
+ page: "Текстова сторінка"
163
+ posts: "Блоги"
164
+ main: "Головна сторінка"
165
+ promo: "Конкурс"
166
+ lessons: "Приватні уроки"
167
+ faq: "Питання та відповіді"
168
+ shake: "Shake в банку"
169
+ downloads: "Downloads"
170
+ redirect: "Redirect"
171
+ tracks: "Музика"
172
+ wallpapers: "Шпалери"
173
+ group: "Група странічок"
174
+
175
+ position:
176
+ default: "За замовчуванням"
177
+ menu: "Головне меню"
178
+ bottom: "Внизу"
179
+
180
+ role:
181
+ kind:
182
+ guest: "Гість"
183
+ default: "Клієнт"
184
+ moderator: "Модератор"
185
+ admin: "Aдміністратор"
186
+ redactor: "Редактор"
187
+
188
+ tags:
189
+ sort:
190
+ _: "-"
191
+ created_at_desc: "за датою за спаданням"
192
+ created_at_asc: "за датою за зростанням"
193
+ name_desc: "за назвою за спаданням"
194
+ name_asc: "за назвою за зростанням"
195
+
196
+ posts:
197
+ sort:
198
+ _: "-"
199
+ created_at_desc: "за датою за спаданням"
200
+ created_at_asc: "за датою за зростанням"
201
+ title_desc: "за назвою за спаданням"
202
+ title_asc: "за назвою за зростанням"
203
+
204
+ flash:
205
+ manage:
206
+ actions:
207
+ create:
208
+ success: "Запис успішно створена"
209
+ failure: "Виникли помилки при збереженні даних"
210
+ update:
211
+ success: "Запис успішно оновлено"
212
+ failure: "Виникли помилки при оновленні даних"
213
+ destroy:
214
+ success: "Запис успішно видалено"
215
+ failure: "Виникли помилки при видаленні даних"
216
+
217
+ users:
218
+ create:
219
+ success: "Користувач успішно створений"
220
+ failure: "Виникли помилки при створенні користувача"
221
+ update:
222
+ success: "Дані користувача успішно оновлено"
223
+
224
+ settings:
225
+ create:
226
+ success: "Параметри успішно оновлені"
227
+ failure: "Виникли помилки при збереженні даних"
228
+
229
+ pages:
230
+ create:
231
+ success: "Сторінка успішно збережено"
232
+ failure: "Виникли помилки при збереженні даних"
233
+ update:
234
+ success: "Сторінка успішно збережено"
235
+ failure: "Виникли помилки при збереженні даних"
@@ -0,0 +1,23 @@
1
+ Rails.application.routes.draw do
2
+ # Administration System
3
+ namespace :manage do
4
+ root :to => "structures#index"
5
+
6
+ resources :users do
7
+ member do
8
+ post :activate, :suspend, :register, :delete, :unsuspend
9
+ end
10
+ end
11
+
12
+ resources :structures do
13
+ get :move, :on => :member
14
+
15
+ resource :page
16
+ resources :posts
17
+ end
18
+
19
+ resources :settings
20
+ resources :pictures
21
+ resources :assets, :only => [:create, :destroy]
22
+ end
23
+ end
@@ -0,0 +1,36 @@
1
+ # encoding: utf-8
2
+ require 'freeberry/core_ext'
3
+
4
+ module Freeberry
5
+ autoload :SystemSettings, 'freeberry/system_settings'
6
+ autoload :MysqlUtils, 'freeberry/mysql_utils'
7
+ autoload :Settingslogic, 'freeberry/settingslogic'
8
+ autoload :HeaderTools, 'freeberry/header_tools'
9
+ autoload :ModelFilter, 'freeberry/model_filter'
10
+ autoload :Transliteration, 'freeberry/transliteration'
11
+ autoload :AccessibleAttributes, 'freeberry/accessible_attributes'
12
+
13
+ # Controllers
14
+ module Controllers
15
+ autoload :AuthorizedSystem, 'freeberry/controllers/authorized_system'
16
+ autoload :HeadOptions, 'freeberry/controllers/head_options'
17
+ autoload :HelperTools, 'freeberry/controllers/helper_tools'
18
+ end
19
+
20
+ # Models
21
+ module Models
22
+ autoload :RoleType, 'freeberry/models/role_type'
23
+ autoload :StructureType, 'freeberry/models/structure_type'
24
+ autoload :PositionType, 'freeberry/models/position_type'
25
+ autoload :User, 'freeberry/models/user'
26
+ autoload :Role, 'freeberry/models/role'
27
+ autoload :Structure, 'freeberry/models/structure'
28
+ autoload :Page, 'freeberry/models/page'
29
+ autoload :Post, 'freeberry/models/post'
30
+ autoload :Comment, 'freeberry/models/comment'
31
+ autoload :Asset, 'freeberry/models/asset'
32
+ autoload :Header, 'freeberry/models/header'
33
+ end
34
+ end
35
+
36
+ require 'freeberry/railtie'
@@ -0,0 +1,30 @@
1
+ # encoding: utf-8
2
+ module Freeberry
3
+ module AccessibleAttributes
4
+ def self.included(base)
5
+ base.send(:extend, ClassMethods)
6
+ base.send(:include, InstanceMethods)
7
+ end
8
+
9
+ module ClassMethods
10
+ def self.extended(base)
11
+ base.class_eval do
12
+ attr_accessible
13
+ attr_accessor :accessible
14
+ end
15
+ end
16
+ end
17
+
18
+ module InstanceMethods
19
+ private
20
+
21
+ def mass_assignment_authorizer
22
+ if accessible == :all
23
+ self.class.protected_attributes
24
+ else
25
+ super + (accessible || [])
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,77 @@
1
+ module Freeberry
2
+ module Controllers
3
+ module AuthorizedSystem
4
+ def self.included(base)
5
+ base.send(:extend, ClassMethods)
6
+ base.send(:include, InstanceMethods)
7
+
8
+ # Send current_user to Declarative authorization module
9
+ base.before_filter :set_current_user
10
+
11
+ base.helper_method :content_manager?, :current_client, :client_logged_in?, :account_signed_in?
12
+ end
13
+
14
+ module ClassMethods
15
+ end
16
+
17
+ module InstanceMethods
18
+ protected
19
+
20
+ # set_current_user sets the global current user for this request. This
21
+ # is used by model security that does not have access to the
22
+ # controller#current_user method. It is called as a before_filter.
23
+ def set_current_user
24
+ without_access_control do
25
+ Authorization.current_user = current_user
26
+ end
27
+ end
28
+
29
+ def permission_denied
30
+ flash[:error] = I18n.t(:access_denied, :scope => [:flash, :users])
31
+
32
+ respond_to do |format|
33
+ format.html { redirect_to new_session_path(:user) }
34
+ format.xml { head :unauthorized }
35
+ format.js { head :unauthorized }
36
+ end
37
+ end
38
+
39
+ def without_access_control(&block)
40
+ previous_state = Authorization.ignore_access_control
41
+ begin
42
+ Authorization.ignore_access_control(true)
43
+ yield
44
+ ensure
45
+ Authorization.ignore_access_control(previous_state)
46
+ end
47
+ end
48
+
49
+ def content_manager?
50
+ user_signed_in? && current_user.admin?
51
+ end
52
+
53
+ # For RPXNow
54
+ def client_logged_in?
55
+ !!current_client
56
+ end
57
+
58
+ def current_client=(new_client)
59
+ session[:client_id] = new_client ? new_client.id : nil
60
+ @current_client = new_client || false
61
+ end
62
+
63
+ def current_client
64
+ @current_client ||= client_login_from_session unless @current_client == false
65
+ end
66
+
67
+ def client_login_from_session
68
+ self.current_client = RpxClient.find_by_id(session[:client_id]) if session[:client_id]
69
+ end
70
+
71
+ def account_signed_in?
72
+ user_signed_in? || client_logged_in?
73
+ end
74
+ end
75
+ end
76
+ end
77
+ end
@@ -0,0 +1,41 @@
1
+ module Freeberry
2
+ module Controllers
3
+ module HeadOptions
4
+ # Inclusion hook to make #current_user and #logged_in?
5
+ # available as ActionView helper methods.
6
+ def self.included(base)
7
+ base.send :helper_method, :head_options if base.respond_to? :helper_method
8
+ end
9
+
10
+ def head_options(record, options={})
11
+ return if record.nil?
12
+
13
+ header = nil
14
+ header = record.header if record.respond_to?(:header)
15
+
16
+ @view_title = record.title if record.respond_to?(:title)
17
+ @view_title ||= t('page.title')
18
+
19
+ # title
20
+ page_title = []
21
+ page_title << options[:title] if options.key?(:title)
22
+ page_title << ((header.nil? || header.title.blank?) ? record.title : header.title)
23
+ page_title << t('page.title') if options[:append_title]
24
+ page_title.flatten!
25
+ page_title.compact!
26
+ page_title.uniq!
27
+
28
+ @page_title = page_title.join(" | ")
29
+
30
+ # keywords
31
+ keywords = record.keywords.join(', ') if record.respond_to?(:keywords)
32
+ keywords ||= (header.nil? || header.keywords.blank?) ? page_title.join(' ').split.join(', ') : header.keywords
33
+ @page_keywords = keywords
34
+
35
+ # description
36
+ description = (header.nil? || header.description.blank?) ? page_title.join(" - ") : header.description
37
+ @page_description = description
38
+ end
39
+ end
40
+ end
41
+ end