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.../httpdocs/wp-conte.../plugins/advanced.../includes/utilitie...
File: class-wordpress.php
<?php
[0] Fix | Delete
/**
[1] Fix | Delete
* The class provides utility functions related to WordPress.
[2] Fix | Delete
*
[3] Fix | Delete
* @package AdvancedAds
[4] Fix | Delete
* @author Advanced Ads <info@wpadvancedads.com>
[5] Fix | Delete
* @since 1.47.0
[6] Fix | Delete
*/
[7] Fix | Delete
[8] Fix | Delete
namespace AdvancedAds\Utilities;
[9] Fix | Delete
[10] Fix | Delete
use AdvancedAds\Framework\Utilities\Params;
[11] Fix | Delete
[12] Fix | Delete
defined( 'ABSPATH' ) || exit;
[13] Fix | Delete
[14] Fix | Delete
/**
[15] Fix | Delete
* Utilities WordPress.
[16] Fix | Delete
*/
[17] Fix | Delete
class WordPress {
[18] Fix | Delete
[19] Fix | Delete
/**
[20] Fix | Delete
* Get the current action selected from the bulk actions dropdown.
[21] Fix | Delete
*
[22] Fix | Delete
* @return string|false The action name or False if no action was selected
[23] Fix | Delete
*/
[24] Fix | Delete
public static function current_action() {
[25] Fix | Delete
$action = Params::request( 'action' );
[26] Fix | Delete
if ( '-1' !== $action ) {
[27] Fix | Delete
return sanitize_key( $action );
[28] Fix | Delete
}
[29] Fix | Delete
[30] Fix | Delete
$action = Params::request( 'action2' );
[31] Fix | Delete
if ( '-1' !== $action ) {
[32] Fix | Delete
return sanitize_key( $action );
[33] Fix | Delete
}
[34] Fix | Delete
[35] Fix | Delete
return false;
[36] Fix | Delete
}
[37] Fix | Delete
[38] Fix | Delete
/**
[39] Fix | Delete
* Returns whether the current user has the specified capability.
[40] Fix | Delete
*
[41] Fix | Delete
* @param string $capability Capability name.
[42] Fix | Delete
*
[43] Fix | Delete
* @return bool
[44] Fix | Delete
*/
[45] Fix | Delete
public static function user_can( $capability = 'manage_options' ): bool {
[46] Fix | Delete
// Admins can do everything.
[47] Fix | Delete
if ( current_user_can( 'manage_options' ) ) {
[48] Fix | Delete
return true;
[49] Fix | Delete
}
[50] Fix | Delete
[51] Fix | Delete
return current_user_can(
[52] Fix | Delete
apply_filters( 'advanced-ads-capability', $capability )
[53] Fix | Delete
);
[54] Fix | Delete
}
[55] Fix | Delete
[56] Fix | Delete
/**
[57] Fix | Delete
* Returns the capability needed to perform an action
[58] Fix | Delete
*
[59] Fix | Delete
* @param string $capability A capability to check, can be internal to Advanced Ads.
[60] Fix | Delete
*
[61] Fix | Delete
* @return string
[62] Fix | Delete
*/
[63] Fix | Delete
public static function user_cap( $capability = 'manage_options' ) {
[64] Fix | Delete
// Admins can do everything.
[65] Fix | Delete
if ( current_user_can( 'manage_options' ) ) {
[66] Fix | Delete
return 'manage_options';
[67] Fix | Delete
}
[68] Fix | Delete
[69] Fix | Delete
return apply_filters( 'advanced-ads-capability', $capability );
[70] Fix | Delete
}
[71] Fix | Delete
[72] Fix | Delete
/**
[73] Fix | Delete
* Get site domain
[74] Fix | Delete
*
[75] Fix | Delete
* @param string $part Part of domain.
[76] Fix | Delete
*
[77] Fix | Delete
* @return string
[78] Fix | Delete
*/
[79] Fix | Delete
public static function get_site_domain( $part = 'host' ): string {
[80] Fix | Delete
$domain = wp_parse_url( home_url( '/' ), PHP_URL_HOST );
[81] Fix | Delete
[82] Fix | Delete
if ( 'name' === $part ) {
[83] Fix | Delete
$domain = explode( '.', $domain );
[84] Fix | Delete
$domain = count( $domain ) > 2 ? $domain[1] : $domain[0];
[85] Fix | Delete
}
[86] Fix | Delete
[87] Fix | Delete
return $domain;
[88] Fix | Delete
}
[89] Fix | Delete
[90] Fix | Delete
/**
[91] Fix | Delete
* Returns true if the current request is a REST request.
[92] Fix | Delete
*
[93] Fix | Delete
* @return bool
[94] Fix | Delete
*/
[95] Fix | Delete
public static function is_rest_request(): bool {
[96] Fix | Delete
$request = Params::server( 'REQUEST_URI' );
[97] Fix | Delete
if ( empty( $request ) ) {
[98] Fix | Delete
return false;
[99] Fix | Delete
}
[100] Fix | Delete
[101] Fix | Delete
return false !== strpos( $request, trailingslashit( rest_get_url_prefix() ) );
[102] Fix | Delete
}
[103] Fix | Delete
[104] Fix | Delete
/**
[105] Fix | Delete
* Returns true if a REST request has an Advanced Ads endpoint.
[106] Fix | Delete
*
[107] Fix | Delete
* @return bool
[108] Fix | Delete
*/
[109] Fix | Delete
public static function is_gutenberg_writing_request(): bool {
[110] Fix | Delete
global $wp;
[111] Fix | Delete
$rest_route = $wp->query_vars['rest_route'] ?? '';
[112] Fix | Delete
[113] Fix | Delete
$is_writing = in_array( Params::server( 'REQUEST_METHOD' ), [ 'POST', 'PUT' ], true );
[114] Fix | Delete
$is_gutenberg = strpos( $rest_route, '/wp/v2/posts' ) !== false || strpos( $rest_route, '/wp/v2/pages' ) !== false;
[115] Fix | Delete
[116] Fix | Delete
return $is_gutenberg && $is_writing;
[117] Fix | Delete
}
[118] Fix | Delete
[119] Fix | Delete
/**
[120] Fix | Delete
* Unserializes data only if it was serialized.
[121] Fix | Delete
*
[122] Fix | Delete
* @link https://patchstack.com/articles/unauthenticated-php-object-injection-in-flatsome-theme-3-17-5/
[123] Fix | Delete
*
[124] Fix | Delete
* @param string $data Data that might be unserialized.
[125] Fix | Delete
*
[126] Fix | Delete
* @return mixed Unserialized data can be any type.
[127] Fix | Delete
*/
[128] Fix | Delete
public static function maybe_unserialize( $data ) {
[129] Fix | Delete
if ( is_serialized( $data ) ) { // Don't attempt to unserialize data that wasn't serialized going in.
[130] Fix | Delete
return @unserialize( trim( $data ), [ 'allowed_classes' => false ] ); // phpcs:ignore WordPress.PHP.NoSilencedErrors.Discouraged, WordPress.PHP.DiscouragedPHPFunctions.serialize_unserialize
[131] Fix | Delete
}
[132] Fix | Delete
[133] Fix | Delete
return $data;
[134] Fix | Delete
}
[135] Fix | Delete
}
[136] Fix | Delete
[137] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function