summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/jetpack/modules/plugin-search.php')
-rw-r--r--plugins/jetpack/modules/plugin-search.php18
1 files changed, 11 insertions, 7 deletions
diff --git a/plugins/jetpack/modules/plugin-search.php b/plugins/jetpack/modules/plugin-search.php
index b85e0586..9a950e0d 100644
--- a/plugins/jetpack/modules/plugin-search.php
+++ b/plugins/jetpack/modules/plugin-search.php
@@ -1,4 +1,8 @@
<?php
+
+use Automattic\Jetpack\Constants;
+use Automattic\Jetpack\Tracking;
+
/**
* Disable direct access and execution.
*/
@@ -12,6 +16,8 @@ if (
Jetpack::is_active() &&
/** This filter is documented in _inc/lib/admin-pages/class.jetpack-react-page.php */
apply_filters( 'jetpack_show_promotions', true ) &&
+ // Disable feature hints when plugins cannot be installed.
+ ! Constants::is_true( 'DISALLOW_FILE_MODS' ) &&
jetpack_is_psh_active()
) {
Jetpack_Plugin_Search::init();
@@ -34,7 +40,6 @@ class Jetpack_Plugin_Search {
static $instance = null;
if ( ! $instance ) {
- jetpack_require_lib( 'tracks/client' );
$instance = new Jetpack_Plugin_Search();
}
@@ -285,6 +290,7 @@ class Jetpack_Plugin_Search {
// Looks like a search query; it's matching time
if ( ! empty( $args->search ) ) {
require_once JETPACK__PLUGIN_DIR . 'class.jetpack-admin.php';
+ $tracking = new Tracking();
$jetpack_modules_list = array_intersect_key(
array_merge( $this->get_extra_features(), Jetpack_Admin::init()->get_modules() ),
array_flip( array(
@@ -307,7 +313,7 @@ class Jetpack_Plugin_Search {
// Record event when user searches for a term over 3 chars (less than 3 is not very useful.)
if ( strlen( $args->search ) >= 3 ) {
- JetpackTracking::record_user_event( 'wpa_plugin_search_term', array( 'search_term' => $args->search ) );
+ $tracking->record_user_event( 'wpa_plugin_search_term', array( 'search_term' => $args->search ) );
}
// Lowercase, trim, remove punctuation/special chars, decode url, remove 'jetpack'
@@ -337,7 +343,7 @@ class Jetpack_Plugin_Search {
if ( isset( $matching_module ) && $this->should_display_hint( $matching_module ) ) {
// Record event when a matching feature is found
- JetpackTracking::record_user_event( 'wpa_plugin_search_match_found', array( 'feature' => $matching_module ) );
+ $tracking->record_user_event( 'wpa_plugin_search_match_found', array( 'feature' => $matching_module ) );
$inject = (array) self::get_jetpack_plugin_data();
$image_url = plugins_url( 'modules/plugin-search/psh', JETPACK__PLUGIN_FILE );
@@ -374,16 +380,14 @@ class Jetpack_Plugin_Search {
*
* @since 7.1.0
* @since 7.2.0 Only remove Jetpack.
+ * @since 7.4.0 Simplify for WordPress 5.1+.
*
* @param array|object $plugin
*
* @return bool
*/
function filter_cards( $plugin ) {
- // Take in account that before WordPress 5.1, the list of plugins is an array of objects.
- // With WordPress 5.1 the list of plugins is an array of arrays.
- $slug = is_array( $plugin ) ? $plugin['slug'] : $plugin->slug;
- return ! in_array( $slug, array( 'jetpack' ), true );
+ return ! in_array( $plugin['slug'], array( 'jetpack' ), true );
}
/**