Changeset 3427184
- Timestamp:
- 12/25/2025 09:26:20 AM (3 months ago)
- Location:
- contact-form-plugin
- Files:
-
- 223 added
- 5 edited
-
tags/4.3.6 (added)
-
tags/4.3.6/bws_menu (added)
-
tags/4.3.6/bws_menu/bws_functions.php (added)
-
tags/4.3.6/bws_menu/bws_include.php (added)
-
tags/4.3.6/bws_menu/bws_menu.php (added)
-
tags/4.3.6/bws_menu/class-bws-settings.php (added)
-
tags/4.3.6/bws_menu/css (added)
-
tags/4.3.6/bws_menu/css/general_style.css (added)
-
tags/4.3.6/bws_menu/css/jquery-ui-styles (added)
-
tags/4.3.6/bws_menu/css/jquery-ui-styles/1.10.4 (added)
-
tags/4.3.6/bws_menu/css/jquery-ui-styles/1.10.4/images (added)
-
tags/4.3.6/bws_menu/css/jquery-ui-styles/1.10.4/images/animated-overlay.gif (added)
-
tags/4.3.6/bws_menu/css/jquery-ui-styles/1.10.4/images/ui-bg_flat_0_aaaaaa_40x100.png (added)
-
tags/4.3.6/bws_menu/css/jquery-ui-styles/1.10.4/images/ui-bg_flat_75_ffffff_40x100.png (added)
-
tags/4.3.6/bws_menu/css/jquery-ui-styles/1.10.4/images/ui-bg_glass_55_fbf9ee_1x400.png (added)
-
tags/4.3.6/bws_menu/css/jquery-ui-styles/1.10.4/images/ui-bg_glass_65_ffffff_1x400.png (added)
-
tags/4.3.6/bws_menu/css/jquery-ui-styles/1.10.4/images/ui-bg_glass_75_dadada_1x400.png (added)
-
tags/4.3.6/bws_menu/css/jquery-ui-styles/1.10.4/images/ui-bg_glass_75_e6e6e6_1x400.png (added)
-
tags/4.3.6/bws_menu/css/jquery-ui-styles/1.10.4/images/ui-bg_glass_95_fef1ec_1x400.png (added)
-
tags/4.3.6/bws_menu/css/jquery-ui-styles/1.10.4/images/ui-bg_highlight-soft_75_cccccc_1x100.png (added)
-
tags/4.3.6/bws_menu/css/jquery-ui-styles/1.10.4/images/ui-icons_222222_256x240.png (added)
-
tags/4.3.6/bws_menu/css/jquery-ui-styles/1.10.4/images/ui-icons_2e83ff_256x240.png (added)
-
tags/4.3.6/bws_menu/css/jquery-ui-styles/1.10.4/images/ui-icons_454545_256x240.png (added)
-
tags/4.3.6/bws_menu/css/jquery-ui-styles/1.10.4/images/ui-icons_888888_256x240.png (added)
-
tags/4.3.6/bws_menu/css/jquery-ui-styles/1.10.4/images/ui-icons_cd0a0a_256x240.png (added)
-
tags/4.3.6/bws_menu/css/jquery-ui-styles/1.10.4/jquery-ui.css (added)
-
tags/4.3.6/bws_menu/css/jquery-ui-styles/1.11.4 (added)
-
tags/4.3.6/bws_menu/css/jquery-ui-styles/1.11.4/images (added)
-
tags/4.3.6/bws_menu/css/jquery-ui-styles/1.11.4/images/ui-bg_flat_0_aaaaaa_40x100.png (added)
-
tags/4.3.6/bws_menu/css/jquery-ui-styles/1.11.4/images/ui-bg_flat_75_ffffff_40x100.png (added)
-
tags/4.3.6/bws_menu/css/jquery-ui-styles/1.11.4/images/ui-bg_glass_55_fbf9ee_1x400.png (added)
-
tags/4.3.6/bws_menu/css/jquery-ui-styles/1.11.4/images/ui-bg_glass_65_ffffff_1x400.png (added)
-
tags/4.3.6/bws_menu/css/jquery-ui-styles/1.11.4/images/ui-bg_glass_75_dadada_1x400.png (added)
-
tags/4.3.6/bws_menu/css/jquery-ui-styles/1.11.4/images/ui-bg_glass_75_e6e6e6_1x400.png (added)
-
tags/4.3.6/bws_menu/css/jquery-ui-styles/1.11.4/images/ui-bg_glass_95_fef1ec_1x400.png (added)
-
tags/4.3.6/bws_menu/css/jquery-ui-styles/1.11.4/images/ui-bg_highlight-soft_75_cccccc_1x100.png (added)
-
tags/4.3.6/bws_menu/css/jquery-ui-styles/1.11.4/images/ui-icons_222222_256x240.png (added)
-
tags/4.3.6/bws_menu/css/jquery-ui-styles/1.11.4/images/ui-icons_2e83ff_256x240.png (added)
-
tags/4.3.6/bws_menu/css/jquery-ui-styles/1.11.4/images/ui-icons_454545_256x240.png (added)
-
tags/4.3.6/bws_menu/css/jquery-ui-styles/1.11.4/images/ui-icons_888888_256x240.png (added)
-
tags/4.3.6/bws_menu/css/jquery-ui-styles/1.11.4/images/ui-icons_cd0a0a_256x240.png (added)
-
tags/4.3.6/bws_menu/css/jquery-ui-styles/1.11.4/jquery-ui.css (added)
-
tags/4.3.6/bws_menu/css/jquery-ui-styles/1.12.1 (added)
-
tags/4.3.6/bws_menu/css/jquery-ui-styles/1.12.1/images (added)
-
tags/4.3.6/bws_menu/css/jquery-ui-styles/1.12.1/images/ui-bg_glass_55_fbf9ee_1x400.png (added)
-
tags/4.3.6/bws_menu/css/jquery-ui-styles/1.12.1/images/ui-bg_glass_65_ffffff_1x400.png (added)
-
tags/4.3.6/bws_menu/css/jquery-ui-styles/1.12.1/images/ui-bg_glass_75_dadada_1x400.png (added)
-
tags/4.3.6/bws_menu/css/jquery-ui-styles/1.12.1/images/ui-bg_glass_75_e6e6e6_1x400.png (added)
-
tags/4.3.6/bws_menu/css/jquery-ui-styles/1.12.1/images/ui-bg_glass_95_fef1ec_1x400.png (added)
-
tags/4.3.6/bws_menu/css/jquery-ui-styles/1.12.1/images/ui-bg_highlight-soft_75_cccccc_1x100.png (added)
-
tags/4.3.6/bws_menu/css/jquery-ui-styles/1.12.1/images/ui-icons_222222_256x240.png (added)
-
tags/4.3.6/bws_menu/css/jquery-ui-styles/1.12.1/images/ui-icons_2e83ff_256x240.png (added)
-
tags/4.3.6/bws_menu/css/jquery-ui-styles/1.12.1/images/ui-icons_454545_256x240.png (added)
-
tags/4.3.6/bws_menu/css/jquery-ui-styles/1.12.1/images/ui-icons_888888_256x240.png (added)
-
tags/4.3.6/bws_menu/css/jquery-ui-styles/1.12.1/images/ui-icons_cd0a0a_256x240.png (added)
-
tags/4.3.6/bws_menu/css/jquery-ui-styles/1.12.1/jquery-ui.css (added)
-
tags/4.3.6/bws_menu/css/jquery-ui-styles/1.9.2 (added)
-
tags/4.3.6/bws_menu/css/jquery-ui-styles/1.9.2/images (added)
-
tags/4.3.6/bws_menu/css/jquery-ui-styles/1.9.2/images/ui-bg_flat_0_aaaaaa_40x100.png (added)
-
tags/4.3.6/bws_menu/css/jquery-ui-styles/1.9.2/images/ui-bg_flat_75_ffffff_40x100.png (added)
-
tags/4.3.6/bws_menu/css/jquery-ui-styles/1.9.2/images/ui-bg_glass_55_fbf9ee_1x400.png (added)
-
tags/4.3.6/bws_menu/css/jquery-ui-styles/1.9.2/images/ui-bg_glass_65_ffffff_1x400.png (added)
-
tags/4.3.6/bws_menu/css/jquery-ui-styles/1.9.2/images/ui-bg_glass_75_dadada_1x400.png (added)
-
tags/4.3.6/bws_menu/css/jquery-ui-styles/1.9.2/images/ui-bg_glass_75_e6e6e6_1x400.png (added)
-
tags/4.3.6/bws_menu/css/jquery-ui-styles/1.9.2/images/ui-bg_glass_95_fef1ec_1x400.png (added)
-
tags/4.3.6/bws_menu/css/jquery-ui-styles/1.9.2/images/ui-bg_highlight-soft_75_cccccc_1x100.png (added)
-
tags/4.3.6/bws_menu/css/jquery-ui-styles/1.9.2/images/ui-icons_222222_256x240.png (added)
-
tags/4.3.6/bws_menu/css/jquery-ui-styles/1.9.2/images/ui-icons_2e83ff_256x240.png (added)
-
tags/4.3.6/bws_menu/css/jquery-ui-styles/1.9.2/images/ui-icons_454545_256x240.png (added)
-
tags/4.3.6/bws_menu/css/jquery-ui-styles/1.9.2/images/ui-icons_888888_256x240.png (added)
-
tags/4.3.6/bws_menu/css/jquery-ui-styles/1.9.2/images/ui-icons_cd0a0a_256x240.png (added)
-
tags/4.3.6/bws_menu/css/jquery-ui-styles/1.9.2/jquery-ui.css (added)
-
tags/4.3.6/bws_menu/css/modal.css (added)
-
tags/4.3.6/bws_menu/css/style.css (added)
-
tags/4.3.6/bws_menu/deactivation-form.php (added)
-
tags/4.3.6/bws_menu/deprecated.php (added)
-
tags/4.3.6/bws_menu/fonts (added)
-
tags/4.3.6/bws_menu/fonts/bwsicons.eot (added)
-
tags/4.3.6/bws_menu/fonts/bwsicons.svg (added)
-
tags/4.3.6/bws_menu/fonts/bwsicons.ttf (added)
-
tags/4.3.6/bws_menu/fonts/bwsicons.woff (added)
-
tags/4.3.6/bws_menu/icons (added)
-
tags/4.3.6/bws_menu/icons/plugins (added)
-
tags/4.3.6/bws_menu/icons/plugins/bike-rental.png (added)
-
tags/4.3.6/bws_menu/icons/plugins/gpt-ai-content-creator.png (added)
-
tags/4.3.6/bws_menu/icons/themes (added)
-
tags/4.3.6/bws_menu/icons/themes/opening.png (added)
-
tags/4.3.6/bws_menu/icons/themes/realestate.png (added)
-
tags/4.3.6/bws_menu/icons/themes/rent-a-bike.png (added)
-
tags/4.3.6/bws_menu/icons/themes/renty.png (added)
-
tags/4.3.6/bws_menu/icons/themes/unity.png (added)
-
tags/4.3.6/bws_menu/images (added)
-
tags/4.3.6/bws_menu/images/affiliate-background.png (added)
-
tags/4.3.6/bws_menu/images/close_banner.png (added)
-
tags/4.3.6/bws_menu/images/earn-icon.svg (added)
-
tags/4.3.6/bws_menu/images/join-icon.svg (added)
-
tags/4.3.6/bws_menu/images/membership-background.jpg (added)
-
tags/4.3.6/bws_menu/images/promote-icon.svg (added)
-
tags/4.3.6/bws_menu/images/tooltip_icons.png (added)
-
tags/4.3.6/bws_menu/js (added)
-
tags/4.3.6/bws_menu/js/bws_menu.js (added)
-
tags/4.3.6/bws_menu/js/bws_tooltip.js (added)
-
tags/4.3.6/bws_menu/js/c_o_o_k_i_e.js (added)
-
tags/4.3.6/bws_menu/js/general_script.js (added)
-
tags/4.3.6/bws_menu/js/shortcode-button.js (added)
-
tags/4.3.6/bws_menu/languages (added)
-
tags/4.3.6/bws_menu/languages/bestwebsoft-cs_CZ.mo (added)
-
tags/4.3.6/bws_menu/languages/bestwebsoft-cs_CZ.po (added)
-
tags/4.3.6/bws_menu/languages/bestwebsoft-de_DE.mo (added)
-
tags/4.3.6/bws_menu/languages/bestwebsoft-de_DE.po (added)
-
tags/4.3.6/bws_menu/languages/bestwebsoft-es_ES.mo (added)
-
tags/4.3.6/bws_menu/languages/bestwebsoft-es_ES.po (added)
-
tags/4.3.6/bws_menu/languages/bestwebsoft-fr_FR.mo (added)
-
tags/4.3.6/bws_menu/languages/bestwebsoft-fr_FR.po (added)
-
tags/4.3.6/bws_menu/languages/bestwebsoft-id_ID.mo (added)
-
tags/4.3.6/bws_menu/languages/bestwebsoft-id_ID.po (added)
-
tags/4.3.6/bws_menu/languages/bestwebsoft-it_IT.mo (added)
-
tags/4.3.6/bws_menu/languages/bestwebsoft-it_IT.po (added)
-
tags/4.3.6/bws_menu/languages/bestwebsoft-ja.mo (added)
-
tags/4.3.6/bws_menu/languages/bestwebsoft-ja.po (added)
-
tags/4.3.6/bws_menu/languages/bestwebsoft-nl_NL.mo (added)
-
tags/4.3.6/bws_menu/languages/bestwebsoft-nl_NL.po (added)
-
tags/4.3.6/bws_menu/languages/bestwebsoft-pl_PL.mo (added)
-
tags/4.3.6/bws_menu/languages/bestwebsoft-pl_PL.po (added)
-
tags/4.3.6/bws_menu/languages/bestwebsoft-pt_BR.mo (added)
-
tags/4.3.6/bws_menu/languages/bestwebsoft-pt_BR.po (added)
-
tags/4.3.6/bws_menu/languages/bestwebsoft-ru_RU.mo (added)
-
tags/4.3.6/bws_menu/languages/bestwebsoft-ru_RU.po (added)
-
tags/4.3.6/bws_menu/languages/bestwebsoft-uk.mo (added)
-
tags/4.3.6/bws_menu/languages/bestwebsoft-uk.po (added)
-
tags/4.3.6/bws_menu/product_list.php (added)
-
tags/4.3.6/contact_form.php (added)
-
tags/4.3.6/css (added)
-
tags/4.3.6/css/form_style.css (added)
-
tags/4.3.6/css/icon_style.css (added)
-
tags/4.3.6/css/style.css (added)
-
tags/4.3.6/css/svg-path.svg (added)
-
tags/4.3.6/images (added)
-
tags/4.3.6/images/cptch.png (added)
-
tags/4.3.6/images/google-captcha.png (added)
-
tags/4.3.6/images/gray-grad.png (added)
-
tags/4.3.6/images/pro_screen_1.png (added)
-
tags/4.3.6/images/toggle-arrow.png (added)
-
tags/4.3.6/images/tooltip_attachment_tips.png (added)
-
tags/4.3.6/images/tooltip_sendme_block.png (added)
-
tags/4.3.6/includes (added)
-
tags/4.3.6/includes/build (added)
-
tags/4.3.6/includes/build/blocks-manifest.php (added)
-
tags/4.3.6/includes/build/contact-form (added)
-
tags/4.3.6/includes/build/contact-form/block.json (added)
-
tags/4.3.6/includes/build/contact-form/index.asset.php (added)
-
tags/4.3.6/includes/build/contact-form/index.js (added)
-
tags/4.3.6/includes/build/contact-form/render.php (added)
-
tags/4.3.6/includes/class-cntctfrm-settings.php (added)
-
tags/4.3.6/js (added)
-
tags/4.3.6/js/cntctfrm.js (added)
-
tags/4.3.6/js/cntctfrm_signature.js (added)
-
tags/4.3.6/js/lemonade.min.js (added)
-
tags/4.3.6/js/script.js (added)
-
tags/4.3.6/js/signature.min.js (added)
-
tags/4.3.6/languages (added)
-
tags/4.3.6/languages/contact-form-plugin-af_ZA.mo (added)
-
tags/4.3.6/languages/contact-form-plugin-af_ZA.po (added)
-
tags/4.3.6/languages/contact-form-plugin-ca.mo (added)
-
tags/4.3.6/languages/contact-form-plugin-ca.po (added)
-
tags/4.3.6/languages/contact-form-plugin-cs_CZ.mo (added)
-
tags/4.3.6/languages/contact-form-plugin-cs_CZ.po (added)
-
tags/4.3.6/languages/contact-form-plugin-da_DK.mo (added)
-
tags/4.3.6/languages/contact-form-plugin-da_DK.po (added)
-
tags/4.3.6/languages/contact-form-plugin-de_DE.mo (added)
-
tags/4.3.6/languages/contact-form-plugin-de_DE.po (added)
-
tags/4.3.6/languages/contact-form-plugin-el.mo (added)
-
tags/4.3.6/languages/contact-form-plugin-el.po (added)
-
tags/4.3.6/languages/contact-form-plugin-es_ES.mo (added)
-
tags/4.3.6/languages/contact-form-plugin-es_ES.po (added)
-
tags/4.3.6/languages/contact-form-plugin-et.mo (added)
-
tags/4.3.6/languages/contact-form-plugin-et.po (added)
-
tags/4.3.6/languages/contact-form-plugin-fr_FR.mo (added)
-
tags/4.3.6/languages/contact-form-plugin-fr_FR.po (added)
-
tags/4.3.6/languages/contact-form-plugin-id_ID.mo (added)
-
tags/4.3.6/languages/contact-form-plugin-id_ID.po (added)
-
tags/4.3.6/languages/contact-form-plugin-it_IT.mo (added)
-
tags/4.3.6/languages/contact-form-plugin-it_IT.po (added)
-
tags/4.3.6/languages/contact-form-plugin-ja.mo (added)
-
tags/4.3.6/languages/contact-form-plugin-ja.po (added)
-
tags/4.3.6/languages/contact-form-plugin-nb_NO.mo (added)
-
tags/4.3.6/languages/contact-form-plugin-nb_NO.po (added)
-
tags/4.3.6/languages/contact-form-plugin-nl_NL.mo (added)
-
tags/4.3.6/languages/contact-form-plugin-nl_NL.po (added)
-
tags/4.3.6/languages/contact-form-plugin-pt_BR.mo (added)
-
tags/4.3.6/languages/contact-form-plugin-pt_BR.po (added)
-
tags/4.3.6/languages/contact-form-plugin-ru_RU.mo (added)
-
tags/4.3.6/languages/contact-form-plugin-ru_RU.po (added)
-
tags/4.3.6/languages/contact-form-plugin-sk_SK.mo (added)
-
tags/4.3.6/languages/contact-form-plugin-sk_SK.po (added)
-
tags/4.3.6/languages/contact-form-plugin-sv_SE.mo (added)
-
tags/4.3.6/languages/contact-form-plugin-sv_SE.po (added)
-
tags/4.3.6/languages/contact-form-plugin-uk.mo (added)
-
tags/4.3.6/languages/contact-form-plugin-uk.po (added)
-
tags/4.3.6/languages/contact-form-plugin-vi.mo (added)
-
tags/4.3.6/languages/contact-form-plugin-vi.po (added)
-
tags/4.3.6/languages/contact-form-plugin-zh_CN.mo (added)
-
tags/4.3.6/languages/contact-form-plugin-zh_CN.po (added)
-
tags/4.3.6/readme.txt (added)
-
tags/4.3.6/screenshot-1.png (added)
-
tags/4.3.6/screenshot-10.png (added)
-
tags/4.3.6/screenshot-11.png (added)
-
tags/4.3.6/screenshot-12.png (added)
-
tags/4.3.6/screenshot-13.png (added)
-
tags/4.3.6/screenshot-14.png (added)
-
tags/4.3.6/screenshot-15.png (added)
-
tags/4.3.6/screenshot-16.png (added)
-
tags/4.3.6/screenshot-2.png (added)
-
tags/4.3.6/screenshot-3.png (added)
-
tags/4.3.6/screenshot-4.png (added)
-
tags/4.3.6/screenshot-5.png (added)
-
tags/4.3.6/screenshot-6.png (added)
-
tags/4.3.6/screenshot-7.png (added)
-
tags/4.3.6/screenshot-8.png (added)
-
tags/4.3.6/screenshot-9.png (added)
-
trunk/contact_form.php (modified) (19 diffs)
-
trunk/css/form_style.css (modified) (1 diff)
-
trunk/css/style.css (modified) (1 diff)
-
trunk/includes/class-cntctfrm-settings.php (modified) (13 diffs)
-
trunk/js/cntctfrm_signature.js (added)
-
trunk/js/lemonade.min.js (added)
-
trunk/js/signature.min.js (added)
-
trunk/readme.txt (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
contact-form-plugin/trunk/contact_form.php
r3395797 r3427184 7 7 Text Domain: contact-form-plugin 8 8 Domain Path: /languages 9 Version: 4.3. 59 Version: 4.3.6 10 10 Author URI: https://bestwebsoft.com/ 11 11 License: GPLv2 or later … … 610 610 'attachment_label' => array( 'default' => __( 'Attachment', 'contact-form-plugin' ) . ':' ), 611 611 'attachment_tooltip' => array( 'default' => __( 'Supported file types: HTML, TXT, CSS, GIF, PNG, JPEG, JPG, TIFF, BMP, AI, EPS, PS, CSV, RTF, PDF, DOC, DOCX, XLS, XLSX, ZIP, RAR, WAV, MP3, PPT.', 'contact-form-plugin' ) ), 612 'dropdown_label' => array( 'default' => __( 'Dropdown', 'contact-form-plugin' ) ), 612 'dropdown_label' => array( 'default' => __( 'Dropdown', 'contact-form-plugin' ) . ':' ), 613 'esign_label' => array( 'default' => __( 'E-sign', 'contact-form-plugin' ) . ':' ), 613 614 'gdpr_label' => array( 'default' => __( 'I consent to having this site collect my personal data.', 'contact-form-plugin' ) ), 614 615 'gdpr_text_button' => array( 'default' => __( 'Learn more', 'contact-form-plugin' ) ), … … 627 628 'captcha_error' => array( 'default' => __( 'Please fill out the CAPTCHA.', 'contact-form-plugin' ) ), 628 629 'dropdown_error' => array( 'default' => __( 'This field is required.', 'contact-form-plugin' ) ), 630 'esign_error' => array( 'default' => __( 'This field is required.', 'contact-form-plugin' ) ), 629 631 'form_error' => array( 'default' => __( 'Please make corrections below and try again.', 'contact-form-plugin' ) ), 630 632 'send_copy_label' => array( 'default' => __( 'Send me copy.', 'contact-form-plugin' ) ), … … 663 665 'display_dropdown' => 0, 664 666 'required_dropdown' => 0, 667 'display_esign' => 0, 668 'required_esign' => 0 665 669 ); 666 670 $option_defaults = apply_filters( 'cntctfrm_get_additional_options_default', $option_defaults ); … … 914 918 'cntctfrm_contact_attachment' => ( 1 === absint( $cntctfrm_options['attachment'] ) ) ? true : false, 915 919 'cntctfrm_contact_dropdown' => ( 1 === absint( $cntctfrm_options['display_dropdown'] ) ) ? true : false, 920 'cntctfrm_contact_esign' => ( 1 === absint( $cntctfrm_options['display_esign'] ) ) ? true : false, 916 921 'cntctfrm_contact_send_copy' => ( 1 === absint( $cntctfrm_options['send_copy'] ) ) ? true : false, 917 922 'cntctfrm_contact_gdpr' => ( 1 === absint( $cntctfrm_options['gdpr'] ) ) ? true : false, … … 1352 1357 } 1353 1358 break; 1359 case 'cntctfrm_contact_esign': 1360 if ( 1 === absint( $cntctfrm_options['display_esign'] ) ) { 1361 $content .= '<div class="cntctfrm_field_wrap cntctfrm_field_esign_wrap">'; 1362 $content .= '<div class="cntctfrm_label cntctfrm_label_esign"> 1363 <label for="cntctfrm_contact_name' . $form_countid . '">' . $cntctfrm_options['esign_label'][ $lang ] . ( 1 === absint( $cntctfrm_options['required_esign'] ) ? ' <span class="required">' . $cntctfrm_options['required_symbol'] . '</span></label>' : '</label>' ); 1364 $content .= '</div>'; 1365 if ( isset( $cntctfrm_error_message['error_esign'] ) && $cntctfrm_form_count === $form_submited ) { 1366 $content .= '<div class="cntctfrm_error_text">' . $cntctfrm_error_message['error_esign'] . '</div>'; 1367 } 1368 $content .= '<div class="cntctfrm_input cntctfrm_input_esign"><span id="cntctfrm_esign_reset_' . $cntctfrm_form_count . '" class="cntctfrm_esign_reset dashicons dashicons-update"></span><div id="cntctfrm_esign_signature_' . $cntctfrm_form_count . '"></div> 1369 <input type="hidden" name="cntctfrm_esign_image" id="cntctfrm_esign_image_' . $cntctfrm_form_count . '" value="" /> 1370 <input type="hidden" name="cntctfrm_esign_start" id="cntctfrm_esign_start_' . $cntctfrm_form_count . '" value="0" />'; 1371 1372 $content .='</div></div>'; 1373 } 1374 break; 1354 1375 default: 1355 1376 break; … … 1390 1411 <input type="hidden" value="' . $cntctfrm_form_count . '" name="cntctfrm_form_submited"> 1391 1412 <input type="hidden" value="' . $options_name . '" name="cntctfrm_options_name"> 1392 <input type="submit" value="' . $cntctfrm_options['submit_label'][ $lang ] . '" class="cntctfrm_contact_submit" />1413 <input type="submit" value="' . $cntctfrm_options['submit_label'][ $lang ] . '" class="cntctfrm_contact_submit" id="' . $cntctfrm_form_count . '" /> 1393 1414 </div>'; 1394 1415 } … … 1524 1545 $message = isset( $_POST['cntctfrm_contact_message'] ) ? sanitize_textarea_field( wp_strip_all_tags( wp_unslash( $_POST['cntctfrm_contact_message'] ) ) ) : ''; 1525 1546 $phone = isset( $_POST['cntctfrm_contact_phone'] ) ? sanitize_text_field( wp_unslash( $_POST['cntctfrm_contact_phone'] ) ) : ''; 1547 $esign = isset( $_POST['cntctfrm_esign_image'] ) ? sanitize_text_field( wp_unslash( $_POST['cntctfrm_esign_image'] ) ) : ''; 1548 $esign_start = isset( $_POST['cntctfrm_esign_start'] ) ? intval( sanitize_text_field( wp_unslash( $_POST['cntctfrm_esign_start'] ) ) ) : 0; 1526 1549 1527 1550 /* check language and replace with en default if need */ … … 1575 1598 if ( 1 === absint( $cntctfrm_options['required_phone_field'] ) && 1 === absint( $cntctfrm_options['display_phone_field'] ) ) { 1576 1599 $cntctfrm_error_message['error_phone'] = $cntctfrm_options['phone_error'][ $language ]; 1600 } 1601 if ( 1 === absint( $cntctfrm_options['required_esign'] ) && 1 === absint( $cntctfrm_options['display_esign'] ) ) { 1602 $cntctfrm_error_message['error_esign'] = $cntctfrm_options['esign_error'][ $language ]; 1577 1603 } 1578 1604 $cntctfrm_error_message['error_form'] = $cntctfrm_options['form_error'][ $language ]; … … 1632 1658 } 1633 1659 1660 if ( 1 === absint( $cntctfrm_options['display_esign'] ) && 1 === absint( $cntctfrm_options['required_esign'] ) && '' !== $esign && 1 === $esign_start ) { 1661 unset( $cntctfrm_error_message['error_esign'] ); 1662 } 1663 1634 1664 if ( 1 === $cntctfrm_options['message_limit'] && '' !== $message ) { 1635 1665 $min_length = isset( $cntctfrm_options['message_limit_min'] ) && ! empty( $cntctfrm_options['message_limit_min'] ) ? absint( $cntctfrm_options['message_limit_min'] ) : null; … … 1847 1877 $phone = isset( $_POST['cntctfrm_contact_phone'] ) ? sanitize_text_field( wp_unslash( $_POST['cntctfrm_contact_phone'] ) ) : ''; 1848 1878 $dropdown = isset( $_POST['cntctfrm_contact_dropdown'] ) ? sanitize_text_field( wp_unslash( $_POST['cntctfrm_contact_dropdown'] ) ) : ''; 1879 $esign = isset( $_POST['cntctfrm_esign_image'] ) ? sanitize_text_field( wp_unslash( $_POST['cntctfrm_esign_image'] ) ) : ''; 1880 1849 1881 $user_agent = cntctfrm_clean_input( $_SERVER['HTTP_USER_AGENT'] ); 1850 1882 if ( isset( $_COOKIE['cntctfrm_send_mail'] ) && true === (bool) $_COOKIE['cntctfrm_send_mail'] ) { … … 1977 2009 } 1978 2010 break; 2011 case 'esign': 2012 if ( 1 === absint( $cntctfrm_options['display_esign'] ) ) { 2013 $message_text .= '<tr><td>'; 2014 $message_text .= ( 1 === absint( $cntctfrm_options['change_label_in_email'] ) ) ? $cntctfrm_options['esign_label'][ $lang ] : esc_html__( 'E-sign', 'contact-form-plugin' ); 2015 $message_text .= '</td><td><img src="cid:cntctfrm_sign" /></td></tr>'; 2016 } 2017 break; 1979 2018 } 1980 2019 } … … 1984 2023 $message_text_for_user = $message_text . '</table></body></html>'; 1985 2024 $message_text .= $user_info_string . '</table></body></html>'; 2025 1986 2026 } else { 1987 2027 $message_text = esc_html__( 'Site', 'contact-form-plugin' ) . ': ' . get_bloginfo( 'url' ) . "\r\n"; … … 2026 2066 } 2027 2067 break; 2068 case 'esign': 2069 if ( 1 === absint( $cntctfrm_options['display_esign'] ) ) { 2070 $message_text .= ( 1 === absint( $cntctfrm_options['change_label_in_email'] ) ) ? $cntctfrm_options['esign_label'][ $lang ] : esc_html__( 'E-sign', 'contact-form-plugin' ); 2071 $message_text .= ': (attached)' . "\r\n"; 2072 } 2073 break; 2028 2074 } 2029 2075 } … … 2097 2143 } 2098 2144 2145 if ( 1 === absint( $cntctfrm_options['display_esign'] ) ) { 2146 $attachments_new = array(); 2147 $upload_dir = wp_upload_dir(); 2148 $upload_path = str_replace( '/', DIRECTORY_SEPARATOR, $upload_dir['path'] ) . DIRECTORY_SEPARATOR; 2149 2150 $cntctfrm_path_of_sign_file = $upload_path . '/sign.png'; 2151 2152 $img = str_replace( 'data:image/png;base64,', '', $esign ); 2153 $img = str_replace( ' ', '+', $img ); 2154 $decoded = base64_decode( $img ); 2155 2156 file_put_contents( $cntctfrm_path_of_sign_file, $decoded ); 2157 2158 $attachments_new[] = array( 2159 'uid' => 'cntctfrm_sign', 2160 'name' => 'sign.png', 2161 'file' => $cntctfrm_path_of_sign_file 2162 ); 2163 2164 add_action( 'phpmailer_init', function( &$phpmailer ) use( $attachments_new ) { 2165 $phpmailer->SMTPKeepAlive=true; 2166 foreach ( $attachments_new as $attachment ) { 2167 $phpmailer->AddEmbeddedImage( $attachment['file'], $attachment['uid'], $attachment['name'] ); 2168 } 2169 }); 2170 } 2171 2099 2172 if ( isset( $_POST['cntctfrm_contact_send_copy'] ) && 1 === absint( $_POST['cntctfrm_contact_send_copy'] ) ) { 2100 2173 wp_mail( $email, $subject, $message_text_for_user, $headers, $attachments ); … … 2103 2176 /* Mail it */ 2104 2177 $mail_result = wp_mail( $to, $subject, $message_text, $headers, $attachments ); 2178 2179 if ( 1 === absint( $cntctfrm_options['display_esign'] ) ) { 2180 foreach ( $attachments_new as $attachment ) { 2181 if ( file_exists( $attachment['name'] ) ) { 2182 unlink( $attachment['name'] ); 2183 } 2184 } 2185 $attachments_new = NULL; 2186 } 2187 2105 2188 /* Delete attachment */ 2106 2189 if ( 1 === absint( $cntctfrm_options['attachment'] ) && ! empty( $_FILES['cntctfrm_contact_attachment']['tmp_name'] ) && array( '' ) !== $_FILES['cntctfrm_contact_attachment']['tmp_name'] … … 2116 2199 $headers .= 'MIME-Version: 1.0' . "\r\n"; 2117 2200 2118 if ( 1 === absint( $cntctfrm_options['attachment'] ) && ! empty( $_FILES['cntctfrm_contact_attachment']['tmp_name'] ) && array( '' ) !== $_FILES['cntctfrm_contact_attachment']['tmp_name'] ) { 2201 if ( ( 1 === absint( $cntctfrm_options['attachment'] ) && ! empty( $_FILES['cntctfrm_contact_attachment']['tmp_name'] ) && array( '' ) !== $_FILES['cntctfrm_contact_attachment']['tmp_name'] ) || 1 === absint( $cntctfrm_options['display_esign'] ) ) { 2202 error_log( print_r( 'display_esign', true ) . PHP_EOL, 3, dirname( __FILE__ ) . '/error.log' ); 2119 2203 $message_block = $message_text; 2120 2204 $message_block_for_user = $message_text_for_user; … … 2143 2227 2144 2228 /* Number of uploaded files */ 2145 $num_files = count( (array) $_FILES['cntctfrm_contact_attachment']['tmp_name'] ); 2146 for ( $i = 0; $i < $num_files; $i++ ) { 2147 global $cntctfrm_path_of_uploaded_file, $cntctfrm_path_of_uploaded_files; 2148 2149 if ( $cntctfrm_options['active_multi_attachment'] ) { 2150 $file_name = sanitize_file_name( $_FILES['cntctfrm_contact_attachment']['name'][ $i ] ); 2151 $file = file_get_contents( $cntctfrm_path_of_uploaded_files[ $i ] ); 2152 $file_size = filesize( $cntctfrm_path_of_uploaded_files[ $i ] ); 2153 $description = basename( $cntctfrm_path_of_uploaded_files[ $i ] ); 2154 } else { 2155 $file_name = sanitize_file_name( $_FILES['cntctfrm_contact_attachment']['name'] ); 2156 $file = file_get_contents( $cntctfrm_path_of_uploaded_file ); 2157 $file_size = filesize( $cntctfrm_path_of_uploaded_file ); 2158 $description = basename( $cntctfrm_path_of_uploaded_file ); 2229 if ( 1 === absint( $cntctfrm_options['display_esign'] ) ) { 2230 $file_name = 'sign.png'; 2231 $file = str_replace( 'data:image/png;base64,', '', $esign ); 2232 //$file = str_replace( ' ', '+', $file ); 2233 //$decoded = base64_decode( $file ); 2234 2235 $message_text .= $bound . "\r\n" . 2236 "Content-Type: image/png;\r\n" . 2237 "Content-Disposition: inline; filename='sign.png'\r\n" . 2238 //"Content-Location: sign.png\r\n" . 2239 "Content-ID: <cntctfrm_sign>;\r\n" . 2240 "Content-Transfer-Encoding: base64\r\n\r\n" . $file . "\r\n\r\n"; 2241 $message_text_for_user .= $bound . "\r\n" . 2242 "Content-Type: image/png;\r\n" . 2243 "Content-Disposition: inline; filename='sign.png'\r\n" . 2244 //"Content-Location: sign.png\r\n" . 2245 "Content-ID: <cntctfrm_sign>;\r\n" . 2246 "Content-Transfer-Encoding: base64\r\n\r\n" . $file . "\r\n\r\n"; 2247 } 2248 if ( 1 === absint( $cntctfrm_options['attachment'] ) && ! empty( $_FILES['cntctfrm_contact_attachment']['tmp_name'] ) ) { 2249 $num_files = count( (array) $_FILES['cntctfrm_contact_attachment']['tmp_name'] ); 2250 for ( $i = 0; $i < $num_files; $i++ ) { 2251 global $cntctfrm_path_of_uploaded_file, $cntctfrm_path_of_uploaded_files; 2252 2253 if ( $cntctfrm_options['active_multi_attachment'] ) { 2254 $file_name = sanitize_file_name( $_FILES['cntctfrm_contact_attachment']['name'][ $i ] ); 2255 $file = file_get_contents( $cntctfrm_path_of_uploaded_files[ $i ] ); 2256 $file_size = filesize( $cntctfrm_path_of_uploaded_files[ $i ] ); 2257 $description = basename( $cntctfrm_path_of_uploaded_files[ $i ] ); 2258 } else { 2259 $file_name = sanitize_file_name( $_FILES['cntctfrm_contact_attachment']['name'] ); 2260 $file = file_get_contents( $cntctfrm_path_of_uploaded_file ); 2261 $file_size = filesize( $cntctfrm_path_of_uploaded_file ); 2262 $description = basename( $cntctfrm_path_of_uploaded_file ); 2263 } 2264 $message_text .= $bound . "\r\n" . 2265 'Content-Type: application/octet-stream; name="' . $file_name . "\"\r\n" . 2266 'Content-Description: ' . $description . "\r\n" . 2267 "Content-Disposition: attachment;\r\n" . ' filename="' . $file_name . '"; size=' . $file_size . ";\r\n" . 2268 "Content-Transfer-Encoding: base64\r\n\r\n" . chunk_split( base64_encode( $file ) ) . "\r\n\r\n"; 2269 $message_text_for_user .= $bound . "\r\n" . 2270 'Content-Type: application/octet-stream; name="' . $file_name . "\"\r\n" . 2271 'Content-Description: ' . $description . "\r\n" . 2272 "Content-Disposition: attachment;\r\n" . ' filename="' . $file_name . '"; size=' . $file_size . ";\r\n" . 2273 "Content-Transfer-Encoding: base64\r\n\r\n" . chunk_split( base64_encode( $file ) ) . "\r\n\r\n"; 2159 2274 } 2160 $message_text .= $bound . "\r\n" .2161 'Content-Type: application/octet-stream; name="' . $file_name . "\"\r\n" .2162 'Content-Description: ' . $description . "\r\n" .2163 "Content-Disposition: attachment;\r\n" . ' filename="' . $file_name . '"; size=' . $file_size . ";\r\n" .2164 "Content-Transfer-Encoding: base64\r\n\r\n" . chunk_split( base64_encode( $file ) ) . "\r\n\r\n";2165 $message_text_for_user .= $bound . "\r\n" .2166 'Content-Type: application/octet-stream; name="' . $file_name . "\"\r\n" .2167 'Content-Description: ' . $description . "\r\n" .2168 "Content-Disposition: attachment;\r\n" . ' filename="' . $file_name . '"; size=' . $file_size . ";\r\n" .2169 "Content-Transfer-Encoding: base64\r\n\r\n" . chunk_split( base64_encode( $file ) ) . "\r\n\r\n";2170 2275 } 2171 2276 $message_text .= $bound_last; 2172 2277 $message_text_for_user .= $bound_last; 2278 2279 error_log( print_r( $message_text, true ) . PHP_EOL, 3, dirname( __FILE__ ) . '/error.log' ); 2173 2280 2174 2281 } else { … … 2354 2461 */ 2355 2462 function cntctfrm_wp_enqueue_style() { 2356 global $cntctfrm_plugin_info; 2463 global $cntctfrm_plugin_info, $cntctfrm_options, $cntctfrm_form_count, $cntctfrm_stile_options; 2464 if ( empty( $cntctfrm_options ) ) { 2465 cntctfrm_settings(); 2466 } 2467 2357 2468 wp_enqueue_style( 'cntctfrm_form_style', plugins_url( 'css/form_style.css', __FILE__ ), false, $cntctfrm_plugin_info['Version'] ); 2469 if ( isset( $cntctfrm_options['display_esign'] ) && 1 === $cntctfrm_options['display_esign'] ) { 2470 wp_enqueue_script( 'cntctfrm_lemonade', plugins_url( 'js/lemonade.min.js', __FILE__ ), array(), '5.0.0', true ); 2471 wp_enqueue_script( 'cntctfrm_lemonade_signature', plugins_url( 'js/signature.min.js', __FILE__ ), array(), '5.0.0', true ); 2472 wp_enqueue_script( 'cntctfrm_signature', plugins_url( 'js/cntctfrm_signature.js', __FILE__ ), array(), '2.0', true ); 2473 $script_vars = array( 2474 'cntctfrm_sign_text' => esc_html__( 'Please sign in the box above', 'contact-form-plugin' ) 2475 ); 2476 wp_localize_script( 'cntctfrm_signature', 'cntctfrm_vars', $script_vars ); 2477 } 2358 2478 } 2359 2479 } -
contact-form-plugin/trunk/css/form_style.css
r3014821 r3427184 179 179 max-width: 100% !important; 180 180 } 181 .cntctfrm_field_esign_wrap { 182 position: relative; 183 } 184 div[id^='cntctfrm_esign_signature'] canvas { 185 background-color: #f0f0f0; 186 } 187 .cntctfrm_esign_reset { 188 cursor: pointer; 189 position: absolute; 190 top: -30px; 191 left: 300px; 192 width: 25px; 193 height: 25px; 194 font-size: 25px; 195 } -
contact-form-plugin/trunk/css/style.css
r2372356 r3427184 172 172 padding-top: 3px; 173 173 } 174 /* E-sign */ 175 #cntctfrm_contact_esign { 176 border: 1px solid #f0f0f1; 177 height: 50px; 178 background-color: #f0f0f1; 179 } 174 180 @media screen and (max-width: 1350px) { 175 181 #cntctfrm_additional_settings_tab .form-table td { -
contact-form-plugin/trunk/includes/class-cntctfrm-settings.php
r3356051 r3427184 300 300 $this->options['dropdown_value_1'] = isset( $_POST['cntctfrm_dropdown_value_1'] ) ? sanitize_text_field( wp_unslash( $_POST['cntctfrm_dropdown_value_1'] ) ) : ''; 301 301 $this->options['dropdown_value_2'] = isset( $_POST['cntctfrm_dropdown_value_2'] ) ? sanitize_text_field( wp_unslash( $_POST['cntctfrm_dropdown_value_2'] ) ) : ''; 302 $this->options['display_dropdown'] = isset( $_POST['cntctfrm_display_dropdown'] ) ? 1 : 0;302 $this->options['display_dropdown'] = isset( $_POST['cntctfrm_display_dropdown'] ) ? 1 : 0; 303 303 $this->options['required_dropdown'] = isset( $_POST['cntctfrm_required_dropdown'] ) ? 1 : 0; 304 $this->options['display_esign'] = isset( $_POST['cntctfrm_display_esign'] ) ? 1 : 0; 305 $this->options['required_esign'] = isset( $_POST['cntctfrm_required_esign'] ) ? 1 : 0; 304 306 305 307 if ( 1 === $this->options['change_label'] && isset( $_POST['cntctfrm_name_label'] ) ) { … … 316 318 $this->options['attachment_tooltip'][ $key ] = isset( $_POST['cntctfrm_attachment_tooltip'][ $key ] ) ? sanitize_text_field( wp_unslash( $_POST['cntctfrm_attachment_tooltip'][ $key ] ) ) : ''; 317 319 $this->options['dropdown_label'][ $key ] = isset( $_POST['cntctfrm_dropdown_label'][ $key ] ) ? sanitize_text_field( wp_unslash( $_POST['cntctfrm_dropdown_label'][ $key ] ) ) : ''; 320 $this->options['esign_label'][ $key ] = isset( $_POST['cntctfrm_esign_label'][ $key ] ) ? sanitize_text_field( wp_unslash( $_POST['cntctfrm_esign_label'][ $key ] ) ) : ''; 318 321 $this->options['send_copy_label'][ $key ] = isset( $_POST['cntctfrm_send_copy_label'][ $key ] ) ? sanitize_text_field( wp_unslash( $_POST['cntctfrm_send_copy_label'][ $key ] ) ) : ''; 319 322 $this->options['gdpr_label'][ $key ] = isset( $_POST['cntctfrm_gdpr_label'][ $key ] ) ? sanitize_text_field( wp_unslash( $_POST['cntctfrm_gdpr_label'][ $key ] ) ) : ''; … … 334 337 $this->options['captcha_error'][ $key ] = isset( $_POST['cntctfrm_captcha_error'][ $key ] ) ? sanitize_text_field( wp_unslash( $_POST['cntctfrm_captcha_error'][ $key ] ) ) : ''; 335 338 $this->options['dropdown_error'][ $key ] = isset( $_POST['cntctfrm_dropdown_error'][ $key ] ) ? sanitize_text_field( wp_unslash( $_POST['cntctfrm_dropdown_error'][ $key ] ) ) : ''; 339 $this->options['esign_error'][ $key ] = isset( $_POST['cntctfrm_esign_error'][ $key ] ) ? sanitize_text_field( wp_unslash( $_POST['cntctfrm_esign_error'][ $key ] ) ) : ''; 336 340 $this->options['form_error'][ $key ] = isset( $_POST['cntctfrm_form_error'][ $key ] ) ? sanitize_text_field( wp_unslash( $_POST['cntctfrm_form_error'][ $key ] ) ) : ''; 337 341 } … … 349 353 $this->options['attachment_tooltip'] = $option_defaults['attachment_tooltip']; 350 354 $this->options['dropdown_label'] = $option_defaults['dropdown_label']; 355 $this->options['esign_label'] = $option_defaults['esign_label']; 351 356 $this->options['send_copy_label'] = isset( $option_defaults['send_copy_label'] ) ? $option_defaults['send_copy_label'] : array( 'default' => __( 'Send me copy.', 'contact-form-plugin' ) ); 352 357 $this->options['gdpr_label'] = $option_defaults['gdpr_label']; … … 367 372 $this->options['captcha_error'] = $option_defaults['captcha_error']; 368 373 $this->options['dropdown_error'] = $option_defaults['dropdown_error']; 374 $this->options['esign_error'] = $option_defaults['esign_error']; 369 375 $this->options['form_error'] = $option_defaults['form_error']; 370 376 foreach ( $this->options['thank_text'] as $key => $val ) { … … 381 387 $this->options['attachment_tooltip']['default'] = $option_defaults['attachment_tooltip']['default']; 382 388 $this->options['dropdown_label']['default'] = isset( $option_defaults['dropdown_label']['default'] ) ? $option_defaults['dropdown_label']['default'] : array( 'default' => __( 'Dropdown', 'contact-form-plugin' ) ); 389 $this->options['esign_label']['default'] = isset( $option_defaults['esign_label']['default'] ) ? $option_defaults['esign_label']['default'] : array( 'default' => __( 'E-sign', 'contact-form-plugin' ) ); 383 390 $this->options['send_copy_label']['default'] = $option_defaults['send_copy_label']['default']; 384 391 $this->options['gdpr_label']['default'] = $option_defaults['gdpr_label']['default']; … … 398 405 $this->options['captcha_error']['default'] = $option_defaults['captcha_error']['default']; 399 406 $this->options['dropdown_error']['default'] = $option_defaults['dropdown_error']['default']; 407 $this->options['esign_error']['default'] = $option_defaults['esign_error']['default']; 400 408 $this->options['form_error']['default'] = $option_defaults['form_error']['default']; 401 409 … … 1059 1067 <label><?php esc_html_e( 'Value 2', 'contact-form-plugin' ); ?><br /><input type="text" name="cntctfrm_dropdown_value_2" maxlength="100"value="<?php echo esc_html( $this->options['dropdown_value_2'] ); ?>" /></label> 1060 1068 </td> 1069 <?php } ?> 1070 <?php do_action( 'cntctfrm_display_settings_table_emptiness' ); ?> 1071 </tr> 1072 <tr valign="top" class="cntctfrm-esign"> 1073 <td> 1074 <?php esc_html_e( 'E-sign', 'contact-form-plugin' ); ?> 1075 </td> 1076 <td> 1077 <label class="bws_info"><input type="checkbox" name="cntctfrm_display_esign" value="1" <?php checked( '1', $this->options['display_esign'] ); ?> /></label> 1078 </td> 1079 <td> 1080 <label><input type="checkbox" id="cntctfrm_required_esign" name="cntctfrm_required_esign" value="1" <?php checked( '1', $this->options['required_esign'] ); ?> /></label> 1081 </td> 1082 <?php if ( ! $this->hide_pro_tabs ) { ?> 1083 <td class="bws_pro_version"></td> 1084 <td class="bws_pro_version"></td> 1085 <td></td> 1086 <?php } else { ?> 1087 <td></td> 1061 1088 <?php } ?> 1062 1089 <?php do_action( 'cntctfrm_display_settings_table_emptiness' ); ?> … … 1405 1432 <input type="text" maxlength="250" name="cntctfrm_attachment_tooltip[default]" value="<?php echo esc_html( $this->options['attachment_tooltip']['default'] ); ?>" /> <span class="bws_info"><?php esc_html_e( 'Tips below the Attachment block', 'contact-form-plugin' ); ?></span><br /> 1406 1433 <input type="text" maxlength="250" name="cntctfrm_dropdown_label[default]" value="<?php echo esc_html( $this->options['dropdown_label']['default'] ); ?>" /> <span class="bws_info"><?php esc_html_e( 'Dropdown', 'contact-form-plugin' ); ?>:</span><br /> 1434 <input type="text" maxlength="250" name="cntctfrm_esign_label[default]" value="<?php echo esc_html( $this->options['esign_label']['default'] ); ?>" /> <span class="bws_info"><?php esc_html_e( 'E-sign', 'contact-form-plugin' ); ?>:</span><br /> 1407 1435 <input type="text" maxlength="250" name="cntctfrm_send_copy_label[default]" value="<?php echo esc_html( $this->options['send_copy_label']['default'] ); ?>" /> <span class="bws_info"><?php esc_html_e( 'Send me a copy', 'contact-form-plugin' ); ?></span><br /> 1408 1436 <input type="text" maxlength="250" name="cntctfrm_gdpr_label[default]" value="<?php echo esc_html( $this->options['gdpr_label']['default'] ); ?>" /> <span class="bws_info"><?php esc_html_e( 'I consent to having this site collect my personal data.', 'contact-form-plugin' ); ?></span><br /> … … 1422 1450 <input type="text" maxlength="250" name="cntctfrm_captcha_error[default]" value="<?php echo esc_html( $this->options['captcha_error']['default'] ); ?>" /> <span class="bws_info"><?php esc_html_e( 'Error message for the Captcha field', 'contact-form-plugin' ); ?></span><br /> 1423 1451 <input type="text" maxlength="250" name="cntctfrm_dropdown_error[default]" value="<?php echo esc_html( $this->options['dropdown_error']['default'] ); ?>" /> <span class="bws_info"><?php esc_html_e( 'Error message for the Dropdown field', 'contact-form-plugin' ); ?></span><br /> 1452 <input type="text" maxlength="250" name="cntctfrm_esign_error[default]" value="<?php echo esc_html( $this->options['esign_error']['default'] ); ?>" /> <span class="bws_info"><?php esc_html_e( 'Error message for the E-sign field', 'contact-form-plugin' ); ?></span><br /> 1424 1453 <input type="text" maxlength="250" name="cntctfrm_form_error[default]" value="<?php echo esc_html( $this->options['form_error']['default'] ); ?>" /> <span class="bws_info"><?php esc_html_e( 'Error message for the whole form', 'contact-form-plugin' ); ?></span><br /> 1425 1454 </div> … … 1451 1480 <input type="text" maxlength="250" name="cntctfrm_attachment_tooltip[<?php echo esc_attr( $val ); ?>]" value="<?php echo isset( $this->options['attachment_tooltip'][ $val ] ) ? esc_html( $this->options['attachment_tooltip'][ $val ] ) : ''; ?>" /> <span class="bws_info"><?php esc_html_e( 'Tips below the Attachment block', 'contact-form-plugin' ); ?></span><br /> 1452 1481 <input type="text" maxlength="250" name="cntctfrm_dropdown_label[<?php echo esc_attr( $val ); ?>]" value="<?php echo isset( $this->options['dropdown_label'][ $val ] ) ? esc_html( $this->options['dropdown_label'][ $val ] ) : ''; ?>" /> <span class="bws_info"><?php esc_html_e( 'Dropdown', 'contact-form-plugin' ); ?>:</span><br /> 1482 <input type="text" maxlength="250" name="cntctfrm_esign_label[<?php echo esc_attr( $val ); ?>]" value="<?php echo isset( $this->options['esign_label'][ $val ] ) ? esc_html( $this->options['esign_label'][ $val ] ) : ''; ?>" /> <span class="bws_info"><?php esc_html_e( 'E-sign', 'contact-form-plugin' ); ?>:</span><br /> 1453 1483 <input type="text" maxlength="250" name="cntctfrm_send_copy_label[<?php echo esc_attr( $val ); ?>]" value="<?php echo isset( $this->options['send_copy_label'][ $val ] ) ? esc_html( $this->options['send_copy_label'][ $val ] ) : ''; ?>" /> <span class="bws_info"><?php esc_html_e( 'Send me a copy', 'contact-form-plugin' ); ?></span><br /> 1454 1484 <input type="text" maxlength="250" name="cntctfrm_gdpr_label[<?php echo esc_attr( $val ); ?>]" value="<?php echo isset( $this->options['gdpr_label'][ $val ] ) ? esc_html( $this->options['gdpr_label'][ $val ] ) : ''; ?>" /> <span class="bws_info"><?php esc_html_e( 'I consent to having this site collect my personal data.', 'contact-form-plugin' ); ?></span><br /> … … 1468 1498 <input type="text" maxlength="250" name="cntctfrm_captcha_error[<?php echo esc_attr( $val ); ?>]" value="<?php echo isset( $this->options['captcha_error'][ $val ] ) ? esc_html( $this->options['captcha_error'][ $val ] ) : ''; ?>" /> <span class="bws_info"><?php esc_html_e( 'Error message for the Captcha field', 'contact-form-plugin' ); ?></span><br /> 1469 1499 <input type="text" maxlength="250" name="cntctfrm_dropdown_error[<?php echo esc_attr( $val ); ?>]" value="<?php echo isset( $this->options['dropdown_error'][ $val ] ) ? esc_html( $this->options['dropdown_error'][ $val ] ) : ''; ?>" /> <span class="bws_info"><?php esc_html_e( 'Error message for the Dropdown field', 'contact-form-plugin' ); ?></span><br /> 1500 <input type="text" maxlength="250" name="cntctfrm_esign_error[<?php echo esc_attr( $val ); ?>]" value="<?php echo isset( $this->options['esign_error'][ $val ] ) ? esc_html( $this->options['esign_error'][ $val ] ) : ''; ?>" /> <span class="bws_info"><?php esc_html_e( 'Error message for the E-sign field', 'contact-form-plugin' ); ?></span><br /> 1470 1501 <input type="text" maxlength="250" name="cntctfrm_form_error[<?php echo esc_attr( $val ); ?>]" value="<?php echo isset( $this->options['form_error'][ $val ] ) ? esc_html( $this->options['form_error'][ $val ] ) : ''; ?>" /> <span class="bws_info"><?php esc_html_e( 'Error message for the whole form', 'contact-form-plugin' ); ?></span><br /> 1471 1502 </div> … … 2220 2251 <?php 2221 2252 break; 2253 case 'cntctfrm_contact_esign': 2254 ?> 2255 <li class="cntctfrm_field_wrap"> 2256 <div class="cntctfrm_label cntctfrm_label_esign"> 2257 <label for="cntctfrm_contact_esign"> 2258 <?php 2259 echo esc_html( $this->options['esign_label']['default'] ); 2260 if ( 1 === absint( $this->options['required_esign'] ) ) { 2261 echo '<span class="required"> ' . esc_attr( $this->options['required_symbol'] ) . '</span>'; 2262 } 2263 ?> 2264 </label> 2265 </div> 2266 <div class="cntctfrm_error_text hidden"><?php echo esc_html( $this->options['esign_error']['default'] ); ?></div> 2267 <div class="cntctfrm_input cntctfrm_input_esign"> 2268 <div class="cntctfrm_drag_wrap"></div> 2269 <div class="bws_no_bind_notice" id="cntctfrm_contact_esign"><input type="hidden" name="cntctfrm_contact_esign" /></div> 2270 </div> 2271 </li> 2272 <?php 2273 break; 2222 2274 default: 2223 2275 break; -
contact-form-plugin/trunk/readme.txt
r3395797 r3427184 4 4 Tags: wp contact form, contact widget, shortcode contact form, contact button, contact page 5 5 Requires at least: 6.5 6 Tested up to: 6. 8.27 Stable tag: 4.3. 56 Tested up to: 6.9 7 Stable tag: 4.3.6 8 8 License: GPLv2 or later 9 9 License URI: http://www.gnu.org/licenses/gpl-2.0.html … … 76 76 * Advanced File Handling - Allow multiple file attachments 77 77 * Extended Form Fields - Enable additional pre-built form elements 78 * E-sign Form Field - Enable sign form element 78 79 * Two-Column Layout Option - Create professional multi-column forms 79 80 * Custom Form Width - Adjust form width to match your design … … 331 332 == Changelog == 332 333 334 = V4.3.6 - 25.12.2025 = 335 * Update : All functionality was updated for WordPress 6.9. 336 * NEW : E-sign field has been added. 337 333 338 = V4.3.5 - 14.11.2025 = 334 339 * Bugfix : HTML issue in the letters has been fixed. … … 746 751 == Upgrade Notice == 747 752 753 = V4.3.6 = 754 * The compatibility with new WordPress version updated. 755 * New features added. 756 748 757 = V4.3.5 = 749 758 * Bugs fixed.
Note: See TracChangeset
for help on using the changeset viewer.