publify_core 10.0.2 → 10.0.3

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a80ae8a43965fcfb378504dd7b9d0cf6f13d5bc87df95fd9fb937caca4eb401f
4
- data.tar.gz: d18535211810991287441d7e851786062d1ae0dea3b7835f47a102d20c0c179f
3
+ metadata.gz: b3e5084922bf07bd1308c17a903b8d97773f92b4068a02aedbddb77ee3e4d86c
4
+ data.tar.gz: d8689c538a7fad96f040adc776cc55b9f489a5bcfaef8dfa6ca7b4a31aa3a385
5
5
  SHA512:
6
- metadata.gz: 4154fcce63f81d06ea49c427307cebe10dec30c90dfeb16d4955fd9fca6e40be98a6d95a00b2582d0dd41d81ed82535a5f6b4ee3fc403ebfd04f924aa5e3bb59
7
- data.tar.gz: 8dfb7191f158518c34cac975d53f89ed74539c14340db36f67fc6f5951e3f8a90004881d1a2a74c0740368040c19f424d29f0d830ddae9dcbe2b260b69c81846
6
+ metadata.gz: aeeeb16cf53b8f6fd74cfd04ac9c960a25f05fd603e4d127cbee813d37a8ddd2675ed6f082aa2ea59155aa3ab407297c6a733d8ce0f124d4a9affd98163a52e7
7
+ data.tar.gz: 80b5de3c4bd37f72ccbce5d27d10fbff4519d3bca84a30eee988e389b48b83b6969320c90db38590aeae40a46be5708e838ea066855ea6aef4a254f50cb2632f
data/CHANGELOG.md CHANGED
@@ -1,5 +1,19 @@
1
1
  # Changelog
2
2
 
3
+ ## 10.0.3 / 2025-03-28
4
+
5
+ * Limit accepted parameters for Sidebar update in Admin ([#159] by [mvz])
6
+ * Use known set of allowed attributes when autosaving an Article ([#160] by [mvz])
7
+ * Permit only valid settings keys when updating blog settings ([#161] by [mvz])
8
+ * Limit assigned attributes when creating and updating Notes ([#162] by [mvz])
9
+ * Limit allowed SEO settings params ([#163] by [mvz])
10
+
11
+ [#159]: https://github.com/publify/publify_core/pull/159
12
+ [#160]: https://github.com/publify/publify_core/pull/160
13
+ [#161]: https://github.com/publify/publify_core/pull/161
14
+ [#162]: https://github.com/publify/publify_core/pull/162
15
+ [#163]: https://github.com/publify/publify_core/pull/163
16
+
3
17
  ## 10.0.2 / 2024-06-28
4
18
 
5
19
  ### Security updates
@@ -108,7 +108,7 @@ class Admin::ArticlesController < Admin::BaseController
108
108
 
109
109
  fetch_fresh_or_existing_draft_for_article
110
110
 
111
- @article.attributes = params[:article].permit!
111
+ @article.assign_attributes(update_params)
112
112
 
113
113
  @article.author = current_user
114
114
  @article.save_attachments!(params[:attachments])
@@ -23,7 +23,7 @@ class Admin::NotesController < Admin::BaseController
23
23
  note = new_note
24
24
 
25
25
  note.state = "published"
26
- note.attributes = params[:note].permit!
26
+ note.assign_attributes(note_params)
27
27
  note.text_filter ||= default_text_filter
28
28
  note.published_at ||= Time.zone.now
29
29
  if note.save
@@ -41,7 +41,7 @@ class Admin::NotesController < Admin::BaseController
41
41
  end
42
42
 
43
43
  def update
44
- @note.attributes = params[:note].permit!
44
+ @note.assign_attributes(note_params)
45
45
  @note.save
46
46
  redirect_to admin_notes_url
47
47
  end
@@ -54,6 +54,15 @@ class Admin::NotesController < Admin::BaseController
54
54
 
55
55
  private
56
56
 
57
+ def note_params
58
+ params.require(:note).permit(:text_filter_name,
59
+ :body,
60
+ :push_to_twitter,
61
+ :in_reply_to_status_id,
62
+ :permalink,
63
+ :published_at)
64
+ end
65
+
57
66
  def load_existing_notes
58
67
  @notes = Note.page(params[:page]).per(this_blog.limit_article_display)
59
68
  end
@@ -30,7 +30,11 @@ class Admin::SeoController < Admin::BaseController
30
30
  private
31
31
 
32
32
  def settings_params
33
- @settings_params ||= params.require(:setting).permit!
33
+ @settings_params ||= params.require(:setting).permit(settings_keys)
34
+ end
35
+
36
+ def settings_keys
37
+ @setting.settings_keys + [:custom_permalink]
34
38
  end
35
39
 
36
40
  VALID_SECTIONS = %w(general titles permalinks).freeze
@@ -36,7 +36,7 @@ class Admin::SettingsController < Admin::BaseController
36
36
  VALID_ACTIONS = %w(index write feedback display).freeze
37
37
 
38
38
  def settings_params
39
- @settings_params ||= params.require(:setting).permit!
39
+ @settings_params ||= params.require(:setting).permit(@setting.settings_keys)
40
40
  end
41
41
 
42
42
  def action_param
@@ -8,9 +8,11 @@ class Admin::SidebarController < Admin::BaseController
8
8
 
9
9
  # Just update a single active Sidebar instance at once
10
10
  def update
11
- @sidebar = Sidebar.where(id: params[:id]).first
11
+ @sidebar = Sidebar.find(params[:id])
12
12
  @old_s_index = @sidebar.staged_position || @sidebar.active_position
13
- @sidebar.update params[:configure][@sidebar.id.to_s].permit!
13
+ @sidebar.update params.require(:configure)
14
+ .require(@sidebar.id.to_s)
15
+ .permit(@sidebar.fields.map(&:key))
14
16
  respond_to do |format|
15
17
  format.js
16
18
  format.html do
@@ -28,6 +28,10 @@ module ConfigManager
28
28
  fields[key.to_s].default
29
29
  end
30
30
 
31
+ def settings_keys
32
+ fields.keys
33
+ end
34
+
31
35
  private
32
36
 
33
37
  def add_setting_reader(item)
@@ -65,6 +69,10 @@ module ConfigManager
65
69
  self.class.fields[key.to_s].canonicalize(value)
66
70
  end
67
71
 
72
+ def settings_keys
73
+ self.class.settings_keys
74
+ end
75
+
68
76
  class Item
69
77
  VALID_TYPES = [:boolean, :integer, :string, :text].freeze
70
78
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module PublifyCore
4
- VERSION = "10.0.2"
4
+ VERSION = "10.0.3"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: publify_core
3
3
  version: !ruby/object:Gem::Version
4
- version: 10.0.2
4
+ version: 10.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matijs van Zuijlen
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2024-06-28 00:00:00.000000000 Z
14
+ date: 2025-03-28 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: aasm
@@ -1203,7 +1203,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
1203
1203
  - !ruby/object:Gem::Version
1204
1204
  version: '0'
1205
1205
  requirements: []
1206
- rubygems_version: 3.5.11
1206
+ rubygems_version: 3.3.27
1207
1207
  signing_key:
1208
1208
  specification_version: 4
1209
1209
  summary: Core engine for the Publify blogging system.