camaleon_cms 2.0.3 → 2.0.4

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.

Potentially problematic release.


This version of camaleon_cms might be problematic. Click here for more details.

checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: c1ba5c936124f4f5012e985ffa2380addcb3b741
4
- data.tar.gz: e9aced89daa293cfaca1717564102bfd4c19b7b2
3
+ metadata.gz: 20092bd5db3f09102ba7a1c8d9b92bb53a7dbfce
4
+ data.tar.gz: 625425eccb4f637eb53c9e6902cb97baa450ab94
5
5
  SHA512:
6
- metadata.gz: 32c21dbff1283ac8e05ef6d59cc6f3f03c495684b57f302d99147bf2dd7de4339dfe3aa8164d4b3d501b453f50c4807501d7fead43c533f00ef228ca2eafa792
7
- data.tar.gz: bbe6bc4fc4ea279ec53846f18d91b67ff59930ec64ac03f41b0216f29037a1f7325cee18e2bf37ffbd2373b67e73b365503ee8f26090d36c3144de936def94ae
6
+ metadata.gz: dbdeeb331aa35d258d577b4131e4cfd420c119d8c5f9becc1ebf905d5e4079293f3844afadbcc1ea9313df18a9defe70f70cd4850a656a2f170b3a3c983f47c8
7
+ data.tar.gz: e630a1aea7f17eac32a80c1d5e2cc1e7b503c46cb407ee0fef7c412e0372db89e79a5d357e2ad1e02f8ec4171fb063b97c4211ae195b1a6ddec2c73d9a9be97d
@@ -17,8 +17,6 @@ class CamaleonCms::Admin::MediaController < CamaleonCms::AdminController
17
17
  authorize! :manager, :media
18
18
  @show_file_actions = true
19
19
  add_breadcrumb I18n.t("camaleon_cms.admin.sidebar.media")
20
- render "index"
21
- cama_draw_timer
22
20
  end
23
21
 
24
22
  # crop a image to save as a new file
@@ -15,11 +15,8 @@ module CamaleonCms::SessionHelper
15
15
  c[:domain] = :all if PluginRoutes.system_info["users_share_sites"].present? && CamaleonCms::Site.count > 1
16
16
  c[:expires] = 1.month.from_now if remember_me
17
17
 
18
- CamaleonCms::Site.main_site.set_meta("share_sessions", false) if cookies.delete(:login).present?
19
18
  user.update({last_login_at: Time.zone.now})
20
-
21
19
  cookies[:auth_token] = c
22
- cookies[:login] = true
23
20
 
24
21
  # user redirection
25
22
  flash[:notice] = t('camaleon_cms.admin.login.message.success', locale: current_site.get_admin_language)
@@ -97,8 +94,9 @@ module CamaleonCms::SessionHelper
97
94
  def cama_logout_user
98
95
  cookies.delete(:auth_token, domain: :all)
99
96
  cookies.delete(:auth_token, domain: nil)
100
- cookies[:auth_token] = {value: nil, expires: 24.hours.ago, domain: (PluginRoutes.system_info["users_share_sites"] && CamaleonCms::Site.count > 1 ? :all : nil)}
101
- cookies.delete :login
97
+ c_data = {value: nil, expires: 24.hours.ago}
98
+ c_data[:domain] = :all if PluginRoutes.system_info["users_share_sites"].present? && CamaleonCms::Site.count > 1
99
+ cookies[:auth_token] = c_data
102
100
  redirect_to params[:return_to].present? ? params[:return_to] : cama_admin_login_path, :notice => t('camaleon_cms.admin.logout.message.closed')
103
101
  end
104
102
 
@@ -117,17 +115,17 @@ module CamaleonCms::SessionHelper
117
115
 
118
116
  # return current user logged in
119
117
  def cama_current_user
120
- return @current_user if defined?(@current_user)
118
+ return @cama_current_user if defined?(@cama_current_user)
121
119
  # api current user...
122
- @current_user = cama_calc_api_current_user
123
- return @current_user unless @current_user.nil?
120
+ @cama_current_user = cama_calc_api_current_user
121
+ return @cama_current_user unless @cama_current_user.nil?
124
122
 
