Edit File by line

Deprecated: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in /home/sportsfever/public_html/filemanger/function.php on line 93
/home/sportsfe.../public_h.../wp-conte.../plugins/wordpres.../admin/views
File: class-yoast-integration-toggles.php
<?php
[0] Fix | Delete
/**
[1] Fix | Delete
* WPSEO plugin file.
[2] Fix | Delete
*
[3] Fix | Delete
* @package WPSEO\Admin
[4] Fix | Delete
*/
[5] Fix | Delete
[6] Fix | Delete
/**
[7] Fix | Delete
* Class for managing integration toggles.
[8] Fix | Delete
*/
[9] Fix | Delete
class Yoast_Integration_Toggles {
[10] Fix | Delete
[11] Fix | Delete
/**
[12] Fix | Delete
* Available integration toggles.
[13] Fix | Delete
*
[14] Fix | Delete
* @var array
[15] Fix | Delete
*/
[16] Fix | Delete
protected $toggles;
[17] Fix | Delete
[18] Fix | Delete
/**
[19] Fix | Delete
* Instance holder.
[20] Fix | Delete
*
[21] Fix | Delete
* @var self|null
[22] Fix | Delete
*/
[23] Fix | Delete
protected static $instance = null;
[24] Fix | Delete
[25] Fix | Delete
/**
[26] Fix | Delete
* Gets the main integration toggles manager instance used.
[27] Fix | Delete
*
[28] Fix | Delete
* This essentially works like a Singleton, but for its drawbacks does not restrict
[29] Fix | Delete
* instantiation otherwise.
[30] Fix | Delete
*
[31] Fix | Delete
* @return self Main instance.
[32] Fix | Delete
*/
[33] Fix | Delete
public static function instance() {
[34] Fix | Delete
if ( self::$instance === null ) {
[35] Fix | Delete
self::$instance = new self();
[36] Fix | Delete
}
[37] Fix | Delete
[38] Fix | Delete
return self::$instance;
[39] Fix | Delete
}
[40] Fix | Delete
[41] Fix | Delete
/**
[42] Fix | Delete
* Gets all available integration toggles.
[43] Fix | Delete
*
[44] Fix | Delete
* @return array List of sorted Yoast_Feature_Toggle instances.
[45] Fix | Delete
*/
[46] Fix | Delete
public function get_all() {
[47] Fix | Delete
if ( $this->toggles === null ) {
[48] Fix | Delete
$this->toggles = $this->load_toggles();
[49] Fix | Delete
}
[50] Fix | Delete
[51] Fix | Delete
return $this->toggles;
[52] Fix | Delete
}
[53] Fix | Delete
[54] Fix | Delete
/**
[55] Fix | Delete
* Loads the available integration toggles.
[56] Fix | Delete
*
[57] Fix | Delete
* Also ensures that the toggles are all Yoast_Feature_Toggle instances and sorted by their order value.
[58] Fix | Delete
*
[59] Fix | Delete
* @return array List of sorted Yoast_Feature_Toggle instances.
[60] Fix | Delete
*/
[61] Fix | Delete
protected function load_toggles() {
[62] Fix | Delete
$integration_toggles = [
[63] Fix | Delete
(object) [
[64] Fix | Delete
/* translators: %s: 'Semrush' */
[65] Fix | Delete
'name' => sprintf( __( '%s integration', 'wordpress-seo' ), 'Semrush' ),
[66] Fix | Delete
'setting' => 'semrush_integration_active',
[67] Fix | Delete
'label' => sprintf(
[68] Fix | Delete
/* translators: %s: 'Semrush' */
[69] Fix | Delete
__( 'The %s integration offers suggestions and insights for keywords related to the entered focus keyphrase.', 'wordpress-seo' ),
[70] Fix | Delete
'Semrush'
[71] Fix | Delete
),
[72] Fix | Delete
'order' => 10,
[73] Fix | Delete
],
[74] Fix | Delete
(object) [
[75] Fix | Delete
/* translators: %s: Algolia. */
[76] Fix | Delete
'name' => sprintf( esc_html__( '%s integration', 'wordpress-seo' ), 'Algolia' ),
[77] Fix | Delete
'premium' => true,
[78] Fix | Delete
'setting' => 'algolia_integration_active',
[79] Fix | Delete
'label' => __( 'Improve the quality of your site search! Automatically helps your users find your cornerstone and most important content in your internal search results. It also removes noindexed posts & pages from your site’s search results.', 'wordpress-seo' ),
[80] Fix | Delete
/* translators: %s: Algolia. */
[81] Fix | Delete
'read_more_label' => sprintf( __( 'Find out more about our %s integration.', 'wordpress-seo' ), 'Algolia' ),
[82] Fix | Delete
'read_more_url' => 'https://yoa.st/4eu',
[83] Fix | Delete
'premium_url' => 'https://yoa.st/4ex',
[84] Fix | Delete
'premium_upsell_url' => 'https://yoa.st/get-algolia-integration',
[85] Fix | Delete
'order' => 25,
[86] Fix | Delete
],
[87] Fix | Delete
];
[88] Fix | Delete
[89] Fix | Delete
/**
[90] Fix | Delete
* Filter to add integration toggles from add-ons.
[91] Fix | Delete
*
[92] Fix | Delete
* @param array $integration_toggles Array with integration toggle objects where each object
[93] Fix | Delete
* should have a `name`, `setting` and `label` property.
[94] Fix | Delete
*/
[95] Fix | Delete
$integration_toggles = apply_filters( 'wpseo_integration_toggles', $integration_toggles );
[96] Fix | Delete
[97] Fix | Delete
$integration_toggles = array_map( [ $this, 'ensure_toggle' ], $integration_toggles );
[98] Fix | Delete
usort( $integration_toggles, [ $this, 'sort_toggles_callback' ] );
[99] Fix | Delete
[100] Fix | Delete
return $integration_toggles;
[101] Fix | Delete
}
[102] Fix | Delete
[103] Fix | Delete
/**
[104] Fix | Delete
* Ensures that the passed value is a Yoast_Feature_Toggle.
[105] Fix | Delete
*
[106] Fix | Delete
* @param Yoast_Feature_Toggle|object|array $toggle_data Feature toggle instance, or raw object or array
[107] Fix | Delete
* containing integration toggle data.
[108] Fix | Delete
* @return Yoast_Feature_Toggle Feature toggle instance based on $toggle_data.
[109] Fix | Delete
*/
[110] Fix | Delete
protected function ensure_toggle( $toggle_data ) {
[111] Fix | Delete
if ( $toggle_data instanceof Yoast_Feature_Toggle ) {
[112] Fix | Delete
return $toggle_data;
[113] Fix | Delete
}
[114] Fix | Delete
[115] Fix | Delete
if ( is_object( $toggle_data ) ) {
[116] Fix | Delete
$toggle_data = get_object_vars( $toggle_data );
[117] Fix | Delete
}
[118] Fix | Delete
[119] Fix | Delete
return new Yoast_Feature_Toggle( $toggle_data );
[120] Fix | Delete
}
[121] Fix | Delete
[122] Fix | Delete
/**
[123] Fix | Delete
* Callback for sorting integration toggles by their order.
[124] Fix | Delete
*
[125] Fix | Delete
* {@internal Once the minimum PHP version goes up to PHP 7.0, the logic in the function
[126] Fix | Delete
* can be replaced with the spaceship operator `<=>`.}
[127] Fix | Delete
*
[128] Fix | Delete
* @param Yoast_Feature_Toggle $feature_a Feature A.
[129] Fix | Delete
* @param Yoast_Feature_Toggle $feature_b Feature B.
[130] Fix | Delete
*
[131] Fix | Delete
* @return int An integer less than, equal to, or greater than zero indicating respectively
[132] Fix | Delete
* that feature A is considered to be less than, equal to, or greater than feature B.
[133] Fix | Delete
*/
[134] Fix | Delete
protected function sort_toggles_callback( Yoast_Feature_Toggle $feature_a, Yoast_Feature_Toggle $feature_b ) {
[135] Fix | Delete
return ( $feature_a->order - $feature_b->order );
[136] Fix | Delete
}
[137] Fix | Delete
}
[138] Fix | Delete
[139] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function