browsercms 3.0.0 → 3.0.1

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 (444) hide show
  1. data/app/controllers/cms/connectors_controller.rb +1 -1
  2. data/app/helpers/cms/application_helper.rb +2 -19
  3. data/app/helpers/cms/form_builder.rb +8 -5
  4. data/app/helpers/cms/menu_helper.rb +19 -5
  5. data/app/helpers/cms/page_helper.rb +9 -1
  6. data/app/helpers/cms/template_support.rb +21 -0
  7. data/app/models/abstract_file_block.rb +4 -0
  8. data/app/models/connector.rb +7 -3
  9. data/app/models/dynamic_view.rb +2 -4
  10. data/app/models/portlet.rb +22 -9
  11. data/app/models/section.rb +7 -5
  12. data/app/views/cms/blocks/_toolbar_for_member.html.erb +4 -4
  13. data/app/views/cms/blocks/index.html.erb +1 -1
  14. data/app/views/cms/blocks/usages.html.erb +44 -34
  15. data/app/views/cms/connectors/new.html.erb +2 -2
  16. data/app/views/cms/dynamic_views/_form.html.erb +1 -1
  17. data/app/views/cms/dynamic_views/index.html.erb +7 -3
  18. data/app/views/cms/email_messages/index.html.erb +3 -5
  19. data/app/views/cms/form_builder/_cms_datetime_select.html.erb +12 -0
  20. data/app/views/cms/form_builder/_cms_text_editor.html.erb +2 -2
  21. data/app/views/cms/form_builder/_cms_text_field.html.erb +1 -2
  22. data/app/views/cms/groups/_permissions.html.erb +1 -0
  23. data/app/views/cms/groups/_sections.html.erb +1 -0
  24. data/app/views/cms/groups/index.html.erb +3 -5
  25. data/app/views/cms/page_routes/index.html.erb +13 -7
  26. data/app/views/cms/page_routes/show.html.erb +4 -4
  27. data/app/views/cms/pages/_edit_connector.html.erb +4 -1
  28. data/app/views/cms/pages/_edit_container.html.erb +4 -1
  29. data/app/views/cms/redirects/index.html.erb +12 -7
  30. data/app/views/cms/routes/index.html.erb +11 -7
  31. data/app/views/cms/sections/_form.html.erb +4 -5
  32. data/app/views/cms/users/_groups.html.erb +1 -0
  33. data/app/views/layouts/_cms_toolbar.html.erb +37 -4
  34. data/app/views/layouts/_page_toolbar.html.erb +2 -2
  35. data/browsercms.gemspec +381 -3
  36. data/db/demo/data.rb +2 -1
  37. data/doc/app/classes/AbstractFileBlock.html +146 -0
  38. data/doc/app/classes/ActiveRecord.html +105 -0
  39. data/doc/app/classes/ActiveRecord/ConnectionAdapters/SchemaStatements.html +242 -0
  40. data/doc/app/classes/ActiveSupport.html +111 -0
  41. data/doc/app/classes/ActiveSupport/Cache.html +111 -0
  42. data/doc/app/classes/ActiveSupport/Cache/FileStore.html +146 -0
  43. data/doc/app/classes/ActsAsList.html +147 -0
  44. data/doc/app/classes/ActsAsList/ClassMethods.html +202 -0
  45. data/doc/app/classes/ActsAsList/InstanceMethods.html +510 -0
  46. data/doc/app/classes/ApplicationController.html +119 -0
  47. data/doc/app/classes/ApplicationHelper.html +112 -0
  48. data/doc/app/classes/Attachment.html +726 -0
  49. data/doc/app/classes/Category.html +230 -0
  50. data/doc/app/classes/CategoryType.html +214 -0
  51. data/doc/app/classes/Cms.html +638 -0
  52. data/doc/app/classes/Cms/Acts.html +111 -0
  53. data/doc/app/classes/Cms/Acts/ContentBlock.html +146 -0
  54. data/doc/app/classes/Cms/Acts/ContentBlock/MacroMethods.html +165 -0
  55. data/doc/app/classes/Cms/Acts/ContentBlock/MacroMethods/InstanceMethods.html +140 -0
  56. data/doc/app/classes/Cms/ApplicationController.html +418 -0
  57. data/doc/app/classes/Cms/ApplicationHelper.html +814 -0
  58. data/doc/app/classes/Cms/AttachmentsController.html +154 -0
  59. data/doc/app/classes/Cms/Authentication.html +116 -0
  60. data/doc/app/classes/Cms/Authentication/Controller.html +702 -0
  61. data/doc/app/classes/Cms/Authentication/Model.html +165 -0
  62. data/doc/app/classes/Cms/Authentication/Model/ClassMethods.html +246 -0
  63. data/doc/app/classes/Cms/Authentication/Model/InstanceMethods.html +412 -0
  64. data/doc/app/classes/Cms/BaseController.html +113 -0
  65. data/doc/app/classes/Cms/Behaviors.html +235 -0
  66. data/doc/app/classes/Cms/Behaviors/Archiving.html +147 -0
  67. data/doc/app/classes/Cms/Behaviors/Archiving/InstanceMethods.html +220 -0
  68. data/doc/app/classes/Cms/Behaviors/Archiving/MacroMethods.html +175 -0
  69. data/doc/app/classes/Cms/Behaviors/Attaching.html +160 -0
  70. data/doc/app/classes/Cms/Behaviors/Attaching/InstanceMethods.html +670 -0
  71. data/doc/app/classes/Cms/Behaviors/Attaching/MacroMethods.html +188 -0
  72. data/doc/app/classes/Cms/Behaviors/Categorizing.html +148 -0
  73. data/doc/app/classes/Cms/Behaviors/Categorizing/ClassMethods.html +105 -0
  74. data/doc/app/classes/Cms/Behaviors/Categorizing/InstanceMethods.html +140 -0
  75. data/doc/app/classes/Cms/Behaviors/Categorizing/MacroMethods.html +178 -0
  76. data/doc/app/classes/Cms/Behaviors/ClassMethods.html +272 -0
  77. data/doc/app/classes/Cms/Behaviors/Connecting.html +148 -0
  78. data/doc/app/classes/Cms/Behaviors/Connecting/ClassMethods.html +188 -0
  79. data/doc/app/classes/Cms/Behaviors/Connecting/InstanceMethods.html +312 -0
  80. data/doc/app/classes/Cms/Behaviors/Connecting/MacroMethods.html +184 -0
  81. data/doc/app/classes/Cms/Behaviors/DynamicAttributes.html +285 -0
  82. data/doc/app/classes/Cms/Behaviors/DynamicAttributes/InstanceMethods.html +181 -0
  83. data/doc/app/classes/Cms/Behaviors/DynamicAttributes/MacroMethods.html +243 -0
  84. data/doc/app/classes/Cms/Behaviors/FlushCacheOnChange.html +178 -0
  85. data/doc/app/classes/Cms/Behaviors/FlushCacheOnChange/InstanceMethods.html +142 -0
  86. data/doc/app/classes/Cms/Behaviors/FlushCacheOnChange/MacroMethods.html +175 -0
  87. data/doc/app/classes/Cms/Behaviors/Hiding.html +148 -0
  88. data/doc/app/classes/Cms/Behaviors/Hiding/ClassMethods.html +105 -0
  89. data/doc/app/classes/Cms/Behaviors/Hiding/InstanceMethods.html +220 -0
  90. data/doc/app/classes/Cms/Behaviors/Hiding/MacroMethods.html +176 -0
  91. data/doc/app/classes/Cms/Behaviors/InstanceMethods.html +234 -0
  92. data/doc/app/classes/Cms/Behaviors/Pagination.html +151 -0
  93. data/doc/app/classes/Cms/Behaviors/Pagination/ClassMethods.html +252 -0
  94. data/doc/app/classes/Cms/Behaviors/Pagination/Collection.html +437 -0
  95. data/doc/app/classes/Cms/Behaviors/Pagination/InvalidPage.html +146 -0
  96. data/doc/app/classes/Cms/Behaviors/Publishing.html +179 -0
  97. data/doc/app/classes/Cms/Behaviors/Publishing/ClassMethods.html +105 -0
  98. data/doc/app/classes/Cms/Behaviors/Publishing/InstanceMethods.html +333 -0
  99. data/doc/app/classes/Cms/Behaviors/Publishing/MacroMethods.html +180 -0
  100. data/doc/app/classes/Cms/Behaviors/Rendering.html +179 -0
  101. data/doc/app/classes/Cms/Behaviors/Rendering/MacroMethods.html +186 -0
  102. data/doc/app/classes/Cms/Behaviors/Searching.html +147 -0
  103. data/doc/app/classes/Cms/Behaviors/Searching/ClassMethods.html +164 -0
  104. data/doc/app/classes/Cms/Behaviors/Searching/MacroMethods.html +188 -0
  105. data/doc/app/classes/Cms/Behaviors/SoftDeleting.html +148 -0
  106. data/doc/app/classes/Cms/Behaviors/SoftDeleting/ClassMethods.html +217 -0
  107. data/doc/app/classes/Cms/Behaviors/SoftDeleting/InstanceMethods.html +247 -0
  108. data/doc/app/classes/Cms/Behaviors/SoftDeleting/MacroMethods.html +205 -0
  109. data/doc/app/classes/Cms/Behaviors/Taggable.html +148 -0
  110. data/doc/app/classes/Cms/Behaviors/Taggable/ClassMethods.html +164 -0
  111. data/doc/app/classes/Cms/Behaviors/Taggable/InstanceMethods.html +197 -0
  112. data/doc/app/classes/Cms/Behaviors/Taggable/MacroMethods.html +182 -0
  113. data/doc/app/classes/Cms/Behaviors/Userstamping.html +148 -0
  114. data/doc/app/classes/Cms/Behaviors/Userstamping/ClassMethods.html +105 -0
  115. data/doc/app/classes/Cms/Behaviors/Userstamping/InstanceMethods.html +143 -0
  116. data/doc/app/classes/Cms/Behaviors/Userstamping/MacroMethods.html +181 -0
  117. data/doc/app/classes/Cms/Behaviors/Versioning.html +148 -0
  118. data/doc/app/classes/Cms/Behaviors/Versioning/ClassMethods.html +237 -0
  119. data/doc/app/classes/Cms/Behaviors/Versioning/InstanceMethods.html +685 -0
  120. data/doc/app/classes/Cms/Behaviors/Versioning/MacroMethods.html +290 -0
  121. data/doc/app/classes/Cms/CacheController.html +174 -0
  122. data/doc/app/classes/Cms/Caching.html +171 -0
  123. data/doc/app/classes/Cms/CategoriesController.html +113 -0
  124. data/doc/app/classes/Cms/CategoryTypesController.html +148 -0
  125. data/doc/app/classes/Cms/ConnectorsController.html +215 -0
  126. data/doc/app/classes/Cms/ContentBlockController.html +1175 -0
  127. data/doc/app/classes/Cms/ContentController.html +313 -0
  128. data/doc/app/classes/Cms/ContentTypesController.html +148 -0
  129. data/doc/app/classes/Cms/DashboardController.html +151 -0
  130. data/doc/app/classes/Cms/DataLoader.html +182 -0
  131. data/doc/app/classes/Cms/DynamicViewsController.html +359 -0
  132. data/doc/app/classes/Cms/EmailMessagesController.html +172 -0
  133. data/doc/app/classes/Cms/ErrorHandling.html +172 -0
  134. data/doc/app/classes/Cms/Errors.html +111 -0
  135. data/doc/app/classes/Cms/Errors/AccessDenied.html +146 -0
  136. data/doc/app/classes/Cms/Extensions.html +140 -0
  137. data/doc/app/classes/Cms/Extensions/ActionView.html +111 -0
  138. data/doc/app/classes/Cms/Extensions/ActionView/Base.html +141 -0
  139. data/doc/app/classes/Cms/Extensions/ActiveRecord.html +116 -0
  140. data/doc/app/classes/Cms/Extensions/ActiveRecord/Base.html +144 -0
  141. data/doc/app/classes/Cms/Extensions/ActiveRecord/Errors.html +140 -0
  142. data/doc/app/classes/Cms/Extensions/Hash.html +175 -0
  143. data/doc/app/classes/Cms/Extensions/Integer.html +146 -0
  144. data/doc/app/classes/Cms/Extensions/NilClass.html +212 -0
  145. data/doc/app/classes/Cms/Extensions/String.html +212 -0
  146. data/doc/app/classes/Cms/FileBlocksController.html +113 -0
  147. data/doc/app/classes/Cms/FormBuilder.html +312 -0
  148. data/doc/app/classes/Cms/FormTagHelper.html +245 -0
  149. data/doc/app/classes/Cms/GroupsController.html +225 -0
  150. data/doc/app/classes/Cms/HomeController.html +148 -0
  151. data/doc/app/classes/Cms/HtmlBlocksController.html +113 -0
  152. data/doc/app/classes/Cms/ImageBlocksController.html +113 -0
  153. data/doc/app/classes/Cms/LinksController.html +341 -0
  154. data/doc/app/classes/Cms/MenuHelper.html +330 -0
  155. data/doc/app/classes/Cms/PageHelper.html +292 -0
  156. data/doc/app/classes/Cms/PageRouteConditionsController.html +113 -0
  157. data/doc/app/classes/Cms/PageRouteOptionsController.html +355 -0
  158. data/doc/app/classes/Cms/PageRouteRequirementsController.html +113 -0
  159. data/doc/app/classes/Cms/PageRoutesController.html +284 -0
  160. data/doc/app/classes/Cms/PagesController.html +331 -0
  161. data/doc/app/classes/Cms/PathHelper.html +268 -0
  162. data/doc/app/classes/Cms/PortletController.html +150 -0
  163. data/doc/app/classes/Cms/PortletsController.html +301 -0
  164. data/doc/app/classes/Cms/RedirectsController.html +172 -0
  165. data/doc/app/classes/Cms/ResourceController.html +616 -0
  166. data/doc/app/classes/Cms/Routes.html +303 -0
  167. data/doc/app/classes/Cms/RoutesController.html +164 -0
  168. data/doc/app/classes/Cms/SectionNodesController.html +272 -0
  169. data/doc/app/classes/Cms/SectionNodesHelper.html +145 -0
  170. data/doc/app/classes/Cms/SectionsController.html +542 -0
  171. data/doc/app/classes/Cms/SessionsController.html +270 -0
  172. data/doc/app/classes/Cms/TagsController.html +152 -0
  173. data/doc/app/classes/Cms/TasksController.html +221 -0
  174. data/doc/app/classes/Cms/ToolbarController.html +153 -0
  175. data/doc/app/classes/Cms/UsersController.html +405 -0
  176. data/doc/app/classes/Connector.html +350 -0
  177. data/doc/app/classes/ContentType.html +448 -0
  178. data/doc/app/classes/ContentTypeGroup.html +111 -0
  179. data/doc/app/classes/DynamicPortlet.html +148 -0
  180. data/doc/app/classes/DynamicView.html +411 -0
  181. data/doc/app/classes/EmailMessage.html +228 -0
  182. data/doc/app/classes/EmailMessageMailer.html +150 -0
  183. data/doc/app/classes/EmailPagePortlet.html +184 -0
  184. data/doc/app/classes/FileBlock.html +202 -0
  185. data/doc/app/classes/Group.html +170 -0
  186. data/doc/app/classes/GroupPermission.html +111 -0
  187. data/doc/app/classes/GroupSection.html +111 -0
  188. data/doc/app/classes/GroupType.html +111 -0
  189. data/doc/app/classes/GroupTypePermission.html +111 -0
  190. data/doc/app/classes/GuestUser.html +347 -0
  191. data/doc/app/classes/HtmlBlock.html +170 -0
  192. data/doc/app/classes/ImageBlock.html +202 -0
  193. data/doc/app/classes/InitialData.html +171 -0
  194. data/doc/app/classes/Link.html +249 -0
  195. data/doc/app/classes/LoginPortlet.html +151 -0
  196. data/doc/app/classes/Page.html +954 -0
  197. data/doc/app/classes/PagePartial.html +201 -0
  198. data/doc/app/classes/PageRoute.html +335 -0
  199. data/doc/app/classes/PageRouteCondition.html +113 -0
  200. data/doc/app/classes/PageRouteOption.html +111 -0
  201. data/doc/app/classes/PageRouteRequirement.html +113 -0
  202. data/doc/app/classes/PageTemplate.html +278 -0
  203. data/doc/app/classes/Permission.html +111 -0
  204. data/doc/app/classes/Portlet.html +738 -0
  205. data/doc/app/classes/Redirect.html +111 -0
  206. data/doc/app/classes/Section.html +580 -0
  207. data/doc/app/classes/SectionNode.html +410 -0
  208. data/doc/app/classes/Sequence.html +146 -0
  209. data/doc/app/classes/Site.html +253 -0
  210. data/doc/app/classes/Tag.html +292 -0
  211. data/doc/app/classes/TagCloudPortlet.html +176 -0
  212. data/doc/app/classes/Tagging.html +146 -0
  213. data/doc/app/classes/Task.html +288 -0
  214. data/doc/app/classes/User.html +618 -0
  215. data/doc/app/classes/UserGroupMembership.html +111 -0
  216. data/doc/app/created.rid +1 -0
  217. data/doc/app/files/app/controllers/application_controller_rb.html +109 -0
  218. data/doc/app/files/app/controllers/cms/application_controller_rb.html +101 -0
  219. data/doc/app/files/app/controllers/cms/attachments_controller_rb.html +101 -0
  220. data/doc/app/files/app/controllers/cms/base_controller_rb.html +101 -0
  221. data/doc/app/files/app/controllers/cms/cache_controller_rb.html +101 -0
  222. data/doc/app/files/app/controllers/cms/categories_controller_rb.html +101 -0
  223. data/doc/app/files/app/controllers/cms/category_types_controller_rb.html +101 -0
  224. data/doc/app/files/app/controllers/cms/connectors_controller_rb.html +101 -0
  225. data/doc/app/files/app/controllers/cms/content_block_controller_rb.html +107 -0
  226. data/doc/app/files/app/controllers/cms/content_controller_rb.html +101 -0
  227. data/doc/app/files/app/controllers/cms/content_types_controller_rb.html +101 -0
  228. data/doc/app/files/app/controllers/cms/dashboard_controller_rb.html +101 -0
  229. data/doc/app/files/app/controllers/cms/dynamic_views_controller_rb.html +101 -0
  230. data/doc/app/files/app/controllers/cms/email_messages_controller_rb.html +101 -0
  231. data/doc/app/files/app/controllers/cms/error_handling_rb.html +101 -0
  232. data/doc/app/files/app/controllers/cms/file_blocks_controller_rb.html +101 -0
  233. data/doc/app/files/app/controllers/cms/groups_controller_rb.html +101 -0
  234. data/doc/app/files/app/controllers/cms/home_controller_rb.html +101 -0
  235. data/doc/app/files/app/controllers/cms/html_blocks_controller_rb.html +101 -0
  236. data/doc/app/files/app/controllers/cms/image_blocks_controller_rb.html +101 -0
  237. data/doc/app/files/app/controllers/cms/links_controller_rb.html +101 -0
  238. data/doc/app/files/app/controllers/cms/page_route_conditions_controller_rb.html +101 -0
  239. data/doc/app/files/app/controllers/cms/page_route_options_controller_rb.html +101 -0
  240. data/doc/app/files/app/controllers/cms/page_route_requirements_controller_rb.html +101 -0
  241. data/doc/app/files/app/controllers/cms/page_routes_controller_rb.html +101 -0
  242. data/doc/app/files/app/controllers/cms/pages_controller_rb.html +101 -0
  243. data/doc/app/files/app/controllers/cms/portlet_controller_rb.html +101 -0
  244. data/doc/app/files/app/controllers/cms/portlets_controller_rb.html +101 -0
  245. data/doc/app/files/app/controllers/cms/redirects_controller_rb.html +101 -0
  246. data/doc/app/files/app/controllers/cms/resource_controller_rb.html +108 -0
  247. data/doc/app/files/app/controllers/cms/routes_controller_rb.html +101 -0
  248. data/doc/app/files/app/controllers/cms/section_nodes_controller_rb.html +101 -0
  249. data/doc/app/files/app/controllers/cms/sections_controller_rb.html +101 -0
  250. data/doc/app/files/app/controllers/cms/sessions_controller_rb.html +107 -0
  251. data/doc/app/files/app/controllers/cms/tags_controller_rb.html +101 -0
  252. data/doc/app/files/app/controllers/cms/tasks_controller_rb.html +101 -0
  253. data/doc/app/files/app/controllers/cms/toolbar_controller_rb.html +101 -0
  254. data/doc/app/files/app/controllers/cms/users_controller_rb.html +101 -0
  255. data/doc/app/files/app/helpers/application_helper_rb.html +108 -0
  256. data/doc/app/files/app/helpers/cms/application_helper_rb.html +107 -0
  257. data/doc/app/files/app/helpers/cms/form_builder_rb.html +101 -0
  258. data/doc/app/files/app/helpers/cms/form_tag_helper_rb.html +101 -0
  259. data/doc/app/files/app/helpers/cms/menu_helper_rb.html +101 -0
  260. data/doc/app/files/app/helpers/cms/page_helper_rb.html +101 -0
  261. data/doc/app/files/app/helpers/cms/path_helper_rb.html +101 -0
  262. data/doc/app/files/app/helpers/cms/section_nodes_helper_rb.html +101 -0
  263. data/doc/app/files/app/models/abstract_file_block_rb.html +101 -0
  264. data/doc/app/files/app/models/attachment_rb.html +109 -0
  265. data/doc/app/files/app/models/category_rb.html +101 -0
  266. data/doc/app/files/app/models/category_type_rb.html +101 -0
  267. data/doc/app/files/app/models/connector_rb.html +101 -0
  268. data/doc/app/files/app/models/content_type_group_rb.html +101 -0
  269. data/doc/app/files/app/models/content_type_rb.html +101 -0
  270. data/doc/app/files/app/models/dynamic_view_rb.html +101 -0
  271. data/doc/app/files/app/models/email_message_mailer_rb.html +101 -0
  272. data/doc/app/files/app/models/email_message_rb.html +101 -0
  273. data/doc/app/files/app/models/file_block_rb.html +101 -0
  274. data/doc/app/files/app/models/group_permission_rb.html +101 -0
  275. data/doc/app/files/app/models/group_rb.html +101 -0
  276. data/doc/app/files/app/models/group_section_rb.html +101 -0
  277. data/doc/app/files/app/models/group_type_permission_rb.html +101 -0
  278. data/doc/app/files/app/models/group_type_rb.html +101 -0
  279. data/doc/app/files/app/models/guest_user_rb.html +101 -0
  280. data/doc/app/files/app/models/html_block_rb.html +101 -0
  281. data/doc/app/files/app/models/image_block_rb.html +101 -0
  282. data/doc/app/files/app/models/link_rb.html +101 -0
  283. data/doc/app/files/app/models/page_partial_rb.html +101 -0
  284. data/doc/app/files/app/models/page_rb.html +101 -0
  285. data/doc/app/files/app/models/page_route_condition_rb.html +101 -0
  286. data/doc/app/files/app/models/page_route_option_rb.html +101 -0
  287. data/doc/app/files/app/models/page_route_rb.html +101 -0
  288. data/doc/app/files/app/models/page_route_requirement_rb.html +101 -0
  289. data/doc/app/files/app/models/page_template_rb.html +101 -0
  290. data/doc/app/files/app/models/permission_rb.html +101 -0
  291. data/doc/app/files/app/models/portlet_rb.html +101 -0
  292. data/doc/app/files/app/models/redirect_rb.html +101 -0
  293. data/doc/app/files/app/models/section_node_rb.html +101 -0
  294. data/doc/app/files/app/models/section_rb.html +101 -0
  295. data/doc/app/files/app/models/site_rb.html +101 -0
  296. data/doc/app/files/app/models/tag_rb.html +101 -0
  297. data/doc/app/files/app/models/tagging_rb.html +101 -0
  298. data/doc/app/files/app/models/task_rb.html +101 -0
  299. data/doc/app/files/app/models/user_group_membership_rb.html +101 -0
  300. data/doc/app/files/app/models/user_rb.html +108 -0
  301. data/doc/app/files/app/portlets/dynamic_portlet_rb.html +101 -0
  302. data/doc/app/files/app/portlets/email_page_portlet_rb.html +101 -0
  303. data/doc/app/files/app/portlets/login_portlet_rb.html +101 -0
  304. data/doc/app/files/app/portlets/tag_cloud_portlet_rb.html +101 -0
  305. data/doc/app/files/doc/README_FOR_APP.html +127 -0
  306. data/doc/app/files/lib/acts_as_list_rb.html +101 -0
  307. data/doc/app/files/lib/browsercms_rb.html +113 -0
  308. data/doc/app/files/lib/cms/acts/content_block_rb.html +101 -0
  309. data/doc/app/files/lib/cms/authentication/controller_rb.html +101 -0
  310. data/doc/app/files/lib/cms/authentication/model_rb.html +101 -0
  311. data/doc/app/files/lib/cms/behaviors/archiving_rb.html +101 -0
  312. data/doc/app/files/lib/cms/behaviors/attaching_rb.html +101 -0
  313. data/doc/app/files/lib/cms/behaviors/categorizing_rb.html +101 -0
  314. data/doc/app/files/lib/cms/behaviors/connecting_rb.html +101 -0
  315. data/doc/app/files/lib/cms/behaviors/dynamic_attributes_rb.html +101 -0
  316. data/doc/app/files/lib/cms/behaviors/flush_cache_on_change_rb.html +101 -0
  317. data/doc/app/files/lib/cms/behaviors/hiding_rb.html +101 -0
  318. data/doc/app/files/lib/cms/behaviors/pagination_rb.html +107 -0
  319. data/doc/app/files/lib/cms/behaviors/publishing_rb.html +101 -0
  320. data/doc/app/files/lib/cms/behaviors/rendering_rb.html +101 -0
  321. data/doc/app/files/lib/cms/behaviors/searching_rb.html +101 -0
  322. data/doc/app/files/lib/cms/behaviors/soft_deleting_rb.html +101 -0
  323. data/doc/app/files/lib/cms/behaviors/taggable_rb.html +101 -0
  324. data/doc/app/files/lib/cms/behaviors/userstamping_rb.html +101 -0
  325. data/doc/app/files/lib/cms/behaviors/versioning_rb.html +101 -0
  326. data/doc/app/files/lib/cms/behaviors_rb.html +147 -0
  327. data/doc/app/files/lib/cms/caching_rb.html +101 -0
  328. data/doc/app/files/lib/cms/data_loader_rb.html +101 -0
  329. data/doc/app/files/lib/cms/extensions/action_view/base_rb.html +101 -0
  330. data/doc/app/files/lib/cms/extensions/active_record/base_rb.html +101 -0
  331. data/doc/app/files/lib/cms/extensions/active_record/connection_adapters/abstract/schema_statements_rb.html +101 -0
  332. data/doc/app/files/lib/cms/extensions/active_record/errors_rb.html +101 -0
  333. data/doc/app/files/lib/cms/extensions/active_support/cache/file_store_rb.html +101 -0
  334. data/doc/app/files/lib/cms/extensions/hash_rb.html +101 -0
  335. data/doc/app/files/lib/cms/extensions/integer_rb.html +101 -0
  336. data/doc/app/files/lib/cms/extensions/nil_rb.html +101 -0
  337. data/doc/app/files/lib/cms/extensions/string_rb.html +101 -0
  338. data/doc/app/files/lib/cms/extensions_rb.html +101 -0
  339. data/doc/app/files/lib/cms/init_rb.html +101 -0
  340. data/doc/app/files/lib/cms/routes_rb.html +101 -0
  341. data/doc/app/files/lib/initial_data_rb.html +101 -0
  342. data/doc/app/files/lib/sequence_rb.html +101 -0
  343. data/doc/app/fr_class_index.html +205 -0
  344. data/doc/app/fr_file_index.html +152 -0
  345. data/doc/app/fr_method_index.html +738 -0
  346. data/doc/app/index.html +24 -0
  347. data/doc/app/rdoc-style.css +208 -0
  348. data/doc/guides/html/build_it_yourself.html +175 -0
  349. data/doc/guides/html/deployment_guide.html +181 -0
  350. data/doc/guides/html/designer_guide.html +153 -0
  351. data/doc/guides/html/developer_guide.html +266 -0
  352. data/doc/guides/html/files/javascripts/code_highlighter.js +188 -0
  353. data/doc/guides/html/files/javascripts/guides.js +7 -0
  354. data/doc/guides/html/files/javascripts/highlighters.js +90 -0
  355. data/doc/guides/html/files/stylesheets/main.css +441 -0
  356. data/doc/guides/html/files/stylesheets/reset.css +43 -0
  357. data/doc/guides/html/files/stylesheets/style.css +13 -0
  358. data/doc/guides/html/files/stylesheets/syntax.css +31 -0
  359. data/doc/guides/html/getting_started.html +181 -0
  360. data/doc/guides/html/images/bg.png +0 -0
  361. data/doc/guides/html/images/bottom_cap.png +0 -0
  362. data/doc/guides/html/images/browsercms_logo.png +0 -0
  363. data/doc/guides/html/images/dot.png +0 -0
  364. data/doc/guides/html/images/icons/README +5 -0
  365. data/doc/guides/html/images/icons/callouts/1.png +0 -0
  366. data/doc/guides/html/images/icons/callouts/10.png +0 -0
  367. data/doc/guides/html/images/icons/callouts/11.png +0 -0
  368. data/doc/guides/html/images/icons/callouts/12.png +0 -0
  369. data/doc/guides/html/images/icons/callouts/13.png +0 -0
  370. data/doc/guides/html/images/icons/callouts/14.png +0 -0
  371. data/doc/guides/html/images/icons/callouts/15.png +0 -0
  372. data/doc/guides/html/images/icons/callouts/2.png +0 -0
  373. data/doc/guides/html/images/icons/callouts/3.png +0 -0
  374. data/doc/guides/html/images/icons/callouts/4.png +0 -0
  375. data/doc/guides/html/images/icons/callouts/5.png +0 -0
  376. data/doc/guides/html/images/icons/callouts/6.png +0 -0
  377. data/doc/guides/html/images/icons/callouts/7.png +0 -0
  378. data/doc/guides/html/images/icons/callouts/8.png +0 -0
  379. data/doc/guides/html/images/icons/callouts/9.png +0 -0
  380. data/doc/guides/html/images/icons/caution.png +0 -0
  381. data/doc/guides/html/images/icons/example.png +0 -0
  382. data/doc/guides/html/images/icons/home.png +0 -0
  383. data/doc/guides/html/images/icons/important.png +0 -0
  384. data/doc/guides/html/images/icons/next.png +0 -0
  385. data/doc/guides/html/images/icons/note.png +0 -0
  386. data/doc/guides/html/images/icons/prev.png +0 -0
  387. data/doc/guides/html/images/icons/tip.png +0 -0
  388. data/doc/guides/html/images/icons/up.png +0 -0
  389. data/doc/guides/html/images/icons/warning.png +0 -0
  390. data/doc/guides/html/images/top_cap.png +0 -0
  391. data/doc/guides/html/images/top_cap_content.png +0 -0
  392. data/doc/guides/html/index.html +168 -0
  393. data/doc/guides/html/installing_modules.html +181 -0
  394. data/doc/guides/html/user_guide.html +266 -0
  395. data/lib/cms/behaviors/attaching.rb +1 -1
  396. data/lib/cms/behaviors/rendering.rb +1 -1
  397. data/lib/cms/behaviors/taggable.rb +2 -1
  398. data/lib/cms/behaviors/versioning.rb +1 -1
  399. data/lib/cms/init.rb +4 -4
  400. data/lib/tasks/cms.rake +16 -42
  401. data/public/images/cms/buttons/button_cap_off_middle.gif +0 -0
  402. data/public/images/cms/buttons/button_left_bg.png +0 -0
  403. data/public/images/cms/buttons/button_off_middle.png +0 -0
  404. data/public/images/cms/nav_admin.gif +0 -0
  405. data/public/images/cms/nav_admin_h.gif +0 -0
  406. data/public/images/cms/nav_admin_on.gif +0 -0
  407. data/public/images/cms/nav_content_library.gif +0 -0
  408. data/public/images/cms/nav_content_library_h.gif +0 -0
  409. data/public/images/cms/nav_content_library_on.gif +0 -0
  410. data/public/images/cms/nav_dash.gif +0 -0
  411. data/public/images/cms/nav_dash_h.gif +0 -0
  412. data/public/images/cms/nav_dash_on.gif +0 -0
  413. data/public/images/cms/nav_sitemap.gif +0 -0
  414. data/public/images/cms/nav_sitemap_h.gif +0 -0
  415. data/public/images/cms/nav_sitemap_on.gif +0 -0
  416. data/public/stylesheets/cms/administration.css +91 -91
  417. data/public/stylesheets/cms/block.css +25 -25
  418. data/public/stylesheets/cms/buttons.css +120 -111
  419. data/public/stylesheets/cms/content_library.css +2 -1
  420. data/public/stylesheets/cms/content_types.css +3 -3
  421. data/public/stylesheets/cms/dashboard.css +118 -118
  422. data/public/stylesheets/cms/data_table.css +155 -155
  423. data/public/stylesheets/cms/form_layout.css +269 -269
  424. data/public/stylesheets/cms/jquery.contextMenu.css +61 -61
  425. data/public/stylesheets/cms/login.css +77 -77
  426. data/public/stylesheets/cms/menu.css +116 -116
  427. data/public/stylesheets/cms/nav.css +98 -111
  428. data/public/stylesheets/cms/page_toolbar.css +134 -134
  429. data/public/stylesheets/cms/sitemap.css +31 -15
  430. data/rails_generators/content_block/content_block_generator.rb +4 -9
  431. data/rails_generators/content_block/templates/_form.html.erb +3 -1
  432. data/rails_generators/portlet/portlet_generator.rb +2 -6
  433. data/rails_generators/portlet/templates/_form.html.erb +1 -0
  434. data/templates/blank.rb +30 -0
  435. data/templates/demo.rb +28 -0
  436. data/templates/module.rb +945 -0
  437. data/test/functional/cms/connectors_controller_test.rb +12 -1
  438. data/test/functional/cms/portlets_controller_test.rb +10 -0
  439. data/test/unit/behaviors/taggable_test.rb +19 -0
  440. data/test/unit/helpers/menu_helper_test.rb +72 -1
  441. data/test/unit/lib/generators_test.rb +21 -3
  442. data/test/unit/models/connector_test.rb +16 -0
  443. data/test/unit/models/sections_test.rb +4 -0
  444. metadata +380 -2
