PluginProbe ʕ •ᴥ•ʔ
Jetpack – WP Security, Backup, Speed, & Growth / 16.0-beta
Jetpack – WP Security, Backup, Speed, & Growth v16.0-beta
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 7 months ago contact-info 7 months ago eu-cookie-law 7 months ago facebook-likebox 11 years ago flickr 7 months ago gallery 7 months ago goodreads 7 months ago google-translate 1 year ago image-widget 7 months ago instagram 4 months ago internet-defense-league 1 year ago milestone 4 months ago my-community 7 months ago social-icons 4 months ago social-media-icons 7 months ago top-posts 7 months ago wordpress-post-widget 2 weeks ago authors.php 7 months ago blog-stats.php 7 months ago class-jetpack-eu-cookie-law-widget.php 1 month ago class-jetpack-instagram-widget.php 6 months ago contact-info.php 1 month ago customizer-controls.css 7 months ago customizer-utils.js 1 year ago facebook-likebox.php 1 month ago flickr.php 7 months ago gallery.php 1 month ago goodreads.php 1 month ago google-translate.php 1 month ago gravatar-profile.css 7 months ago gravatar-profile.php 1 month ago image-widget.php 7 months ago internet-defense-league.php 7 months ago mailchimp.php 7 months ago milestone.php 7 months ago my-community.php 1 month ago rsslinks-widget.php 2 weeks ago simple-payments.php 7 months ago social-icons.php 1 month ago social-media-icons.php 7 months ago top-posts.php 1 month ago twitter-timeline-admin.js 1 year ago twitter-timeline.php 2 weeks ago upcoming-events.php 7 months ago wordpress-post-widget.php 7 months 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