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 / extensions / blocks / blogroll / blogroll.php
jetpack / extensions / blocks / blogroll Last commit date
blogroll-item 7 months ago blogroll.php 7 months ago
blogroll.php
124 lines
1 <?php
2 /**
3 * Blogroll Block.
4 *
5 * @since 12.1
6 *
7 * @package automattic/jetpack
8 */
9
10 namespace Automattic\Jetpack\Extensions\Blogroll;
11
12 require_once __DIR__ . '/blogroll-item/blogroll-item.php';
13
14 use Automattic\Jetpack\Blocks;
15 use Automattic\Jetpack\Status\Request;
16 use Jetpack_Gutenberg;
17
18 /**
19 * Registers the block for use in Gutenberg
20 * This is done via an action so that we can disable
21 * registration if we need to.
22 */
23 function register_block() {
24 Blocks::jetpack_register_block(
25 __DIR__,
26 array(
27 'render_callback' => __NAMESPACE__ . '\load_assets',
28 'provides_context' => array(
29 'openLinksNewWindow' => 'open_links_new_window',
30 ),
31 )
32 );
33 }
34 add_action( 'init', __NAMESPACE__ . '\register_block' );
35
36 /**
37 * Blogroll block registration/dependency declaration.
38 *
39 * @param array $attr Array containing the Blogroll block attributes.
40 * @param string $content String containing the Blogroll block content.
41 *
42 * @return string
43 */
44 function load_assets( $attr, $content ) {
45 global $wp;
46
47 /*
48 * Enqueue necessary scripts and styles.
49 */
50 Jetpack_Gutenberg::load_assets_as_required( __DIR__ );
51 $current_location = home_url( $wp->request );
52 $is_wpcom = ( defined( 'IS_WPCOM' ) && IS_WPCOM );
53
54 $form_content = <<<HTML
55 <form method="post" action="https://subscribe.wordpress.com" accept-charset="utf-8">
56 <input name="action" type="hidden" value="subscribe">
57 <input name="source" type="hidden" value="$current_location">
58 <input name="sub-type" type="hidden" value="jetpack_blogroll">
59 $content
60 </form>
61 HTML;
62
63 $blogroll_content = $is_wpcom && Request::is_frontend() ? $form_content : $content;
64
65 return sprintf(
66 '<div class="%1$s">%2$s</div>',
67 esc_attr( Blocks::classes( FEATURE_NAME, $attr ) ),
68 $blogroll_content
69 );
70 }
71
72 /**
73 * Register site_recommendations settings
74 *
75 * @since 12.7
76 */
77 function site_recommendations_settings() {
78 register_setting(
79 'general',
80 'Blogroll Recommendations', // Visible to the user see: https://github.com/WordPress/gutenberg/issues/41637
81 array(
82 'description' => __( 'Site Recommendations', 'jetpack' ),
83 'type' => 'array',
84 'show_in_rest' => array(
85 'schema' => array(
86 'items' => array(
87 'type' => 'object',
88 'properties' => array(
89 'id' => array(
90 'type' => 'string',
91 'format' => 'text-field',
92 ),
93 'name' => array(
94 'type' => 'string',
95 'format' => 'text-field',
96 ),
97 'icon' => array(
98 'type' => 'string',
99 'format' => 'uri',
100 ),
101 'url' => array(
102 'type' => 'string',
103 'format' => 'uri',
104 ),
105 'description' => array(
106 'type' => 'string',
107 'format' => 'text-field',
108 ),
109 'is_non_wpcom_site' => array(
110 'type' => 'boolean',
111 ),
112 ),
113 ),
114 ),
115 ),
116 'auth_callback' => function () {
117 return current_user_can( 'edit_posts' );
118 },
119 )
120 );
121 }
122
123 add_action( 'rest_api_init', __NAMESPACE__ . '\site_recommendations_settings' );
124