PluginProbe
BetterDocs – AI Documentation, Knowledge Base, MCP Server, Docs, Wikis, FAQ & Chatbot / 4.2.6
BetterDocs – AI Documentation, Knowledge Base, MCP Server, Docs, Wikis, FAQ & Chatbot v4.2.6
4.9.2 4.9.1 4.9.0 4.8.2 4.8.1 4.8.0 4.7.0 4.6.2 4.6.1 4.6.0 4.5.6 4.5.5 4.5.4 4.5.3 4.5.2 4.5.1 4.5.0 4.4.1 4.4.0 3.3.4 3.4.0 3.4.1 3.4.2 3.5.0 3.5.1 All 200 releases
← All changes | includes/Editors/BlockEditor/StyleHandler.php +8 -12 4.5.54.2.6 View file →
@@ -97,21 +97,18 @@
97 97 * @retun void
98 98 * @since 1.0.2
99 99 */
100 100 public function write_block_css() {
101 - $nonce = isset( $_POST['nonce'] ) ? sanitize_text_field( wp_unslash( $_POST['nonce'] ) ) : '';
102 - if ( ! wp_verify_nonce( $nonce, 'betterdocs_style_handler_nonce' ) || ! current_user_can( 'manage_options' ) ) {
101 + if ( ! isset( $_POST['nonce'] ) || ! wp_verify_nonce( $_POST['nonce'], 'betterdocs_style_handler_nonce' ) || ! current_user_can( 'manage_options' ) ) {
103 102 echo 'Invalid request';
104 103 wp_die();
105 104 }
106 105
107 - $raw_data = isset( $_POST['data'] ) ? wp_unslash( $_POST['data'] ) : ''; // phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized -- decoded JSON; values are sanitized in build_css().
108 - $block_styles = (array) json_decode( $raw_data );
106 + $block_styles = (array) json_decode( stripslashes( $_POST['data'] ) );
109 107
110 - $editor_type = isset( $_POST['editorType'] ) ? sanitize_key( wp_unslash( $_POST['editorType'] ) ) : '';
111 - if ( 'edit-site' === $editor_type ) {
108 + if ( isset( $_POST['editorType'] ) && $_POST['editorType'] === 'edit-site' ) {
112 109 $upload_dir = wp_upload_dir()['basedir'] . '/betterdocs-style/';
113 - $editSiteCssPath = $upload_dir . 'betterdocs-style-' . $editor_type . '.min.css';
110 + $editSiteCssPath = $upload_dir . 'betterdocs-style-' . $_POST['editorType'] . '.min.css';
114 111 if ( file_exists( $editSiteCssPath ) ) {
115 112 $existingCss = file_get_contents( $editSiteCssPath );
116 113 $pattern = '~\/\*(.*?)\*\/~';
117 114 preg_match_all( $pattern, $existingCss, $result, PREG_PATTERN_ORDER );
@@ -137,9 +134,9 @@
137 134
138 135 if ( ! empty( $css = $this->build_css( $finalCSSArray ) ) ) {
139 136 $upload_dir = wp_upload_dir()['basedir'] . '/betterdocs-style/';
140 137 if ( ! file_exists( $upload_dir ) ) {
141 - wp_mkdir_p( $upload_dir );
138 + mkdir( $upload_dir );
142 139 }
143 140
144 141 file_put_contents( $editSiteCssPath, $css );
145 142 }
@@ -145,9 +142,9 @@
145 142 }
146 143 } elseif ( ! empty( $css = $this->build_css( $block_styles ) ) ) {
147 144 $upload_dir = wp_upload_dir()['basedir'] . '/betterdocs-style/';
148 145 if ( ! file_exists( $upload_dir ) ) {
149 - wp_mkdir_p( $upload_dir );
146 + mkdir( $upload_dir );
150 147 }
151 148
152 149 file_put_contents( $editSiteCssPath, $css );
153 150 }
@@ -153,12 +150,11 @@
153 150 }
154 151 } elseif ( ! empty( $css = $this->build_css( $block_styles ) ) ) {
155 152 $upload_dir = wp_upload_dir()['basedir'] . '/betterdocs-style/';
156 153 if ( ! file_exists( $upload_dir ) ) {
157 - wp_mkdir_p( $upload_dir );
154 + mkdir( $upload_dir );
158 155 }
159 - $post_id = isset( $_POST['id'] ) ? absint( wp_unslash( $_POST['id'] ) ) : 0;
160 - file_put_contents( $upload_dir . 'betterdocs-style-' . $post_id . '.min.css', $css );
156 + file_put_contents( $upload_dir . 'betterdocs-style-' . abs( $_POST['id'] ) . '.min.css', $css );
161 157 }
162 158
163 159 wp_send_json_success( 'done' );
164 160 }