100 ) {
$settings['viewability_threshold'] = intval( $viewability_threshold_default );
}
} else {
$settings['viewability_threshold'] = $viewability_threshold_default;
}
// refresh_interval
$refresh_interval_default = 30;
if ( isset( $settings['refresh_interval'] ) ) {
if ( ! is_numeric( $settings['refresh_interval'] ) || intval( $settings['refresh_interval'] ) < 30 ) {
$settings['refresh_interval'] = intval( $refresh_interval_default );
}
} else {
$settings['refresh_interval'] = $refresh_interval_default;
}
// maximum_refreshes
$maximum_refreshes_default = 10;
if ( isset( $settings['maximum_refreshes'] ) ) {
if ( ! is_numeric( $settings['maximum_refreshes'] ) || intval( $settings['maximum_refreshes'] ) < 1 ) {
$settings['maximum_refreshes'] = $maximum_refreshes_default;
}
} else {
$settings['maximum_refreshes'] = $maximum_refreshes_default;
}
// advertiser_ids
$advertiser_ids_default = [];
if ( isset( $settings['advertiser_ids'] ) ) {
$advertiser_ids = explode( ',', $settings['advertiser_ids'] );
$advertiser_ids = array_filter(
$advertiser_ids,
function( $advertiser_id ):int {
return is_numeric( $advertiser_id );
}
);
$advertiser_ids = array_map(
function( $advertiser_id ) {
return (int) $advertiser_id;
},
$advertiser_ids
);
$settings['advertiser_ids'] = $advertiser_ids;
} else {
$settings['advertiser_ids'] = $advertiser_ids_default;
}
// Line item IDs.
$line_item_ids_default = [];
if ( isset( $settings['line_item_ids'] ) ) {
$line_item_ids = explode( ',', $settings['line_item_ids'] );
$line_item_ids = array_filter(
$line_item_ids,
function ( $line_item_id ):int {
return is_numeric( $line_item_id );
}
);
$line_item_ids = array_map(
function ( $line_item_id ) {
return (int) $line_item_id;
},
$line_item_ids
);
$settings['line_item_ids'] = $line_item_ids;
} else {
$settings['line_item_ids'] = $line_item_ids_default;
}
// Sizes.
$sizes_to_exclude_default = '';
if ( isset( $settings['sizes_to_exclude'] ) ) {
$sizes = sanitize_text_field( $settings['sizes_to_exclude'] );
$settings['sizes_to_exclude'] = $sizes;
} else {
$settings['sizes_to_exclude'] = $sizes_to_exclude_default;
}
// Slot IDs.
$slot_ids_to_exclude_default = [];
if ( isset( $settings['slot_ids_to_exclude'] ) ) {
$slot_ids_to_exclude = explode( ',', $settings['slot_ids_to_exclude'] );
$slot_ids_to_exclude = array_filter(
$slot_ids_to_exclude,
function ( $slot_id ):int {
return is_string( $slot_id );
}
);
$slot_ids_to_exclude = array_map(
function ( $slot_id ) {
return (string) $slot_id;
},
$slot_ids_to_exclude
);
$settings['slot_ids_to_exclude'] = $slot_ids_to_exclude;
} else {
$settings['slot_ids_to_exclude'] = $slot_ids_to_exclude_default;
}
return $settings;
}