'; // $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' ) { ?>