';
// $shortcode .= '
[booking resource_id=' . $resource_id . ' nummonths=1]
';
// $shortcode .= '';
$shortcode .= '';
$shortcode .= '[booking resource_id=' . $resource_id . ' nummonths=1]';
$shortcode .= '';
}
return $shortcode;
}
/**
* Submit | Update checking
*
* @param $page_name
*
* @return false|void
*/
function wpbc_check_for_submit__page_resource_publish( $page_name ) {
if (
( 'resources' !== $page_name )
// && ( 'wpbc-ajx_booking_setup_wizard' !== $page_name )
){
return false;
}
// Check $_POST
// phpcs:ignore WordPress.Security.NonceVerification.Recommended, WordPress.Security.NonceVerification.Missing
if ( ( isset( $_POST['action'] ) ) && ( 'wpbc_page_resource_publish' === $_POST['action'] ) ) {
if ( wpbc_is_this_demo() ) {
wpbc_show_notice__for_page_resource_publish( 'This operation is restricted in the demo version.', 'warning' );
return;
}
$nonce_gen_time = check_admin_referer( 'set_resource_publish_check' ); // It stops show anything on submitting, if it not refers to the original page
$add_shortcode_result_arr = false;
// CREATE NEW PAGE
// phpcs:ignore WordPress.Security.NonceVerification.Recommended, WordPress.Security.NonceVerification.Missing, WordPress.Security.ValidatedSanitizedInput.InputNotValidated
if ( ( 'create' === $_POST['wpbc_page_resource_publish_what'] )
&& ( ! empty($_POST['create_page_for_resource_publish'] ) )
&& ( ! empty($_POST['wpbc_page_resource_publish_resource_id'] ) )
){
$shortcode_resource_id = intval( $_POST['wpbc_page_resource_publish_resource_id'] ); // phpcs:ignore WordPress.Security.NonceVerification.Recommended, WordPress.Security.NonceVerification.Missing
$page_name = sanitize_text_field( wp_unslash( $_POST['create_page_for_resource_publish'] ) ); /* phpcs:ignore WordPress.Security.NonceVerification.Recommended, WordPress.Security.NonceVerification.Missing */ /* FixIn: sanitize_unslash */
// phpcs:ignore WordPress.Security.NonceVerification.Recommended, WordPress.Security.NonceVerification.Missing
if ( ! empty( $_POST['wpbc_page_resource_publish_resource_shortcode'] ) ) {
//$insert_shortcode = WPBC_Settings_API::validate_textarea_post_static( 'wpbc_page_resource_publish_resource_shortcode' );
// phpcs:ignore WordPress.Security.NonceVerification.Recommended, WordPress.Security.NonceVerification.Missing, WordPress.Security.ValidatedSanitizedInput.InputNotValidated, WordPress.Security.ValidatedSanitizedInput.MissingUnslash, WordPress.Security.ValidatedSanitizedInput.InputNotSanitized
$insert_shortcode = wp_kses( trim( stripslashes( $_POST[ 'wpbc_page_resource_publish_resource_shortcode' ] ) ),
array_merge( array( // 'iframe' => array( 'src' => true, 'style' => true, 'id' => true, 'class' => true )
// , 'script' => array( 'type' => true ) // Allow JS
),
wp_kses_allowed_html( 'post' )
)
);
$insert_shortcode = '' . $insert_shortcode .'';
} else {
// auto_generated_shortcode
$insert_shortcode = wpbc_get_prepared_shortcode( $shortcode_resource_id );
}
// Add shortcode to specific Page with POST ID
$add_shortcode_result_arr = wpbc_add_shortcode_into_page( array(
'shortcode' => $insert_shortcode,
'check_exist_shortcode' => '[WPBC_' . microtime() . '_WPBC]', // Just add Fake shortcode, so we always add new shortcode to the page
'page_post_name' => sanitize_title( $page_name ),
'post_title' => esc_html( $page_name ),
'resource_id' => $shortcode_resource_id
) );
}
// ADD TO EXIST PAGE
// phpcs:ignore WordPress.Security.NonceVerification.Recommended, WordPress.Security.NonceVerification.Missing, WordPress.Security.ValidatedSanitizedInput.InputNotValidated
if ( ( 'edit' === $_POST['wpbc_page_resource_publish_what'] )
&& ( ! empty($_POST['select_page_for_resource_publish'] ) )
&& ( ! empty($_POST['wpbc_page_resource_publish_resource_id'] ) )
){
$shortcode_resource_id = intval( $_POST['wpbc_page_resource_publish_resource_id'] ); // phpcs:ignore WordPress.Security.NonceVerification.Recommended, WordPress.Security.NonceVerification.Missing
$page_id = intval( $_POST['select_page_for_resource_publish'] ); // phpcs:ignore WordPress.Security.NonceVerification.Recommended, WordPress.Security.NonceVerification.Missing
// Add shortcode to specific Page with POST ID
$check_exist_shortcode_arr = array(
'[booking resource_id=' . $shortcode_resource_id . ' ',
'[booking resource_id=' . $shortcode_resource_id . ']',
'[booking type=' . $shortcode_resource_id . ' ',
'[booking type=' . $shortcode_resource_id . ']'
);
if ( 1 === $shortcode_resource_id ) {
$check_exist_shortcode_arr[] = '[booking]';
}
// phpcs:ignore WordPress.Security.NonceVerification.Recommended, WordPress.Security.NonceVerification.Missing
if ( ! empty( $_POST['wpbc_page_resource_publish_resource_shortcode'] ) ) {
//$insert_shortcode = WPBC_Settings_API::validate_textarea_post_static( 'wpbc_page_resource_publish_resource_shortcode' );
// phpcs:ignore WordPress.Security.NonceVerification.Recommended, WordPress.Security.NonceVerification.Missing, WordPress.Security.ValidatedSanitizedInput.InputNotValidated, WordPress.Security.ValidatedSanitizedInput.MissingUnslash, WordPress.Security.ValidatedSanitizedInput.InputNotSanitized
$insert_shortcode = wp_kses( trim( stripslashes( $_POST[ 'wpbc_page_resource_publish_resource_shortcode' ] ) ),
array_merge( array( // 'iframe' => array( 'src' => true, 'style' => true, 'id' => true, 'class' => true )
// , 'script' => array( 'type' => true ) // Allow JS
),
wp_kses_allowed_html( 'post' )
)
);
$insert_shortcode = '' . $insert_shortcode .'';
} else {
// auto_generated_shortcode
$insert_shortcode = wpbc_get_prepared_shortcode( $shortcode_resource_id );
}
$add_shortcode_result_arr = wpbc_add_shortcode_into_page( array(
'shortcode' => $insert_shortcode,
'page_id' => $page_id,
'check_exist_shortcode' => $check_exist_shortcode_arr, //'[WPBC_' . microtime() . '_WPBC]' // Just add Fake shortcode, so we always add new shortcode to the page
'resource_id' => $shortcode_resource_id
) );
}
// Show Result Message
if (
( ! empty( $add_shortcode_result_arr ) )
&& ( $add_shortcode_result_arr['result'] )
&& ( ! empty( $add_shortcode_result_arr['relative_url'] ) )
){
$relative_post_url = $add_shortcode_result_arr['relative_url'];
$post_title = trim( $relative_post_url, '/' );
$post_obj = get_page_by_path( $relative_post_url );
if ( ! empty( $post_obj ) ) {
$post_title = $post_obj->post_title;
}
wpbc_show_notice__for_page_resource_publish( $add_shortcode_result_arr['message']
// . ' ' . '' . $post_title . ''
);
} elseif ( false === $add_shortcode_result_arr ) {
wpbc_show_notice__for_page_resource_publish( 'Error: You may not have chosen the correct page name.', 'error' );
wpbc_show_notice__for_page_resource_publish(
/* translators: 1: ... */
sprintf( __( 'Find more information at the %1$sFAQ page%2$s', 'booking' ),
'', ''
), 'info');
}else {
wpbc_show_notice__for_page_resource_publish( $add_shortcode_result_arr['message'], 'error' );
wpbc_show_notice__for_page_resource_publish(
/* translators: 1: ... */
sprintf( __( 'Find more information at the %1$sFAQ page%2$s', 'booking' ),
'', ''
), 'info');
}
}
}
add_action( 'wpbc_hook_settings_page_before_content_table', 'wpbc_check_for_submit__page_resource_publish' ,10, 1);
function wpbc_show_notice__for_page_resource_publish( $message, $message_type = 'success' ) {
?>