wpcf7_sendinblue_collect_parameters()
Collects parameters for Sendinblue contact data based on submission.
Хуки из функции
Возвращает
Массив. Sendinblue contact parameters.
Использование
wpcf7_sendinblue_collect_parameters();
Код wpcf7_sendinblue_collect_parameters() wpcf7 sendinblue collect parameters CF7 6.1.6
function wpcf7_sendinblue_collect_parameters() {
$params = array();
$submission = WPCF7_Submission::get_instance();
foreach ( (array) $submission->get_posted_data() as $name => $val ) {
$name = strtoupper( $name );
if ( 'YOUR-' === substr( $name, 0, 5 ) ) {
$name = substr( $name, 5 );
}
if ( $val ) {
$params += array(
$name => $val,
);
}
}
if ( isset( $params['SMS'] ) ) {
$sms = trim( implode( ' ', (array) $params['SMS'] ) );
$sms = preg_replace( '/[#*].*$/', '', $sms ); // Remove extension
$is_international = false ||
str_starts_with( $sms, '+' ) ||
str_starts_with( $sms, '00' );
if ( $is_international ) {
$sms = preg_replace( '/^[+0]+/', '', $sms );
}
$sms = preg_replace( '/[^0-9]/', '', $sms );
if ( $is_international and 6 < strlen( $sms ) and strlen( $sms ) < 16 ) {
$params['SMS'] = '+' . $sms;
} else { // Invalid telephone number
unset( $params['SMS'] );
}
}
if ( isset( $params['NAME'] ) ) {
$your_name = implode( ' ', (array) $params['NAME'] );
$your_name = explode( ' ', $your_name );
if ( ! isset( $params['LASTNAME'] ) ) {
$params['LASTNAME'] = implode(
' ',
array_slice( $your_name, 1 )
);
}
if ( ! isset( $params['FIRSTNAME'] ) ) {
$params['FIRSTNAME'] = implode(
' ',
array_slice( $your_name, 0, 1 )
);
}
}
$params = array_map(
function ( $param ) {
if ( is_array( $param ) ) {
$param = wpcf7_array_flatten( $param );
$param = reset( $param );
}
return $param;
},
$params
);
$params = apply_filters(
'wpcf7_sendinblue_collect_parameters',
$params
);
return $params;
}