PluginProbe
BetterDocs – AI Documentation, Knowledge Base, MCP Server, Docs, Wikis, FAQ & Chatbot / 3.5.3
BetterDocs – AI Documentation, Knowledge Base, MCP Server, Docs, Wikis, FAQ & Chatbot v3.5.3
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/Shortcodes/FeedbackForm.php +11 -25 4.9.23.5.3 View file →
@@ -1,12 +1,8 @@
1 1 <?php
2 +
2 3 namespace WPDeveloper\BetterDocs\Shortcodes;
3 4
4 -if ( ! defined( 'ABSPATH' ) ) {
5 - exit;
6 -}
7 -
8 -
9 5 use WPDeveloper\BetterDocs\Core\Query;
10 6 use WPDeveloper\BetterDocs\Utils\Helper;
11 7 use WPDeveloper\BetterDocs\Core\Settings;
12 8 use WPDeveloper\BetterDocs\Core\Shortcode;
@@ -30,19 +26,15 @@
30 26 return ['betterdocs'];
31 27 }
32 28
33 29 public function submit() {
34 - if ( ! betterdocs()->settings->get( 'email_feedback' ) ) {
35 - wp_send_json_error( __( 'Email feedback is disabled.', 'betterdocs' ) );
36 - }
37 -
38 30 check_ajax_referer( 'betterdocs_submit_data', 'security' );
39 31
40 - $postID = isset( $_POST['postID'] ) ? absint( wp_unslash( $_POST['postID'] ) ) : 0;
32 + $postID = isset( $_POST['postID'] ) ? $_POST['postID'] : null;
41 33 $article = get_the_title( $postID );
42 - $name = isset( $_POST['message_name'] ) ? sanitize_text_field( wp_unslash( $_POST['message_name'] ) ) : '';
43 - $email = isset( $_POST['message_email'] ) ? sanitize_email( wp_unslash( $_POST['message_email'] ) ) : '';
44 - $message_text = isset( $_POST['message_text'] ) ? sanitize_textarea_field( wp_unslash( $_POST['message_text'] ) ) : '';
34 + $name = isset( $_POST['message_name'] ) ? sanitize_text_field( stripslashes( $_POST['message_name'] ) ) : '';
35 + $email = isset( $_POST['message_email'] ) ? sanitize_email( stripslashes( $_POST['message_email'] ) ) : '';
36 + $message_text = isset( $_POST['message_text'] ) ? sanitize_textarea_field( stripslashes( $_POST['message_text'] ) ) : '';
45 37
46 38 $_errors = [];
47 39
48 40 //validate presence of name
@@ -83,16 +75,13 @@
83 75 'success' => true
84 76 ];
85 77
86 78 ob_start();
87 - betterdocs()->views->get(
88 - 'admin/email/feedback-email',
89 - [
90 - 'name' => $name,
91 - 'article' => $article,
92 - 'message_text' => $message_text
93 - ]
94 - );
79 + betterdocs()->views->get( 'admin/email/feedback-email', [
80 + 'name' => $name,
81 + 'article' => $article,
82 + 'message_text' => $message_text
83 + ] );
95 84 $message = ob_get_clean();
96 85
97 86 // @todo: check strip tags: wp_mail( $to, $subject, strip_tags( $message ), $headers )
98 87
@@ -115,12 +104,9 @@
115 104 * @return array
116 105 */
117 106 public function default_attributes() {
118 107 return [
119 - 'button_text' => __( 'Send', 'betterdocs' ),
120 - 'feedback_form_name_label_text' => __( 'Name:', 'betterdocs' ),
121 - 'feedback_form_email_label_text' => __( 'Email:', 'betterdocs' ),
122 - 'feedback_form_message_label_text' => __( 'Message:', 'betterdocs' )
108 + 'button_text' => __( 'Send', 'betterdocs' )
123 109 ];
124 110 }
125 111
126 112 public function render( $atts, $content = null ) {