PluginProbe ʕ •ᴥ•ʔ
Jetpack – WP Security, Backup, Speed, & Growth / 15.9.1
Jetpack – WP Security, Backup, Speed, & Growth v15.9.1
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 7 months ago admin.php 7 months ago base.php 7 months ago comments.php 1 month ago
admin.php
239 lines
1 <?php //phpcs:ignore WordPress.Files.FileName.InvalidClassFileName
2 /**
3 * Jetpack comments admin menu file.
4 *
5 * @package automattic/jetpack
6 */
7
8 if ( ! defined( 'ABSPATH' ) ) {
9 exit( 0 );
10 }
11
12 /**
13 * Class Jetpack_Comments_Settings
14 * This class represents the comments settings functionality.
15 */
16 class Jetpack_Comments_Settings {
17
18 /** Variables *************************************************************/
19
20 /**
21 * The Jetpack Comments singleton
22 *
23 * @var Highlander_Comments_Base
24 */
25 public $jetpack_comments;
26
27 /**
28 * The default comment form greeting - blank to start with
29 *
30 * @var string
31 */
32 public $default_greeting = ''; // Set in constructor.
33
34 /**
35 * The default comment form color scheme - an empty array to start with
36 *
37 * @var array
38 */
39 public $color_schemes = array();
40
41 /**
42 * Initialize class
43 */
44 public static function init() {
45 static $instance = false;
46
47 if ( ! $instance ) {
48 $instance = new Jetpack_Comments_Settings( Jetpack_Comments::init() );
49 }
50
51 return $instance;
52 }
53
54 /**
55 * Constructor
56 *
57 * @param Highlander_Comments_Base $jetpack_comments The Jetpack Comments singleton.
58 */
59 public function __construct( Highlander_Comments_Base $jetpack_comments ) {
60 $this->jetpack_comments = $jetpack_comments;
61
62 // Setup settings.
63 add_action( 'admin_init', array( $this, 'add_settings' ) );
64 $this->setup_globals();
65 }
66
67 /** Private Methods ****************************************************** */
68
69 /**
70 * Set any global variables or class variables
71 *
72 * @since 1.4
73 */
74 protected function setup_globals() {
75 // Default option values.
76 $this->default_greeting = __( 'Leave a Reply', 'jetpack' );
77
78 // Possible color schemes.
79 $this->color_schemes = array(
80 'light' => __( 'Light', 'jetpack' ),
81 'dark' => __( 'Dark', 'jetpack' ),
82 'transparent' => __( 'Transparent', 'jetpack' ),
83 );
84 }
85
86 /** Settings ************************************************************* */
87
88 /**
89 * Add the Jetpack settings to WordPress's discussions page
90 *
91 * @since 1.4
92 */
93 public function add_settings() {
94
95 // Create the section.
96 add_settings_section(
97 'jetpack_comment_form',
98 __( 'Comments', 'jetpack' ),
99 array( $this, 'comment_form_settings_section' ),
100 'discussion'
101 );
102
103 /**
104 * Clever Greeting
105 */
106 add_settings_field(
107 'highlander_comment_form_prompt',
108 __( 'Greeting Text', 'jetpack' ),
109 array( $this, 'comment_form_greeting_setting' ),
110 'discussion',
111 'jetpack_comment_form'
112 );
113
114 register_setting(
115 'discussion',
116 'highlander_comment_form_prompt',
117 array( $this, 'comment_form_greeting_sanitize' )
118 );
119
120 /**
121 * Color Scheme
122 */
123 add_settings_field(
124 'jetpack_comment_form_color_scheme',
125 __( 'Color Scheme', 'jetpack' ),
126 array( $this, 'comment_form_color_scheme_setting' ),
127 'discussion',
128 'jetpack_comment_form'
129 );
130
131 register_setting(
132 'discussion',
133 'jetpack_comment_form_color_scheme',
134 array( $this, 'comment_form_color_scheme_sanitize' )
135 );
136 }
137
138 /**
139 * Discussions setting section blurb
140 *
141 * @since 1.4
142 */
143 public function comment_form_settings_section() {
144 ?>
145
146 <p id="jetpack-comments-settings"><?php esc_html_e( 'Adjust your Comments form with a clever greeting and color-scheme.', 'jetpack' ); ?></p>
147
148 <?php
149 }
150
151 /**
152 * Custom Comment Greeting Text
153 *
154 * @since 1.4
155 */
156 public function comment_form_greeting_setting() {
157
158 // The greeting.
159 $greeting = get_option( 'highlander_comment_form_prompt', $this->default_greeting );
160 ?>
161
162 <input type="text" name="highlander_comment_form_prompt" id="jetpack-comment-form-greeting" value="<?php echo esc_attr( $greeting ); ?>" class="regular-text">
163 <p class="description"><?php esc_html_e( 'A few catchy words to motivate your readers to comment', 'jetpack' ); ?></p>
164
165 <?php
166 }
167
168 /**
169 * Sanitize the clever comment greeting
170 *
171 * @since 1.4
172 * @param string $val The contact form greeting string.
173 * @return string
174 */
175 public function comment_form_greeting_sanitize( $val ) {
176
177 // Delete if empty or the default.
178 if ( empty( $val ) || ( $this->default_greeting === $val ) ) {
179 delete_option( 'highlander_comment_form_prompt' );
180 return false;
181 }
182
183 return wp_kses( $val, array() );
184 }
185
186 /**
187 * Comment Form Color Scheme Setting
188 *
189 * @since 1.4
190 */
191 public function comment_form_color_scheme_setting() {
192
193 // The color scheme.
194 $scheme = get_option( 'jetpack_comment_form_color_scheme', $this->jetpack_comments->default_color_scheme );
195 ?>
196
197 <fieldset>
198 <legend class="screen-reader-text"><?php esc_html_e( 'Color Scheme', 'jetpack' ); ?></legend>
199
200 <?php foreach ( $this->color_schemes as $key => $label ) : ?>
201
202 <label>
203 <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 ); ?>>
204 <?php echo esc_attr( $label ); ?>
205 </label>
206 <br />
207
208 <?php endforeach; ?>
209
210 </fieldset>
211
212 <?php
213 }
214
215 /**
216 * Sanitize the color scheme
217 *
218 * @since 1.4
219 * @param string $val The color scheme string.
220 * @return string
221 */
222 public function comment_form_color_scheme_sanitize( $val ) {
223
224 // Delete the option if it's unknown, or the default.
225 if (
226 empty( $val ) || ! array_key_exists( $val, $this->color_schemes )
227 ||
228 $val === $this->jetpack_comments->default_color_scheme
229 ) {
230 delete_option( 'jetpack_comment_form_color_scheme' );
231 return false;
232 }
233
234 return $val;
235 }
236 }
237
238 Jetpack_Comments_Settings::init();
239