get_content_lines() ) ) {
?>
get_content_lines() as $item ) { ?>
get_promotion_data();
?>
build_promotion_data_array();
$new_promotion_data = apply_filters( 'elementor/' . $this->get_name() . '/custom_promotion', $promotion_data );
return count( $new_promotion_data ) <= count( $promotion_data )
? $this->replace_values( $promotion_data, $new_promotion_data )
: $promotion_data;
}
/**
* @return array
*/
private function build_promotion_data_array(): array {
return [
'promotion_title' => $this->get_promotion_title(),
'cta_url' => $this->get_cta_url(),
'cta_text' => $this->get_cta_text(),
'video_url' => $this->get_video_url(),
'lines' => $this->get_lines(),
'side_note' => $this->get_side_note(),
];
}
/**
* @param array $promotion_data
* @param array $new_promotion_data
* @return array
*/
private function replace_values( array $promotion_data, array $new_promotion_data ): array {
$new_promotion_data = array_replace( $promotion_data, $new_promotion_data );
if ( ! Validate_Promotion::domain_is_on_elementor_dot_com( $new_promotion_data['cta_url'] ) ) {
$new_promotion_data['cta_url'] = $promotion_data['cta_url'];
}
return $new_promotion_data;
}
}