Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
0.00% covered (danger)
0.00%
0 / 34
0.00% covered (danger)
0.00%
0 / 6
CRAP
n/a
0 / 0
jetpack_load_widgets
0.00% covered (danger)
0.00%
0 / 6
0.00% covered (danger)
0.00%
0 / 1
12
jetpack_widgets_loaded
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
jetpack_widgets_configuration_url
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
jetpack_widgets_customizer_assets_preview
0.00% covered (danger)
0.00%
0 / 7
0.00% covered (danger)
0.00%
0 / 1
2
jetpack_widgets_customizer_assets_controls
0.00% covered (danger)
0.00%
0 / 6
0.00% covered (danger)
0.00%
0 / 1
2
jetpack_widgets_remove_old_widgets
0.00% covered (danger)
0.00%
0 / 5
0.00% covered (danger)
0.00%
0 / 1
6
1<?php
2/**
3 * Module Name: Extra Sidebar Widgets
4 * Module Description: Add more widget options to your site, like social feeds, subscriptions, and more.
5 * Sort Order: 4
6 * First Introduced: 1.2
7 * Requires Connection: No
8 * Auto Activate: No
9 * Module Tags: Social, Appearance
10 * Feature: Appearance
11 * Additional Search Queries: widget, widgets, facebook, gallery, twitter, gravatar, image, rss
12 *
13 * @package automattic/jetpack
14 */
15
16if ( ! defined( 'ABSPATH' ) ) {
17    exit( 0 );
18}
19
20/**
21 * Load Jetpack widget files.
22 */
23function jetpack_load_widgets() {
24    $widgets_include = array();
25
26    foreach ( Jetpack::glob_php( __DIR__ . '/widgets' ) as $file ) {
27        $widgets_include[] = $file;
28    }
29    /**
30     * Modify which Jetpack Widgets to register.
31     *
32     * @module widgets
33     *
34     * @since 2.2.1
35     *
36     * @param array $widgets_include An array of widgets to be registered.
37     */
38    $widgets_include = apply_filters( 'jetpack_widgets_to_include', $widgets_include );
39
40    foreach ( $widgets_include as $include ) {
41        include_once $include;
42    }
43}
44
45add_action( 'jetpack_modules_loaded', 'jetpack_widgets_loaded' );
46/**
47 * Actions to perform after Jetpack widgets are loaded.
48 */
49function jetpack_widgets_loaded() {
50    Jetpack::enable_module_configurable( __FILE__ );
51    add_filter( 'jetpack_module_configuration_url_widgets', 'jetpack_widgets_configuration_url' );
52}
53
54/**
55 * Overrides default configuration url
56 *
57 * @uses admin_url
58 * @return string module settings URL
59 */
60function jetpack_widgets_configuration_url() {
61    return admin_url( 'customize.php?autofocus[panel]=widgets' );
62}
63
64jetpack_load_widgets();
65
66/**
67 * Enqueue utilities to work with widgets in Customizer.
68 *
69 * @since 4.4.0
70 */
71function jetpack_widgets_customizer_assets_preview() {
72    wp_enqueue_script(
73        'jetpack-customizer-widget-utils',
74        plugins_url( '/widgets/customizer-utils.js', __FILE__ ),
75        array( 'jquery', 'customize-base' ),
76        JETPACK__VERSION,
77        false
78    );
79}
80add_action( 'customize_preview_init', 'jetpack_widgets_customizer_assets_preview' );
81
82/**
83 * Enqueue styles to stylize widgets in Customizer.
84 *
85 * @since 4.4.0
86 */
87function jetpack_widgets_customizer_assets_controls() {
88    wp_enqueue_style(
89        'jetpack-customizer-widget-controls',
90        plugins_url( '/widgets/customizer-controls.css', __FILE__ ),
91        array( 'customize-widgets' ),
92        JETPACK__VERSION
93    );
94}
95add_action( 'customize_controls_enqueue_scripts', 'jetpack_widgets_customizer_assets_controls' );
96
97/**
98 * Cleanup old Jetpack widgets data.
99 */
100function jetpack_widgets_remove_old_widgets() {
101    $old_widgets = array(
102        'googleplus-badge',
103    );
104
105    // Don't bother cleaning up the sidebars_widgets data.
106    // That will get cleaned up the next time a widget is
107    // added, removed, moved, etc.
108    foreach ( $old_widgets as $old_widget ) {
109        delete_option( "widget_{$old_widget}" );
110    }
111}
112
113add_action( 'updating_jetpack_version', 'jetpack_widgets_remove_old_widgets' );