@@ -0,0 +1,165 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
7
+ <head>
8
+ <title>Module: Cms::Authentication::Model</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
10
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
11
+ <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
12
+ <script type="text/javascript">
13
+ // <![CDATA[
14
+
15
+ function popupCode( url ) {
16
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
17
+ }
18
+
19
+ function toggleCode( id ) {
20
+ if ( document.getElementById )
21
+ elem = document.getElementById( id );
22
+ else if ( document.all )
23
+ elem = eval( "document.all." + id );
24
+ else
25
+ return false;
26
+
27
+ elemStyle = elem.style;
28
+
29
+ if ( elemStyle.display != "block" ) {
30
+ elemStyle.display = "block"
31
+ } else {
32
+ elemStyle.display = "none"
33
+ }
34
+
35
+ return true;
36
+ }
37
+
38
+ // Make codeblocks hidden by default
39
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
40
+
41
+ // ]]>
42
+ </script>
43
+
44
+ </head>
45
+ <body>
46
+
47
+
48
+
49
+ <div id="classHeader">
50
+ <table class="header-table">
51
+ <tr class="top-aligned-row">
52
+ <td><strong>Module</strong></td>
53
+ <td class="class-name-in-header">Cms::Authentication::Model</td>
54
+ </tr>
55
+ <tr class="top-aligned-row">
56
+ <td><strong>In:</strong></td>
57
+ <td>
58
+ <a href="../../../files/lib/cms/authentication/model_rb.html">
59
+ lib/cms/authentication/model.rb
60
+ </a>
61
+ <br />
62
+ </td>
63
+ </tr>
64
+
65
+ </table>
66
+ </div>
67
+ <!-- banner header -->
68
+
69
+ <div id="bodyContent">
70
+
71
+
72
+
73
+ <div id="contextContent">
74
+
75
+
76
+
77
+ </div>
78
+
79
+ <div id="method-list">
80
+ <h3 class="section-bar">Methods</h3>
81
+
82
+ <div class="name-list">
83
+ <a href="#M000266">included</a>&nbsp;&nbsp;
84
+ </div>
85
+ </div>
86
+
87
+ </div>
88
+
89
+
90
+ <!-- if includes -->
91
+ <div id="includes">
92
+ <h3 class="section-bar">Included Modules</h3>
93
+
94
+ <div id="includes-list">
95
+ <span class="include-name"><a href="Model/InstanceMethods.html">InstanceMethods</a></span>
96
+ </div>
97
+ </div>
98
+
99
+ <div id="section">
100
+
101
+ <div id="class-list">
102
+ <h3 class="section-bar">Classes and Modules</h3>
103
+
104
+ Module <a href="Model/ClassMethods.html" class="link">Cms::Authentication::Model::ClassMethods</a><br />
105
+ Module <a href="Model/InstanceMethods.html" class="link">Cms::Authentication::Model::InstanceMethods</a><br />
106
+
107
+ </div>
108
+
109
+
110
+
111
+
112
+
113
+
114
+
115
+ <!-- if method_list -->
116
+ <div id="methods">
117
+ <h3 class="section-bar">Public Class methods</h3>
118
+
119
+ <div id="method-M000266" class="method-detail">
120
+ <a name="M000266"></a>
121
+
122
+ <div class="method-heading">
123
+ <a href="#M000266" class="method-signature">
124
+ <span class="method-name">included</span><span class="method-args">(model_class)</span>
125
+ </a>
126
+ </div>
127
+
128
+ <div class="method-description">
129
+ <p><a class="source-toggle" href="#"
130
+ onclick="toggleCode('M000266-source');return false;">[Source]</a></p>
131
+ <div class="method-source-code" id="M000266-source">
132
+ <pre>
133
+ <span class="ruby-comment cmt"># File lib/cms/authentication/model.rb, line 4</span>
134
+ 4: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">included</span>(<span class="ruby-identifier">model_class</span>)
135
+ 5: <span class="ruby-identifier">model_class</span>.<span class="ruby-identifier">extend</span> <span class="ruby-constant">ClassMethods</span>
136
+ 6: <span class="ruby-identifier">model_class</span>.<span class="ruby-identifier">class_eval</span> <span class="ruby-keyword kw">do</span>
137
+ 7: <span class="ruby-identifier">include</span> <span class="ruby-constant">InstanceMethods</span>
138
+ 8:
139
+ 9: <span class="ruby-comment cmt"># Virtual attribute for the unencrypted password</span>
140
+ 10: <span class="ruby-identifier">attr_accessor</span> <span class="ruby-identifier">:password</span>
141
+ 11: <span class="ruby-identifier">validates_presence_of</span> <span class="ruby-identifier">:password</span>, <span class="ruby-identifier">:if</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">:password_required?</span>
142
+ 12: <span class="ruby-identifier">validates_presence_of</span> <span class="ruby-identifier">:password_confirmation</span>, <span class="ruby-identifier">:if</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">:password_required?</span>
143
+ 13: <span class="ruby-identifier">validates_confirmation_of</span> <span class="ruby-identifier">:password</span>, <span class="ruby-identifier">:if</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">:password_required?</span>
144
+ 14: <span class="ruby-comment cmt">#validates_length_of :password, :within =&gt; 6..40, :if =&gt; :password_required?</span>
145
+ 15: <span class="ruby-identifier">before_save</span> <span class="ruby-identifier">:encrypt_password</span>
146
+ 16: <span class="ruby-keyword kw">end</span>
147
+ 17: <span class="ruby-keyword kw">end</span>
148
+ </pre>
149
+ </div>
150
+ </div>
151
+ </div>
152
+
153
+
154
+ </div>
155
+
156
+
157
+ </div>
158
+
159
+
160
+ <div id="validator-badges">
161
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
162
+ </div>
163
+
164
+ </body>
165
+ </html>
@@ -0,0 +1,246 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
7
+ <head>
8
+ <title>Module: Cms::Authentication::Model::ClassMethods</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
10
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
11
+ <link rel="stylesheet" href="../../../.././rdoc-style.css" type="text/css" media="screen" />
12
+ <script type="text/javascript">
13
+ // <![CDATA[
14
+
15
+ function popupCode( url ) {
16
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
17
+ }
18
+
19
+ function toggleCode( id ) {
20
+ if ( document.getElementById )
21
+ elem = document.getElementById( id );
22
+ else if ( document.all )
23
+ elem = eval( "document.all." + id );
24
+ else
25
+ return false;
26
+
27
+ elemStyle = elem.style;
28
+
29
+ if ( elemStyle.display != "block" ) {
30
+ elemStyle.display = "block"
31
+ } else {
32
+ elemStyle.display = "none"
33
+ }
34
+
35
+ return true;
36
+ }
37
+
38
+ // Make codeblocks hidden by default
39
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
40
+
41
+ // ]]>
42
+ </script>
43
+
44
+ </head>
45
+ <body>
46
+
47
+
48
+
49
+ <div id="classHeader">
50
+ <table class="header-table">
51
+ <tr class="top-aligned-row">
52
+ <td><strong>Module</strong></td>
53
+ <td class="class-name-in-header">Cms::Authentication::Model::ClassMethods</td>
54
+ </tr>
55
+ <tr class="top-aligned-row">
56
+ <td><strong>In:</strong></td>
57
+ <td>
58
+ <a href="../../../../files/lib/cms/authentication/model_rb.html">
59
+ lib/cms/authentication/model.rb
60
+ </a>
61
+ <br />
62
+ </td>
63
+ </tr>
64
+
65
+ </table>
66
+ </div>
67
+ <!-- banner header -->
68
+
69
+ <div id="bodyContent">
70
+
71
+
72
+
73
+ <div id="contextContent">
74
+
75
+
76
+
77
+ </div>
78
+
79
+ <div id="method-list">
80
+ <h3 class="section-bar">Methods</h3>
81
+
82
+ <div class="name-list">
83
+ <a href="#M000267">authenticate</a>&nbsp;&nbsp;
84
+ <a href="#M000268">change_password</a>&nbsp;&nbsp;
85
+ <a href="#M000269">make_token</a>&nbsp;&nbsp;
86
+ <a href="#M000270">password_digest</a>&nbsp;&nbsp;
87
+ <a href="#M000271">secure_digest</a>&nbsp;&nbsp;
88
+ </div>
89
+ </div>
90
+
91
+ </div>
92
+
93
+
94
+ <!-- if includes -->
95
+
96
+ <div id="section">
97
+
98
+
99
+
100
+
101
+
102
+
103
+
104
+
105
+ <!-- if method_list -->
106
+ <div id="methods">
107
+ <h3 class="section-bar">Public Instance methods</h3>
108
+
109
+ <div id="method-M000267" class="method-detail">
110
+ <a name="M000267"></a>
111
+
112
+ <div class="method-heading">
113
+ <a href="#M000267" class="method-signature">
114
+ <span class="method-name">authenticate</span><span class="method-args">(login, password)</span>
115
+ </a>
116
+ </div>
117
+
118
+ <div class="method-description">
119
+ <p><a class="source-toggle" href="#"
120
+ onclick="toggleCode('M000267-source');return false;">[Source]</a></p>
121
+ <div class="method-source-code" id="M000267-source">
122
+ <pre>
123
+ <span class="ruby-comment cmt"># File lib/cms/authentication/model.rb, line 20</span>
124
+ 20: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">authenticate</span>(<span class="ruby-identifier">login</span>, <span class="ruby-identifier">password</span>)
125
+ 21: <span class="ruby-identifier">u</span> = <span class="ruby-identifier">find_by_login</span>(<span class="ruby-identifier">login</span>) <span class="ruby-comment cmt"># need to get the salt</span>
126
+ 22: <span class="ruby-identifier">u</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">u</span>.<span class="ruby-identifier">authenticated?</span>(<span class="ruby-identifier">password</span>) <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-operator">!</span><span class="ruby-identifier">u</span>.<span class="ruby-identifier">expired?</span> <span class="ruby-value">? </span><span class="ruby-identifier">u</span> <span class="ruby-operator">:</span> <span class="ruby-keyword kw">nil</span>
127
+ 23: <span class="ruby-keyword kw">end</span>
128
+ </pre>
129
+ </div>
130
+ </div>
131
+ </div>
132
+
133
+ <div id="method-M000268" class="method-detail">
134
+ <a name="M000268"></a>
135
+
136
+ <div class="method-heading">
137
+ <a href="#M000268" class="method-signature">
138
+ <span class="method-name">change_password</span><span class="method-args">(login, new_password)</span>
139
+ </a>
140
+ </div>
141
+
142
+ <div class="method-description">
143
+ <p>
144
+ Method to make it easy to change a user&#8216;s password from the console,
145
+ not used in the app
146
+ </p>
147
+ <p><a class="source-toggle" href="#"
148
+ onclick="toggleCode('M000268-source');return false;">[Source]</a></p>
149
+ <div class="method-source-code" id="M000268-source">
150
+ <pre>
151
+ <span class="ruby-comment cmt"># File lib/cms/authentication/model.rb, line 26</span>
152
+ 26: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">change_password</span>(<span class="ruby-identifier">login</span>, <span class="ruby-identifier">new_password</span>)
153
+ 27: <span class="ruby-identifier">find_by_login</span>(<span class="ruby-identifier">login</span>).<span class="ruby-identifier">change_password</span>(<span class="ruby-identifier">new_password</span>)
154
+ 28: <span class="ruby-keyword kw">end</span>
155
+ </pre>
156
+ </div>
157
+ </div>
158
+ </div>
159
+
160
+ <div id="method-M000269" class="method-detail">
161
+ <a name="M000269"></a>
162
+
163
+ <div class="method-heading">
164
+ <a href="#M000269" class="method-signature">
165
+ <span class="method-name">make_token</span><span class="method-args">()</span>
166
+ </a>
167
+ </div>
168
+
169
+ <div class="method-description">
170
+ <p><a class="source-toggle" href="#"
171
+ onclick="toggleCode('M000269-source');return false;">[Source]</a></p>
172
+ <div class="method-source-code" id="M000269-source">
173
+ <pre>
174
+ <span class="ruby-comment cmt"># File lib/cms/authentication/model.rb, line 30</span>
175
+ 30: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">make_token</span>
176
+ 31: <span class="ruby-identifier">secure_digest</span>(<span class="ruby-constant">Time</span>.<span class="ruby-identifier">now</span>, (<span class="ruby-value">1</span><span class="ruby-operator">..</span><span class="ruby-value">10</span>).<span class="ruby-identifier">map</span>{ <span class="ruby-identifier">rand</span>.<span class="ruby-identifier">to_s</span> })
177
+ 32: <span class="ruby-keyword kw">end</span>
178
+ </pre>
179
+ </div>
180
+ </div>
181
+ </div>
182
+
183
+ <div id="method-M000270" class="method-detail">
184
+ <a name="M000270"></a>
185
+
186
+ <div class="method-heading">
187
+ <a href="#M000270" class="method-signature">
188
+ <span class="method-name">password_digest</span><span class="method-args">(password, salt)</span>
189
+ </a>
190
+ </div>
191
+
192
+ <div class="method-description">
193
+ <p><a class="source-toggle" href="#"
194
+ onclick="toggleCode('M000270-source');return false;">[Source]</a></p>
195
+ <div class="method-source-code" id="M000270-source">
196
+ <pre>
197
+ <span class="ruby-comment cmt"># File lib/cms/authentication/model.rb, line 34</span>
198
+ 34: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">password_digest</span>(<span class="ruby-identifier">password</span>, <span class="ruby-identifier">salt</span>)
199
+ 35: <span class="ruby-identifier">key</span> = <span class="ruby-value str">'8771d0d9bef6f1091b723d2e701a17c811d69b26'</span>
200
+ 36: <span class="ruby-identifier">digest</span> = <span class="ruby-identifier">key</span>
201
+ 37: <span class="ruby-value">10</span>.<span class="ruby-identifier">times</span> <span class="ruby-keyword kw">do</span>
202
+ 38: <span class="ruby-identifier">digest</span> = <span class="ruby-identifier">secure_digest</span>(<span class="ruby-identifier">digest</span>, <span class="ruby-identifier">salt</span>, <span class="ruby-identifier">password</span>, <span class="ruby-identifier">key</span>)
203
+ 39: <span class="ruby-keyword kw">end</span>
204
+ 40: <span class="ruby-identifier">digest</span>
205
+ 41: <span class="ruby-keyword kw">end</span>
206
+ </pre>
207
+ </div>
208
+ </div>
209
+ </div>
210
+
211
+ <div id="method-M000271" class="method-detail">
212
+ <a name="M000271"></a>
213
+
214
+ <div class="method-heading">
215
+ <a href="#M000271" class="method-signature">
216
+ <span class="method-name">secure_digest</span><span class="method-args">(*args)</span>
217
+ </a>
218
+ </div>
219
+
220
+ <div class="method-description">
221
+ <p><a class="source-toggle" href="#"
222
+ onclick="toggleCode('M000271-source');return false;">[Source]</a></p>
223
+ <div class="method-source-code" id="M000271-source">
224
+ <pre>
225
+ <span class="ruby-comment cmt"># File lib/cms/authentication/model.rb, line 43</span>
226
+ 43: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">secure_digest</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">args</span>)
227
+ 44: <span class="ruby-constant">Digest</span><span class="ruby-operator">::</span><span class="ruby-constant">SHA1</span>.<span class="ruby-identifier">hexdigest</span>(<span class="ruby-identifier">args</span>.<span class="ruby-identifier">flatten</span>.<span class="ruby-identifier">join</span>(<span class="ruby-value str">'--'</span>))
228
+ 45: <span class="ruby-keyword kw">end</span>
229
+ </pre>
230
+ </div>
231
+ </div>
232
+ </div>
233
+
234
+
235
+ </div>
236
+
237
+
238
+ </div>
239
+
240
+
241
+ <div id="validator-badges">
242
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
243
+ </div>
244
+
245
+ </body>
246
+ </html>
@@ -0,0 +1,412 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
7
+ <head>
8
+ <title>Module: Cms::Authentication::Model::InstanceMethods</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
10
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
11
+ <link rel="stylesheet" href="../../../.././rdoc-style.css" type="text/css" media="screen" />
12
+ <script type="text/javascript">
13
+ // <![CDATA[
14
+
15
+ function popupCode( url ) {
16
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
17
+ }
18
+
19
+ function toggleCode( id ) {
20
+ if ( document.getElementById )
21
+ elem = document.getElementById( id );
22
+ else if ( document.all )
23
+ elem = eval( "document.all." + id );
24
+ else
25
+ return false;
26
+
27
+ elemStyle = elem.style;
28
+
29
+ if ( elemStyle.display != "block" ) {
30
+ elemStyle.display = "block"
31
+ } else {
32
+ elemStyle.display = "none"
33
+ }
34
+
35
+ return true;
36
+ }
37
+
38
+ // Make codeblocks hidden by default
39
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
40
+
41
+ // ]]>
42
+ </script>
43
+
44
+ </head>
45
+ <body>
46
+
47
+
48
+
49
+ <div id="classHeader">
50
+ <table class="header-table">
51
+ <tr class="top-aligned-row">
52
+ <td><strong>Module</strong></td>
53
+ <td class="class-name-in-header">Cms::Authentication::Model::InstanceMethods</td>
54
+ </tr>
55
+ <tr class="top-aligned-row">
56
+ <td><strong>In:</strong></td>
57
+ <td>
58
+ <a href="../../../../files/lib/cms/authentication/model_rb.html">
59
+ lib/cms/authentication/model.rb
60
+ </a>
61
+ <br />
62
+ </td>
63
+ </tr>
64
+
65
+ </table>
66
+ </div>
67
+ <!-- banner header -->
68
+
69
+ <div id="bodyContent">
70
+
71
+
72
+
73
+ <div id="contextContent">
74
+
75
+
76
+
77
+ </div>
78
+
79
+ <div id="method-list">
80
+ <h3 class="section-bar">Methods</h3>
81
+
82
+ <div class="name-list">
83
+ <a href="#M000274">authenticated?</a>&nbsp;&nbsp;
84
+ <a href="#M000272">change_password</a>&nbsp;&nbsp;
85
+ <a href="#M000273">encrypt</a>&nbsp;&nbsp;
86
+ <a href="#M000275">encrypt_password</a>&nbsp;&nbsp;
87
+ <a href="#M000282">forget_me</a>&nbsp;&nbsp;
88
+ <a href="#M000276">password_required?</a>&nbsp;&nbsp;
89
+ <a href="#M000281">refresh_token</a>&nbsp;&nbsp;
90
+ <a href="#M000278">remember_me</a>&nbsp;&nbsp;
91
+ <a href="#M000279">remember_me_for</a>&nbsp;&nbsp;
92
+ <a href="#M000280">remember_me_until</a>&nbsp;&nbsp;
93
+ <a href="#M000277">remember_token?</a>&nbsp;&nbsp;
94
+ </div>
95
+ </div>
96
+
97
+ </div>
98
+
99
+
100
+ <!-- if includes -->
101
+
102
+ <div id="section">
103
+
104
+
105
+
106
+
107
+
108
+
109
+
110
+
111
+ <!-- if method_list -->
112
+ <div id="methods">
113
+ <h3 class="section-bar">Public Instance methods</h3>
114
+
115
+ <div id="method-M000274" class="method-detail">
116
+ <a name="M000274"></a>
117
+
118
+ <div class="method-heading">
119
+ <a href="#M000274" class="method-signature">
120
+ <span class="method-name">authenticated?</span><span class="method-args">(password)</span>
121
+ </a>
122
+ </div>
123
+
124
+ <div class="method-description">
125
+ <p><a class="source-toggle" href="#"
126
+ onclick="toggleCode('M000274-source');return false;">[Source]</a></p>
127
+ <div class="method-source-code" id="M000274-source">
128
+ <pre>
129
+ <span class="ruby-comment cmt"># File lib/cms/authentication/model.rb, line 60</span>
130
+ 60: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">authenticated?</span>(<span class="ruby-identifier">password</span>)
131
+ 61: <span class="ruby-identifier">crypted_password</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">encrypt</span>(<span class="ruby-identifier">password</span>)
132
+ 62: <span class="ruby-keyword kw">end</span>
133
+ </pre>
134
+ </div>
135
+ </div>
136
+ </div>
137
+
138
+ <div id="method-M000272" class="method-detail">
139
+ <a name="M000272"></a>
140
+
141
+ <div class="method-heading">
142
+ <a href="#M000272" class="method-signature">
143
+ <span class="method-name">change_password</span><span class="method-args">(new_password)</span>
144
+ </a>
145
+ </div>
146
+
147
+ <div class="method-description">
148
+ <p>
149
+ Method to make it easy to change a user&#8216;s password from the console,
150
+ not used in the app
151
+ </p>
152
+ <p><a class="source-toggle" href="#"
153
+ onclick="toggleCode('M000272-source');return false;">[Source]</a></p>
154
+ <div class="method-source-code" id="M000272-source">
155
+ <pre>
156
+ <span class="ruby-comment cmt"># File lib/cms/authentication/model.rb, line 51</span>
157
+ 51: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">change_password</span>(<span class="ruby-identifier">new_password</span>)
158
+ 52: <span class="ruby-identifier">update_attributes</span>(<span class="ruby-identifier">:password</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">new_password</span>, <span class="ruby-identifier">:password_confirmation</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">new_password</span>)
159
+ 53: <span class="ruby-keyword kw">end</span>
160
+ </pre>
161
+ </div>
162
+ </div>
163
+ </div>
164
+
165
+ <div id="method-M000273" class="method-detail">
166
+ <a name="M000273"></a>
167
+
168
+ <div class="method-heading">
169
+ <a href="#M000273" class="method-signature">
170
+ <span class="method-name">encrypt</span><span class="method-args">(password)</span>
171
+ </a>
172
+ </div>
173
+
174
+ <div class="method-description">
175
+ <p>
176
+ Encrypts the password with the user salt
177
+ </p>
178
+ <p><a class="source-toggle" href="#"
179
+ onclick="toggleCode('M000273-source');return false;">[Source]</a></p>
180
+ <div class="method-source-code" id="M000273-source">
181
+ <pre>
182
+ <span class="ruby-comment cmt"># File lib/cms/authentication/model.rb, line 56</span>
183
+ 56: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">encrypt</span>(<span class="ruby-identifier">password</span>)
184
+ 57: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">password_digest</span>(<span class="ruby-identifier">password</span>, <span class="ruby-identifier">salt</span>)
185
+ 58: <span class="ruby-keyword kw">end</span>
186
+ </pre>
187
+ </div>
188
+ </div>
189
+ </div>
190
+
191
+ <div id="method-M000275" class="method-detail">
192
+ <a name="M000275"></a>
193
+
194
+ <div class="method-heading">
195
+ <a href="#M000275" class="method-signature">
196
+ <span class="method-name">encrypt_password</span><span class="method-args">()</span>
197
+ </a>
198
+ </div>
199
+
200
+ <div class="method-description">
201
+ <p>
202
+ before filter
203
+ </p>
204
+ <p><a class="source-toggle" href="#"
205
+ onclick="toggleCode('M000275-source');return false;">[Source]</a></p>
206
+ <div class="method-source-code" id="M000275-source">
207
+ <pre>
208
+ <span class="ruby-comment cmt"># File lib/cms/authentication/model.rb, line 65</span>
209
+ 65: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">encrypt_password</span>
210
+ 66: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">password</span>.<span class="ruby-identifier">blank?</span>
211
+ 67: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">salt</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">make_token</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">new_record?</span>
212
+ 68: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">crypted_password</span> = <span class="ruby-identifier">encrypt</span>(<span class="ruby-identifier">password</span>)
213
+ 69: <span class="ruby-keyword kw">end</span>
214
+ </pre>
215
+ </div>
216
+ </div>
217
+ </div>
218
+
219
+ <div id="method-M000282" class="method-detail">
220
+ <a name="M000282"></a>
221
+
222
+ <div class="method-heading">
223
+ <a href="#M000282" class="method-signature">
224
+ <span class="method-name">forget_me</span><span class="method-args">()</span>
225
+ </a>
226
+ </div>
227
+
228
+ <div class="method-description">
229
+ <p>
230
+ Deletes the server-side record of the authentication token. The client-side
231
+ (browser cookie) and server-side (this remember_token) must always be
232
+ deleted together.
233
+ </p>
234
+ <p><a class="source-toggle" href="#"
235
+ onclick="toggleCode('M000282-source');return false;">[Source]</a></p>
236
+ <div class="method-source-code" id="M000282-source">
237
+ <pre>
238
+ <span class="ruby-comment cmt"># File lib/cms/authentication/model.rb, line 108</span>
239
+ 108: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">forget_me</span>
240
+ 109: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">remember_token_expires_at</span> = <span class="ruby-keyword kw">nil</span>
241
+ 110: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">remember_token</span> = <span class="ruby-keyword kw">nil</span>
242
+ 111: <span class="ruby-identifier">save</span>
243
+ 112: <span class="ruby-keyword kw">end</span>
244
+ </pre>
245
+ </div>
246
+ </div>
247
+ </div>
248
+
249
+ <div id="method-M000276" class="method-detail">
250
+ <a name="M000276"></a>
251
+
252
+ <div class="method-heading">
253
+ <a href="#M000276" class="method-signature">
254
+ <span class="method-name">password_required?</span><span class="method-args">()</span>
255
+ </a>
256
+ </div>
257
+
258
+ <div class="method-description">
259
+ <p><a class="source-toggle" href="#"
260
+ onclick="toggleCode('M000276-source');return false;">[Source]</a></p>
261
+ <div class="method-source-code" id="M000276-source">
262
+ <pre>
263
+ <span class="ruby-comment cmt"># File lib/cms/authentication/model.rb, line 71</span>
264
+ 71: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">password_required?</span>
265
+ 72: <span class="ruby-identifier">crypted_password</span>.<span class="ruby-identifier">blank?</span> <span class="ruby-operator">||</span> <span class="ruby-operator">!</span><span class="ruby-identifier">password</span>.<span class="ruby-identifier">blank?</span>
266
+ 73: <span class="ruby-keyword kw">end</span>
267
+ </pre>
268
+ </div>
269
+ </div>
270
+ </div>
271
+
272
+ <div id="method-M000281" class="method-detail">
273
+ <a name="M000281"></a>
274
+
275
+ <div class="method-heading">
276
+ <a href="#M000281" class="method-signature">
277
+ <span class="method-name">refresh_token</span><span class="method-args">()</span>
278
+ </a>
279
+ </div>
280
+
281
+ <div class="method-description">
282
+ <p>
283
+ refresh token (keeping same expires_at) if it exists
284
+ </p>
285
+ <p><a class="source-toggle" href="#"
286
+ onclick="toggleCode('M000281-source');return false;">[Source]</a></p>
287
+ <div class="method-source-code" id="M000281-source">
288
+ <pre>
289
+ <span class="ruby-comment cmt"># File lib/cms/authentication/model.rb, line 96</span>
290
+ 96: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">refresh_token</span>
291
+ 97: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">remember_token?</span>
292
+ 98: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">remember_token</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">make_token</span>
293
+ 99: <span class="ruby-identifier">save</span>
294
+ 100: <span class="ruby-keyword kw">end</span>
295
+ 101: <span class="ruby-keyword kw">end</span>
296
+ </pre>
297
+ </div>
298
+ </div>
299
+ </div>
300
+
301
+ <div id="method-M000278" class="method-detail">
302
+ <a name="M000278"></a>
303
+
304
+ <div class="method-heading">
305
+ <a href="#M000278" class="method-signature">
306
+ <span class="method-name">remember_me</span><span class="method-args">()</span>
307
+ </a>
308
+ </div>
309
+
310
+ <div class="method-description">
311
+ <p>
312
+ These create and unset the fields required for remembering users between
313
+ browser closes
314
+ </p>
315
+ <p><a class="source-toggle" href="#"
316
+ onclick="toggleCode('M000278-source');return false;">[Source]</a></p>
317
+ <div class="method-source-code" id="M000278-source">
318
+ <pre>
319
+ <span class="ruby-comment cmt"># File lib/cms/authentication/model.rb, line 81</span>
320
+ 81: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">remember_me</span>
321
+ 82: <span class="ruby-identifier">remember_me_for</span> <span class="ruby-value">2</span>.<span class="ruby-identifier">weeks</span>
322
+ 83: <span class="ruby-keyword kw">end</span>
323
+ </pre>
324
+ </div>
325
+ </div>
326
+ </div>
327
+
328
+ <div id="method-M000279" class="method-detail">
329
+ <a name="M000279"></a>
330
+
331
+ <div class="method-heading">
332
+ <a href="#M000279" class="method-signature">
333
+ <span class="method-name">remember_me_for</span><span class="method-args">(time)</span>
334
+ </a>
335
+ </div>
336
+
337
+ <div class="method-description">
338
+ <p><a class="source-toggle" href="#"
339
+ onclick="toggleCode('M000279-source');return false;">[Source]</a></p>
340
+ <div class="method-source-code" id="M000279-source">
341
+ <pre>
342
+ <span class="ruby-comment cmt"># File lib/cms/authentication/model.rb, line 85</span>
343
+ 85: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">remember_me_for</span>(<span class="ruby-identifier">time</span>)
344
+ 86: <span class="ruby-identifier">remember_me_until</span> <span class="ruby-identifier">time</span>.<span class="ruby-identifier">from_now</span>.<span class="ruby-identifier">utc</span>
345
+ 87: <span class="ruby-keyword kw">end</span>
346
+ </pre>
347
+ </div>
348
+ </div>
349
+ </div>
350
+
351
+ <div id="method-M000280" class="method-detail">
352
+ <a name="M000280"></a>
353
+
354
+ <div class="method-heading">
355
+ <a href="#M000280" class="method-signature">
356
+ <span class="method-name">remember_me_until</span><span class="method-args">(time)</span>
357
+ </a>
358
+ </div>
359
+
360
+ <div class="method-description">
361
+ <p><a class="source-toggle" href="#"
362
+ onclick="toggleCode('M000280-source');return false;">[Source]</a></p>
363
+ <div class="method-source-code" id="M000280-source">
364
+ <pre>
365
+ <span class="ruby-comment cmt"># File lib/cms/authentication/model.rb, line 89</span>
366
+ 89: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">remember_me_until</span>(<span class="ruby-identifier">time</span>)
367
+ 90: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">remember_token_expires_at</span> = <span class="ruby-identifier">time</span>
368
+ 91: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">remember_token</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">make_token</span>
369
+ 92: <span class="ruby-identifier">save</span>
370
+ 93: <span class="ruby-keyword kw">end</span>
371
+ </pre>
372
+ </div>
373
+ </div>
374
+ </div>
375
+
376
+ <div id="method-M000277" class="method-detail">
377
+ <a name="M000277"></a>
378
+
379
+ <div class="method-heading">
380
+ <a href="#M000277" class="method-signature">
381
+ <span class="method-name">remember_token?</span><span class="method-args">()</span>
382
+ </a>
383
+ </div>
384
+
385
+ <div class="method-description">
386
+ <p><a class="source-toggle" href="#"
387
+ onclick="toggleCode('M000277-source');return false;">[Source]</a></p>
388
+ <div class="method-source-code" id="M000277-source">
389
+ <pre>
390
+ <span class="ruby-comment cmt"># File lib/cms/authentication/model.rb, line 75</span>
391
+ 75: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">remember_token?</span>
392
+ 76: (<span class="ruby-operator">!</span><span class="ruby-identifier">remember_token</span>.<span class="ruby-identifier">blank?</span>) <span class="ruby-operator">&amp;&amp;</span>
393
+ 77: <span class="ruby-identifier">remember_token_expires_at</span> <span class="ruby-operator">&amp;&amp;</span> (<span class="ruby-constant">Time</span>.<span class="ruby-identifier">now</span>.<span class="ruby-identifier">utc</span> <span class="ruby-operator">&lt;</span> <span class="ruby-identifier">remember_token_expires_at</span>.<span class="ruby-identifier">utc</span>)
394
+ 78: <span class="ruby-keyword kw">end</span>
395
+ </pre>
396
+ </div>
397
+ </div>
398
+ </div>
399
+
400
+
401
+ </div>
402
+
403
+
404
+ </div>
405
+
406
+
407
+ <div id="validator-badges">
408
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
409
+ </div>
410
+
411
+ </body>
412
+ </html>