125
123
  return nil unless cookies[:auth_token].present?
126
124
  c = cookies[:auth_token].split("&")
127
125
  return nil unless c.size == 3
128
126
 
129
127
  if c[1] == request.user_agent && request.ip == c[2]
130
- @current_user = (current_site.users_include_admins.find_by_auth_token(c[0]).decorate rescue nil)
128
+ @cama_current_user = (current_site.users_include_admins.find_by_auth_token(c[0]).decorate rescue nil)
131
129
  end
132
130
  end
133
131
 
@@ -13,7 +13,7 @@ module CamaleonCms::SiteHelper
13
13
  return $current_site if defined?($current_site)
14
14
  return @current_site if defined?(@current_site)
15
15
  if PluginRoutes.get_sites.size == 1
16
- site = PluginRoutes.get_sites.first.decorate
16
+ site = CamaleonCms::Site.first.decorate
17
17
  else
18
18
  host = request.original_url.to_s.parse_domain
19
19
  if host == PluginRoutes.system_info["base_domain"]
@@ -160,58 +160,22 @@ module CamaleonCms::UploaderHelper
160
160
  res.gsub(/(\/){2,}/, "/")
161
161
  end
162
162
 
163
- # Generate Hash structure of files from FOG
164
- def cama_uploader_browser_files(load_cache = true)
165
- if load_cache
166
- cache_res = current_site.get_meta("cache_browser_files_#{@fog_connection_hook_res}")
167
- return cache_res.with_indifferent_access if cache_res.present?
168
- end
169
-
170
- @browser_files = {folders: {}, files: [], path: ""}
171
- cama_uploader_init_connection()
172
- @fog_connection_bucket_dir.files.all.each do |file|
173
- cama_uploader_browser_files_parse_file(@browser_files, File.dirname(file.key), file)
174
- end
175
- current_site.set_meta("cache_browser_files_#{@fog_connection_hook_res}", @browser_files)
176
- end
177
-
178
- # add full file path into browser structure
179
- # sample: 1/500_3.html => {folders: { 1:{ folders:{}, files: [{name: 503.html, ..}] } } }
180
- def cama_uploader_browser_files_parse_file(folder_src, folder_dst, file)
181
- if folder_dst.present?
182
- return "" if folder_dst.start_with?(@fog_connection_hook_res[:thumb_folder_name]) # thumb folders ignored
183
- f = folder_dst.split("/").first
184
- folder_src[:folders][f] = {folders: {}, files: []} unless folder_src[:folders].keys.include?(f)
185
- cama_uploader_browser_files_parse_file(folder_src[:folders][f], folder_dst.split("/").from(1).join("/"), file)
186
- else
187
- if file.key.end_with?("/")
188
- folder_src[:folders][file.key.split("/").last] = {folders: {}, files: []}
189
- else
190
- r_file = cama_uploader_parse_file(file)
191
- folder_src[:files] << r_file if r_file["url"].present? && !file.key.include?('/_tmp.txt') # skip non public url files (protected)
192
- end
193
- end
194
- end
195
-
196
163
  # search a folder by path and return all folders and files
197
164
  # sample: cama_media_find_folder("test/exit")
198
165
  def cama_media_find_folder(path = "")
199
- res = nil
200
- cama_draw_timer
201
- folder = cama_uploader_browser_files[:folders]
202
- cama_draw_timer
203
- "#{current_site.id}/#{path}".gsub(/(\/){2,}/, "/").split("/").each do |k|
204
- if k.present?
205
- begin
206
- res = folder[k]
207
- folder = folder[k][:folders]
208
- rescue
209
- break
210
- end
166
+ cama_uploader_init_connection(true)
167
+
168
+ prefix = "#{current_site.id}/#{path}/".gsub(/(\/){2,}/, "/")
169
+ res = {folders: {}, files: []}
170
+
171
+ @fog_connection.directories.get(@fog_connection_hook_res[:bucket_name], prefix: prefix).files.each do |file|
172
+ res[:files] << cama_uploader_parse_file(file) if file.key =~ %r|#{prefix}[^/]+$| && !file.key.include?('/_tmp.txt')
173
+ if file.key =~ %r|#{prefix}([^/]+)/|
174
+ folder_name = "#{$~[1]}"
175
+ res[:folders][folder_name] = {folders: {}, files: []} unless (folder_name == @fog_connection_hook_res[:thumb_folder_name])
211
176
  end
