PluginProbe ʕ •ᴥ•ʔ
Jetpack – WP Security, Backup, Speed, & Growth / 14.7.1
Jetpack – WP Security, Backup, Speed, & Growth v14.7.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 / widgets / internet-defense-league.php
jetpack / modules / widgets Last commit date
authors 1 year ago contact-info 5 years ago eu-cookie-law 1 year ago facebook-likebox 11 years ago flickr 2 years ago gallery 1 year ago goodreads 1 year ago google-translate 1 year ago image-widget 1 year ago instagram 1 year ago internet-defense-league 2 years ago milestone 1 year ago my-community 8 years ago simple-payments 1 year ago social-icons 1 year ago social-media-icons 1 year ago top-posts 1 year ago wordpress-post-widget 2 years ago authors.php 1 year ago blog-stats.php 1 year ago class-jetpack-eu-cookie-law-widget.php 1 year ago class-jetpack-instagram-widget.php 1 year ago contact-info.php 1 year ago customizer-controls.css 1 year ago customizer-utils.js 1 year ago facebook-likebox.php 1 year ago flickr.php 1 year ago gallery.php 1 year ago goodreads.php 1 year ago google-translate.php 1 year ago gravatar-profile.css 1 year ago gravatar-profile.php 1 year ago image-widget.php 1 year ago internet-defense-league.php 1 year ago mailchimp.php 1 year ago milestone.php 5 years ago my-community.php 1 year ago rsslinks-widget.php 3 years ago simple-payments.php 1 year ago social-icons.php 1 year ago social-media-icons.php 1 year ago top-posts.php 1 year ago twitter-timeline-admin.js 1 year ago twitter-timeline.php 1 year ago upcoming-events.php 1 year ago wordpress-post-widget.php 1 year ago
internet-defense-league.php
185 lines
1 <?php // phpcs:ignore WordPress.Files.FileName.InvalidClassFileName
2
3 // phpcs:disable Universal.Files.SeparateFunctionsFromOO.Mixed -- TODO: Move classes to appropriately-named class files.
4
5 /**
6 * Jetpack_Internet_Defense_League_Widget main class.
7 */
8 class Jetpack_Internet_Defense_League_Widget extends WP_Widget {
9 /**
10 * Default widget settings.
11 *
12 * @var array
13 */
14 public $defaults = array();
15
16 /**
17 * Selected badge to display.
18 *
19 * @var string
20 */
21 public $badge;
22 /**
23 * Badge display options.
24 *
25 * @var array
26 */
27 public $badges = array();
28
29 /**
30 * Jetpack_Internet_Defense_League_Widget constructor.
31 */
32 public function __construct() {
33 parent::__construct(
34 'internet_defense_league_widget',
35 /** This filter is documented in modules/widgets/facebook-likebox.php */
36 apply_filters( 'jetpack_widget_name', esc_html__( 'Internet Defense League', 'jetpack' ) ),
37 array(
38 'description' => esc_html__( 'Show your support for the Internet Defense League.', 'jetpack' ),
39 'customize_selective_refresh' => true,
40 )
41 );
42
43 $this->badges = array(
44 'shield_badge' => esc_html__( 'Shield Badge', 'jetpack' ),
45 'super_badge' => esc_html__( 'Super Badge', 'jetpack' ),
46 'side_bar_badge' => esc_html__( 'Red Cat Badge', 'jetpack' ),
47 );
48
49 $this->defaults = array(
50 'badge' => key( $this->badges ),
51 );
52
53 add_filter( 'widget_types_to_hide_from_legacy_widget_block', array( $this, 'hide_widget_in_block_editor' ) );
54 }
55
56 /**
57 * Remove the "Internet Defense League" widget from the Legacy Widget block
58 *
59 * @param array $widget_types List of widgets that are currently removed from the Legacy Widget block.
60 * @return array $widget_types New list of widgets that will be removed.
61 */
62 public function hide_widget_in_block_editor( $widget_types ) {
63 $widget_types[] = 'internet_defense_league_widget';
64 return $widget_types;
65 }
66
67 /**
68 * Display the Widget.
69 *
70 * @see WP_Widget::widget()
71 *
72 * @param array $args Display arguments.
73 * @param array $instance The settings for the particular instance of the widget.
74 */
75 public function widget( $args, $instance ) {
76 $instance = wp_parse_args( $instance, $this->defaults );
77
78 if ( 'none' !== $instance['badge'] ) {
79 if ( ! isset( $this->badges[ $instance['badge'] ] ) ) {
80 $instance['badge'] = $this->defaults['badge'];
81 }
82 $badge_url = 'internet-defense-league/' . $instance['badge'] . '.png';
83
84 echo $args['before_widget']; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
85
86 printf(
87 '<p><a href="%1$s" target="_blank" rel="noopener noreferrer"><img src="%2$s" alt="%3$s" style="max-width: 100%%; height: auto;" /></a></p>',
88 esc_url( 'https://www.fightforthefuture.org/' ),
89 esc_url( plugins_url( $badge_url, __FILE__ ) ),
90 esc_attr__( 'Member of The Internet Defense League', 'jetpack' )
91 );
92
93 echo $args['after_widget']; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
94 }
95
96 /** This action is already documented in modules/widgets/gravatar-profile.php */
97 do_action( 'jetpack_stats_extra', 'widget_view', 'internet_defense_league' );
98 }
99
100 /**
101 * Inline footer script.
102 *
103 * @deprecated 12.5 This widget does not enqueue scripts anymore.
104 */
105 public function footer_script() {
106 _deprecated_function( __METHOD__, 'jetpack-12.5' );
107 }
108
109 /**
110 * Widget form in the dashboard.
111 *
112 * @see WP_Widget::form()
113 *
114 * @param array $instance Previously saved values from database.
115 * @return string|void
116 */
117 public function form( $instance ) {
118 $instance = wp_parse_args( $instance, $this->defaults );
119
120 echo '<p><label>';
121 echo esc_html__( 'Which badge would you like to display?', 'jetpack' ) . '<br />';
122
123 echo '<select class="widefat" name="' . esc_attr( $this->get_field_name( 'badge' ) ) . '">';
124 foreach ( $this->badges as $option_slug => $option_name ) {
125 echo '<option value="' . esc_attr( $option_slug ) . '"' . selected( $option_slug, $instance['badge'], false ) . '>' . esc_html( $option_name ) . '</option>';
126 }
127 echo '</select>';
128 echo '</label></p>';
129
130 echo '<p>' . wp_kses(
131 sprintf(
132 /* translators: %s is an HTML link to the website of an internet campaign called the "Internet Defense League" */
133 _x( 'Learn more about the %s', 'the Internet Defense League', 'jetpack' ),
134 '<a href="https://www.fightforthefuture.org/" target="_blank" rel="noopener noreferrer">Internet Defense League</a>'
135 ),
136 array(
137 'a' => array(
138 'href' => array(),
139 'rel' => array(),
140 'target' => array(),
141 ),
142 )
143 ) . '</p>';
144 }
145
146 /**
147 * Display a select form field.
148 *
149 * @deprecated 12.5 This widget only has one option now, no need for an extracted method.
150 *
151 * @param string $field_name Name of the field.
152 * @param array $options Array of options.
153 * @param string $default Default option.
154 */
155 public function select( $field_name, $options, $default = null ) { // phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UnusedVariable
156 _deprecated_function( __METHOD__, 'jetpack-12.5' );
157 }
158
159 /**
160 * Update widget.
161 *
162 * @see WP_Widget::update()
163 *
164 * @param array $new_instance New widget instance data.
165 * @param array $old_instance Old widget instance data.
166 */
167 public function update( $new_instance, $old_instance ) { // phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UnusedVariable
168 $instance = array();
169
170 $instance['badge'] = ( isset( $new_instance['badge'] ) && isset( $this->badges[ $new_instance['badge'] ] ) )
171 ? $new_instance['badge']
172 : $this->defaults['badge'];
173
174 return $instance;
175 }
176 }
177
178 /**
179 * Register the widget.
180 */
181 function jetpack_internet_defense_league_init() {
182 register_widget( 'Jetpack_Internet_Defense_League_Widget' );
183 }
184 add_action( 'widgets_init', 'jetpack_internet_defense_league_init' );
185