PluginProbe
BetterDocs – AI Documentation, Knowledge Base, MCP Server, Docs, Wikis, FAQ & Chatbot / 4.9.3
BetterDocs – AI Documentation, Knowledge Base, MCP Server, Docs, Wikis, FAQ & Chatbot v4.9.3
4.9.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 All 201 releases
← All changes | views/templates/feedback-parts/form.php +101 -90 3.4.2 → 4.9.3 View file →
@@ -1,110 +1,121 @@
1 1 <?php
2 - $email_feedback = betterdocs()->settings->get( 'email_feedback' );
2 +// phpcs:disable WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedVariableFound -- view template receives variables via extract(); prefixing is impractical.
3 +
4 +if ( ! defined( 'ABSPATH' ) ) {
5 + exit;
6 +}
7 +$email_feedback = betterdocs()->settings->get( 'email_feedback' );
3 8
4 - if ( ! $email_feedback ) {
5 - return;
6 - }
9 +if ( ! $email_feedback ) {
10 + return;
11 +}
7 12
8 - // for archives
9 - $feedback_icon = betterdocs()->customizer->defaults->get( 'betterdocs_single_doc_feedback_icon' );
10 - $feedback_title_tag = betterdocs()->customizer->defaults->get( 'betterdocs_feedback_form_title_tag' );
11 - $feedback_title_tag = betterdocs()->template_helper->is_valid_tag( $feedback_title_tag );
13 + // for archives
14 + $feedback_icon = betterdocs()->customizer->defaults->get( 'betterdocs_single_doc_feedback_icon' );
15 + $feedback_title_tag = betterdocs()->customizer->defaults->get( 'betterdocs_feedback_form_title_tag' );
16 + $feedback_title_tag = betterdocs()->template_helper->is_valid_tag( $feedback_title_tag );
12 17
13 - $feedback_title = betterdocs()->settings->get( 'feedback_form_title' );
14 - $flink_text = betterdocs()->settings->get( 'feedback_link_text' );
15 - $flink_url = betterdocs()->settings->get( 'feedback_url' );
16 - $flink_url_href = $flink_url ? esc_url( $flink_url ) : '#betterdocs-form-modal';
18 + $feedback_title = betterdocs()->settings->get( 'feedback_form_title' );
19 + $flink_text = betterdocs()->settings->get( 'feedback_link_text' );
20 + $flink_url = betterdocs()->settings->get( 'feedback_url' );
21 + $flink_url_href = $flink_url ? esc_url( $flink_url ) : '#betterdocs-form-modal';
17 22
18 - $shortcode_attributes = [];
23 + $shortcode_attributes = [
24 + 'feedback_form_name_label_text' => betterdocs()->customizer->defaults->get('single_doc_feedback_label_name_text'),
25 + 'feedback_form_email_label_text' => betterdocs()->customizer->defaults->get('single_doc_feedback_label_email_text'),
26 + 'feedback_form_message_label_text' => betterdocs()->customizer->defaults->get('single_doc_feedback_label_message_text')
27 + ];
19 28
20 - /**
21 - * FOR ELEMENTOR WIDGET
22 - * @since 2.5.0
23 - */
24 - if ( isset( $widget ) && $widget instanceof \WPDeveloper\BetterDocs\Editors\Elementor\Widget\Feedback ) {
25 - $flink_url_href = '#betterdocs-form-modal';
26 - $flink_url = false;
27 - $feedback_icon = '';
29 + /**
30 + * FOR ELEMENTOR WIDGET
31 + * @since 2.5.0
32 + */
33 +if ( isset( $widget ) && $widget instanceof \WPDeveloper\BetterDocs\Editors\Elementor\Widget\Feedback ) {
34 + $flink_url_href = '#betterdocs-form-modal';
35 + $flink_url = false;
36 + $feedback_icon = isset( $settings['feedback_form_icon_image']['url'] ) ? $settings['feedback_form_icon_image']['url'] : '';
37 + $feedback_title_tag = 'h2';
38 + $feedback_title = $settings['feedback_form_title'];
28 39
29 - $feedback_title_tag = 'h2';
30 - $feedback_title = $settings['feedback_form_title'];
40 + $shortcode_attributes = [
41 + 'button_text' => $settings['feedback_form_button_text'],
42 + 'feedback_form_name_label_text' => $settings['feedback_form_name_label_text'],
43 + 'feedback_form_email_label_text' => $settings['feedback_form_email_label_text'],
44 + 'feedback_form_message_label_text' => $settings['feedback_form_message_label_text']
45 + ];
31 46
32 - $shortcode_attributes = [
33 - 'button_text' => $settings['feedback_form_button_text']
34 - ];
47 + $flink_text = $settings['feedback_link_title'];
48 +}
35 49
36 - $flink_text = $settings['feedback_link_title'];
37 - }
50 + $flink_attribute = [
51 + 'class' => [ 'feedback-form-link' ],
52 + 'href' => $flink_url_href
53 + ];
38 54
39 - $flink_attribute = [
40 - 'class' => ['feedback-form-link'],
41 - 'href' => $flink_url_href
42 - ];
55 + if ( ! $flink_url ) {
56 + $flink_attribute['name'] = 'betterdocs-form-modal';
57 + }
43 58
44 - if ( ! $flink_url ) {
45 - $flink_attribute['name'] = 'betterdocs-form-modal';
46 - }
47 -
48 - $flink_attribute = betterdocs()->template_helper->get_html_attributes( $flink_attribute );
49 - $shortcode_attributes = betterdocs()->template_helper->get_html_attributes( $shortcode_attributes );
50 -?>
59 + $flink_attribute = betterdocs()->template_helper->get_html_attributes( $flink_attribute );
60 + $shortcode_attributes = betterdocs()->template_helper->get_html_attributes( $shortcode_attributes );
61 + ?>
51 62 <div class="feedback-form">
52 - <a
53 - <?php echo $flink_attribute; ?>>
63 + <a
64 + <?php echo $flink_attribute; //phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>>
54 65 <span class="feedback-form-icon">
55 - <?php if ( $feedback_icon != '' ): ?>
56 - <img src="<?php esc_attr_e( esc_url( $feedback_icon ) );?>" />
57 - <?php else: ?>
58 - <svg xmlns="http://www.w3.org/2000/svg" width="32px" viewBox="0 0 64 64">
59 - <linearGradient id="zWPy7gPuySZ8fg4Y3QF24a" x1="26" x2="26" y1="630.833" y2="619.332"
60 - gradientTransform="matrix(1 0 0 -1 0 654)" gradientUnits="userSpaceOnUse"
61 - spreadMethod="reflect">
62 - <stop offset="0" stop-color="#6dc7ff"></stop>
63 - <stop offset="1" stop-color="#e6abff"></stop>
64 - </linearGradient>
65 - <path fill="url(#zWPy7gPuySZ8fg4Y3QF24a)"
66 - d="M15.082,25.762l9.625,8.141c0.746,0.633,1.84,0.633,2.59,0l9.621-8.141 C37.629,25.16,37.203,24,36.27,24H15.73C14.797,24,14.371,25.16,15.082,25.762z">
67 - </path>
68 - <linearGradient id="zWPy7gPuySZ8fg4Y3QF24b" x1="26" x2="26" y1="647.5" y2="596.439"
69 - gradientTransform="matrix(1 0 0 -1 0 654)" gradientUnits="userSpaceOnUse"
70 - spreadMethod="reflect">
71 - <stop offset="0" stop-color="#1a6dff"></stop>
72 - <stop offset="1" stop-color="#c822ff"></stop>
73 - </linearGradient>
74 - <path fill="url(#zWPy7gPuySZ8fg4Y3QF24b)" d="M18,49h16v2H18V49z"></path>
75 - <linearGradient id="zWPy7gPuySZ8fg4Y3QF24c" x1="32" x2="32" y1="8.915" y2="55.387"
76 - gradientUnits="userSpaceOnUse" spreadMethod="reflect">
77 - <stop offset="0" stop-color="#1a6dff"></stop>
78 - <stop offset="1" stop-color="#c822ff"></stop>
79 - </linearGradient>
80 - <path fill="url(#zWPy7gPuySZ8fg4Y3QF24c)"
81 - d="M48,9c-6.134,0-11.277,4.276-12.637,10H8c-2.758,0-5,2.242-5,5v26c0,2.758,2.242,5,5,5h36 c2.758,0,5-2.242,5-5V35h2v-2h-3c-6.066,0-11-4.934-11-11s4.934-11,11-11s11,4.934,11,11v3c0,1.102-0.898,2-2,2s-2-0.898-2-2v-3 c0-3.859-3.141-7-7-7s-7,3.141-7,7s3.141,7,7,7c2.125,0,4.027-0.953,5.312-2.453C53.918,27.984,55.344,29,57,29c2.207,0,4-1.793,4-4 v-3C61,14.832,55.168,9,48,9z M5,24.109L17.086,34L5,43.891V24.109z M47,50c0,1.652-1.348,3-3,3H8c-1.652,0-3-1.348-3-3v-3.527 l13.668-11.18l4.168,3.41c0.914,0.75,2.039,1.125,3.164,1.125s2.25-0.375,3.164-1.125l4.172-3.41L47,46.473V50z M47,34.949v8.941 L34.914,34l3.618-3.12C40.691,33.18,43.668,34.694,47,34.949z M37.264,29.317l-9.365,7.835c-1.102,0.902-2.699,0.902-3.801,0 L5.699,22.098C6.25,21.434,7.07,21,8,21h27.051C35.025,21.331,35,21.662,35,22C35,24.712,35.837,27.231,37.264,29.317z M48,27 c-2.758,0-5-2.242-5-5s2.242-5,5-5s5,2.242,5,5S50.758,27,48,27z">
82 - </path>
83 - </svg>
84 - <?php endif;?>
66 + <?php if ( $feedback_icon != '' ) : ?>
67 + <img src="<?php echo esc_attr( esc_url( $feedback_icon ) ); ?>" />
68 + <?php else : ?>
69 + <svg xmlns="http://www.w3.org/2000/svg" width="32px" viewBox="0 0 64 64">
70 + <linearGradient id="zWPy7gPuySZ8fg4Y3QF24a" x1="26" x2="26" y1="630.833" y2="619.332"
71 + gradientTransform="matrix(1 0 0 -1 0 654)" gradientUnits="userSpaceOnUse"
72 + spreadMethod="reflect">
73 + <stop offset="0" stop-color="#6dc7ff"></stop>
74 + <stop offset="1" stop-color="#e6abff"></stop>
75 + </linearGradient>
76 + <path fill="url(#zWPy7gPuySZ8fg4Y3QF24a)"
77 + d="M15.082,25.762l9.625,8.141c0.746,0.633,1.84,0.633,2.59,0l9.621-8.141 C37.629,25.16,37.203,24,36.27,24H15.73C14.797,24,14.371,25.16,15.082,25.762z">
78 + </path>
79 + <linearGradient id="zWPy7gPuySZ8fg4Y3QF24b" x1="26" x2="26" y1="647.5" y2="596.439"
80 + gradientTransform="matrix(1 0 0 -1 0 654)" gradientUnits="userSpaceOnUse"
81 + spreadMethod="reflect">
82 + <stop offset="0" stop-color="#1a6dff"></stop>
83 + <stop offset="1" stop-color="#c822ff"></stop>
84 + </linearGradient>
85 + <path fill="url(#zWPy7gPuySZ8fg4Y3QF24b)" d="M18,49h16v2H18V49z"></path>
86 + <linearGradient id="zWPy7gPuySZ8fg4Y3QF24c" x1="32" x2="32" y1="8.915" y2="55.387"
87 + gradientUnits="userSpaceOnUse" spreadMethod="reflect">
88 + <stop offset="0" stop-color="#1a6dff"></stop>
89 + <stop offset="1" stop-color="#c822ff"></stop>
90 + </linearGradient>
91 + <path fill="url(#zWPy7gPuySZ8fg4Y3QF24c)"
92 + d="M48,9c-6.134,0-11.277,4.276-12.637,10H8c-2.758,0-5,2.242-5,5v26c0,2.758,2.242,5,5,5h36 c2.758,0,5-2.242,5-5V35h2v-2h-3c-6.066,0-11-4.934-11-11s4.934-11,11-11s11,4.934,11,11v3c0,1.102-0.898,2-2,2s-2-0.898-2-2v-3 c0-3.859-3.141-7-7-7s-7,3.141-7,7s3.141,7,7,7c2.125,0,4.027-0.953,5.312-2.453C53.918,27.984,55.344,29,57,29c2.207,0,4-1.793,4-4 v-3C61,14.832,55.168,9,48,9z M5,24.109L17.086,34L5,43.891V24.109z M47,50c0,1.652-1.348,3-3,3H8c-1.652,0-3-1.348-3-3v-3.527 l13.668-11.18l4.168,3.41c0.914,0.75,2.039,1.125,3.164,1.125s2.25-0.375,3.164-1.125l4.172-3.41L47,46.473V50z M47,34.949v8.941 L34.914,34l3.618-3.12C40.691,33.18,43.668,34.694,47,34.949z M37.264,29.317l-9.365,7.835c-1.102,0.902-2.699,0.902-3.801,0 L5.699,22.098C6.25,21.434,7.07,21,8,21h27.051C35.025,21.331,35,21.662,35,22C35,24.712,35.837,27.231,37.264,29.317z M48,27 c-2.758,0-5-2.242-5-5s2.242-5,5-5s5,2.242,5,5S50.758,27,48,27z">
93 + </path>
94 + </svg>
95 + <?php endif; ?>
85 96 </span>
86 - <?php echo ( $flink_text ) ? $flink_text : __( 'Still stuck? How can we help?', 'betterdocs' ); ?>
97 + <?php echo isset( $flink_text ) ? esc_html( $flink_text ) : esc_html__( 'Still stuck? How can we help?', 'betterdocs' ); ?>
87 98 </a>
88 99
89 - <div id="betterdocs-form-modal" class="betterdocs-modalwindow">
90 - <div class="modal-inner">
91 - <div class="modal-content">
92 - <a href="#" class="close"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16px" viewBox="0 0 50 50" version="1.1"><g id="surface1"><path style=" " d="M 9.15625 6.3125 L 6.3125 9.15625 L 22.15625 25 L 6.21875 40.96875 L 9.03125 43.78125 L 25 27.84375 L 40.9375 43.78125 L 43.78125 40.9375 L 27.84375 25 L 43.6875 9.15625 L 40.84375 6.3125 L 25 22.15625 Z "></path></g></svg></a>
93 - <?php
94 - echo wp_sprintf(
95 - '<%1$s class="feedback-form-title">%2$s</%1$s>',
96 - $feedback_title_tag,
97 - ( $feedback_title ) ? stripslashes( $feedback_title ) : esc_html__( 'How can we help?', 'betterdocs' )
98 - );
100 + <div id="betterdocs-form-modal" class="betterdocs-modalwindow">
101 + <div class="modal-inner">
102 + <div class="modal-content">
103 + <a href="#" class="close"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16px" viewBox="0 0 50 50" version="1.1"><g id="surface1"><path style=" " d="M 9.15625 6.3125 L 6.3125 9.15625 L 22.15625 25 L 6.21875 40.96875 L 9.03125 43.78125 L 25 27.84375 L 40.9375 43.78125 L 43.78125 40.9375 L 27.84375 25 L 43.6875 9.15625 L 40.84375 6.3125 L 25 22.15625 Z "></path></g></svg></a>
104 + <?php
105 + echo wp_sprintf(
106 + '<%1$s class="feedback-form-title">%2$s</%1$s>',
107 + $feedback_title_tag, //phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
108 + isset( $feedback_title ) ? esc_html( $feedback_title ) : esc_html__( 'How can we help?', 'betterdocs' )
109 + );
99 110
100 - echo wp_sprintf(
101 - '<div class="modal-content-inner"><!-- shortcode -->%s<!-- shortcode end --></div>',
102 - do_shortcode( '[betterdocs_feedback_form ' . $shortcode_attributes . ']' )
103 - );
104 - ?>
105 - </div>
111 + echo wp_sprintf(
112 + '<div class="modal-content-inner"><!-- shortcode -->%s<!-- shortcode end --></div>',
113 + do_shortcode( '[betterdocs_feedback_form ' . $shortcode_attributes . ']' )
114 + );
115 + ?>
116 + </div>
106 117
107 118
108 - </div>
109 - </div>
119 + </div>
120 + </div>
110 121 </div>