PluginProbe ʕ •ᴥ•ʔ
Jetpack – WP Security, Backup, Speed, & Growth / 14.5.1
Jetpack – WP Security, Backup, Speed, & Growth v14.5.1
12.0.3 12.1.3 12.2.3 12.3.2 12.4.2 12.5.2 12.6.4 12.7.3 12.8.3 12.9.5 13.0.2 13.1.5 13.2.4 13.3.3 13.4.5 13.5.2 13.6.2 13.7.2 13.8.3 13.9.2 14.0.1 14.1.1 14.2.2 14.3.1 14.4.2 14.5.1 14.6.1 14.7.1 14.8.1 14.9.2 15.0.3 15.1.2 15.2.1 15.3.2 15.4.1 15.5.1 15.6.1 15.7.2 15.8.1 15.9.2 16.0.2 16.1.3 16.2-a.5 16.2-a.3 16.1.2 16.2-a.1 16.1.1 16.1 16.1-beta 16.1-beta.2 16.1-beta.3 16.1-a.5 16.1-a.3 16.0.1 16.1-a.1 16.0 16.0-beta 16.0-a.7 16.0-a.5 15.9.1 16.0-a.3 16.0-a.1 15.9 15.9-beta 15.9-a.7 15.9-a.5 15.9-a.3 15.9-a.1 15.8 15.8-beta 15.8-a.7 15.8-a.5 5.2.5 5.3.4 5.4.4 5.5.5 5.6.5 5.7.5 5.8.4 5.9.4 6.0.4 6.1 6.1.1 6.1.2 6.1.3 6.1.4 6.1.5 6.2 6.2.1 6.2.2 6.2.3 6.2.4 6.2.5 6.3 6.3.1 6.3.2 6.3.3 6.3.4 6.3.5 6.3.6 6.3.7 6.4 6.4.1 6.4.2 6.4.3 6.4.4 6.4.5 6.4.6 6.5 6.5.1 6.5.2 6.5.3 6.5.4 6.6 6.6.1 6.6.2 6.6.3 6.6.4 6.6.5 6.7 6.7.1 6.7.2 6.7.3 6.7.4 6.8 6.8.1 6.8.2 6.8.3 6.8.4 6.8.5 6.9 6.9.1 6.9.2 6.9.3 6.9.4 7.0 7.0.1 7.0.2 7.0.3 7.0.4 7.0.5 7.1 7.1.1 7.1.2 7.1.3 7.1.4 7.1.5 7.2 7.2.1 7.2.1.1 7.2.2 7.2.3 7.2.4 7.2.5 7.3 7.3.0.1 7.3.1 7.3.1.1 7.3.2 7.3.3 7.3.4 7.3.5 7.4 7.4.1 7.4.2 7.4.3 7.4.4 7.4.5 7.5 7.5.0.1 7.5.1 7.5.2 7.5.3 7.5.4 7.5.5 7.5.6 7.5.7 7.6 7.6.1 7.6.2 7.6.3 7.6.4 7.7 7.7.1 7.7.2 7.7.3 7.7.4 7.7.5 7.7.6 7.8 7.8.1 7.8.2 7.8.3 7.8.4 7.9 7.9.1 7.9.2 7.9.3 7.9.4 8.0 8.0.1 8.0.2 8.0.3 8.1 8.1.1 8.1.2 8.1.3 8.1.4 8.2 8.2.0.1 8.2.1 8.2.2 8.2.3 8.2.4 8.2.5 8.2.6 8.3 8.3.1 8.3.2 8.3.3 8.4 8.4.1 8.4.2 8.4.3 8.4.4 8.4.5 8.5 8.5.1 8.5.2 8.5.3 8.6 8.6.1 8.6.2 8.6.3 8.6.4 8.7 8.7.0.1 8.7.1 8.7.2 8.7.3 8.7.4 8.8 8.8.1 8.8.2 8.8.3 8.8.4 8.8.5 8.9 8.9.1 8.9.2 8.9.3 8.9.4 9.0 9.0.1 9.0.2 9.0.3 9.0.4 9.0.5 9.1 9.1.1 9.1.2 9.1.3 9.2 9.2.1 9.2.2 9.2.3 9.2.4 9.3 9.3.1 9.3.2 9.3.3 9.3.4 9.3.5 9.4 9.4.1 9.4.2 9.4.3 9.4.4 9.5 9.5.1 9.5.2 9.5.3 9.5.4 9.5.5 9.6 9.6.1 9.6.2 9.6.3 9.6.4 9.7 9.7.1 9.7.2 15.7-beta.2 9.7.3 15.7.1 9.8 15.8-a.1 9.8.1 15.8-a.3 9.8.2 2.0.9 9.8.3 2.1.7 9.9 2.2.10 9.9.1 2.3.10 9.9.2 2.4.7 9.9.3 2.5.5 2.6.6 2.7.5 2.8.5 2.9.6 3.0.6 3.1.5 3.2.5 3.3.6 3.4.6 3.5.6 3.6.4 3.7.5 3.8.5 3.9.10 4.0.7 4.1.4 4.2.5 4.3.5 4.4.5 4.5.3 4.6.3 4.7.4 4.8.5 4.9.3 5.0.3 5.1.4 trunk 10.0 10.0.1 10.0.2 10.1 10.1.1 10.1.2 10.2 10.2.1 10.2.2 10.2.3 10.3 10.3.1 10.3.2 10.4 10.4.1 10.4.2 10.5 10.5.1 10.5.2 10.5.3 10.6 10.6.1 10.6.2 10.7 10.7.1 10.7.2 10.8 10.8.1 10.8.2 10.9 10.9.1 10.9.2 10.9.3 11.0 11.0.1 11.0.2 11.1 11.1.1 11.1.2 11.1.3 11.1.4 11.2 11.2.1 11.2.2 11.3 11.3.1 11.3.2 11.3.3 11.3.4 11.4 11.4.1 11.4.2 11.5 11.5.1 11.5.2 11.5.3 11.6 11.6.1 11.6.2 11.7 11.7.1 11.7.2 11.7.3 11.8 11.8.3 11.8.4 11.8.5 11.8.6 11.9 11.9.1 11.9.2 11.9.3 12.0 12.0.1 12.0.2 12.1 12.1.1 12.1.2 12.2 12.2.1 12.2.2 12.3 12.3.1 12.4 12.4.1 12.5 12.5.1 12.6 12.6.1 12.6.2 12.6.3 12.7 12.7.1 12.7.2 12.8 12.8.1 12.8.2 12.9 12.9.1 12.9.2 12.9.3 12.9.4 13.0 13.0.1 13.1 13.1.1 13.1.2 13.1.3 13.1.4 13.2 13.2.1 13.2.2 13.2.3 13.3 13.3.1 13.3.2 13.4 13.4.1 13.4.2 13.4.3 13.4.4 13.5 13.5.1 13.6 13.6.1 13.7 13.7.1 13.8 13.8.1 13.8.2 13.9 13.9.1 14.0 14.1 14.2 14.2.1 14.3 14.4 14.4.1 14.5 14.6 14.7 14.8 14.9 14.9.1 15.0 15.0.1 15.0.2 15.1 15.1.1 15.2 15.3 15.3.1 15.4 15.5 15.6 15.7 15.7-a.1 15.7-a.3 15.7-a.5 15.7-a.7 15.7-beta
jetpack / modules / comments / admin.php
jetpack / modules / comments Last commit date
subscription-modal-on-comment 1 year ago admin.php 2 years ago base.php 1 year ago comments.php 1 year ago
admin.php
234 lines
1 <?php //phpcs:ignore WordPress.Files.FileName.InvalidClassFileName
2 /**
3 * Jetpack comments admin menu file.
4 *
5 * @package automattic/jetpack
6 */
7 /**
8 * Class Jetpack_Comments_Settings
9 * This class represents the comments settings functionality.
10 */
11 class Jetpack_Comments_Settings {
12
13 /** Variables *************************************************************/
14
15 /**
16 * The Jetpack Comments singleton
17 *
18 * @var Highlander_Comments_Base
19 */
20 public $jetpack_comments;
21
22 /**
23 * The default comment form greeting - blank to start with
24 *
25 * @var string
26 */
27 public $default_greeting = ''; // Set in constructor.
28
29 /**
30 * The default comment form color scheme - an empty array to start with
31 *
32 * @var array
33 */
34 public $color_schemes = array();
35
36 /**
37 * Initialize class
38 */
39 public static function init() {
40 static $instance = false;
41
42 if ( ! $instance ) {
43 $instance = new Jetpack_Comments_Settings( Jetpack_Comments::init() );
44 }
45
46 return $instance;
47 }
48
49 /**
50 * Constructor
51 *
52 * @param Highlander_Comments_Base $jetpack_comments The Jetpack Comments singleton.
53 */
54 public function __construct( Highlander_Comments_Base $jetpack_comments ) {
55 $this->jetpack_comments = $jetpack_comments;
56
57 // Setup settings.
58 add_action( 'admin_init', array( $this, 'add_settings' ) );
59 $this->setup_globals();
60 }
61
62 /** Private Methods ****************************************************** */
63
64 /**
65 * Set any global variables or class variables
66 *
67 * @since 1.4
68 */
69 protected function setup_globals() {
70 // Default option values.
71 $this->default_greeting = __( 'Leave a Reply', 'jetpack' );
72
73 // Possible color schemes.
74 $this->color_schemes = array(
75 'light' => __( 'Light', 'jetpack' ),
76 'dark' => __( 'Dark', 'jetpack' ),
77 'transparent' => __( 'Transparent', 'jetpack' ),
78 );
79 }
80
81 /** Settings ************************************************************* */
82
83 /**
84 * Add the Jetpack settings to WordPress's discussions page
85 *
86 * @since 1.4
87 */
88 public function add_settings() {
89
90 // Create the section.
91 add_settings_section(
92 'jetpack_comment_form',
93 __( 'Comments', 'jetpack' ),
94 array( $this, 'comment_form_settings_section' ),
95 'discussion'
96 );
97
98 /**
99 * Clever Greeting
100 */
101 add_settings_field(
102 'highlander_comment_form_prompt',
103 __( 'Greeting Text', 'jetpack' ),
104 array( $this, 'comment_form_greeting_setting' ),
105 'discussion',
106 'jetpack_comment_form'
107 );
108
109 register_setting(
110 'discussion',
111 'highlander_comment_form_prompt',
112 array( $this, 'comment_form_greeting_sanitize' )
113 );
114
115 /**
116 * Color Scheme
117 */
118 add_settings_field(
119 'jetpack_comment_form_color_scheme',
120 __( 'Color Scheme', 'jetpack' ),
121 array( $this, 'comment_form_color_scheme_setting' ),
122 'discussion',
123 'jetpack_comment_form'
124 );
125
126 register_setting(
127 'discussion',
128 'jetpack_comment_form_color_scheme',
129 array( $this, 'comment_form_color_scheme_sanitize' )
130 );
131 }
132
133 /**
134 * Discussions setting section blurb
135 *
136 * @since 1.4
137 */
138 public function comment_form_settings_section() {
139 ?>
140
141 <p id="jetpack-comments-settings"><?php esc_html_e( 'Adjust your Comments form with a clever greeting and color-scheme.', 'jetpack' ); ?></p>
142
143 <?php
144 }
145
146 /**
147 * Custom Comment Greeting Text
148 *
149 * @since 1.4
150 */
151 public function comment_form_greeting_setting() {
152
153 // The greeting.
154 $greeting = get_option( 'highlander_comment_form_prompt', $this->default_greeting );
155 ?>
156
157 <input type="text" name="highlander_comment_form_prompt" id="jetpack-comment-form-greeting" value="<?php echo esc_attr( $greeting ); ?>" class="regular-text">
158 <p class="description"><?php esc_html_e( 'A few catchy words to motivate your readers to comment', 'jetpack' ); ?></p>
159
160 <?php
161 }
162
163 /**
164 * Sanitize the clever comment greeting
165 *
166 * @since 1.4
167 * @param string $val The contact form greeting string.
168 * @return string
169 */
170 public function comment_form_greeting_sanitize( $val ) {
171
172 // Delete if empty or the default.
173 if ( empty( $val ) || ( $this->default_greeting === $val ) ) {
174 delete_option( 'highlander_comment_form_prompt' );
175 return false;
176 }
177
178 return wp_kses( $val, array() );
179 }
180
181 /**
182 * Comment Form Color Scheme Setting
183 *
184 * @since 1.4
185 */
186 public function comment_form_color_scheme_setting() {
187
188 // The color scheme.
189 $scheme = get_option( 'jetpack_comment_form_color_scheme', $this->jetpack_comments->default_color_scheme );
190 ?>
191
192 <fieldset>
193 <legend class="screen-reader-text"><?php esc_html_e( 'Color Scheme', 'jetpack' ); ?></legend>
194
195 <?php foreach ( $this->color_schemes as $key => $label ) : ?>
196
197 <label>
198 <input type="radio" name="jetpack_comment_form_color_scheme" id="jetpack-comment-form-color-scheme" value="<?php echo esc_attr( $key ); ?>" <?php checked( $scheme, $key ); ?>>
199 <?php echo esc_attr( $label ); ?>
200 </label>
201 <br />
202
203 <?php endforeach; ?>
204
205 </fieldset>
206
207 <?php
208 }
209
210 /**
211 * Sanitize the color scheme
212 *
213 * @since 1.4
214 * @param string $val The color scheme string.
215 * @return string
216 */
217 public function comment_form_color_scheme_sanitize( $val ) {
218
219 // Delete the option if it's unknown, or the default.
220 if (
221 empty( $val ) || ! array_key_exists( $val, $this->color_schemes )
222 ||
223 $val === $this->jetpack_comments->default_color_scheme
224 ) {
225 delete_option( 'jetpack_comment_form_color_scheme' );
226 return false;
227 }
228
229 return $val;
230 }
231 }
232
233 Jetpack_Comments_Settings::init();
234