PluginProbe ʕ •ᴥ•ʔ
Jetpack – WP Security, Backup, Speed, & Growth / 14.0.1
Jetpack – WP Security, Backup, Speed, & Growth v14.0.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 8 years ago contact-info 5 years ago eu-cookie-law 2 years ago facebook-likebox 11 years ago flickr 2 years ago gallery 2 years ago goodreads 2 years ago google-translate 4 years ago image-widget 8 years ago instagram 6 years ago internet-defense-league 2 years ago migrate-to-core 3 years ago milestone 2 years ago my-community 8 years ago simple-payments 2 years ago social-icons 4 years ago social-media-icons 5 years ago top-posts 8 years ago wordpress-post-widget 2 years ago authors.php 3 years ago blog-stats.php 2 years ago class-jetpack-eu-cookie-law-widget.php 2 years ago class-jetpack-instagram-widget.php 2 years ago contact-info.php 2 years ago customizer-controls.css 9 years ago customizer-utils.js 6 years ago facebook-likebox.php 2 years ago flickr.php 2 years ago gallery.php 2 years ago goodreads.php 2 years ago google-translate.php 2 years ago gravatar-profile.css 10 years ago gravatar-profile.php 2 years ago image-widget.php 3 years ago internet-defense-league.php 3 years ago mailchimp.php 3 years ago milestone.php 5 years ago my-community.php 2 years ago rsslinks-widget.php 3 years ago simple-payments.php 2 years ago social-icons.php 2 years ago social-media-icons.php 2 years ago top-posts.php 2 years ago twitter-timeline-admin.js 6 years ago twitter-timeline.php 3 years ago upcoming-events.php 2 years ago wordpress-post-widget.php 4 years ago
internet-defense-league.php
184 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 */
116 public function form( $instance ) {
117 $instance = wp_parse_args( $instance, $this->defaults );
118
119 echo '<p><label>';
120 echo esc_html__( 'Which badge would you like to display?', 'jetpack' ) . '<br />';
121
122 echo '<select class="widefat" name="' . esc_attr( $this->get_field_name( 'badge' ) ) . '">';
123 foreach ( $this->badges as $option_slug => $option_name ) {
124 echo '<option value="' . esc_attr( $option_slug ) . '"' . selected( $option_slug, $instance['badge'], false ) . '>' . esc_html( $option_name ) . '</option>';
125 }
126 echo '</select>';
127 echo '</label></p>';
128
129 echo '<p>' . wp_kses(
130 sprintf(
131 /* translators: %s is an HTML link to the website of an internet campaign called the "Internet Defense League" */
132 _x( 'Learn more about the %s', 'the Internet Defense League', 'jetpack' ),
133 '<a href="https://www.fightforthefuture.org/" target="_blank" rel="noopener noreferrer">Internet Defense League</a>'
134 ),
135 array(
136 'a' => array(
137 'href' => array(),
138 'rel' => array(),
139 'target' => array(),
140 ),
141 )
142 ) . '</p>';
143 }
144
145 /**
146 * Display a select form field.
147 *
148 * @deprecated 12.5 This widget only has one option now, no need for an extracted method.
149 *
150 * @param string $field_name Name of the field.
151 * @param array $options Array of options.
152 * @param string $default Default option.
153 */
154 public function select( $field_name, $options, $default = null ) { // phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UnusedVariable
155 _deprecated_function( __METHOD__, 'jetpack-12.5' );
156 }
157
158 /**
159 * Update widget.
160 *
161 * @see WP_Widget::update()
162 *
163 * @param array $new_instance New widget instance data.
164 * @param array $old_instance Old widget instance data.
165 */
166 public function update( $new_instance, $old_instance ) { // phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UnusedVariable
167 $instance = array();
168
169 $instance['badge'] = ( isset( $new_instance['badge'] ) && isset( $this->badges[ $new_instance['badge'] ] ) )
170 ? $new_instance['badge']
171 : $this->defaults['badge'];
172
173 return $instance;
174 }
175 }
176
177 /**
178 * Register the widget.
179 */
180 function jetpack_internet_defense_league_init() {
181 register_widget( 'Jetpack_Internet_Defense_League_Widget' );
182 }
183 add_action( 'widgets_init', 'jetpack_internet_defense_league_init' );
184