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