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

Warning: Undefined array key "page_file_edit_line" in /home/sportsfever/public_html/filemanger/edit_text_line.php on line 32
/home/sportsfe.../httpdocs/clone/wp-conte.../plugins/advanced.../classes
File: frontend_checks.php
if ( ! isset( $ad->args['frontend-check'] ) ) { return $content; }
[1000] Fix | Delete
[1001] Fix | Delete
if ( advads_is_amp() ) {
[1002] Fix | Delete
return $content;
[1003] Fix | Delete
}
[1004] Fix | Delete
[1005] Fix | Delete
if ( Advanced_Ads_Ad_Debug::is_https_and_http( $ad ) ) {
[1006] Fix | Delete
ob_start(); ?>
[1007] Fix | Delete
<script>advanced_ads_ready( function() {
[1008] Fix | Delete
var ad_id = '<?php echo $ad->id; ?>';
[1009] Fix | Delete
advanced_ads_frontend_checks.add_item_to_node( '.advanced_ads_ad_health_has_http', ad_id );
[1010] Fix | Delete
advanced_ads_frontend_checks.add_item_to_notices( 'ad_has_http', { append_key: ad_id, ad_id: ad_id } );
[1011] Fix | Delete
});</script>
[1012] Fix | Delete
<?php
[1013] Fix | Delete
$content .= Advanced_Ads_Utils::get_inline_asset( ob_get_clean() );
[1014] Fix | Delete
}
[1015] Fix | Delete
[1016] Fix | Delete
if ( ! Advanced_Ads_Frontend_Checks::can_use_head_placement( $content, $ad ) ) {
[1017] Fix | Delete
ob_start(); ?>
[1018] Fix | Delete
<script>advanced_ads_ready( function() {
[1019] Fix | Delete
var ad_id = '<?php echo $ad->id; ?>';
[1020] Fix | Delete
advanced_ads_frontend_checks.add_item_to_node( '.advanced_ads_ad_health_incorrect_head', ad_id );
[1021] Fix | Delete
advanced_ads_frontend_checks.add_item_to_notices( 'ad_with_output_in_head', { append_key: ad_id, ad_id: ad_id } );
[1022] Fix | Delete
});</script>
[1023] Fix | Delete
<?php
[1024] Fix | Delete
$content .= Advanced_Ads_Utils::get_inline_asset( ob_get_clean() );
[1025] Fix | Delete
}
[1026] Fix | Delete
[1027] Fix | Delete
$adsense_options = Advanced_Ads_AdSense_Data::get_instance()->get_options();
[1028] Fix | Delete
if ( 'adsense' === $ad->type
[1029] Fix | Delete
&& ! empty( $ad->args['cache_busting_elementid'] )
[1030] Fix | Delete
&& ! isset( $adsense_options['violation-warnings-disable'] )
[1031] Fix | Delete
) {
[1032] Fix | Delete
ob_start(); ?>
[1033] Fix | Delete
<script>advanced_ads_ready( function() {
[1034] Fix | Delete
var ad_id = '<?php echo $ad->id; ?>';
[1035] Fix | Delete
var wrapper = '#<?php echo $ad->args['cache_busting_elementid']; ?>';
[1036] Fix | Delete
advanced_ads_frontend_checks.advads_highlight_hidden_adsense( wrapper );
[1037] Fix | Delete
});</script>
[1038] Fix | Delete
<?php
[1039] Fix | Delete
$content .= Advanced_Ads_Utils::get_inline_asset( ob_get_clean() );
[1040] Fix | Delete
}
[1041] Fix | Delete
[1042] Fix | Delete
return $content;
[1043] Fix | Delete
}
[1044] Fix | Delete
[1045] Fix | Delete
[1046] Fix | Delete
/**
[1047] Fix | Delete
* Check if the 'Header Code' placement can be used to delived the ad.
[1048] Fix | Delete
*
[1049] Fix | Delete
* @param string $content Ad content.
[1050] Fix | Delete
* @param Advanced_Ads_Ad $ad Advanced_Ads_Ad.
[1051] Fix | Delete
* @return bool
[1052] Fix | Delete
*/
[1053] Fix | Delete
public static function can_use_head_placement( $content, Advanced_Ads_Ad $ad ) {
[1054] Fix | Delete
[1055] Fix | Delete
if ( ! $ad->is_head_placement ) {
[1056] Fix | Delete
return true;
[1057] Fix | Delete
}
[1058] Fix | Delete
[1059] Fix | Delete
// strip linebreaks, because, a line break after a comment is identified as a text node.
[1060] Fix | Delete
$content = preg_replace( "/\r|\n/", "", $content );
[1061] Fix | Delete
[1062] Fix | Delete
if ( ! $dom = self::get_ad_dom( $content ) ) {
[1063] Fix | Delete
return true;
[1064] Fix | Delete
}
[1065] Fix | Delete
[1066] Fix | Delete
$body = $dom->getElementsByTagName( 'body' )->item( 0 );
[1067] Fix | Delete
[1068] Fix | Delete
$count = $body->childNodes->length;
[1069] Fix | Delete
for ( $i = 0; $i < $count; $i++ ) {
[1070] Fix | Delete
$node = $body->childNodes->item( $i );
[1071] Fix | Delete
[1072] Fix | Delete
if ( XML_TEXT_NODE === $node->nodeType ) {
[1073] Fix | Delete
return false;
[1074] Fix | Delete
}
[1075] Fix | Delete
[1076] Fix | Delete
if ( XML_ELEMENT_NODE === $node->nodeType
[1077] Fix | Delete
&& ! in_array( $node->nodeName, [ 'meta', 'link', 'title', 'style', 'script', 'noscript', 'base' ] ) ) {
[1078] Fix | Delete
return false;
[1079] Fix | Delete
}
[1080] Fix | Delete
}
[1081] Fix | Delete
return true;
[1082] Fix | Delete
}
[1083] Fix | Delete
[1084] Fix | Delete
/**
[1085] Fix | Delete
* Convert ad content to a DOMDocument.
[1086] Fix | Delete
*
[1087] Fix | Delete
* @param string $content
[1088] Fix | Delete
* @return DOMDocument|false
[1089] Fix | Delete
*/
[1090] Fix | Delete
private static function get_ad_dom( $content ) {
[1091] Fix | Delete
if ( ! extension_loaded( 'dom' ) ) {
[1092] Fix | Delete
return false;
[1093] Fix | Delete
}
[1094] Fix | Delete
$libxml_previous_state = libxml_use_internal_errors( true );
[1095] Fix | Delete
$dom = new DOMDocument();
[1096] Fix | Delete
$result = $dom->loadHTML( '<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body>' . $content . '</body></html>' );
[1097] Fix | Delete
[1098] Fix | Delete
libxml_clear_errors();
[1099] Fix | Delete
libxml_use_internal_errors( $libxml_previous_state );
[1100] Fix | Delete
[1101] Fix | Delete
if ( ! $result ) {
[1102] Fix | Delete
return false;
[1103] Fix | Delete
}
[1104] Fix | Delete
[1105] Fix | Delete
return $dom;
[1106] Fix | Delete
}
[1107] Fix | Delete
[1108] Fix | Delete
/**
[1109] Fix | Delete
* Check if at least one placement uses `the_content`.
[1110] Fix | Delete
*
[1111] Fix | Delete
* @return bool True/False.
[1112] Fix | Delete
*/
[1113] Fix | Delete
private function has_the_content_placements() {
[1114] Fix | Delete
$placements = Advanced_Ads::get_ad_placements_array();
[1115] Fix | Delete
$placement_types = Advanced_Ads_Placements::get_placement_types();
[1116] Fix | Delete
// Find a placement that depends on 'the_content' filter.
[1117] Fix | Delete
foreach ( $placements as $placement ) {
[1118] Fix | Delete
if ( isset ( $placement['type'] )
[1119] Fix | Delete
&& ! empty( $placement_types[ $placement['type'] ]['options']['uses_the_content'] ) ) {
[1120] Fix | Delete
return true;
[1121] Fix | Delete
}
[1122] Fix | Delete
}
[1123] Fix | Delete
return false;
[1124] Fix | Delete
}
[1125] Fix | Delete
[1126] Fix | Delete
/**
[1127] Fix | Delete
* Check if atleast one placement uses `adblocker item`.
[1128] Fix | Delete
*
[1129] Fix | Delete
* @return bool True/False.
[1130] Fix | Delete
*/
[1131] Fix | Delete
private function has_adblocker_placements() {
[1132] Fix | Delete
$placements = Advanced_Ads::get_instance()->get_model()->get_ad_placements_array();
[1133] Fix | Delete
foreach ($placements as $placement) {
[1134] Fix | Delete
if (!empty($placement['options']['item_adblocker'])) {
[1135] Fix | Delete
return true;
[1136] Fix | Delete
}
[1137] Fix | Delete
}
[1138] Fix | Delete
[1139] Fix | Delete
return false;
[1140] Fix | Delete
}
[1141] Fix | Delete
}
[1142] Fix | Delete
[1143] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function