212
177
  end
213
- cama_draw_timer
214
- res || {folders: {}, files: []}
178
+ return res
215
179
  end
216
180
 
217
181
  # parse file information of FOG file
@@ -12,7 +12,7 @@ class CamaleonCms::Ability
12
12
  def initialize(user, current_site = nil)
13
13
  # Define abilities for the passed in user here. For example:
14
14
  #
15
- user ||= User.new # guest user (not logged in)
15
+ user ||= CamaleonCms::User.new # guest user (not logged in)
16
16
  if user.admin?
17
17
  can :manage, :all
18
18
  elsif user.client?
@@ -105,4 +105,19 @@ class CamaleonCms::Ability
105
105
  # See the wiki for details:
106
106
  # https://github.com/CanCanCommunity/cancancan/wiki/Defining-Abilities
107
107
  end
108
+
109
+ #overwrite can method to support decorator class names
110
+ def can?(action, subject, *extra_args)
111
+ if subject.is_a?(Draper::Decorator)
112
+ super(action,subject.model,*extra_args)
113
+ else
114
+ super(action,subject,*extra_args)
115
+ end
116
+ end
117
+
118
+ #overwrite cannot method to support decorator class names
119
+ def cannot?(*args)
120
+ !can?(*args)
121
+ end
122
+
108
123
  end
@@ -265,10 +265,6 @@ class CamaleonCms::Site < CamaleonCms::TermTaxonomy
265
265
  @nav_menu.append_menu_item({label: title, type: 'post', link: post.id})
266
266
  end
267
267
  end
268
-
269
- # default theme
270
- # self.themes.create(slug: PluginRoutes.system_info["default_template"])
271
- # self.set_option('_theme', PluginRoutes.system_info["default_template"])
272
268
  end
273
269
 
274
270
  # assign all users to this new site
@@ -99,11 +99,6 @@ class CamaleonCms::UserRole < CamaleonCms::TermTaxonomy
99
99
  label: "#{I18n.t('camaleon_cms.admin.users.roles_values.comments')}",
100
100
  description: "#{I18n.t('camaleon_cms.admin.users.tool_tip.comments')}"
101
101
  },
102
- #{
103
- # key: 'forms',
104
- # label: "#{I18n.t('camaleon_cms.admin.users.roles_values.forms')}",
105
- # description: "#{I18n.t('camaleon_cms.admin.users.tool_tip.forms')}"
106
- #},
107
102
  {
108
103
  key: 'themes',
109
104
  label: "#{I18n.t('camaleon_cms.admin.users.roles_values.themes')}",
@@ -72,12 +72,12 @@
72
72
  <select id="select_post_simple" name="custom_field_group[assign_group]" class="form-control required" style="display: none" disabled>
73
73
  <% current_site.post_types.each do |pt| pt = pt.decorate %>
74
74
  <optgroup label="<%= pt.the_title %>">
75
- <% pt.posts.visible_frontend.each do |post| value = "#{post.class.name},#{post.id}"; post = post.decorate %>
75
+ <% pt.posts.visible_frontend.each do |post| value = "#{post.class.name},#{post.id}".parseCamaClass; post = post.decorate %>
76
76
  <option value="<%= value %>" data-help="<%= "#{t('camaleon_cms.admin.settings.tooltip.add_custom_field_posts')}"+ post.the_title %>"><%= post.the_title %></option>
77
77
  <% end %>
78
78
  </optgroup>
79
79
  <% end %>
80
- </select>
80
+ </select>
81
81
  <input id="select_assign_group_caption" type="hidden" name="custom_field_group[caption]"/>
82
82
  <div id="select_assign_group_help"></div>
83
83
  </div>
@@ -1,3 +1,3 @@
1
1
  module CamaleonCms
2
- VERSION = "2.0.3"
2
+ VERSION = "2.0.4"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: camaleon_cms
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.3
4
+ version: 2.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Owen Peredo Diaz
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-12-04 00:00:00.000000000 Z
11
+ date: 2015-12-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bcrypt