Version Description
- Security (Hardening): Move from early escaping to late escaping variables on output (where appropriate)
- Security (Hardening): Add additional validation checks to the Core Font installer
- Security (Hardening): Escape text returned from WordPress l10n functions
- Security (Hardening): Escape any and all strings from the Gravity Forms form object, in any context (including PDFs)
- Security (Hardening): The ?html=1 and ?data=1 developer helper parameters now only work in non-production environments, or when Gravity PDF Debug Mode is explicitly enabled
- Security (Hardening): Prevent directory traversal when loading the various Gravity PDF UI components
- Developers: Added \GFPDF\Statics\Kses::output( $html ) and \GFPDF\Statics\Kses::parse( $html ) methods for use with sanitizing HTML in PDFs (as an alternative to wp_kses_post()).
- Performance: Register JavaScript in the footer on Gravity PDF admin pages
- Bug: Fix issue passing PDF URL to Gravity Forms Mailchimp add-on
Download this release
Release Info
Developer | Blue Liquid Designs |
Plugin | Gravity PDF |
Version | 6.4.0-RC1 |
Comparing to | |
See all releases |
Code changes from version 6.3.1 to 6.4.0-RC1
- README.txt +18 -3
- api.php +27 -9
- dist/assets/js/admin.min.js +1 -1
- dist/assets/js/app.bundle.min.js +1 -1
- dist/assets/js/gfpdf-entries.min.js +1 -1
- pdf.php +7 -7
- src/Controller/Controller_Custom_Fonts.php +3 -3
- src/Controller/Controller_Form_Settings.php +8 -5
- src/Controller/Controller_Mergetags.php +1 -0
- src/Controller/Controller_PDF.php +3 -2
- src/Controller/Controller_Save_Core_Fonts.php +41 -6
- src/Controller/Controller_Settings.php +5 -1
- src/Controller/Controller_Uninstaller.php +1 -1
- src/Helper/Fields/Field_Checkbox.php +3 -2
- src/Helper/Fields/Field_Consent.php +3 -2
- src/Helper/Fields/Field_Email.php +1 -1
- src/Helper/Fields/Field_Fileupload.php +1 -1
- src/Helper/Fields/Field_Form.php +13 -2
- src/Helper/Fields/Field_Html.php +2 -1
- src/Helper/Fields/Field_List.php +11 -4
- src/Helper/Fields/Field_Multiselect.php +3 -3
- src/Helper/Fields/Field_Post_Content.php +2 -1
- src/Helper/Fields/Field_Post_Image.php +5 -5
- src/Helper/Fields/Field_Product.php +5 -4
- src/Helper/Fields/Field_Products.php +35 -28
- src/Helper/Fields/Field_Radio.php +3 -2
- src/Helper/Fields/Field_Repeater.php +27 -5
- src/Helper/Fields/Field_Section.php +13 -5
- src/Helper/Fields/Field_Shipping.php +2 -2
- src/Helper/Fields/Field_Signature.php +2 -2
- src/Helper/Fields/Field_Slim.php +2 -2
- src/Helper/Fields/Field_Slim_Post.php +2 -2
- src/Helper/Fields/Field_Textarea.php +2 -1
- src/Helper/Fields/Field_Tos.php +2 -1
- src/Helper/Fields/Field_V3_List.php +1 -1
- src/Helper/Fields/Field_V3_Products.php +7 -2
- src/Helper/Fields/Field_V3_Section.php +9 -2
- src/Helper/Fields/Field_Website.php +1 -1
- src/Helper/Helper_Abstract_Addon.php +4 -4
- src/Helper/Helper_Abstract_Fields.php +52 -4
- src/Helper/Helper_Abstract_Options.php +538 -253
- src/Helper/Helper_Abstract_Pdf_Shortcode.php +7 -2
- src/Helper/Helper_Abstract_View.php +14 -13
- src/Helper/Helper_Data.php +4 -15
- src/Helper/Helper_Field_Container.php +3 -1
- src/Helper/Helper_Field_Container_Gf25.php +2 -1
- src/Helper/Helper_Logger.php +2 -2
- src/Helper/Helper_Misc.php +23 -25
- src/Helper/Helper_Notices.php +2 -4
- src/Helper/Helper_PDF.php +34 -17
- src/Helper/Helper_PDF_List_Table.php +28 -32
- src/Helper/Helper_Pdf_Queue.php +2 -2
- src/Helper/Helper_Sha256_Url_Signer.php +2 -1
- src/Helper/Helper_Templates.php +2 -1
- src/Model/Model_Form_Settings.php +28 -15
- src/Model/Model_Install.php +2 -2
- src/Model/Model_Mergetags.php +18 -1
- src/Model/Model_PDF.php +3 -4
- src/Model/Model_Settings.php +10 -9
- src/Model/Model_Shortcodes.php +1 -1
- src/Model/Model_System_Report.php +1 -1
- src/Model/Model_Templates.php +7 -6
- src/Statics/Kses.php +169 -0
- src/View/View_Form_Settings.php +15 -7
- src/View/View_GravityForm_Settings_Markup.php +30 -14
- src/View/View_PDF.php +58 -59
- src/View/View_Settings.php +47 -26
- src/View/html/Actions/action_buttons.php +3 -3
- src/View/html/FormSettings/add_edit.php +19 -9
- src/View/html/FormSettings/list.php +2 -2
- src/View/html/GravityForms/fieldset.php +63 -25
- src/View/html/GravityForms/settings_field.php +3 -3
- src/View/html/PDF/core_template_styles.php +23 -20
- src/View/html/PDF/entry_detailed_pdf.php +4 -4
- src/View/html/PDF/entry_list_pdf_multiple.php +6 -6
- src/View/html/PDF/entry_list_pdf_single.php +4 -2
- src/View/html/PDF/entry_no_valid_pdf.php +1 -1
- src/View/html/PDF/form_title.php +1 -1
- src/View/html/PDF/page_title.php +2 -2
- src/View/html/Settings/extensions.php +0 -1
- src/View/html/Settings/general.php +15 -4
- src/View/html/Settings/help.php +1 -1
- src/View/html/Settings/licence.php +14 -4
- src/View/html/Settings/tabs.php +6 -6
- src/View/html/Settings/tools.php +14 -3
- src/View/html/Shortcodes/gravitypdf.php +6 -7
- src/View/html/Uninstaller/uninstall_button.php +8 -8
- src/assets/languages/gravity-forms-pdf-extended.pot +239 -235
- src/autoload.php +4 -4
- src/bootstrap.php +7 -7
- src/deprecated.php +32 -32
- src/templates/blank-slate.php +1 -1
- src/templates/focus-gravity.php +13 -13
- src/templates/rubix.php +5 -5
- src/templates/zadani.php +3 -3
- vendor/composer/autoload_classmap.php +1 -0
- vendor/composer/autoload_static.php +1 -0
- vendor/composer/installed.json +7 -7
- vendor/composer/installed.php +9 -9
- vendor_prefixed/monolog/src/Monolog/ErrorHandler.php +10 -5
- vendor_prefixed/monolog/src/Monolog/Handler/RotatingFileHandler.php +1 -1
- vendor_prefixed/monolog/src/Monolog/Logger.php +24 -8
- vendor_prefixed/monolog/src/Monolog/Test/TestCase.php +2 -0
README.txt
CHANGED
@@ -72,15 +72,19 @@ Keep up to date with Gravity PDF by [subscribing to the newsletter](https://grav
|
|
72 |
|
73 |
If you enjoy using the software [we'd love it if you could give us a review!](https://wordpress.org/support/view/plugin-reviews/gravity-forms-pdf-extended)
|
74 |
|
75 |
-
_Note: When Gravity Forms isn't installed and you activate Gravity PDF we display a notice that includes an affiliate link to their website._
|
76 |
-
|
77 |
== Installation ==
|
78 |
|
79 |
Gravity PDF can be run on most modern shared web hosting without any issues. It requires **PHP 7.3+** and at least 128MB of WP Memory. You'll also need to be running WordPress 5.3+ and have [Gravity Forms 2.5+](https://rocketgenius.pxf.io/c/1211356/445235/7938) (affiliate link).
|
80 |
|
81 |
[You'll find detailed installation instructions at docs.gravitypdf.com](https://docs.gravitypdf.com/v6/users/five-minute-install).
|
82 |
|
83 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
84 |
|
85 |
== Screenshots ==
|
86 |
|
@@ -103,6 +107,17 @@ _If you aren't able to meet the v6 minimum requirements [you can download v5 whi
|
|
103 |
|
104 |
== Changelog ==
|
105 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
106 |
= 6.3.1 =
|
107 |
* Security: Prevent potential XSS attack by escaping URL returned from add_query_args() on the PDF List or PDF Form Settings pages
|
108 |
* Developer: Apply `gfpdf_current_form_object` filter added in 6.3.0 to the form object in Helper_Abstract_Fields.php using the $type `helper_abstract_fields`.
|
72 |
|
73 |
If you enjoy using the software [we'd love it if you could give us a review!](https://wordpress.org/support/view/plugin-reviews/gravity-forms-pdf-extended)
|
74 |
|
|
|
|
|
75 |
== Installation ==
|
76 |
|
77 |
Gravity PDF can be run on most modern shared web hosting without any issues. It requires **PHP 7.3+** and at least 128MB of WP Memory. You'll also need to be running WordPress 5.3+ and have [Gravity Forms 2.5+](https://rocketgenius.pxf.io/c/1211356/445235/7938) (affiliate link).
|
78 |
|
79 |
[You'll find detailed installation instructions at docs.gravitypdf.com](https://docs.gravitypdf.com/v6/users/five-minute-install).
|
80 |
|
81 |
+
If you aren't able to meet the v6 minimum requirements [you can download v5 which we still provide support for](https://wordpress.org/plugins/gravity-forms-pdf-extended/advanced/#download-previous-link).
|
82 |
+
|
83 |
+
**Disclaimers**
|
84 |
+
|
85 |
+
* When you activate Gravity PDF on your website and Gravity Forms isn't installed a notice will be displayed in the admin area that includes an affiliate link to the Gravity Forms website.
|
86 |
+
* After activating the plugin you will be prompted to [run the Core Font Installation tool](https://docs.gravitypdf.com/v6/users/core-pdf-fonts) so Gravity PDF can function correctly. This tool will download the fonts [from a public _GitHub_ repository (maintained by Gravity PDF)](https://github.com/gravityPDF/mpdf-core-fonts). For further information about _GitHub_ you can refer to their [Terms of Service](https://docs.github.com/en/site-policy/github-terms/github-terms-of-service) and/or [Privacy Statement](https://docs.github.com/en/site-policy/privacy-policies/github-privacy-statement#the-short-version).
|
87 |
+
* [A Help page is provided in the plugin's settings](https://docs.gravitypdf.com/v6/users/global-settings#help-tab) with an instant search feature [of the Gravity PDF documentation](https://docs.gravitypdf.com/v6/users/five-minute-install/), and the search is powered by _Algolia_. For further information about _Algolia_ you can refer to their [Terms of Service](https://www.algolia.com/policies/terms/) and/or [Privacy Statement](https://www.algolia.com/policies/privacy/).
|
88 |
|
89 |
== Screenshots ==
|
90 |
|
107 |
|
108 |
== Changelog ==
|
109 |
|
110 |
+
= 6.4.0-RC1 =
|
111 |
+
* Security (Hardening): Move from early escaping to late escaping variables on output (where appropriate)
|
112 |
+
* Security (Hardening): Add additional validation checks to the Core Font installer
|
113 |
+
* Security (Hardening): Escape text returned from WordPress l10n functions
|
114 |
+
* Security (Hardening): Escape any and all strings from the Gravity Forms form object, in any context (including PDFs)
|
115 |
+
* Security (Hardening): The ?html=1 and ?data=1 developer helper parameters now only work in non-production environments, or when Gravity PDF Debug Mode is explicitly enabled
|
116 |
+
* Security (Hardening): Prevent directory traversal when loading the various Gravity PDF UI components
|
117 |
+
* Developers: Added \GFPDF\Statics\Kses::output( $html ) and \GFPDF\Statics\Kses::parse( $html ) methods for use with sanitizing HTML in PDFs (as an alternative to wp_kses_post()).
|
118 |
+
* Performance: Register JavaScript in the footer on Gravity PDF admin pages
|
119 |
+
* Bug: Fix issue passing PDF URL to Gravity Forms Mailchimp add-on
|
120 |
+
|
121 |
= 6.3.1 =
|
122 |
* Security: Prevent potential XSS attack by escaping URL returned from add_query_args() on the PDF List or PDF Form Settings pages
|
123 |
* Developer: Apply `gfpdf_current_form_object` filter added in 6.3.0 to the form object in Helper_Abstract_Fields.php using the $type `helper_abstract_fields`.
|
api.php
CHANGED
@@ -510,12 +510,18 @@ final class GPDFAPI {
|
|
510 |
if ( ! $products->is_empty() ) {
|
511 |
|
512 |
if ( $return ) {
|
513 |
-
|
|
|
|
|
|
|
514 |
}
|
515 |
|
516 |
-
|
|
|
517 |
}
|
518 |
|
|
|
|
|
519 |
return null;
|
520 |
}
|
521 |
|
@@ -546,18 +552,22 @@ final class GPDFAPI {
|
|
546 |
/* Find our field ID, if any */
|
547 |
foreach ( $form['fields'] as $field ) {
|
548 |
|
549 |
-
|
550 |
-
if ( $field->id == $field_id && $field->inputType == 'likert' ) {
|
551 |
-
/* phpcs:enable */
|
552 |
|
553 |
/* Output our likert */
|
554 |
$likert = new GFPDF\Helper\Fields\Field_Likert( $field, $entry, $gfpdf->gform, $gfpdf->misc );
|
555 |
|
556 |
if ( $return ) {
|
557 |
-
|
|
|
|
|
|
|
558 |
}
|
559 |
|
560 |
-
|
|
|
|
|
|
|
561 |
break;
|
562 |
}
|
563 |
}
|
@@ -607,7 +617,12 @@ final class GPDFAPI {
|
|
607 |
public static function add_pdf_font( $font ) {
|
608 |
|
609 |
$installed_fonts = static::get_pdf_fonts();
|
610 |
-
|
|
|
|
|
|
|
|
|
|
|
611 |
return true;
|
612 |
}
|
613 |
|
@@ -623,6 +638,7 @@ final class GPDFAPI {
|
|
623 |
|
624 |
foreach ( $controller->get_font_keys() as $id ) {
|
625 |
if ( isset( $font[ $id ] ) && is_file( $font[ $id ] ) ) {
|
|
|
626 |
$_FILES[ $id ] = [
|
627 |
'file' => file_get_contents( $font[ $id ] ),
|
628 |
'name' => basename( $font[ $id ] ),
|
@@ -684,7 +700,9 @@ final class GPDFAPI {
|
|
684 |
* @since 4.4
|
685 |
*/
|
686 |
public static function get_form_data( $entry_id ) {
|
687 |
-
$gform
|
|
|
|
|
688 |
$pdf_model = self::get_mvc_class( 'Model_PDF' );
|
689 |
$entry = $gform->get_entry( $entry_id );
|
690 |
|
510 |
if ( ! $products->is_empty() ) {
|
511 |
|
512 |
if ( $return ) {
|
513 |
+
$html = $products->html();
|
514 |
+
unset( $products );
|
515 |
+
|
516 |
+
return $html;
|
517 |
}
|
518 |
|
519 |
+
$products->enable_output();
|
520 |
+
$products->html();
|
521 |
}
|
522 |
|
523 |
+
unset( $products );
|
524 |
+
|
525 |
return null;
|
526 |
}
|
527 |
|
552 |
/* Find our field ID, if any */
|
553 |
foreach ( $form['fields'] as $field ) {
|
554 |
|
555 |
+
if ( (int) $field->id === (int) $field_id && $field->inputType === 'likert' ) {
|
|
|
|
|
556 |
|
557 |
/* Output our likert */
|
558 |
$likert = new GFPDF\Helper\Fields\Field_Likert( $field, $entry, $gfpdf->gform, $gfpdf->misc );
|
559 |
|
560 |
if ( $return ) {
|
561 |
+
$html = $likert->html();
|
562 |
+
unset( $likert );
|
563 |
+
|
564 |
+
return $html;
|
565 |
}
|
566 |
|
567 |
+
$likert->enable_output();
|
568 |
+
$likert->html();
|
569 |
+
unset( $likert );
|
570 |
+
|
571 |
break;
|
572 |
}
|
573 |
}
|
617 |
public static function add_pdf_font( $font ) {
|
618 |
|
619 |
$installed_fonts = static::get_pdf_fonts();
|
620 |
+
|
621 |
+
$font_name = $font['font_name'] ?? '';
|
622 |
+
$user_defined_font_list = $installed_fonts[ esc_html__( 'User-Defined Fonts', 'gravity-forms-pdf-extended' ) ] ?? [];
|
623 |
+
|
624 |
+
/* Font with same name already exists */
|
625 |
+
if ( in_array( $font_name, $user_defined_font_list, true ) ) {
|
626 |
return true;
|
627 |
}
|
628 |
|
638 |
|
639 |
foreach ( $controller->get_font_keys() as $id ) {
|
640 |
if ( isset( $font[ $id ] ) && is_file( $font[ $id ] ) ) {
|
641 |
+
/* phpcs:disable WordPress.WP.AlternativeFunctions.file_get_contents_file_get_contents */
|
642 |
$_FILES[ $id ] = [
|
643 |
'file' => file_get_contents( $font[ $id ] ),
|
644 |
'name' => basename( $font[ $id ] ),
|
700 |
* @since 4.4
|
701 |
*/
|
702 |
public static function get_form_data( $entry_id ) {
|
703 |
+
$gform = self::get_form_class();
|
704 |
+
|
705 |
+
/** @var \GFPDF\Model\Model_PDF $pdf_model */
|
706 |
$pdf_model = self::get_mvc_class( 'Model_PDF' );
|
707 |
$entry = $gform->get_entry( $entry_id );
|
708 |
|
dist/assets/js/admin.min.js
CHANGED
@@ -1 +1 @@
|
|
1 |
-
!function(t){var n={};function e(r){if(n[r])return n[r].exports;var i=n[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,e),i.l=!0,i.exports}e.m=t,e.c=n,e.d=function(t,n,r){e.o(t,n)||Object.defineProperty(t,n,{enumerable:!0,get:r})},e.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},e.t=function(t,n){if(1&n&&(t=e(t)),8&n)return t;if(4&n&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(e.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&n&&"string"!=typeof t)for(var i in t)e.d(r,i,function(n){return t[n]}.bind(null,i));return r},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,n){return Object.prototype.hasOwnProperty.call(t,n)},e.p="/home/runner/work/gravity-pdf/gravity-pdf/tmp/package/6.3.1/dist/",e(e.s=211)}([,,function(t,n){t.exports=jQuery},,function(t,n,e){(function(n){var e=function(t){return t&&t.Math==Math&&t};t.exports=e("object"==typeof globalThis&&globalThis)||e("object"==typeof window&&window)||e("object"==typeof self&&self)||e("object"==typeof n&&n)||Function("return this")()}).call(this,e(84))},function(t,n){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,n,e){var r=e(4),i=e(61),o=e(9),a=e(63),c=e(64),f=e(101),s=i("wks"),u=r.Symbol,l=f?u:u&&u.withoutSetter||a;t.exports=function(t){return o(s,t)||(c&&o(u,t)?s[t]=u[t]:s[t]=l("Symbol."+t)),s[t]}},function(t,n,e){var r=e(4),i=e(45).f,o=e(14),a=e(26),c=e(50),f=e(102),s=e(85);t.exports=function(t,n){var e,u,l,p,d,g=t.target,v=t.global,h=t.stat;if(e=v?r:h?r[g]||c(g,{}):(r[g]||{}).prototype)for(u in n){if(p=n[u],l=t.noTargetGet?(d=i(e,u))&&d.value:e[u],!s(v?u:g+(h?".":"#")+u,t.forced)&&void 0!==l){if(typeof p==typeof l)continue;f(p,l)}(t.sham||l&&l.sham)&&o(p,"sham",!0),a(e,u,p,t)}}},function(t,n,e){var r=e(11);t.exports=function(t){if(!r(t))throw TypeError(String(t)+" is not an object");return t}},function(t,n){var e={}.hasOwnProperty;t.exports=function(t,n){return e.call(t,n)}},function(t,n,e){var r=e(5);t.exports=!r((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]}))},function(t,n){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},function(t,n,e){var r=e(10),i=e(76),o=e(8),a=e(51),c=Object.defineProperty;n.f=r?c:function(t,n,e){if(o(t),n=a(n,!0),o(e),i)try{return c(t,n,e)}catch(t){}if("get"in e||"set"in e)throw TypeError("Accessors not supported");return"value"in e&&(t[n]=e.value),t}},,function(t,n,e){var r=e(10),i=e(12),o=e(34);t.exports=r?function(t,n,e){return i.f(t,n,o(1,e))}:function(t,n,e){return t[n]=e,t}},,,,,function(t,n,e){"use strict";var r=e(7),i=e(48).find,o=e(86),a=e(33),c=!0,f=a("find");"find"in[]&&Array(1).find((function(){c=!1})),r({target:"Array",proto:!0,forced:c||!f},{find:function(t){return i(this,t,arguments.length>1?arguments[1]:void 0)}}),o("find")},function(t,n,e){var r=e(59),i=e(22);t.exports=function(t){return r(i(t))}},function(t,n,e){var r=e(35),i=Math.min;t.exports=function(t){return t>0?i(r(t),9007199254740991):0}},function(t,n){t.exports=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t}},function(t,n,e){var r=e(22);t.exports=function(t){return Object(r(t))}},function(t,n){var e={}.toString;t.exports=function(t){return e.call(t).slice(8,-1)}},function(t,n,e){"use strict";var r=e(117).charAt,i=e(47),o=e(132),a=i.set,c=i.getterFor("String Iterator");o(String,"String",(function(t){a(this,{type:"String Iterator",string:String(t),index:0})}),(function(){var t,n=c(this),e=n.string,i=n.index;return i>=e.length?{value:void 0,done:!0}:(t=r(e,i),n.index+=t.length,{value:t,done:!1})}))},function(t,n,e){var r=e(4),i=e(14),o=e(9),a=e(50),c=e(65),f=e(47),s=f.get,u=f.enforce,l=String(String).split("String");(t.exports=function(t,n,e,c){var f=!!c&&!!c.unsafe,s=!!c&&!!c.enumerable,p=!!c&&!!c.noTargetGet;"function"==typeof e&&("string"!=typeof n||o(e,"name")||i(e,"name",n),u(e).source=l.join("string"==typeof n?n:"")),t!==r?(f?!p&&t[n]&&(s=!0):delete t[n],s?t[n]=e:i(t,n,e)):s?t[n]=e:a(n,e)})(Function.prototype,"toString",(function(){return"function"==typeof this&&s(this).source||c(this)}))},function(t,n,e){var r=e(104),i=e(4),o=function(t){return"function"==typeof t?t:void 0};t.exports=function(t,n){return arguments.length<2?o(r[t])||o(i[t]):r[t]&&r[t][n]||i[t]&&i[t][n]}},,function(t,n,e){"use strict";var r=e(26),i=e(8),o=e(5),a=e(97),c=RegExp.prototype,f=c.toString,s=o((function(){return"/a/b"!=f.call({source:"a",flags:"b"})})),u="toString"!=f.name;(s||u)&&r(RegExp.prototype,"toString",(function(){var t=i(this),n=String(t.source),e=t.flags;return"/"+n+"/"+String(void 0===e&&t instanceof RegExp&&!("flags"in c)?a.call(t):e)}),{unsafe:!0})},,,,function(t,n,e){var r=e(10),i=e(5),o=e(9),a=Object.defineProperty,c={},f=function(t){throw t};t.exports=function(t,n){if(o(c,t))return c[t];n||(n={});var e=[][t],s=!!o(n,"ACCESSORS")&&n.ACCESSORS,u=o(n,0)?n[0]:f,l=o(n,1)?n[1]:void 0;return c[t]=!!e&&!i((function(){if(s&&!r)return!0;var t={length:-1};s?a(t,1,{enumerable:!0,get:f}):t[1]=1,e.call(t,u,l)}))}},function(t,n){t.exports=function(t,n){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:n}}},function(t,n){var e=Math.ceil,r=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?r:e)(t)}},,,,,,function(t,n,e){"use strict";var r=e(7),i=e(73);r({target:"RegExp",proto:!0,forced:/./.exec!==i},{exec:i})},function(t,n,e){"use strict";var r=e(7),i=e(48).map,o=e(90),a=e(33),c=o("map"),f=a("map");r({target:"Array",proto:!0,forced:!c||!f},{map:function(t){return i(this,t,arguments.length>1?arguments[1]:void 0)}})},function(t,n){t.exports=function(t){if("function"!=typeof t)throw TypeError(String(t)+" is not a function");return t}},function(t,n){t.exports={}},function(t,n,e){var r=e(10),i=e(77),o=e(34),a=e(20),c=e(51),f=e(9),s=e(76),u=Object.getOwnPropertyDescriptor;n.f=r?u:function(t,n){if(t=a(t),n=c(n,!0),s)try{return u(t,n)}catch(t){}if(f(t,n))return o(!i.f.call(t,n),t[n])}},,function(t,n,e){var r,i,o,a=e(114),c=e(4),f=e(11),s=e(14),u=e(9),l=e(52),p=e(44),d=c.WeakMap;if(a){var g=new d,v=g.get,h=g.has,m=g.set;r=function(t,n){return m.call(g,t,n),n},i=function(t){return v.call(g,t)||{}},o=function(t){return h.call(g,t)}}else{var y=l("state");p[y]=!0,r=function(t,n){return s(t,y,n),n},i=function(t){return u(t,y)?t[y]:{}},o=function(t){return u(t,y)}}t.exports={set:r,get:i,has:o,enforce:function(t){return o(t)?i(t):r(t,{})},getterFor:function(t){return function(n){var e;if(!f(n)||(e=i(n)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return e}}}},function(t,n,e){var r=e(66),i=e(59),o=e(23),a=e(21),c=e(107),f=[].push,s=function(t){var n=1==t,e=2==t,s=3==t,u=4==t,l=6==t,p=5==t||l;return function(d,g,v,h){for(var m,y,_=o(d),x=i(_),b=r(g,v,3),w=a(x.length),S=0,E=h||c,O=n?E(d,w):e?E(d,0):void 0;w>S;S++)if((p||S in x)&&(y=b(m=x[S],S,_),t))if(n)O[S]=y;else if(y)switch(t){case 3:return!0;case 5:return m;case 6:return S;case 2:f.call(O,m)}else if(u)return!1;return l?-1:s||u?u:O}};t.exports={forEach:s(0),map:s(1),filter:s(2),some:s(3),every:s(4),find:s(5),findIndex:s(6)}},function(t,n){t.exports=!1},function(t,n,e){var r=e(4),i=e(14);t.exports=function(t,n){try{i(r,t,n)}catch(e){r[t]=n}return n}},function(t,n,e){var r=e(11);t.exports=function(t,n){if(!r(t))return t;var e,i;if(n&&"function"==typeof(e=t.toString)&&!r(i=e.call(t)))return i;if("function"==typeof(e=t.valueOf)&&!r(i=e.call(t)))return i;if(!n&&"function"==typeof(e=t.toString)&&!r(i=e.call(t)))return i;throw TypeError("Can't convert object to primitive value")}},function(t,n,e){var r=e(61),i=e(63),o=r("keys");t.exports=function(t){return o[t]||(o[t]=i(t))}},function(t,n){t.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},,function(t,n,e){var r=e(7),i=e(144);r({target:"Array",stat:!0,forced:!e(130)((function(t){Array.from(t)}))},{from:i})},function(t,n){t.exports={}},,function(t,n,e){"use strict";var r=e(7),i=e(48).filter,o=e(90),a=e(33),c=o("filter"),f=a("filter");r({target:"Array",proto:!0,forced:!c||!f},{filter:function(t){return i(this,t,arguments.length>1?arguments[1]:void 0)}})},function(t,n,e){var r=e(5),i=e(24),o="".split;t.exports=r((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==i(t)?o.call(t,""):Object(t)}:Object},,function(t,n,e){var r=e(49),i=e(75);(t.exports=function(t,n){return i[t]||(i[t]=void 0!==n?n:{})})("versions",[]).push({version:"3.6.5",mode:r?"pure":"global",copyright:"© 2020 Denis Pushkarev (zloirock.ru)"})},function(t,n,e){var r=e(4),i=e(11),o=r.document,a=i(o)&&i(o.createElement);t.exports=function(t){return a?o.createElement(t):{}}},function(t,n){var e=0,r=Math.random();t.exports=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++e+r).toString(36)}},function(t,n,e){var r=e(5);t.exports=!!Object.getOwnPropertySymbols&&!r((function(){return!String(Symbol())}))},function(t,n,e){var r=e(75),i=Function.toString;"function"!=typeof r.inspectSource&&(r.inspectSource=function(t){return i.call(t)}),t.exports=r.inspectSource},function(t,n,e){var r=e(43);t.exports=function(t,n,e){if(r(t),void 0===n)return t;switch(e){case 0:return function(){return t.call(n)};case 1:return function(e){return t.call(n,e)};case 2:return function(e,r){return t.call(n,e,r)};case 3:return function(e,r,i){return t.call(n,e,r,i)}}return function(){return t.apply(n,arguments)}}},function(t,n,e){var r=e(78),i=e(53);t.exports=Object.keys||function(t){return r(t,i)}},function(t,n,e){var r,i=e(8),o=e(118),a=e(53),c=e(44),f=e(106),s=e(62),u=e(52),l=u("IE_PROTO"),p=function(){},d=function(t){return"<script>"+t+"<\/script>"},g=function(){try{r=document.domain&&new ActiveXObject("htmlfile")}catch(t){}var t,n;g=r?function(t){t.write(d("")),t.close();var n=t.parentWindow.Object;return t=null,n}(r):((n=s("iframe")).style.display="none",f.appendChild(n),n.src=String("javascript:"),(t=n.contentWindow.document).open(),t.write(d("document.F=Object")),t.close(),t.F);for(var e=a.length;e--;)delete g.prototype[a[e]];return g()};c[l]=!0,t.exports=Object.create||function(t,n){var e;return null!==t?(p.prototype=i(t),e=new p,p.prototype=null,e[l]=t):e=g(),void 0===n?e:o(e,n)}},,,function(t,n,e){var r=e(10),i=e(12).f,o=Function.prototype,a=o.toString,c=/^\s*function ([^ (]*)/;r&&!("name"in o)&&i(o,"name",{configurable:!0,get:function(){try{return a.call(this).match(c)[1]}catch(t){return""}}})},function(t,n,e){var r=e(78),i=e(53).concat("length","prototype");n.f=Object.getOwnPropertyNames||function(t){return r(t,i)}},function(t,n,e){"use strict";var r,i,o=e(97),a=e(124),c=RegExp.prototype.exec,f=String.prototype.replace,s=c,u=(r=/a/,i=/b*/g,c.call(r,"a"),c.call(i,"a"),0!==r.lastIndex||0!==i.lastIndex),l=a.UNSUPPORTED_Y||a.BROKEN_CARET,p=void 0!==/()??/.exec("")[1];(u||p||l)&&(s=function(t){var n,e,r,i,a=this,s=l&&a.sticky,d=o.call(a),g=a.source,v=0,h=t;return s&&(-1===(d=d.replace("y","")).indexOf("g")&&(d+="g"),h=String(t).slice(a.lastIndex),a.lastIndex>0&&(!a.multiline||a.multiline&&"\n"!==t[a.lastIndex-1])&&(g="(?: "+g+")",h=" "+h,v++),e=new RegExp("^(?:"+g+")",d)),p&&(e=new RegExp("^"+g+"$(?!\\s)",d)),u&&(n=a.lastIndex),r=c.call(s?e:a,h),s?r?(r.input=r.input.slice(v),r[0]=r[0].slice(v),r.index=a.lastIndex,a.lastIndex+=r[0].length):a.lastIndex=0:u&&r&&(a.lastIndex=a.global?r.index+r[0].length:n),p&&r&&r.length>1&&f.call(r[0],e,(function(){for(i=1;i<arguments.length-2;i++)void 0===arguments[i]&&(r[i]=void 0)})),r}),t.exports=s},function(t,n,e){var r=e(24);t.exports=Array.isArray||function(t){return"Array"==r(t)}},function(t,n,e){var r=e(4),i=e(50),o=r["__core-js_shared__"]||i("__core-js_shared__",{});t.exports=o},function(t,n,e){var r=e(10),i=e(5),o=e(62);t.exports=!r&&!i((function(){return 7!=Object.defineProperty(o("div"),"a",{get:function(){return 7}}).a}))},function(t,n,e){"use strict";var r={}.propertyIsEnumerable,i=Object.getOwnPropertyDescriptor,o=i&&!r.call({1:2},1);n.f=o?function(t){var n=i(this,t);return!!n&&n.enumerable}:r},function(t,n,e){var r=e(9),i=e(20),o=e(96).indexOf,a=e(44);t.exports=function(t,n){var e,c=i(t),f=0,s=[];for(e in c)!r(a,e)&&r(c,e)&&s.push(e);for(;n.length>f;)r(c,e=n[f++])&&(~o(s,e)||s.push(e));return s}},,,,,,function(t,n){var e;e=function(){return this}();try{e=e||new Function("return this")()}catch(t){"object"==typeof window&&(e=window)}t.exports=e},function(t,n,e){var r=e(5),i=/#|\.prototype\./,o=function(t,n){var e=c[a(t)];return e==s||e!=f&&("function"==typeof n?r(n):!!n)},a=o.normalize=function(t){return String(t).replace(i,".").toLowerCase()},c=o.data={},f=o.NATIVE="N",s=o.POLYFILL="P";t.exports=o},function(t,n,e){var r=e(6),i=e(68),o=e(12),a=r("unscopables"),c=Array.prototype;null==c[a]&&o.f(c,a,{configurable:!0,value:i(null)}),t.exports=function(t){c[a][t]=!0}},,function(t,n){n.f=Object.getOwnPropertySymbols},function(t,n,e){var r=e(12).f,i=e(9),o=e(6)("toStringTag");t.exports=function(t,n,e){t&&!i(t=e?t:t.prototype,o)&&r(t,o,{configurable:!0,value:n})}},function(t,n,e){var r=e(5),i=e(6),o=e(115),a=i("species");t.exports=function(t){return o>=51||!r((function(){var n=[];return(n.constructor={})[a]=function(){return{foo:1}},1!==n[t](Boolean).foo}))}},,,function(t,n,e){"use strict";var r=e(98),i=e(8),o=e(23),a=e(21),c=e(35),f=e(22),s=e(112),u=e(99),l=Math.max,p=Math.min,d=Math.floor,g=/\$([$&'`]|\d\d?|<[^>]*>)/g,v=/\$([$&'`]|\d\d?)/g;r("replace",2,(function(t,n,e,r){var h=r.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE,m=r.REPLACE_KEEPS_$0,y=h?"$":"$0";return[function(e,r){var i=f(this),o=null==e?void 0:e[t];return void 0!==o?o.call(e,i,r):n.call(String(i),e,r)},function(t,r){if(!h&&m||"string"==typeof r&&-1===r.indexOf(y)){var o=e(n,t,this,r);if(o.done)return o.value}var f=i(t),d=String(this),g="function"==typeof r;g||(r=String(r));var v=f.global;if(v){var x=f.unicode;f.lastIndex=0}for(var b=[];;){var w=u(f,d);if(null===w)break;if(b.push(w),!v)break;""===String(w[0])&&(f.lastIndex=s(d,a(f.lastIndex),x))}for(var S,E="",O=0,A=0;A<b.length;A++){w=b[A];for(var j=String(w[0]),P=l(p(c(w.index),d.length),0),k=[],C=1;C<w.length;C++)k.push(void 0===(S=w[C])?S:String(S));var T=w.groups;if(g){var R=[j].concat(k,P,d);void 0!==T&&R.push(T);var I=String(r.apply(void 0,R))}else I=_(j,d,P,k,T,r);P>=O&&(E+=d.slice(O,P)+I,O=P+j.length)}return E+d.slice(O)}];function _(t,e,r,i,a,c){var f=r+t.length,s=i.length,u=v;return void 0!==a&&(a=o(a),u=g),n.call(c,u,(function(n,o){var c;switch(o.charAt(0)){case"$":return"$";case"&":return t;case"`":return e.slice(0,r);case"'":return e.slice(f);case"<":c=a[o.slice(1,-1)];break;default:var u=+o;if(0===u)return n;if(u>s){var l=d(u/10);return 0===l?n:l<=s?void 0===i[l-1]?o.charAt(1):i[l-1]+o.charAt(1):n}c=i[u-1]}return void 0===c?"":c}))}}))},,,function(t,n,e){var r=e(20),i=e(21),o=e(105),a=function(t){return function(n,e,a){var c,f=r(n),s=i(f.length),u=o(a,s);if(t&&e!=e){for(;s>u;)if((c=f[u++])!=c)return!0}else for(;s>u;u++)if((t||u in f)&&f[u]===e)return t||u||0;return!t&&-1}};t.exports={includes:a(!0),indexOf:a(!1)}},function(t,n,e){"use strict";var r=e(8);t.exports=function(){var t=r(this),n="";return t.global&&(n+="g"),t.ignoreCase&&(n+="i"),t.multiline&&(n+="m"),t.dotAll&&(n+="s"),t.unicode&&(n+="u"),t.sticky&&(n+="y"),n}},function(t,n,e){"use strict";e(41);var r=e(26),i=e(5),o=e(6),a=e(73),c=e(14),f=o("species"),s=!i((function(){var t=/./;return t.exec=function(){var t=[];return t.groups={a:"7"},t},"7"!=="".replace(t,"$<a>")})),u="$0"==="a".replace(/./,"$0"),l=o("replace"),p=!!/./[l]&&""===/./[l]("a","$0"),d=!i((function(){var t=/(?:)/,n=t.exec;t.exec=function(){return n.apply(this,arguments)};var e="ab".split(t);return 2!==e.length||"a"!==e[0]||"b"!==e[1]}));t.exports=function(t,n,e,l){var g=o(t),v=!i((function(){var n={};return n[g]=function(){return 7},7!=""[t](n)})),h=v&&!i((function(){var n=!1,e=/a/;return"split"===t&&((e={}).constructor={},e.constructor[f]=function(){return e},e.flags="",e[g]=/./[g]),e.exec=function(){return n=!0,null},e[g](""),!n}));if(!v||!h||"replace"===t&&(!s||!u||p)||"split"===t&&!d){var m=/./[g],y=e(g,""[t],(function(t,n,e,r,i){return n.exec===a?v&&!i?{done:!0,value:m.call(n,e,r)}:{done:!0,value:t.call(e,n,r)}:{done:!1}}),{REPLACE_KEEPS_$0:u,REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE:p}),_=y[0],x=y[1];r(String.prototype,t,_),r(RegExp.prototype,g,2==n?function(t,n){return x.call(t,this,n)}:function(t){return x.call(t,this)})}l&&c(RegExp.prototype[g],"sham",!0)}},function(t,n,e){var r=e(24),i=e(73);t.exports=function(t,n){var e=t.exec;if("function"==typeof e){var o=e.call(t,n);if("object"!=typeof o)throw TypeError("RegExp exec method returned something other than an Object or null");return o}if("RegExp"!==r(t))throw TypeError("RegExp#exec called on incompatible receiver");return i.call(t,n)}},,function(t,n,e){var r=e(64);t.exports=r&&!Symbol.sham&&"symbol"==typeof Symbol.iterator},function(t,n,e){var r=e(9),i=e(103),o=e(45),a=e(12);t.exports=function(t,n){for(var e=i(n),c=a.f,f=o.f,s=0;s<e.length;s++){var u=e[s];r(t,u)||c(t,u,f(n,u))}}},function(t,n,e){var r=e(27),i=e(72),o=e(88),a=e(8);t.exports=r("Reflect","ownKeys")||function(t){var n=i.f(a(t)),e=o.f;return e?n.concat(e(t)):n}},function(t,n,e){var r=e(4);t.exports=r},function(t,n,e){var r=e(35),i=Math.max,o=Math.min;t.exports=function(t,n){var e=r(t);return e<0?i(e+n,0):o(e,n)}},function(t,n,e){var r=e(27);t.exports=r("document","documentElement")},function(t,n,e){var r=e(11),i=e(74),o=e(6)("species");t.exports=function(t,n){var e;return i(t)&&("function"!=typeof(e=t.constructor)||e!==Array&&!i(e.prototype)?r(e)&&null===(e=e[o])&&(e=void 0):e=void 0),new(void 0===e?Array:e)(0===n?0:n)}},function(t,n,e){"use strict";var r=e(51),i=e(12),o=e(34);t.exports=function(t,n,e){var a=r(n);a in t?i.f(t,a,o(0,e)):t[a]=e}},function(t,n,e){var r=e(9),i=e(23),o=e(52),a=e(133),c=o("IE_PROTO"),f=Object.prototype;t.exports=a?Object.getPrototypeOf:function(t){return t=i(t),r(t,c)?t[c]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?f:null}},,,function(t,n,e){"use strict";var r=e(117).charAt;t.exports=function(t,n,e){return n+(e?r(t,n).length:1)}},function(t,n,e){var r={};r[e(6)("toStringTag")]="z",t.exports="[object z]"===String(r)},function(t,n,e){var r=e(4),i=e(65),o=r.WeakMap;t.exports="function"==typeof o&&/native code/.test(i(o))},function(t,n,e){var r,i,o=e(4),a=e(131),c=o.process,f=c&&c.versions,s=f&&f.v8;s?i=(r=s.split("."))[0]+r[1]:a&&(!(r=a.match(/Edge\/(\d+)/))||r[1]>=74)&&(r=a.match(/Chrome\/(\d+)/))&&(i=r[1]),t.exports=i&&+i},,function(t,n,e){var r=e(35),i=e(22),o=function(t){return function(n,e){var o,a,c=String(i(n)),f=r(e),s=c.length;return f<0||f>=s?t?"":void 0:(o=c.charCodeAt(f))<55296||o>56319||f+1===s||(a=c.charCodeAt(f+1))<56320||a>57343?t?c.charAt(f):o:t?c.slice(f,f+2):a-56320+(o-55296<<10)+65536}};t.exports={codeAt:o(!1),charAt:o(!0)}},function(t,n,e){var r=e(10),i=e(12),o=e(8),a=e(67);t.exports=r?Object.defineProperties:function(t,n){o(t);for(var e,r=a(n),c=r.length,f=0;c>f;)i.f(t,e=r[f++],n[e]);return t}},function(t,n,e){"use strict";var r,i,o,a=e(109),c=e(14),f=e(9),s=e(6),u=e(49),l=s("iterator"),p=!1;[].keys&&("next"in(o=[].keys())?(i=a(a(o)))!==Object.prototype&&(r=i):p=!0),null==r&&(r={}),u||f(r,l)||c(r,l,(function(){return this})),t.exports={IteratorPrototype:r,BUGGY_SAFARI_ITERATORS:p}},,function(t,n,e){"use strict";e.d(n,"a",(function(){return r})),e.d(n,"b",(function(){return i}));e(55),e(42),e(25);function r(t,n){var e=Array.from(t);e.pop(),e.map((function(t,e){"none"!==t.style.display&&(t.querySelector(".gform-settings-panel__collapsible-toggle-checkbox").addEventListener("click",(function(){i(t,n,e)})),i(t,n,e,"firstLoad"))}))}function i(t,n,e,r){var i="submit-container-"+e;if(!t.classList.contains("gform-settings-panel--collapsed")){var o=n.querySelector("#submit").cloneNode(!0);o.setAttribute("id","submit_"+e);var a=document.createElement("div");return a.setAttribute("class",i),a.innerHTML=o.outerHTML,t.parentNode.insertBefore(a,t.nextSibling)}r||document.querySelector(".".concat(i)).remove()}},,function(t,n,e){var r=e(11),i=e(24),o=e(6)("match");t.exports=function(t){var n;return r(t)&&(void 0!==(n=t[o])?!!n:"RegExp"==i(t))}},function(t,n,e){"use strict";var r=e(5);function i(t,n){return RegExp(t,n)}n.UNSUPPORTED_Y=r((function(){var t=i("a","y");return t.lastIndex=2,null!=t.exec("abcd")})),n.BROKEN_CARET=r((function(){var t=i("^r","gy");return t.lastIndex=2,null!=t.exec("str")}))},function(t,n,e){var r=e(8),i=e(146);t.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var t,n=!1,e={};try{(t=Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set).call(e,[]),n=e instanceof Array}catch(t){}return function(e,o){return r(e),i(o),n?t.call(e,o):e.__proto__=o,e}}():void 0)},function(t,n,e){var r=e(113),i=e(24),o=e(6)("toStringTag"),a="Arguments"==i(function(){return arguments}());t.exports=r?i:function(t){var n,e,r;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(e=function(t,n){try{return t[n]}catch(t){}}(n=Object(t),o))?e:a?i(n):"Object"==(r=i(n))&&"function"==typeof n.callee?"Arguments":r}},function(t,n,e){var r=e(6),i=e(56),o=r("iterator"),a=Array.prototype;t.exports=function(t){return void 0!==t&&(i.Array===t||a[o]===t)}},function(t,n,e){var r=e(126),i=e(56),o=e(6)("iterator");t.exports=function(t){if(null!=t)return t[o]||t["@@iterator"]||i[r(t)]}},function(t,n,e){var r=e(8);t.exports=function(t,n,e,i){try{return i?n(r(e)[0],e[1]):n(e)}catch(n){var o=t.return;throw void 0!==o&&r(o.call(t)),n}}},function(t,n,e){var r=e(6)("iterator"),i=!1;try{var o=0,a={next:function(){return{done:!!o++}},return:function(){i=!0}};a[r]=function(){return this},Array.from(a,(function(){throw 2}))}catch(t){}t.exports=function(t,n){if(!n&&!i)return!1;var e=!1;try{var o={};o[r]=function(){return{next:function(){return{done:e=!0}}}},t(o)}catch(t){}return e}},function(t,n,e){var r=e(27);t.exports=r("navigator","userAgent")||""},function(t,n,e){"use strict";var r=e(7),i=e(145),o=e(109),a=e(125),c=e(89),f=e(14),s=e(26),u=e(6),l=e(49),p=e(56),d=e(119),g=d.IteratorPrototype,v=d.BUGGY_SAFARI_ITERATORS,h=u("iterator"),m=function(){return this};t.exports=function(t,n,e,u,d,y,_){i(e,n,u);var x,b,w,S=function(t){if(t===d&&P)return P;if(!v&&t in A)return A[t];switch(t){case"keys":case"values":case"entries":return function(){return new e(this,t)}}return function(){return new e(this)}},E=n+" Iterator",O=!1,A=t.prototype,j=A[h]||A["@@iterator"]||d&&A[d],P=!v&&j||S(d),k="Array"==n&&A.entries||j;if(k&&(x=o(k.call(new t)),g!==Object.prototype&&x.next&&(l||o(x)===g||(a?a(x,g):"function"!=typeof x[h]&&f(x,h,m)),c(x,E,!0,!0),l&&(p[E]=m))),"values"==d&&j&&"values"!==j.name&&(O=!0,P=function(){return j.call(this)}),l&&!_||A[h]===P||f(A,h,P),p[n]=P,d)if(b={values:S("values"),keys:y?P:S("keys"),entries:S("entries")},_)for(w in b)(v||O||!(w in A))&&s(A,w,b[w]);else r({target:n,proto:!0,forced:v||O},b);return b}},function(t,n,e){var r=e(5);t.exports=!r((function(){function t(){}return t.prototype.constructor=null,Object.getPrototypeOf(new t)!==t.prototype}))},,,,,,,,function(t,n,e){"use strict";var r=e(27),i=e(12),o=e(6),a=e(10),c=o("species");t.exports=function(t){var n=r(t),e=i.f;a&&n&&!n[c]&&e(n,c,{configurable:!0,get:function(){return this}})}},function(t,n,e){var r=e(8),i=e(43),o=e(6)("species");t.exports=function(t,n){var e,a=r(t).constructor;return void 0===a||null==(e=r(a)[o])?n:i(e)}},,function(t,n,e){"use strict";var r=e(66),i=e(23),o=e(129),a=e(127),c=e(21),f=e(108),s=e(128);t.exports=function(t){var n,e,u,l,p,d,g=i(t),v="function"==typeof this?this:Array,h=arguments.length,m=h>1?arguments[1]:void 0,y=void 0!==m,_=s(g),x=0;if(y&&(m=r(m,h>2?arguments[2]:void 0,2)),null==_||v==Array&&a(_))for(e=new v(n=c(g.length));n>x;x++)d=y?m(g[x],x):g[x],f(e,x,d);else for(p=(l=_.call(g)).next,e=new v;!(u=p.call(l)).done;x++)d=y?o(l,m,[u.value,x],!0):u.value,f(e,x,d);return e.length=x,e}},function(t,n,e){"use strict";var r=e(119).IteratorPrototype,i=e(68),o=e(34),a=e(89),c=e(56),f=function(){return this};t.exports=function(t,n,e){var s=n+" Iterator";return t.prototype=i(r,{next:o(1,e)}),a(t,s,!1,!0),c[s]=f,t}},function(t,n,e){var r=e(11);t.exports=function(t){if(!r(t)&&null!==t)throw TypeError("Can't set "+String(t)+" as a prototype");return t}},,,,,,,,,,,,,,,,,,,function(t,n,e){"use strict";e(7)({target:"URL",proto:!0,enumerable:!0},{toJSON:function(){return URL.prototype.toString.call(this)}})},,,,,,function(t,n,e){var r=e(10),i=e(4),o=e(85),a=e(172),c=e(12).f,f=e(72).f,s=e(123),u=e(97),l=e(124),p=e(26),d=e(5),g=e(47).set,v=e(141),h=e(6)("match"),m=i.RegExp,y=m.prototype,_=/a/g,x=/a/g,b=new m(_)!==_,w=l.UNSUPPORTED_Y;if(r&&o("RegExp",!b||w||d((function(){return x[h]=!1,m(_)!=_||m(x)==x||"/a/i"!=m(_,"i")})))){for(var S=function(t,n){var e,r=this instanceof S,i=s(t),o=void 0===n;if(!r&&i&&t.constructor===S&&o)return t;b?i&&!o&&(t=t.source):t instanceof S&&(o&&(n=u.call(t)),t=t.source),w&&(e=!!n&&n.indexOf("y")>-1)&&(n=n.replace(/y/g,""));var c=a(b?new m(t,n):m(t,n),r?this:y,S);return w&&e&&g(c,{sticky:e}),c},E=function(t){t in S||c(S,t,{configurable:!0,get:function(){return m[t]},set:function(n){m[t]=n}})},O=f(m),A=0;O.length>A;)E(O[A++]);y.constructor=S,S.prototype=y,p(i,"RegExp",S)}v("RegExp")},function(t,n,e){var r=e(11),i=e(125);t.exports=function(t,n,e){var o,a;return i&&"function"==typeof(o=n.constructor)&&o!==e&&r(a=o.prototype)&&a!==e.prototype&&i(t,a),t}},function(t,n,e){"use strict";var r=e(98),i=e(123),o=e(8),a=e(22),c=e(142),f=e(112),s=e(21),u=e(99),l=e(73),p=e(5),d=[].push,g=Math.min,v=!p((function(){return!RegExp(4294967295,"y")}));r("split",2,(function(t,n,e){var r;return r="c"=="abbc".split(/(b)*/)[1]||4!="test".split(/(?:)/,-1).length||2!="ab".split(/(?:ab)*/).length||4!=".".split(/(.?)(.?)/).length||".".split(/()()/).length>1||"".split(/.?/).length?function(t,e){var r=String(a(this)),o=void 0===e?4294967295:e>>>0;if(0===o)return[];if(void 0===t)return[r];if(!i(t))return n.call(r,t,o);for(var c,f,s,u=[],p=(t.ignoreCase?"i":"")+(t.multiline?"m":"")+(t.unicode?"u":"")+(t.sticky?"y":""),g=0,v=new RegExp(t.source,p+"g");(c=l.call(v,r))&&!((f=v.lastIndex)>g&&(u.push(r.slice(g,c.index)),c.length>1&&c.index<r.length&&d.apply(u,c.slice(1)),s=c[0].length,g=f,u.length>=o));)v.lastIndex===c.index&&v.lastIndex++;return g===r.length?!s&&v.test("")||u.push(""):u.push(r.slice(g)),u.length>o?u.slice(0,o):u}:"0".split(void 0,0).length?function(t,e){return void 0===t&&0===e?[]:n.call(this,t,e)}:n,[function(n,e){var i=a(this),o=null==n?void 0:n[t];return void 0!==o?o.call(n,i,e):r.call(String(i),n,e)},function(t,i){var a=e(r,t,this,i,r!==n);if(a.done)return a.value;var l=o(t),p=String(this),d=c(l,RegExp),h=l.unicode,m=(l.ignoreCase?"i":"")+(l.multiline?"m":"")+(l.unicode?"u":"")+(v?"y":"g"),y=new d(v?l:"^(?:"+l.source+")",m),_=void 0===i?4294967295:i>>>0;if(0===_)return[];if(0===p.length)return null===u(y,p)?[p]:[];for(var x=0,b=0,w=[];b<p.length;){y.lastIndex=v?b:0;var S,E=u(y,v?p:p.slice(b));if(null===E||(S=g(s(y.lastIndex+(v?0:b)),p.length))===x)b=f(p,b,h);else{if(w.push(p.slice(x,b)),w.length===_)return w;for(var O=1;O<=E.length-1;O++)if(w.push(E[O]),w.length===_)return w;b=x=S}}return w.push(p.slice(x)),w}]}),!v)},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(t,n,e){"use strict";e.r(n);var r=e(2),i=e.n(r);e(165);e(19);function o(t,n){return i.a.ajax({type:"post",dataType:"json",url:GFPDF.ajaxUrl,data:t,success:n,error:n})}function a(t){return i()("<img alt="+GFPDF.spinnerAlt+" src="+GFPDF.spinnerUrl+" class="+t+" />")}function c(t){var n=i()("#gfpdf-settings-field-wrapper-font, #gfpdf-settings-field-wrapper-font_size, #gfpdf-settings-field-wrapper-font_colour");"legacy"===t?n.hide():n.show()}var f=e(121);function s(){i()("#gfpdf_settings\\[template\\]").off("change").on("change",(function(){var t=a("gfpdf-spinner-template");i()(this).next().after(t),o({action:"gfpdf_get_template_fields",nonce:GFPDF.ajaxNonce,template:i()(this).val(),type:i()(this).attr("id"),id:i()("#gform_id").val(),gform_pdf_id:i()("#gform_pdf_id").val()},(function(n){var e,r,o=i()(".submit-container-2")[0];t.remove(),i()('input[name="gfpdf_settings[advanced_template]"][value="No"]').prop("checked",!0).trigger("change"),n.fields?(i.a.each(n.editors,(function(t,n){var e=tinyMCE.get(n);if(null!==e)try{tinyMCE.remove(e)}catch(t){}})),o||Object(f.b)(i()("#gfpdf-fieldset-gfpdf_form_settings_template")[0],i()("#gfpdf_pdf_form")[0],"2"),i()("#gfpdf-fieldset-gfpdf_form_settings_template").show().find(".gform-settings-panel__content").html(n.fields),e=n.editors,null!=(r=n.editor_init)&&(r.body_class="id post-type-post post-status-publish post-format-standard",r.formats={alignleft:[{selector:"p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li",styles:{textAlign:"left"}},{selector:"img,table,dl.wp-caption",classes:"alignleft"}],aligncenter:[{selector:"p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li",styles:{textAlign:"center"}},{selector:"img,table,dl.wp-caption",classes:"aligncenter"}],alignright:[{selector:"p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li",styles:{textAlign:"right"}},{selector:"img,table,dl.wp-caption",classes:"alignright"}],strikethrough:{inline:"del"}},r.content_style='body#tinymce { max-width: 100%; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;}'),i.a.each(e,(function(t,n){r.selector="#"+n,tinyMCE.init(r),tinyMCE.execCommand("mceAddEditor",!1,n),"function"==typeof QTags&&(QTags({id:n}),QTags._buttonsInit(),"function"==typeof switchEditors.switchto&&switchEditors.switchto(jQuery("#wp-"+n+"-wrap").find(".wp-switch-editor.switch-"+("html"===getUserSetting("editor")?"html":"tmce"))[0]))})),l.runElements(),window.gfMergeTags&&"undefined"!=typeof form&&i()("#gfpdf-fieldset-gfpdf_form_settings_template .merge-tag-support").length>=0&&(i()("#gfpdf-fieldset-gfpdf_form_settings_template .merge-tag-support").each((function(){new gfMergeTagsObj(form,i()(this))})),i()("#gfpdf-fieldset-gfpdf_form_settings_template .gform-settings-field").each((function(){i()(this).find(".merge-tag-support, .merge-tag-support + span").wrapAll('<div class="gform-settings-input__container gform-settings-input__container--with-merge-tag"></div>'),i()(this).find(".all-merge-tags.textarea").parent().wrapAll('<div class="gform-settings-input__container gform-settings-input__container--with-merge-tag gfpdf-merge-tag-container"></div>')}))),gform_initialize_tooltips()):(o&&o.remove(),i()("#gfpdf-fieldset-gfpdf_form_settings_template").hide().find(".gform-settings-panel__content").html("")),n.template_type&&c(n.template_type),i()(document).trigger("gfpdf_template_loaded",[n])}))}))}function u(t,n){for(var e=0;e<n.length;e++){var r=n[e];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}var l=new(function(){function t(){!function(t,n){if(!(t instanceof n))throw new TypeError("Cannot call a class as a function")}(this,t)}var n,e,r;return n=t,(e=[{key:"runElements",value:function(){var t;"undefined"!=typeof gf_vars&&(gf_vars.thisFormButton=GFPDF.conditionalText,gf_vars.show=GFPDF.enable,gf_vars.hide=GFPDF.disable),window.formfield="",i()("body").off("click",".gfpdf_settings_upload_button").on("click",".gfpdf_settings_upload_button",(function(n){n.preventDefault();var e=i()(this);window.formfield=i()(this).prev(),t||(t=wp.media.frames.file_frame=wp.media({title:e.data("uploader-title"),button:{text:e.data("uploader-button-text")},multiple:!1})).on("select",(function(){t.state().get("selection").each((function(t){t=t.toJSON(),window.formfield.val(t.url).trigger("change")}))})),t.open()})),i()(".gfpdf-color-picker").each((function(){i()(this).wpColorPicker({width:300}),i()(this).parents(".wp-picker-container").find(".wp-color-result").addClass("ed_button")})),i()(".gfpdf_paper_size").each((function(){var t=i()(this).nextAll(".gfpdf_paper_size_other").first();i()(this).find("select").off("change").on("change",(function(){"CUSTOM"===i()(this).val()?t.fadeIn():t.fadeOut()})).trigger("change")})),i()("form").off("change",".gfpdf-input-toggle").on("change",".gfpdf-input-toggle",(function(){var t=i()(this).parent().next();i()(this).prop("checked")?t.slideDown("slow"):(t.slideUp("slow"),t.find(".wp-editor-area").each((function(){var t=tinyMCE.get(i()(this).attr("id"));null!==t&&t.setContent("")})),t.find("textarea").each((function(){i()(this).val("")})))})),s(),i()(".gfpdf-deactivate-license").on("click",(function(){var t=i()(this).parent(),n=a("gfpdf-spinner");i()(this).append(n);var e=i()(this).data("addon-name");return o({action:"gfpdf_deactivate_license",addon_name:e,license:i()(this).data("license"),nonce:i()(this).data("nonce")},(function(r){n.remove(),r.success?(i()("#gfpdf_settings\\[license_"+e+"\\]").val(""),i()("#gfpdf_settings\\[license_"+e+"_message\\]").val(""),i()("#gfpdf_settings\\[license_"+e+"_status\\]").val(""),t.find("button").remove(),t.find("#message").removeClass("error").addClass("success").html(r.success)):t.find("#message").removeClass("success").addClass("error").html(r.error)})),!1}))}}])&&u(n.prototype,e),r&&u(n,r),t}());e(171),e(41),e(29),e(93);function p(t){t.attr("novalidate","novalidate"),t.find('input[type="submit"]').on("click",(function(){t.addClass("formSubmitted")})),t.find(':input[required=""], :input[required]').each((function(){var t=i()(this).parent();t.find(".gform-settings-panel__title a").length?t.find(".gform-settings-panel__title a").before('<span class="gfield_required">(required)</span>'):t.find(".gform-settings-panel__title").append('<span class="gfield_required">(required)</span>')}))}function d(t,n,e){n=void 0!==n?n:4500,e=void 0!==e&&e;var r=i()('<div id="message">').html("<p>"+t+"</p>");!0===e?r.addClass("error"):r.addClass("updated"),i()(".wrap > h2").after(r),setTimeout((function(){r.slideUp()}),n)}function g(){function t(t){t.append(a("gfpdf-spinner gfpdf-spinner-small")).closest(".row-actions").attr("style","position:static; visibility: visible;"),o({action:"gfpdf_list_delete",nonce:t.data("nonce"),fid:t.data("fid"),pid:t.data("id")},(function(n){n.msg&&(t.closest(".row-actions").attr("style","").find(".gfpdf-spinner").remove(),d(n.msg),t.parents("tr").css("background","#ffb8b8").fadeOut(400,(function(){this.remove(),function(){var t=i()("#gfpdf_list_form tbody");if(0===t.find("tr").length){var n=i()("<tr>").addClass("no-items"),e=i()("<td>").attr("colspan","5").addClass("colspanchange"),r=i()("<a>").attr("href",i()("#gfpdf_list_form a.button:first").attr("href")).append(GFPDF.letsGoCreateOne+".");e.append(GFPDF.thisFormHasNoPdfs).append(" ").append(r),n.append(e),t.append(n)}}()})))}))}i()("#gfpdf_list_form").on("click","a.submitdelete",(function(){String(i()(this).data("id")).length>0&&window.confirm(GFPDF.pdfDeleteWarning)&&t(i()(this));return!1}))}e(71),e(173);function v(t,n){for(var e=0;e<n.length;e++){var r=n[e];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}var h=new(function(){function t(){!function(t,n){if(!(t instanceof n))throw new TypeError("Cannot call a class as a function")}(this,t)}var n,e,r;return n=t,(e=[{key:"setupAJAXListListener",value:function(){g(),i()("#gfpdf_list_form").on("click","a.submitduplicate",(function(t){t.preventDefault();var n=String(i()(this).data("id")),e=this;i()(this).after(a("gfpdf-spinner gfpdf-spinner-small")).parent().parent().attr("style","position:static; visibility: visible;"),n.length>0&&o({action:"gfpdf_list_duplicate",nonce:i()(this).data("nonce"),fid:i()(this).data("fid"),pid:i()(this).data("id")},(function(t){if(t.msg){i()(e).parent().parent().attr("style","").find(".gfpdf-spinner").remove(),d(t.msg);var r=i()(e).parents("tr"),o=r.clone();o.find(".column-name > a, .edit a").each((function(){var n=i()(this).attr("href");n=function(t,n,e){var r="",i=t.split("?"),o=i[0],a=i[1],c="";if(a){i=a.split("&");for(var f=0;f<i.length;f++)i[f].split("=")[0]!==n&&(r+=c+i[f],c="&")}return o+"?"+r+c+n+"="+e}(n,"pid",t.pid),i()(this).attr("href",n)})),o.find(".column-name > a").html(t.name);var a=o.find(".duplicate a"),c=o.find(".delete a"),f=o.find(".check-column button"),s=o.find(".column-shortcode");a.data("id",t.pid),a.data("nonce",t.dup_nonce),c.data("id",t.pid),c.data("nonce",t.del_nonce),f.data("id",t.pid),f.data("nonce",t.state_nonce),f[0].setAttribute("data-status","inactive");var u=s.find("button").attr("data-clipboard-text");u=u.replace(n,t.pid),s.find("button").attr("data-clipboard-text",u),s.find("input").attr("id",t.pid).attr("value",u),f.removeClass("gform-status--active").addClass("gform-status--inactive").find(".gform-status-indicator-status").html(t.status),o.hide().insertAfter(r).fadeIn()}}))})),i()("#gfpdf_list_form").on("click",".check-column button",(function(){var t=String(i()(this).data("id")),n=i()(this),e=n.find("span.gform-status-indicator-status");t.length>0&&(n.addClass("gform_status--pending").removeClass("gform-status--active gform-status--inactive"),o({action:"gfpdf_change_state",nonce:i()(this).data("nonce"),fid:i()(this).data("fid"),pid:i()(this).data("id")},(function(t){e.html(t.state),"active"===n.data("status")?(n[0].setAttribute("data-status","inactive"),n.data("status","inactive").removeClass("gform_status--pending").addClass("gform-status--inactive")):(n[0].setAttribute("data-status","active"),n.data("status","active").removeClass("gform_status--pending").addClass("gform-status--active"))})))}))}}])&&v(n.prototype,e),r&&v(n,r),t}());e(58);function m(){var t,n,e,r,o,a,f,s;p(i()("#gfpdf_pdf_form")),t=i()("#gfpdf-fieldset-gfpdf_form_settings_advanced"),n=t.find('input[name="gfpdf_settings[security]"]'),e=t.find('input[name="gfpdf_settings[format]"]'),r=t.find("#gfpdf-settings-field-wrapper-security"),o=t.find("#gfpdf-settings-field-wrapper-password,#gfpdf-settings-field-wrapper-privileges,#gfpdf-settings-field-wrapper-master_password:not(.gfpdf-hidden)"),n.on("change",(function(){var t=e.filter(":checked").val();"No"===i()(this).val()||"Standard"!==t?o.hide():i()(this).is(":checked")?o.show():o.hide(),"Standard"!==t?r.hide():r.show()})).trigger("change"),e.on("change",(function(){i()(this).is(":checked")&&n.trigger("change")})).trigger("change"),gform.addFilter("gform_conditional_object",(function(t,n){return"gfpdf"===n?window.gfpdf_current_pdf:t})),i()("#gfpdf_conditional_logic").on("change",(function(){void 0===window.gfpdf_current_pdf.conditionalLogic&&i()(this).prop("checked")?window.gfpdf_current_pdf.conditionalLogic=new ConditionalLogic:i()(this).prop("checked")||(window.gfpdf_current_pdf.conditionalLogic=null),ToggleConditionalLogic(!1,"gfpdf")})).trigger("change"),a=i()("#gfpdf-fieldset-gfpdf_form_settings_advanced").find('input[name="gfpdf_settings[public_access]"]'),f=i()("#gfpdf-settings-field-wrapper-restrict_owner"),a.on("change",(function(){i()(this).is(":checked")?f.hide():f.show()})).trigger("change"),c(i()("#gfpdf_settings\\[template\\]").data("template_group")),s=i()("#gfpdf-fieldset-gfpdf_form_settings_appearance"),i()('input[name="gfpdf_settings[advanced_template]"]').on("change",(function(){"Yes"===i()(this).val()?s.hide():s.show()})),i()('input[name="gfpdf_settings[advanced_template]"]:checked').trigger("change"),i()(".gform-settings-field").each((function(){i()(this).find(".merge-tag-support, .merge-tag-support + span").wrapAll('<div class="gform-settings-input__container gform-settings-input__container--with-merge-tag"></div>'),i()(this).find(".all-merge-tags.textarea").parent().wrapAll('<div class="gform-settings-input__container gform-settings-input__container--with-merge-tag gfpdf-merge-tag-container"></div>')}));var u=i()("#gfpdf-fieldset-gfpdf_form_settings_template");0===u.find(".gform-settings-panel__content").children().length&&u.hide(),i()(".gform-settings__wrapper > .alert").detach().prependTo("#tab_PDF"),i()("#gfpdf_pdf_form").on("submit",(function(){try{tinyMCE.triggerSave()}catch(t){}})),i()("#gfpdf_pdf_form").on("submit",(function(){i()("#gfpdf_settings\\[conditionalLogic\\]").val(i.a.toJSON(window.gfpdf_current_pdf.conditionalLogic))}))}function y(t,n){for(var e=0;e<n.length;e++){var r=n[e];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}var _=new(function(){function t(){!function(t,n){if(!(t instanceof n))throw new TypeError("Cannot call a class as a function")}(this,t)}var n,e,r;return n=t,(e=[{key:"isSettings",value:function(){return i()("#pdfextended-settings").length}},{key:"isFormSettings",value:function(){return i()(".gforms_edit_form").length}},{key:"isFormSettingsList",value:function(){return i()("#gfpdf_list_form").length}},{key:"isFormSettingsEdit",value:function(){return i()("#gfpdf_pdf_form").length}}])&&y(n.prototype,e),r&&y(n,r),t}());function x(t,n){for(var e=0;e<n.length;e++){var r=n[e];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}var b=new(function(){function t(){!function(t,n){if(!(t instanceof n))throw new TypeError("Cannot call a class as a function")}(this,t)}var n,e,r;return n=t,(e=[{key:"init",value:function(){l.runElements(),_.isSettings()&&this.processSettings(),_.isFormSettings()&&this.processFormSettings()}},{key:"getCurrentSettingsPage",value:function(){return _.isSettings()?i()(".gform-settings-tabs__navigation a.active:first").data("id"):""}},{key:"processSettings",value:function(){switch(i()("#gform_tabs a").each((function(){var t=i()(this).attr("href"),n=new RegExp("&tab=[^&;]*","g");i()(this).attr("href",t.replace(n,""))})),this.getCurrentSettingsPage()){case"general":!function(){p(i()("#pdfextended-settings > form"));var t=i()("#pdf-general-security");t.find('input[name="gfpdf_settings[default_restrict_owner]"]').on("change",(function(){i()(this).is(":checked")&&("Yes"===i()(this).val()?t.find("tr:nth-child(3)").hide():t.find("tr:nth-child(3)").show())})).trigger("change")}()}}},{key:"processFormSettings",value:function(){_.isFormSettingsList()&&h.setupAJAXListListener(),_.isFormSettingsEdit()&&m()}}])&&x(n.prototype,e),r&&x(n,r),t}());i()((function(){b.init()}))}]);
|
1 |
+
!function(t){var n={};function e(r){if(n[r])return n[r].exports;var i=n[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,e),i.l=!0,i.exports}e.m=t,e.c=n,e.d=function(t,n,r){e.o(t,n)||Object.defineProperty(t,n,{enumerable:!0,get:r})},e.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},e.t=function(t,n){if(1&n&&(t=e(t)),8&n)return t;if(4&n&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(e.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&n&&"string"!=typeof t)for(var i in t)e.d(r,i,function(n){return t[n]}.bind(null,i));return r},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,n){return Object.prototype.hasOwnProperty.call(t,n)},e.p="/home/runner/work/gravity-pdf/gravity-pdf/tmp/package/6.4.0-RC1/dist/",e(e.s=211)}([,,function(t,n){t.exports=jQuery},,function(t,n,e){(function(n){var e=function(t){return t&&t.Math==Math&&t};t.exports=e("object"==typeof globalThis&&globalThis)||e("object"==typeof window&&window)||e("object"==typeof self&&self)||e("object"==typeof n&&n)||Function("return this")()}).call(this,e(84))},function(t,n){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,n,e){var r=e(4),i=e(61),o=e(9),a=e(63),c=e(64),f=e(101),s=i("wks"),u=r.Symbol,l=f?u:u&&u.withoutSetter||a;t.exports=function(t){return o(s,t)||(c&&o(u,t)?s[t]=u[t]:s[t]=l("Symbol."+t)),s[t]}},function(t,n,e){var r=e(4),i=e(45).f,o=e(14),a=e(26),c=e(50),f=e(102),s=e(85);t.exports=function(t,n){var e,u,l,p,d,g=t.target,v=t.global,h=t.stat;if(e=v?r:h?r[g]||c(g,{}):(r[g]||{}).prototype)for(u in n){if(p=n[u],l=t.noTargetGet?(d=i(e,u))&&d.value:e[u],!s(v?u:g+(h?".":"#")+u,t.forced)&&void 0!==l){if(typeof p==typeof l)continue;f(p,l)}(t.sham||l&&l.sham)&&o(p,"sham",!0),a(e,u,p,t)}}},function(t,n,e){var r=e(11);t.exports=function(t){if(!r(t))throw TypeError(String(t)+" is not an object");return t}},function(t,n){var e={}.hasOwnProperty;t.exports=function(t,n){return e.call(t,n)}},function(t,n,e){var r=e(5);t.exports=!r((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]}))},function(t,n){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},function(t,n,e){var r=e(10),i=e(76),o=e(8),a=e(51),c=Object.defineProperty;n.f=r?c:function(t,n,e){if(o(t),n=a(n,!0),o(e),i)try{return c(t,n,e)}catch(t){}if("get"in e||"set"in e)throw TypeError("Accessors not supported");return"value"in e&&(t[n]=e.value),t}},,function(t,n,e){var r=e(10),i=e(12),o=e(34);t.exports=r?function(t,n,e){return i.f(t,n,o(1,e))}:function(t,n,e){return t[n]=e,t}},,,,,function(t,n,e){"use strict";var r=e(7),i=e(48).find,o=e(86),a=e(33),c=!0,f=a("find");"find"in[]&&Array(1).find((function(){c=!1})),r({target:"Array",proto:!0,forced:c||!f},{find:function(t){return i(this,t,arguments.length>1?arguments[1]:void 0)}}),o("find")},function(t,n,e){var r=e(59),i=e(22);t.exports=function(t){return r(i(t))}},function(t,n,e){var r=e(35),i=Math.min;t.exports=function(t){return t>0?i(r(t),9007199254740991):0}},function(t,n){t.exports=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t}},function(t,n,e){var r=e(22);t.exports=function(t){return Object(r(t))}},function(t,n){var e={}.toString;t.exports=function(t){return e.call(t).slice(8,-1)}},function(t,n,e){"use strict";var r=e(117).charAt,i=e(47),o=e(132),a=i.set,c=i.getterFor("String Iterator");o(String,"String",(function(t){a(this,{type:"String Iterator",string:String(t),index:0})}),(function(){var t,n=c(this),e=n.string,i=n.index;return i>=e.length?{value:void 0,done:!0}:(t=r(e,i),n.index+=t.length,{value:t,done:!1})}))},function(t,n,e){var r=e(4),i=e(14),o=e(9),a=e(50),c=e(65),f=e(47),s=f.get,u=f.enforce,l=String(String).split("String");(t.exports=function(t,n,e,c){var f=!!c&&!!c.unsafe,s=!!c&&!!c.enumerable,p=!!c&&!!c.noTargetGet;"function"==typeof e&&("string"!=typeof n||o(e,"name")||i(e,"name",n),u(e).source=l.join("string"==typeof n?n:"")),t!==r?(f?!p&&t[n]&&(s=!0):delete t[n],s?t[n]=e:i(t,n,e)):s?t[n]=e:a(n,e)})(Function.prototype,"toString",(function(){return"function"==typeof this&&s(this).source||c(this)}))},function(t,n,e){var r=e(104),i=e(4),o=function(t){return"function"==typeof t?t:void 0};t.exports=function(t,n){return arguments.length<2?o(r[t])||o(i[t]):r[t]&&r[t][n]||i[t]&&i[t][n]}},,function(t,n,e){"use strict";var r=e(26),i=e(8),o=e(5),a=e(97),c=RegExp.prototype,f=c.toString,s=o((function(){return"/a/b"!=f.call({source:"a",flags:"b"})})),u="toString"!=f.name;(s||u)&&r(RegExp.prototype,"toString",(function(){var t=i(this),n=String(t.source),e=t.flags;return"/"+n+"/"+String(void 0===e&&t instanceof RegExp&&!("flags"in c)?a.call(t):e)}),{unsafe:!0})},,,,function(t,n,e){var r=e(10),i=e(5),o=e(9),a=Object.defineProperty,c={},f=function(t){throw t};t.exports=function(t,n){if(o(c,t))return c[t];n||(n={});var e=[][t],s=!!o(n,"ACCESSORS")&&n.ACCESSORS,u=o(n,0)?n[0]:f,l=o(n,1)?n[1]:void 0;return c[t]=!!e&&!i((function(){if(s&&!r)return!0;var t={length:-1};s?a(t,1,{enumerable:!0,get:f}):t[1]=1,e.call(t,u,l)}))}},function(t,n){t.exports=function(t,n){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:n}}},function(t,n){var e=Math.ceil,r=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?r:e)(t)}},,,,,,function(t,n,e){"use strict";var r=e(7),i=e(73);r({target:"RegExp",proto:!0,forced:/./.exec!==i},{exec:i})},function(t,n,e){"use strict";var r=e(7),i=e(48).map,o=e(90),a=e(33),c=o("map"),f=a("map");r({target:"Array",proto:!0,forced:!c||!f},{map:function(t){return i(this,t,arguments.length>1?arguments[1]:void 0)}})},function(t,n){t.exports=function(t){if("function"!=typeof t)throw TypeError(String(t)+" is not a function");return t}},function(t,n){t.exports={}},function(t,n,e){var r=e(10),i=e(77),o=e(34),a=e(20),c=e(51),f=e(9),s=e(76),u=Object.getOwnPropertyDescriptor;n.f=r?u:function(t,n){if(t=a(t),n=c(n,!0),s)try{return u(t,n)}catch(t){}if(f(t,n))return o(!i.f.call(t,n),t[n])}},,function(t,n,e){var r,i,o,a=e(114),c=e(4),f=e(11),s=e(14),u=e(9),l=e(52),p=e(44),d=c.WeakMap;if(a){var g=new d,v=g.get,h=g.has,m=g.set;r=function(t,n){return m.call(g,t,n),n},i=function(t){return v.call(g,t)||{}},o=function(t){return h.call(g,t)}}else{var y=l("state");p[y]=!0,r=function(t,n){return s(t,y,n),n},i=function(t){return u(t,y)?t[y]:{}},o=function(t){return u(t,y)}}t.exports={set:r,get:i,has:o,enforce:function(t){return o(t)?i(t):r(t,{})},getterFor:function(t){return function(n){var e;if(!f(n)||(e=i(n)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return e}}}},function(t,n,e){var r=e(66),i=e(59),o=e(23),a=e(21),c=e(107),f=[].push,s=function(t){var n=1==t,e=2==t,s=3==t,u=4==t,l=6==t,p=5==t||l;return function(d,g,v,h){for(var m,y,_=o(d),x=i(_),b=r(g,v,3),w=a(x.length),S=0,E=h||c,O=n?E(d,w):e?E(d,0):void 0;w>S;S++)if((p||S in x)&&(y=b(m=x[S],S,_),t))if(n)O[S]=y;else if(y)switch(t){case 3:return!0;case 5:return m;case 6:return S;case 2:f.call(O,m)}else if(u)return!1;return l?-1:s||u?u:O}};t.exports={forEach:s(0),map:s(1),filter:s(2),some:s(3),every:s(4),find:s(5),findIndex:s(6)}},function(t,n){t.exports=!1},function(t,n,e){var r=e(4),i=e(14);t.exports=function(t,n){try{i(r,t,n)}catch(e){r[t]=n}return n}},function(t,n,e){var r=e(11);t.exports=function(t,n){if(!r(t))return t;var e,i;if(n&&"function"==typeof(e=t.toString)&&!r(i=e.call(t)))return i;if("function"==typeof(e=t.valueOf)&&!r(i=e.call(t)))return i;if(!n&&"function"==typeof(e=t.toString)&&!r(i=e.call(t)))return i;throw TypeError("Can't convert object to primitive value")}},function(t,n,e){var r=e(61),i=e(63),o=r("keys");t.exports=function(t){return o[t]||(o[t]=i(t))}},function(t,n){t.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},,function(t,n,e){var r=e(7),i=e(144);r({target:"Array",stat:!0,forced:!e(130)((function(t){Array.from(t)}))},{from:i})},function(t,n){t.exports={}},,function(t,n,e){"use strict";var r=e(7),i=e(48).filter,o=e(90),a=e(33),c=o("filter"),f=a("filter");r({target:"Array",proto:!0,forced:!c||!f},{filter:function(t){return i(this,t,arguments.length>1?arguments[1]:void 0)}})},function(t,n,e){var r=e(5),i=e(24),o="".split;t.exports=r((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==i(t)?o.call(t,""):Object(t)}:Object},,function(t,n,e){var r=e(49),i=e(75);(t.exports=function(t,n){return i[t]||(i[t]=void 0!==n?n:{})})("versions",[]).push({version:"3.6.5",mode:r?"pure":"global",copyright:"© 2020 Denis Pushkarev (zloirock.ru)"})},function(t,n,e){var r=e(4),i=e(11),o=r.document,a=i(o)&&i(o.createElement);t.exports=function(t){return a?o.createElement(t):{}}},function(t,n){var e=0,r=Math.random();t.exports=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++e+r).toString(36)}},function(t,n,e){var r=e(5);t.exports=!!Object.getOwnPropertySymbols&&!r((function(){return!String(Symbol())}))},function(t,n,e){var r=e(75),i=Function.toString;"function"!=typeof r.inspectSource&&(r.inspectSource=function(t){return i.call(t)}),t.exports=r.inspectSource},function(t,n,e){var r=e(43);t.exports=function(t,n,e){if(r(t),void 0===n)return t;switch(e){case 0:return function(){return t.call(n)};case 1:return function(e){return t.call(n,e)};case 2:return function(e,r){return t.call(n,e,r)};case 3:return function(e,r,i){return t.call(n,e,r,i)}}return function(){return t.apply(n,arguments)}}},function(t,n,e){var r=e(78),i=e(53);t.exports=Object.keys||function(t){return r(t,i)}},function(t,n,e){var r,i=e(8),o=e(118),a=e(53),c=e(44),f=e(106),s=e(62),u=e(52),l=u("IE_PROTO"),p=function(){},d=function(t){return"<script>"+t+"<\/script>"},g=function(){try{r=document.domain&&new ActiveXObject("htmlfile")}catch(t){}var t,n;g=r?function(t){t.write(d("")),t.close();var n=t.parentWindow.Object;return t=null,n}(r):((n=s("iframe")).style.display="none",f.appendChild(n),n.src=String("javascript:"),(t=n.contentWindow.document).open(),t.write(d("document.F=Object")),t.close(),t.F);for(var e=a.length;e--;)delete g.prototype[a[e]];return g()};c[l]=!0,t.exports=Object.create||function(t,n){var e;return null!==t?(p.prototype=i(t),e=new p,p.prototype=null,e[l]=t):e=g(),void 0===n?e:o(e,n)}},,,function(t,n,e){var r=e(10),i=e(12).f,o=Function.prototype,a=o.toString,c=/^\s*function ([^ (]*)/;r&&!("name"in o)&&i(o,"name",{configurable:!0,get:function(){try{return a.call(this).match(c)[1]}catch(t){return""}}})},function(t,n,e){var r=e(78),i=e(53).concat("length","prototype");n.f=Object.getOwnPropertyNames||function(t){return r(t,i)}},function(t,n,e){"use strict";var r,i,o=e(97),a=e(124),c=RegExp.prototype.exec,f=String.prototype.replace,s=c,u=(r=/a/,i=/b*/g,c.call(r,"a"),c.call(i,"a"),0!==r.lastIndex||0!==i.lastIndex),l=a.UNSUPPORTED_Y||a.BROKEN_CARET,p=void 0!==/()??/.exec("")[1];(u||p||l)&&(s=function(t){var n,e,r,i,a=this,s=l&&a.sticky,d=o.call(a),g=a.source,v=0,h=t;return s&&(-1===(d=d.replace("y","")).indexOf("g")&&(d+="g"),h=String(t).slice(a.lastIndex),a.lastIndex>0&&(!a.multiline||a.multiline&&"\n"!==t[a.lastIndex-1])&&(g="(?: "+g+")",h=" "+h,v++),e=new RegExp("^(?:"+g+")",d)),p&&(e=new RegExp("^"+g+"$(?!\\s)",d)),u&&(n=a.lastIndex),r=c.call(s?e:a,h),s?r?(r.input=r.input.slice(v),r[0]=r[0].slice(v),r.index=a.lastIndex,a.lastIndex+=r[0].length):a.lastIndex=0:u&&r&&(a.lastIndex=a.global?r.index+r[0].length:n),p&&r&&r.length>1&&f.call(r[0],e,(function(){for(i=1;i<arguments.length-2;i++)void 0===arguments[i]&&(r[i]=void 0)})),r}),t.exports=s},function(t,n,e){var r=e(24);t.exports=Array.isArray||function(t){return"Array"==r(t)}},function(t,n,e){var r=e(4),i=e(50),o=r["__core-js_shared__"]||i("__core-js_shared__",{});t.exports=o},function(t,n,e){var r=e(10),i=e(5),o=e(62);t.exports=!r&&!i((function(){return 7!=Object.defineProperty(o("div"),"a",{get:function(){return 7}}).a}))},function(t,n,e){"use strict";var r={}.propertyIsEnumerable,i=Object.getOwnPropertyDescriptor,o=i&&!r.call({1:2},1);n.f=o?function(t){var n=i(this,t);return!!n&&n.enumerable}:r},function(t,n,e){var r=e(9),i=e(20),o=e(96).indexOf,a=e(44);t.exports=function(t,n){var e,c=i(t),f=0,s=[];for(e in c)!r(a,e)&&r(c,e)&&s.push(e);for(;n.length>f;)r(c,e=n[f++])&&(~o(s,e)||s.push(e));return s}},,,,,,function(t,n){var e;e=function(){return this}();try{e=e||new Function("return this")()}catch(t){"object"==typeof window&&(e=window)}t.exports=e},function(t,n,e){var r=e(5),i=/#|\.prototype\./,o=function(t,n){var e=c[a(t)];return e==s||e!=f&&("function"==typeof n?r(n):!!n)},a=o.normalize=function(t){return String(t).replace(i,".").toLowerCase()},c=o.data={},f=o.NATIVE="N",s=o.POLYFILL="P";t.exports=o},function(t,n,e){var r=e(6),i=e(68),o=e(12),a=r("unscopables"),c=Array.prototype;null==c[a]&&o.f(c,a,{configurable:!0,value:i(null)}),t.exports=function(t){c[a][t]=!0}},,function(t,n){n.f=Object.getOwnPropertySymbols},function(t,n,e){var r=e(12).f,i=e(9),o=e(6)("toStringTag");t.exports=function(t,n,e){t&&!i(t=e?t:t.prototype,o)&&r(t,o,{configurable:!0,value:n})}},function(t,n,e){var r=e(5),i=e(6),o=e(115),a=i("species");t.exports=function(t){return o>=51||!r((function(){var n=[];return(n.constructor={})[a]=function(){return{foo:1}},1!==n[t](Boolean).foo}))}},,,function(t,n,e){"use strict";var r=e(98),i=e(8),o=e(23),a=e(21),c=e(35),f=e(22),s=e(112),u=e(99),l=Math.max,p=Math.min,d=Math.floor,g=/\$([$&'`]|\d\d?|<[^>]*>)/g,v=/\$([$&'`]|\d\d?)/g;r("replace",2,(function(t,n,e,r){var h=r.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE,m=r.REPLACE_KEEPS_$0,y=h?"$":"$0";return[function(e,r){var i=f(this),o=null==e?void 0:e[t];return void 0!==o?o.call(e,i,r):n.call(String(i),e,r)},function(t,r){if(!h&&m||"string"==typeof r&&-1===r.indexOf(y)){var o=e(n,t,this,r);if(o.done)return o.value}var f=i(t),d=String(this),g="function"==typeof r;g||(r=String(r));var v=f.global;if(v){var x=f.unicode;f.lastIndex=0}for(var b=[];;){var w=u(f,d);if(null===w)break;if(b.push(w),!v)break;""===String(w[0])&&(f.lastIndex=s(d,a(f.lastIndex),x))}for(var S,E="",O=0,A=0;A<b.length;A++){w=b[A];for(var j=String(w[0]),P=l(p(c(w.index),d.length),0),k=[],C=1;C<w.length;C++)k.push(void 0===(S=w[C])?S:String(S));var T=w.groups;if(g){var R=[j].concat(k,P,d);void 0!==T&&R.push(T);var I=String(r.apply(void 0,R))}else I=_(j,d,P,k,T,r);P>=O&&(E+=d.slice(O,P)+I,O=P+j.length)}return E+d.slice(O)}];function _(t,e,r,i,a,c){var f=r+t.length,s=i.length,u=v;return void 0!==a&&(a=o(a),u=g),n.call(c,u,(function(n,o){var c;switch(o.charAt(0)){case"$":return"$";case"&":return t;case"`":return e.slice(0,r);case"'":return e.slice(f);case"<":c=a[o.slice(1,-1)];break;default:var u=+o;if(0===u)return n;if(u>s){var l=d(u/10);return 0===l?n:l<=s?void 0===i[l-1]?o.charAt(1):i[l-1]+o.charAt(1):n}c=i[u-1]}return void 0===c?"":c}))}}))},,,function(t,n,e){var r=e(20),i=e(21),o=e(105),a=function(t){return function(n,e,a){var c,f=r(n),s=i(f.length),u=o(a,s);if(t&&e!=e){for(;s>u;)if((c=f[u++])!=c)return!0}else for(;s>u;u++)if((t||u in f)&&f[u]===e)return t||u||0;return!t&&-1}};t.exports={includes:a(!0),indexOf:a(!1)}},function(t,n,e){"use strict";var r=e(8);t.exports=function(){var t=r(this),n="";return t.global&&(n+="g"),t.ignoreCase&&(n+="i"),t.multiline&&(n+="m"),t.dotAll&&(n+="s"),t.unicode&&(n+="u"),t.sticky&&(n+="y"),n}},function(t,n,e){"use strict";e(41);var r=e(26),i=e(5),o=e(6),a=e(73),c=e(14),f=o("species"),s=!i((function(){var t=/./;return t.exec=function(){var t=[];return t.groups={a:"7"},t},"7"!=="".replace(t,"$<a>")})),u="$0"==="a".replace(/./,"$0"),l=o("replace"),p=!!/./[l]&&""===/./[l]("a","$0"),d=!i((function(){var t=/(?:)/,n=t.exec;t.exec=function(){return n.apply(this,arguments)};var e="ab".split(t);return 2!==e.length||"a"!==e[0]||"b"!==e[1]}));t.exports=function(t,n,e,l){var g=o(t),v=!i((function(){var n={};return n[g]=function(){return 7},7!=""[t](n)})),h=v&&!i((function(){var n=!1,e=/a/;return"split"===t&&((e={}).constructor={},e.constructor[f]=function(){return e},e.flags="",e[g]=/./[g]),e.exec=function(){return n=!0,null},e[g](""),!n}));if(!v||!h||"replace"===t&&(!s||!u||p)||"split"===t&&!d){var m=/./[g],y=e(g,""[t],(function(t,n,e,r,i){return n.exec===a?v&&!i?{done:!0,value:m.call(n,e,r)}:{done:!0,value:t.call(e,n,r)}:{done:!1}}),{REPLACE_KEEPS_$0:u,REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE:p}),_=y[0],x=y[1];r(String.prototype,t,_),r(RegExp.prototype,g,2==n?function(t,n){return x.call(t,this,n)}:function(t){return x.call(t,this)})}l&&c(RegExp.prototype[g],"sham",!0)}},function(t,n,e){var r=e(24),i=e(73);t.exports=function(t,n){var e=t.exec;if("function"==typeof e){var o=e.call(t,n);if("object"!=typeof o)throw TypeError("RegExp exec method returned something other than an Object or null");return o}if("RegExp"!==r(t))throw TypeError("RegExp#exec called on incompatible receiver");return i.call(t,n)}},,function(t,n,e){var r=e(64);t.exports=r&&!Symbol.sham&&"symbol"==typeof Symbol.iterator},function(t,n,e){var r=e(9),i=e(103),o=e(45),a=e(12);t.exports=function(t,n){for(var e=i(n),c=a.f,f=o.f,s=0;s<e.length;s++){var u=e[s];r(t,u)||c(t,u,f(n,u))}}},function(t,n,e){var r=e(27),i=e(72),o=e(88),a=e(8);t.exports=r("Reflect","ownKeys")||function(t){var n=i.f(a(t)),e=o.f;return e?n.concat(e(t)):n}},function(t,n,e){var r=e(4);t.exports=r},function(t,n,e){var r=e(35),i=Math.max,o=Math.min;t.exports=function(t,n){var e=r(t);return e<0?i(e+n,0):o(e,n)}},function(t,n,e){var r=e(27);t.exports=r("document","documentElement")},function(t,n,e){var r=e(11),i=e(74),o=e(6)("species");t.exports=function(t,n){var e;return i(t)&&("function"!=typeof(e=t.constructor)||e!==Array&&!i(e.prototype)?r(e)&&null===(e=e[o])&&(e=void 0):e=void 0),new(void 0===e?Array:e)(0===n?0:n)}},function(t,n,e){"use strict";var r=e(51),i=e(12),o=e(34);t.exports=function(t,n,e){var a=r(n);a in t?i.f(t,a,o(0,e)):t[a]=e}},function(t,n,e){var r=e(9),i=e(23),o=e(52),a=e(133),c=o("IE_PROTO"),f=Object.prototype;t.exports=a?Object.getPrototypeOf:function(t){return t=i(t),r(t,c)?t[c]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?f:null}},,,function(t,n,e){"use strict";var r=e(117).charAt;t.exports=function(t,n,e){return n+(e?r(t,n).length:1)}},function(t,n,e){var r={};r[e(6)("toStringTag")]="z",t.exports="[object z]"===String(r)},function(t,n,e){var r=e(4),i=e(65),o=r.WeakMap;t.exports="function"==typeof o&&/native code/.test(i(o))},function(t,n,e){var r,i,o=e(4),a=e(131),c=o.process,f=c&&c.versions,s=f&&f.v8;s?i=(r=s.split("."))[0]+r[1]:a&&(!(r=a.match(/Edge\/(\d+)/))||r[1]>=74)&&(r=a.match(/Chrome\/(\d+)/))&&(i=r[1]),t.exports=i&&+i},,function(t,n,e){var r=e(35),i=e(22),o=function(t){return function(n,e){var o,a,c=String(i(n)),f=r(e),s=c.length;return f<0||f>=s?t?"":void 0:(o=c.charCodeAt(f))<55296||o>56319||f+1===s||(a=c.charCodeAt(f+1))<56320||a>57343?t?c.charAt(f):o:t?c.slice(f,f+2):a-56320+(o-55296<<10)+65536}};t.exports={codeAt:o(!1),charAt:o(!0)}},function(t,n,e){var r=e(10),i=e(12),o=e(8),a=e(67);t.exports=r?Object.defineProperties:function(t,n){o(t);for(var e,r=a(n),c=r.length,f=0;c>f;)i.f(t,e=r[f++],n[e]);return t}},function(t,n,e){"use strict";var r,i,o,a=e(109),c=e(14),f=e(9),s=e(6),u=e(49),l=s("iterator"),p=!1;[].keys&&("next"in(o=[].keys())?(i=a(a(o)))!==Object.prototype&&(r=i):p=!0),null==r&&(r={}),u||f(r,l)||c(r,l,(function(){return this})),t.exports={IteratorPrototype:r,BUGGY_SAFARI_ITERATORS:p}},,function(t,n,e){"use strict";e.d(n,"a",(function(){return r})),e.d(n,"b",(function(){return i}));e(55),e(42),e(25);function r(t,n){var e=Array.from(t);e.pop(),e.map((function(t,e){"none"!==t.style.display&&(t.querySelector(".gform-settings-panel__collapsible-toggle-checkbox").addEventListener("click",(function(){i(t,n,e)})),i(t,n,e,"firstLoad"))}))}function i(t,n,e,r){var i="submit-container-"+e;if(!t.classList.contains("gform-settings-panel--collapsed")){var o=n.querySelector("#submit").cloneNode(!0);o.setAttribute("id","submit_"+e);var a=document.createElement("div");return a.setAttribute("class",i),a.innerHTML=o.outerHTML,t.parentNode.insertBefore(a,t.nextSibling)}r||document.querySelector(".".concat(i)).remove()}},,function(t,n,e){var r=e(11),i=e(24),o=e(6)("match");t.exports=function(t){var n;return r(t)&&(void 0!==(n=t[o])?!!n:"RegExp"==i(t))}},function(t,n,e){"use strict";var r=e(5);function i(t,n){return RegExp(t,n)}n.UNSUPPORTED_Y=r((function(){var t=i("a","y");return t.lastIndex=2,null!=t.exec("abcd")})),n.BROKEN_CARET=r((function(){var t=i("^r","gy");return t.lastIndex=2,null!=t.exec("str")}))},function(t,n,e){var r=e(8),i=e(146);t.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var t,n=!1,e={};try{(t=Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set).call(e,[]),n=e instanceof Array}catch(t){}return function(e,o){return r(e),i(o),n?t.call(e,o):e.__proto__=o,e}}():void 0)},function(t,n,e){var r=e(113),i=e(24),o=e(6)("toStringTag"),a="Arguments"==i(function(){return arguments}());t.exports=r?i:function(t){var n,e,r;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(e=function(t,n){try{return t[n]}catch(t){}}(n=Object(t),o))?e:a?i(n):"Object"==(r=i(n))&&"function"==typeof n.callee?"Arguments":r}},function(t,n,e){var r=e(6),i=e(56),o=r("iterator"),a=Array.prototype;t.exports=function(t){return void 0!==t&&(i.Array===t||a[o]===t)}},function(t,n,e){var r=e(126),i=e(56),o=e(6)("iterator");t.exports=function(t){if(null!=t)return t[o]||t["@@iterator"]||i[r(t)]}},function(t,n,e){var r=e(8);t.exports=function(t,n,e,i){try{return i?n(r(e)[0],e[1]):n(e)}catch(n){var o=t.return;throw void 0!==o&&r(o.call(t)),n}}},function(t,n,e){var r=e(6)("iterator"),i=!1;try{var o=0,a={next:function(){return{done:!!o++}},return:function(){i=!0}};a[r]=function(){return this},Array.from(a,(function(){throw 2}))}catch(t){}t.exports=function(t,n){if(!n&&!i)return!1;var e=!1;try{var o={};o[r]=function(){return{next:function(){return{done:e=!0}}}},t(o)}catch(t){}return e}},function(t,n,e){var r=e(27);t.exports=r("navigator","userAgent")||""},function(t,n,e){"use strict";var r=e(7),i=e(145),o=e(109),a=e(125),c=e(89),f=e(14),s=e(26),u=e(6),l=e(49),p=e(56),d=e(119),g=d.IteratorPrototype,v=d.BUGGY_SAFARI_ITERATORS,h=u("iterator"),m=function(){return this};t.exports=function(t,n,e,u,d,y,_){i(e,n,u);var x,b,w,S=function(t){if(t===d&&P)return P;if(!v&&t in A)return A[t];switch(t){case"keys":case"values":case"entries":return function(){return new e(this,t)}}return function(){return new e(this)}},E=n+" Iterator",O=!1,A=t.prototype,j=A[h]||A["@@iterator"]||d&&A[d],P=!v&&j||S(d),k="Array"==n&&A.entries||j;if(k&&(x=o(k.call(new t)),g!==Object.prototype&&x.next&&(l||o(x)===g||(a?a(x,g):"function"!=typeof x[h]&&f(x,h,m)),c(x,E,!0,!0),l&&(p[E]=m))),"values"==d&&j&&"values"!==j.name&&(O=!0,P=function(){return j.call(this)}),l&&!_||A[h]===P||f(A,h,P),p[n]=P,d)if(b={values:S("values"),keys:y?P:S("keys"),entries:S("entries")},_)for(w in b)(v||O||!(w in A))&&s(A,w,b[w]);else r({target:n,proto:!0,forced:v||O},b);return b}},function(t,n,e){var r=e(5);t.exports=!r((function(){function t(){}return t.prototype.constructor=null,Object.getPrototypeOf(new t)!==t.prototype}))},,,,,,,,function(t,n,e){"use strict";var r=e(27),i=e(12),o=e(6),a=e(10),c=o("species");t.exports=function(t){var n=r(t),e=i.f;a&&n&&!n[c]&&e(n,c,{configurable:!0,get:function(){return this}})}},function(t,n,e){var r=e(8),i=e(43),o=e(6)("species");t.exports=function(t,n){var e,a=r(t).constructor;return void 0===a||null==(e=r(a)[o])?n:i(e)}},,function(t,n,e){"use strict";var r=e(66),i=e(23),o=e(129),a=e(127),c=e(21),f=e(108),s=e(128);t.exports=function(t){var n,e,u,l,p,d,g=i(t),v="function"==typeof this?this:Array,h=arguments.length,m=h>1?arguments[1]:void 0,y=void 0!==m,_=s(g),x=0;if(y&&(m=r(m,h>2?arguments[2]:void 0,2)),null==_||v==Array&&a(_))for(e=new v(n=c(g.length));n>x;x++)d=y?m(g[x],x):g[x],f(e,x,d);else for(p=(l=_.call(g)).next,e=new v;!(u=p.call(l)).done;x++)d=y?o(l,m,[u.value,x],!0):u.value,f(e,x,d);return e.length=x,e}},function(t,n,e){"use strict";var r=e(119).IteratorPrototype,i=e(68),o=e(34),a=e(89),c=e(56),f=function(){return this};t.exports=function(t,n,e){var s=n+" Iterator";return t.prototype=i(r,{next:o(1,e)}),a(t,s,!1,!0),c[s]=f,t}},function(t,n,e){var r=e(11);t.exports=function(t){if(!r(t)&&null!==t)throw TypeError("Can't set "+String(t)+" as a prototype");return t}},,,,,,,,,,,,,,,,,,,function(t,n,e){"use strict";e(7)({target:"URL",proto:!0,enumerable:!0},{toJSON:function(){return URL.prototype.toString.call(this)}})},,,,,,function(t,n,e){var r=e(10),i=e(4),o=e(85),a=e(172),c=e(12).f,f=e(72).f,s=e(123),u=e(97),l=e(124),p=e(26),d=e(5),g=e(47).set,v=e(141),h=e(6)("match"),m=i.RegExp,y=m.prototype,_=/a/g,x=/a/g,b=new m(_)!==_,w=l.UNSUPPORTED_Y;if(r&&o("RegExp",!b||w||d((function(){return x[h]=!1,m(_)!=_||m(x)==x||"/a/i"!=m(_,"i")})))){for(var S=function(t,n){var e,r=this instanceof S,i=s(t),o=void 0===n;if(!r&&i&&t.constructor===S&&o)return t;b?i&&!o&&(t=t.source):t instanceof S&&(o&&(n=u.call(t)),t=t.source),w&&(e=!!n&&n.indexOf("y")>-1)&&(n=n.replace(/y/g,""));var c=a(b?new m(t,n):m(t,n),r?this:y,S);return w&&e&&g(c,{sticky:e}),c},E=function(t){t in S||c(S,t,{configurable:!0,get:function(){return m[t]},set:function(n){m[t]=n}})},O=f(m),A=0;O.length>A;)E(O[A++]);y.constructor=S,S.prototype=y,p(i,"RegExp",S)}v("RegExp")},function(t,n,e){var r=e(11),i=e(125);t.exports=function(t,n,e){var o,a;return i&&"function"==typeof(o=n.constructor)&&o!==e&&r(a=o.prototype)&&a!==e.prototype&&i(t,a),t}},function(t,n,e){"use strict";var r=e(98),i=e(123),o=e(8),a=e(22),c=e(142),f=e(112),s=e(21),u=e(99),l=e(73),p=e(5),d=[].push,g=Math.min,v=!p((function(){return!RegExp(4294967295,"y")}));r("split",2,(function(t,n,e){var r;return r="c"=="abbc".split(/(b)*/)[1]||4!="test".split(/(?:)/,-1).length||2!="ab".split(/(?:ab)*/).length||4!=".".split(/(.?)(.?)/).length||".".split(/()()/).length>1||"".split(/.?/).length?function(t,e){var r=String(a(this)),o=void 0===e?4294967295:e>>>0;if(0===o)return[];if(void 0===t)return[r];if(!i(t))return n.call(r,t,o);for(var c,f,s,u=[],p=(t.ignoreCase?"i":"")+(t.multiline?"m":"")+(t.unicode?"u":"")+(t.sticky?"y":""),g=0,v=new RegExp(t.source,p+"g");(c=l.call(v,r))&&!((f=v.lastIndex)>g&&(u.push(r.slice(g,c.index)),c.length>1&&c.index<r.length&&d.apply(u,c.slice(1)),s=c[0].length,g=f,u.length>=o));)v.lastIndex===c.index&&v.lastIndex++;return g===r.length?!s&&v.test("")||u.push(""):u.push(r.slice(g)),u.length>o?u.slice(0,o):u}:"0".split(void 0,0).length?function(t,e){return void 0===t&&0===e?[]:n.call(this,t,e)}:n,[function(n,e){var i=a(this),o=null==n?void 0:n[t];return void 0!==o?o.call(n,i,e):r.call(String(i),n,e)},function(t,i){var a=e(r,t,this,i,r!==n);if(a.done)return a.value;var l=o(t),p=String(this),d=c(l,RegExp),h=l.unicode,m=(l.ignoreCase?"i":"")+(l.multiline?"m":"")+(l.unicode?"u":"")+(v?"y":"g"),y=new d(v?l:"^(?:"+l.source+")",m),_=void 0===i?4294967295:i>>>0;if(0===_)return[];if(0===p.length)return null===u(y,p)?[p]:[];for(var x=0,b=0,w=[];b<p.length;){y.lastIndex=v?b:0;var S,E=u(y,v?p:p.slice(b));if(null===E||(S=g(s(y.lastIndex+(v?0:b)),p.length))===x)b=f(p,b,h);else{if(w.push(p.slice(x,b)),w.length===_)return w;for(var O=1;O<=E.length-1;O++)if(w.push(E[O]),w.length===_)return w;b=x=S}}return w.push(p.slice(x)),w}]}),!v)},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(t,n,e){"use strict";e.r(n);var r=e(2),i=e.n(r);e(165);e(19);function o(t,n){return i.a.ajax({type:"post",dataType:"json",url:GFPDF.ajaxUrl,data:t,success:n,error:n})}function a(t){return i()("<img alt="+GFPDF.spinnerAlt+" src="+GFPDF.spinnerUrl+" class="+t+" />")}function c(t){var n=i()("#gfpdf-settings-field-wrapper-font, #gfpdf-settings-field-wrapper-font_size, #gfpdf-settings-field-wrapper-font_colour");"legacy"===t?n.hide():n.show()}var f=e(121);function s(){i()("#gfpdf_settings\\[template\\]").off("change").on("change",(function(){var t=a("gfpdf-spinner-template");i()(this).next().after(t),o({action:"gfpdf_get_template_fields",nonce:GFPDF.ajaxNonce,template:i()(this).val(),type:i()(this).attr("id"),id:i()("#gform_id").val(),gform_pdf_id:i()("#gform_pdf_id").val()},(function(n){var e,r,o=i()(".submit-container-2")[0];t.remove(),i()('input[name="gfpdf_settings[advanced_template]"][value="No"]').prop("checked",!0).trigger("change"),n.fields?(i.a.each(n.editors,(function(t,n){var e=tinyMCE.get(n);if(null!==e)try{tinyMCE.remove(e)}catch(t){}})),o||Object(f.b)(i()("#gfpdf-fieldset-gfpdf_form_settings_template")[0],i()("#gfpdf_pdf_form")[0],"2"),i()("#gfpdf-fieldset-gfpdf_form_settings_template").show().find(".gform-settings-panel__content").html(n.fields),e=n.editors,null!=(r=n.editor_init)&&(r.body_class="id post-type-post post-status-publish post-format-standard",r.formats={alignleft:[{selector:"p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li",styles:{textAlign:"left"}},{selector:"img,table,dl.wp-caption",classes:"alignleft"}],aligncenter:[{selector:"p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li",styles:{textAlign:"center"}},{selector:"img,table,dl.wp-caption",classes:"aligncenter"}],alignright:[{selector:"p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li",styles:{textAlign:"right"}},{selector:"img,table,dl.wp-caption",classes:"alignright"}],strikethrough:{inline:"del"}},r.content_style='body#tinymce { max-width: 100%; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;}'),i.a.each(e,(function(t,n){r.selector="#"+n,tinyMCE.init(r),tinyMCE.execCommand("mceAddEditor",!1,n),"function"==typeof QTags&&(QTags({id:n}),QTags._buttonsInit(),"function"==typeof switchEditors.switchto&&switchEditors.switchto(jQuery("#wp-"+n+"-wrap").find(".wp-switch-editor.switch-"+("html"===getUserSetting("editor")?"html":"tmce"))[0]))})),l.runElements(),window.gfMergeTags&&"undefined"!=typeof form&&i()("#gfpdf-fieldset-gfpdf_form_settings_template .merge-tag-support").length>=0&&(i()("#gfpdf-fieldset-gfpdf_form_settings_template .merge-tag-support").each((function(){new gfMergeTagsObj(form,i()(this))})),i()("#gfpdf-fieldset-gfpdf_form_settings_template .gform-settings-field").each((function(){i()(this).find(".merge-tag-support, .merge-tag-support + span").wrapAll('<div class="gform-settings-input__container gform-settings-input__container--with-merge-tag"></div>'),i()(this).find(".all-merge-tags.textarea").parent().wrapAll('<div class="gform-settings-input__container gform-settings-input__container--with-merge-tag gfpdf-merge-tag-container"></div>')}))),gform_initialize_tooltips()):(o&&o.remove(),i()("#gfpdf-fieldset-gfpdf_form_settings_template").hide().find(".gform-settings-panel__content").html("")),n.template_type&&c(n.template_type),i()(document).trigger("gfpdf_template_loaded",[n])}))}))}function u(t,n){for(var e=0;e<n.length;e++){var r=n[e];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}var l=new(function(){function t(){!function(t,n){if(!(t instanceof n))throw new TypeError("Cannot call a class as a function")}(this,t)}var n,e,r;return n=t,(e=[{key:"runElements",value:function(){var t;"undefined"!=typeof gf_vars&&(gf_vars.thisFormButton=GFPDF.conditionalText,gf_vars.show=GFPDF.enable,gf_vars.hide=GFPDF.disable),window.formfield="",i()("body").off("click",".gfpdf_settings_upload_button").on("click",".gfpdf_settings_upload_button",(function(n){n.preventDefault();var e=i()(this);window.formfield=i()(this).prev(),t||(t=wp.media.frames.file_frame=wp.media({title:e.data("uploader-title"),button:{text:e.data("uploader-button-text")},multiple:!1})).on("select",(function(){t.state().get("selection").each((function(t){t=t.toJSON(),window.formfield.val(t.url).trigger("change")}))})),t.open()})),i()(".gfpdf-color-picker").each((function(){i()(this).wpColorPicker({width:300}),i()(this).parents(".wp-picker-container").find(".wp-color-result").addClass("ed_button")})),i()(".gfpdf_paper_size").each((function(){var t=i()(this).nextAll(".gfpdf_paper_size_other").first();i()(this).find("select").off("change").on("change",(function(){"CUSTOM"===i()(this).val()?t.fadeIn():t.fadeOut()})).trigger("change")})),i()("form").off("change",".gfpdf-input-toggle").on("change",".gfpdf-input-toggle",(function(){var t=i()(this).parent().next();i()(this).prop("checked")?t.slideDown("slow"):(t.slideUp("slow"),t.find(".wp-editor-area").each((function(){var t=tinyMCE.get(i()(this).attr("id"));null!==t&&t.setContent("")})),t.find("textarea").each((function(){i()(this).val("")})))})),s(),i()(".gfpdf-deactivate-license").on("click",(function(){var t=i()(this).parent(),n=a("gfpdf-spinner");i()(this).append(n);var e=i()(this).data("addon-name");return o({action:"gfpdf_deactivate_license",addon_name:e,license:i()(this).data("license"),nonce:i()(this).data("nonce")},(function(r){n.remove(),r.success?(i()("#gfpdf_settings\\[license_"+e+"\\]").val(""),i()("#gfpdf_settings\\[license_"+e+"_message\\]").val(""),i()("#gfpdf_settings\\[license_"+e+"_status\\]").val(""),t.find("button").remove(),t.find("#message").removeClass("error").addClass("success").html(r.success)):t.find("#message").removeClass("success").addClass("error").html(r.error)})),!1}))}}])&&u(n.prototype,e),r&&u(n,r),t}());e(171),e(41),e(29),e(93);function p(t){t.attr("novalidate","novalidate"),t.find('input[type="submit"]').on("click",(function(){t.addClass("formSubmitted")})),t.find(':input[required=""], :input[required]').each((function(){var t=i()(this).parent();t.find(".gform-settings-panel__title a").length?t.find(".gform-settings-panel__title a").before('<span class="gfield_required">(required)</span>'):t.find(".gform-settings-panel__title").append('<span class="gfield_required">(required)</span>')}))}function d(t,n,e){n=void 0!==n?n:4500,e=void 0!==e&&e;var r=i()('<div id="message">').html("<p>"+t+"</p>");!0===e?r.addClass("error"):r.addClass("updated"),i()(".wrap > h2").after(r),setTimeout((function(){r.slideUp()}),n)}function g(){function t(t){t.append(a("gfpdf-spinner gfpdf-spinner-small")).closest(".row-actions").attr("style","position:static; visibility: visible;"),o({action:"gfpdf_list_delete",nonce:t.data("nonce"),fid:t.data("fid"),pid:t.data("id")},(function(n){n.msg&&(t.closest(".row-actions").attr("style","").find(".gfpdf-spinner").remove(),d(n.msg),t.parents("tr").css("background","#ffb8b8").fadeOut(400,(function(){this.remove(),function(){var t=i()("#gfpdf_list_form tbody");if(0===t.find("tr").length){var n=i()("<tr>").addClass("no-items"),e=i()("<td>").attr("colspan","5").addClass("colspanchange"),r=i()("<a>").attr("href",i()("#gfpdf_list_form a.button:first").attr("href")).append(GFPDF.letsGoCreateOne+".");e.append(GFPDF.thisFormHasNoPdfs).append(" ").append(r),n.append(e),t.append(n)}}()})))}))}i()("#gfpdf_list_form").on("click","a.submitdelete",(function(){String(i()(this).data("id")).length>0&&window.confirm(GFPDF.pdfDeleteWarning)&&t(i()(this));return!1}))}e(71),e(173);function v(t,n){for(var e=0;e<n.length;e++){var r=n[e];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}var h=new(function(){function t(){!function(t,n){if(!(t instanceof n))throw new TypeError("Cannot call a class as a function")}(this,t)}var n,e,r;return n=t,(e=[{key:"setupAJAXListListener",value:function(){g(),i()("#gfpdf_list_form").on("click","a.submitduplicate",(function(t){t.preventDefault();var n=String(i()(this).data("id")),e=this;i()(this).after(a("gfpdf-spinner gfpdf-spinner-small")).parent().parent().attr("style","position:static; visibility: visible;"),n.length>0&&o({action:"gfpdf_list_duplicate",nonce:i()(this).data("nonce"),fid:i()(this).data("fid"),pid:i()(this).data("id")},(function(t){if(t.msg){i()(e).parent().parent().attr("style","").find(".gfpdf-spinner").remove(),d(t.msg);var r=i()(e).parents("tr"),o=r.clone();o.find(".column-name > a, .edit a").each((function(){var n=i()(this).attr("href");n=function(t,n,e){var r="",i=t.split("?"),o=i[0],a=i[1],c="";if(a){i=a.split("&");for(var f=0;f<i.length;f++)i[f].split("=")[0]!==n&&(r+=c+i[f],c="&")}return o+"?"+r+c+n+"="+e}(n,"pid",t.pid),i()(this).attr("href",n)})),o.find(".column-name > a").html(t.name);var a=o.find(".duplicate a"),c=o.find(".delete a"),f=o.find(".check-column button"),s=o.find(".column-shortcode");a.data("id",t.pid),a.data("nonce",t.dup_nonce),c.data("id",t.pid),c.data("nonce",t.del_nonce),f.data("id",t.pid),f.data("nonce",t.state_nonce),f[0].setAttribute("data-status","inactive");var u=s.find("button").attr("data-clipboard-text");u=u.replace(n,t.pid),s.find("button").attr("data-clipboard-text",u),s.find("input").attr("id",t.pid).attr("value",u),f.removeClass("gform-status--active").addClass("gform-status--inactive").find(".gform-status-indicator-status").html(t.status),o.hide().insertAfter(r).fadeIn()}}))})),i()("#gfpdf_list_form").on("click",".check-column button",(function(){var t=String(i()(this).data("id")),n=i()(this),e=n.find("span.gform-status-indicator-status");t.length>0&&(n.addClass("gform_status--pending").removeClass("gform-status--active gform-status--inactive"),o({action:"gfpdf_change_state",nonce:i()(this).data("nonce"),fid:i()(this).data("fid"),pid:i()(this).data("id")},(function(t){e.html(t.state),"active"===n.data("status")?(n[0].setAttribute("data-status","inactive"),n.data("status","inactive").removeClass("gform_status--pending").addClass("gform-status--inactive")):(n[0].setAttribute("data-status","active"),n.data("status","active").removeClass("gform_status--pending").addClass("gform-status--active"))})))}))}}])&&v(n.prototype,e),r&&v(n,r),t}());e(58);function m(){var t,n,e,r,o,a,f,s;p(i()("#gfpdf_pdf_form")),t=i()("#gfpdf-fieldset-gfpdf_form_settings_advanced"),n=t.find('input[name="gfpdf_settings[security]"]'),e=t.find('input[name="gfpdf_settings[format]"]'),r=t.find("#gfpdf-settings-field-wrapper-security"),o=t.find("#gfpdf-settings-field-wrapper-password,#gfpdf-settings-field-wrapper-privileges,#gfpdf-settings-field-wrapper-master_password:not(.gfpdf-hidden)"),n.on("change",(function(){var t=e.filter(":checked").val();"No"===i()(this).val()||"Standard"!==t?o.hide():i()(this).is(":checked")?o.show():o.hide(),"Standard"!==t?r.hide():r.show()})).trigger("change"),e.on("change",(function(){i()(this).is(":checked")&&n.trigger("change")})).trigger("change"),gform.addFilter("gform_conditional_object",(function(t,n){return"gfpdf"===n?window.gfpdf_current_pdf:t})),i()("#gfpdf_conditional_logic").on("change",(function(){void 0===window.gfpdf_current_pdf.conditionalLogic&&i()(this).prop("checked")?window.gfpdf_current_pdf.conditionalLogic=new ConditionalLogic:i()(this).prop("checked")||(window.gfpdf_current_pdf.conditionalLogic=null),ToggleConditionalLogic(!1,"gfpdf")})).trigger("change"),a=i()("#gfpdf-fieldset-gfpdf_form_settings_advanced").find('input[name="gfpdf_settings[public_access]"]'),f=i()("#gfpdf-settings-field-wrapper-restrict_owner"),a.on("change",(function(){i()(this).is(":checked")?f.hide():f.show()})).trigger("change"),c(i()("#gfpdf_settings\\[template\\]").data("template_group")),s=i()("#gfpdf-fieldset-gfpdf_form_settings_appearance"),i()('input[name="gfpdf_settings[advanced_template]"]').on("change",(function(){"Yes"===i()(this).val()?s.hide():s.show()})),i()('input[name="gfpdf_settings[advanced_template]"]:checked').trigger("change"),i()(".gform-settings-field").each((function(){i()(this).find(".merge-tag-support, .merge-tag-support + span").wrapAll('<div class="gform-settings-input__container gform-settings-input__container--with-merge-tag"></div>'),i()(this).find(".all-merge-tags.textarea").parent().wrapAll('<div class="gform-settings-input__container gform-settings-input__container--with-merge-tag gfpdf-merge-tag-container"></div>')}));var u=i()("#gfpdf-fieldset-gfpdf_form_settings_template");0===u.find(".gform-settings-panel__content").children().length&&u.hide(),i()(".gform-settings__wrapper > .alert").detach().prependTo("#tab_PDF"),i()("#gfpdf_pdf_form").on("submit",(function(){try{tinyMCE.triggerSave()}catch(t){}})),i()("#gfpdf_pdf_form").on("submit",(function(){i()("#gfpdf_settings\\[conditionalLogic\\]").val(i.a.toJSON(window.gfpdf_current_pdf.conditionalLogic))}))}function y(t,n){for(var e=0;e<n.length;e++){var r=n[e];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}var _=new(function(){function t(){!function(t,n){if(!(t instanceof n))throw new TypeError("Cannot call a class as a function")}(this,t)}var n,e,r;return n=t,(e=[{key:"isSettings",value:function(){return i()("#pdfextended-settings").length}},{key:"isFormSettings",value:function(){return i()(".gforms_edit_form").length}},{key:"isFormSettingsList",value:function(){return i()("#gfpdf_list_form").length}},{key:"isFormSettingsEdit",value:function(){return i()("#gfpdf_pdf_form").length}}])&&y(n.prototype,e),r&&y(n,r),t}());function x(t,n){for(var e=0;e<n.length;e++){var r=n[e];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}var b=new(function(){function t(){!function(t,n){if(!(t instanceof n))throw new TypeError("Cannot call a class as a function")}(this,t)}var n,e,r;return n=t,(e=[{key:"init",value:function(){l.runElements(),_.isSettings()&&this.processSettings(),_.isFormSettings()&&this.processFormSettings()}},{key:"getCurrentSettingsPage",value:function(){return _.isSettings()?i()(".gform-settings-tabs__navigation a.active:first").data("id"):""}},{key:"processSettings",value:function(){switch(i()("#gform_tabs a").each((function(){var t=i()(this).attr("href"),n=new RegExp("&tab=[^&;]*","g");i()(this).attr("href",t.replace(n,""))})),this.getCurrentSettingsPage()){case"general":!function(){p(i()("#pdfextended-settings > form"));var t=i()("#pdf-general-security");t.find('input[name="gfpdf_settings[default_restrict_owner]"]').on("change",(function(){i()(this).is(":checked")&&("Yes"===i()(this).val()?t.find("tr:nth-child(3)").hide():t.find("tr:nth-child(3)").show())})).trigger("change")}()}}},{key:"processFormSettings",value:function(){_.isFormSettingsList()&&h.setupAJAXListListener(),_.isFormSettingsEdit()&&m()}}])&&x(n.prototype,e),r&&x(n,r),t}());i()((function(){b.init()}))}]);
|
dist/assets/js/app.bundle.min.js
CHANGED
@@ -1,4 +1,4 @@
|
|
1 |
-
!function(e){function t(t){for(var n,o,i=t[0],a=t[1],u=0,c=[];u<i.length;u++)o=i[u],Object.prototype.hasOwnProperty.call(r,o)&&r[o]&&c.push(r[o][0]),r[o]=0;for(n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n]);for(l&&l(t);c.length;)c.shift()()}var n={},r={2:0};function o(t){if(n[t])return n[t].exports;var r=n[t]={i:t,l:!1,exports:{}};return e[t].call(r.exports,r,r.exports,o),r.l=!0,r.exports}o.e=function(e){var t=[],n=r[e];if(0!==n)if(n)t.push(n[2]);else{var i=new Promise((function(t,o){n=r[e]=[t,o]}));t.push(n[2]=i);var a,u=document.createElement("script");u.charset="utf-8",u.timeout=120,o.nc&&u.setAttribute("nonce",o.nc),u.src=function(e){return o.p+"assets/js/chunk-"+({}[e]||e)+"."+{0:"e033d172e282e0a2b9cc",4:"3958577e9ba487662fcf",5:"4048e584cf68fa13efd8",6:"ef3565a14028638eb70f",7:"514921733ef2f6274a79",8:"c48910b68a8cb06a33ba",9:"4ab0fcd8be55c0868e3a",10:"d768793400e94cf88b98"}[e]+".js"}(e);var l=new Error;a=function(t){u.onerror=u.onload=null,clearTimeout(c);var n=r[e];if(0!==n){if(n){var o=t&&("load"===t.type?"missing":t.type),i=t&&t.target&&t.target.src;l.message="Loading chunk "+e+" failed.\n("+o+": "+i+")",l.name="ChunkLoadError",l.type=o,l.request=i,n[1](l)}r[e]=void 0}};var c=setTimeout((function(){a({type:"timeout",target:u})}),12e4);u.onerror=u.onload=a,document.head.appendChild(u)}return Promise.all(t)},o.m=e,o.c=n,o.d=function(e,t,n){o.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},o.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},o.t=function(e,t){if(1&t&&(e=o(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(o.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)o.d(n,r,function(t){return e[t]}.bind(null,r));return n},o.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return o.d(t,"a",t),t},o.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},o.p="/home/runner/work/gravity-pdf/gravity-pdf/tmp/package/6.3.1/dist/",o.oe=function(e){throw console.error(e),e};var i=window.webpackJsonp=window.webpackJsonp||[],a=i.push.bind(i);i.push=t,i=i.slice();for(var u=0;u<i.length;u++)t(i[u]);var l=a;o(o.s=210)}([function(e,t,n){"use strict";e.exports=n(186)},function(e,t,n){e.exports=n(201)()},function(e,t){e.exports=jQuery},function(e,t,n){"use strict";n.d(t,"m",(function(){return r})),n.d(t,"o",(function(){return o})),n.d(t,"n",(function(){return i})),n.d(t,"a",(function(){return a})),n.d(t,"c",(function(){return u})),n.d(t,"b",(function(){return l})),n.d(t,"j",(function(){return c})),n.d(t,"l",(function(){return s})),n.d(t,"k",(function(){return f})),n.d(t,"t",(function(){return p})),n.d(t,"i",(function(){return d})),n.d(t,"f",(function(){return h})),n.d(t,"h",(function(){return m})),n.d(t,"g",(function(){return v})),n.d(t,"d",(function(){return y})),n.d(t,"e",(function(){return g})),n.d(t,"q",(function(){return b})),n.d(t,"r",(function(){return w})),n.d(t,"s",(function(){return E})),n.d(t,"p",(function(){return x})),n.d(t,"A",(function(){return S})),n.d(t,"u",(function(){return T})),n.d(t,"z",(function(){return O})),n.d(t,"F",(function(){return k})),n.d(t,"y",(function(){return _})),n.d(t,"x",(function(){return P})),n.d(t,"v",(function(){return F})),n.d(t,"w",(function(){return C})),n.d(t,"D",(function(){return j})),n.d(t,"C",(function(){return R})),n.d(t,"E",(function(){return D})),n.d(t,"B",(function(){return A}));var r="GET_CUSTOM_FONT_LIST",o="GET_CUSTOM_FONT_LIST_SUCCESS",i="GET_CUSTOM_FONT_LIST_ERROR",a="ADD_FONT",u="ADD_FONT_SUCCESS",l="ADD_FONT_ERROR",c="EDIT_FONT",s="EDIT_FONT_SUCCESS",f="EDIT_FONT_ERROR",p="VALIDATION_ERROR",d="DELETE_VARIANT_ERROR",h="DELETE_FONT",m="DELETE_FONT_SUCCESS",v="DELETE_FONT_ERROR",y="CLEAR_ADD_FONT_MSG",g="CLEAR_DROPZONE_ERROR",b="RESET_SEARCH_RESULT",w="SEARCH_FONT_LIST",E="SELECT_FONT",x="MOVE_SELECTED_FONT_TO_TOP",S=function(){return{type:r}},T=function(e){return{type:a,payload:e}},O=function(e){return{type:c,payload:e}},k=function(){return{type:p}},_=function(e){return{type:d,payload:e}},P=function(e){return{type:h,payload:e}},F=function(){return{type:y}},C=function(e){return{type:g,payload:e}},j=function(e){return{type:w,payload:e}},R=function(){return{type:b}},D=function(e){return{type:E,payload:e}},A=function(e){return{type:x,payload:e}}},function(e,t,n){(function(t){var n=function(e){return e&&e.Math==Math&&e};e.exports=n("object"==typeof globalThis&&globalThis)||n("object"==typeof window&&window)||n("object"==typeof self&&self)||n("object"==typeof t&&t)||Function("return this")()}).call(this,n(84))},function(e,t){e.exports=function(e){try{return!!e()}catch(e){return!0}}},function(e,t,n){var r=n(4),o=n(61),i=n(9),a=n(63),u=n(64),l=n(101),c=o("wks"),s=r.Symbol,f=l?s:s&&s.withoutSetter||a;e.exports=function(e){return i(c,e)||(u&&i(s,e)?c[e]=s[e]:c[e]=f("Symbol."+e)),c[e]}},function(e,t,n){var r=n(4),o=n(45).f,i=n(14),a=n(26),u=n(50),l=n(102),c=n(85);e.exports=function(e,t){var n,s,f,p,d,h=e.target,m=e.global,v=e.stat;if(n=m?r:v?r[h]||u(h,{}):(r[h]||{}).prototype)for(s in t){if(p=t[s],f=e.noTargetGet?(d=o(n,s))&&d.value:n[s],!c(m?s:h+(v?".":"#")+s,e.forced)&&void 0!==f){if(typeof p==typeof f)continue;l(p,f)}(e.sham||f&&f.sham)&&i(p,"sham",!0),a(n,s,p,e)}}},function(e,t,n){var r=n(11);e.exports=function(e){if(!r(e))throw TypeError(String(e)+" is not an object");return e}},function(e,t){var n={}.hasOwnProperty;e.exports=function(e,t){return n.call(e,t)}},function(e,t,n){var r=n(5);e.exports=!r((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]}))},function(e,t){e.exports=function(e){return"object"==typeof e?null!==e:"function"==typeof e}},function(e,t,n){var r=n(10),o=n(76),i=n(8),a=n(51),u=Object.defineProperty;t.f=r?u:function(e,t,n){if(i(e),t=a(t,!0),i(n),o)try{return u(e,t,n)}catch(e){}if("get"in n||"set"in n)throw TypeError("Accessors not supported");return"value"in n&&(e[t]=n.value),e}},function(e,t,n){"use strict";n.d(t,"f",(function(){return r})),n.d(t,"g",(function(){return o})),n.d(t,"a",(function(){return i})),n.d(t,"o",(function(){return a})),n.d(t,"d",(function(){return u})),n.d(t,"m",(function(){return l})),n.d(t,"n",(function(){return c})),n.d(t,"h",(function(){return s})),n.d(t,"j",(function(){return f})),n.d(t,"i",(function(){return p})),n.d(t,"b",(function(){return d})),n.d(t,"e",(function(){return h})),n.d(t,"l",(function(){return m})),n.d(t,"k",(function(){return v})),n.d(t,"c",(function(){return y})),n.d(t,"u",(function(){return g})),n.d(t,"v",(function(){return b})),n.d(t,"p",(function(){return w})),n.d(t,"E",(function(){return E})),n.d(t,"s",(function(){return x})),n.d(t,"B",(function(){return S})),n.d(t,"D",(function(){return T})),n.d(t,"C",(function(){return O})),n.d(t,"w",(function(){return k})),n.d(t,"y",(function(){return _})),n.d(t,"x",(function(){return P})),n.d(t,"q",(function(){return F})),n.d(t,"t",(function(){return C})),n.d(t,"A",(function(){return j})),n.d(t,"z",(function(){return R})),n.d(t,"r",(function(){return D}));var r="SEARCH_TEMPLATES",o="SELECT_TEMPLATE",i="ADD_TEMPLATE",a="UPDATE_TEMPLATE_PARAM",u="DELETE_TEMPLATE",l="UPDATE_SELECT_BOX",c="UPDATE_SELECT_BOX_SUCCESS",s="TEMPLATE_PROCESSING",f="TEMPLATE_PROCESSING_SUCCESS",p="TEMPLATE_PROCESSING_FAILED",d="CLEAR_TEMPLATE_PROCESSING",h="POST_TEMPLATE_UPLOAD_PROCESSING",m="TEMPLATE_UPLOAD_PROCESSING_SUCCESS",v="TEMPLATE_UPLOAD_PROCESSING_FAILED",y="CLEAR_TEMPLATE_UPLOAD_PROCESSING",g=function(e){return{type:r,text:e}},b=function(e){return{type:o,id:e}},w=function(e){return{type:i,template:e}},E=function(e,t,n){return{type:a,id:e,name:t,value:n}},x=function(e){return{type:u,id:e}},S=function(){return{type:l}},T=function(e){return{type:c,payload:e}},O=function(){return{type:"UPDATE_SELECT_BOX_FAILED"}},k=function(e){return{type:s,payload:e}},_=function(e){return{type:f,payload:e}},P=function(e){return{type:p,payload:e}},F=function(){return{type:d}},C=function(e,t){return{type:h,payload:{file:e,filename:t}}},j=function(e){return{type:m,payload:e}},R=function(e){return{type:v,payload:e}},D=function(){return{type:y}}},function(e,t,n){var r=n(10),o=n(12),i=n(34);e.exports=r?function(e,t,n){return o.f(e,t,i(1,n))}:function(e,t,n){return e[t]=n,e}},function(e,t,n){"use strict";var r=n(0),o=n.n(r),i=n(1),a=n.n(i),u=o.a.createContext(null);var l=function(e){e()},c={notify:function(){}};function s(){var e=l,t=[],n=[];return{clear:function(){n=null,t=null},notify:function(){var r=t=n;e((function(){for(var e=0;e<r.length;e++)r[e]()}))},get:function(){return n},subscribe:function(e){var r=!0;return n===t&&(n=t.slice()),n.push(e),function(){r&&null!==t&&(r=!1,n===t&&(n=t.slice()),n.splice(n.indexOf(e),1))}}}}var f=function(){function e(e,t){this.store=e,this.parentSub=t,this.unsubscribe=null,this.listeners=c,this.handleChangeWrapper=this.handleChangeWrapper.bind(this)}var t=e.prototype;return t.addNestedSub=function(e){return this.trySubscribe(),this.listeners.subscribe(e)},t.notifyNestedSubs=function(){this.listeners.notify()},t.handleChangeWrapper=function(){this.onStateChange&&this.onStateChange()},t.isSubscribed=function(){return Boolean(this.unsubscribe)},t.trySubscribe=function(){this.unsubscribe||(this.unsubscribe=this.parentSub?this.parentSub.addNestedSub(this.handleChangeWrapper):this.store.subscribe(this.handleChangeWrapper),this.listeners=s())},t.tryUnsubscribe=function(){this.unsubscribe&&(this.unsubscribe(),this.unsubscribe=null,this.listeners.clear(),this.listeners=c)},e}();function p(e){var t=e.store,n=e.context,i=e.children,a=Object(r.useMemo)((function(){var e=new f(t);return e.onStateChange=e.notifyNestedSubs,{store:t,subscription:e}}),[t]),l=Object(r.useMemo)((function(){return t.getState()}),[t]);Object(r.useEffect)((function(){var e=a.subscription;return e.trySubscribe(),l!==t.getState()&&e.notifyNestedSubs(),function(){e.tryUnsubscribe(),e.onStateChange=null}}),[a,l]);var c=n||u;return o.a.createElement(c.Provider,{value:a},i)}p.propTypes={store:a.a.shape({subscribe:a.a.func.isRequired,dispatch:a.a.func.isRequired,getState:a.a.func.isRequired}),context:a.a.object,children:a.a.any};var d=p,h=n(28),m=n(69),v=n(122),y=n.n(v),g=n(70),b=n.n(g),w=n(137),E="undefined"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement?r.useLayoutEffect:r.useEffect,x=[],S=[null,null];function T(e,t){var n=e[1];return[t.payload,n+1]}var O=function(){return[null,0]};function k(e,t){void 0===t&&(t={});var n=t,i=n.getDisplayName,a=void 0===i?function(e){return"ConnectAdvanced("+e+")"}:i,l=n.methodName,c=void 0===l?"connectAdvanced":l,s=n.renderCountProp,p=void 0===s?void 0:s,d=n.shouldHandleStateChanges,v=void 0===d||d,g=n.storeKey,k=void 0===g?"store":g,_=n.withRef,P=void 0!==_&&_,F=n.forwardRef,C=void 0!==F&&F,j=n.context,R=void 0===j?u:j,D=Object(m.a)(n,["getDisplayName","methodName","renderCountProp","shouldHandleStateChanges","storeKey","withRef","forwardRef","context"]);b()(void 0===p,"renderCountProp is removed. render counting is built into the latest React Dev Tools profiling extension"),b()(!P,"withRef is removed. To access the wrapped instance, use a ref on the connected component");b()("store"===k,"storeKey has been removed and does not do anything. To use a custom Redux store for specific components, create a custom React context with React.createContext(), and pass the context object to React Redux's Provider and specific components like: <Provider context={MyContext}><ConnectedComponent context={MyContext} /></Provider>. You may also pass a {context : MyContext} option to connect");var A=R;return function(t){var n=t.displayName||t.name||"Component",i=a(n),u=Object(h.a)({},D,{getDisplayName:a,methodName:c,renderCountProp:p,shouldHandleStateChanges:v,storeKey:k,displayName:i,wrappedComponentName:n,WrappedComponent:t}),l=D.pure;var s=l?r.useMemo:function(e){return e()};function d(n){var a=Object(r.useMemo)((function(){var e=n.forwardedRef,t=Object(m.a)(n,["forwardedRef"]);return[n.context,e,t]}),[n]),l=a[0],c=a[1],p=a[2],d=Object(r.useMemo)((function(){return l&&l.Consumer&&Object(w.isContextConsumer)(o.a.createElement(l.Consumer,null))?l:A}),[l,A]),y=Object(r.useContext)(d),g=Boolean(n.store)&&Boolean(n.store.getState)&&Boolean(n.store.dispatch),k=Boolean(y)&&Boolean(y.store);b()(g||k,'Could not find "store" in the context of "'+i+'". Either wrap the root component in a <Provider>, or pass a custom React context provider to <Provider> and the corresponding React context consumer to '+i+" in connect options.");var _=g?n.store:y.store,P=Object(r.useMemo)((function(){return function(t){return e(t.dispatch,u)}(_)}),[_]),F=Object(r.useMemo)((function(){if(!v)return S;var e=new f(_,g?null:y.subscription),t=e.notifyNestedSubs.bind(e);return[e,t]}),[_,g,y]),C=F[0],j=F[1],R=Object(r.useMemo)((function(){return g?y:Object(h.a)({},y,{subscription:C})}),[g,y,C]),D=Object(r.useReducer)(T,x,O),L=D[0][0],N=D[1];if(L&&L.error)throw L.error;var I=Object(r.useRef)(),M=Object(r.useRef)(p),U=Object(r.useRef)(),q=Object(r.useRef)(!1),z=s((function(){return U.current&&p===M.current?U.current:P(_.getState(),p)}),[_,L,p]);E((function(){M.current=p,I.current=z,q.current=!1,U.current&&(U.current=null,j())})),E((function(){if(v){var e=!1,t=null,n=function(){if(!e){var n,r,o=_.getState();try{n=P(o,M.current)}catch(e){r=e,t=e}r||(t=null),n===I.current?q.current||j():(I.current=n,U.current=n,q.current=!0,N({type:"STORE_UPDATED",payload:{error:r}}))}};C.onStateChange=n,C.trySubscribe(),n();return function(){if(e=!0,C.tryUnsubscribe(),C.onStateChange=null,t)throw t}}}),[_,C,P]);var H=Object(r.useMemo)((function(){return o.a.createElement(t,Object(h.a)({},z,{ref:c}))}),[c,t,z]);return Object(r.useMemo)((function(){return v?o.a.createElement(d.Provider,{value:R},H):H}),[d,H,R])}var g=l?o.a.memo(d):d;if(g.WrappedComponent=t,g.displayName=i,C){var _=o.a.forwardRef((function(e,t){return o.a.createElement(g,Object(h.a)({},e,{forwardedRef:t}))}));return _.displayName=i,_.WrappedComponent=t,y()(_,t)}return y()(g,t)}}var _=Object.prototype.hasOwnProperty;function P(e,t){return e===t?0!==e||0!==t||1/e==1/t:e!=e&&t!=t}function F(e,t){if(P(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(var o=0;o<n.length;o++)if(!_.call(t,n[o])||!P(e[n[o]],t[n[o]]))return!1;return!0}var C=n(79);function j(e){return function(t,n){var r=e(t,n);function o(){return r}return o.dependsOnOwnProps=!1,o}}function R(e){return null!==e.dependsOnOwnProps&&void 0!==e.dependsOnOwnProps?Boolean(e.dependsOnOwnProps):1!==e.length}function D(e,t){return function(t,n){n.displayName;var r=function(e,t){return r.dependsOnOwnProps?r.mapToProps(e,t):r.mapToProps(e)};return r.dependsOnOwnProps=!0,r.mapToProps=function(t,n){r.mapToProps=e,r.dependsOnOwnProps=R(e);var o=r(t,n);return"function"==typeof o&&(r.mapToProps=o,r.dependsOnOwnProps=R(o),o=r(t,n)),o},r}}var A=[function(e){return"function"==typeof e?D(e):void 0},function(e){return e?void 0:j((function(e){return{dispatch:e}}))},function(e){return e&&"object"==typeof e?j((function(t){return Object(C.bindActionCreators)(e,t)})):void 0}];var L=[function(e){return"function"==typeof e?D(e):void 0},function(e){return e?void 0:j((function(){return{}}))}];function N(e,t,n){return Object(h.a)({},n,{},e,{},t)}var I=[function(e){return"function"==typeof e?function(e){return function(t,n){n.displayName;var r,o=n.pure,i=n.areMergedPropsEqual,a=!1;return function(t,n,u){var l=e(t,n,u);return a?o&&i(l,r)||(r=l):(a=!0,r=l),r}}}(e):void 0},function(e){return e?void 0:function(){return N}}];function M(e,t,n,r){return function(o,i){return n(e(o,i),t(r,i),i)}}function U(e,t,n,r,o){var i,a,u,l,c,s=o.areStatesEqual,f=o.areOwnPropsEqual,p=o.areStatePropsEqual,d=!1;function h(o,d){var h,m,v=!f(d,a),y=!s(o,i);return i=o,a=d,v&&y?(u=e(i,a),t.dependsOnOwnProps&&(l=t(r,a)),c=n(u,l,a)):v?(e.dependsOnOwnProps&&(u=e(i,a)),t.dependsOnOwnProps&&(l=t(r,a)),c=n(u,l,a)):y?(h=e(i,a),m=!p(h,u),u=h,m&&(c=n(u,l,a)),c):c}return function(o,s){return d?h(o,s):(u=e(i=o,a=s),l=t(r,a),c=n(u,l,a),d=!0,c)}}function q(e,t){var n=t.initMapStateToProps,r=t.initMapDispatchToProps,o=t.initMergeProps,i=Object(m.a)(t,["initMapStateToProps","initMapDispatchToProps","initMergeProps"]),a=n(e,i),u=r(e,i),l=o(e,i);return(i.pure?U:M)(a,u,l,e,i)}function z(e,t,n){for(var r=t.length-1;r>=0;r--){var o=t[r](e);if(o)return o}return function(t,r){throw new Error("Invalid value of type "+typeof e+" for "+n+" argument when connecting component "+r.wrappedComponentName+".")}}function H(e,t){return e===t}var G,B,$,V,W,K,Q,X,Y,J,Z,ee,te=($=(B=void 0===G?{}:G).connectHOC,V=void 0===$?k:$,W=B.mapStateToPropsFactories,K=void 0===W?L:W,Q=B.mapDispatchToPropsFactories,X=void 0===Q?A:Q,Y=B.mergePropsFactories,J=void 0===Y?I:Y,Z=B.selectorFactory,ee=void 0===Z?q:Z,function(e,t,n,r){void 0===r&&(r={});var o=r,i=o.pure,a=void 0===i||i,u=o.areStatesEqual,l=void 0===u?H:u,c=o.areOwnPropsEqual,s=void 0===c?F:c,f=o.areStatePropsEqual,p=void 0===f?F:f,d=o.areMergedPropsEqual,v=void 0===d?F:d,y=Object(m.a)(o,["pure","areStatesEqual","areOwnPropsEqual","areStatePropsEqual","areMergedPropsEqual"]),g=z(e,K,"mapStateToProps"),b=z(t,X,"mapDispatchToProps"),w=z(n,J,"mergeProps");return V(ee,Object(h.a)({methodName:"connect",getDisplayName:function(e){return"Connect("+e+")"},shouldHandleStateChanges:Boolean(e),initMapStateToProps:g,initMapDispatchToProps:b,initMergeProps:w,pure:a,areStatesEqual:l,areOwnPropsEqual:s,areStatePropsEqual:p,areMergedPropsEqual:v},y))});function ne(){var e=Object(r.useContext)(u);return b()(e,"could not find react-redux context value; please ensure the component is wrapped in a <Provider>"),e}function re(e){void 0===e&&(e=u);var t=e===u?ne:function(){return Object(r.useContext)(e)};return function(){return t().store}}var oe=re();!function(e){void 0===e&&(e=u);var t=e===u?oe:re(e)}();var ie=function(e,t){return e===t};!function(e){void 0===e&&(e=u);var t=e===u?ne:function(){return Object(r.useContext)(e)}}();var ae,ue=n(30);n.d(t,"a",(function(){return d})),n.d(t,"b",(function(){return te})),ae=ue.unstable_batchedUpdates,l=ae},function(e,t,n){"use strict";function r(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}var o=n(0),i=n.n(o),a=(n(1),n(46)),u=n(149),l=n(37);function c(){return(c=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}var s=n(151),f=n.n(s);n(137);function p(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}var d=n(122),h=n.n(d);n.d(t,"a",(function(){return E})),n.d(t,"b",(function(){return y})),n.d(t,"c",(function(){return _})),n.d(t,"d",(function(){return v})),n.d(t,"e",(function(){return w})),n.d(t,"f",(function(){return P}));var m=function(e){var t=Object(u.a)();return t.displayName=e,t}("Router-History"),v=function(e){var t=Object(u.a)();return t.displayName=e,t}("Router"),y=function(e){function t(t){var n;return(n=e.call(this,t)||this).state={location:t.history.location},n._isMounted=!1,n._pendingLocation=null,t.staticContext||(n.unlisten=t.history.listen((function(e){n._isMounted?n.setState({location:e}):n._pendingLocation=e}))),n}r(t,e),t.computeRootMatch=function(e){return{path:"/",url:"/",params:{},isExact:"/"===e}};var n=t.prototype;return n.componentDidMount=function(){this._isMounted=!0,this._pendingLocation&&this.setState({location:this._pendingLocation})},n.componentWillUnmount=function(){this.unlisten&&this.unlisten()},n.render=function(){return i.a.createElement(v.Provider,{value:{history:this.props.history,location:this.state.location,match:t.computeRootMatch(this.state.location.pathname),staticContext:this.props.staticContext}},i.a.createElement(m.Provider,{children:this.props.children||null,value:this.props.history}))},t}(i.a.Component);i.a.Component;i.a.Component;var g={},b=0;function w(e,t){void 0===t&&(t={}),("string"==typeof t||Array.isArray(t))&&(t={path:t});var n=t,r=n.path,o=n.exact,i=void 0!==o&&o,a=n.strict,u=void 0!==a&&a,l=n.sensitive,c=void 0!==l&&l;return[].concat(r).reduce((function(t,n){if(!n&&""!==n)return null;if(t)return t;var r=function(e,t){var n=""+t.end+t.strict+t.sensitive,r=g[n]||(g[n]={});if(r[e])return r[e];var o=[],i={regexp:f()(e,o,t),keys:o};return b<1e4&&(r[e]=i,b++),i}(n,{end:i,strict:u,sensitive:c}),o=r.regexp,a=r.keys,l=o.exec(e);if(!l)return null;var s=l[0],p=l.slice(1),d=e===s;return i&&!d?null:{path:n,url:"/"===n&&""===s?"/":s,isExact:d,params:a.reduce((function(e,t,n){return e[t.name]=p[n],e}),{})}}),null)}var E=function(e){function t(){return e.apply(this,arguments)||this}return r(t,e),t.prototype.render=function(){var e=this;return i.a.createElement(v.Consumer,null,(function(t){t||Object(l.a)(!1);var n=e.props.location||t.location,r=c({},t,{location:n,match:e.props.computedMatch?e.props.computedMatch:e.props.path?w(n.pathname,e.props):t.match}),o=e.props,a=o.children,u=o.component,s=o.render;return Array.isArray(a)&&0===a.length&&(a=null),i.a.createElement(v.Provider,{value:r},r.match?a?"function"==typeof a?a(r):a:u?i.a.createElement(u,r):s?s(r):null:"function"==typeof a?a(r):null)}))},t}(i.a.Component);function x(e){return"/"===e.charAt(0)?e:"/"+e}function S(e,t){if(!e)return t;var n=x(e);return 0!==t.pathname.indexOf(n)?t:c({},t,{pathname:t.pathname.substr(n.length)})}function T(e){return"string"==typeof e?e:Object(a.e)(e)}function O(e){return function(){Object(l.a)(!1)}}function k(){}i.a.Component;var _=function(e){function t(){return e.apply(this,arguments)||this}return r(t,e),t.prototype.render=function(){var e=this;return i.a.createElement(v.Consumer,null,(function(t){t||Object(l.a)(!1);var n,r,o=e.props.location||t.location;return i.a.Children.forEach(e.props.children,(function(e){if(null==r&&i.a.isValidElement(e)){n=e;var a=e.props.path||e.props.from;r=a?w(o.pathname,c({},e.props,{path:a})):t.match}})),r?i.a.cloneElement(n,{location:o,computedMatch:r}):null}))},t}(i.a.Component);function P(e){var t="withRouter("+(e.displayName||e.name)+")",n=function(t){var n=t.wrappedComponentRef,r=p(t,["wrappedComponentRef"]);return i.a.createElement(v.Consumer,null,(function(t){return t||Object(l.a)(!1),i.a.createElement(e,c({},r,t,{ref:n}))}))};return n.displayName=t,n.WrappedComponent=e,h()(n,e)}i.a.useContext},function(e,t,n){"use strict";n.d(t,"a",(function(){return r})),n.d(t,"b",(function(){return o})),n.d(t,"d",(function(){return i})),n.d(t,"c",(function(){return a})),n.d(t,"g",(function(){return u})),n.d(t,"i",(function(){return l})),n.d(t,"h",(function(){return c})),n.d(t,"f",(function(){return s})),n.d(t,"j",(function(){return f})),n.d(t,"e",(function(){return p})),n.d(t,"k",(function(){return d})),n.d(t,"n",(function(){return h})),n.d(t,"l",(function(){return m})),n.d(t,"m",(function(){return v})),n.d(t,"r",(function(){return y})),n.d(t,"t",(function(){return g})),n.d(t,"s",(function(){return b})),n.d(t,"q",(function(){return w})),n.d(t,"p",(function(){return E})),n.d(t,"o",(function(){return x}));var r="ADD_TO_CONSOLE",o="ADD_TO_RETRY_LIST",i="CLEAR_CONSOLE",a="CLEAR_BUTTON_CLICKED_AND_RETRY_LIST",u="GET_FILES_FROM_GITHUB",l="GET_FILES_FROM_GITHUB_SUCCESS",c="GET_FILES_FROM_GITHUB_FAILED",s="DOWNLOAD_FONTS_API_CALL",f="REQUEST_SENT_COUNTER",p="CLEAR_REQUEST_REMAINING_DATA",d=function(e,t,n){return{type:r,key:e,status:t,message:n}},h=function(){return{type:i}},m=function(e){return{type:o,name:e}},v=function(){return{type:a}},y=function(){return{type:u}},g=function(e){return{type:l,payload:e}},b=function(e){return{type:c,payload:e}},w=function(e){return{type:s,payload:e}},E=function(){return{type:f}},x=function(){return{type:p}}},function(e,t,n){var r=n(113),o=n(26),i=n(176);r||o(Object.prototype,"toString",i,{unsafe:!0})},function(e,t,n){"use strict";var r=n(7),o=n(48).find,i=n(86),a=n(33),u=!0,l=a("find");"find"in[]&&Array(1).find((function(){u=!1})),r({target:"Array",proto:!0,forced:u||!l},{find:function(e){return o(this,e,arguments.length>1?arguments[1]:void 0)}}),i("find")},function(e,t,n){var r=n(59),o=n(22);e.exports=function(e){return r(o(e))}},function(e,t,n){var r=n(35),o=Math.min;e.exports=function(e){return e>0?o(r(e),9007199254740991):0}},function(e,t){e.exports=function(e){if(null==e)throw TypeError("Can't call method on "+e);return e}},function(e,t,n){var r=n(22);e.exports=function(e){return Object(r(e))}},function(e,t){var n={}.toString;e.exports=function(e){return n.call(e).slice(8,-1)}},function(e,t,n){"use strict";var r=n(117).charAt,o=n(47),i=n(132),a=o.set,u=o.getterFor("String Iterator");i(String,"String",(function(e){a(this,{type:"String Iterator",string:String(e),index:0})}),(function(){var e,t=u(this),n=t.string,o=t.index;return o>=n.length?{value:void 0,done:!0}:(e=r(n,o),t.index+=e.length,{value:e,done:!1})}))},function(e,t,n){var r=n(4),o=n(14),i=n(9),a=n(50),u=n(65),l=n(47),c=l.get,s=l.enforce,f=String(String).split("String");(e.exports=function(e,t,n,u){var l=!!u&&!!u.unsafe,c=!!u&&!!u.enumerable,p=!!u&&!!u.noTargetGet;"function"==typeof n&&("string"!=typeof t||i(n,"name")||o(n,"name",t),s(n).source=f.join("string"==typeof t?t:"")),e!==r?(l?!p&&e[t]&&(c=!0):delete e[t],c?e[t]=n:o(e,t,n)):c?e[t]=n:a(t,n)})(Function.prototype,"toString",(function(){return"function"==typeof this&&c(this).source||u(this)}))},function(e,t,n){var r=n(104),o=n(4),i=function(e){return"function"==typeof e?e:void 0};e.exports=function(e,t){return arguments.length<2?i(r[e])||i(o[e]):r[e]&&r[e][t]||o[e]&&o[e][t]}},function(e,t,n){"use strict";function r(){return(r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}n.d(t,"a",(function(){return r}))},function(e,t,n){"use strict";var r=n(26),o=n(8),i=n(5),a=n(97),u=RegExp.prototype,l=u.toString,c=i((function(){return"/a/b"!=l.call({source:"a",flags:"b"})})),s="toString"!=l.name;(c||s)&&r(RegExp.prototype,"toString",(function(){var e=o(this),t=String(e.source),n=e.flags;return"/"+t+"/"+String(void 0===n&&e instanceof RegExp&&!("flags"in u)?a.call(e):n)}),{unsafe:!0})},function(e,t,n){"use strict";!function e(){if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE){0;try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(e){console.error(e)}}}(),e.exports=n(187)},function(e,t,n){"use strict";var r=n(7),o=n(4),i=n(27),a=n(49),u=n(10),l=n(64),c=n(101),s=n(5),f=n(9),p=n(74),d=n(11),h=n(8),m=n(23),v=n(20),y=n(51),g=n(34),b=n(68),w=n(67),E=n(72),x=n(197),S=n(88),T=n(45),O=n(12),k=n(77),_=n(14),P=n(26),F=n(61),C=n(52),j=n(44),R=n(63),D=n(6),A=n(159),L=n(160),N=n(89),I=n(47),M=n(48).forEach,U=C("hidden"),q=D("toPrimitive"),z=I.set,H=I.getterFor("Symbol"),G=Object.prototype,B=o.Symbol,$=i("JSON","stringify"),V=T.f,W=O.f,K=x.f,Q=k.f,X=F("symbols"),Y=F("op-symbols"),J=F("string-to-symbol-registry"),Z=F("symbol-to-string-registry"),ee=F("wks"),te=o.QObject,ne=!te||!te.prototype||!te.prototype.findChild,re=u&&s((function(){return 7!=b(W({},"a",{get:function(){return W(this,"a",{value:7}).a}})).a}))?function(e,t,n){var r=V(G,t);r&&delete G[t],W(e,t,n),r&&e!==G&&W(G,t,r)}:W,oe=function(e,t){var n=X[e]=b(B.prototype);return z(n,{type:"Symbol",tag:e,description:t}),u||(n.description=t),n},ie=c?function(e){return"symbol"==typeof e}:function(e){return Object(e)instanceof B},ae=function(e,t,n){e===G&&ae(Y,t,n),h(e);var r=y(t,!0);return h(n),f(X,r)?(n.enumerable?(f(e,U)&&e[U][r]&&(e[U][r]=!1),n=b(n,{enumerable:g(0,!1)})):(f(e,U)||W(e,U,g(1,{})),e[U][r]=!0),re(e,r,n)):W(e,r,n)},ue=function(e,t){h(e);var n=v(t),r=w(n).concat(fe(n));return M(r,(function(t){u&&!le.call(n,t)||ae(e,t,n[t])})),e},le=function(e){var t=y(e,!0),n=Q.call(this,t);return!(this===G&&f(X,t)&&!f(Y,t))&&(!(n||!f(this,t)||!f(X,t)||f(this,U)&&this[U][t])||n)},ce=function(e,t){var n=v(e),r=y(t,!0);if(n!==G||!f(X,r)||f(Y,r)){var o=V(n,r);return!o||!f(X,r)||f(n,U)&&n[U][r]||(o.enumerable=!0),o}},se=function(e){var t=K(v(e)),n=[];return M(t,(function(e){f(X,e)||f(j,e)||n.push(e)})),n},fe=function(e){var t=e===G,n=K(t?Y:v(e)),r=[];return M(n,(function(e){!f(X,e)||t&&!f(G,e)||r.push(X[e])})),r};(l||(P((B=function(){if(this instanceof B)throw TypeError("Symbol is not a constructor");var e=arguments.length&&void 0!==arguments[0]?String(arguments[0]):void 0,t=R(e),n=function(e){this===G&&n.call(Y,e),f(this,U)&&f(this[U],t)&&(this[U][t]=!1),re(this,t,g(1,e))};return u&&ne&&re(G,t,{configurable:!0,set:n}),oe(t,e)}).prototype,"toString",(function(){return H(this).tag})),P(B,"withoutSetter",(function(e){return oe(R(e),e)})),k.f=le,O.f=ae,T.f=ce,E.f=x.f=se,S.f=fe,A.f=function(e){return oe(D(e),e)},u&&(W(B.prototype,"description",{configurable:!0,get:function(){return H(this).description}}),a||P(G,"propertyIsEnumerable",le,{unsafe:!0}))),r({global:!0,wrap:!0,forced:!l,sham:!l},{Symbol:B}),M(w(ee),(function(e){L(e)})),r({target:"Symbol",stat:!0,forced:!l},{for:function(e){var t=String(e);if(f(J,t))return J[t];var n=B(t);return J[t]=n,Z[n]=t,n},keyFor:function(e){if(!ie(e))throw TypeError(e+" is not a symbol");if(f(Z,e))return Z[e]},useSetter:function(){ne=!0},useSimple:function(){ne=!1}}),r({target:"Object",stat:!0,forced:!l,sham:!u},{create:function(e,t){return void 0===t?b(e):ue(b(e),t)},defineProperty:ae,defineProperties:ue,getOwnPropertyDescriptor:ce}),r({target:"Object",stat:!0,forced:!l},{getOwnPropertyNames:se,getOwnPropertySymbols:fe}),r({target:"Object",stat:!0,forced:s((function(){S.f(1)}))},{getOwnPropertySymbols:function(e){return S.f(m(e))}}),$)&&r({target:"JSON",stat:!0,forced:!l||s((function(){var e=B();return"[null]"!=$([e])||"{}"!=$({a:e})||"{}"!=$(Object(e))}))},{stringify:function(e,t,n){for(var r,o=[e],i=1;arguments.length>i;)o.push(arguments[i++]);if(r=t,(d(t)||void 0!==e)&&!ie(e))return p(t)||(t=function(e,t){if("function"==typeof r&&(t=r.call(this,e,t)),!ie(t))return t}),o[1]=t,$.apply(null,o)}});B.prototype[q]||_(B.prototype,q,B.prototype.valueOf),N(B,"Symbol"),j[U]=!0},function(e,t,n){"use strict";var r=n(20),o=n(86),i=n(56),a=n(47),u=n(132),l=a.set,c=a.getterFor("Array Iterator");e.exports=u(Array,"Array",(function(e,t){l(this,{type:"Array Iterator",target:r(e),index:0,kind:t})}),(function(){var e=c(this),t=e.target,n=e.kind,r=e.index++;return!t||r>=t.length?(e.target=void 0,{value:void 0,done:!0}):"keys"==n?{value:r,done:!1}:"values"==n?{value:t[r],done:!1}:{value:[r,t[r]],done:!1}}),"values"),i.Arguments=i.Array,o("keys"),o("values"),o("entries")},function(e,t,n){var r=n(10),o=n(5),i=n(9),a=Object.defineProperty,u={},l=function(e){throw e};e.exports=function(e,t){if(i(u,e))return u[e];t||(t={});var n=[][e],c=!!i(t,"ACCESSORS")&&t.ACCESSORS,s=i(t,0)?t[0]:l,f=i(t,1)?t[1]:void 0;return u[e]=!!n&&!o((function(){if(c&&!r)return!0;var e={length:-1};c?a(e,1,{enumerable:!0,get:l}):e[1]=1,n.call(e,s,f)}))}},function(e,t){e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},function(e,t){var n=Math.ceil,r=Math.floor;e.exports=function(e){return isNaN(e=+e)?0:(e>0?r:n)(e)}},function(e,t,n){var r;!function(){"use strict";var o={not_string:/[^s]/,not_bool:/[^t]/,not_type:/[^T]/,not_primitive:/[^v]/,number:/[diefg]/,numeric_arg:/[bcdiefguxX]/,json:/[j]/,not_json:/[^j]/,text:/^[^\x25]+/,modulo:/^\x25{2}/,placeholder:/^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/,key:/^([a-z_][a-z_\d]*)/i,key_access:/^\.([a-z_][a-z_\d]*)/i,index_access:/^\[(\d+)\]/,sign:/^[+-]/};function i(e){return u(c(e),arguments)}function a(e,t){return i.apply(null,[e].concat(t||[]))}function u(e,t){var n,r,a,u,l,c,s,f,p,d=1,h=e.length,m="";for(r=0;r<h;r++)if("string"==typeof e[r])m+=e[r];else if("object"==typeof e[r]){if((u=e[r]).keys)for(n=t[d],a=0;a<u.keys.length;a++){if(null==n)throw new Error(i('[sprintf] Cannot access property "%s" of undefined value "%s"',u.keys[a],u.keys[a-1]));n=n[u.keys[a]]}else n=u.param_no?t[u.param_no]:t[d++];if(o.not_type.test(u.type)&&o.not_primitive.test(u.type)&&n instanceof Function&&(n=n()),o.numeric_arg.test(u.type)&&"number"!=typeof n&&isNaN(n))throw new TypeError(i("[sprintf] expecting number but found %T",n));switch(o.number.test(u.type)&&(f=n>=0),u.type){case"b":n=parseInt(n,10).toString(2);break;case"c":n=String.fromCharCode(parseInt(n,10));break;case"d":case"i":n=parseInt(n,10);break;case"j":n=JSON.stringify(n,null,u.width?parseInt(u.width):0);break;case"e":n=u.precision?parseFloat(n).toExponential(u.precision):parseFloat(n).toExponential();break;case"f":n=u.precision?parseFloat(n).toFixed(u.precision):parseFloat(n);break;case"g":n=u.precision?String(Number(n.toPrecision(u.precision))):parseFloat(n);break;case"o":n=(parseInt(n,10)>>>0).toString(8);break;case"s":n=String(n),n=u.precision?n.substring(0,u.precision):n;break;case"t":n=String(!!n),n=u.precision?n.substring(0,u.precision):n;break;case"T":n=Object.prototype.toString.call(n).slice(8,-1).toLowerCase(),n=u.precision?n.substring(0,u.precision):n;break;case"u":n=parseInt(n,10)>>>0;break;case"v":n=n.valueOf(),n=u.precision?n.substring(0,u.precision):n;break;case"x":n=(parseInt(n,10)>>>0).toString(16);break;case"X":n=(parseInt(n,10)>>>0).toString(16).toUpperCase()}o.json.test(u.type)?m+=n:(!o.number.test(u.type)||f&&!u.sign?p="":(p=f?"+":"-",n=n.toString().replace(o.sign,"")),c=u.pad_char?"0"===u.pad_char?"0":u.pad_char.charAt(1):" ",s=u.width-(p+n).length,l=u.width&&s>0?c.repeat(s):"",m+=u.align?p+n+l:"0"===c?p+l+n:l+p+n)}return m}var l=Object.create(null);function c(e){if(l[e])return l[e];for(var t,n=e,r=[],i=0;n;){if(null!==(t=o.text.exec(n)))r.push(t[0]);else if(null!==(t=o.modulo.exec(n)))r.push("%");else{if(null===(t=o.placeholder.exec(n)))throw new SyntaxError("[sprintf] unexpected placeholder");if(t[2]){i|=1;var a=[],u=t[2],c=[];if(null===(c=o.key.exec(u)))throw new SyntaxError("[sprintf] failed to parse named argument key");for(a.push(c[1]);""!==(u=u.substring(c[0].length));)if(null!==(c=o.key_access.exec(u)))a.push(c[1]);else{if(null===(c=o.index_access.exec(u)))throw new SyntaxError("[sprintf] failed to parse named argument key");a.push(c[1])}t[2]=a}else i|=2;if(3===i)throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");r.push({placeholder:t[0],param_no:t[1],keys:t[2],sign:t[3],pad_char:t[4],align:t[5],width:t[6],precision:t[7],type:t[8]})}n=n.substring(t[0].length)}return l[e]=r}t.sprintf=i,t.vsprintf=a,"undefined"!=typeof window&&(window.sprintf=i,window.vsprintf=a,void 0===(r=function(){return{sprintf:i,vsprintf:a}}.call(t,n,t,e))||(e.exports=r))}()},function(e,t,n){"use strict";t.a=function(e,t){if(!e)throw new Error("Invariant failed")}},function(e,t,n){"use strict";var r=n(7),o=n(10),i=n(4),a=n(9),u=n(11),l=n(12).f,c=n(102),s=i.Symbol;if(o&&"function"==typeof s&&(!("description"in s.prototype)||void 0!==s().description)){var f={},p=function(){var e=arguments.length<1||void 0===arguments[0]?void 0:String(arguments[0]),t=this instanceof p?new s(e):void 0===e?s():s(e);return""===e&&(f[t]=!0),t};c(p,s);var d=p.prototype=s.prototype;d.constructor=p;var h=d.toString,m="Symbol(test)"==String(s("test")),v=/^Symbol\((.*)\)[^)]+$/;l(d,"description",{configurable:!0,get:function(){var e=u(this)?this.valueOf():this,t=h.call(e);if(a(f,e))return"";var n=m?t.slice(7,-1):t.replace(v,"$1");return""===n?void 0:n}}),r({global:!0,forced:!0},{Symbol:p})}},function(e,t,n){n(160)("iterator")},function(e,t,n){var r=n(4),o=n(162),i=n(32),a=n(14),u=n(6),l=u("iterator"),c=u("toStringTag"),s=i.values;for(var f in o){var p=r[f],d=p&&p.prototype;if(d){if(d[l]!==s)try{a(d,l,s)}catch(e){d[l]=s}if(d[c]||a(d,c,f),o[f])for(var h in i)if(d[h]!==i[h])try{a(d,h,i[h])}catch(e){d[h]=i[h]}}}},function(e,t,n){"use strict";var r=n(7),o=n(73);r({target:"RegExp",proto:!0,forced:/./.exec!==o},{exec:o})},function(e,t,n){"use strict";var r=n(7),o=n(48).map,i=n(90),a=n(33),u=i("map"),l=a("map");r({target:"Array",proto:!0,forced:!u||!l},{map:function(e){return o(this,e,arguments.length>1?arguments[1]:void 0)}})},function(e,t){e.exports=function(e){if("function"!=typeof e)throw TypeError(String(e)+" is not a function");return e}},function(e,t){e.exports={}},function(e,t,n){var r=n(10),o=n(77),i=n(34),a=n(20),u=n(51),l=n(9),c=n(76),s=Object.getOwnPropertyDescriptor;t.f=r?s:function(e,t){if(e=a(e),t=u(t,!0),c)try{return s(e,t)}catch(e){}if(l(e,t))return i(!o.f.call(e,t),e[t])}},function(e,t,n){"use strict";function r(){return(r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function o(e){return"/"===e.charAt(0)}function i(e,t){for(var n=t,r=n+1,o=e.length;r<o;n+=1,r+=1)e[n]=e[r];e.pop()}var a=function(e,t){void 0===t&&(t="");var n,r=e&&e.split("/")||[],a=t&&t.split("/")||[],u=e&&o(e),l=t&&o(t),c=u||l;if(e&&o(e)?a=r:r.length&&(a.pop(),a=a.concat(r)),!a.length)return"/";if(a.length){var s=a[a.length-1];n="."===s||".."===s||""===s}else n=!1;for(var f=0,p=a.length;p>=0;p--){var d=a[p];"."===d?i(a,p):".."===d?(i(a,p),f++):f&&(i(a,p),f--)}if(!c)for(;f--;f)a.unshift("..");!c||""===a[0]||a[0]&&o(a[0])||a.unshift("");var h=a.join("/");return n&&"/"!==h.substr(-1)&&(h+="/"),h};function u(e){return e.valueOf?e.valueOf():Object.prototype.valueOf.call(e)}var l=function e(t,n){if(t===n)return!0;if(null==t||null==n)return!1;if(Array.isArray(t))return Array.isArray(n)&&t.length===n.length&&t.every((function(t,r){return e(t,n[r])}));if("object"==typeof t||"object"==typeof n){var r=u(t),o=u(n);return r!==t||o!==n?e(r,o):Object.keys(Object.assign({},t,n)).every((function(r){return e(t[r],n[r])}))}return!1},c=n(37);function s(e){return"/"===e.charAt(0)?e:"/"+e}function f(e){return"/"===e.charAt(0)?e.substr(1):e}function p(e,t){return function(e,t){return 0===e.toLowerCase().indexOf(t.toLowerCase())&&-1!=="/?#".indexOf(e.charAt(t.length))}(e,t)?e.substr(t.length):e}function d(e){return"/"===e.charAt(e.length-1)?e.slice(0,-1):e}function h(e){var t=e.pathname,n=e.search,r=e.hash,o=t||"/";return n&&"?"!==n&&(o+="?"===n.charAt(0)?n:"?"+n),r&&"#"!==r&&(o+="#"===r.charAt(0)?r:"#"+r),o}function m(e,t,n,o){var i;"string"==typeof e?(i=function(e){var t=e||"/",n="",r="",o=t.indexOf("#");-1!==o&&(r=t.substr(o),t=t.substr(0,o));var i=t.indexOf("?");return-1!==i&&(n=t.substr(i),t=t.substr(0,i)),{pathname:t,search:"?"===n?"":n,hash:"#"===r?"":r}}(e)).state=t:(void 0===(i=r({},e)).pathname&&(i.pathname=""),i.search?"?"!==i.search.charAt(0)&&(i.search="?"+i.search):i.search="",i.hash?"#"!==i.hash.charAt(0)&&(i.hash="#"+i.hash):i.hash="",void 0!==t&&void 0===i.state&&(i.state=t));try{i.pathname=decodeURI(i.pathname)}catch(e){throw e instanceof URIError?new URIError('Pathname "'+i.pathname+'" could not be decoded. This is likely caused by an invalid percent-encoding.'):e}return n&&(i.key=n),o?i.pathname?"/"!==i.pathname.charAt(0)&&(i.pathname=a(i.pathname,o.pathname)):i.pathname=o.pathname:i.pathname||(i.pathname="/"),i}function v(e,t){return e.pathname===t.pathname&&e.search===t.search&&e.hash===t.hash&&e.key===t.key&&l(e.state,t.state)}function y(){var e=null;var t=[];return{setPrompt:function(t){return e=t,function(){e===t&&(e=null)}},confirmTransitionTo:function(t,n,r,o){if(null!=e){var i="function"==typeof e?e(t,n):e;"string"==typeof i?"function"==typeof r?r(i,o):o(!0):o(!1!==i)}else o(!0)},appendListener:function(e){var n=!0;function r(){n&&e.apply(void 0,arguments)}return t.push(r),function(){n=!1,t=t.filter((function(e){return e!==r}))}},notifyListeners:function(){for(var e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];t.forEach((function(e){return e.apply(void 0,n)}))}}}n.d(t,"a",(function(){return E})),n.d(t,"b",(function(){return k})),n.d(t,"d",(function(){return P})),n.d(t,"c",(function(){return m})),n.d(t,"f",(function(){return v})),n.d(t,"e",(function(){return h}));var g=!("undefined"==typeof window||!window.document||!window.document.createElement);function b(e,t){t(window.confirm(e))}function w(){try{return window.history.state||{}}catch(e){return{}}}function E(e){void 0===e&&(e={}),g||Object(c.a)(!1);var t,n=window.history,o=(-1===(t=window.navigator.userAgent).indexOf("Android 2.")&&-1===t.indexOf("Android 4.0")||-1===t.indexOf("Mobile Safari")||-1!==t.indexOf("Chrome")||-1!==t.indexOf("Windows Phone"))&&window.history&&"pushState"in window.history,i=!(-1===window.navigator.userAgent.indexOf("Trident")),a=e,u=a.forceRefresh,l=void 0!==u&&u,f=a.getUserConfirmation,v=void 0===f?b:f,E=a.keyLength,x=void 0===E?6:E,S=e.basename?d(s(e.basename)):"";function T(e){var t=e||{},n=t.key,r=t.state,o=window.location,i=o.pathname+o.search+o.hash;return S&&(i=p(i,S)),m(i,r,n)}function O(){return Math.random().toString(36).substr(2,x)}var k=y();function _(e){r(U,e),U.length=n.length,k.notifyListeners(U.location,U.action)}function P(e){(function(e){return void 0===e.state&&-1===navigator.userAgent.indexOf("CriOS")})(e)||j(T(e.state))}function F(){j(T(w()))}var C=!1;function j(e){if(C)C=!1,_();else{k.confirmTransitionTo(e,"POP",v,(function(t){t?_({action:"POP",location:e}):function(e){var t=U.location,n=D.indexOf(t.key);-1===n&&(n=0);var r=D.indexOf(e.key);-1===r&&(r=0);var o=n-r;o&&(C=!0,L(o))}(e)}))}}var R=T(w()),D=[R.key];function A(e){return S+h(e)}function L(e){n.go(e)}var N=0;function I(e){1===(N+=e)&&1===e?(window.addEventListener("popstate",P),i&&window.addEventListener("hashchange",F)):0===N&&(window.removeEventListener("popstate",P),i&&window.removeEventListener("hashchange",F))}var M=!1;var U={length:n.length,action:"POP",location:R,createHref:A,push:function(e,t){var r=m(e,t,O(),U.location);k.confirmTransitionTo(r,"PUSH",v,(function(e){if(e){var t=A(r),i=r.key,a=r.state;if(o)if(n.pushState({key:i,state:a},null,t),l)window.location.href=t;else{var u=D.indexOf(U.location.key),c=D.slice(0,u+1);c.push(r.key),D=c,_({action:"PUSH",location:r})}else window.location.href=t}}))},replace:function(e,t){var r=m(e,t,O(),U.location);k.confirmTransitionTo(r,"REPLACE",v,(function(e){if(e){var t=A(r),i=r.key,a=r.state;if(o)if(n.replaceState({key:i,state:a},null,t),l)window.location.replace(t);else{var u=D.indexOf(U.location.key);-1!==u&&(D[u]=r.key),_({action:"REPLACE",location:r})}else window.location.replace(t)}}))},go:L,goBack:function(){L(-1)},goForward:function(){L(1)},block:function(e){void 0===e&&(e=!1);var t=k.setPrompt(e);return M||(I(1),M=!0),function(){return M&&(M=!1,I(-1)),t()}},listen:function(e){var t=k.appendListener(e);return I(1),function(){I(-1),t()}}};return U}var x={hashbang:{encodePath:function(e){return"!"===e.charAt(0)?e:"!/"+f(e)},decodePath:function(e){return"!"===e.charAt(0)?e.substr(1):e}},noslash:{encodePath:f,decodePath:s},slash:{encodePath:s,decodePath:s}};function S(e){var t=e.indexOf("#");return-1===t?e:e.slice(0,t)}function T(){var e=window.location.href,t=e.indexOf("#");return-1===t?"":e.substring(t+1)}function O(e){window.location.replace(S(window.location.href)+"#"+e)}function k(e){void 0===e&&(e={}),g||Object(c.a)(!1);var t=window.history,n=(window.navigator.userAgent.indexOf("Firefox"),e),o=n.getUserConfirmation,i=void 0===o?b:o,a=n.hashType,u=void 0===a?"slash":a,l=e.basename?d(s(e.basename)):"",f=x[u],v=f.encodePath,w=f.decodePath;function E(){var e=w(T());return l&&(e=p(e,l)),m(e)}var k=y();function _(e){r(U,e),U.length=t.length,k.notifyListeners(U.location,U.action)}var P=!1,F=null;function C(){var e,t,n=T(),r=v(n);if(n!==r)O(r);else{var o=E(),a=U.location;if(!P&&(t=o,(e=a).pathname===t.pathname&&e.search===t.search&&e.hash===t.hash))return;if(F===h(o))return;F=null,function(e){if(P)P=!1,_();else{k.confirmTransitionTo(e,"POP",i,(function(t){t?_({action:"POP",location:e}):function(e){var t=U.location,n=A.lastIndexOf(h(t));-1===n&&(n=0);var r=A.lastIndexOf(h(e));-1===r&&(r=0);var o=n-r;o&&(P=!0,L(o))}(e)}))}}(o)}}var j=T(),R=v(j);j!==R&&O(R);var D=E(),A=[h(D)];function L(e){t.go(e)}var N=0;function I(e){1===(N+=e)&&1===e?window.addEventListener("hashchange",C):0===N&&window.removeEventListener("hashchange",C)}var M=!1;var U={length:t.length,action:"POP",location:D,createHref:function(e){var t=document.querySelector("base"),n="";return t&&t.getAttribute("href")&&(n=S(window.location.href)),n+"#"+v(l+h(e))},push:function(e,t){var n=m(e,void 0,void 0,U.location);k.confirmTransitionTo(n,"PUSH",i,(function(e){if(e){var t=h(n),r=v(l+t);if(T()!==r){F=t,function(e){window.location.hash=e}(r);var o=A.lastIndexOf(h(U.location)),i=A.slice(0,o+1);i.push(t),A=i,_({action:"PUSH",location:n})}else _()}}))},replace:function(e,t){var n=m(e,void 0,void 0,U.location);k.confirmTransitionTo(n,"REPLACE",i,(function(e){if(e){var t=h(n),r=v(l+t);T()!==r&&(F=t,O(r));var o=A.indexOf(h(U.location));-1!==o&&(A[o]=t),_({action:"REPLACE",location:n})}}))},go:L,goBack:function(){L(-1)},goForward:function(){L(1)},block:function(e){void 0===e&&(e=!1);var t=k.setPrompt(e);return M||(I(1),M=!0),function(){return M&&(M=!1,I(-1)),t()}},listen:function(e){var t=k.appendListener(e);return I(1),function(){I(-1),t()}}};return U}function _(e,t,n){return Math.min(Math.max(e,t),n)}function P(e){void 0===e&&(e={});var t=e,n=t.getUserConfirmation,o=t.initialEntries,i=void 0===o?["/"]:o,a=t.initialIndex,u=void 0===a?0:a,l=t.keyLength,c=void 0===l?6:l,s=y();function f(e){r(w,e),w.length=w.entries.length,s.notifyListeners(w.location,w.action)}function p(){return Math.random().toString(36).substr(2,c)}var d=_(u,0,i.length-1),v=i.map((function(e){return m(e,void 0,"string"==typeof e?p():e.key||p())})),g=h;function b(e){var t=_(w.index+e,0,w.entries.length-1),r=w.entries[t];s.confirmTransitionTo(r,"POP",n,(function(e){e?f({action:"POP",location:r,index:t}):f()}))}var w={length:v.length,action:"POP",location:v[d],index:d,entries:v,createHref:g,push:function(e,t){var r=m(e,t,p(),w.location);s.confirmTransitionTo(r,"PUSH",n,(function(e){if(e){var t=w.index+1,n=w.entries.slice(0);n.length>t?n.splice(t,n.length-t,r):n.push(r),f({action:"PUSH",location:r,index:t,entries:n})}}))},replace:function(e,t){var r=m(e,t,p(),w.location);s.confirmTransitionTo(r,"REPLACE",n,(function(e){e&&(w.entries[w.index]=r,f({action:"REPLACE",location:r}))}))},go:b,goBack:function(){b(-1)},goForward:function(){b(1)},canGo:function(e){var t=w.index+e;return t>=0&&t<w.entries.length},block:function(e){return void 0===e&&(e=!1),s.setPrompt(e)},listen:function(e){return s.appendListener(e)}};return w}},function(e,t,n){var r,o,i,a=n(114),u=n(4),l=n(11),c=n(14),s=n(9),f=n(52),p=n(44),d=u.WeakMap;if(a){var h=new d,m=h.get,v=h.has,y=h.set;r=function(e,t){return y.call(h,e,t),t},o=function(e){return m.call(h,e)||{}},i=function(e){return v.call(h,e)}}else{var g=f("state");p[g]=!0,r=function(e,t){return c(e,g,t),t},o=function(e){return s(e,g)?e[g]:{}},i=function(e){return s(e,g)}}e.exports={set:r,get:o,has:i,enforce:function(e){return i(e)?o(e):r(e,{})},getterFor:function(e){return function(t){var n;if(!l(t)||(n=o(t)).type!==e)throw TypeError("Incompatible receiver, "+e+" required");return n}}}},function(e,t,n){var r=n(66),o=n(59),i=n(23),a=n(21),u=n(107),l=[].push,c=function(e){var t=1==e,n=2==e,c=3==e,s=4==e,f=6==e,p=5==e||f;return function(d,h,m,v){for(var y,g,b=i(d),w=o(b),E=r(h,m,3),x=a(w.length),S=0,T=v||u,O=t?T(d,x):n?T(d,0):void 0;x>S;S++)if((p||S in w)&&(g=E(y=w[S],S,b),e))if(t)O[S]=g;else if(g)switch(e){case 3:return!0;case 5:return y;case 6:return S;case 2:l.call(O,y)}else if(s)return!1;return f?-1:c||s?s:O}};e.exports={forEach:c(0),map:c(1),filter:c(2),some:c(3),every:c(4),find:c(5),findIndex:c(6)}},function(e,t){e.exports=!1},function(e,t,n){var r=n(4),o=n(14);e.exports=function(e,t){try{o(r,e,t)}catch(n){r[e]=t}return t}},function(e,t,n){var r=n(11);e.exports=function(e,t){if(!r(e))return e;var n,o;if(t&&"function"==typeof(n=e.toString)&&!r(o=n.call(e)))return o;if("function"==typeof(n=e.valueOf)&&!r(o=n.call(e)))return o;if(!t&&"function"==typeof(n=e.toString)&&!r(o=n.call(e)))return o;throw TypeError("Can't convert object to primitive value")}},function(e,t,n){var r=n(61),o=n(63),i=r("keys");e.exports=function(e){return i[e]||(i[e]=o(e))}},function(e,t){e.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},function(e,t,n){"use strict";n.d(t,"b",(function(){return r})),n.d(t,"a",(function(){return i}));n(120);
|
2 |
/**
|
3 |
* @package Gravity PDF
|
4 |
* @copyright Copyright (c) 2022, Blue Liquid Designs
|
1 |
+
!function(e){function t(t){for(var n,o,i=t[0],a=t[1],u=0,c=[];u<i.length;u++)o=i[u],Object.prototype.hasOwnProperty.call(r,o)&&r[o]&&c.push(r[o][0]),r[o]=0;for(n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n]);for(l&&l(t);c.length;)c.shift()()}var n={},r={2:0};function o(t){if(n[t])return n[t].exports;var r=n[t]={i:t,l:!1,exports:{}};return e[t].call(r.exports,r,r.exports,o),r.l=!0,r.exports}o.e=function(e){var t=[],n=r[e];if(0!==n)if(n)t.push(n[2]);else{var i=new Promise((function(t,o){n=r[e]=[t,o]}));t.push(n[2]=i);var a,u=document.createElement("script");u.charset="utf-8",u.timeout=120,o.nc&&u.setAttribute("nonce",o.nc),u.src=function(e){return o.p+"assets/js/chunk-"+({}[e]||e)+"."+{0:"e033d172e282e0a2b9cc",4:"3958577e9ba487662fcf",5:"4048e584cf68fa13efd8",6:"ef3565a14028638eb70f",7:"514921733ef2f6274a79",8:"c48910b68a8cb06a33ba",9:"4ab0fcd8be55c0868e3a",10:"d768793400e94cf88b98"}[e]+".js"}(e);var l=new Error;a=function(t){u.onerror=u.onload=null,clearTimeout(c);var n=r[e];if(0!==n){if(n){var o=t&&("load"===t.type?"missing":t.type),i=t&&t.target&&t.target.src;l.message="Loading chunk "+e+" failed.\n("+o+": "+i+")",l.name="ChunkLoadError",l.type=o,l.request=i,n[1](l)}r[e]=void 0}};var c=setTimeout((function(){a({type:"timeout",target:u})}),12e4);u.onerror=u.onload=a,document.head.appendChild(u)}return Promise.all(t)},o.m=e,o.c=n,o.d=function(e,t,n){o.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},o.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},o.t=function(e,t){if(1&t&&(e=o(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(o.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)o.d(n,r,function(t){return e[t]}.bind(null,r));return n},o.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return o.d(t,"a",t),t},o.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},o.p="/home/runner/work/gravity-pdf/gravity-pdf/tmp/package/6.4.0-RC1/dist/",o.oe=function(e){throw console.error(e),e};var i=window.webpackJsonp=window.webpackJsonp||[],a=i.push.bind(i);i.push=t,i=i.slice();for(var u=0;u<i.length;u++)t(i[u]);var l=a;o(o.s=210)}([function(e,t,n){"use strict";e.exports=n(186)},function(e,t,n){e.exports=n(201)()},function(e,t){e.exports=jQuery},function(e,t,n){"use strict";n.d(t,"m",(function(){return r})),n.d(t,"o",(function(){return o})),n.d(t,"n",(function(){return i})),n.d(t,"a",(function(){return a})),n.d(t,"c",(function(){return u})),n.d(t,"b",(function(){return l})),n.d(t,"j",(function(){return c})),n.d(t,"l",(function(){return s})),n.d(t,"k",(function(){return f})),n.d(t,"t",(function(){return p})),n.d(t,"i",(function(){return d})),n.d(t,"f",(function(){return h})),n.d(t,"h",(function(){return m})),n.d(t,"g",(function(){return v})),n.d(t,"d",(function(){return y})),n.d(t,"e",(function(){return g})),n.d(t,"q",(function(){return b})),n.d(t,"r",(function(){return w})),n.d(t,"s",(function(){return E})),n.d(t,"p",(function(){return x})),n.d(t,"A",(function(){return S})),n.d(t,"u",(function(){return T})),n.d(t,"z",(function(){return O})),n.d(t,"F",(function(){return k})),n.d(t,"y",(function(){return _})),n.d(t,"x",(function(){return P})),n.d(t,"v",(function(){return F})),n.d(t,"w",(function(){return C})),n.d(t,"D",(function(){return j})),n.d(t,"C",(function(){return R})),n.d(t,"E",(function(){return D})),n.d(t,"B",(function(){return A}));var r="GET_CUSTOM_FONT_LIST",o="GET_CUSTOM_FONT_LIST_SUCCESS",i="GET_CUSTOM_FONT_LIST_ERROR",a="ADD_FONT",u="ADD_FONT_SUCCESS",l="ADD_FONT_ERROR",c="EDIT_FONT",s="EDIT_FONT_SUCCESS",f="EDIT_FONT_ERROR",p="VALIDATION_ERROR",d="DELETE_VARIANT_ERROR",h="DELETE_FONT",m="DELETE_FONT_SUCCESS",v="DELETE_FONT_ERROR",y="CLEAR_ADD_FONT_MSG",g="CLEAR_DROPZONE_ERROR",b="RESET_SEARCH_RESULT",w="SEARCH_FONT_LIST",E="SELECT_FONT",x="MOVE_SELECTED_FONT_TO_TOP",S=function(){return{type:r}},T=function(e){return{type:a,payload:e}},O=function(e){return{type:c,payload:e}},k=function(){return{type:p}},_=function(e){return{type:d,payload:e}},P=function(e){return{type:h,payload:e}},F=function(){return{type:y}},C=function(e){return{type:g,payload:e}},j=function(e){return{type:w,payload:e}},R=function(){return{type:b}},D=function(e){return{type:E,payload:e}},A=function(e){return{type:x,payload:e}}},function(e,t,n){(function(t){var n=function(e){return e&&e.Math==Math&&e};e.exports=n("object"==typeof globalThis&&globalThis)||n("object"==typeof window&&window)||n("object"==typeof self&&self)||n("object"==typeof t&&t)||Function("return this")()}).call(this,n(84))},function(e,t){e.exports=function(e){try{return!!e()}catch(e){return!0}}},function(e,t,n){var r=n(4),o=n(61),i=n(9),a=n(63),u=n(64),l=n(101),c=o("wks"),s=r.Symbol,f=l?s:s&&s.withoutSetter||a;e.exports=function(e){return i(c,e)||(u&&i(s,e)?c[e]=s[e]:c[e]=f("Symbol."+e)),c[e]}},function(e,t,n){var r=n(4),o=n(45).f,i=n(14),a=n(26),u=n(50),l=n(102),c=n(85);e.exports=function(e,t){var n,s,f,p,d,h=e.target,m=e.global,v=e.stat;if(n=m?r:v?r[h]||u(h,{}):(r[h]||{}).prototype)for(s in t){if(p=t[s],f=e.noTargetGet?(d=o(n,s))&&d.value:n[s],!c(m?s:h+(v?".":"#")+s,e.forced)&&void 0!==f){if(typeof p==typeof f)continue;l(p,f)}(e.sham||f&&f.sham)&&i(p,"sham",!0),a(n,s,p,e)}}},function(e,t,n){var r=n(11);e.exports=function(e){if(!r(e))throw TypeError(String(e)+" is not an object");return e}},function(e,t){var n={}.hasOwnProperty;e.exports=function(e,t){return n.call(e,t)}},function(e,t,n){var r=n(5);e.exports=!r((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]}))},function(e,t){e.exports=function(e){return"object"==typeof e?null!==e:"function"==typeof e}},function(e,t,n){var r=n(10),o=n(76),i=n(8),a=n(51),u=Object.defineProperty;t.f=r?u:function(e,t,n){if(i(e),t=a(t,!0),i(n),o)try{return u(e,t,n)}catch(e){}if("get"in n||"set"in n)throw TypeError("Accessors not supported");return"value"in n&&(e[t]=n.value),e}},function(e,t,n){"use strict";n.d(t,"f",(function(){return r})),n.d(t,"g",(function(){return o})),n.d(t,"a",(function(){return i})),n.d(t,"o",(function(){return a})),n.d(t,"d",(function(){return u})),n.d(t,"m",(function(){return l})),n.d(t,"n",(function(){return c})),n.d(t,"h",(function(){return s})),n.d(t,"j",(function(){return f})),n.d(t,"i",(function(){return p})),n.d(t,"b",(function(){return d})),n.d(t,"e",(function(){return h})),n.d(t,"l",(function(){return m})),n.d(t,"k",(function(){return v})),n.d(t,"c",(function(){return y})),n.d(t,"u",(function(){return g})),n.d(t,"v",(function(){return b})),n.d(t,"p",(function(){return w})),n.d(t,"E",(function(){return E})),n.d(t,"s",(function(){return x})),n.d(t,"B",(function(){return S})),n.d(t,"D",(function(){return T})),n.d(t,"C",(function(){return O})),n.d(t,"w",(function(){return k})),n.d(t,"y",(function(){return _})),n.d(t,"x",(function(){return P})),n.d(t,"q",(function(){return F})),n.d(t,"t",(function(){return C})),n.d(t,"A",(function(){return j})),n.d(t,"z",(function(){return R})),n.d(t,"r",(function(){return D}));var r="SEARCH_TEMPLATES",o="SELECT_TEMPLATE",i="ADD_TEMPLATE",a="UPDATE_TEMPLATE_PARAM",u="DELETE_TEMPLATE",l="UPDATE_SELECT_BOX",c="UPDATE_SELECT_BOX_SUCCESS",s="TEMPLATE_PROCESSING",f="TEMPLATE_PROCESSING_SUCCESS",p="TEMPLATE_PROCESSING_FAILED",d="CLEAR_TEMPLATE_PROCESSING",h="POST_TEMPLATE_UPLOAD_PROCESSING",m="TEMPLATE_UPLOAD_PROCESSING_SUCCESS",v="TEMPLATE_UPLOAD_PROCESSING_FAILED",y="CLEAR_TEMPLATE_UPLOAD_PROCESSING",g=function(e){return{type:r,text:e}},b=function(e){return{type:o,id:e}},w=function(e){return{type:i,template:e}},E=function(e,t,n){return{type:a,id:e,name:t,value:n}},x=function(e){return{type:u,id:e}},S=function(){return{type:l}},T=function(e){return{type:c,payload:e}},O=function(){return{type:"UPDATE_SELECT_BOX_FAILED"}},k=function(e){return{type:s,payload:e}},_=function(e){return{type:f,payload:e}},P=function(e){return{type:p,payload:e}},F=function(){return{type:d}},C=function(e,t){return{type:h,payload:{file:e,filename:t}}},j=function(e){return{type:m,payload:e}},R=function(e){return{type:v,payload:e}},D=function(){return{type:y}}},function(e,t,n){var r=n(10),o=n(12),i=n(34);e.exports=r?function(e,t,n){return o.f(e,t,i(1,n))}:function(e,t,n){return e[t]=n,e}},function(e,t,n){"use strict";var r=n(0),o=n.n(r),i=n(1),a=n.n(i),u=o.a.createContext(null);var l=function(e){e()},c={notify:function(){}};function s(){var e=l,t=[],n=[];return{clear:function(){n=null,t=null},notify:function(){var r=t=n;e((function(){for(var e=0;e<r.length;e++)r[e]()}))},get:function(){return n},subscribe:function(e){var r=!0;return n===t&&(n=t.slice()),n.push(e),function(){r&&null!==t&&(r=!1,n===t&&(n=t.slice()),n.splice(n.indexOf(e),1))}}}}var f=function(){function e(e,t){this.store=e,this.parentSub=t,this.unsubscribe=null,this.listeners=c,this.handleChangeWrapper=this.handleChangeWrapper.bind(this)}var t=e.prototype;return t.addNestedSub=function(e){return this.trySubscribe(),this.listeners.subscribe(e)},t.notifyNestedSubs=function(){this.listeners.notify()},t.handleChangeWrapper=function(){this.onStateChange&&this.onStateChange()},t.isSubscribed=function(){return Boolean(this.unsubscribe)},t.trySubscribe=function(){this.unsubscribe||(this.unsubscribe=this.parentSub?this.parentSub.addNestedSub(this.handleChangeWrapper):this.store.subscribe(this.handleChangeWrapper),this.listeners=s())},t.tryUnsubscribe=function(){this.unsubscribe&&(this.unsubscribe(),this.unsubscribe=null,this.listeners.clear(),this.listeners=c)},e}();function p(e){var t=e.store,n=e.context,i=e.children,a=Object(r.useMemo)((function(){var e=new f(t);return e.onStateChange=e.notifyNestedSubs,{store:t,subscription:e}}),[t]),l=Object(r.useMemo)((function(){return t.getState()}),[t]);Object(r.useEffect)((function(){var e=a.subscription;return e.trySubscribe(),l!==t.getState()&&e.notifyNestedSubs(),function(){e.tryUnsubscribe(),e.onStateChange=null}}),[a,l]);var c=n||u;return o.a.createElement(c.Provider,{value:a},i)}p.propTypes={store:a.a.shape({subscribe:a.a.func.isRequired,dispatch:a.a.func.isRequired,getState:a.a.func.isRequired}),context:a.a.object,children:a.a.any};var d=p,h=n(28),m=n(69),v=n(122),y=n.n(v),g=n(70),b=n.n(g),w=n(137),E="undefined"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement?r.useLayoutEffect:r.useEffect,x=[],S=[null,null];function T(e,t){var n=e[1];return[t.payload,n+1]}var O=function(){return[null,0]};function k(e,t){void 0===t&&(t={});var n=t,i=n.getDisplayName,a=void 0===i?function(e){return"ConnectAdvanced("+e+")"}:i,l=n.methodName,c=void 0===l?"connectAdvanced":l,s=n.renderCountProp,p=void 0===s?void 0:s,d=n.shouldHandleStateChanges,v=void 0===d||d,g=n.storeKey,k=void 0===g?"store":g,_=n.withRef,P=void 0!==_&&_,F=n.forwardRef,C=void 0!==F&&F,j=n.context,R=void 0===j?u:j,D=Object(m.a)(n,["getDisplayName","methodName","renderCountProp","shouldHandleStateChanges","storeKey","withRef","forwardRef","context"]);b()(void 0===p,"renderCountProp is removed. render counting is built into the latest React Dev Tools profiling extension"),b()(!P,"withRef is removed. To access the wrapped instance, use a ref on the connected component");b()("store"===k,"storeKey has been removed and does not do anything. To use a custom Redux store for specific components, create a custom React context with React.createContext(), and pass the context object to React Redux's Provider and specific components like: <Provider context={MyContext}><ConnectedComponent context={MyContext} /></Provider>. You may also pass a {context : MyContext} option to connect");var A=R;return function(t){var n=t.displayName||t.name||"Component",i=a(n),u=Object(h.a)({},D,{getDisplayName:a,methodName:c,renderCountProp:p,shouldHandleStateChanges:v,storeKey:k,displayName:i,wrappedComponentName:n,WrappedComponent:t}),l=D.pure;var s=l?r.useMemo:function(e){return e()};function d(n){var a=Object(r.useMemo)((function(){var e=n.forwardedRef,t=Object(m.a)(n,["forwardedRef"]);return[n.context,e,t]}),[n]),l=a[0],c=a[1],p=a[2],d=Object(r.useMemo)((function(){return l&&l.Consumer&&Object(w.isContextConsumer)(o.a.createElement(l.Consumer,null))?l:A}),[l,A]),y=Object(r.useContext)(d),g=Boolean(n.store)&&Boolean(n.store.getState)&&Boolean(n.store.dispatch),k=Boolean(y)&&Boolean(y.store);b()(g||k,'Could not find "store" in the context of "'+i+'". Either wrap the root component in a <Provider>, or pass a custom React context provider to <Provider> and the corresponding React context consumer to '+i+" in connect options.");var _=g?n.store:y.store,P=Object(r.useMemo)((function(){return function(t){return e(t.dispatch,u)}(_)}),[_]),F=Object(r.useMemo)((function(){if(!v)return S;var e=new f(_,g?null:y.subscription),t=e.notifyNestedSubs.bind(e);return[e,t]}),[_,g,y]),C=F[0],j=F[1],R=Object(r.useMemo)((function(){return g?y:Object(h.a)({},y,{subscription:C})}),[g,y,C]),D=Object(r.useReducer)(T,x,O),L=D[0][0],N=D[1];if(L&&L.error)throw L.error;var I=Object(r.useRef)(),M=Object(r.useRef)(p),U=Object(r.useRef)(),q=Object(r.useRef)(!1),z=s((function(){return U.current&&p===M.current?U.current:P(_.getState(),p)}),[_,L,p]);E((function(){M.current=p,I.current=z,q.current=!1,U.current&&(U.current=null,j())})),E((function(){if(v){var e=!1,t=null,n=function(){if(!e){var n,r,o=_.getState();try{n=P(o,M.current)}catch(e){r=e,t=e}r||(t=null),n===I.current?q.current||j():(I.current=n,U.current=n,q.current=!0,N({type:"STORE_UPDATED",payload:{error:r}}))}};C.onStateChange=n,C.trySubscribe(),n();return function(){if(e=!0,C.tryUnsubscribe(),C.onStateChange=null,t)throw t}}}),[_,C,P]);var H=Object(r.useMemo)((function(){return o.a.createElement(t,Object(h.a)({},z,{ref:c}))}),[c,t,z]);return Object(r.useMemo)((function(){return v?o.a.createElement(d.Provider,{value:R},H):H}),[d,H,R])}var g=l?o.a.memo(d):d;if(g.WrappedComponent=t,g.displayName=i,C){var _=o.a.forwardRef((function(e,t){return o.a.createElement(g,Object(h.a)({},e,{forwardedRef:t}))}));return _.displayName=i,_.WrappedComponent=t,y()(_,t)}return y()(g,t)}}var _=Object.prototype.hasOwnProperty;function P(e,t){return e===t?0!==e||0!==t||1/e==1/t:e!=e&&t!=t}function F(e,t){if(P(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(var o=0;o<n.length;o++)if(!_.call(t,n[o])||!P(e[n[o]],t[n[o]]))return!1;return!0}var C=n(79);function j(e){return function(t,n){var r=e(t,n);function o(){return r}return o.dependsOnOwnProps=!1,o}}function R(e){return null!==e.dependsOnOwnProps&&void 0!==e.dependsOnOwnProps?Boolean(e.dependsOnOwnProps):1!==e.length}function D(e,t){return function(t,n){n.displayName;var r=function(e,t){return r.dependsOnOwnProps?r.mapToProps(e,t):r.mapToProps(e)};return r.dependsOnOwnProps=!0,r.mapToProps=function(t,n){r.mapToProps=e,r.dependsOnOwnProps=R(e);var o=r(t,n);return"function"==typeof o&&(r.mapToProps=o,r.dependsOnOwnProps=R(o),o=r(t,n)),o},r}}var A=[function(e){return"function"==typeof e?D(e):void 0},function(e){return e?void 0:j((function(e){return{dispatch:e}}))},function(e){return e&&"object"==typeof e?j((function(t){return Object(C.bindActionCreators)(e,t)})):void 0}];var L=[function(e){return"function"==typeof e?D(e):void 0},function(e){return e?void 0:j((function(){return{}}))}];function N(e,t,n){return Object(h.a)({},n,{},e,{},t)}var I=[function(e){return"function"==typeof e?function(e){return function(t,n){n.displayName;var r,o=n.pure,i=n.areMergedPropsEqual,a=!1;return function(t,n,u){var l=e(t,n,u);return a?o&&i(l,r)||(r=l):(a=!0,r=l),r}}}(e):void 0},function(e){return e?void 0:function(){return N}}];function M(e,t,n,r){return function(o,i){return n(e(o,i),t(r,i),i)}}function U(e,t,n,r,o){var i,a,u,l,c,s=o.areStatesEqual,f=o.areOwnPropsEqual,p=o.areStatePropsEqual,d=!1;function h(o,d){var h,m,v=!f(d,a),y=!s(o,i);return i=o,a=d,v&&y?(u=e(i,a),t.dependsOnOwnProps&&(l=t(r,a)),c=n(u,l,a)):v?(e.dependsOnOwnProps&&(u=e(i,a)),t.dependsOnOwnProps&&(l=t(r,a)),c=n(u,l,a)):y?(h=e(i,a),m=!p(h,u),u=h,m&&(c=n(u,l,a)),c):c}return function(o,s){return d?h(o,s):(u=e(i=o,a=s),l=t(r,a),c=n(u,l,a),d=!0,c)}}function q(e,t){var n=t.initMapStateToProps,r=t.initMapDispatchToProps,o=t.initMergeProps,i=Object(m.a)(t,["initMapStateToProps","initMapDispatchToProps","initMergeProps"]),a=n(e,i),u=r(e,i),l=o(e,i);return(i.pure?U:M)(a,u,l,e,i)}function z(e,t,n){for(var r=t.length-1;r>=0;r--){var o=t[r](e);if(o)return o}return function(t,r){throw new Error("Invalid value of type "+typeof e+" for "+n+" argument when connecting component "+r.wrappedComponentName+".")}}function H(e,t){return e===t}var G,B,$,V,W,K,Q,X,Y,J,Z,ee,te=($=(B=void 0===G?{}:G).connectHOC,V=void 0===$?k:$,W=B.mapStateToPropsFactories,K=void 0===W?L:W,Q=B.mapDispatchToPropsFactories,X=void 0===Q?A:Q,Y=B.mergePropsFactories,J=void 0===Y?I:Y,Z=B.selectorFactory,ee=void 0===Z?q:Z,function(e,t,n,r){void 0===r&&(r={});var o=r,i=o.pure,a=void 0===i||i,u=o.areStatesEqual,l=void 0===u?H:u,c=o.areOwnPropsEqual,s=void 0===c?F:c,f=o.areStatePropsEqual,p=void 0===f?F:f,d=o.areMergedPropsEqual,v=void 0===d?F:d,y=Object(m.a)(o,["pure","areStatesEqual","areOwnPropsEqual","areStatePropsEqual","areMergedPropsEqual"]),g=z(e,K,"mapStateToProps"),b=z(t,X,"mapDispatchToProps"),w=z(n,J,"mergeProps");return V(ee,Object(h.a)({methodName:"connect",getDisplayName:function(e){return"Connect("+e+")"},shouldHandleStateChanges:Boolean(e),initMapStateToProps:g,initMapDispatchToProps:b,initMergeProps:w,pure:a,areStatesEqual:l,areOwnPropsEqual:s,areStatePropsEqual:p,areMergedPropsEqual:v},y))});function ne(){var e=Object(r.useContext)(u);return b()(e,"could not find react-redux context value; please ensure the component is wrapped in a <Provider>"),e}function re(e){void 0===e&&(e=u);var t=e===u?ne:function(){return Object(r.useContext)(e)};return function(){return t().store}}var oe=re();!function(e){void 0===e&&(e=u);var t=e===u?oe:re(e)}();var ie=function(e,t){return e===t};!function(e){void 0===e&&(e=u);var t=e===u?ne:function(){return Object(r.useContext)(e)}}();var ae,ue=n(30);n.d(t,"a",(function(){return d})),n.d(t,"b",(function(){return te})),ae=ue.unstable_batchedUpdates,l=ae},function(e,t,n){"use strict";function r(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}var o=n(0),i=n.n(o),a=(n(1),n(46)),u=n(149),l=n(37);function c(){return(c=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}var s=n(151),f=n.n(s);n(137);function p(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}var d=n(122),h=n.n(d);n.d(t,"a",(function(){return E})),n.d(t,"b",(function(){return y})),n.d(t,"c",(function(){return _})),n.d(t,"d",(function(){return v})),n.d(t,"e",(function(){return w})),n.d(t,"f",(function(){return P}));var m=function(e){var t=Object(u.a)();return t.displayName=e,t}("Router-History"),v=function(e){var t=Object(u.a)();return t.displayName=e,t}("Router"),y=function(e){function t(t){var n;return(n=e.call(this,t)||this).state={location:t.history.location},n._isMounted=!1,n._pendingLocation=null,t.staticContext||(n.unlisten=t.history.listen((function(e){n._isMounted?n.setState({location:e}):n._pendingLocation=e}))),n}r(t,e),t.computeRootMatch=function(e){return{path:"/",url:"/",params:{},isExact:"/"===e}};var n=t.prototype;return n.componentDidMount=function(){this._isMounted=!0,this._pendingLocation&&this.setState({location:this._pendingLocation})},n.componentWillUnmount=function(){this.unlisten&&this.unlisten()},n.render=function(){return i.a.createElement(v.Provider,{value:{history:this.props.history,location:this.state.location,match:t.computeRootMatch(this.state.location.pathname),staticContext:this.props.staticContext}},i.a.createElement(m.Provider,{children:this.props.children||null,value:this.props.history}))},t}(i.a.Component);i.a.Component;i.a.Component;var g={},b=0;function w(e,t){void 0===t&&(t={}),("string"==typeof t||Array.isArray(t))&&(t={path:t});var n=t,r=n.path,o=n.exact,i=void 0!==o&&o,a=n.strict,u=void 0!==a&&a,l=n.sensitive,c=void 0!==l&&l;return[].concat(r).reduce((function(t,n){if(!n&&""!==n)return null;if(t)return t;var r=function(e,t){var n=""+t.end+t.strict+t.sensitive,r=g[n]||(g[n]={});if(r[e])return r[e];var o=[],i={regexp:f()(e,o,t),keys:o};return b<1e4&&(r[e]=i,b++),i}(n,{end:i,strict:u,sensitive:c}),o=r.regexp,a=r.keys,l=o.exec(e);if(!l)return null;var s=l[0],p=l.slice(1),d=e===s;return i&&!d?null:{path:n,url:"/"===n&&""===s?"/":s,isExact:d,params:a.reduce((function(e,t,n){return e[t.name]=p[n],e}),{})}}),null)}var E=function(e){function t(){return e.apply(this,arguments)||this}return r(t,e),t.prototype.render=function(){var e=this;return i.a.createElement(v.Consumer,null,(function(t){t||Object(l.a)(!1);var n=e.props.location||t.location,r=c({},t,{location:n,match:e.props.computedMatch?e.props.computedMatch:e.props.path?w(n.pathname,e.props):t.match}),o=e.props,a=o.children,u=o.component,s=o.render;return Array.isArray(a)&&0===a.length&&(a=null),i.a.createElement(v.Provider,{value:r},r.match?a?"function"==typeof a?a(r):a:u?i.a.createElement(u,r):s?s(r):null:"function"==typeof a?a(r):null)}))},t}(i.a.Component);function x(e){return"/"===e.charAt(0)?e:"/"+e}function S(e,t){if(!e)return t;var n=x(e);return 0!==t.pathname.indexOf(n)?t:c({},t,{pathname:t.pathname.substr(n.length)})}function T(e){return"string"==typeof e?e:Object(a.e)(e)}function O(e){return function(){Object(l.a)(!1)}}function k(){}i.a.Component;var _=function(e){function t(){return e.apply(this,arguments)||this}return r(t,e),t.prototype.render=function(){var e=this;return i.a.createElement(v.Consumer,null,(function(t){t||Object(l.a)(!1);var n,r,o=e.props.location||t.location;return i.a.Children.forEach(e.props.children,(function(e){if(null==r&&i.a.isValidElement(e)){n=e;var a=e.props.path||e.props.from;r=a?w(o.pathname,c({},e.props,{path:a})):t.match}})),r?i.a.cloneElement(n,{location:o,computedMatch:r}):null}))},t}(i.a.Component);function P(e){var t="withRouter("+(e.displayName||e.name)+")",n=function(t){var n=t.wrappedComponentRef,r=p(t,["wrappedComponentRef"]);return i.a.createElement(v.Consumer,null,(function(t){return t||Object(l.a)(!1),i.a.createElement(e,c({},r,t,{ref:n}))}))};return n.displayName=t,n.WrappedComponent=e,h()(n,e)}i.a.useContext},function(e,t,n){"use strict";n.d(t,"a",(function(){return r})),n.d(t,"b",(function(){return o})),n.d(t,"d",(function(){return i})),n.d(t,"c",(function(){return a})),n.d(t,"g",(function(){return u})),n.d(t,"i",(function(){return l})),n.d(t,"h",(function(){return c})),n.d(t,"f",(function(){return s})),n.d(t,"j",(function(){return f})),n.d(t,"e",(function(){return p})),n.d(t,"k",(function(){return d})),n.d(t,"n",(function(){return h})),n.d(t,"l",(function(){return m})),n.d(t,"m",(function(){return v})),n.d(t,"r",(function(){return y})),n.d(t,"t",(function(){return g})),n.d(t,"s",(function(){return b})),n.d(t,"q",(function(){return w})),n.d(t,"p",(function(){return E})),n.d(t,"o",(function(){return x}));var r="ADD_TO_CONSOLE",o="ADD_TO_RETRY_LIST",i="CLEAR_CONSOLE",a="CLEAR_BUTTON_CLICKED_AND_RETRY_LIST",u="GET_FILES_FROM_GITHUB",l="GET_FILES_FROM_GITHUB_SUCCESS",c="GET_FILES_FROM_GITHUB_FAILED",s="DOWNLOAD_FONTS_API_CALL",f="REQUEST_SENT_COUNTER",p="CLEAR_REQUEST_REMAINING_DATA",d=function(e,t,n){return{type:r,key:e,status:t,message:n}},h=function(){return{type:i}},m=function(e){return{type:o,name:e}},v=function(){return{type:a}},y=function(){return{type:u}},g=function(e){return{type:l,payload:e}},b=function(e){return{type:c,payload:e}},w=function(e){return{type:s,payload:e}},E=function(){return{type:f}},x=function(){return{type:p}}},function(e,t,n){var r=n(113),o=n(26),i=n(176);r||o(Object.prototype,"toString",i,{unsafe:!0})},function(e,t,n){"use strict";var r=n(7),o=n(48).find,i=n(86),a=n(33),u=!0,l=a("find");"find"in[]&&Array(1).find((function(){u=!1})),r({target:"Array",proto:!0,forced:u||!l},{find:function(e){return o(this,e,arguments.length>1?arguments[1]:void 0)}}),i("find")},function(e,t,n){var r=n(59),o=n(22);e.exports=function(e){return r(o(e))}},function(e,t,n){var r=n(35),o=Math.min;e.exports=function(e){return e>0?o(r(e),9007199254740991):0}},function(e,t){e.exports=function(e){if(null==e)throw TypeError("Can't call method on "+e);return e}},function(e,t,n){var r=n(22);e.exports=function(e){return Object(r(e))}},function(e,t){var n={}.toString;e.exports=function(e){return n.call(e).slice(8,-1)}},function(e,t,n){"use strict";var r=n(117).charAt,o=n(47),i=n(132),a=o.set,u=o.getterFor("String Iterator");i(String,"String",(function(e){a(this,{type:"String Iterator",string:String(e),index:0})}),(function(){var e,t=u(this),n=t.string,o=t.index;return o>=n.length?{value:void 0,done:!0}:(e=r(n,o),t.index+=e.length,{value:e,done:!1})}))},function(e,t,n){var r=n(4),o=n(14),i=n(9),a=n(50),u=n(65),l=n(47),c=l.get,s=l.enforce,f=String(String).split("String");(e.exports=function(e,t,n,u){var l=!!u&&!!u.unsafe,c=!!u&&!!u.enumerable,p=!!u&&!!u.noTargetGet;"function"==typeof n&&("string"!=typeof t||i(n,"name")||o(n,"name",t),s(n).source=f.join("string"==typeof t?t:"")),e!==r?(l?!p&&e[t]&&(c=!0):delete e[t],c?e[t]=n:o(e,t,n)):c?e[t]=n:a(t,n)})(Function.prototype,"toString",(function(){return"function"==typeof this&&c(this).source||u(this)}))},function(e,t,n){var r=n(104),o=n(4),i=function(e){return"function"==typeof e?e:void 0};e.exports=function(e,t){return arguments.length<2?i(r[e])||i(o[e]):r[e]&&r[e][t]||o[e]&&o[e][t]}},function(e,t,n){"use strict";function r(){return(r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}n.d(t,"a",(function(){return r}))},function(e,t,n){"use strict";var r=n(26),o=n(8),i=n(5),a=n(97),u=RegExp.prototype,l=u.toString,c=i((function(){return"/a/b"!=l.call({source:"a",flags:"b"})})),s="toString"!=l.name;(c||s)&&r(RegExp.prototype,"toString",(function(){var e=o(this),t=String(e.source),n=e.flags;return"/"+t+"/"+String(void 0===n&&e instanceof RegExp&&!("flags"in u)?a.call(e):n)}),{unsafe:!0})},function(e,t,n){"use strict";!function e(){if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE){0;try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(e){console.error(e)}}}(),e.exports=n(187)},function(e,t,n){"use strict";var r=n(7),o=n(4),i=n(27),a=n(49),u=n(10),l=n(64),c=n(101),s=n(5),f=n(9),p=n(74),d=n(11),h=n(8),m=n(23),v=n(20),y=n(51),g=n(34),b=n(68),w=n(67),E=n(72),x=n(197),S=n(88),T=n(45),O=n(12),k=n(77),_=n(14),P=n(26),F=n(61),C=n(52),j=n(44),R=n(63),D=n(6),A=n(159),L=n(160),N=n(89),I=n(47),M=n(48).forEach,U=C("hidden"),q=D("toPrimitive"),z=I.set,H=I.getterFor("Symbol"),G=Object.prototype,B=o.Symbol,$=i("JSON","stringify"),V=T.f,W=O.f,K=x.f,Q=k.f,X=F("symbols"),Y=F("op-symbols"),J=F("string-to-symbol-registry"),Z=F("symbol-to-string-registry"),ee=F("wks"),te=o.QObject,ne=!te||!te.prototype||!te.prototype.findChild,re=u&&s((function(){return 7!=b(W({},"a",{get:function(){return W(this,"a",{value:7}).a}})).a}))?function(e,t,n){var r=V(G,t);r&&delete G[t],W(e,t,n),r&&e!==G&&W(G,t,r)}:W,oe=function(e,t){var n=X[e]=b(B.prototype);return z(n,{type:"Symbol",tag:e,description:t}),u||(n.description=t),n},ie=c?function(e){return"symbol"==typeof e}:function(e){return Object(e)instanceof B},ae=function(e,t,n){e===G&&ae(Y,t,n),h(e);var r=y(t,!0);return h(n),f(X,r)?(n.enumerable?(f(e,U)&&e[U][r]&&(e[U][r]=!1),n=b(n,{enumerable:g(0,!1)})):(f(e,U)||W(e,U,g(1,{})),e[U][r]=!0),re(e,r,n)):W(e,r,n)},ue=function(e,t){h(e);var n=v(t),r=w(n).concat(fe(n));return M(r,(function(t){u&&!le.call(n,t)||ae(e,t,n[t])})),e},le=function(e){var t=y(e,!0),n=Q.call(this,t);return!(this===G&&f(X,t)&&!f(Y,t))&&(!(n||!f(this,t)||!f(X,t)||f(this,U)&&this[U][t])||n)},ce=function(e,t){var n=v(e),r=y(t,!0);if(n!==G||!f(X,r)||f(Y,r)){var o=V(n,r);return!o||!f(X,r)||f(n,U)&&n[U][r]||(o.enumerable=!0),o}},se=function(e){var t=K(v(e)),n=[];return M(t,(function(e){f(X,e)||f(j,e)||n.push(e)})),n},fe=function(e){var t=e===G,n=K(t?Y:v(e)),r=[];return M(n,(function(e){!f(X,e)||t&&!f(G,e)||r.push(X[e])})),r};(l||(P((B=function(){if(this instanceof B)throw TypeError("Symbol is not a constructor");var e=arguments.length&&void 0!==arguments[0]?String(arguments[0]):void 0,t=R(e),n=function(e){this===G&&n.call(Y,e),f(this,U)&&f(this[U],t)&&(this[U][t]=!1),re(this,t,g(1,e))};return u&&ne&&re(G,t,{configurable:!0,set:n}),oe(t,e)}).prototype,"toString",(function(){return H(this).tag})),P(B,"withoutSetter",(function(e){return oe(R(e),e)})),k.f=le,O.f=ae,T.f=ce,E.f=x.f=se,S.f=fe,A.f=function(e){return oe(D(e),e)},u&&(W(B.prototype,"description",{configurable:!0,get:function(){return H(this).description}}),a||P(G,"propertyIsEnumerable",le,{unsafe:!0}))),r({global:!0,wrap:!0,forced:!l,sham:!l},{Symbol:B}),M(w(ee),(function(e){L(e)})),r({target:"Symbol",stat:!0,forced:!l},{for:function(e){var t=String(e);if(f(J,t))return J[t];var n=B(t);return J[t]=n,Z[n]=t,n},keyFor:function(e){if(!ie(e))throw TypeError(e+" is not a symbol");if(f(Z,e))return Z[e]},useSetter:function(){ne=!0},useSimple:function(){ne=!1}}),r({target:"Object",stat:!0,forced:!l,sham:!u},{create:function(e,t){return void 0===t?b(e):ue(b(e),t)},defineProperty:ae,defineProperties:ue,getOwnPropertyDescriptor:ce}),r({target:"Object",stat:!0,forced:!l},{getOwnPropertyNames:se,getOwnPropertySymbols:fe}),r({target:"Object",stat:!0,forced:s((function(){S.f(1)}))},{getOwnPropertySymbols:function(e){return S.f(m(e))}}),$)&&r({target:"JSON",stat:!0,forced:!l||s((function(){var e=B();return"[null]"!=$([e])||"{}"!=$({a:e})||"{}"!=$(Object(e))}))},{stringify:function(e,t,n){for(var r,o=[e],i=1;arguments.length>i;)o.push(arguments[i++]);if(r=t,(d(t)||void 0!==e)&&!ie(e))return p(t)||(t=function(e,t){if("function"==typeof r&&(t=r.call(this,e,t)),!ie(t))return t}),o[1]=t,$.apply(null,o)}});B.prototype[q]||_(B.prototype,q,B.prototype.valueOf),N(B,"Symbol"),j[U]=!0},function(e,t,n){"use strict";var r=n(20),o=n(86),i=n(56),a=n(47),u=n(132),l=a.set,c=a.getterFor("Array Iterator");e.exports=u(Array,"Array",(function(e,t){l(this,{type:"Array Iterator",target:r(e),index:0,kind:t})}),(function(){var e=c(this),t=e.target,n=e.kind,r=e.index++;return!t||r>=t.length?(e.target=void 0,{value:void 0,done:!0}):"keys"==n?{value:r,done:!1}:"values"==n?{value:t[r],done:!1}:{value:[r,t[r]],done:!1}}),"values"),i.Arguments=i.Array,o("keys"),o("values"),o("entries")},function(e,t,n){var r=n(10),o=n(5),i=n(9),a=Object.defineProperty,u={},l=function(e){throw e};e.exports=function(e,t){if(i(u,e))return u[e];t||(t={});var n=[][e],c=!!i(t,"ACCESSORS")&&t.ACCESSORS,s=i(t,0)?t[0]:l,f=i(t,1)?t[1]:void 0;return u[e]=!!n&&!o((function(){if(c&&!r)return!0;var e={length:-1};c?a(e,1,{enumerable:!0,get:l}):e[1]=1,n.call(e,s,f)}))}},function(e,t){e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},function(e,t){var n=Math.ceil,r=Math.floor;e.exports=function(e){return isNaN(e=+e)?0:(e>0?r:n)(e)}},function(e,t,n){var r;!function(){"use strict";var o={not_string:/[^s]/,not_bool:/[^t]/,not_type:/[^T]/,not_primitive:/[^v]/,number:/[diefg]/,numeric_arg:/[bcdiefguxX]/,json:/[j]/,not_json:/[^j]/,text:/^[^\x25]+/,modulo:/^\x25{2}/,placeholder:/^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/,key:/^([a-z_][a-z_\d]*)/i,key_access:/^\.([a-z_][a-z_\d]*)/i,index_access:/^\[(\d+)\]/,sign:/^[+-]/};function i(e){return u(c(e),arguments)}function a(e,t){return i.apply(null,[e].concat(t||[]))}function u(e,t){var n,r,a,u,l,c,s,f,p,d=1,h=e.length,m="";for(r=0;r<h;r++)if("string"==typeof e[r])m+=e[r];else if("object"==typeof e[r]){if((u=e[r]).keys)for(n=t[d],a=0;a<u.keys.length;a++){if(null==n)throw new Error(i('[sprintf] Cannot access property "%s" of undefined value "%s"',u.keys[a],u.keys[a-1]));n=n[u.keys[a]]}else n=u.param_no?t[u.param_no]:t[d++];if(o.not_type.test(u.type)&&o.not_primitive.test(u.type)&&n instanceof Function&&(n=n()),o.numeric_arg.test(u.type)&&"number"!=typeof n&&isNaN(n))throw new TypeError(i("[sprintf] expecting number but found %T",n));switch(o.number.test(u.type)&&(f=n>=0),u.type){case"b":n=parseInt(n,10).toString(2);break;case"c":n=String.fromCharCode(parseInt(n,10));break;case"d":case"i":n=parseInt(n,10);break;case"j":n=JSON.stringify(n,null,u.width?parseInt(u.width):0);break;case"e":n=u.precision?parseFloat(n).toExponential(u.precision):parseFloat(n).toExponential();break;case"f":n=u.precision?parseFloat(n).toFixed(u.precision):parseFloat(n);break;case"g":n=u.precision?String(Number(n.toPrecision(u.precision))):parseFloat(n);break;case"o":n=(parseInt(n,10)>>>0).toString(8);break;case"s":n=String(n),n=u.precision?n.substring(0,u.precision):n;break;case"t":n=String(!!n),n=u.precision?n.substring(0,u.precision):n;break;case"T":n=Object.prototype.toString.call(n).slice(8,-1).toLowerCase(),n=u.precision?n.substring(0,u.precision):n;break;case"u":n=parseInt(n,10)>>>0;break;case"v":n=n.valueOf(),n=u.precision?n.substring(0,u.precision):n;break;case"x":n=(parseInt(n,10)>>>0).toString(16);break;case"X":n=(parseInt(n,10)>>>0).toString(16).toUpperCase()}o.json.test(u.type)?m+=n:(!o.number.test(u.type)||f&&!u.sign?p="":(p=f?"+":"-",n=n.toString().replace(o.sign,"")),c=u.pad_char?"0"===u.pad_char?"0":u.pad_char.charAt(1):" ",s=u.width-(p+n).length,l=u.width&&s>0?c.repeat(s):"",m+=u.align?p+n+l:"0"===c?p+l+n:l+p+n)}return m}var l=Object.create(null);function c(e){if(l[e])return l[e];for(var t,n=e,r=[],i=0;n;){if(null!==(t=o.text.exec(n)))r.push(t[0]);else if(null!==(t=o.modulo.exec(n)))r.push("%");else{if(null===(t=o.placeholder.exec(n)))throw new SyntaxError("[sprintf] unexpected placeholder");if(t[2]){i|=1;var a=[],u=t[2],c=[];if(null===(c=o.key.exec(u)))throw new SyntaxError("[sprintf] failed to parse named argument key");for(a.push(c[1]);""!==(u=u.substring(c[0].length));)if(null!==(c=o.key_access.exec(u)))a.push(c[1]);else{if(null===(c=o.index_access.exec(u)))throw new SyntaxError("[sprintf] failed to parse named argument key");a.push(c[1])}t[2]=a}else i|=2;if(3===i)throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");r.push({placeholder:t[0],param_no:t[1],keys:t[2],sign:t[3],pad_char:t[4],align:t[5],width:t[6],precision:t[7],type:t[8]})}n=n.substring(t[0].length)}return l[e]=r}t.sprintf=i,t.vsprintf=a,"undefined"!=typeof window&&(window.sprintf=i,window.vsprintf=a,void 0===(r=function(){return{sprintf:i,vsprintf:a}}.call(t,n,t,e))||(e.exports=r))}()},function(e,t,n){"use strict";t.a=function(e,t){if(!e)throw new Error("Invariant failed")}},function(e,t,n){"use strict";var r=n(7),o=n(10),i=n(4),a=n(9),u=n(11),l=n(12).f,c=n(102),s=i.Symbol;if(o&&"function"==typeof s&&(!("description"in s.prototype)||void 0!==s().description)){var f={},p=function(){var e=arguments.length<1||void 0===arguments[0]?void 0:String(arguments[0]),t=this instanceof p?new s(e):void 0===e?s():s(e);return""===e&&(f[t]=!0),t};c(p,s);var d=p.prototype=s.prototype;d.constructor=p;var h=d.toString,m="Symbol(test)"==String(s("test")),v=/^Symbol\((.*)\)[^)]+$/;l(d,"description",{configurable:!0,get:function(){var e=u(this)?this.valueOf():this,t=h.call(e);if(a(f,e))return"";var n=m?t.slice(7,-1):t.replace(v,"$1");return""===n?void 0:n}}),r({global:!0,forced:!0},{Symbol:p})}},function(e,t,n){n(160)("iterator")},function(e,t,n){var r=n(4),o=n(162),i=n(32),a=n(14),u=n(6),l=u("iterator"),c=u("toStringTag"),s=i.values;for(var f in o){var p=r[f],d=p&&p.prototype;if(d){if(d[l]!==s)try{a(d,l,s)}catch(e){d[l]=s}if(d[c]||a(d,c,f),o[f])for(var h in i)if(d[h]!==i[h])try{a(d,h,i[h])}catch(e){d[h]=i[h]}}}},function(e,t,n){"use strict";var r=n(7),o=n(73);r({target:"RegExp",proto:!0,forced:/./.exec!==o},{exec:o})},function(e,t,n){"use strict";var r=n(7),o=n(48).map,i=n(90),a=n(33),u=i("map"),l=a("map");r({target:"Array",proto:!0,forced:!u||!l},{map:function(e){return o(this,e,arguments.length>1?arguments[1]:void 0)}})},function(e,t){e.exports=function(e){if("function"!=typeof e)throw TypeError(String(e)+" is not a function");return e}},function(e,t){e.exports={}},function(e,t,n){var r=n(10),o=n(77),i=n(34),a=n(20),u=n(51),l=n(9),c=n(76),s=Object.getOwnPropertyDescriptor;t.f=r?s:function(e,t){if(e=a(e),t=u(t,!0),c)try{return s(e,t)}catch(e){}if(l(e,t))return i(!o.f.call(e,t),e[t])}},function(e,t,n){"use strict";function r(){return(r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function o(e){return"/"===e.charAt(0)}function i(e,t){for(var n=t,r=n+1,o=e.length;r<o;n+=1,r+=1)e[n]=e[r];e.pop()}var a=function(e,t){void 0===t&&(t="");var n,r=e&&e.split("/")||[],a=t&&t.split("/")||[],u=e&&o(e),l=t&&o(t),c=u||l;if(e&&o(e)?a=r:r.length&&(a.pop(),a=a.concat(r)),!a.length)return"/";if(a.length){var s=a[a.length-1];n="."===s||".."===s||""===s}else n=!1;for(var f=0,p=a.length;p>=0;p--){var d=a[p];"."===d?i(a,p):".."===d?(i(a,p),f++):f&&(i(a,p),f--)}if(!c)for(;f--;f)a.unshift("..");!c||""===a[0]||a[0]&&o(a[0])||a.unshift("");var h=a.join("/");return n&&"/"!==h.substr(-1)&&(h+="/"),h};function u(e){return e.valueOf?e.valueOf():Object.prototype.valueOf.call(e)}var l=function e(t,n){if(t===n)return!0;if(null==t||null==n)return!1;if(Array.isArray(t))return Array.isArray(n)&&t.length===n.length&&t.every((function(t,r){return e(t,n[r])}));if("object"==typeof t||"object"==typeof n){var r=u(t),o=u(n);return r!==t||o!==n?e(r,o):Object.keys(Object.assign({},t,n)).every((function(r){return e(t[r],n[r])}))}return!1},c=n(37);function s(e){return"/"===e.charAt(0)?e:"/"+e}function f(e){return"/"===e.charAt(0)?e.substr(1):e}function p(e,t){return function(e,t){return 0===e.toLowerCase().indexOf(t.toLowerCase())&&-1!=="/?#".indexOf(e.charAt(t.length))}(e,t)?e.substr(t.length):e}function d(e){return"/"===e.charAt(e.length-1)?e.slice(0,-1):e}function h(e){var t=e.pathname,n=e.search,r=e.hash,o=t||"/";return n&&"?"!==n&&(o+="?"===n.charAt(0)?n:"?"+n),r&&"#"!==r&&(o+="#"===r.charAt(0)?r:"#"+r),o}function m(e,t,n,o){var i;"string"==typeof e?(i=function(e){var t=e||"/",n="",r="",o=t.indexOf("#");-1!==o&&(r=t.substr(o),t=t.substr(0,o));var i=t.indexOf("?");return-1!==i&&(n=t.substr(i),t=t.substr(0,i)),{pathname:t,search:"?"===n?"":n,hash:"#"===r?"":r}}(e)).state=t:(void 0===(i=r({},e)).pathname&&(i.pathname=""),i.search?"?"!==i.search.charAt(0)&&(i.search="?"+i.search):i.search="",i.hash?"#"!==i.hash.charAt(0)&&(i.hash="#"+i.hash):i.hash="",void 0!==t&&void 0===i.state&&(i.state=t));try{i.pathname=decodeURI(i.pathname)}catch(e){throw e instanceof URIError?new URIError('Pathname "'+i.pathname+'" could not be decoded. This is likely caused by an invalid percent-encoding.'):e}return n&&(i.key=n),o?i.pathname?"/"!==i.pathname.charAt(0)&&(i.pathname=a(i.pathname,o.pathname)):i.pathname=o.pathname:i.pathname||(i.pathname="/"),i}function v(e,t){return e.pathname===t.pathname&&e.search===t.search&&e.hash===t.hash&&e.key===t.key&&l(e.state,t.state)}function y(){var e=null;var t=[];return{setPrompt:function(t){return e=t,function(){e===t&&(e=null)}},confirmTransitionTo:function(t,n,r,o){if(null!=e){var i="function"==typeof e?e(t,n):e;"string"==typeof i?"function"==typeof r?r(i,o):o(!0):o(!1!==i)}else o(!0)},appendListener:function(e){var n=!0;function r(){n&&e.apply(void 0,arguments)}return t.push(r),function(){n=!1,t=t.filter((function(e){return e!==r}))}},notifyListeners:function(){for(var e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];t.forEach((function(e){return e.apply(void 0,n)}))}}}n.d(t,"a",(function(){return E})),n.d(t,"b",(function(){return k})),n.d(t,"d",(function(){return P})),n.d(t,"c",(function(){return m})),n.d(t,"f",(function(){return v})),n.d(t,"e",(function(){return h}));var g=!("undefined"==typeof window||!window.document||!window.document.createElement);function b(e,t){t(window.confirm(e))}function w(){try{return window.history.state||{}}catch(e){return{}}}function E(e){void 0===e&&(e={}),g||Object(c.a)(!1);var t,n=window.history,o=(-1===(t=window.navigator.userAgent).indexOf("Android 2.")&&-1===t.indexOf("Android 4.0")||-1===t.indexOf("Mobile Safari")||-1!==t.indexOf("Chrome")||-1!==t.indexOf("Windows Phone"))&&window.history&&"pushState"in window.history,i=!(-1===window.navigator.userAgent.indexOf("Trident")),a=e,u=a.forceRefresh,l=void 0!==u&&u,f=a.getUserConfirmation,v=void 0===f?b:f,E=a.keyLength,x=void 0===E?6:E,S=e.basename?d(s(e.basename)):"";function T(e){var t=e||{},n=t.key,r=t.state,o=window.location,i=o.pathname+o.search+o.hash;return S&&(i=p(i,S)),m(i,r,n)}function O(){return Math.random().toString(36).substr(2,x)}var k=y();function _(e){r(U,e),U.length=n.length,k.notifyListeners(U.location,U.action)}function P(e){(function(e){return void 0===e.state&&-1===navigator.userAgent.indexOf("CriOS")})(e)||j(T(e.state))}function F(){j(T(w()))}var C=!1;function j(e){if(C)C=!1,_();else{k.confirmTransitionTo(e,"POP",v,(function(t){t?_({action:"POP",location:e}):function(e){var t=U.location,n=D.indexOf(t.key);-1===n&&(n=0);var r=D.indexOf(e.key);-1===r&&(r=0);var o=n-r;o&&(C=!0,L(o))}(e)}))}}var R=T(w()),D=[R.key];function A(e){return S+h(e)}function L(e){n.go(e)}var N=0;function I(e){1===(N+=e)&&1===e?(window.addEventListener("popstate",P),i&&window.addEventListener("hashchange",F)):0===N&&(window.removeEventListener("popstate",P),i&&window.removeEventListener("hashchange",F))}var M=!1;var U={length:n.length,action:"POP",location:R,createHref:A,push:function(e,t){var r=m(e,t,O(),U.location);k.confirmTransitionTo(r,"PUSH",v,(function(e){if(e){var t=A(r),i=r.key,a=r.state;if(o)if(n.pushState({key:i,state:a},null,t),l)window.location.href=t;else{var u=D.indexOf(U.location.key),c=D.slice(0,u+1);c.push(r.key),D=c,_({action:"PUSH",location:r})}else window.location.href=t}}))},replace:function(e,t){var r=m(e,t,O(),U.location);k.confirmTransitionTo(r,"REPLACE",v,(function(e){if(e){var t=A(r),i=r.key,a=r.state;if(o)if(n.replaceState({key:i,state:a},null,t),l)window.location.replace(t);else{var u=D.indexOf(U.location.key);-1!==u&&(D[u]=r.key),_({action:"REPLACE",location:r})}else window.location.replace(t)}}))},go:L,goBack:function(){L(-1)},goForward:function(){L(1)},block:function(e){void 0===e&&(e=!1);var t=k.setPrompt(e);return M||(I(1),M=!0),function(){return M&&(M=!1,I(-1)),t()}},listen:function(e){var t=k.appendListener(e);return I(1),function(){I(-1),t()}}};return U}var x={hashbang:{encodePath:function(e){return"!"===e.charAt(0)?e:"!/"+f(e)},decodePath:function(e){return"!"===e.charAt(0)?e.substr(1):e}},noslash:{encodePath:f,decodePath:s},slash:{encodePath:s,decodePath:s}};function S(e){var t=e.indexOf("#");return-1===t?e:e.slice(0,t)}function T(){var e=window.location.href,t=e.indexOf("#");return-1===t?"":e.substring(t+1)}function O(e){window.location.replace(S(window.location.href)+"#"+e)}function k(e){void 0===e&&(e={}),g||Object(c.a)(!1);var t=window.history,n=(window.navigator.userAgent.indexOf("Firefox"),e),o=n.getUserConfirmation,i=void 0===o?b:o,a=n.hashType,u=void 0===a?"slash":a,l=e.basename?d(s(e.basename)):"",f=x[u],v=f.encodePath,w=f.decodePath;function E(){var e=w(T());return l&&(e=p(e,l)),m(e)}var k=y();function _(e){r(U,e),U.length=t.length,k.notifyListeners(U.location,U.action)}var P=!1,F=null;function C(){var e,t,n=T(),r=v(n);if(n!==r)O(r);else{var o=E(),a=U.location;if(!P&&(t=o,(e=a).pathname===t.pathname&&e.search===t.search&&e.hash===t.hash))return;if(F===h(o))return;F=null,function(e){if(P)P=!1,_();else{k.confirmTransitionTo(e,"POP",i,(function(t){t?_({action:"POP",location:e}):function(e){var t=U.location,n=A.lastIndexOf(h(t));-1===n&&(n=0);var r=A.lastIndexOf(h(e));-1===r&&(r=0);var o=n-r;o&&(P=!0,L(o))}(e)}))}}(o)}}var j=T(),R=v(j);j!==R&&O(R);var D=E(),A=[h(D)];function L(e){t.go(e)}var N=0;function I(e){1===(N+=e)&&1===e?window.addEventListener("hashchange",C):0===N&&window.removeEventListener("hashchange",C)}var M=!1;var U={length:t.length,action:"POP",location:D,createHref:function(e){var t=document.querySelector("base"),n="";return t&&t.getAttribute("href")&&(n=S(window.location.href)),n+"#"+v(l+h(e))},push:function(e,t){var n=m(e,void 0,void 0,U.location);k.confirmTransitionTo(n,"PUSH",i,(function(e){if(e){var t=h(n),r=v(l+t);if(T()!==r){F=t,function(e){window.location.hash=e}(r);var o=A.lastIndexOf(h(U.location)),i=A.slice(0,o+1);i.push(t),A=i,_({action:"PUSH",location:n})}else _()}}))},replace:function(e,t){var n=m(e,void 0,void 0,U.location);k.confirmTransitionTo(n,"REPLACE",i,(function(e){if(e){var t=h(n),r=v(l+t);T()!==r&&(F=t,O(r));var o=A.indexOf(h(U.location));-1!==o&&(A[o]=t),_({action:"REPLACE",location:n})}}))},go:L,goBack:function(){L(-1)},goForward:function(){L(1)},block:function(e){void 0===e&&(e=!1);var t=k.setPrompt(e);return M||(I(1),M=!0),function(){return M&&(M=!1,I(-1)),t()}},listen:function(e){var t=k.appendListener(e);return I(1),function(){I(-1),t()}}};return U}function _(e,t,n){return Math.min(Math.max(e,t),n)}function P(e){void 0===e&&(e={});var t=e,n=t.getUserConfirmation,o=t.initialEntries,i=void 0===o?["/"]:o,a=t.initialIndex,u=void 0===a?0:a,l=t.keyLength,c=void 0===l?6:l,s=y();function f(e){r(w,e),w.length=w.entries.length,s.notifyListeners(w.location,w.action)}function p(){return Math.random().toString(36).substr(2,c)}var d=_(u,0,i.length-1),v=i.map((function(e){return m(e,void 0,"string"==typeof e?p():e.key||p())})),g=h;function b(e){var t=_(w.index+e,0,w.entries.length-1),r=w.entries[t];s.confirmTransitionTo(r,"POP",n,(function(e){e?f({action:"POP",location:r,index:t}):f()}))}var w={length:v.length,action:"POP",location:v[d],index:d,entries:v,createHref:g,push:function(e,t){var r=m(e,t,p(),w.location);s.confirmTransitionTo(r,"PUSH",n,(function(e){if(e){var t=w.index+1,n=w.entries.slice(0);n.length>t?n.splice(t,n.length-t,r):n.push(r),f({action:"PUSH",location:r,index:t,entries:n})}}))},replace:function(e,t){var r=m(e,t,p(),w.location);s.confirmTransitionTo(r,"REPLACE",n,(function(e){e&&(w.entries[w.index]=r,f({action:"REPLACE",location:r}))}))},go:b,goBack:function(){b(-1)},goForward:function(){b(1)},canGo:function(e){var t=w.index+e;return t>=0&&t<w.entries.length},block:function(e){return void 0===e&&(e=!1),s.setPrompt(e)},listen:function(e){return s.appendListener(e)}};return w}},function(e,t,n){var r,o,i,a=n(114),u=n(4),l=n(11),c=n(14),s=n(9),f=n(52),p=n(44),d=u.WeakMap;if(a){var h=new d,m=h.get,v=h.has,y=h.set;r=function(e,t){return y.call(h,e,t),t},o=function(e){return m.call(h,e)||{}},i=function(e){return v.call(h,e)}}else{var g=f("state");p[g]=!0,r=function(e,t){return c(e,g,t),t},o=function(e){return s(e,g)?e[g]:{}},i=function(e){return s(e,g)}}e.exports={set:r,get:o,has:i,enforce:function(e){return i(e)?o(e):r(e,{})},getterFor:function(e){return function(t){var n;if(!l(t)||(n=o(t)).type!==e)throw TypeError("Incompatible receiver, "+e+" required");return n}}}},function(e,t,n){var r=n(66),o=n(59),i=n(23),a=n(21),u=n(107),l=[].push,c=function(e){var t=1==e,n=2==e,c=3==e,s=4==e,f=6==e,p=5==e||f;return function(d,h,m,v){for(var y,g,b=i(d),w=o(b),E=r(h,m,3),x=a(w.length),S=0,T=v||u,O=t?T(d,x):n?T(d,0):void 0;x>S;S++)if((p||S in w)&&(g=E(y=w[S],S,b),e))if(t)O[S]=g;else if(g)switch(e){case 3:return!0;case 5:return y;case 6:return S;case 2:l.call(O,y)}else if(s)return!1;return f?-1:c||s?s:O}};e.exports={forEach:c(0),map:c(1),filter:c(2),some:c(3),every:c(4),find:c(5),findIndex:c(6)}},function(e,t){e.exports=!1},function(e,t,n){var r=n(4),o=n(14);e.exports=function(e,t){try{o(r,e,t)}catch(n){r[e]=t}return t}},function(e,t,n){var r=n(11);e.exports=function(e,t){if(!r(e))return e;var n,o;if(t&&"function"==typeof(n=e.toString)&&!r(o=n.call(e)))return o;if("function"==typeof(n=e.valueOf)&&!r(o=n.call(e)))return o;if(!t&&"function"==typeof(n=e.toString)&&!r(o=n.call(e)))return o;throw TypeError("Can't convert object to primitive value")}},function(e,t,n){var r=n(61),o=n(63),i=r("keys");e.exports=function(e){return i[e]||(i[e]=o(e))}},function(e,t){e.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},function(e,t,n){"use strict";n.d(t,"b",(function(){return r})),n.d(t,"a",(function(){return i}));n(120);
|
2 |
/**
|
3 |
* @package Gravity PDF
|
4 |
* @copyright Copyright (c) 2022, Blue Liquid Designs
|
dist/assets/js/gfpdf-entries.min.js
CHANGED
@@ -1 +1 @@
|
|
1 |
-
!function(t){var n={};function r(e){if(n[e])return n[e].exports;var o=n[e]={i:e,l:!1,exports:{}};return t[e].call(o.exports,o,o.exports,r),o.l=!0,o.exports}r.m=t,r.c=n,r.d=function(t,n,e){r.o(t,n)||Object.defineProperty(t,n,{enumerable:!0,get:e})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,n){if(1&n&&(t=r(t)),8&n)return t;if(4&n&&"object"==typeof t&&t&&t.__esModule)return t;var e=Object.create(null);if(r.r(e),Object.defineProperty(e,"default",{enumerable:!0,value:t}),2&n&&"string"!=typeof t)for(var o in t)r.d(e,o,function(n){return t[n]}.bind(null,o));return e},r.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(n,"a",n),n},r.o=function(t,n){return Object.prototype.hasOwnProperty.call(t,n)},r.p="/home/runner/work/gravity-pdf/gravity-pdf/tmp/package/6.3.1/dist/",r(r.s=209)}([,,,,function(t,n,r){(function(n){var r=function(t){return t&&t.Math==Math&&t};t.exports=r("object"==typeof globalThis&&globalThis)||r("object"==typeof window&&window)||r("object"==typeof self&&self)||r("object"==typeof n&&n)||Function("return this")()}).call(this,r(84))},function(t,n){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,n,r){var e=r(4),o=r(61),i=r(9),u=r(63),c=r(64),f=r(101),a=o("wks"),s=e.Symbol,p=f?s:s&&s.withoutSetter||u;t.exports=function(t){return i(a,t)||(c&&i(s,t)?a[t]=s[t]:a[t]=p("Symbol."+t)),a[t]}},function(t,n,r){var e=r(4),o=r(45).f,i=r(14),u=r(26),c=r(50),f=r(102),a=r(85);t.exports=function(t,n){var r,s,p,l,v,y=t.target,d=t.global,h=t.stat;if(r=d?e:h?e[y]||c(y,{}):(e[y]||{}).prototype)for(s in n){if(l=n[s],p=t.noTargetGet?(v=o(r,s))&&v.value:r[s],!a(d?s:y+(h?".":"#")+s,t.forced)&&void 0!==p){if(typeof l==typeof p)continue;f(l,p)}(t.sham||p&&p.sham)&&i(l,"sham",!0),u(r,s,l,t)}}},function(t,n,r){var e=r(11);t.exports=function(t){if(!e(t))throw TypeError(String(t)+" is not an object");return t}},function(t,n){var r={}.hasOwnProperty;t.exports=function(t,n){return r.call(t,n)}},function(t,n,r){var e=r(5);t.exports=!e((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]}))},function(t,n){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},function(t,n,r){var e=r(10),o=r(76),i=r(8),u=r(51),c=Object.defineProperty;n.f=e?c:function(t,n,r){if(i(t),n=u(n,!0),i(r),o)try{return c(t,n,r)}catch(t){}if("get"in r||"set"in r)throw TypeError("Accessors not supported");return"value"in r&&(t[n]=r.value),t}},,function(t,n,r){var e=r(10),o=r(12),i=r(34);t.exports=e?function(t,n,r){return o.f(t,n,i(1,r))}:function(t,n,r){return t[n]=r,t}},,,,,function(t,n,r){"use strict";var e=r(7),o=r(48).find,i=r(86),u=r(33),c=!0,f=u("find");"find"in[]&&Array(1).find((function(){c=!1})),e({target:"Array",proto:!0,forced:c||!f},{find:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0)}}),i("find")},function(t,n,r){var e=r(59),o=r(22);t.exports=function(t){return e(o(t))}},function(t,n,r){var e=r(35),o=Math.min;t.exports=function(t){return t>0?o(e(t),9007199254740991):0}},function(t,n){t.exports=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t}},function(t,n,r){var e=r(22);t.exports=function(t){return Object(e(t))}},function(t,n){var r={}.toString;t.exports=function(t){return r.call(t).slice(8,-1)}},,function(t,n,r){var e=r(4),o=r(14),i=r(9),u=r(50),c=r(65),f=r(47),a=f.get,s=f.enforce,p=String(String).split("String");(t.exports=function(t,n,r,c){var f=!!c&&!!c.unsafe,a=!!c&&!!c.enumerable,l=!!c&&!!c.noTargetGet;"function"==typeof r&&("string"!=typeof n||i(r,"name")||o(r,"name",n),s(r).source=p.join("string"==typeof n?n:"")),t!==e?(f?!l&&t[n]&&(a=!0):delete t[n],a?t[n]=r:o(t,n,r)):a?t[n]=r:u(n,r)})(Function.prototype,"toString",(function(){return"function"==typeof this&&a(this).source||c(this)}))},function(t,n,r){var e=r(104),o=r(4),i=function(t){return"function"==typeof t?t:void 0};t.exports=function(t,n){return arguments.length<2?i(e[t])||i(o[t]):e[t]&&e[t][n]||o[t]&&o[t][n]}},,,,,,function(t,n,r){var e=r(10),o=r(5),i=r(9),u=Object.defineProperty,c={},f=function(t){throw t};t.exports=function(t,n){if(i(c,t))return c[t];n||(n={});var r=[][t],a=!!i(n,"ACCESSORS")&&n.ACCESSORS,s=i(n,0)?n[0]:f,p=i(n,1)?n[1]:void 0;return c[t]=!!r&&!o((function(){if(a&&!e)return!0;var t={length:-1};a?u(t,1,{enumerable:!0,get:f}):t[1]=1,r.call(t,s,p)}))}},function(t,n){t.exports=function(t,n){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:n}}},function(t,n){var r=Math.ceil,e=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?e:r)(t)}},,,,,,,,function(t,n){t.exports=function(t){if("function"!=typeof t)throw TypeError(String(t)+" is not a function");return t}},function(t,n){t.exports={}},function(t,n,r){var e=r(10),o=r(77),i=r(34),u=r(20),c=r(51),f=r(9),a=r(76),s=Object.getOwnPropertyDescriptor;n.f=e?s:function(t,n){if(t=u(t),n=c(n,!0),a)try{return s(t,n)}catch(t){}if(f(t,n))return i(!o.f.call(t,n),t[n])}},,function(t,n,r){var e,o,i,u=r(114),c=r(4),f=r(11),a=r(14),s=r(9),p=r(52),l=r(44),v=c.WeakMap;if(u){var y=new v,d=y.get,h=y.has,x=y.set;e=function(t,n){return x.call(y,t,n),n},o=function(t){return d.call(y,t)||{}},i=function(t){return h.call(y,t)}}else{var b=p("state");l[b]=!0,e=function(t,n){return a(t,b,n),n},o=function(t){return s(t,b)?t[b]:{}},i=function(t){return s(t,b)}}t.exports={set:e,get:o,has:i,enforce:function(t){return i(t)?o(t):e(t,{})},getterFor:function(t){return function(n){var r;if(!f(n)||(r=o(n)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return r}}}},function(t,n,r){var e=r(66),o=r(59),i=r(23),u=r(21),c=r(107),f=[].push,a=function(t){var n=1==t,r=2==t,a=3==t,s=4==t,p=6==t,l=5==t||p;return function(v,y,d,h){for(var x,b,g=i(v),m=o(g),O=e(y,d,3),S=u(m.length),w=0,j=h||c,P=n?j(v,S):r?j(v,0):void 0;S>w;w++)if((l||w in m)&&(b=O(x=m[w],w,g),t))if(n)P[w]=b;else if(b)switch(t){case 3:return!0;case 5:return x;case 6:return w;case 2:f.call(P,x)}else if(s)return!1;return p?-1:a||s?s:P}};t.exports={forEach:a(0),map:a(1),filter:a(2),some:a(3),every:a(4),find:a(5),findIndex:a(6)}},function(t,n){t.exports=!1},function(t,n,r){var e=r(4),o=r(14);t.exports=function(t,n){try{o(e,t,n)}catch(r){e[t]=n}return n}},function(t,n,r){var e=r(11);t.exports=function(t,n){if(!e(t))return t;var r,o;if(n&&"function"==typeof(r=t.toString)&&!e(o=r.call(t)))return o;if("function"==typeof(r=t.valueOf)&&!e(o=r.call(t)))return o;if(!n&&"function"==typeof(r=t.toString)&&!e(o=r.call(t)))return o;throw TypeError("Can't convert object to primitive value")}},function(t,n,r){var e=r(61),o=r(63),i=e("keys");t.exports=function(t){return i[t]||(i[t]=o(t))}},function(t,n){t.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},,,,,,function(t,n,r){var e=r(5),o=r(24),i="".split;t.exports=e((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==o(t)?i.call(t,""):Object(t)}:Object},,function(t,n,r){var e=r(49),o=r(75);(t.exports=function(t,n){return o[t]||(o[t]=void 0!==n?n:{})})("versions",[]).push({version:"3.6.5",mode:e?"pure":"global",copyright:"© 2020 Denis Pushkarev (zloirock.ru)"})},function(t,n,r){var e=r(4),o=r(11),i=e.document,u=o(i)&&o(i.createElement);t.exports=function(t){return u?i.createElement(t):{}}},function(t,n){var r=0,e=Math.random();t.exports=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++r+e).toString(36)}},function(t,n,r){var e=r(5);t.exports=!!Object.getOwnPropertySymbols&&!e((function(){return!String(Symbol())}))},function(t,n,r){var e=r(75),o=Function.toString;"function"!=typeof e.inspectSource&&(e.inspectSource=function(t){return o.call(t)}),t.exports=e.inspectSource},function(t,n,r){var e=r(43);t.exports=function(t,n,r){if(e(t),void 0===n)return t;switch(r){case 0:return function(){return t.call(n)};case 1:return function(r){return t.call(n,r)};case 2:return function(r,e){return t.call(n,r,e)};case 3:return function(r,e,o){return t.call(n,r,e,o)}}return function(){return t.apply(n,arguments)}}},function(t,n,r){var e=r(78),o=r(53);t.exports=Object.keys||function(t){return e(t,o)}},function(t,n,r){var e,o=r(8),i=r(118),u=r(53),c=r(44),f=r(106),a=r(62),s=r(52),p=s("IE_PROTO"),l=function(){},v=function(t){return"<script>"+t+"<\/script>"},y=function(){try{e=document.domain&&new ActiveXObject("htmlfile")}catch(t){}var t,n;y=e?function(t){t.write(v("")),t.close();var n=t.parentWindow.Object;return t=null,n}(e):((n=a("iframe")).style.display="none",f.appendChild(n),n.src=String("javascript:"),(t=n.contentWindow.document).open(),t.write(v("document.F=Object")),t.close(),t.F);for(var r=u.length;r--;)delete y.prototype[u[r]];return y()};c[p]=!0,t.exports=Object.create||function(t,n){var r;return null!==t?(l.prototype=o(t),r=new l,l.prototype=null,r[p]=t):r=y(),void 0===n?r:i(r,n)}},,,,function(t,n,r){var e=r(78),o=r(53).concat("length","prototype");n.f=Object.getOwnPropertyNames||function(t){return e(t,o)}},,function(t,n,r){var e=r(24);t.exports=Array.isArray||function(t){return"Array"==e(t)}},function(t,n,r){var e=r(4),o=r(50),i=e["__core-js_shared__"]||o("__core-js_shared__",{});t.exports=i},function(t,n,r){var e=r(10),o=r(5),i=r(62);t.exports=!e&&!o((function(){return 7!=Object.defineProperty(i("div"),"a",{get:function(){return 7}}).a}))},function(t,n,r){"use strict";var e={}.propertyIsEnumerable,o=Object.getOwnPropertyDescriptor,i=o&&!e.call({1:2},1);n.f=i?function(t){var n=o(this,t);return!!n&&n.enumerable}:e},function(t,n,r){var e=r(9),o=r(20),i=r(96).indexOf,u=r(44);t.exports=function(t,n){var r,c=o(t),f=0,a=[];for(r in c)!e(u,r)&&e(c,r)&&a.push(r);for(;n.length>f;)e(c,r=n[f++])&&(~i(a,r)||a.push(r));return a}},,,,,,function(t,n){var r;r=function(){return this}();try{r=r||new Function("return this")()}catch(t){"object"==typeof window&&(r=window)}t.exports=r},function(t,n,r){var e=r(5),o=/#|\.prototype\./,i=function(t,n){var r=c[u(t)];return r==a||r!=f&&("function"==typeof n?e(n):!!n)},u=i.normalize=function(t){return String(t).replace(o,".").toLowerCase()},c=i.data={},f=i.NATIVE="N",a=i.POLYFILL="P";t.exports=i},function(t,n,r){var e=r(6),o=r(68),i=r(12),u=e("unscopables"),c=Array.prototype;null==c[u]&&i.f(c,u,{configurable:!0,value:o(null)}),t.exports=function(t){c[u][t]=!0}},,function(t,n){n.f=Object.getOwnPropertySymbols},,,,,,,,function(t,n,r){var e=r(20),o=r(21),i=r(105),u=function(t){return function(n,r,u){var c,f=e(n),a=o(f.length),s=i(u,a);if(t&&r!=r){for(;a>s;)if((c=f[s++])!=c)return!0}else for(;a>s;s++)if((t||s in f)&&f[s]===r)return t||s||0;return!t&&-1}};t.exports={includes:u(!0),indexOf:u(!1)}},,,,,function(t,n,r){var e=r(64);t.exports=e&&!Symbol.sham&&"symbol"==typeof Symbol.iterator},function(t,n,r){var e=r(9),o=r(103),i=r(45),u=r(12);t.exports=function(t,n){for(var r=o(n),c=u.f,f=i.f,a=0;a<r.length;a++){var s=r[a];e(t,s)||c(t,s,f(n,s))}}},function(t,n,r){var e=r(27),o=r(72),i=r(88),u=r(8);t.exports=e("Reflect","ownKeys")||function(t){var n=o.f(u(t)),r=i.f;return r?n.concat(r(t)):n}},function(t,n,r){var e=r(4);t.exports=e},function(t,n,r){var e=r(35),o=Math.max,i=Math.min;t.exports=function(t,n){var r=e(t);return r<0?o(r+n,0):i(r,n)}},function(t,n,r){var e=r(27);t.exports=e("document","documentElement")},function(t,n,r){var e=r(11),o=r(74),i=r(6)("species");t.exports=function(t,n){var r;return o(t)&&("function"!=typeof(r=t.constructor)||r!==Array&&!o(r.prototype)?e(r)&&null===(r=r[i])&&(r=void 0):r=void 0),new(void 0===r?Array:r)(0===n?0:n)}},,,,,,,function(t,n,r){var e=r(4),o=r(65),i=e.WeakMap;t.exports="function"==typeof i&&/native code/.test(o(i))},,,,function(t,n,r){var e=r(10),o=r(12),i=r(8),u=r(67);t.exports=e?Object.defineProperties:function(t,n){i(t);for(var r,e=u(n),c=e.length,f=0;c>f;)o.f(t,r=e[f++],n[r]);return t}},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(t,n,r){"use strict";r.r(n);var e;r(19);(e=jQuery)((function(){var t=null;e(".gfpdf_form_action_has_submenu > a").on("click",(function(){return"false"===e(this).attr("aria-expanded")?(e(this).parent().addClass("open"),e(this).attr("aria-expanded","true")):(e(this).parent().removeClass("open"),e(this).attr("aria-expanded","false")),!1})).parent().on("mouseover",(function(){clearTimeout(t),e(this).addClass("open").find("> a").attr("aria-expanded","true")})).on("mouseout",(function(){var n=e(this);t=setTimeout((function(){n.removeClass("open").find("> a").attr("aria-expanded","false")}),1e3)}))}))}]);
|
1 |
+
!function(t){var n={};function r(e){if(n[e])return n[e].exports;var o=n[e]={i:e,l:!1,exports:{}};return t[e].call(o.exports,o,o.exports,r),o.l=!0,o.exports}r.m=t,r.c=n,r.d=function(t,n,e){r.o(t,n)||Object.defineProperty(t,n,{enumerable:!0,get:e})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,n){if(1&n&&(t=r(t)),8&n)return t;if(4&n&&"object"==typeof t&&t&&t.__esModule)return t;var e=Object.create(null);if(r.r(e),Object.defineProperty(e,"default",{enumerable:!0,value:t}),2&n&&"string"!=typeof t)for(var o in t)r.d(e,o,function(n){return t[n]}.bind(null,o));return e},r.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(n,"a",n),n},r.o=function(t,n){return Object.prototype.hasOwnProperty.call(t,n)},r.p="/home/runner/work/gravity-pdf/gravity-pdf/tmp/package/6.4.0-RC1/dist/",r(r.s=209)}([,,,,function(t,n,r){(function(n){var r=function(t){return t&&t.Math==Math&&t};t.exports=r("object"==typeof globalThis&&globalThis)||r("object"==typeof window&&window)||r("object"==typeof self&&self)||r("object"==typeof n&&n)||Function("return this")()}).call(this,r(84))},function(t,n){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,n,r){var e=r(4),o=r(61),i=r(9),u=r(63),c=r(64),f=r(101),a=o("wks"),s=e.Symbol,p=f?s:s&&s.withoutSetter||u;t.exports=function(t){return i(a,t)||(c&&i(s,t)?a[t]=s[t]:a[t]=p("Symbol."+t)),a[t]}},function(t,n,r){var e=r(4),o=r(45).f,i=r(14),u=r(26),c=r(50),f=r(102),a=r(85);t.exports=function(t,n){var r,s,p,l,v,y=t.target,d=t.global,h=t.stat;if(r=d?e:h?e[y]||c(y,{}):(e[y]||{}).prototype)for(s in n){if(l=n[s],p=t.noTargetGet?(v=o(r,s))&&v.value:r[s],!a(d?s:y+(h?".":"#")+s,t.forced)&&void 0!==p){if(typeof l==typeof p)continue;f(l,p)}(t.sham||p&&p.sham)&&i(l,"sham",!0),u(r,s,l,t)}}},function(t,n,r){var e=r(11);t.exports=function(t){if(!e(t))throw TypeError(String(t)+" is not an object");return t}},function(t,n){var r={}.hasOwnProperty;t.exports=function(t,n){return r.call(t,n)}},function(t,n,r){var e=r(5);t.exports=!e((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]}))},function(t,n){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},function(t,n,r){var e=r(10),o=r(76),i=r(8),u=r(51),c=Object.defineProperty;n.f=e?c:function(t,n,r){if(i(t),n=u(n,!0),i(r),o)try{return c(t,n,r)}catch(t){}if("get"in r||"set"in r)throw TypeError("Accessors not supported");return"value"in r&&(t[n]=r.value),t}},,function(t,n,r){var e=r(10),o=r(12),i=r(34);t.exports=e?function(t,n,r){return o.f(t,n,i(1,r))}:function(t,n,r){return t[n]=r,t}},,,,,function(t,n,r){"use strict";var e=r(7),o=r(48).find,i=r(86),u=r(33),c=!0,f=u("find");"find"in[]&&Array(1).find((function(){c=!1})),e({target:"Array",proto:!0,forced:c||!f},{find:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0)}}),i("find")},function(t,n,r){var e=r(59),o=r(22);t.exports=function(t){return e(o(t))}},function(t,n,r){var e=r(35),o=Math.min;t.exports=function(t){return t>0?o(e(t),9007199254740991):0}},function(t,n){t.exports=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t}},function(t,n,r){var e=r(22);t.exports=function(t){return Object(e(t))}},function(t,n){var r={}.toString;t.exports=function(t){return r.call(t).slice(8,-1)}},,function(t,n,r){var e=r(4),o=r(14),i=r(9),u=r(50),c=r(65),f=r(47),a=f.get,s=f.enforce,p=String(String).split("String");(t.exports=function(t,n,r,c){var f=!!c&&!!c.unsafe,a=!!c&&!!c.enumerable,l=!!c&&!!c.noTargetGet;"function"==typeof r&&("string"!=typeof n||i(r,"name")||o(r,"name",n),s(r).source=p.join("string"==typeof n?n:"")),t!==e?(f?!l&&t[n]&&(a=!0):delete t[n],a?t[n]=r:o(t,n,r)):a?t[n]=r:u(n,r)})(Function.prototype,"toString",(function(){return"function"==typeof this&&a(this).source||c(this)}))},function(t,n,r){var e=r(104),o=r(4),i=function(t){return"function"==typeof t?t:void 0};t.exports=function(t,n){return arguments.length<2?i(e[t])||i(o[t]):e[t]&&e[t][n]||o[t]&&o[t][n]}},,,,,,function(t,n,r){var e=r(10),o=r(5),i=r(9),u=Object.defineProperty,c={},f=function(t){throw t};t.exports=function(t,n){if(i(c,t))return c[t];n||(n={});var r=[][t],a=!!i(n,"ACCESSORS")&&n.ACCESSORS,s=i(n,0)?n[0]:f,p=i(n,1)?n[1]:void 0;return c[t]=!!r&&!o((function(){if(a&&!e)return!0;var t={length:-1};a?u(t,1,{enumerable:!0,get:f}):t[1]=1,r.call(t,s,p)}))}},function(t,n){t.exports=function(t,n){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:n}}},function(t,n){var r=Math.ceil,e=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?e:r)(t)}},,,,,,,,function(t,n){t.exports=function(t){if("function"!=typeof t)throw TypeError(String(t)+" is not a function");return t}},function(t,n){t.exports={}},function(t,n,r){var e=r(10),o=r(77),i=r(34),u=r(20),c=r(51),f=r(9),a=r(76),s=Object.getOwnPropertyDescriptor;n.f=e?s:function(t,n){if(t=u(t),n=c(n,!0),a)try{return s(t,n)}catch(t){}if(f(t,n))return i(!o.f.call(t,n),t[n])}},,function(t,n,r){var e,o,i,u=r(114),c=r(4),f=r(11),a=r(14),s=r(9),p=r(52),l=r(44),v=c.WeakMap;if(u){var y=new v,d=y.get,h=y.has,x=y.set;e=function(t,n){return x.call(y,t,n),n},o=function(t){return d.call(y,t)||{}},i=function(t){return h.call(y,t)}}else{var b=p("state");l[b]=!0,e=function(t,n){return a(t,b,n),n},o=function(t){return s(t,b)?t[b]:{}},i=function(t){return s(t,b)}}t.exports={set:e,get:o,has:i,enforce:function(t){return i(t)?o(t):e(t,{})},getterFor:function(t){return function(n){var r;if(!f(n)||(r=o(n)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return r}}}},function(t,n,r){var e=r(66),o=r(59),i=r(23),u=r(21),c=r(107),f=[].push,a=function(t){var n=1==t,r=2==t,a=3==t,s=4==t,p=6==t,l=5==t||p;return function(v,y,d,h){for(var x,b,g=i(v),m=o(g),O=e(y,d,3),S=u(m.length),w=0,j=h||c,P=n?j(v,S):r?j(v,0):void 0;S>w;w++)if((l||w in m)&&(b=O(x=m[w],w,g),t))if(n)P[w]=b;else if(b)switch(t){case 3:return!0;case 5:return x;case 6:return w;case 2:f.call(P,x)}else if(s)return!1;return p?-1:a||s?s:P}};t.exports={forEach:a(0),map:a(1),filter:a(2),some:a(3),every:a(4),find:a(5),findIndex:a(6)}},function(t,n){t.exports=!1},function(t,n,r){var e=r(4),o=r(14);t.exports=function(t,n){try{o(e,t,n)}catch(r){e[t]=n}return n}},function(t,n,r){var e=r(11);t.exports=function(t,n){if(!e(t))return t;var r,o;if(n&&"function"==typeof(r=t.toString)&&!e(o=r.call(t)))return o;if("function"==typeof(r=t.valueOf)&&!e(o=r.call(t)))return o;if(!n&&"function"==typeof(r=t.toString)&&!e(o=r.call(t)))return o;throw TypeError("Can't convert object to primitive value")}},function(t,n,r){var e=r(61),o=r(63),i=e("keys");t.exports=function(t){return i[t]||(i[t]=o(t))}},function(t,n){t.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},,,,,,function(t,n,r){var e=r(5),o=r(24),i="".split;t.exports=e((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==o(t)?i.call(t,""):Object(t)}:Object},,function(t,n,r){var e=r(49),o=r(75);(t.exports=function(t,n){return o[t]||(o[t]=void 0!==n?n:{})})("versions",[]).push({version:"3.6.5",mode:e?"pure":"global",copyright:"© 2020 Denis Pushkarev (zloirock.ru)"})},function(t,n,r){var e=r(4),o=r(11),i=e.document,u=o(i)&&o(i.createElement);t.exports=function(t){return u?i.createElement(t):{}}},function(t,n){var r=0,e=Math.random();t.exports=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++r+e).toString(36)}},function(t,n,r){var e=r(5);t.exports=!!Object.getOwnPropertySymbols&&!e((function(){return!String(Symbol())}))},function(t,n,r){var e=r(75),o=Function.toString;"function"!=typeof e.inspectSource&&(e.inspectSource=function(t){return o.call(t)}),t.exports=e.inspectSource},function(t,n,r){var e=r(43);t.exports=function(t,n,r){if(e(t),void 0===n)return t;switch(r){case 0:return function(){return t.call(n)};case 1:return function(r){return t.call(n,r)};case 2:return function(r,e){return t.call(n,r,e)};case 3:return function(r,e,o){return t.call(n,r,e,o)}}return function(){return t.apply(n,arguments)}}},function(t,n,r){var e=r(78),o=r(53);t.exports=Object.keys||function(t){return e(t,o)}},function(t,n,r){var e,o=r(8),i=r(118),u=r(53),c=r(44),f=r(106),a=r(62),s=r(52),p=s("IE_PROTO"),l=function(){},v=function(t){return"<script>"+t+"<\/script>"},y=function(){try{e=document.domain&&new ActiveXObject("htmlfile")}catch(t){}var t,n;y=e?function(t){t.write(v("")),t.close();var n=t.parentWindow.Object;return t=null,n}(e):((n=a("iframe")).style.display="none",f.appendChild(n),n.src=String("javascript:"),(t=n.contentWindow.document).open(),t.write(v("document.F=Object")),t.close(),t.F);for(var r=u.length;r--;)delete y.prototype[u[r]];return y()};c[p]=!0,t.exports=Object.create||function(t,n){var r;return null!==t?(l.prototype=o(t),r=new l,l.prototype=null,r[p]=t):r=y(),void 0===n?r:i(r,n)}},,,,function(t,n,r){var e=r(78),o=r(53).concat("length","prototype");n.f=Object.getOwnPropertyNames||function(t){return e(t,o)}},,function(t,n,r){var e=r(24);t.exports=Array.isArray||function(t){return"Array"==e(t)}},function(t,n,r){var e=r(4),o=r(50),i=e["__core-js_shared__"]||o("__core-js_shared__",{});t.exports=i},function(t,n,r){var e=r(10),o=r(5),i=r(62);t.exports=!e&&!o((function(){return 7!=Object.defineProperty(i("div"),"a",{get:function(){return 7}}).a}))},function(t,n,r){"use strict";var e={}.propertyIsEnumerable,o=Object.getOwnPropertyDescriptor,i=o&&!e.call({1:2},1);n.f=i?function(t){var n=o(this,t);return!!n&&n.enumerable}:e},function(t,n,r){var e=r(9),o=r(20),i=r(96).indexOf,u=r(44);t.exports=function(t,n){var r,c=o(t),f=0,a=[];for(r in c)!e(u,r)&&e(c,r)&&a.push(r);for(;n.length>f;)e(c,r=n[f++])&&(~i(a,r)||a.push(r));return a}},,,,,,function(t,n){var r;r=function(){return this}();try{r=r||new Function("return this")()}catch(t){"object"==typeof window&&(r=window)}t.exports=r},function(t,n,r){var e=r(5),o=/#|\.prototype\./,i=function(t,n){var r=c[u(t)];return r==a||r!=f&&("function"==typeof n?e(n):!!n)},u=i.normalize=function(t){return String(t).replace(o,".").toLowerCase()},c=i.data={},f=i.NATIVE="N",a=i.POLYFILL="P";t.exports=i},function(t,n,r){var e=r(6),o=r(68),i=r(12),u=e("unscopables"),c=Array.prototype;null==c[u]&&i.f(c,u,{configurable:!0,value:o(null)}),t.exports=function(t){c[u][t]=!0}},,function(t,n){n.f=Object.getOwnPropertySymbols},,,,,,,,function(t,n,r){var e=r(20),o=r(21),i=r(105),u=function(t){return function(n,r,u){var c,f=e(n),a=o(f.length),s=i(u,a);if(t&&r!=r){for(;a>s;)if((c=f[s++])!=c)return!0}else for(;a>s;s++)if((t||s in f)&&f[s]===r)return t||s||0;return!t&&-1}};t.exports={includes:u(!0),indexOf:u(!1)}},,,,,function(t,n,r){var e=r(64);t.exports=e&&!Symbol.sham&&"symbol"==typeof Symbol.iterator},function(t,n,r){var e=r(9),o=r(103),i=r(45),u=r(12);t.exports=function(t,n){for(var r=o(n),c=u.f,f=i.f,a=0;a<r.length;a++){var s=r[a];e(t,s)||c(t,s,f(n,s))}}},function(t,n,r){var e=r(27),o=r(72),i=r(88),u=r(8);t.exports=e("Reflect","ownKeys")||function(t){var n=o.f(u(t)),r=i.f;return r?n.concat(r(t)):n}},function(t,n,r){var e=r(4);t.exports=e},function(t,n,r){var e=r(35),o=Math.max,i=Math.min;t.exports=function(t,n){var r=e(t);return r<0?o(r+n,0):i(r,n)}},function(t,n,r){var e=r(27);t.exports=e("document","documentElement")},function(t,n,r){var e=r(11),o=r(74),i=r(6)("species");t.exports=function(t,n){var r;return o(t)&&("function"!=typeof(r=t.constructor)||r!==Array&&!o(r.prototype)?e(r)&&null===(r=r[i])&&(r=void 0):r=void 0),new(void 0===r?Array:r)(0===n?0:n)}},,,,,,,function(t,n,r){var e=r(4),o=r(65),i=e.WeakMap;t.exports="function"==typeof i&&/native code/.test(o(i))},,,,function(t,n,r){var e=r(10),o=r(12),i=r(8),u=r(67);t.exports=e?Object.defineProperties:function(t,n){i(t);for(var r,e=u(n),c=e.length,f=0;c>f;)o.f(t,r=e[f++],n[r]);return t}},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(t,n,r){"use strict";r.r(n);var e;r(19);(e=jQuery)((function(){var t=null;e(".gfpdf_form_action_has_submenu > a").on("click",(function(){return"false"===e(this).attr("aria-expanded")?(e(this).parent().addClass("open"),e(this).attr("aria-expanded","true")):(e(this).parent().removeClass("open"),e(this).attr("aria-expanded","false")),!1})).parent().on("mouseover",(function(){clearTimeout(t),e(this).addClass("open").find("> a").attr("aria-expanded","true")})).on("mouseout",(function(){var n=e(this);t=setTimeout((function(){n.removeClass("open").find("> a").attr("aria-expanded","false")}),1e3)}))}))}]);
|
pdf.php
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?php
|
2 |
/*
|
3 |
Plugin Name: Gravity PDF
|
4 |
-
Version: 6.
|
5 |
Description: Automatically generate highly-customisable PDF documents using Gravity Forms.
|
6 |
Author: Gravity PDF
|
7 |
Author URI: https://gravitypdf.com
|
@@ -26,7 +26,7 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
26 |
/*
|
27 |
* Set base constants we'll use throughout the plugin
|
28 |
*/
|
29 |
-
define( 'PDF_EXTENDED_VERSION', '6.
|
30 |
define( 'PDF_PLUGIN_DIR', plugin_dir_path( __FILE__ ) ); /* plugin directory path */
|
31 |
define( 'PDF_PLUGIN_URL', plugin_dir_url( __FILE__ ) ); /* plugin directory url */
|
32 |
define( 'PDF_PLUGIN_BASENAME', plugin_basename( __FILE__ ) ); /* the plugin basename */
|
@@ -437,12 +437,12 @@ class GFPDF_Major_Compatibility_Checks {
|
|
437 |
<p><?php esc_html_e( 'The minimum requirements for Gravity PDF have not been met. Please fix the issue(s) below to use the plugin:', 'gravity-forms-pdf-extended' ); ?></p>
|
438 |
<ul style="padding-bottom: 0">
|
439 |
<?php foreach ( $this->notices as $notice ): ?>
|
440 |
-
<li style="padding-left: 20px;list-style: inside"><?php echo $notice; ?></li>
|
441 |
<?php endforeach; ?>
|
442 |
</ul>
|
443 |
|
444 |
<?php if ( $this->offer_downgrade && PDF_PLUGIN_BASENAME === 'gravity-forms-pdf-extended/pdf.php' ): ?>
|
445 |
-
<form method="post" action="
|
446 |
<?php wp_nonce_field( 'gpdf-downgrade' ); ?>
|
447 |
<p>
|
448 |
<?php esc_html_e( 'Not ready to upgrade? Try an earlier version of Gravity PDF', 'gravity-forms-pdf-extended' ); ?>
|
@@ -475,18 +475,18 @@ class GFPDF_Major_Compatibility_Checks {
|
|
475 |
*/
|
476 |
public function rollback() {
|
477 |
if ( ! check_admin_referer( 'gpdf-downgrade' ) || ! current_user_can( 'update_plugins' ) ) {
|
478 |
-
die(
|
479 |
}
|
480 |
|
481 |
$plugin = 'gravity-forms-pdf-extended';
|
482 |
$response = wp_remote_get( 'https://api.wordpress.org/plugins/info/1.0/' . $plugin . '.json' );
|
483 |
if ( wp_remote_retrieve_response_code( $response ) !== 200 ) {
|
484 |
-
die(
|
485 |
}
|
486 |
|
487 |
$body = json_decode( wp_remote_retrieve_body( $response ), true );
|
488 |
if ( empty( $body['versions'] ) ) {
|
489 |
-
die(
|
490 |
}
|
491 |
|
492 |
/* Get the first matching v5 tag and url (the latest) */
|
1 |
<?php
|
2 |
/*
|
3 |
Plugin Name: Gravity PDF
|
4 |
+
Version: 6.4.0-RC1
|
5 |
Description: Automatically generate highly-customisable PDF documents using Gravity Forms.
|
6 |
Author: Gravity PDF
|
7 |
Author URI: https://gravitypdf.com
|
26 |
/*
|
27 |
* Set base constants we'll use throughout the plugin
|
28 |
*/
|
29 |
+
define( 'PDF_EXTENDED_VERSION', '6.4.0-RC1' ); /* the current plugin version */
|
30 |
define( 'PDF_PLUGIN_DIR', plugin_dir_path( __FILE__ ) ); /* plugin directory path */
|
31 |
define( 'PDF_PLUGIN_URL', plugin_dir_url( __FILE__ ) ); /* plugin directory url */
|
32 |
define( 'PDF_PLUGIN_BASENAME', plugin_basename( __FILE__ ) ); /* the plugin basename */
|
437 |
<p><?php esc_html_e( 'The minimum requirements for Gravity PDF have not been met. Please fix the issue(s) below to use the plugin:', 'gravity-forms-pdf-extended' ); ?></p>
|
438 |
<ul style="padding-bottom: 0">
|
439 |
<?php foreach ( $this->notices as $notice ): ?>
|
440 |
+
<li style="padding-left: 20px;list-style: inside"><?php echo wp_kses_post( $notice ); ?></li>
|
441 |
<?php endforeach; ?>
|
442 |
</ul>
|
443 |
|
444 |
<?php if ( $this->offer_downgrade && PDF_PLUGIN_BASENAME === 'gravity-forms-pdf-extended/pdf.php' ): ?>
|
445 |
+
<form method="post" action="<?php echo esc_url( admin_url( 'index.php?page=gpdf-downgrade' ) ); ?>">
|
446 |
<?php wp_nonce_field( 'gpdf-downgrade' ); ?>
|
447 |
<p>
|
448 |
<?php esc_html_e( 'Not ready to upgrade? Try an earlier version of Gravity PDF', 'gravity-forms-pdf-extended' ); ?>
|
475 |
*/
|
476 |
public function rollback() {
|
477 |
if ( ! check_admin_referer( 'gpdf-downgrade' ) || ! current_user_can( 'update_plugins' ) ) {
|
478 |
+
die( esc_html__( 'The link you followed has expired.', 'default' ) );
|
479 |
}
|
480 |
|
481 |
$plugin = 'gravity-forms-pdf-extended';
|
482 |
$response = wp_remote_get( 'https://api.wordpress.org/plugins/info/1.0/' . $plugin . '.json' );
|
483 |
if ( wp_remote_retrieve_response_code( $response ) !== 200 ) {
|
484 |
+
die( esc_html__( 'Plugin downgrade failed.', 'default' ) );
|
485 |
}
|
486 |
|
487 |
$body = json_decode( wp_remote_retrieve_body( $response ), true );
|
488 |
if ( empty( $body['versions'] ) ) {
|
489 |
+
die( esc_html__( 'Plugin downgrade failed.', 'default' ) );
|
490 |
}
|
491 |
|
492 |
/* Get the first matching v5 tag and url (the latest) */
|
src/Controller/Controller_Custom_Fonts.php
CHANGED
@@ -222,7 +222,7 @@ class Controller_Custom_Fonts extends Helper_Abstract_Controller {
|
|
222 |
|
223 |
/* Ensure the regular font file has been uploaded (required field) */
|
224 |
if ( ! isset( $files['regular'] ) ) {
|
225 |
-
throw new UploadException(
|
226 |
}
|
227 |
|
228 |
$files = $this->move_fonts_to_font_dir( $files );
|
@@ -482,7 +482,7 @@ class Controller_Custom_Fonts extends Helper_Abstract_Controller {
|
|
482 |
}
|
483 |
|
484 |
if ( count( $errors ) > 0 ) {
|
485 |
-
throw new UploadException(
|
486 |
}
|
487 |
|
488 |
return $files;
|
@@ -551,7 +551,7 @@ class Controller_Custom_Fonts extends Helper_Abstract_Controller {
|
|
551 |
}
|
552 |
|
553 |
if ( count( $errors ) > 0 ) {
|
554 |
-
throw new GravityPdfFontNotFoundException(
|
555 |
}
|
556 |
|
557 |
return $supports_otl;
|
222 |
|
223 |
/* Ensure the regular font file has been uploaded (required field) */
|
224 |
if ( ! isset( $files['regular'] ) ) {
|
225 |
+
throw new UploadException( wp_json_encode( [ 'regular' => __( 'The Regular font is required', 'gravity-forms-pdf-extended' ) ] ) );
|
226 |
}
|
227 |
|
228 |
$files = $this->move_fonts_to_font_dir( $files );
|
482 |
}
|
483 |
|
484 |
if ( count( $errors ) > 0 ) {
|
485 |
+
throw new UploadException( wp_json_encode( $errors ) );
|
486 |
}
|
487 |
|
488 |
return $files;
|
551 |
}
|
552 |
|
553 |
if ( count( $errors ) > 0 ) {
|
554 |
+
throw new GravityPdfFontNotFoundException( wp_json_encode( $errors ) );
|
555 |
}
|
556 |
|
557 |
return $supports_otl;
|
src/Controller/Controller_Form_Settings.php
CHANGED
@@ -177,8 +177,10 @@ class Controller_Form_Settings extends Helper_Abstract_Controller implements Hel
|
|
177 |
* @since 4.0
|
178 |
*/
|
179 |
public function maybe_save_pdf_settings() {
|
180 |
-
|
181 |
-
$
|
|
|
|
|
182 |
|
183 |
/* Load the add/edit page */
|
184 |
if ( $pdf_id !== false && rgpost( 'gfpdf_save_pdf' ) ) {
|
@@ -195,9 +197,10 @@ class Controller_Form_Settings extends Helper_Abstract_Controller implements Hel
|
|
195 |
*/
|
196 |
public function display_page() {
|
197 |
|
198 |
-
/*
|
199 |
-
$form_id =
|
200 |
-
$pdf_id =
|
|
|
201 |
|
202 |
/* Load the add/edit page */
|
203 |
if ( $pdf_id !== false ) {
|
177 |
* @since 4.0
|
178 |
*/
|
179 |
public function maybe_save_pdf_settings() {
|
180 |
+
/* phpcs:disable WordPress.Security.NonceVerification.Recommended */
|
181 |
+
$form_id = isset( $_GET['id'] ) ? (int) $_GET['id'] : 0;
|
182 |
+
$pdf_id = isset( $_GET['pid'] ) ? $_GET['pid'] : false;
|
183 |
+
/* phpcs:enable */
|
184 |
|
185 |
/* Load the add/edit page */
|
186 |
if ( $pdf_id !== false && rgpost( 'gfpdf_save_pdf' ) ) {
|
197 |
*/
|
198 |
public function display_page() {
|
199 |
|
200 |
+
/* phpcs:disable WordPress.Security.NonceVerification.Recommended */
|
201 |
+
$form_id = isset( $_GET['id'] ) ? (int) $_GET['id'] : false;
|
202 |
+
$pdf_id = isset( $_GET['pid'] ) ? $_GET['pid'] : false;
|
203 |
+
/* phpcs:enable */
|
204 |
|
205 |
/* Load the add/edit page */
|
206 |
if ( $pdf_id !== false ) {
|
src/Controller/Controller_Mergetags.php
CHANGED
@@ -64,5 +64,6 @@ class Controller_Mergetags extends Helper_Abstract_Controller implements Helper_
|
|
64 |
|
65 |
add_filter( 'gform_field_map_choices', [ $this->model, 'add_field_map_choices' ], 10, 4 );
|
66 |
add_filter( 'gform_addon_field_value', [ $this->model, 'process_field_value' ], 10, 4 );
|
|
|
67 |
}
|
68 |
}
|
64 |
|
65 |
add_filter( 'gform_field_map_choices', [ $this->model, 'add_field_map_choices' ], 10, 4 );
|
66 |
add_filter( 'gform_addon_field_value', [ $this->model, 'process_field_value' ], 10, 4 );
|
67 |
+
add_filter( 'gform_mailchimp_field_value', [ $this->model, 'process_field_value_mailchimp' ], 10, 4 );
|
68 |
}
|
69 |
}
|
src/Controller/Controller_PDF.php
CHANGED
@@ -258,7 +258,7 @@ class Controller_PDF extends Helper_Abstract_Controller implements Helper_Interf
|
|
258 |
*/
|
259 |
public function process_legacy_pdf_endpoint() {
|
260 |
|
261 |
-
/*
|
262 |
if ( empty( $_GET['gf_pdf'] ) || empty( $_GET['fid'] ) || empty( $_GET['lid'] ) || empty( $_GET['template'] ) ) {
|
263 |
return null;
|
264 |
}
|
@@ -272,6 +272,7 @@ class Controller_PDF extends Helper_Abstract_Controller implements Helper_Interf
|
|
272 |
'template' => substr( $_GET['template'], 0, -4 ), /* strip .php from the template name */
|
273 |
'action' => ( isset( $_GET['download'] ) ) ? 'download' : 'view',
|
274 |
];
|
|
|
275 |
|
276 |
$this->log->notice(
|
277 |
'Processing Legacy PDF endpoint.',
|
@@ -369,7 +370,7 @@ class Controller_PDF extends Helper_Abstract_Controller implements Helper_Interf
|
|
369 |
/* only display detailed error to admins */
|
370 |
$whitelist_errors = [ 'timeout_expired', 'access_denied' ];
|
371 |
if ( $this->gform->has_capability( 'gravityforms_view_settings' ) || in_array( $error->get_error_code(), $whitelist_errors, true ) ) {
|
372 |
-
wp_die( $error->get_error_message() );
|
373 |
} else {
|
374 |
wp_die( esc_html__( 'There was a problem generating your PDF', 'gravity-forms-pdf-extended' ) );
|
375 |
}
|
258 |
*/
|
259 |
public function process_legacy_pdf_endpoint() {
|
260 |
|
261 |
+
/* phpcs:disable WordPress.Security.NonceVerification.Recommended */
|
262 |
if ( empty( $_GET['gf_pdf'] ) || empty( $_GET['fid'] ) || empty( $_GET['lid'] ) || empty( $_GET['template'] ) ) {
|
263 |
return null;
|
264 |
}
|
272 |
'template' => substr( $_GET['template'], 0, -4 ), /* strip .php from the template name */
|
273 |
'action' => ( isset( $_GET['download'] ) ) ? 'download' : 'view',
|
274 |
];
|
275 |
+
/* phpcs:enable */
|
276 |
|
277 |
$this->log->notice(
|
278 |
'Processing Legacy PDF endpoint.',
|
370 |
/* only display detailed error to admins */
|
371 |
$whitelist_errors = [ 'timeout_expired', 'access_denied' ];
|
372 |
if ( $this->gform->has_capability( 'gravityforms_view_settings' ) || in_array( $error->get_error_code(), $whitelist_errors, true ) ) {
|
373 |
+
wp_die( esc_html( $error->get_error_message() ) );
|
374 |
} else {
|
375 |
wp_die( esc_html__( 'There was a problem generating your PDF', 'gravity-forms-pdf-extended' ) );
|
376 |
}
|
src/Controller/Controller_Save_Core_Fonts.php
CHANGED
@@ -114,13 +114,13 @@ class Controller_Save_Core_Fonts extends Helper_Abstract_Controller implements H
|
|
114 |
/* User / CORS validation */
|
115 |
$this->misc->handle_ajax_authentication( 'Save Core Font', 'gravityforms_edit_settings' );
|
116 |
|
117 |
-
/*
|
118 |
-
$fontname =
|
119 |
$results = $this->download_and_save_font( $fontname );
|
120 |
|
121 |
/* Return results */
|
122 |
header( 'Content-Type: application/json' );
|
123 |
-
echo
|
124 |
wp_die();
|
125 |
}
|
126 |
|
@@ -135,13 +135,48 @@ class Controller_Save_Core_Fonts extends Helper_Abstract_Controller implements H
|
|
135 |
*/
|
136 |
protected function download_and_save_font( $fontname ) {
|
137 |
|
138 |
-
/*
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
139 |
$res = wp_remote_get(
|
140 |
-
$
|
141 |
[
|
142 |
'timeout' => 60,
|
143 |
'stream' => true,
|
144 |
-
'filename' => $this->data->template_font_location . $
|
145 |
]
|
146 |
);
|
147 |
|
114 |
/* User / CORS validation */
|
115 |
$this->misc->handle_ajax_authentication( 'Save Core Font', 'gravityforms_edit_settings' );
|
116 |
|
117 |
+
/* phpcs:ignore WordPress.Security.NonceVerification */
|
118 |
+
$fontname = $_POST['font_name'] ?? '';
|
119 |
$results = $this->download_and_save_font( $fontname );
|
120 |
|
121 |
/* Return results */
|
122 |
header( 'Content-Type: application/json' );
|
123 |
+
echo wp_json_encode( $results );
|
124 |
wp_die();
|
125 |
}
|
126 |
|
135 |
*/
|
136 |
protected function download_and_save_font( $fontname ) {
|
137 |
|
138 |
+
/* Verify the font name provided is approved */
|
139 |
+
$core_font_list = wp_json_file_decode( __DIR__ . '/../../dist/payload/core-fonts.json', [ 'associative' => true ] );
|
140 |
+
if ( $core_font_list === null ) {
|
141 |
+
$this->log->error( 'Core font list could not be loaded' );
|
142 |
+
|
143 |
+
return false;
|
144 |
+
}
|
145 |
+
|
146 |
+
/* Look for a file in the font list with a matching name */
|
147 |
+
$matching_fonts = array_filter(
|
148 |
+
$core_font_list,
|
149 |
+
function( $item ) use ( $fontname ) {
|
150 |
+
return $item['name'] === $fontname;
|
151 |
+
}
|
152 |
+
);
|
153 |
+
|
154 |
+
$matching_fonts = array_values( $matching_fonts );
|
155 |
+
|
156 |
+
if ( ! isset( $matching_fonts[0] ) ) {
|
157 |
+
$this->log->error(
|
158 |
+
'Core Font not on the approved list',
|
159 |
+
[
|
160 |
+
'name' => $fontname,
|
161 |
+
]
|
162 |
+
);
|
163 |
+
|
164 |
+
return false;
|
165 |
+
}
|
166 |
+
|
167 |
+
/* Extra check to verify the download URL points to the correct repo */
|
168 |
+
if ( strpos( $matching_fonts[0]['download_url'], $this->github_repo ) !== 0 ) {
|
169 |
+
$this->log->error( 'Core font list is corrupted' );
|
170 |
+
|
171 |
+
return false;
|
172 |
+
}
|
173 |
+
|
174 |
$res = wp_remote_get(
|
175 |
+
$matching_fonts[0]['download_url'],
|
176 |
[
|
177 |
'timeout' => 60,
|
178 |
'stream' => true,
|
179 |
+
'filename' => $this->data->template_font_location . $matching_fonts[0]['name'],
|
180 |
]
|
181 |
);
|
182 |
|
src/Controller/Controller_Settings.php
CHANGED
@@ -150,6 +150,9 @@ class Controller_Settings extends Helper_Abstract_Controller implements Helper_I
|
|
150 |
*/
|
151 |
public function add_actions() {
|
152 |
|
|
|
|
|
|
|
153 |
/**
|
154 |
* Display the uninstaller if use has the correct permissions
|
155 |
*
|
@@ -208,7 +211,8 @@ class Controller_Settings extends Helper_Abstract_Controller implements Helper_I
|
|
208 |
*/
|
209 |
public function display_page() {
|
210 |
|
211 |
-
|
|
|
212 |
|
213 |
switch ( $page ) {
|
214 |
case 'general':
|
150 |
*/
|
151 |
public function add_actions() {
|
152 |
|
153 |
+
/* Add submenu via a hook */
|
154 |
+
add_action( 'gfpdf_settings_sub_menu', [ $this->view, 'sub_menu' ] );
|
155 |
+
|
156 |
/**
|
157 |
* Display the uninstaller if use has the correct permissions
|
158 |
*
|
211 |
*/
|
212 |
public function display_page() {
|
213 |
|
214 |
+
/* phpcs:ignore WordPress.Security.NonceVerification.Recommended */
|
215 |
+
$page = $_GET['tab'] ?? 'general';
|
216 |
|
217 |
switch ( $page ) {
|
218 |
case 'general':
|
src/Controller/Controller_Uninstaller.php
CHANGED
@@ -73,7 +73,7 @@ class Controller_Uninstaller extends Helper_Abstract_Controller {
|
|
73 |
*/
|
74 |
public function init() {
|
75 |
if ( is_admin() && rgget( 'page' ) === 'gf_settings' && rgget( 'subview' ) === 'uninstall' ) {
|
76 |
-
\GFAddOn::register(
|
77 |
}
|
78 |
}
|
79 |
|
73 |
*/
|
74 |
public function init() {
|
75 |
if ( is_admin() && rgget( 'page' ) === 'gf_settings' && rgget( 'subview' ) === 'uninstall' ) {
|
76 |
+
\GFAddOn::register( __CLASS__ );
|
77 |
}
|
78 |
}
|
79 |
|
src/Helper/Fields/Field_Checkbox.php
CHANGED
@@ -8,6 +8,7 @@ use GFCommon;
|
|
8 |
use GFPDF\Helper\Helper_Abstract_Fields;
|
9 |
use GFPDF\Helper\Helper_Abstract_Form;
|
10 |
use GFPDF\Helper\Helper_Misc;
|
|
|
11 |
|
12 |
/**
|
13 |
* @package Gravity PDF
|
@@ -150,10 +151,10 @@ class Field_Checkbox extends Helper_Abstract_Fields {
|
|
150 |
|
151 |
foreach ( $value as $key => $item ) {
|
152 |
$label = esc_html( GFCommon::selection_display( $item, $this->field, '', true ) );
|
153 |
-
$label =
|
154 |
|
155 |
$value = esc_html( GFCommon::selection_display( $item, $this->field ) );
|
156 |
-
$value =
|
157 |
|
158 |
$items[] = [
|
159 |
'value' => $value,
|
8 |
use GFPDF\Helper\Helper_Abstract_Fields;
|
9 |
use GFPDF\Helper\Helper_Abstract_Form;
|
10 |
use GFPDF\Helper\Helper_Misc;
|
11 |
+
use GFPDF\Statics\Kses;
|
12 |
|
13 |
/**
|
14 |
* @package Gravity PDF
|
151 |
|
152 |
foreach ( $value as $key => $item ) {
|
153 |
$label = esc_html( GFCommon::selection_display( $item, $this->field, '', true ) );
|
154 |
+
$label = Kses::parse( $this->gform->process_tags( wp_specialchars_decode( $label, ENT_QUOTES ), $this->form, $this->entry ) );
|
155 |
|
156 |
$value = esc_html( GFCommon::selection_display( $item, $this->field ) );
|
157 |
+
$value = Kses::parse( $this->gform->process_tags( wp_specialchars_decode( $value, ENT_QUOTES ), $this->form, $this->entry ) );
|
158 |
|
159 |
$items[] = [
|
160 |
'value' => $value,
|
src/Helper/Fields/Field_Consent.php
CHANGED
@@ -7,6 +7,7 @@ use GF_Field_Consent;
|
|
7 |
use GFPDF\Helper\Helper_Abstract_Fields;
|
8 |
use GFPDF\Helper\Helper_Abstract_Form;
|
9 |
use GFPDF\Helper\Helper_Misc;
|
|
|
10 |
|
11 |
/**
|
12 |
* @package Gravity PDF
|
@@ -93,8 +94,8 @@ class Field_Consent extends Helper_Abstract_Fields {
|
|
93 |
|
94 |
$consent = [
|
95 |
'value' => $value[0],
|
96 |
-
'label' =>
|
97 |
-
'description' =>
|
98 |
wpautop(
|
99 |
$this->gform->process_tags( $this->field->get_field_description_from_revision( $value[2] ), $this->form, $this->entry )
|
100 |
)
|
7 |
use GFPDF\Helper\Helper_Abstract_Fields;
|
8 |
use GFPDF\Helper\Helper_Abstract_Form;
|
9 |
use GFPDF\Helper\Helper_Misc;
|
10 |
+
use GFPDF\Statics\Kses;
|
11 |
|
12 |
/**
|
13 |
* @package Gravity PDF
|
94 |
|
95 |
$consent = [
|
96 |
'value' => $value[0],
|
97 |
+
'label' => Kses::parse( $this->gform->process_tags( $value[1], $this->form, $this->entry ) ),
|
98 |
+
'description' => Kses::parse(
|
99 |
wpautop(
|
100 |
$this->gform->process_tags( $this->field->get_field_description_from_revision( $value[2] ), $this->form, $this->entry )
|
101 |
)
|
src/Helper/Fields/Field_Email.php
CHANGED
@@ -62,7 +62,7 @@ class Field_Email extends Helper_Abstract_Fields {
|
|
62 |
public function html( $value = '', $label = true ) {
|
63 |
$value = $this->value();
|
64 |
|
65 |
-
$output =
|
66 |
|
67 |
return parent::html( $output );
|
68 |
}
|
62 |
public function html( $value = '', $label = true ) {
|
63 |
$value = $this->value();
|
64 |
|
65 |
+
$output = is_email( $value ) ? '<a href="mailto:' . esc_attr( $value ) . '">' . esc_html( $value ) . '</a>' : esc_html( $value );
|
66 |
|
67 |
return parent::html( $output );
|
68 |
}
|
src/Helper/Fields/Field_Fileupload.php
CHANGED
@@ -107,7 +107,7 @@ class Field_Fileupload extends Helper_Abstract_Fields {
|
|
107 |
|
108 |
foreach ( $files as $file ) {
|
109 |
$file_info = pathinfo( $file );
|
110 |
-
$html .= '<li id="field-' . $this->field->id . '-option-' . $i . '"><a href="' . esc_url( $file ) . '">' . esc_html( $file_info['basename'] ) . '</a></li>';
|
111 |
$i++;
|
112 |
}
|
113 |
|
107 |
|
108 |
foreach ( $files as $file ) {
|
109 |
$file_info = pathinfo( $file );
|
110 |
+
$html .= '<li id="' . esc_attr( 'field-' . $this->field->id . '-option-' . $i ) . '"><a href="' . esc_url( $file ) . '">' . esc_html( $file_info['basename'] ) . '</a></li>';
|
111 |
$i++;
|
112 |
}
|
113 |
|
src/Helper/Fields/Field_Form.php
CHANGED
@@ -68,7 +68,7 @@ class Field_Form extends Helper_Abstract_Fields {
|
|
68 |
/* Get the Nested Form */
|
69 |
$form = $this->gform->get_form( $this->field->gpnfForm );
|
70 |
if ( is_wp_error( $form ) ) {
|
71 |
-
return parent::html(
|
72 |
}
|
73 |
|
74 |
$html = '';
|
@@ -108,16 +108,27 @@ class Field_Form extends Helper_Abstract_Fields {
|
|
108 |
$pdf_model = GPDFAPI::get_mvc_class( 'Model_PDF' );
|
109 |
$products = new Field_Products( new GF_Field(), $entry, $this->gform, $this->misc );
|
110 |
|
|
|
|
|
|
|
|
|
|
|
|
|
111 |
/* Loop through the Repeater fields */
|
112 |
foreach ( $form['fields'] as $field ) {
|
113 |
/* Output a field using the standard method if not empty */
|
114 |
$class = $pdf_model->get_field_class( $field, $form, $entry, $products );
|
115 |
if ( ! $class->is_empty() && strpos( $field->cssClass, 'exclude' ) === false ) {
|
116 |
$container->generate( $field );
|
117 |
-
|
118 |
}
|
119 |
}
|
120 |
|
|
|
|
|
|
|
|
|
|
|
121 |
$container->close( $field );
|
122 |
|
123 |
return $this->gform->process_tags( ob_get_clean(), $form, $entry );
|
68 |
/* Get the Nested Form */
|
69 |
$form = $this->gform->get_form( $this->field->gpnfForm );
|
70 |
if ( is_wp_error( $form ) ) {
|
71 |
+
return parent::html();
|
72 |
}
|
73 |
|
74 |
$html = '';
|
108 |
$pdf_model = GPDFAPI::get_mvc_class( 'Model_PDF' );
|
109 |
$products = new Field_Products( new GF_Field(), $entry, $this->gform, $this->misc );
|
110 |
|
111 |
+
/* Ensure the field outputs the HTML and can be reset to the original value */
|
112 |
+
$output_already_enabled = $this->get_output();
|
113 |
+
if ( ! $output_already_enabled ) {
|
114 |
+
$this->enable_output();
|
115 |
+
}
|
116 |
+
|
117 |
/* Loop through the Repeater fields */
|
118 |
foreach ( $form['fields'] as $field ) {
|
119 |
/* Output a field using the standard method if not empty */
|
120 |
$class = $pdf_model->get_field_class( $field, $form, $entry, $products );
|
121 |
if ( ! $class->is_empty() && strpos( $field->cssClass, 'exclude' ) === false ) {
|
122 |
$container->generate( $field );
|
123 |
+
$class->html();
|
124 |
}
|
125 |
}
|
126 |
|
127 |
+
/* If output wasn't enabled by default, disable again */
|
128 |
+
if ( ! $output_already_enabled ) {
|
129 |
+
$this->disable_output();
|
130 |
+
}
|
131 |
+
|
132 |
$container->close( $field );
|
133 |
|
134 |
return $this->gform->process_tags( ob_get_clean(), $form, $entry );
|
src/Helper/Fields/Field_Html.php
CHANGED
@@ -7,6 +7,7 @@ use GF_Field_HTML;
|
|
7 |
use GFPDF\Helper\Helper_Abstract_Fields;
|
8 |
use GFPDF\Helper\Helper_Abstract_Form;
|
9 |
use GFPDF\Helper\Helper_Misc;
|
|
|
10 |
|
11 |
/**
|
12 |
* @package Gravity PDF
|
@@ -95,7 +96,7 @@ class Field_Html extends Helper_Abstract_Fields {
|
|
95 |
return $this->cache();
|
96 |
}
|
97 |
|
98 |
-
$value =
|
99 |
$this->gform->process_tags( $this->field->content, $this->form, $this->entry )
|
100 |
) : '';
|
101 |
|
7 |
use GFPDF\Helper\Helper_Abstract_Fields;
|
8 |
use GFPDF\Helper\Helper_Abstract_Form;
|
9 |
use GFPDF\Helper\Helper_Misc;
|
10 |
+
use GFPDF\Statics\Kses;
|
11 |
|
12 |
/**
|
13 |
* @package Gravity PDF
|
96 |
return $this->cache();
|
97 |
}
|
98 |
|
99 |
+
$value = isset( $this->field->content ) ? Kses::parse(
|
100 |
$this->gform->process_tags( $this->field->content, $this->form, $this->entry )
|
101 |
) : '';
|
102 |
|
src/Helper/Fields/Field_List.php
CHANGED
@@ -58,9 +58,16 @@ class Field_List extends Helper_Abstract_Fields {
|
|
58 |
*/
|
59 |
public function form_data() {
|
60 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
61 |
$data = [];
|
62 |
$label = $this->get_label();
|
63 |
-
$html = $this->html();
|
64 |
|
65 |
/* Add our List array */
|
66 |
$list_array = $this->value();
|
@@ -112,7 +119,7 @@ class Field_List extends Helper_Abstract_Fields {
|
|
112 |
<tr>
|
113 |
<?php foreach ( $columns as $column ) : ?>
|
114 |
<th>
|
115 |
-
|
116 |
</th>
|
117 |
<?php endforeach; ?>
|
118 |
</tr>
|
@@ -125,14 +132,14 @@ class Field_List extends Helper_Abstract_Fields {
|
|
125 |
<tr>
|
126 |
<!-- handle the basic list -->
|
127 |
<?php if ( ! $columns ) : ?>
|
128 |
-
<td
|
129 |
<?php
|
130 |
else :
|
131 |
?>
|
132 |
<!-- handle the advanced list -->
|
133 |
<?php foreach ( $columns as $column ) : ?>
|
134 |
<td>
|
135 |
-
|
136 |
</td>
|
137 |
<?php endforeach; ?>
|
138 |
<?php endif; ?>
|
58 |
*/
|
59 |
public function form_data() {
|
60 |
|
61 |
+
if ( $this->get_output() ) {
|
62 |
+
$this->disable_output();
|
63 |
+
$html = $this->html();
|
64 |
+
$this->enable_output();
|
65 |
+
} else {
|
66 |
+
$html = $this->html();
|
67 |
+
}
|
68 |
+
|
69 |
$data = [];
|
70 |
$label = $this->get_label();
|
|
|
71 |
|
72 |
/* Add our List array */
|
73 |
$list_array = $this->value();
|
119 |
<tr>
|
120 |
<?php foreach ( $columns as $column ) : ?>
|
121 |
<th>
|
122 |
+
<?php echo esc_html( $column ); ?>
|
123 |
</th>
|
124 |
<?php endforeach; ?>
|
125 |
</tr>
|
132 |
<tr>
|
133 |
<!-- handle the basic list -->
|
134 |
<?php if ( ! $columns ) : ?>
|
135 |
+
<td><?php echo esc_html( $item ); ?></td>
|
136 |
<?php
|
137 |
else :
|
138 |
?>
|
139 |
<!-- handle the advanced list -->
|
140 |
<?php foreach ( $columns as $column ) : ?>
|
141 |
<td>
|
142 |
+
<?php echo esc_html( rgar( $item, $column ) ); ?>
|
143 |
</td>
|
144 |
<?php endforeach; ?>
|
145 |
<?php endif; ?>
|
src/Helper/Fields/Field_Multiselect.php
CHANGED
@@ -8,6 +8,7 @@ use GFCommon;
|
|
8 |
use GFPDF\Helper\Helper_Abstract_Fields;
|
9 |
use GFPDF\Helper\Helper_Abstract_Form;
|
10 |
use GFPDF\Helper\Helper_Misc;
|
|
|
11 |
|
12 |
/**
|
13 |
* @package Gravity PDF
|
@@ -112,10 +113,9 @@ class Field_Multiselect extends Helper_Abstract_Fields {
|
|
112 |
$html = '<ul class="bulleted multiselect">';
|
113 |
|
114 |
foreach ( $items as $item ) {
|
115 |
-
$
|
116 |
-
$sanitized_option = ( $value ) ? $sanitized_value : $item['label'];
|
117 |
|
118 |
-
$html .= '<li id="field-' . $this->field->id . '-option-' . $i . '">' . $
|
119 |
$i++;
|
120 |
}
|
121 |
|
8 |
use GFPDF\Helper\Helper_Abstract_Fields;
|
9 |
use GFPDF\Helper\Helper_Abstract_Form;
|
10 |
use GFPDF\Helper\Helper_Misc;
|
11 |
+
use GFPDF\Statics\Kses;
|
12 |
|
13 |
/**
|
14 |
* @package Gravity PDF
|
113 |
$html = '<ul class="bulleted multiselect">';
|
114 |
|
115 |
foreach ( $items as $item ) {
|
116 |
+
$option = $value ? $item['value'] : $item['label'];
|
|
|
117 |
|
118 |
+
$html .= '<li id="' . esc_attr( 'field-' . $this->field->id . '-option-' . $i ) . '">' . Kses::parse( $option ) . '</li>';
|
119 |
$i++;
|
120 |
}
|
121 |
|
src/Helper/Fields/Field_Post_Content.php
CHANGED
@@ -7,6 +7,7 @@ use GF_Field_Post_Content;
|
|
7 |
use GFPDF\Helper\Helper_Abstract_Fields;
|
8 |
use GFPDF\Helper\Helper_Abstract_Form;
|
9 |
use GFPDF\Helper\Helper_Misc;
|
|
|
10 |
|
11 |
/**
|
12 |
* @package Gravity PDF
|
@@ -80,7 +81,7 @@ class Field_Post_Content extends Helper_Abstract_Fields {
|
|
80 |
$value = $this->get_value();
|
81 |
|
82 |
if ( isset( $this->field->useRichTextEditor ) && true === $this->field->useRichTextEditor ) {
|
83 |
-
$html =
|
84 |
$this->gform->process_tags( $value, $this->form, $this->entry )
|
85 |
);
|
86 |
} else {
|
7 |
use GFPDF\Helper\Helper_Abstract_Fields;
|
8 |
use GFPDF\Helper\Helper_Abstract_Form;
|
9 |
use GFPDF\Helper\Helper_Misc;
|
10 |
+
use GFPDF\Statics\Kses;
|
11 |
|
12 |
/**
|
13 |
* @package Gravity PDF
|
81 |
$value = $this->get_value();
|
82 |
|
83 |
if ( isset( $this->field->useRichTextEditor ) && true === $this->field->useRichTextEditor ) {
|
84 |
+
$html = Kses::parse(
|
85 |
$this->gform->process_tags( $value, $this->form, $this->entry )
|
86 |
);
|
87 |
} else {
|
src/Helper/Fields/Field_Post_Image.php
CHANGED
@@ -64,21 +64,21 @@ class Field_Post_Image extends Helper_Abstract_Fields {
|
|
64 |
|
65 |
$html = '';
|
66 |
if ( ! empty( $value['url'] ) ) {
|
67 |
-
$html = '<a href="' . $value['url'] . '" target="_blank">';
|
68 |
-
$html .= '<img width="150" src="' . $value['url'] . '" />';
|
69 |
}
|
70 |
|
71 |
/* Include title / caption / description if needed */
|
72 |
if ( ! empty( $value['title'] ) ) {
|
73 |
-
$html .= '<div class="gfpdf-post-image-title">' . $value['title'] . '</div>';
|
74 |
}
|
75 |
|
76 |
if ( ! empty( $value['caption'] ) ) {
|
77 |
-
$html .= '<div class="gfpdf-post-image-caption">' . $value['caption'] . '</div>';
|
78 |
}
|
79 |
|
80 |
if ( ! empty( $value['description'] ) ) {
|
81 |
-
$html .= '<div class="gfpdf-post-image-description">' . $value['description'] . '</div>';
|
82 |
}
|
83 |
|
84 |
$html .= '</a>';
|
64 |
|
65 |
$html = '';
|
66 |
if ( ! empty( $value['url'] ) ) {
|
67 |
+
$html = '<a href="' . esc_url( $value['url'] ) . '" target="_blank">';
|
68 |
+
$html .= '<img width="150" src="' . esc_url( $value['url'] ) . '" />';
|
69 |
}
|
70 |
|
71 |
/* Include title / caption / description if needed */
|
72 |
if ( ! empty( $value['title'] ) ) {
|
73 |
+
$html .= '<div class="gfpdf-post-image-title">' . esc_html( $value['title'] ) . '</div>';
|
74 |
}
|
75 |
|
76 |
if ( ! empty( $value['caption'] ) ) {
|
77 |
+
$html .= '<div class="gfpdf-post-image-caption">' . esc_html( $value['caption'] ) . '</div>';
|
78 |
}
|
79 |
|
80 |
if ( ! empty( $value['description'] ) ) {
|
81 |
+
$html .= '<div class="gfpdf-post-image-description">' . esc_html( $value['description'] ) . '</div>';
|
82 |
}
|
83 |
|
84 |
$html .= '</a>';
|
src/Helper/Fields/Field_Product.php
CHANGED
@@ -3,6 +3,7 @@
|
|
3 |
namespace GFPDF\Helper\Fields;
|
4 |
|
5 |
use GFPDF\Helper\Helper_Abstract_Field_Products;
|
|
|
6 |
|
7 |
/**
|
8 |
* @package Gravity PDF
|
@@ -34,7 +35,7 @@ class Field_Product extends Helper_Abstract_Field_Products {
|
|
34 |
$name = ( isset( $value['name'] ) && isset( $value['price'] ) ) ? $value['name'] . " ({$value['price']})" : '';
|
35 |
$name = esc_html( $name );
|
36 |
|
37 |
-
$price =
|
38 |
$price = esc_html( $price );
|
39 |
|
40 |
return $this->set_form_data( $name, $price );
|
@@ -59,13 +60,13 @@ class Field_Product extends Helper_Abstract_Field_Products {
|
|
59 |
|
60 |
if ( isset( $value['price'] ) ) {
|
61 |
if ( in_array( $this->field->get_input_type(), [ 'radio', 'select' ], true ) ) {
|
62 |
-
$html .= $value['name'] . ' - ' . $value['price'];
|
63 |
} else {
|
64 |
-
$html .= $value['price'];
|
65 |
}
|
66 |
}
|
67 |
|
68 |
-
return parent::html(
|
69 |
}
|
70 |
|
71 |
/**
|
3 |
namespace GFPDF\Helper\Fields;
|
4 |
|
5 |
use GFPDF\Helper\Helper_Abstract_Field_Products;
|
6 |
+
use GFPDF\Statics\Kses;
|
7 |
|
8 |
/**
|
9 |
* @package Gravity PDF
|
35 |
$name = ( isset( $value['name'] ) && isset( $value['price'] ) ) ? $value['name'] . " ({$value['price']})" : '';
|
36 |
$name = esc_html( $name );
|
37 |
|
38 |
+
$price = $value['price_unformatted'] ?? '';
|
39 |
$price = esc_html( $price );
|
40 |
|
41 |
return $this->set_form_data( $name, $price );
|
60 |
|
61 |
if ( isset( $value['price'] ) ) {
|
62 |
if ( in_array( $this->field->get_input_type(), [ 'radio', 'select' ], true ) ) {
|
63 |
+
$html .= Kses::parse( $value['name'] . ' - ' . $value['price'] );
|
64 |
} else {
|
65 |
+
$html .= esc_html( $value['price'] );
|
66 |
}
|
67 |
}
|
68 |
|
69 |
+
return parent::html( $html );
|
70 |
}
|
71 |
|
72 |
/**
|
src/Helper/Fields/Field_Products.php
CHANGED
@@ -18,7 +18,7 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
18 |
}
|
19 |
|
20 |
/* Include any dependencies */
|
21 |
-
require_once
|
22 |
|
23 |
/**
|
24 |
* Controls the display and output of a Gravity Form field
|
@@ -89,10 +89,10 @@ class Field_Products extends Helper_Abstract_Fields {
|
|
89 |
<div class="row-separator products-title-container">
|
90 |
<h3 class="product-field-title gfpdf-field">
|
91 |
<?php
|
92 |
-
$label = apply_filters( 'gform_order_label',
|
93 |
$label = apply_filters( 'gform_order_label_' . $form_id, $label, $form_id );
|
94 |
|
95 |
-
echo $label;
|
96 |
?>
|
97 |
</h3>
|
98 |
</div>
|
@@ -105,35 +105,35 @@ class Field_Products extends Helper_Abstract_Fields {
|
|
105 |
<tr>
|
106 |
<th class="entry-products-col1">
|
107 |
<?php
|
108 |
-
$label = apply_filters( 'gform_product',
|
109 |
$label = apply_filters( 'gform_product_' . $form_id, $label, $form_id );
|
110 |
|
111 |
-
echo $label;
|
112 |
?>
|
113 |
</th>
|
114 |
|
115 |
<th class="textcenter entry-products-col2">
|
116 |
<?php
|
117 |
-
$label = apply_filters( 'gform_product_qty',
|
118 |
$label = apply_filters( 'gform_product_qty_' . $form_id, $label, $form_id );
|
119 |
|
120 |
-
echo $label;
|
121 |
?>
|
122 |
</th>
|
123 |
<th class="entry-products-col3">
|
124 |
<?php
|
125 |
-
$label = apply_filters( 'gform_product_unitprice',
|
126 |
$label = apply_filters( 'gform_product_unitprice_' . $form_id, $label, $form_id );
|
127 |
|
128 |
-
echo $label;
|
129 |
?>
|
130 |
</th>
|
131 |
<th class="entry-products-col4">
|
132 |
<?php
|
133 |
-
$label = apply_filters( 'gform_product_price',
|
134 |
$label = apply_filters( 'gform_product_price_' . $form_id, $label, $form_id );
|
135 |
|
136 |
-
echo $label;
|
137 |
?>
|
138 |
</th>
|
139 |
</tr>
|
@@ -151,7 +151,7 @@ class Field_Products extends Helper_Abstract_Fields {
|
|
151 |
<tr>
|
152 |
<td>
|
153 |
<div class="product_name">
|
154 |
-
|
155 |
</div>
|
156 |
|
157 |
<?php
|
@@ -164,14 +164,14 @@ class Field_Products extends Helper_Abstract_Fields {
|
|
164 |
foreach ( $product['options'] as $option ) :
|
165 |
$price += $option['price'];
|
166 |
?>
|
167 |
-
<li
|
168 |
<?php endforeach; ?>
|
169 |
</ul>
|
170 |
<?php endif; ?>
|
171 |
</td>
|
172 |
-
<td class="textcenter"
|
173 |
-
<td class="textright"
|
174 |
-
<td class="textright"
|
175 |
</tr>
|
176 |
<?php endforeach; ?>
|
177 |
|
@@ -192,14 +192,14 @@ class Field_Products extends Helper_Abstract_Fields {
|
|
192 |
<?php if ( $index === 0 ): ?>
|
193 |
<td class="emptycell"
|
194 |
colspan="2"
|
195 |
-
rowspan="
|
196 |
<?php endif; ?>
|
197 |
-
<td class="totals" style="<?php $gpecommerce->style( ".order-summary/tfoot/{$class}/td.column-3" ); ?>">
|
198 |
-
|
199 |
</td>
|
200 |
|
201 |
-
<td class="totals" style="<?php $gpecommerce->style( ".order-summary/tfoot/{$class}/td.column-4" ); ?>">
|
202 |
-
|
203 |
</td>
|
204 |
</tr>
|
205 |
<?php endforeach; ?>
|
@@ -210,12 +210,12 @@ class Field_Products extends Helper_Abstract_Fields {
|
|
210 |
<td rowspan="3" class="emptycell"></td>
|
211 |
<td colspan="2"
|
212 |
class="subtotal totals"><?php esc_html_e( 'Subtotal', 'gravity-forms-pdf-extended' ); ?></td>
|
213 |
-
<td class="subtotal_amount totals"
|
214 |
</tr>
|
215 |
<tr>
|
216 |
<td colspan="2"
|
217 |
-
class="shipping totals"
|
218 |
-
<td class="shipping_amount totals"
|
219 |
</tr>
|
220 |
<?php endif; ?>
|
221 |
|
@@ -226,7 +226,7 @@ class Field_Products extends Helper_Abstract_Fields {
|
|
226 |
|
227 |
<td colspan="2"
|
228 |
class="grandtotal totals"><?php esc_html_e( 'Total', 'gravityforms' ); ?></td>
|
229 |
-
<td class="grandtotal_amount totals"
|
230 |
</tr>
|
231 |
|
232 |
<?php endif; ?>
|
@@ -238,7 +238,14 @@ class Field_Products extends Helper_Abstract_Fields {
|
|
238 |
|
239 |
<?php
|
240 |
|
241 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
242 |
}
|
243 |
|
244 |
/**
|
@@ -303,7 +310,7 @@ class Field_Products extends Helper_Abstract_Fields {
|
|
303 |
}
|
304 |
|
305 |
/* calculate subtotal */
|
306 |
-
$product_subtotal =
|
307 |
|
308 |
/* increment the total */
|
309 |
$order_total += $product_subtotal;
|
@@ -321,7 +328,7 @@ class Field_Products extends Helper_Abstract_Fields {
|
|
321 |
}
|
322 |
|
323 |
/* Increment total */
|
324 |
-
$shipping_price =
|
325 |
$order_total += $shipping_price;
|
326 |
$order_subtotal = $order_total - $shipping_price;
|
327 |
|
18 |
}
|
19 |
|
20 |
/* Include any dependencies */
|
21 |
+
require_once GFCommon::get_base_path() . '/currency.php';
|
22 |
|
23 |
/**
|
24 |
* Controls the display and output of a Gravity Form field
|
89 |
<div class="row-separator products-title-container">
|
90 |
<h3 class="product-field-title gfpdf-field">
|
91 |
<?php
|
92 |
+
$label = apply_filters( 'gform_order_label', __( 'Order', 'gravityforms' ), $form_id );
|
93 |
$label = apply_filters( 'gform_order_label_' . $form_id, $label, $form_id );
|
94 |
|
95 |
+
echo esc_html( $label );
|
96 |
?>
|
97 |
</h3>
|
98 |
</div>
|
105 |
<tr>
|
106 |
<th class="entry-products-col1">
|
107 |
<?php
|
108 |
+
$label = apply_filters( 'gform_product', __( 'Product', 'gravityforms' ), $form_id );
|
109 |
$label = apply_filters( 'gform_product_' . $form_id, $label, $form_id );
|
110 |
|
111 |
+
echo esc_html( $label );
|
112 |
?>
|
113 |
</th>
|
114 |
|
115 |
<th class="textcenter entry-products-col2">
|
116 |
<?php
|
117 |
+
$label = apply_filters( 'gform_product_qty', __( 'Qty', 'gravityforms' ), $form_id );
|
118 |
$label = apply_filters( 'gform_product_qty_' . $form_id, $label, $form_id );
|
119 |
|
120 |
+
echo esc_html( $label );
|
121 |
?>
|
122 |
</th>
|
123 |
<th class="entry-products-col3">
|
124 |
<?php
|
125 |
+
$label = apply_filters( 'gform_product_unitprice', __( 'Unit Price', 'gravityforms' ), $form_id );
|
126 |
$label = apply_filters( 'gform_product_unitprice_' . $form_id, $label, $form_id );
|
127 |
|
128 |
+
echo esc_html( $label );
|
129 |
?>
|
130 |
</th>
|
131 |
<th class="entry-products-col4">
|
132 |
<?php
|
133 |
+
$label = apply_filters( 'gform_product_price', __( 'Price', 'gravityforms' ), $form_id );
|
134 |
$label = apply_filters( 'gform_product_price_' . $form_id, $label, $form_id );
|
135 |
|
136 |
+
echo esc_html( $label );
|
137 |
?>
|
138 |
</th>
|
139 |
</tr>
|
151 |
<tr>
|
152 |
<td>
|
153 |
<div class="product_name">
|
154 |
+
<?php echo esc_html( $product['name'] ); ?>
|
155 |
</div>
|
156 |
|
157 |
<?php
|
164 |
foreach ( $product['options'] as $option ) :
|
165 |
$price += $option['price'];
|
166 |
?>
|
167 |
+
<li><?php echo esc_html( $option['option_label'] ); ?></li>
|
168 |
<?php endforeach; ?>
|
169 |
</ul>
|
170 |
<?php endif; ?>
|
171 |
</td>
|
172 |
+
<td class="textcenter"><?php echo esc_html( $product['quantity'] ); ?></td>
|
173 |
+
<td class="textright"><?php echo esc_html( GFCommon::format_number( $price, 'currency', rgar( $this->entry, 'currency' ) ) ); ?></td>
|
174 |
+
<td class="textright"><?php echo esc_html( $product['subtotal_formatted'] ); ?></td>
|
175 |
</tr>
|
176 |
<?php endforeach; ?>
|
177 |
|
192 |
<?php if ( $index === 0 ): ?>
|
193 |
<td class="emptycell"
|
194 |
colspan="2"
|
195 |
+
rowspan="<?php echo esc_attr( $gpecommerce->get_order_summary_item_count( $order_summary ) ); ?>"></td>
|
196 |
<?php endif; ?>
|
197 |
+
<td class="totals" style="<?php esc_attr( $gpecommerce->style( ".order-summary/tfoot/{$class}/td.column-3" ) ); ?>">
|
198 |
+
<?php echo esc_html( $item['name'] ); ?>
|
199 |
</td>
|
200 |
|
201 |
+
<td class="totals" style="<?php esc_attr( $gpecommerce->style( ".order-summary/tfoot/{$class}/td.column-4" ) ); ?>">
|
202 |
+
<?php echo esc_html( GFCommon::to_money( $item['price'], $this->entry['currency'] ) ); ?>
|
203 |
</td>
|
204 |
</tr>
|
205 |
<?php endforeach; ?>
|
210 |
<td rowspan="3" class="emptycell"></td>
|
211 |
<td colspan="2"
|
212 |
class="subtotal totals"><?php esc_html_e( 'Subtotal', 'gravity-forms-pdf-extended' ); ?></td>
|
213 |
+
<td class="subtotal_amount totals"><?php echo esc_html( $products['products_totals']['subtotal_formatted'] ); ?></td>
|
214 |
</tr>
|
215 |
<tr>
|
216 |
<td colspan="2"
|
217 |
+
class="shipping totals"><?php echo esc_html( sprintf( __( 'Shipping (%s)', 'gravity-forms-pdf-extended' ), $products['products_totals']['shipping_name'] ) ); ?></td>
|
218 |
+
<td class="shipping_amount totals"><?php echo esc_html( $products['products_totals']['shipping_formatted'] ); ?></td>
|
219 |
</tr>
|
220 |
<?php endif; ?>
|
221 |
|
226 |
|
227 |
<td colspan="2"
|
228 |
class="grandtotal totals"><?php esc_html_e( 'Total', 'gravityforms' ); ?></td>
|
229 |
+
<td class="grandtotal_amount totals"><?php echo esc_html( $products['products_totals']['total_formatted'] ); ?></td>
|
230 |
</tr>
|
231 |
|
232 |
<?php endif; ?>
|
238 |
|
239 |
<?php
|
240 |
|
241 |
+
$html = apply_filters( 'gfpdf_field_product_value', ob_get_clean(), $products, $this->field, $this->form, $this->entry, $this );
|
242 |
+
|
243 |
+
if ( $this->get_output() ) {
|
244 |
+
/* phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped */
|
245 |
+
echo $html;
|
246 |
+
}
|
247 |
+
|
248 |
+
return $html;
|
249 |
}
|
250 |
|
251 |
/**
|
310 |
}
|
311 |
|
312 |
/* calculate subtotal */
|
313 |
+
$product_subtotal = ( (float) $product['quantity'] ) * $product_unit_price;
|
314 |
|
315 |
/* increment the total */
|
316 |
$order_total += $product_subtotal;
|
328 |
}
|
329 |
|
330 |
/* Increment total */
|
331 |
+
$shipping_price = isset( $products['shipping']['price'] ) ? (float) $products['shipping']['price'] : 0;
|
332 |
$order_total += $shipping_price;
|
333 |
$order_subtotal = $order_total - $shipping_price;
|
334 |
|
src/Helper/Fields/Field_Radio.php
CHANGED
@@ -8,6 +8,7 @@ use GFCommon;
|
|
8 |
use GFPDF\Helper\Helper_Abstract_Fields;
|
9 |
use GFPDF\Helper\Helper_Abstract_Form;
|
10 |
use GFPDF\Helper\Helper_Misc;
|
|
|
11 |
|
12 |
/**
|
13 |
* @package Gravity PDF
|
@@ -154,8 +155,8 @@ class Field_Radio extends Helper_Abstract_Fields {
|
|
154 |
|
155 |
/* Allow HTML if the radio value isn't the "other" option */
|
156 |
if ( ! $this->is_user_defined_value( $value ) ) {
|
157 |
-
$value =
|
158 |
-
$label =
|
159 |
}
|
160 |
|
161 |
/* return value / label as an array */
|
8 |
use GFPDF\Helper\Helper_Abstract_Fields;
|
9 |
use GFPDF\Helper\Helper_Abstract_Form;
|
10 |
use GFPDF\Helper\Helper_Misc;
|
11 |
+
use GFPDF\Statics\Kses;
|
12 |
|
13 |
/**
|
14 |
* @package Gravity PDF
|
155 |
|
156 |
/* Allow HTML if the radio value isn't the "other" option */
|
157 |
if ( ! $this->is_user_defined_value( $value ) ) {
|
158 |
+
$value = Kses::parse( $this->gform->process_tags( wp_specialchars_decode( $value, ENT_QUOTES ), $this->form, $this->entry ) );
|
159 |
+
$label = Kses::parse( $this->gform->process_tags( wp_specialchars_decode( $label, ENT_QUOTES ), $this->form, $this->entry ) );
|
160 |
}
|
161 |
|
162 |
/* return value / label as an array */
|
src/Helper/Fields/Field_Repeater.php
CHANGED
@@ -126,17 +126,34 @@ class Field_Repeater extends Helper_Abstract_Fields {
|
|
126 |
public function html( $value = '', $label = true ) {
|
127 |
$value = $this->value();
|
128 |
|
|
|
|
|
|
|
|
|
|
|
|
|
129 |
ob_start();
|
130 |
$this->get_repeater_html( $value, $this->field );
|
|
|
131 |
|
132 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
133 |
}
|
134 |
|
135 |
/**
|
136 |
* Output the Repeater HTML
|
137 |
*
|
138 |
* @param array $value The current Repeater entry data
|
139 |
-
* @param
|
140 |
*
|
141 |
* @throws Exception
|
142 |
* @since 5.1
|
@@ -152,7 +169,7 @@ class Field_Repeater extends Helper_Abstract_Fields {
|
|
152 |
|
153 |
/* Output the Repeater Label if a sub Repeater */
|
154 |
if ( ! $is_top_level ) {
|
155 |
-
echo sprintf( '<div class="gfpdf-section-title"><h3>%s</h3></div>', $field->label );
|
156 |
}
|
157 |
|
158 |
/* Loop through the entry data for the current repeater */
|
@@ -180,17 +197,22 @@ class Field_Repeater extends Helper_Abstract_Fields {
|
|
180 |
}
|
181 |
|
182 |
/* Output a field using the standard method if not empty */
|
|
|
183 |
$class = $pdf_model->get_field_class( $sub_field, $this->form, $item, $products );
|
|
|
184 |
if ( ! $class->is_empty() ) {
|
185 |
$field->cssClass = '';
|
186 |
$container->generate( $sub_field );
|
187 |
-
|
|
|
188 |
$container->close( $sub_field );
|
189 |
}
|
|
|
|
|
190 |
}
|
191 |
|
192 |
if ( $is_top_level ) {
|
193 |
-
|
194 |
}
|
195 |
}
|
196 |
}
|
126 |
public function html( $value = '', $label = true ) {
|
127 |
$value = $this->value();
|
128 |
|
129 |
+
/* Ensure the field outputs the HTML and can be reset to the original value */
|
130 |
+
$output_already_enabled = $this->get_output();
|
131 |
+
if ( ! $output_already_enabled ) {
|
132 |
+
$this->enable_output();
|
133 |
+
}
|
134 |
+
|
135 |
ob_start();
|
136 |
$this->get_repeater_html( $value, $this->field );
|
137 |
+
$html = ob_get_clean();
|
138 |
|
139 |
+
/* If output wasn't enabled by default, disable again */
|
140 |
+
if ( ! $output_already_enabled ) {
|
141 |
+
$this->disable_output();
|
142 |
+
}
|
143 |
+
|
144 |
+
if ( $this->get_output() ) {
|
145 |
+
/* phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped */
|
146 |
+
echo $html;
|
147 |
+
}
|
148 |
+
|
149 |
+
return $html;
|
150 |
}
|
151 |
|
152 |
/**
|
153 |
* Output the Repeater HTML
|
154 |
*
|
155 |
* @param array $value The current Repeater entry data
|
156 |
+
* @param GF_Field_Repeater $field The current Repeater Field
|
157 |
*
|
158 |
* @throws Exception
|
159 |
* @since 5.1
|
169 |
|
170 |
/* Output the Repeater Label if a sub Repeater */
|
171 |
if ( ! $is_top_level ) {
|
172 |
+
echo sprintf( '<div class="gfpdf-section-title"><h3>%s</h3></div>', esc_html( $field->label ) );
|
173 |
}
|
174 |
|
175 |
/* Loop through the entry data for the current repeater */
|
197 |
}
|
198 |
|
199 |
/* Output a field using the standard method if not empty */
|
200 |
+
/** @var Helper_Abstract_Fields $class */
|
201 |
$class = $pdf_model->get_field_class( $sub_field, $this->form, $item, $products );
|
202 |
+
|
203 |
if ( ! $class->is_empty() ) {
|
204 |
$field->cssClass = '';
|
205 |
$container->generate( $sub_field );
|
206 |
+
$class->enable_output();
|
207 |
+
$class->html();
|
208 |
$container->close( $sub_field );
|
209 |
}
|
210 |
+
|
211 |
+
unset( $class );
|
212 |
}
|
213 |
|
214 |
if ( $is_top_level ) {
|
215 |
+
parent::html( ob_get_clean() );
|
216 |
}
|
217 |
}
|
218 |
}
|
src/Helper/Fields/Field_Section.php
CHANGED
@@ -9,6 +9,7 @@ use GFCommon;
|
|
9 |
use GFPDF\Helper\Helper_Abstract_Fields;
|
10 |
use GFPDF\Helper\Helper_Abstract_Form;
|
11 |
use GFPDF\Helper\Helper_Misc;
|
|
|
12 |
use GPDFAPI;
|
13 |
|
14 |
/**
|
@@ -119,11 +120,11 @@ class Field_Section extends Helper_Abstract_Fields {
|
|
119 |
/* sanitize the HTML */
|
120 |
$section = $this->value(); /* allow the same HTML as per the post editor */
|
121 |
|
122 |
-
$html = '<div id="field-' . $this->field->id . '" class="gfpdf-section-title gfpdf-field ' . $this->field->cssClass . '">';
|
123 |
-
$html .= '<h3>' . $section['title'] . '</h3>';
|
124 |
|
125 |
if ( ! empty( $value ) ) {
|
126 |
-
$html .= '<div id="field-' . $this->field->id . '-desc" class="gfpdf-section-description gfpdf-field">' . $section['description'] . '</div>';
|
127 |
}
|
128 |
|
129 |
$html .= '</div>';
|
@@ -133,7 +134,7 @@ class Field_Section extends Helper_Abstract_Fields {
|
|
133 |
*
|
134 |
* @since 4.1
|
135 |
*/
|
136 |
-
|
137 |
'gfpdf_field_section_break_html',
|
138 |
$html,
|
139 |
$section['title'],
|
@@ -144,6 +145,13 @@ class Field_Section extends Helper_Abstract_Fields {
|
|
144 |
$this->entry,
|
145 |
$this
|
146 |
);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
147 |
}
|
148 |
|
149 |
/**
|
@@ -161,7 +169,7 @@ class Field_Section extends Helper_Abstract_Fields {
|
|
161 |
$this->cache(
|
162 |
[
|
163 |
'title' => esc_html( $this->field->label ),
|
164 |
-
'description' =>
|
165 |
$this->gform->process_tags( $this->field->description, $this->form, $this->entry )
|
166 |
),
|
167 |
]
|
9 |
use GFPDF\Helper\Helper_Abstract_Fields;
|
10 |
use GFPDF\Helper\Helper_Abstract_Form;
|
11 |
use GFPDF\Helper\Helper_Misc;
|
12 |
+
use GFPDF\Statics\Kses;
|
13 |
use GPDFAPI;
|
14 |
|
15 |
/**
|
120 |
/* sanitize the HTML */
|
121 |
$section = $this->value(); /* allow the same HTML as per the post editor */
|
122 |
|
123 |
+
$html = '<div id="' . esc_attr( 'field-' . $this->field->id ) . '" class="gfpdf-section-title gfpdf-field ' . esc_attr( $this->field->cssClass ) . '">';
|
124 |
+
$html .= '<h3>' . esc_html( $section['title'] ) . '</h3>';
|
125 |
|
126 |
if ( ! empty( $value ) ) {
|
127 |
+
$html .= '<div id="' . esc_html( 'field-' . $this->field->id . '-desc' ) . '" class="gfpdf-section-description gfpdf-field">' . Kses::parse( $section['description'] ) . '</div>';
|
128 |
}
|
129 |
|
130 |
$html .= '</div>';
|
134 |
*
|
135 |
* @since 4.1
|
136 |
*/
|
137 |
+
$html = apply_filters(
|
138 |
'gfpdf_field_section_break_html',
|
139 |
$html,
|
140 |
$section['title'],
|
145 |
$this->entry,
|
146 |
$this
|
147 |
);
|
148 |
+
|
149 |
+
if ( $this->get_output() ) {
|
150 |
+
/* phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped */
|
151 |
+
echo $html;
|
152 |
+
}
|
153 |
+
|
154 |
+
return $html;
|
155 |
}
|
156 |
|
157 |
/**
|
169 |
$this->cache(
|
170 |
[
|
171 |
'title' => esc_html( $this->field->label ),
|
172 |
+
'description' => Kses::parse(
|
173 |
$this->gform->process_tags( $this->field->description, $this->form, $this->entry )
|
174 |
),
|
175 |
]
|
src/Helper/Fields/Field_Shipping.php
CHANGED
@@ -34,7 +34,7 @@ class Field_Shipping extends Helper_Abstract_Field_Products {
|
|
34 |
$name = ( isset( $value['shipping_name'] ) ) ? $value['shipping_name'] . " ({$value['shipping_formatted']})" : '';
|
35 |
$name = esc_html( $name );
|
36 |
|
37 |
-
$price =
|
38 |
$price = esc_html( $price );
|
39 |
|
40 |
return $this->set_form_data( $name, $price );
|
@@ -58,7 +58,7 @@ class Field_Shipping extends Helper_Abstract_Field_Products {
|
|
58 |
$html = '';
|
59 |
|
60 |
if ( isset( $value['shipping_formatted'] ) ) {
|
61 |
-
$html .= $value['shipping_name'] . ' - ' . $value['shipping_formatted'];
|
62 |
}
|
63 |
|
64 |
return parent::html( $html );
|
34 |
$name = ( isset( $value['shipping_name'] ) ) ? $value['shipping_name'] . " ({$value['shipping_formatted']})" : '';
|
35 |
$name = esc_html( $name );
|
36 |
|
37 |
+
$price = $value['shipping'] ?? '';
|
38 |
$price = esc_html( $price );
|
39 |
|
40 |
return $this->set_form_data( $name, $price );
|
58 |
$html = '';
|
59 |
|
60 |
if ( isset( $value['shipping_formatted'] ) ) {
|
61 |
+
$html .= esc_html( $value['shipping_name'] . ' - ' . $value['shipping_formatted'] );
|
62 |
}
|
63 |
|
64 |
return parent::html( $html );
|
src/Helper/Fields/Field_Signature.php
CHANGED
@@ -98,7 +98,7 @@ class Field_Signature extends Helper_Abstract_Fields {
|
|
98 |
/* Get some sane signature defaults */
|
99 |
$width = 75;
|
100 |
$height = 45;
|
101 |
-
$html = '<img src="' . $signature . '" alt="Signature" width="' . $width . '" />';
|
102 |
|
103 |
/* If we can load in the signature let's optimise the signature size for PDF display */
|
104 |
if ( is_file( $signature ) ) {
|
@@ -123,7 +123,7 @@ class Field_Signature extends Helper_Abstract_Fields {
|
|
123 |
$optimised_width = apply_filters( 'gfpdf_signature_width', $optimised_width, $signature_details[0] );
|
124 |
|
125 |
$optimised_height = $signature_details[1] / 3;
|
126 |
-
$html = str_replace( 'width="' . $width . '"', 'width="' . $optimised_width . '"', $html );
|
127 |
|
128 |
/* override the default width */
|
129 |
$width = $optimised_width;
|
98 |
/* Get some sane signature defaults */
|
99 |
$width = 75;
|
100 |
$height = 45;
|
101 |
+
$html = '<img src="' . esc_url( $signature ) . '" alt="Signature" width="' . esc_attr( $width ) . '" />';
|
102 |
|
103 |
/* If we can load in the signature let's optimise the signature size for PDF display */
|
104 |
if ( is_file( $signature ) ) {
|
123 |
$optimised_width = apply_filters( 'gfpdf_signature_width', $optimised_width, $signature_details[0] );
|
124 |
|
125 |
$optimised_height = $signature_details[1] / 3;
|
126 |
+
$html = str_replace( 'width="' . esc_attr( $width ) . '"', 'width="' . esc_attr( $optimised_width ) . '"', $html );
|
127 |
|
128 |
/* override the default width */
|
129 |
$width = $optimised_width;
|
src/Helper/Fields/Field_Slim.php
CHANGED
@@ -36,8 +36,8 @@ class Field_Slim extends Helper_Abstract_Fields {
|
|
36 |
$value = $this->value();
|
37 |
$url = $value['url'];
|
38 |
|
39 |
-
$image =
|
40 |
-
$html = '<a href="' . esc_url( $url ) . '"><img src="' . $image . '" /></a>';
|
41 |
|
42 |
return parent::html( $html );
|
43 |
}
|
36 |
$value = $this->value();
|
37 |
$url = $value['url'];
|
38 |
|
39 |
+
$image = $value['path'] ?? $value['url'];
|
40 |
+
$html = '<a href="' . esc_url( $url ) . '"><img src="' . esc_url( $image ) . '" /></a>';
|
41 |
|
42 |
return parent::html( $html );
|
43 |
}
|
src/Helper/Fields/Field_Slim_Post.php
CHANGED
@@ -36,8 +36,8 @@ class Field_Slim_Post extends Helper_Abstract_Fields {
|
|
36 |
$value = $this->value();
|
37 |
$url = $value['url'];
|
38 |
|
39 |
-
$image =
|
40 |
-
$html = '<a href="' . esc_url( $url ) . '"><img src="' . $image . '" /></a>';
|
41 |
|
42 |
return parent::html( $html );
|
43 |
}
|
36 |
$value = $this->value();
|
37 |
$url = $value['url'];
|
38 |
|
39 |
+
$image = $value['path'] ?? $value['url'];
|
40 |
+
$html = '<a href="' . esc_url( $url ) . '"><img src="' . esc_url( $image ) . '" /></a>';
|
41 |
|
42 |
return parent::html( $html );
|
43 |
}
|
src/Helper/Fields/Field_Textarea.php
CHANGED
@@ -7,6 +7,7 @@ use GF_Field_Textarea;
|
|
7 |
use GFPDF\Helper\Helper_Abstract_Fields;
|
8 |
use GFPDF\Helper\Helper_Abstract_Form;
|
9 |
use GFPDF\Helper\Helper_Misc;
|
|
|
10 |
|
11 |
/**
|
12 |
* @package Gravity PDF
|
@@ -70,7 +71,7 @@ class Field_Textarea extends Helper_Abstract_Fields {
|
|
70 |
$value = $this->get_value();
|
71 |
|
72 |
if ( isset( $this->field->useRichTextEditor ) && true === $this->field->useRichTextEditor ) {
|
73 |
-
$html =
|
74 |
wpautop(
|
75 |
$this->gform->process_tags( $value, $this->form, $this->entry )
|
76 |
)
|
7 |
use GFPDF\Helper\Helper_Abstract_Fields;
|
8 |
use GFPDF\Helper\Helper_Abstract_Form;
|
9 |
use GFPDF\Helper\Helper_Misc;
|
10 |
+
use GFPDF\Statics\Kses;
|
11 |
|
12 |
/**
|
13 |
* @package Gravity PDF
|
71 |
$value = $this->get_value();
|
72 |
|
73 |
if ( isset( $this->field->useRichTextEditor ) && true === $this->field->useRichTextEditor ) {
|
74 |
+
$html = Kses::parse(
|
75 |
wpautop(
|
76 |
$this->gform->process_tags( $value, $this->form, $this->entry )
|
77 |
)
|
src/Helper/Fields/Field_Tos.php
CHANGED
@@ -7,6 +7,7 @@ use GF_Field_Checkbox;
|
|
7 |
use GFPDF\Helper\Helper_Abstract_Fields;
|
8 |
use GFPDF\Helper\Helper_Abstract_Form;
|
9 |
use GFPDF\Helper\Helper_Misc;
|
|
|
10 |
|
11 |
/**
|
12 |
* @package Gravity PDF
|
@@ -83,7 +84,7 @@ class Field_Tos extends Helper_Abstract_Fields {
|
|
83 |
*/
|
84 |
public function html( $value = '', $label = true ) {
|
85 |
|
86 |
-
$terms =
|
87 |
wpautop(
|
88 |
$this->gform->process_tags( $this->field->gwtermsofservice_terms, $this->form, $this->entry )
|
89 |
)
|
7 |
use GFPDF\Helper\Helper_Abstract_Fields;
|
8 |
use GFPDF\Helper\Helper_Abstract_Form;
|
9 |
use GFPDF\Helper\Helper_Misc;
|
10 |
+
use GFPDF\Statics\Kses;
|
11 |
|
12 |
/**
|
13 |
* @package Gravity PDF
|
84 |
*/
|
85 |
public function html( $value = '', $label = true ) {
|
86 |
|
87 |
+
$terms = Kses::parse(
|
88 |
wpautop(
|
89 |
$this->gform->process_tags( $this->field->gwtermsofservice_terms, $this->form, $this->entry )
|
90 |
)
|
src/Helper/Fields/Field_V3_List.php
CHANGED
@@ -55,7 +55,7 @@ class Field_V3_List extends Field_List {
|
|
55 |
|
56 |
<ul class="bulleted single-column-list">
|
57 |
<?php foreach ( $value as $item ) : ?>
|
58 |
-
<li
|
59 |
<?php endforeach; ?>
|
60 |
</ul>
|
61 |
<?php
|
55 |
|
56 |
<ul class="bulleted single-column-list">
|
57 |
<?php foreach ( $value as $item ) : ?>
|
58 |
+
<li><?php echo esc_html( $item ); ?></li>
|
59 |
<?php endforeach; ?>
|
60 |
</ul>
|
61 |
<?php
|
src/Helper/Fields/Field_V3_Products.php
CHANGED
@@ -3,6 +3,7 @@
|
|
3 |
namespace GFPDF\Helper\Fields;
|
4 |
|
5 |
use GFPDF\Helper\Helper_QueryPath;
|
|
|
6 |
use GFPDF_Vendor\QueryPath\Exception;
|
7 |
|
8 |
/**
|
@@ -42,7 +43,7 @@ class Field_V3_Products extends Field_Products {
|
|
42 |
$label = apply_filters( 'gform_order_label', esc_html__( 'Order', 'gravityforms' ), $this->form->id );
|
43 |
$label = apply_filters( 'gform_order_label_' . $this->form->id, $label, $this->form->id );
|
44 |
|
45 |
-
$heading = '<h2 class="default entry-view-section-break">' . $label . '</h2>';
|
46 |
|
47 |
/* Pull out the .entry-products table from the HTML using querypath */
|
48 |
$qp = new Helper_QueryPath();
|
@@ -51,7 +52,11 @@ class Field_V3_Products extends Field_Products {
|
|
51 |
$html = $heading;
|
52 |
$html .= $table;
|
53 |
|
54 |
-
|
|
|
|
|
|
|
|
|
55 |
}
|
56 |
|
57 |
}
|
3 |
namespace GFPDF\Helper\Fields;
|
4 |
|
5 |
use GFPDF\Helper\Helper_QueryPath;
|
6 |
+
use GFPDF\Statics\Kses;
|
7 |
use GFPDF_Vendor\QueryPath\Exception;
|
8 |
|
9 |
/**
|
43 |
$label = apply_filters( 'gform_order_label', esc_html__( 'Order', 'gravityforms' ), $this->form->id );
|
44 |
$label = apply_filters( 'gform_order_label_' . $this->form->id, $label, $this->form->id );
|
45 |
|
46 |
+
$heading = '<h2 class="default entry-view-section-break">' . esc_html( $label ) . '</h2>';
|
47 |
|
48 |
/* Pull out the .entry-products table from the HTML using querypath */
|
49 |
$qp = new Helper_QueryPath();
|
52 |
$html = $heading;
|
53 |
$html .= $table;
|
54 |
|
55 |
+
if ( $this->get_output() ) {
|
56 |
+
Kses::output( $html );
|
57 |
+
}
|
58 |
+
|
59 |
+
return Kses::parse( $html );
|
60 |
}
|
61 |
|
62 |
}
|
src/Helper/Fields/Field_V3_Section.php
CHANGED
@@ -2,6 +2,8 @@
|
|
2 |
|
3 |
namespace GFPDF\Helper\Fields;
|
4 |
|
|
|
|
|
5 |
/**
|
6 |
* @package Gravity PDF
|
7 |
* @copyright Copyright (c) 2022, Blue Liquid Designs
|
@@ -34,10 +36,15 @@ class Field_V3_Section extends Field_Section {
|
|
34 |
/* sanitize the HTML */
|
35 |
$section = $this->value(); /* allow the same HTML as per the post editor */
|
36 |
|
37 |
-
$html = '<h2 class="default entry-view-section-break" id="field-' . $this->field->id . '">' . $section['title'] . '</h2>';
|
38 |
|
39 |
if ( ! empty( $value ) ) {
|
40 |
-
$html .= '<div class="default entry-view-section-break entry-view-section-break-content">' . $section['description'] . '</div>';
|
|
|
|
|
|
|
|
|
|
|
41 |
}
|
42 |
|
43 |
return $html;
|
2 |
|
3 |
namespace GFPDF\Helper\Fields;
|
4 |
|
5 |
+
use GFPDF\Statics\Kses;
|
6 |
+
|
7 |
/**
|
8 |
* @package Gravity PDF
|
9 |
* @copyright Copyright (c) 2022, Blue Liquid Designs
|
36 |
/* sanitize the HTML */
|
37 |
$section = $this->value(); /* allow the same HTML as per the post editor */
|
38 |
|
39 |
+
$html = '<h2 class="default entry-view-section-break" id="' . esc_attr( 'field-' . $this->field->id ) . '">' . esc_html( $section['title'] ) . '</h2>';
|
40 |
|
41 |
if ( ! empty( $value ) ) {
|
42 |
+
$html .= '<div class="default entry-view-section-break entry-view-section-break-content">' . Kses::parse( $section['description'] ) . '</div>';
|
43 |
+
}
|
44 |
+
|
45 |
+
if ( $this->get_output() ) {
|
46 |
+
/* phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped */
|
47 |
+
echo $html;
|
48 |
}
|
49 |
|
50 |
return $html;
|
src/Helper/Fields/Field_Website.php
CHANGED
@@ -63,7 +63,7 @@ class Field_Website extends Helper_Abstract_Fields {
|
|
63 |
public function html( $value = '', $label = true ) {
|
64 |
$value = $this->value();
|
65 |
|
66 |
-
$output =
|
67 |
|
68 |
return parent::html( $output );
|
69 |
}
|
63 |
public function html( $value = '', $label = true ) {
|
64 |
$value = $this->value();
|
65 |
|
66 |
+
$output = GFCommon::is_valid_url( $value ) ? '<a href="' . esc_url( $value ) . '" target="_blank">' . esc_html( $value ) . '</a>' : esc_html( $value );
|
67 |
|
68 |
return parent::html( $output );
|
69 |
}
|
src/Helper/Helper_Abstract_Addon.php
CHANGED
@@ -353,7 +353,7 @@ abstract class Helper_Abstract_Addon {
|
|
353 |
* @since 4.2
|
354 |
*
|
355 |
*/
|
356 |
-
public
|
357 |
|
358 |
/**
|
359 |
* Register the add-on with Gravity PDF
|
@@ -531,7 +531,7 @@ abstract class Helper_Abstract_Addon {
|
|
531 |
'body' => [
|
532 |
'edd_action' => 'check_license',
|
533 |
'license' => $license_info['license'],
|
534 |
-
'item_name' =>
|
535 |
'url' => home_url(),
|
536 |
],
|
537 |
]
|
@@ -607,8 +607,8 @@ abstract class Helper_Abstract_Addon {
|
|
607 |
'%1$sRegister your copy of %2$s%3$s to receive access to automatic upgrades and support. Need a license key? %4$sPurchase one now%5$s.',
|
608 |
'gravity-forms-pdf-extended'
|
609 |
),
|
610 |
-
'<a href="' . admin_url( 'admin.php?page=gf_settings&subview=PDF&tab=license' ) . '">',
|
611 |
-
$this->get_name(),
|
612 |
'</a>',
|
613 |
'<a href="' . esc_url( 'https://gravitypdf.com/checkout/?edd_action=add_to_cart&download_id=' . $edd_id ) . '">',
|
614 |
'</a>'
|
353 |
* @since 4.2
|
354 |
*
|
355 |
*/
|
356 |
+
abstract public function plugin_updater();
|
357 |
|
358 |
/**
|
359 |
* Register the add-on with Gravity PDF
|
531 |
'body' => [
|
532 |
'edd_action' => 'check_license',
|
533 |
'license' => $license_info['license'],
|
534 |
+
'item_name' => rawurlencode( $this->get_short_name() ),
|
535 |
'url' => home_url(),
|
536 |
],
|
537 |
]
|
607 |
'%1$sRegister your copy of %2$s%3$s to receive access to automatic upgrades and support. Need a license key? %4$sPurchase one now%5$s.',
|
608 |
'gravity-forms-pdf-extended'
|
609 |
),
|
610 |
+
'<a href="' . esc_url( admin_url( 'admin.php?page=gf_settings&subview=PDF&tab=license' ) ) . '">',
|
611 |
+
esc_html( $this->get_name() ),
|
612 |
'</a>',
|
613 |
'<a href="' . esc_url( 'https://gravitypdf.com/checkout/?edd_action=add_to_cart&download_id=' . $edd_id ) . '">',
|
614 |
'</a>'
|
src/Helper/Helper_Abstract_Fields.php
CHANGED
@@ -7,6 +7,7 @@ use GF_Field;
|
|
7 |
use GFCache;
|
8 |
use GFCommon;
|
9 |
use GFFormsModel;
|
|
|
10 |
|
11 |
/**
|
12 |
* @package Gravity PDF
|
@@ -72,6 +73,15 @@ abstract class Helper_Abstract_Fields {
|
|
72 |
*/
|
73 |
protected $cached_results;
|
74 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
75 |
/**
|
76 |
* As come fields can have multiple field types we'll use $fieldObject to store the object
|
77 |
*
|
@@ -129,7 +139,39 @@ abstract class Helper_Abstract_Fields {
|
|
129 |
$this->entry = $entry;
|
130 |
$this->form = apply_filters( 'gfpdf_current_form_object', $gform->get_form( $entry['form_id'] ), $entry, 'helper_abstract_fields' );
|
131 |
$this->gform = $gform;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
132 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
133 |
}
|
134 |
|
135 |
/**
|
@@ -303,11 +345,11 @@ abstract class Helper_Abstract_Fields {
|
|
303 |
$label = esc_html( $this->get_label() );
|
304 |
$type = $this->field->get_input_type();
|
305 |
|
306 |
-
$html = '<div id="field-' . $this->field->id . '" class="gfpdf-' . $type . '
|
307 |
<div class="inner-container">';
|
308 |
|
309 |
if ( $show_label ) {
|
310 |
-
$html .= '<div class="label"><strong>' . $label . '</strong></div>';
|
311 |
}
|
312 |
|
313 |
/* If the field value is empty we'll add a non-breaking space to act like a character and maintain proper layout */
|
@@ -315,13 +357,19 @@ abstract class Helper_Abstract_Fields {
|
|
315 |
$value = ' ';
|
316 |
}
|
317 |
|
318 |
-
$html .= '<div class="value">' . $value . '</div>'
|
319 |
. '</div>'
|
320 |
. '</div>';
|
321 |
|
322 |
/* See https://docs.gravitypdf.com/v6/developers/filters/gfpdf_field_html_value for more details about this filter */
|
|
|
|
|
|
|
|
|
|
|
|
|
323 |
|
324 |
-
return
|
325 |
}
|
326 |
|
327 |
/**
|
7 |
use GFCache;
|
8 |
use GFCommon;
|
9 |
use GFFormsModel;
|
10 |
+
use GFPDF\Statics\Kses;
|
11 |
|
12 |
/**
|
13 |
* @package Gravity PDF
|
73 |
*/
|
74 |
protected $cached_results;
|
75 |
|
76 |
+
/**
|
77 |
+
* Backwards-compatible way to echo the HTML content
|
78 |
+
*
|
79 |
+
* @var bool
|
80 |
+
*
|
81 |
+
* @since 6.4.0
|
82 |
+
*/
|
83 |
+
private $output = false;
|
84 |
+
|
85 |
/**
|
86 |
* As come fields can have multiple field types we'll use $fieldObject to store the object
|
87 |
*
|
139 |
$this->entry = $entry;
|
140 |
$this->form = apply_filters( 'gfpdf_current_form_object', $gform->get_form( $entry['form_id'] ), $entry, 'helper_abstract_fields' );
|
141 |
$this->gform = $gform;
|
142 |
+
}
|
143 |
+
|
144 |
+
/**
|
145 |
+
* Echo the HTML content when calling self::html()
|
146 |
+
*
|
147 |
+
* @return void
|
148 |
+
*
|
149 |
+
* @since 6.4.0
|
150 |
+
*/
|
151 |
+
final public function enable_output(): void {
|
152 |
+
$this->output = true;
|
153 |
+
}
|
154 |
|
155 |
+
/**
|
156 |
+
* Do not echo the HTML content when calling self::html()
|
157 |
+
*
|
158 |
+
* @return void
|
159 |
+
*
|
160 |
+
* @since 6.4.0
|
161 |
+
*/
|
162 |
+
final public function disable_output(): void {
|
163 |
+
$this->output = false;
|
164 |
+
}
|
165 |
+
|
166 |
+
/**
|
167 |
+
* Checks if the output should be echoed or not
|
168 |
+
*
|
169 |
+
* @return bool
|
170 |
+
*
|
171 |
+
* @since 6.4.0
|
172 |
+
*/
|
173 |
+
final public function get_output(): bool {
|
174 |
+
return $this->output;
|
175 |
}
|
176 |
|
177 |
/**
|
345 |
$label = esc_html( $this->get_label() );
|
346 |
$type = $this->field->get_input_type();
|
347 |
|
348 |
+
$html = '<div id="' . esc_attr( 'field-' . $this->field->id ) . '" class="gfpdf-field ' . esc_attr( 'gfpdf-' . $type ) . ' ' . esc_attr( $this->field->cssClass ) . '">
|
349 |
<div class="inner-container">';
|
350 |
|
351 |
if ( $show_label ) {
|
352 |
+
$html .= '<div class="label"><strong>' . Kses::parse( $label ) . '</strong></div>';
|
353 |
}
|
354 |
|
355 |
/* If the field value is empty we'll add a non-breaking space to act like a character and maintain proper layout */
|
357 |
$value = ' ';
|
358 |
}
|
359 |
|
360 |
+
$html .= '<div class="value">' . Kses::parse( $value ) . '</div>'
|
361 |
. '</div>'
|
362 |
. '</div>';
|
363 |
|
364 |
/* See https://docs.gravitypdf.com/v6/developers/filters/gfpdf_field_html_value for more details about this filter */
|
365 |
+
$html = apply_filters( 'gfpdf_field_html_value', $html, $value, $show_label, $label, $this->field, $this->form, $this->entry, $this );
|
366 |
+
|
367 |
+
if ( $this->get_output() ) {
|
368 |
+
/* phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped */
|
369 |
+
echo $html;
|
370 |
+
}
|
371 |
|
372 |
+
return $html;
|
373 |
}
|
374 |
|
375 |
/**
|
src/Helper/Helper_Abstract_Options.php
CHANGED
@@ -280,6 +280,7 @@ abstract class Helper_Abstract_Options implements Helper_Interface_Filters {
|
|
280 |
|
281 |
/* Check if our setting exists */
|
282 |
if ( isset( $wp_settings_fields[ $group ][ $group ][ $setting ]['args'][ $option_id ] ) ) {
|
|
|
283 |
$wp_settings_fields[ $group ][ $group ][ $setting ]['args'][ $option_id ] = $option_value;
|
284 |
|
285 |
return true;
|
@@ -334,9 +335,10 @@ abstract class Helper_Abstract_Options implements Helper_Interface_Filters {
|
|
334 |
*/
|
335 |
public function get_form_settings() {
|
336 |
|
337 |
-
/*
|
338 |
-
$form_id =
|
339 |
-
$pid =
|
|
|
340 |
|
341 |
/* return early if no ID set */
|
342 |
if ( ! $form_id || ! $pid ) {
|
@@ -592,8 +594,6 @@ abstract class Helper_Abstract_Options implements Helper_Interface_Filters {
|
|
592 |
$this->data->form_settings[ $form_id ] = $options;
|
593 |
}
|
594 |
|
595 |
-
/* true if successful, false if failed */
|
596 |
-
|
597 |
return $did_update;
|
598 |
}
|
599 |
|
@@ -657,8 +657,6 @@ abstract class Helper_Abstract_Options implements Helper_Interface_Filters {
|
|
657 |
$this->data->form_settings[ $form_id ] = $options;
|
658 |
}
|
659 |
|
660 |
-
/* true if successful, false if failed */
|
661 |
-
|
662 |
return $did_update;
|
663 |
}
|
664 |
|
@@ -1095,10 +1093,12 @@ abstract class Helper_Abstract_Options implements Helper_Interface_Filters {
|
|
1095 |
|
1096 |
$gfpdf_options = $this->settings;
|
1097 |
|
|
|
1098 |
if ( empty( $_POST['_wp_http_referer'] ) || empty( $_POST['option_page'] ) || $_POST['option_page'] !== 'gfpdf_settings' ) {
|
1099 |
return $input;
|
1100 |
}
|
1101 |
|
|
|
1102 |
parse_str( $_POST['_wp_http_referer'], $referrer );
|
1103 |
|
1104 |
$all_settings = $this->get_registered_fields();
|
@@ -1193,7 +1193,7 @@ abstract class Helper_Abstract_Options implements Helper_Interface_Filters {
|
|
1193 |
/**
|
1194 |
* Sanitize text / textarea fields
|
1195 |
*
|
1196 |
-
* @param
|
1197 |
*
|
1198 |
* @return string $input Sanitized value
|
1199 |
* @since 4.0
|
@@ -1206,7 +1206,7 @@ abstract class Helper_Abstract_Options implements Helper_Interface_Filters {
|
|
1206 |
/**
|
1207 |
* Sanitize number fields
|
1208 |
*
|
1209 |
-
* @param
|
1210 |
*
|
1211 |
* @return string $input Sanitized value
|
1212 |
* @since 4.0
|
@@ -1277,7 +1277,7 @@ abstract class Helper_Abstract_Options implements Helper_Interface_Filters {
|
|
1277 |
* Don't do any sanitization on input, which was causing problems with merge tags in HTML attributes.
|
1278 |
* See https://github.com/GravityPDF/gravity-pdf/issues/492 for more details.
|
1279 |
*
|
1280 |
-
* @internal Devs should run the field through wp_kses_post() on output to correctly sanitize
|
1281 |
* @since 4.0.6
|
1282 |
*/
|
1283 |
return $value;
|
@@ -1296,9 +1296,9 @@ abstract class Helper_Abstract_Options implements Helper_Interface_Filters {
|
|
1296 |
);
|
1297 |
|
1298 |
return $value;
|
1299 |
-
} else {
|
1300 |
-
return wp_strip_all_tags( $value );
|
1301 |
}
|
|
|
|
|
1302 |
}
|
1303 |
}
|
1304 |
|
@@ -1377,7 +1377,7 @@ abstract class Helper_Abstract_Options implements Helper_Interface_Filters {
|
|
1377 |
|
1378 |
/* Fix up our conditional logic array so it returns a string value */
|
1379 |
if ( $args['id'] === 'conditionalLogic' && isset( $pdf_form_settings['conditionalLogic'] ) ) {
|
1380 |
-
$pdf_form_settings['conditionalLogic'] =
|
1381 |
}
|
1382 |
|
1383 |
switch ( $args['type'] ) {
|
@@ -1509,15 +1509,31 @@ abstract class Helper_Abstract_Options implements Helper_Interface_Filters {
|
|
1509 |
|
1510 |
/* get our selected value */
|
1511 |
$checked = $this->get_form_value( $args );
|
1512 |
-
$class = ( isset( $args['inputClass'] ) ) ? esc_attr( $args['inputClass'] ) : '';
|
1513 |
$required = ( isset( $args['required'] ) && $args['required'] === true ) ? 'required' : '';
|
1514 |
-
$id = ( isset( $args['idOverride'] ) ) ?
|
1515 |
|
1516 |
-
|
1517 |
-
|
1518 |
-
|
|
|
|
|
|
|
1519 |
|
1520 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1521 |
}
|
1522 |
|
1523 |
/**
|
@@ -1533,29 +1549,50 @@ abstract class Helper_Abstract_Options implements Helper_Interface_Filters {
|
|
1533 |
*/
|
1534 |
public function multicheck_callback( $args ) {
|
1535 |
|
1536 |
-
$class
|
1537 |
-
$required
|
1538 |
-
$args['id'] = esc_attr( $args['id'] );
|
1539 |
-
|
1540 |
-
if ( ! empty( $args['options'] ) ) {
|
1541 |
-
echo '<div class="gform-settings-description gform-kitchen-sink"><label for="gfpdf_settings[' . $args['id'] . ']"> ' . wp_kses_post( $args['desc'] ) . '</label></div>';
|
1542 |
|
1543 |
-
|
|
|
|
|
1544 |
|
1545 |
-
|
1546 |
-
|
1547 |
-
|
|
|
|
|
|
|
1548 |
|
1549 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1550 |
|
1551 |
-
|
1552 |
-
echo '<input name="gfpdf_settings[' . $args['id'] . '][' . $args['multi-key'] . ']" id="gfpdf_settings[' . $args['id'] . '][' . $args['multi-key'] . ']" class="gfpdf_settings_' . $args['id'] . ' ' . $class . '" type="checkbox" value="' . $args['multi-key'] . '" ' . checked( $key, $enabled, false ) . ' ' . $required . ' /> ';
|
1553 |
-
echo '<label for="gfpdf_settings[' . $args['id'] . '][' . $args['multi-key'] . ']">' . esc_html( $option ) . '</label>';
|
1554 |
-
echo '</div>';
|
1555 |
-
}
|
1556 |
|
1557 |
-
|
1558 |
-
}
|
1559 |
}
|
1560 |
|
1561 |
/**
|
@@ -1572,25 +1609,44 @@ abstract class Helper_Abstract_Options implements Helper_Interface_Filters {
|
|
1572 |
public function radio_callback( $args ) {
|
1573 |
|
1574 |
/* get selected value (if any) */
|
1575 |
-
$selected
|
1576 |
-
$required
|
1577 |
-
$args['id'] = esc_attr( $args['id'] );
|
1578 |
-
$html = '<div class="gform-settings-description gform-kitchen-sink"><label for="gfpdf_settings[' . $args['id'] . ']"> ' . wp_kses_post( $args['desc'] ) . '</label></div>';
|
1579 |
|
1580 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
1581 |
|
|
|
|
|
1582 |
$checked = false;
|
1583 |
if ( $selected === $key ) {
|
1584 |
$checked = true;
|
1585 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1586 |
|
1587 |
-
|
1588 |
-
$html .= '<label for="gfpdf_settings[' . $args['id'] . '][' . esc_attr( $key ) . ']">' . $option . '</label></span>';
|
1589 |
-
}
|
1590 |
-
|
1591 |
-
$html .= wp_kses_post( $args['desc2'] );
|
1592 |
|
1593 |
-
|
1594 |
}
|
1595 |
|
1596 |
/**
|
@@ -1608,24 +1664,34 @@ abstract class Helper_Abstract_Options implements Helper_Interface_Filters {
|
|
1608 |
|
1609 |
/* get selected value (if any) */
|
1610 |
$value = $this->get_form_value( $args );
|
1611 |
-
$class =
|
1612 |
$input_data = ( isset( $args['data'] ) && is_array( $args['data'] ) ) ? $args['data'] : [];
|
1613 |
$required = ( isset( $args['required'] ) && $args['required'] === true ) ? 'required' : '';
|
1614 |
-
$args['
|
1615 |
|
1616 |
-
|
1617 |
-
$html = '<div class="gform-settings-description gform-kitchen-sink"><label for="gfpdf_settings[' . $args['id'] . ']"> ' . wp_kses_post( $args['desc'] ) . '</label></div>';
|
1618 |
-
$html .= '<input type="text" class="' . $size . '-text ' . $class . '" id="gfpdf_settings[' . $args['id'] . ']" class="gfpdf_settings_' . $args['id'] . '" name="gfpdf_settings[' . $args['id'] . ']" value="' . esc_attr( $value ) . '" ' . $required;
|
1619 |
|
1620 |
-
|
1621 |
-
|
1622 |
-
|
|
|
|
|
1623 |
|
1624 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1625 |
|
1626 |
-
|
1627 |
|
1628 |
-
|
1629 |
}
|
1630 |
|
1631 |
/**
|
@@ -1642,37 +1708,51 @@ abstract class Helper_Abstract_Options implements Helper_Interface_Filters {
|
|
1642 |
public function license_callback( $args ) {
|
1643 |
|
1644 |
/* get selected value (if any) */
|
1645 |
-
$value
|
1646 |
-
$args['id'] = esc_attr( $args['id'] );
|
1647 |
-
|
1648 |
-
$html = '';
|
1649 |
-
|
1650 |
-
$is_error = ! in_array( $value['status'], [ '', 'active' ], true );
|
1651 |
-
$is_active = $value['status'] === 'active';
|
1652 |
-
|
1653 |
-
/* Show status info */
|
1654 |
-
if ( ! empty( $value['msg'] ) ) {
|
1655 |
-
$alert = $is_error ? '<div class="alert gforms_note_error">%s</div>' : '<div id="message" class="alert gforms_note_success">%s</div>';
|
1656 |
-
$html .= sprintf( $alert, wp_kses_post( $value['msg'] ) );
|
1657 |
-
}
|
1658 |
|
1659 |
-
$
|
1660 |
-
$
|
1661 |
-
|
1662 |
-
|
1663 |
-
if ( $is_active ) {
|
1664 |
-
$html .= ' <button
|
1665 |
-
class="button primary white gfpdf-deactivate-license"
|
1666 |
-
data-addon-name="' . esc_attr( substr( $args['id'], 8 ) ) . '"
|
1667 |
-
data-license="' . esc_attr( $value['key'] ) . '"
|
1668 |
-
data-nonce="' . wp_create_nonce( 'gfpdf_deactivate_license' ) . '">' .
|
1669 |
-
esc_attr__( 'Deactivate License', 'gravity-forms-pdf-extended' ) .
|
1670 |
-
'</button>';
|
1671 |
-
}
|
1672 |
|
1673 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1674 |
|
1675 |
-
|
1676 |
}
|
1677 |
|
1678 |
/**
|
@@ -1697,28 +1777,41 @@ abstract class Helper_Abstract_Options implements Helper_Interface_Filters {
|
|
1697 |
}
|
1698 |
|
1699 |
/* check if required */
|
1700 |
-
$class =
|
1701 |
$required = ( isset( $args['required'] ) && $args['required'] === true ) ? 'required' : '';
|
1702 |
$input_data = ( isset( $args['data'] ) && is_array( $args['data'] ) ) ? $args['data'] : [];
|
1703 |
-
$args['id'] = esc_attr( $args['id'] );
|
1704 |
|
1705 |
$max = isset( $args['max'] ) ? (int) $args['max'] : 999999;
|
1706 |
$min = isset( $args['min'] ) ? (int) $args['min'] : 0;
|
1707 |
$step = isset( $args['step'] ) ? (int) $args['step'] : 1;
|
1708 |
|
1709 |
-
$size
|
1710 |
-
$html = '<div class="gform-settings-description gform-kitchen-sink"><label for="gfpdf_settings[' . $args['id'] . ']"> ' . wp_kses_post( $args['desc'] ) . '</label></div>';
|
1711 |
-
$html .= '<input type="number" step="' . esc_attr( $step ) . '" max="' . esc_attr( $max ) . '" min="' . esc_attr( $min ) . '" class="' . $size . '-text gfpdf_settings_' . $args['id'] . ' ' . $class . '" id="gfpdf_settings[' . $args['id'] . ']" name="gfpdf_settings[' . $args['id'] . ']" value="' . esc_attr( $value ) . '" ' . $required;
|
1712 |
|
1713 |
-
|
1714 |
-
$html .= ' data-' . $data_id . '="' . esc_html( $data_value ) . '" ';
|
1715 |
-
}
|
1716 |
|
1717 |
-
|
|
|
|
|
|
|
|
|
1718 |
|
1719 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1720 |
|
1721 |
-
|
1722 |
}
|
1723 |
|
1724 |
/**
|
@@ -1736,30 +1829,43 @@ abstract class Helper_Abstract_Options implements Helper_Interface_Filters {
|
|
1736 |
|
1737 |
/* get selected value (if any) */
|
1738 |
$value = $this->get_form_value( $args );
|
1739 |
-
$class =
|
1740 |
$required = ( isset( $args['required'] ) && $args['required'] === true ) ? 'required' : '';
|
1741 |
$input_data = ( isset( $args['data'] ) && is_array( $args['data'] ) ) ? $args['data'] : [];
|
1742 |
-
$args['
|
1743 |
-
|
1744 |
-
$html = '<div class="gform-settings-description gform-kitchen-sink"><label for="gfpdf_settings[' . $args['id'] . ']"> ' . wp_kses_post( $args['desc'] ) . '</label></div>';
|
1745 |
-
$html .= '<textarea cols="50" rows="5" id="gfpdf_settings[' . $args['id'] . ']" class="large-text gfpdf_settings_' . $args['id'] . ' ' . $class . '" name="gfpdf_settings[' . $args['id'] . ']" ' . $required;
|
1746 |
-
|
1747 |
-
foreach ( $input_data as $data_id => $data_value ) {
|
1748 |
-
$html .= ' data-' . $data_id . '="' . esc_html( $data_value ) . '" ';
|
1749 |
-
}
|
1750 |
|
1751 |
-
|
1752 |
|
1753 |
-
|
1754 |
-
|
|
|
1755 |
|
1756 |
-
|
1757 |
-
|
1758 |
-
|
|
|
|
|
1759 |
|
1760 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1761 |
|
1762 |
-
|
1763 |
}
|
1764 |
|
1765 |
/**
|
@@ -1776,17 +1882,30 @@ abstract class Helper_Abstract_Options implements Helper_Interface_Filters {
|
|
1776 |
public function password_callback( $args ) {
|
1777 |
|
1778 |
/* get selected value (if any) */
|
1779 |
-
$value
|
1780 |
-
$class
|
1781 |
-
$required
|
1782 |
-
$args['
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1783 |
|
1784 |
-
|
1785 |
-
|
1786 |
-
|
1787 |
-
|
|
|
|
|
|
|
1788 |
|
1789 |
-
echo $
|
|
|
|
|
1790 |
}
|
1791 |
|
1792 |
/**
|
@@ -1804,11 +1923,10 @@ abstract class Helper_Abstract_Options implements Helper_Interface_Filters {
|
|
1804 |
|
1805 |
/* get selected value (if any) */
|
1806 |
$value = $this->get_form_value( $args );
|
1807 |
-
$placeholder =
|
1808 |
-
$class =
|
1809 |
$required = ( isset( $args['required'] ) && $args['required'] === true ) ? 'required' : '';
|
1810 |
$input_data = ( isset( $args['data'] ) && is_array( $args['data'] ) ) ? $args['data'] : [];
|
1811 |
-
$args['id'] = esc_attr( $args['id'] );
|
1812 |
|
1813 |
$multiple = '';
|
1814 |
$multiple_ext = '';
|
@@ -1817,36 +1935,52 @@ abstract class Helper_Abstract_Options implements Helper_Interface_Filters {
|
|
1817 |
$multiple_ext = '[]';
|
1818 |
}
|
1819 |
|
1820 |
-
|
1821 |
|
1822 |
-
|
|
|
|
|
|
|
|
|
1823 |
|
1824 |
-
|
1825 |
-
|
1826 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1827 |
|
1828 |
-
|
1829 |
-
|
1830 |
-
|
1831 |
-
|
1832 |
-
|
1833 |
-
|
1834 |
-
|
1835 |
-
|
1836 |
-
|
1837 |
-
|
1838 |
-
minimumResultsForSearch: Infinity,
|
1839 |
-
dropdownCssClass: "gform-settings-field__select-enhanced-container",
|
1840 |
-
dropdownParent: jQuery( "#gfpdf_settings\\\\[' . esc_attr( $args['id'] ) . '\\\\]" ).parent(),
|
1841 |
-
} );
|
1842 |
-
} );
|
1843 |
-
</script>';
|
1844 |
-
}
|
1845 |
|
1846 |
-
|
1847 |
-
$html .= wp_kses_post( $args['desc2'] );
|
1848 |
|
1849 |
-
|
1850 |
}
|
1851 |
|
1852 |
/**
|
@@ -1854,13 +1988,17 @@ abstract class Helper_Abstract_Options implements Helper_Interface_Filters {
|
|
1854 |
*
|
1855 |
* @param array $options The list of options that should be displayed
|
1856 |
* @param array|string $value The selected option
|
|
|
1857 |
*
|
1858 |
-
* @return string
|
1859 |
*
|
1860 |
* @since 4.1
|
1861 |
*/
|
1862 |
-
public function build_options_for_select( $options, $value ) {
|
1863 |
-
$
|
|
|
|
|
|
|
1864 |
foreach ( $options as $option => $name ) {
|
1865 |
if ( ! is_array( $name ) ) {
|
1866 |
$selected = '';
|
@@ -1875,9 +2013,9 @@ abstract class Helper_Abstract_Options implements Helper_Interface_Filters {
|
|
1875 |
$selected = selected( $option, $value, false );
|
1876 |
}
|
1877 |
|
1878 |
-
|
1879 |
} else {
|
1880 |
-
|
1881 |
foreach ( $name as $op_value => $op_label ) {
|
1882 |
$selected = '';
|
1883 |
if ( is_array( $value ) ) {
|
@@ -1891,13 +2029,15 @@ abstract class Helper_Abstract_Options implements Helper_Interface_Filters {
|
|
1891 |
$selected = selected( $op_value, $value, false );
|
1892 |
}
|
1893 |
|
1894 |
-
|
1895 |
}
|
1896 |
-
|
1897 |
}
|
1898 |
}
|
1899 |
|
1900 |
-
|
|
|
|
|
1901 |
}
|
1902 |
|
1903 |
/**
|
@@ -1915,15 +2055,25 @@ abstract class Helper_Abstract_Options implements Helper_Interface_Filters {
|
|
1915 |
/* get selected value (if any) */
|
1916 |
$value = $this->get_form_value( $args );
|
1917 |
|
1918 |
-
$rows
|
1919 |
-
$args['
|
1920 |
-
$
|
1921 |
|
1922 |
-
|
1923 |
|
1924 |
-
if (
|
1925 |
-
|
1926 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1927 |
wp_editor(
|
1928 |
$value,
|
1929 |
'gfpdf_settings_' . $args['id'],
|
@@ -1938,21 +2088,24 @@ abstract class Helper_Abstract_Options implements Helper_Interface_Filters {
|
|
1938 |
]
|
1939 |
)
|
1940 |
);
|
1941 |
-
|
1942 |
-
|
1943 |
-
|
1944 |
-
|
1945 |
-
|
1946 |
-
|
1947 |
-
|
1948 |
-
|
1949 |
-
|
1950 |
-
|
1951 |
-
|
1952 |
-
|
1953 |
-
|
|
|
|
|
|
|
1954 |
|
1955 |
-
|
1956 |
}
|
1957 |
|
1958 |
/**
|
@@ -1970,20 +2123,41 @@ abstract class Helper_Abstract_Options implements Helper_Interface_Filters {
|
|
1970 |
|
1971 |
/* get selected value (if any) */
|
1972 |
$value = $this->get_form_value( $args );
|
1973 |
-
$uploader_title =
|
1974 |
-
$uploader_button_text =
|
1975 |
-
$button_text =
|
1976 |
-
$class =
|
1977 |
$required = ( isset( $args['required'] ) && $args['required'] === true ) ? 'required' : '';
|
1978 |
-
$args['
|
1979 |
-
$size = ( isset( $args['size'] ) && ! is_null( $args['size'] ) ) ? esc_attr( $args['size'] ) : 'regular';
|
1980 |
|
1981 |
-
|
1982 |
-
$html .= '<div class="gfpdf-upload-setting-container"><input type="text" class="' . $size . '-text gfpdf_settings_' . $args['id'] . ' ' . $class . '" id="gfpdf_settings[' . $args['id'] . ']" name="gfpdf_settings[' . $args['id'] . ']" value="' . esc_attr( $value ) . '" ' . $required . ' />';
|
1983 |
-
$html .= '<input type="button" class="gfpdf_settings_upload_button button-secondary" data-uploader-title="' . $uploader_title . '" data-uploader-button-text="' . $uploader_button_text . '" value="' . $button_text . '" /></div>';
|
1984 |
-
$html .= wp_kses_post( $args['desc2'] );
|
1985 |
|
1986 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1987 |
}
|
1988 |
|
1989 |
|
@@ -2001,16 +2175,31 @@ abstract class Helper_Abstract_Options implements Helper_Interface_Filters {
|
|
2001 |
public function color_callback( $args ) {
|
2002 |
|
2003 |
/* get selected value (if any) */
|
2004 |
-
$value
|
2005 |
-
$default
|
2006 |
-
$class
|
2007 |
-
$required
|
2008 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009 |
|
2010 |
-
|
2011 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012 |
|
2013 |
-
|
2014 |
}
|
2015 |
|
2016 |
/**
|
@@ -2026,23 +2215,35 @@ abstract class Helper_Abstract_Options implements Helper_Interface_Filters {
|
|
2026 |
*/
|
2027 |
public function button_callback( $args ) {
|
2028 |
|
2029 |
-
$nonce = wp_create_nonce( 'gfpdf_settings[' . $args['id'] . ']' );
|
2030 |
$input_data = ( isset( $args['data'] ) && is_array( $args['data'] ) ) ? $args['data'] : [];
|
2031 |
-
$class =
|
2032 |
|
2033 |
-
|
2034 |
|
2035 |
-
|
2036 |
-
|
|
|
2037 |
|
2038 |
-
|
2039 |
-
|
2040 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2041 |
|
2042 |
-
|
2043 |
-
|
|
|
|
|
2044 |
|
2045 |
-
|
2046 |
}
|
2047 |
|
2048 |
/**
|
@@ -2058,26 +2259,25 @@ abstract class Helper_Abstract_Options implements Helper_Interface_Filters {
|
|
2058 |
$value = 'Yes';
|
2059 |
}
|
2060 |
|
2061 |
-
$class
|
2062 |
-
$args['
|
2063 |
-
$name = isset( $args['name'] ) ? $args['name'] : '';
|
2064 |
|
2065 |
?>
|
2066 |
-
<div class="gform-settings-field gform-settings-field__toggle
|
2067 |
-
<div class="gform-settings-description gform-kitchen-sink"
|
2068 |
|
2069 |
<span class="gform-settings-input__container">
|
2070 |
-
<input type="checkbox" id="gfpdf_settings[
|
2071 |
-
<label class="gform-field__toggle-container" for="gfpdf_settings[
|
2072 |
-
<?php if (
|
2073 |
-
<span class="screen-reader-text"
|
2074 |
<?php endif; ?>
|
2075 |
|
2076 |
<span class="gform-field__toggle-switch"></span>
|
2077 |
</label>
|
2078 |
</span>
|
2079 |
|
2080 |
-
|
2081 |
</div>
|
2082 |
<?php
|
2083 |
}
|
@@ -2099,11 +2299,13 @@ abstract class Helper_Abstract_Options implements Helper_Interface_Filters {
|
|
2099 |
|
2100 |
$this->checkbox_callback( $args );
|
2101 |
|
2102 |
-
|
|
|
|
|
2103 |
<!-- content dynamically created from form_admin.js -->
|
2104 |
-
</div>
|
2105 |
|
2106 |
-
|
2107 |
}
|
2108 |
|
2109 |
/**
|
@@ -2119,19 +2321,22 @@ abstract class Helper_Abstract_Options implements Helper_Interface_Filters {
|
|
2119 |
|
2120 |
/* get selected value (if any) */
|
2121 |
$value = $this->get_form_value( $args );
|
2122 |
-
$class =
|
2123 |
$input_data = ( isset( $args['data'] ) && is_array( $args['data'] ) ) ? $args['data'] : [];
|
2124 |
-
$args['id'] = esc_attr( $args['id'] );
|
2125 |
|
2126 |
-
|
2127 |
-
|
2128 |
-
foreach ( $input_data as $data_id => $data_value ) {
|
2129 |
-
$html .= ' data-' . $data_id . '="' . esc_html( $data_value ) . '" ';
|
2130 |
-
}
|
2131 |
|
2132 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2133 |
|
2134 |
-
|
2135 |
}
|
2136 |
|
2137 |
/**
|
@@ -2152,15 +2357,45 @@ abstract class Helper_Abstract_Options implements Helper_Interface_Filters {
|
|
2152 |
$value = [ '', '', 'mm' ];
|
2153 |
}
|
2154 |
|
2155 |
-
$placeholder =
|
2156 |
-
$class =
|
2157 |
-
$size = ( isset( $args['size'] ) && ! is_null( $args['size'] ) ) ?
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2158 |
|
2159 |
-
|
2160 |
-
|
2161 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2162 |
|
2163 |
-
|
|
|
|
|
2164 |
'gfpdf_paper_size_dimensions',
|
2165 |
[
|
2166 |
'millimeters' => esc_html__( 'mm', 'gravity-forms-pdf-extended' ),
|
@@ -2168,18 +2403,26 @@ abstract class Helper_Abstract_Options implements Helper_Interface_Filters {
|
|
2168 |
]
|
2169 |
);
|
2170 |
|
2171 |
-
|
2172 |
|
2173 |
-
|
2174 |
-
|
2175 |
-
|
2176 |
-
|
2177 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2178 |
|
2179 |
-
|
2180 |
-
$html .= wp_kses_post( $args['desc2'] );
|
2181 |
|
2182 |
-
echo $
|
|
|
|
|
2183 |
}
|
2184 |
|
2185 |
/**
|
@@ -2224,7 +2467,7 @@ abstract class Helper_Abstract_Options implements Helper_Interface_Filters {
|
|
2224 |
*
|
2225 |
*/
|
2226 |
public function missing_callback( $args ) {
|
2227 |
-
|
2228 |
}
|
2229 |
|
2230 |
/**
|
@@ -2238,12 +2481,11 @@ abstract class Helper_Abstract_Options implements Helper_Interface_Filters {
|
|
2238 |
*/
|
2239 |
public function create_toggle_input( $toggle, $html, $value ) {
|
2240 |
|
2241 |
-
$has_value
|
2242 |
-
$current_display = ( ! $has_value ) ? 'style="display: none;"' : '';
|
2243 |
|
2244 |
$toggle_elm = '<label><input class="gfpdf-input-toggle" type="checkbox" value="1" ' . checked( $has_value, 1, false ) . ' /> ' . esc_attr( $toggle ) . '</label>';
|
2245 |
|
2246 |
-
$html = '<div class="gfpdf-toggle-wrapper" ' . $
|
2247 |
$html .
|
2248 |
'</div>';
|
2249 |
|
@@ -2251,4 +2493,47 @@ abstract class Helper_Abstract_Options implements Helper_Interface_Filters {
|
|
2251 |
|
2252 |
return $html;
|
2253 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2254 |
}
|
280 |
|
281 |
/* Check if our setting exists */
|
282 |
if ( isset( $wp_settings_fields[ $group ][ $group ][ $setting ]['args'][ $option_id ] ) ) {
|
283 |
+
/* phpcs:ignore WordPress.WP.GlobalVariablesOverride.Prohibited */
|
284 |
$wp_settings_fields[ $group ][ $group ][ $setting ]['args'][ $option_id ] = $option_value;
|
285 |
|
286 |
return true;
|
335 |
*/
|
336 |
public function get_form_settings() {
|
337 |
|
338 |
+
/* phpcs:disable WordPress.Security.NonceVerification.Recommended */
|
339 |
+
$form_id = ! empty( $_GET['id'] ) ? (int) rgget( 'id' ) : (int) rgpost( 'id' );
|
340 |
+
$pid = ! empty( $_GET['pid'] ) ? rgget( 'pid' ) : rgpost( 'gform_pdf_id' );
|
341 |
+
/* phpcs:enable */
|
342 |
|
343 |
/* return early if no ID set */
|
344 |
if ( ! $form_id || ! $pid ) {
|
594 |
$this->data->form_settings[ $form_id ] = $options;
|
595 |
}
|
596 |
|
|
|
|
|
597 |
return $did_update;
|
598 |
}
|
599 |
|
657 |
$this->data->form_settings[ $form_id ] = $options;
|
658 |
}
|
659 |
|
|
|
|
|
660 |
return $did_update;
|
661 |
}
|
662 |
|
1093 |
|
1094 |
$gfpdf_options = $this->settings;
|
1095 |
|
1096 |
+
/* phpcs:ignore WordPress.Security.NonceVerification.Missing */
|
1097 |
if ( empty( $_POST['_wp_http_referer'] ) || empty( $_POST['option_page'] ) || $_POST['option_page'] !== 'gfpdf_settings' ) {
|
1098 |
return $input;
|
1099 |
}
|
1100 |
|
1101 |
+
/* phpcs:ignore WordPress.Security.NonceVerification.Missing */
|
1102 |
parse_str( $_POST['_wp_http_referer'], $referrer );
|
1103 |
|
1104 |
$all_settings = $this->get_registered_fields();
|
1193 |
/**
|
1194 |
* Sanitize text / textarea fields
|
1195 |
*
|
1196 |
+
* @param string $input The field value
|
1197 |
*
|
1198 |
* @return string $input Sanitized value
|
1199 |
* @since 4.0
|
1206 |
/**
|
1207 |
* Sanitize number fields
|
1208 |
*
|
1209 |
+
* @param string $input The field value
|
1210 |
*
|
1211 |
* @return string $input Sanitized value
|
1212 |
* @since 4.0
|
1277 |
* Don't do any sanitization on input, which was causing problems with merge tags in HTML attributes.
|
1278 |
* See https://github.com/GravityPDF/gravity-pdf/issues/492 for more details.
|
1279 |
*
|
1280 |
+
* @internal Devs should run the field through \GFPDF\Statics\Kses::output() or wp_kses_post() on output to correctly sanitize
|
1281 |
* @since 4.0.6
|
1282 |
*/
|
1283 |
return $value;
|
1296 |
);
|
1297 |
|
1298 |
return $value;
|
|
|
|
|
1299 |
}
|
1300 |
+
|
1301 |
+
return wp_strip_all_tags( $value );
|
1302 |
}
|
1303 |
}
|
1304 |
|
1377 |
|
1378 |
/* Fix up our conditional logic array so it returns a string value */
|
1379 |
if ( $args['id'] === 'conditionalLogic' && isset( $pdf_form_settings['conditionalLogic'] ) ) {
|
1380 |
+
$pdf_form_settings['conditionalLogic'] = wp_json_encode( $pdf_form_settings['conditionalLogic'] );
|
1381 |
}
|
1382 |
|
1383 |
switch ( $args['type'] ) {
|
1509 |
|
1510 |
/* get our selected value */
|
1511 |
$checked = $this->get_form_value( $args );
|
|
|
1512 |
$required = ( isset( $args['required'] ) && $args['required'] === true ) ? 'required' : '';
|
1513 |
+
$id = ( isset( $args['idOverride'] ) ) ? $args['idOverride'] : 'gfpdf_settings[' . $args['id'] . ']';
|
1514 |
|
1515 |
+
?>
|
1516 |
+
<div class="gform-settings-description gform-kitchen-sink">
|
1517 |
+
<label for="gfpdf_settings[<?php echo esc_attr( $args['id'] ); ?>]">
|
1518 |
+
<?php echo wp_kses_post( $args['desc2'] ); ?>
|
1519 |
+
</label>
|
1520 |
+
</div>
|
1521 |
|
1522 |
+
<input type="checkbox"
|
1523 |
+
id="<?php echo esc_attr( $id ); ?>"
|
1524 |
+
class="gfpdf_settings_<?php echo esc_attr( $args['id'] ); ?> <?php echo esc_attr( $args['inputClass'] ?? '' ); ?>"
|
1525 |
+
name="gfpdf_settings[<?php echo esc_attr( $args['id'] ); ?>]"
|
1526 |
+
value="1"
|
1527 |
+
<?php if ( strpos( $checked, 'checked' ) !== false ): ?>
|
1528 |
+
checked="checked"
|
1529 |
+
<?php endif ?>
|
1530 |
+
<?php echo esc_html( $required ); ?>
|
1531 |
+
/>
|
1532 |
+
|
1533 |
+
<label for="<?php echo esc_attr( $id ); ?>">
|
1534 |
+
<?php echo wp_kses_post( $args['desc'] ); ?>
|
1535 |
+
</label>
|
1536 |
+
<?php
|
1537 |
}
|
1538 |
|
1539 |
/**
|
1549 |
*/
|
1550 |
public function multicheck_callback( $args ) {
|
1551 |
|
1552 |
+
$class = $args['inputClass'] ?? '';
|
1553 |
+
$required = ( isset( $args['required'] ) && $args['required'] === true ) ? 'required' : '';
|
|
|
|
|
|
|
|
|
1554 |
|
1555 |
+
if ( empty( $args['options'] ) ) {
|
1556 |
+
return;
|
1557 |
+
}
|
1558 |
|
1559 |
+
?>
|
1560 |
+
<div class="gform-settings-description gform-kitchen-sink">
|
1561 |
+
<label for="gfpdf_settings[<?php echo esc_attr( $args['id'] ); ?>]">
|
1562 |
+
<?php echo wp_kses_post( $args['desc'] ); ?>
|
1563 |
+
</label>
|
1564 |
+
</div>
|
1565 |
|
1566 |
+
<?php
|
1567 |
+
foreach ( $args['options'] as $key => $option ):
|
1568 |
+
/* Set up multi-select option to pass to our form value getter */
|
1569 |
+
$args['multi-key'] = $key;
|
1570 |
+
$args['multi-option'] = $key;
|
1571 |
+
|
1572 |
+
$enabled = $this->get_form_value( $args );
|
1573 |
+
|
1574 |
+
?>
|
1575 |
+
|
1576 |
+
<div class="gfpdf-settings-multicheck-wrapper">
|
1577 |
+
<input name="gfpdf_settings[<?php echo esc_attr( $args['id'] ); ?>][<?php echo esc_attr( $args['multi-key'] ); ?>]"
|
1578 |
+
id="gfpdf_settings[<?php echo esc_attr( $args['id'] ); ?>][<?php echo esc_attr( $args['multi-key'] ); ?>]"
|
1579 |
+
class="<?php echo esc_attr( 'gfpdf_settings_' . $args['id'] ); ?> <?php echo esc_attr( $class ); ?>"
|
1580 |
+
type="checkbox"
|
1581 |
+
value="<?php echo esc_attr( $args['multi-key'] ); ?>"
|
1582 |
+
<?php checked( $key, $enabled ); ?>
|
1583 |
+
<?php echo esc_attr( $required ); ?>
|
1584 |
+
/>
|
1585 |
+
|
1586 |
+
|
1587 |
+
<label for="gfpdf_settings[<?php echo esc_attr( $args['id'] ); ?>][<?php echo esc_attr( $args['multi-key'] ); ?>]">
|
1588 |
+
<?php echo esc_html( $option ); ?>
|
1589 |
+
</label>
|
1590 |
+
</div>
|
1591 |
+
<?php endforeach; ?>
|
1592 |
|
1593 |
+
<?php echo wp_kses_post( $args['desc2'] ); ?>
|
|
|
|
|
|
|
|
|
1594 |
|
1595 |
+
<?php
|
|
|
1596 |
}
|
1597 |
|
1598 |
/**
|
1609 |
public function radio_callback( $args ) {
|
1610 |
|
1611 |
/* get selected value (if any) */
|
1612 |
+
$selected = $this->get_form_value( $args );
|
1613 |
+
$required = ( isset( $args['required'] ) && $args['required'] === true ) ? 'required' : '';
|
|
|
|
|
1614 |
|
1615 |
+
?>
|
1616 |
+
|
1617 |
+
<div class="gform-settings-description gform-kitchen-sink">
|
1618 |
+
<label for="gfpdf_settings[<?php echo esc_attr( $args['id'] ); ?>]">
|
1619 |
+
<?php echo wp_kses_post( $args['desc'] ); ?>
|
1620 |
+
</label>
|
1621 |
+
</div>
|
1622 |
|
1623 |
+
<?php
|
1624 |
+
foreach ( $args['options'] as $key => $option ):
|
1625 |
$checked = false;
|
1626 |
if ( $selected === $key ) {
|
1627 |
$checked = true;
|
1628 |
}
|
1629 |
+
?>
|
1630 |
+
|
1631 |
+
<span class="entry-view">
|
1632 |
+
<input name="gfpdf_settings[<?php echo esc_attr( $args['id'] ); ?>]"
|
1633 |
+
class="<?php echo esc_attr( 'gfpdf_settings_' . $args['id'] ); ?>"
|
1634 |
+
id="gfpdf_settings[<?php echo esc_attr( $args['id'] ); ?>][<?php echo esc_attr( $key ); ?>]"
|
1635 |
+
type="radio"
|
1636 |
+
value="<?php echo esc_attr( $key ); ?>"
|
1637 |
+
<?php checked( true, $checked ); ?>
|
1638 |
+
<?php echo esc_attr( $required ); ?>
|
1639 |
+
/>
|
1640 |
+
|
1641 |
+
<label for="gfpdf_settings[<?php echo esc_attr( $args['id'] ); ?>][<?php echo esc_attr( $key ); ?>]">
|
1642 |
+
<?php echo esc_html( $option ); ?>
|
1643 |
+
</label>
|
1644 |
+
</span>
|
1645 |
+
<?php endforeach; ?>
|
1646 |
|
1647 |
+
<?php echo wp_kses_post( $args['desc2'] ); ?>
|
|
|
|
|
|
|
|
|
1648 |
|
1649 |
+
<?php
|
1650 |
}
|
1651 |
|
1652 |
/**
|
1664 |
|
1665 |
/* get selected value (if any) */
|
1666 |
$value = $this->get_form_value( $args );
|
1667 |
+
$class = $args['inputClass'] ?? '';
|
1668 |
$input_data = ( isset( $args['data'] ) && is_array( $args['data'] ) ) ? $args['data'] : [];
|
1669 |
$required = ( isset( $args['required'] ) && $args['required'] === true ) ? 'required' : '';
|
1670 |
+
$size = ( isset( $args['size'] ) && ! is_null( $args['size'] ) ) ? $args['size'] : 'regular';
|
1671 |
|
1672 |
+
?>
|
|
|
|
|
1673 |
|
1674 |
+
<div class="gform-settings-description gform-kitchen-sink">
|
1675 |
+
<label for="gfpdf_settings[<?php echo esc_attr( $args['id'] ); ?>]">
|
1676 |
+
<?php echo wp_kses_post( $args['desc'] ); ?>
|
1677 |
+
</label>
|
1678 |
+
</div>
|
1679 |
|
1680 |
+
<input type="text"
|
1681 |
+
class="<?php echo esc_attr( $size . '-text' ); ?> <?php echo esc_attr( $class ); ?>"
|
1682 |
+
id="gfpdf_settings[<?php echo esc_attr( $args['id'] ); ?>]"
|
1683 |
+
class="<?php echo esc_attr( 'gfpdf_settings_' . $args['id'] ); ?>"
|
1684 |
+
name="gfpdf_settings[<?php echo esc_attr( $args['id'] ); ?>]"
|
1685 |
+
value="<?php echo esc_attr( $value ); ?>"
|
1686 |
+
<?php echo esc_attr( $required ); ?>
|
1687 |
+
<?php foreach ( $input_data as $data_id => $data_value ): ?>
|
1688 |
+
<?php echo esc_html( 'data-' . $data_id ); ?>="<?php echo esc_attr( $data_value ); ?>"
|
1689 |
+
<?php endforeach; ?>
|
1690 |
+
/>
|
1691 |
|
1692 |
+
<?php echo wp_kses_post( $args['desc2'] ); ?>
|
1693 |
|
1694 |
+
<?php
|
1695 |
}
|
1696 |
|
1697 |
/**
|
1708 |
public function license_callback( $args ) {
|
1709 |
|
1710 |
/* get selected value (if any) */
|
1711 |
+
$value = $this->get_form_value( $args );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1712 |
|
1713 |
+
$error_statuses = [ '', 'active' ];
|
1714 |
+
$is_error = ! in_array( $value['status'], $error_statuses, true );
|
1715 |
+
$is_active = $value['status'] === 'active';
|
1716 |
+
?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1717 |
|
1718 |
+
<?php if ( ! empty( $value['msg'] ) ): ?>
|
1719 |
+
<?php if ( $is_error ): ?>
|
1720 |
+
<div class="alert gforms_note_error">
|
1721 |
+
<?php echo esc_html( $value['msg'] ); ?>
|
1722 |
+
</div>
|
1723 |
+
<?php else : ?>
|
1724 |
+
<div id="message" class="alert gforms_note_success">
|
1725 |
+
<?php echo esc_html( $value['msg'] ); ?>
|
1726 |
+
</div>
|
1727 |
+
<?php endif; ?>
|
1728 |
+
<?php endif; ?>
|
1729 |
+
|
1730 |
+
<label for="gfpdf_settings[<?php echo esc_attr( $args['id'] ); ?>]" class="screen-reader-text">
|
1731 |
+
<?php echo esc_html( sprintf( __( '%s license key', 'gravity-forms-pdf-extended' ), $args['name'] ) ); ?>
|
1732 |
+
</label>
|
1733 |
+
|
1734 |
+
<input autocomplete="off"
|
1735 |
+
type="text"
|
1736 |
+
class="regular-text"
|
1737 |
+
id="gfpdf_settings[<?php echo esc_attr( $args['id'] ); ?>]"
|
1738 |
+
class="<?php echo esc_attr( 'gfpdf_settings_' . $args['id'] ); ?>"
|
1739 |
+
name="gfpdf_settings[<?php echo esc_attr( $args['id'] ); ?>]"
|
1740 |
+
value="<?php echo esc_attr( $value['key'] ); ?>"
|
1741 |
+
/>
|
1742 |
+
|
1743 |
+
<?php if ( $is_active ): ?>
|
1744 |
+
<button class="button primary white gfpdf-deactivate-license"
|
1745 |
+
data-addon-name="<?php echo esc_attr( substr( $args['id'], 8 ) ); ?>"
|
1746 |
+
data-license="<?php echo esc_attr( $value['key'] ); ?>"
|
1747 |
+
data-nonce="<?php echo esc_attr( wp_create_nonce( 'gfpdf_deactivate_license' ) ); ?>"
|
1748 |
+
>
|
1749 |
+
<?php echo esc_attr__( 'Deactivate License', 'gravity-forms-pdf-extended' ); ?>
|
1750 |
+
</button>
|
1751 |
+
<?php endif; ?>
|
1752 |
+
|
1753 |
+
<?php echo wp_kses_post( $args['desc2'] ); ?>
|
1754 |
|
1755 |
+
<?php
|
1756 |
}
|
1757 |
|
1758 |
/**
|
1777 |
}
|
1778 |
|
1779 |
/* check if required */
|
1780 |
+
$class = $args['inputClass'] ?? '';
|
1781 |
$required = ( isset( $args['required'] ) && $args['required'] === true ) ? 'required' : '';
|
1782 |
$input_data = ( isset( $args['data'] ) && is_array( $args['data'] ) ) ? $args['data'] : [];
|
|
|
1783 |
|
1784 |
$max = isset( $args['max'] ) ? (int) $args['max'] : 999999;
|
1785 |
$min = isset( $args['min'] ) ? (int) $args['min'] : 0;
|
1786 |
$step = isset( $args['step'] ) ? (int) $args['step'] : 1;
|
1787 |
|
1788 |
+
$size = ( isset( $args['size'] ) && ! is_null( $args['size'] ) ) ? $args['size'] : 'regular';
|
|
|
|
|
1789 |
|
1790 |
+
?>
|
|
|
|
|
1791 |
|
1792 |
+
<div class="gform-settings-description gform-kitchen-sink">
|
1793 |
+
<label for="gfpdf_settings[<?php echo esc_attr( $args['id'] ); ?>]">
|
1794 |
+
<?php echo wp_kses_post( $args['desc'] ); ?>
|
1795 |
+
</label>
|
1796 |
+
</div>
|
1797 |
|
1798 |
+
<input type="number"
|
1799 |
+
step="<?php echo esc_attr( $step ); ?>"
|
1800 |
+
max="<?php echo esc_attr( $max ); ?>"
|
1801 |
+
min="<?php echo esc_attr( $min ); ?>"
|
1802 |
+
class="<?php echo esc_attr( $size . '-text' ); ?> <?php echo esc_attr( 'gfpdf_settings_' . $args['id'] ); ?> <?php echo esc_attr( $class ); ?>"
|
1803 |
+
id="gfpdf_settings[<?php echo esc_attr( $args['id'] ); ?>]"
|
1804 |
+
name="gfpdf_settings[<?php echo esc_attr( $args['id'] ); ?>]"
|
1805 |
+
value="<?php echo esc_attr( $value ); ?>"
|
1806 |
+
<?php echo esc_attr( $required ); ?>
|
1807 |
+
<?php foreach ( $input_data as $data_id => $data_value ): ?>
|
1808 |
+
<?php echo esc_html( 'data-' . $data_id ); ?>="<?php echo esc_attr( $data_value ); ?>"
|
1809 |
+
<?php endforeach; ?>
|
1810 |
+
/>
|
1811 |
+
|
1812 |
+
<?php echo wp_kses_post( $args['desc2'] ); ?>
|
1813 |
|
1814 |
+
<?php
|
1815 |
}
|
1816 |
|
1817 |
/**
|
1829 |
|
1830 |
/* get selected value (if any) */
|
1831 |
$value = $this->get_form_value( $args );
|
1832 |
+
$class = $args['inputClass'] ?? '';
|
1833 |
$required = ( isset( $args['required'] ) && $args['required'] === true ) ? 'required' : '';
|
1834 |
$input_data = ( isset( $args['data'] ) && is_array( $args['data'] ) ) ? $args['data'] : [];
|
1835 |
+
$toggle = ( ! empty( $args['toggle'] ) ) ? $args['toggle'] : false;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1836 |
|
1837 |
+
?>
|
1838 |
|
1839 |
+
<?php if ( $toggle !== false ): ?>
|
1840 |
+
<?php $this->start_toggle_input( $toggle, $value ); ?>
|
1841 |
+
<?php endif; ?>
|
1842 |
|
1843 |
+
<div class="gform-settings-description gform-kitchen-sink">
|
1844 |
+
<label for="gfpdf_settings[<?php echo esc_attr( $args['id'] ); ?>]">
|
1845 |
+
<?php echo wp_kses_post( $args['desc'] ); ?>
|
1846 |
+
</label>
|
1847 |
+
</div>
|
1848 |
|
1849 |
+
<textarea cols="50"
|
1850 |
+
rows="5"
|
1851 |
+
id="gfpdf_settings[<?php echo esc_attr( $args['id'] ); ?>]"
|
1852 |
+
class="large-text <?php echo esc_attr( 'gfpdf_settings_' . $args['id'] ); ?> <?php echo esc_attr( $class ); ?>"
|
1853 |
+
name="gfpdf_settings[<?php echo esc_attr( $args['id'] ); ?>]"
|
1854 |
+
<?php echo esc_attr( $required ); ?>
|
1855 |
+
<?php foreach ( $input_data as $data_id => $data_value ): ?>
|
1856 |
+
<?php echo esc_html( 'data-' . $data_id ); ?>="<?php echo esc_attr( $data_value ); ?>"
|
1857 |
+
<?php endforeach; ?>
|
1858 |
+
>
|
1859 |
+
<?php echo esc_textarea( $value ); ?>
|
1860 |
+
</textarea>
|
1861 |
+
|
1862 |
+
<?php if ( $toggle !== false ): ?>
|
1863 |
+
<?php $this->end_toggle_input(); ?>
|
1864 |
+
<?php endif; ?>
|
1865 |
+
|
1866 |
+
<?php echo wp_kses_post( $args['desc2'] ); ?>
|
1867 |
|
1868 |
+
<?php
|
1869 |
}
|
1870 |
|
1871 |
/**
|
1882 |
public function password_callback( $args ) {
|
1883 |
|
1884 |
/* get selected value (if any) */
|
1885 |
+
$value = $this->get_form_value( $args );
|
1886 |
+
$class = $args['inputClass'] ?? '';
|
1887 |
+
$required = ( isset( $args['required'] ) && $args['required'] === true ) ? 'required' : '';
|
1888 |
+
$size = ( isset( $args['size'] ) && ! is_null( $args['size'] ) ) ? $args['size'] : 'regular';
|
1889 |
+
|
1890 |
+
?>
|
1891 |
+
|
1892 |
+
<div class="gform-settings-description gform-kitchen-sink">
|
1893 |
+
<label for="gfpdf_settings[<?php echo esc_attr( $args['id'] ); ?>]">
|
1894 |
+
<?php echo wp_kses_post( $args['desc'] ); ?>
|
1895 |
+
</label>
|
1896 |
+
</div>
|
1897 |
|
1898 |
+
<input type="password"
|
1899 |
+
id="gfpdf_settings[<?php echo esc_attr( $args['id'] ); ?>]"
|
1900 |
+
class="<?php echo esc_attr( 'gfpdf_settings_' . $args['id'] ); ?> <?php echo esc_attr( $size . '-text' ); ?> <?php echo esc_attr( $class ); ?>"
|
1901 |
+
name="gfpdf_settings[<?php echo esc_attr( $args['id'] ); ?>]"
|
1902 |
+
value="<?php echo esc_attr( $value ); ?>"
|
1903 |
+
<?php echo esc_attr( $required ); ?>
|
1904 |
+
/>
|
1905 |
|
1906 |
+
<?php echo wp_kses_post( $args['desc2'] ); ?>
|
1907 |
+
|
1908 |
+
<?php
|
1909 |
}
|
1910 |
|
1911 |
/**
|
1923 |
|
1924 |
/* get selected value (if any) */
|
1925 |
$value = $this->get_form_value( $args );
|
1926 |
+
$placeholder = $args['placeholder'] ?? '';
|
1927 |
+
$class = $args['inputClass'] ?? '';
|
1928 |
$required = ( isset( $args['required'] ) && $args['required'] === true ) ? 'required' : '';
|
1929 |
$input_data = ( isset( $args['data'] ) && is_array( $args['data'] ) ) ? $args['data'] : [];
|
|
|
1930 |
|
1931 |
$multiple = '';
|
1932 |
$multiple_ext = '';
|
1935 |
$multiple_ext = '[]';
|
1936 |
}
|
1937 |
|
1938 |
+
?>
|
1939 |
|
1940 |
+
<div class="gform-settings-description gform-kitchen-sink">
|
1941 |
+
<label for="gfpdf_settings[<?php echo esc_attr( $args['id'] ); ?>]">
|
1942 |
+
<?php echo wp_kses_post( $args['desc'] ); ?>
|
1943 |
+
</label>
|
1944 |
+
</div>
|
1945 |
|
1946 |
+
<?php if ( ! empty( $args['chosen'] ) ): ?>
|
1947 |
+
<span class="gform-settings-input__container">
|
1948 |
+
<span class="gform-settings-field__select--enhanced">
|
1949 |
+
<?php endif; ?>
|
1950 |
+
|
1951 |
+
<select id="gfpdf_settings[<?php echo esc_attr( $args['id'] ); ?>]"
|
1952 |
+
class="<?php echo esc_attr( 'gfpdf_settings_' . $args['id'] ); ?> <?php echo esc_attr( $class ); ?>"
|
1953 |
+
name="gfpdf_settings[<?php echo esc_attr( $args['id'] ); ?>]<?php echo esc_attr( $multiple_ext ); ?>"
|
1954 |
+
data-placeholder="<?php echo esc_attr( $placeholder ); ?>"
|
1955 |
+
<?php echo esc_attr( $multiple ); ?>
|
1956 |
+
<?php echo esc_attr( $required ); ?>
|
1957 |
+
<?php foreach ( $input_data as $data_id => $data_value ): ?>
|
1958 |
+
<?php echo esc_html( 'data-' . $data_id ); ?>="<?php echo esc_attr( $data_value ); ?>"
|
1959 |
+
<?php endforeach; ?>
|
1960 |
+
>
|
1961 |
+
|
1962 |
+
<?php $this->build_options_for_select( $args['options'], $value, true ); ?>
|
1963 |
+
|
1964 |
+
</select>
|
1965 |
+
|
1966 |
+
<?php if ( ! empty( $args['chosen'] ) ): ?>
|
1967 |
+
</span>
|
1968 |
+
</span>
|
1969 |
|
1970 |
+
<script type="text/javascript">
|
1971 |
+
jQuery( document ).ready( function () {
|
1972 |
+
jQuery( "#gfpdf_settings\\[<?php echo esc_attr( $args['id'] ); ?>\\]" ).select2( {
|
1973 |
+
minimumResultsForSearch: Infinity,
|
1974 |
+
dropdownCssClass: "gform-settings-field__select-enhanced-container",
|
1975 |
+
dropdownParent: jQuery( "#gfpdf_settings\\[<?php echo esc_attr( $args['id'] ); ?>\\]" ).parent(),
|
1976 |
+
} );
|
1977 |
+
} );
|
1978 |
+
</script>
|
1979 |
+
<?php endif; ?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1980 |
|
1981 |
+
<?php echo wp_kses_post( $args['desc2'] ); ?>
|
|
|
1982 |
|
1983 |
+
<?php
|
1984 |
}
|
1985 |
|
1986 |
/**
|
1988 |
*
|
1989 |
* @param array $options The list of options that should be displayed
|
1990 |
* @param array|string $value The selected option
|
1991 |
+
* @param bool $echo To output or echo the content
|
1992 |
*
|
1993 |
+
* @return string|void
|
1994 |
*
|
1995 |
* @since 4.1
|
1996 |
*/
|
1997 |
+
public function build_options_for_select( $options, $value, $echo = false ) {
|
1998 |
+
if ( ! $echo ) {
|
1999 |
+
ob_start();
|
2000 |
+
}
|
2001 |
+
|
2002 |
foreach ( $options as $option => $name ) {
|
2003 |
if ( ! is_array( $name ) ) {
|
2004 |
$selected = '';
|
2013 |
$selected = selected( $option, $value, false );
|
2014 |
}
|
2015 |
|
2016 |
+
echo '<option value="' . esc_attr( $option ) . '" ' . ( strpos( $selected, 'selected' ) !== false ? 'selected="selected"' : '' ) . '>' . esc_html( $name ) . '</option>';
|
2017 |
} else {
|
2018 |
+
echo '<optgroup label="' . esc_attr( $option ) . '">';
|
2019 |
foreach ( $name as $op_value => $op_label ) {
|
2020 |
$selected = '';
|
2021 |
if ( is_array( $value ) ) {
|
2029 |
$selected = selected( $op_value, $value, false );
|
2030 |
}
|
2031 |
|
2032 |
+
echo '<option value="' . esc_attr( $op_value ) . '" ' . ( strpos( $selected, 'selected' ) !== false ? 'selected="selected"' : '' ) . '>' . esc_html( $op_label ) . '</option>';
|
2033 |
}
|
2034 |
+
echo '</optgroup>';
|
2035 |
}
|
2036 |
}
|
2037 |
|
2038 |
+
if ( ! $echo ) {
|
2039 |
+
ob_get_clean();
|
2040 |
+
}
|
2041 |
}
|
2042 |
|
2043 |
/**
|
2055 |
/* get selected value (if any) */
|
2056 |
$value = $this->get_form_value( $args );
|
2057 |
|
2058 |
+
$rows = $args['size'] ?? 20;
|
2059 |
+
$class = $args['inputClass'] ?? '';
|
2060 |
+
$toggle = ( ! empty( $args['toggle'] ) ) ? $args['toggle'] : false;
|
2061 |
|
2062 |
+
?>
|
2063 |
|
2064 |
+
<?php if ( $toggle !== false ): ?>
|
2065 |
+
<?php $this->start_toggle_input( $toggle, $value ); ?>
|
2066 |
+
<?php endif; ?>
|
2067 |
+
|
2068 |
+
<div class="gform-settings-description gform-kitchen-sink">
|
2069 |
+
<label for="gfpdf_settings[<?php echo esc_attr( $args['id'] ); ?>]">
|
2070 |
+
<?php echo wp_kses_post( $args['desc'] ); ?>
|
2071 |
+
</label>
|
2072 |
+
</div>
|
2073 |
+
|
2074 |
+
<?php if ( function_exists( 'wp_editor' ) ): ?>
|
2075 |
+
<span class="<?php echo esc_attr( 'mt-gfpdf_settings_' . $args['id'] ); ?> mt-gfpdf-merge-tag-selector-container"></span>
|
2076 |
+
<?php
|
2077 |
wp_editor(
|
2078 |
$value,
|
2079 |
'gfpdf_settings_' . $args['id'],
|
2088 |
]
|
2089 |
)
|
2090 |
);
|
2091 |
+
?>
|
2092 |
+
<?php else : ?>
|
2093 |
+
<textarea rows="<?php echo esc_attr( $rows ); ?>"
|
2094 |
+
class="<?php echo esc_attr( 'gfpdf_settings_' . $args['id'] ); ?> large-text <?php echo esc_attr( $class ); ?>"
|
2095 |
+
id="gfpdf_settings[<?php echo esc_attr( $args['id'] ); ?>]"
|
2096 |
+
name="gfpdf_settings[<?php echo esc_attr( $args['id'] ); ?>]"
|
2097 |
+
>
|
2098 |
+
<?php echo esc_textarea( $value ); ?>
|
2099 |
+
</textarea>
|
2100 |
+
<?php endif; ?>
|
2101 |
+
|
2102 |
+
<?php if ( $toggle !== false ): ?>
|
2103 |
+
<?php $this->end_toggle_input(); ?>
|
2104 |
+
<?php endif; ?>
|
2105 |
+
|
2106 |
+
<?php echo wp_kses_post( $args['desc2'] ); ?>
|
2107 |
|
2108 |
+
<?php
|
2109 |
}
|
2110 |
|
2111 |
/**
|
2123 |
|
2124 |
/* get selected value (if any) */
|
2125 |
$value = $this->get_form_value( $args );
|
2126 |
+
$uploader_title = $args['uploaderTitle'] ?? __( 'Select Media', 'gravity-forms-pdf-extended' );
|
2127 |
+
$uploader_button_text = $args['uploaderButtonText'] ?? __( 'Select Media', 'gravity-forms-pdf-extended' );
|
2128 |
+
$button_text = $args['buttonText'] ?? __( 'Upload File', 'gravity-forms-pdf-extended' );
|
2129 |
+
$class = $args['inputClass'] ?? '';
|
2130 |
$required = ( isset( $args['required'] ) && $args['required'] === true ) ? 'required' : '';
|
2131 |
+
$size = ( isset( $args['size'] ) && ! is_null( $args['size'] ) ) ? $args['size'] : 'regular';
|
|
|
2132 |
|
2133 |
+
?>
|
|
|
|
|
|
|
2134 |
|
2135 |
+
<div class="gform-settings-description gform-kitchen-sink">
|
2136 |
+
<label for="gfpdf_settings[<?php echo esc_attr( $args['id'] ); ?>]">
|
2137 |
+
<?php echo wp_kses_post( $args['desc'] ); ?>
|
2138 |
+
</label>
|
2139 |
+
</div>
|
2140 |
+
|
2141 |
+
<div class="gfpdf-upload-setting-container">
|
2142 |
+
<input type="text"
|
2143 |
+
class="<?php echo esc_attr( $size . '-text' ); ?> <?php echo esc_attr( 'gfpdf_settings_' . $args['id'] ); ?> <?php echo esc_attr( $class ); ?>"
|
2144 |
+
id="gfpdf_settings[<?php echo esc_attr( $args['id'] ); ?>]"
|
2145 |
+
name="gfpdf_settings[<?php echo esc_attr( $args['id'] ); ?>]"
|
2146 |
+
value="<?php echo esc_attr( $value ); ?>"
|
2147 |
+
<?php echo esc_attr( $required ); ?>
|
2148 |
+
/>
|
2149 |
+
|
2150 |
+
<input type="button"
|
2151 |
+
class="gfpdf_settings_upload_button button-secondary"
|
2152 |
+
data-uploader-title="<?php echo esc_attr( $uploader_title ); ?>"
|
2153 |
+
data-uploader-button-text="<?php echo esc_attr( $uploader_button_text ); ?>"
|
2154 |
+
value="<?php echo esc_attr( $button_text ); ?>"
|
2155 |
+
/>
|
2156 |
+
</div>
|
2157 |
+
|
2158 |
+
<?php echo wp_kses_post( $args['desc2'] ); ?>
|
2159 |
+
|
2160 |
+
<?php
|
2161 |
}
|
2162 |
|
2163 |
|
2175 |
public function color_callback( $args ) {
|
2176 |
|
2177 |
/* get selected value (if any) */
|
2178 |
+
$value = $this->get_form_value( $args );
|
2179 |
+
$default = $args['std'] ?? '';
|
2180 |
+
$class = $args['inputClass'] ?? '';
|
2181 |
+
$required = ( isset( $args['required'] ) && $args['required'] === true ) ? 'required' : '';
|
2182 |
+
|
2183 |
+
?>
|
2184 |
+
|
2185 |
+
<div class="gform-settings-description gform-kitchen-sink">
|
2186 |
+
<label for="gfpdf_settings[<?php echo esc_attr( $args['id'] ); ?>]">
|
2187 |
+
<?php echo wp_kses_post( $args['desc'] ); ?>
|
2188 |
+
</label>
|
2189 |
+
</div>
|
2190 |
|
2191 |
+
<div>
|
2192 |
+
<input type="text"
|
2193 |
+
class="gfpdf-color-picker <?php echo esc_attr( 'gfpdf_settings_' . $args['id'] ); ?> <?php echo esc_attr( $class ); ?>"
|
2194 |
+
id="gfpdf_settings[<?php echo esc_attr( $args['id'] ); ?>]"
|
2195 |
+
name="gfpdf_settings[<?php echo esc_attr( $args['id'] ); ?>]"
|
2196 |
+
value="<?php echo esc_attr( $value ); ?>"
|
2197 |
+
data-default-color="<?php echo esc_attr( $default ); ?>"
|
2198 |
+
<?php echo esc_attr( $required ); ?>
|
2199 |
+
/>
|
2200 |
+
</div>
|
2201 |
|
2202 |
+
<?php
|
2203 |
}
|
2204 |
|
2205 |
/**
|
2215 |
*/
|
2216 |
public function button_callback( $args ) {
|
2217 |
|
|
|
2218 |
$input_data = ( isset( $args['data'] ) && is_array( $args['data'] ) ) ? $args['data'] : [];
|
2219 |
+
$class = $args['inputClass'] ?? '';
|
2220 |
|
2221 |
+
?>
|
2222 |
|
2223 |
+
<div class="gform-settings-description gform-kitchen-sink">
|
2224 |
+
<?php echo wp_kses_post( $args['desc'] ); ?>
|
2225 |
+
</div>
|
2226 |
|
2227 |
+
<div id="gfpdf-button-wrapper-<?php echo esc_attr( $args['id'] ); ?>">
|
2228 |
+
<button id="gfpdf_settings[<?php echo esc_attr( $args['id'] ); ?>]"
|
2229 |
+
name="gfpdf_settings[<?php echo esc_attr( $args['id'] ); ?>][name]"
|
2230 |
+
value="<?php echo esc_attr( $args['id'] ); ?>"
|
2231 |
+
class="button gfpdf-button <?php echo esc_attr( $class ); ?>"
|
2232 |
+
type="submit"
|
2233 |
+
<?php foreach ( $input_data as $data_id => $data_value ): ?>
|
2234 |
+
<?php echo esc_html( 'data-' . $data_id ); ?>="<?php echo esc_attr( $data_value ); ?>";
|
2235 |
+
<?php endforeach; ?>
|
2236 |
+
>
|
2237 |
+
<?php echo esc_html( $args['std'] ); ?>
|
2238 |
+
</button>
|
2239 |
+
</div>
|
2240 |
|
2241 |
+
<input type="hidden"
|
2242 |
+
name="gfpdf_settings[<?php echo esc_attr( $args['id'] ); ?>][nonce]"
|
2243 |
+
value="<?php echo esc_attr( wp_create_nonce( 'gfpdf_settings[' . $args['id'] . ']' ) ); ?>"
|
2244 |
+
/>
|
2245 |
|
2246 |
+
<?php
|
2247 |
}
|
2248 |
|
2249 |
/**
|
2259 |
$value = 'Yes';
|
2260 |
}
|
2261 |
|
2262 |
+
$class = $args['inputClass'] ?? '';
|
2263 |
+
$name = $args['name'] ?? '';
|
|
|
2264 |
|
2265 |
?>
|
2266 |
+
<div class="gform-settings-field gform-settings-field__toggle <?php echo esc_attr( $class ); ?>">
|
2267 |
+
<div class="gform-settings-description gform-kitchen-sink"><?php echo wp_kses_post( $args['desc'] ); ?></div>
|
2268 |
|
2269 |
<span class="gform-settings-input__container">
|
2270 |
+
<input type="checkbox" id="gfpdf_settings[<?php echo esc_attr( $args['id'] ); ?>]" name="gfpdf_settings[<?php echo esc_attr( $args['id'] ); ?>]" value="Yes" <?php echo checked( $value, 'Yes', false ); ?> />
|
2271 |
+
<label class="gform-field__toggle-container" for="gfpdf_settings[<?php echo esc_attr( $args['id'] ); ?>]">
|
2272 |
+
<?php if ( ! empty( $name ) ): ?>
|
2273 |
+
<span class="screen-reader-text"><?php echo esc_html( $name ); ?></span>
|
2274 |
<?php endif; ?>
|
2275 |
|
2276 |
<span class="gform-field__toggle-switch"></span>
|
2277 |
</label>
|
2278 |
</span>
|
2279 |
|
2280 |
+
<?php echo wp_kses_post( $args['desc2'] ); ?>
|
2281 |
</div>
|
2282 |
<?php
|
2283 |
}
|
2299 |
|
2300 |
$this->checkbox_callback( $args );
|
2301 |
|
2302 |
+
?>
|
2303 |
+
|
2304 |
+
<div id="gfpdf_conditional_logic_container" class="gform-settings-field__conditional-logic" style="display: none">
|
2305 |
<!-- content dynamically created from form_admin.js -->
|
2306 |
+
</div>
|
2307 |
|
2308 |
+
<?php
|
2309 |
}
|
2310 |
|
2311 |
/**
|
2321 |
|
2322 |
/* get selected value (if any) */
|
2323 |
$value = $this->get_form_value( $args );
|
2324 |
+
$class = $args['inputClass'] ?? '';
|
2325 |
$input_data = ( isset( $args['data'] ) && is_array( $args['data'] ) ) ? $args['data'] : [];
|
|
|
2326 |
|
2327 |
+
?>
|
|
|
|
|
|
|
|
|
2328 |
|
2329 |
+
<input type="hidden"
|
2330 |
+
id="gfpdf_settings[<?php echo esc_attr( $args['id'] ); ?>]"
|
2331 |
+
class="<?php echo esc_attr( 'gfpdf_settings_' . $args['id'] ); ?> <?php echo esc_attr( $class ); ?>"
|
2332 |
+
name="gfpdf_settings[<?php echo esc_attr( $args['id'] ); ?>]"
|
2333 |
+
value="<?php echo esc_attr( $value ); ?>"
|
2334 |
+
<?php foreach ( $input_data as $data_id => $data_value ): ?>
|
2335 |
+
<?php echo esc_html( 'data-' . $data_id ); ?>="<?php echo esc_attr( $data_value ); ?>";
|
2336 |
+
<?php endforeach; ?>
|
2337 |
+
/>
|
2338 |
|
2339 |
+
<?php
|
2340 |
}
|
2341 |
|
2342 |
/**
|
2357 |
$value = [ '', '', 'mm' ];
|
2358 |
}
|
2359 |
|
2360 |
+
$placeholder = $args['placeholder'] ?? '';
|
2361 |
+
$class = $args['inputClass'] ?? '';
|
2362 |
+
$size = ( isset( $args['size'] ) && ! is_null( $args['size'] ) ) ? $args['size'] : 'regular';
|
2363 |
+
|
2364 |
+
?>
|
2365 |
+
|
2366 |
+
<div class="gform-settings-description gform-kitchen-sink">
|
2367 |
+
<label for="gfpdf_settings[<?php echo esc_attr( $args['id'] ); ?>]">
|
2368 |
+
<?php echo wp_kses_post( $args['desc'] ); ?>
|
2369 |
+
</label>
|
2370 |
+
</div>
|
2371 |
|
2372 |
+
<?php esc_html_e( 'Width', 'gravity-forms-pdf-extended' ); ?>
|
2373 |
+
<input type="number"
|
2374 |
+
class="<?php echo esc_attr( $size . '-text' ); ?> <?php echo esc_attr( 'gfpdf_settings_' . $args['id'] ); ?>"
|
2375 |
+
id="gfpdf_settings[<?php echo esc_attr( $args['id'] ); ?>]_width"
|
2376 |
+
min="0"
|
2377 |
+
style="width: 6rem"
|
2378 |
+
name="gfpdf_settings[<?php echo esc_attr( $args['id'] ); ?>][]"
|
2379 |
+
value="<?php echo esc_attr( $value[0] ); ?>"
|
2380 |
+
/>
|
2381 |
+
|
2382 |
+
|
2383 |
+
|
2384 |
+
<?php esc_html_e( 'Height', 'gravity-forms-pdf-extended' ); ?>
|
2385 |
+
<input type="number"
|
2386 |
+
class="<?php echo esc_attr( $size . '-text' ); ?> <?php echo esc_attr( 'gfpdf_settings_' . $args['id'] ); ?>"
|
2387 |
+
id="gfpdf_settings[<?php echo esc_attr( $args['id'] ); ?>]_height"
|
2388 |
+
min="0"
|
2389 |
+
style="width: 6rem"
|
2390 |
+
name="gfpdf_settings[<?php echo esc_attr( $args['id'] ); ?>][]"
|
2391 |
+
value="<?php echo esc_attr( $value[1] ); ?>"
|
2392 |
+
/>
|
2393 |
+
|
2394 |
+
|
2395 |
|
2396 |
+
<?php
|
2397 |
+
$measure_value = $value[2] ?? '';
|
2398 |
+
$measurement = apply_filters(
|
2399 |
'gfpdf_paper_size_dimensions',
|
2400 |
[
|
2401 |
'millimeters' => esc_html__( 'mm', 'gravity-forms-pdf-extended' ),
|
2403 |
]
|
2404 |
);
|
2405 |
|
2406 |
+
?>
|
2407 |
|
2408 |
+
<select id="gfpdf_settings[<?php echo esc_attr( $args['id'] ); ?>]_measurement"
|
2409 |
+
style="width: 6rem"
|
2410 |
+
class="<?php echo esc_attr( 'gfpdf_settings_' . $args['id'] ); ?> <?php echo esc_attr( $class ); ?>"
|
2411 |
+
name="gfpdf_settings[<?php echo esc_attr( $args['id'] ); ?>][]"
|
2412 |
+
data-placeholder="<?php echo esc_attr( $placeholder ); ?>"
|
2413 |
+
>
|
2414 |
+
|
2415 |
+
<?php foreach ( $measurement as $key => $val ): ?>
|
2416 |
+
<option value="<?php echo esc_attr( $key ); ?>" <?php selected( $measure_value, $key ); ?>>
|
2417 |
+
<?php echo esc_html( $val ); ?>
|
2418 |
+
</option>
|
2419 |
+
<?php endforeach; ?>
|
2420 |
|
2421 |
+
</select>
|
|
|
2422 |
|
2423 |
+
<?php echo wp_kses_post( $args['desc2'] ); ?>
|
2424 |
+
|
2425 |
+
<?php
|
2426 |
}
|
2427 |
|
2428 |
/**
|
2467 |
*
|
2468 |
*/
|
2469 |
public function missing_callback( $args ) {
|
2470 |
+
echo wp_kses_post( sprintf( __( 'The callback used for the %s setting is missing.', 'gravity-forms-pdf-extended' ), "<strong>{$args['id']}</strong>" ) );
|
2471 |
}
|
2472 |
|
2473 |
/**
|
2481 |
*/
|
2482 |
public function create_toggle_input( $toggle, $html, $value ) {
|
2483 |
|
2484 |
+
$has_value = ( $value !== '' ) ? 1 : 0;
|
|
|
2485 |
|
2486 |
$toggle_elm = '<label><input class="gfpdf-input-toggle" type="checkbox" value="1" ' . checked( $has_value, 1, false ) . ' /> ' . esc_attr( $toggle ) . '</label>';
|
2487 |
|
2488 |
+
$html = '<div class="gfpdf-toggle-wrapper" ' . ( ( ! $has_value ) ? 'style="display: none;"' : '' ) . '>' .
|
2489 |
$html .
|
2490 |
'</div>';
|
2491 |
|
2493 |
|
2494 |
return $html;
|
2495 |
}
|
2496 |
+
|
2497 |
+
/**
|
2498 |
+
* Creates jQuery toggle functionality for the current field
|
2499 |
+
*
|
2500 |
+
* @param string $toggle The text to be used in the toggle
|
2501 |
+
* @param string $value Whether the field currently has a value
|
2502 |
+
*
|
2503 |
+
* @return void
|
2504 |
+
*
|
2505 |
+
* @since 6.4
|
2506 |
+
*/
|
2507 |
+
public function start_toggle_input( $toggle, $value ) {
|
2508 |
+
$has_value = ! empty( $value ) ? 1 : 0;
|
2509 |
+
|
2510 |
+
?>
|
2511 |
+
|
2512 |
+
<label>
|
2513 |
+
<input class="gfpdf-input-toggle"
|
2514 |
+
type="checkbox"
|
2515 |
+
value="1"
|
2516 |
+
<?php checked( $has_value, 1 ); ?>
|
2517 |
+
/>
|
2518 |
+
|
2519 |
+
<?php echo esc_html( $toggle ); ?>
|
2520 |
+
</label>
|
2521 |
+
|
2522 |
+
<div class="gfpdf-toggle-wrapper" style="<?php echo esc_attr( $has_value === 0 ? 'display: none;' : '' ); ?>">
|
2523 |
+
|
2524 |
+
<?php
|
2525 |
+
}
|
2526 |
+
|
2527 |
+
/**
|
2528 |
+
* Close the toggle input container
|
2529 |
+
*
|
2530 |
+
* @return void
|
2531 |
+
*
|
2532 |
+
* @since 6.4
|
2533 |
+
*/
|
2534 |
+
public function end_toggle_input() {
|
2535 |
+
?>
|
2536 |
+
</div>
|
2537 |
+
<?php
|
2538 |
+
}
|
2539 |
}
|
src/Helper/Helper_Abstract_Pdf_Shortcode.php
CHANGED
@@ -95,7 +95,7 @@ abstract class Helper_Abstract_Pdf_Shortcode extends Helper_Abstract_Model {
|
|
95 |
*
|
96 |
* @since 4.0
|
97 |
*/
|
98 |
-
public
|
99 |
|
100 |
/**
|
101 |
* Try get the Entry ID from specific $_GET keys
|
@@ -113,9 +113,11 @@ abstract class Helper_Abstract_Pdf_Shortcode extends Helper_Abstract_Model {
|
|
113 |
return $entry_id;
|
114 |
}
|
115 |
|
|
|
116 |
if ( isset( $_GET['lid'] ) || isset( $_GET['entry'] ) ) {
|
117 |
return isset( $_GET['lid'] ) ? (int) $_GET['lid'] : (int) $_GET['entry'];
|
118 |
}
|
|
|
119 |
|
120 |
throw new GravityPdfShortcodeEntryIdException();
|
121 |
}
|
@@ -314,17 +316,20 @@ abstract class Helper_Abstract_Pdf_Shortcode extends Helper_Abstract_Model {
|
|
314 |
*/
|
315 |
public function gravitypdf_redirect_confirmation( $form ) {
|
316 |
|
317 |
-
/*
|
|
|
318 |
if ( isset( $_POST['confirmation_id'] ) ) {
|
319 |
|
320 |
$this->log->notice(
|
321 |
'Begin Converting Shortcode to URL for Redirect Confirmation',
|
322 |
[
|
323 |
'form_id' => $form['id'],
|
|
|
324 |
'post' => $_POST,
|
325 |
]
|
326 |
);
|
327 |
|
|
|
328 |
$url = stripslashes_deep( $_POST['_gform_setting_url'] );
|
329 |
|
330 |
/* check if our shortcode exists and convert it to a URL */
|
95 |
*
|
96 |
* @since 4.0
|
97 |
*/
|
98 |
+
abstract public function process( $attributes );
|
99 |
|
100 |
/**
|
101 |
* Try get the Entry ID from specific $_GET keys
|
113 |
return $entry_id;
|
114 |
}
|
115 |
|
116 |
+
/* phpcs:disable WordPress.Security.NonceVerification.Recommended */
|
117 |
if ( isset( $_GET['lid'] ) || isset( $_GET['entry'] ) ) {
|
118 |
return isset( $_GET['lid'] ) ? (int) $_GET['lid'] : (int) $_GET['entry'];
|
119 |
}
|
120 |
+
/* phpcs:enable */
|
121 |
|
122 |
throw new GravityPdfShortcodeEntryIdException();
|
123 |
}
|
316 |
*/
|
317 |
public function gravitypdf_redirect_confirmation( $form ) {
|
318 |
|
319 |
+
/* Check if the confirmation is currently being saved */
|
320 |
+
/* phpcs:ignore WordPress.Security.NonceVerification.Missing */
|
321 |
if ( isset( $_POST['confirmation_id'] ) ) {
|
322 |
|
323 |
$this->log->notice(
|
324 |
'Begin Converting Shortcode to URL for Redirect Confirmation',
|
325 |
[
|
326 |
'form_id' => $form['id'],
|
327 |
+
/* phpcs:ignore WordPress.Security.NonceVerification.Missing */
|
328 |
'post' => $_POST,
|
329 |
]
|
330 |
);
|
331 |
|
332 |
+
/* phpcs:ignore WordPress.Security.NonceVerification.Missing */
|
333 |
$url = stripslashes_deep( $_POST['_gform_setting_url'] );
|
334 |
|
335 |
/* check if our shortcode exists and convert it to a URL */
|
src/Helper/Helper_Abstract_View.php
CHANGED
@@ -98,6 +98,13 @@ abstract class Helper_Abstract_View extends Helper_Abstract_Model {
|
|
98 |
*/
|
99 |
final protected function load( $filename, $args = [], $output = true ) {
|
100 |
$path = $this->get_view_dir_path() . $filename . '.php';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
101 |
$args = array_merge( $this->data_cache, $args );
|
102 |
|
103 |
if ( is_readable( $path ) ) {
|
@@ -107,12 +114,9 @@ abstract class Helper_Abstract_View extends Helper_Abstract_Model {
|
|
107 |
/* Include our $gfpdf object automatically */
|
108 |
global $gfpdf;
|
109 |
|
110 |
-
/*
|
111 |
-
|
112 |
-
|
113 |
-
*/
|
114 |
-
extract( $args, EXTR_SKIP ); /* skip any arguments that would clash - i.e filename, args, output, path, this */
|
115 |
-
/* phpcs:enable */
|
116 |
|
117 |
include $path;
|
118 |
|
@@ -136,16 +140,13 @@ abstract class Helper_Abstract_View extends Helper_Abstract_Model {
|
|
136 |
* @since 4.0
|
137 |
*/
|
138 |
private function buffer( $path, $args = [] ) {
|
139 |
-
/*
|
140 |
-
* for backwards compatibility extract the $args variable
|
141 |
-
* phpcs:disable -- disable warning about `extract`
|
142 |
-
*/
|
143 |
-
extract( $args, EXTR_SKIP ); /* skip any arguments that would clash - i.e filename, args, output, path, this */
|
144 |
-
/* phpcs:enable */
|
145 |
-
|
146 |
/* Include our $gfpdf object automatically */
|
147 |
global $gfpdf;
|
148 |
|
|
|
|
|
|
|
|
|
149 |
ob_start();
|
150 |
include $path;
|
151 |
|
98 |
*/
|
99 |
final protected function load( $filename, $args = [], $output = true ) {
|
100 |
$path = $this->get_view_dir_path() . $filename . '.php';
|
101 |
+
|
102 |
+
/* Additional validation on the path to ensure $filename stays in the $this->get_view_dir_path() directory and doesn't traverse it */
|
103 |
+
$path_to_test = realpath( $path );
|
104 |
+
if ( $path_to_test === false || strpos( $path_to_test, realpath( $this->get_view_dir_path() ) ) !== 0 ) {
|
105 |
+
return new WP_Error( 'invalid_path', sprintf( esc_html__( '%s is an invalid filename', 'gravity-forms-pdf-extended' ), $filename ) );
|
106 |
+
}
|
107 |
+
|
108 |
$args = array_merge( $this->data_cache, $args );
|
109 |
|
110 |
if ( is_readable( $path ) ) {
|
114 |
/* Include our $gfpdf object automatically */
|
115 |
global $gfpdf;
|
116 |
|
117 |
+
/* For backwards compatibility extract the $args variable */
|
118 |
+
/* phpcs:ignore WordPress.PHP.DontExtract.extract_extract */
|
119 |
+
extract( $args, EXTR_SKIP ); /* skip any arguments that would clash - i.e gfpdf, filename, args, output, path, this */
|
|
|
|
|
|
|
120 |
|
121 |
include $path;
|
122 |
|
140 |
* @since 4.0
|
141 |
*/
|
142 |
private function buffer( $path, $args = [] ) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
143 |
/* Include our $gfpdf object automatically */
|
144 |
global $gfpdf;
|
145 |
|
146 |
+
/* for backwards compatibility extract the $args variable */
|
147 |
+
/* phpcs:ignore WordPress.PHP.DontExtract.extract_extract */
|
148 |
+
extract( $args, EXTR_SKIP ); /* skip any arguments that would clash - i.e gfpdf, args, path, this */
|
149 |
+
|
150 |
ob_start();
|
151 |
include $path;
|
152 |
|
src/Helper/Helper_Data.php
CHANGED
@@ -77,6 +77,8 @@ class Helper_Data {
|
|
77 |
*
|
78 |
* @return mixed The data assigned to the $name property is returned
|
79 |
*
|
|
|
|
|
80 |
* @since 4.0
|
81 |
*/
|
82 |
public function &__get( $name ) {
|
@@ -87,20 +89,7 @@ class Helper_Data {
|
|
87 |
return $this->data[ $name ];
|
88 |
}
|
89 |
|
90 |
-
|
91 |
-
$trace = debug_backtrace();
|
92 |
-
/* phpcs:enable */
|
93 |
-
trigger_error(
|
94 |
-
'Undefined property via __get(): ' . $name .
|
95 |
-
' in ' . $trace[0]['file'] .
|
96 |
-
' on line ' . $trace[0]['line'],
|
97 |
-
E_USER_NOTICE
|
98 |
-
);
|
99 |
-
|
100 |
-
/* because we are returning by reference we need return something that can be referenced */
|
101 |
-
$value = null;
|
102 |
-
|
103 |
-
return $value;
|
104 |
}
|
105 |
|
106 |
/**
|
@@ -221,7 +210,7 @@ class Helper_Data {
|
|
221 |
'pdfWorkingDir' => PDF_TEMPLATE_LOCATION,
|
222 |
'pluginUrl' => PDF_PLUGIN_URL,
|
223 |
'pluginPath' => PDF_PLUGIN_DIR,
|
224 |
-
'customFontData' =>
|
225 |
'userCapabilities' => $user_capabilities,
|
226 |
|
227 |
'spinnerUrl' => admin_url( 'images/spinner-2x.gif' ),
|
77 |
*
|
78 |
* @return mixed The data assigned to the $name property is returned
|
79 |
*
|
80 |
+
* @throws \Exception
|
81 |
+
*
|
82 |
* @since 4.0
|
83 |
*/
|
84 |
public function &__get( $name ) {
|
89 |
return $this->data[ $name ];
|
90 |
}
|
91 |
|
92 |
+
throw new \Exception( 'Could not find stored Gravity PDF data with matching name: ' . $name );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
93 |
}
|
94 |
|
95 |
/**
|
210 |
'pdfWorkingDir' => PDF_TEMPLATE_LOCATION,
|
211 |
'pluginUrl' => PDF_PLUGIN_URL,
|
212 |
'pluginPath' => PDF_PLUGIN_DIR,
|
213 |
+
'customFontData' => wp_json_encode( $custom_fonts ),
|
214 |
'userCapabilities' => $user_capabilities,
|
215 |
|
216 |
'spinnerUrl' => admin_url( 'images/spinner-2x.gif' ),
|
src/Helper/Helper_Field_Container.php
CHANGED
@@ -227,7 +227,7 @@ class Helper_Field_Container {
|
|
227 |
|
228 |
/* Check if we should create a placeholder column */
|
229 |
if ( $this->faux_column && $this->does_fit_in_row( $field ) ) {
|
230 |
-
echo '<div id="field-' . $field->id . '" class="gfpdf-column-placeholder gfpdf-field ' . $field->cssClass . '"></div>';
|
231 |
|
232 |
/* Increase column width */
|
233 |
$this->increment_width( $field->cssClass );
|
@@ -312,6 +312,7 @@ class Helper_Field_Container {
|
|
312 |
protected function open_container() {
|
313 |
|
314 |
$class = $this->is_row_odd_or_even();
|
|
|
315 |
echo str_replace( 'row-separator', 'row-separator ' . $class, $this->open_tag );
|
316 |
|
317 |
$this->increment_row_counter();
|
@@ -325,6 +326,7 @@ class Helper_Field_Container {
|
|
325 |
* @since 4.0
|
326 |
*/
|
327 |
protected function close_container() {
|
|
|
328 |
echo $this->close_tag;
|
329 |
}
|
330 |
|
227 |
|
228 |
/* Check if we should create a placeholder column */
|
229 |
if ( $this->faux_column && $this->does_fit_in_row( $field ) ) {
|
230 |
+
echo '<div id="' . esc_html( 'field-' . $field->id ) . '" class="gfpdf-column-placeholder gfpdf-field ' . esc_html( $field->cssClass ) . '"></div>';
|
231 |
|
232 |
/* Increase column width */
|
233 |
$this->increment_width( $field->cssClass );
|
312 |
protected function open_container() {
|
313 |
|
314 |
$class = $this->is_row_odd_or_even();
|
315 |
+
/* phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped */
|
316 |
echo str_replace( 'row-separator', 'row-separator ' . $class, $this->open_tag );
|
317 |
|
318 |
$this->increment_row_counter();
|
326 |
* @since 4.0
|
327 |
*/
|
328 |
protected function close_container() {
|
329 |
+
/* phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped */
|
330 |
echo $this->close_tag;
|
331 |
}
|
332 |
|
src/Helper/Helper_Field_Container_Gf25.php
CHANGED
@@ -113,7 +113,7 @@ class Helper_Field_Container_Gf25 extends Helper_Field_Container {
|
|
113 |
|
114 |
$row_html = ob_get_clean();
|
115 |
|
116 |
-
/*
|
117 |
try {
|
118 |
$qp = new Helper_QueryPath();
|
119 |
echo $qp->html5( $row_html, '.grid:last-of-type .inner-container' )
|
@@ -122,6 +122,7 @@ class Helper_Field_Container_Gf25 extends Helper_Field_Container {
|
|
122 |
} catch ( \Exception $e ) {
|
123 |
echo $row_html;
|
124 |
}
|
|
|
125 |
}
|
126 |
}
|
127 |
|
113 |
|
114 |
$row_html = ob_get_clean();
|
115 |
|
116 |
+
/* phpcs:disable WordPress.Security.EscapeOutput.OutputNotEscaped */
|
117 |
try {
|
118 |
$qp = new Helper_QueryPath();
|
119 |
echo $qp->html5( $row_html, '.grid:last-of-type .inner-container' )
|
122 |
} catch ( \Exception $e ) {
|
123 |
echo $row_html;
|
124 |
}
|
125 |
+
/* phpcs:enable */
|
126 |
}
|
127 |
}
|
128 |
|
src/Helper/Helper_Logger.php
CHANGED
@@ -116,8 +116,8 @@ class Helper_Logger {
|
|
116 |
|
117 |
/* Check if we have a handler pushed and add our Introspection and Memory Peak usage processors */
|
118 |
if ( count( $this->log->getHandlers() ) > 0 && substr( php_sapi_name(), 0, 3 ) !== 'cli' ) {
|
119 |
-
$this->log->pushProcessor( new IntrospectionProcessor );
|
120 |
-
$this->log->pushProcessor( new MemoryPeakUsageProcessor );
|
121 |
|
122 |
$this->log->notice( 'Log initialized' );
|
123 |
|
116 |
|
117 |
/* Check if we have a handler pushed and add our Introspection and Memory Peak usage processors */
|
118 |
if ( count( $this->log->getHandlers() ) > 0 && substr( php_sapi_name(), 0, 3 ) !== 'cli' ) {
|
119 |
+
$this->log->pushProcessor( new IntrospectionProcessor() );
|
120 |
+
$this->log->pushProcessor( new MemoryPeakUsageProcessor() );
|
121 |
|
122 |
$this->log->notice( 'Log initialized' );
|
123 |
|
src/Helper/Helper_Misc.php
CHANGED
@@ -80,13 +80,13 @@ class Helper_Misc {
|
|
80 |
*
|
81 |
*/
|
82 |
public function is_gfpdf_page() {
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
) {
|
87 |
return true;
|
88 |
}
|
89 |
}
|
|
|
90 |
|
91 |
return false;
|
92 |
}
|
@@ -101,13 +101,11 @@ class Helper_Misc {
|
|
101 |
*
|
102 |
*/
|
103 |
public function is_gfpdf_settings_tab( $name ) {
|
104 |
-
if ( is_admin() ) {
|
105 |
-
|
106 |
-
|
107 |
-
|
108 |
-
|
109 |
-
return true;
|
110 |
-
}
|
111 |
}
|
112 |
}
|
113 |
|
@@ -163,7 +161,7 @@ class Helper_Misc {
|
|
163 |
*/
|
164 |
public function fix_header_footer( $html ) {
|
165 |
|
166 |
-
$html =
|
167 |
$html = trim( wpautop( $html ) );
|
168 |
$html = $this->fix_header_footer_images( $html );
|
169 |
|
@@ -367,7 +365,7 @@ class Helper_Misc {
|
|
367 |
);
|
368 |
|
369 |
foreach ( $files as $fileinfo ) {
|
370 |
-
$function
|
371 |
$real_path = $fileinfo->getRealPath();
|
372 |
if ( ! $function( $real_path ) ) {
|
373 |
throw new Exception( 'Could not run ' . $function . ' on ' . $real_path );
|
@@ -447,6 +445,7 @@ class Helper_Misc {
|
|
447 |
|
448 |
foreach ( $files as $fileinfo ) {
|
449 |
if ( $fileinfo->isDir() && ! file_exists( $destination . $files->getSubPathName() ) ) {
|
|
|
450 |
if ( ! @mkdir( $destination . $files->getSubPathName() ) ) {
|
451 |
$this->log->error(
|
452 |
'Failed Creating Folder',
|
@@ -594,14 +593,14 @@ class Helper_Misc {
|
|
594 |
require_once ABSPATH . 'wp-admin/includes/file.php';
|
595 |
}
|
596 |
|
597 |
-
/* If that didn't work let's try
|
598 |
$try_path = str_replace( home_url(), get_home_path(), $url );
|
599 |
|
600 |
if ( is_file( $try_path ) ) {
|
601 |
return $try_path;
|
602 |
}
|
603 |
|
604 |
-
/* If that didn't work let's try
|
605 |
$try_path = str_replace( site_url(), ABSPATH, $url );
|
606 |
|
607 |
if ( is_file( $try_path ) ) {
|
@@ -652,14 +651,14 @@ class Helper_Misc {
|
|
652 |
require_once ABSPATH . 'wp-admin/includes/file.php';
|
653 |
}
|
654 |
|
655 |
-
/* If that didn't work let's try
|
656 |
$try_url = str_replace( get_home_path(), home_url(), $path );
|
657 |
|
658 |
if ( $try_url !== $path ) {
|
659 |
return $try_url;
|
660 |
}
|
661 |
|
662 |
-
/* If that didn't work let's try
|
663 |
$try_url = str_replace( ABSPATH, site_url(), $path );
|
664 |
|
665 |
if ( $try_url !== $path ) {
|
@@ -890,7 +889,7 @@ class Helper_Misc {
|
|
890 |
$entry_details_file = GFCommon::get_base_path() . '/entry_detail.php';
|
891 |
|
892 |
if ( is_file( $entry_details_file ) ) {
|
893 |
-
require_once
|
894 |
}
|
895 |
}
|
896 |
}
|
@@ -906,9 +905,9 @@ class Helper_Misc {
|
|
906 |
*/
|
907 |
public function in_array( $needle, $haystack, $strict = true ) {
|
908 |
foreach ( $haystack as $item ) {
|
909 |
-
/* phpcs:
|
910 |
if ( ( $strict ? $item === $needle : $item == $needle ) ||
|
911 |
-
|
912 |
) {
|
913 |
return true;
|
914 |
}
|
@@ -953,15 +952,14 @@ class Helper_Misc {
|
|
953 |
'Running AJAX Endpoint',
|
954 |
[
|
955 |
'type' => $endpoint_desc,
|
|
|
956 |
'post' => $_POST,
|
957 |
]
|
958 |
);
|
959 |
|
960 |
-
/*
|
961 |
-
|
962 |
-
|
963 |
-
$nonce = ( isset( $_POST['nonce'] ) ) ? $_POST['nonce'] : '';
|
964 |
-
if ( ! wp_verify_nonce( $nonce, $nonce_name ) ) {
|
965 |
|
966 |
$this->log->warning( 'Nonce Verification Failed' );
|
967 |
|
80 |
*
|
81 |
*/
|
82 |
public function is_gfpdf_page() {
|
83 |
+
/* phpcs:disable WordPress.Security.NonceVerification.Recommended */
|
84 |
+
if ( is_admin() && ( ! empty( $_GET['page'] ) || ! empty( $_GET['subview'] ) ) ) {
|
85 |
+
if ( strpos( $_GET['page'] ?? '', 'gfpdf-' ) === 0 || strtoupper( $_GET['subview'] ?? '' ) === 'PDF' ) {
|
|
|
86 |
return true;
|
87 |
}
|
88 |
}
|
89 |
+
/* phpcs:enable */
|
90 |
|
91 |
return false;
|
92 |
}
|
101 |
*
|
102 |
*/
|
103 |
public function is_gfpdf_settings_tab( $name ) {
|
104 |
+
if ( is_admin() && $this->is_gfpdf_page() ) {
|
105 |
+
/* phpcs:ignore WordPress.Security.NonceVerification.Recommended */
|
106 |
+
$tab = $_GET['tab'] ?? 'general';
|
107 |
+
if ( $name === $tab ) {
|
108 |
+
return true;
|
|
|
|
|
109 |
}
|
110 |
}
|
111 |
|
161 |
*/
|
162 |
public function fix_header_footer( $html ) {
|
163 |
|
164 |
+
$html = \GFPDF\Statics\Kses::parse( $html );
|
165 |
$html = trim( wpautop( $html ) );
|
166 |
$html = $this->fix_header_footer_images( $html );
|
167 |
|
365 |
);
|
366 |
|
367 |
foreach ( $files as $fileinfo ) {
|
368 |
+
$function = ( $fileinfo->isDir() ) ? 'rmdir' : 'unlink';
|
369 |
$real_path = $fileinfo->getRealPath();
|
370 |
if ( ! $function( $real_path ) ) {
|
371 |
throw new Exception( 'Could not run ' . $function . ' on ' . $real_path );
|
445 |
|
446 |
foreach ( $files as $fileinfo ) {
|
447 |
if ( $fileinfo->isDir() && ! file_exists( $destination . $files->getSubPathName() ) ) {
|
448 |
+
/* phpcs:ignore WordPress.PHP.NoSilencedErrors.Discouraged */
|
449 |
if ( ! @mkdir( $destination . $files->getSubPathName() ) ) {
|
450 |
$this->log->error(
|
451 |
'Failed Creating Folder',
|
593 |
require_once ABSPATH . 'wp-admin/includes/file.php';
|
594 |
}
|
595 |
|
596 |
+
/* If that didn't work let's try the home url instead */
|
597 |
$try_path = str_replace( home_url(), get_home_path(), $url );
|
598 |
|
599 |
if ( is_file( $try_path ) ) {
|
600 |
return $try_path;
|
601 |
}
|
602 |
|
603 |
+
/* If that didn't work let's try the site url instead */
|
604 |
$try_path = str_replace( site_url(), ABSPATH, $url );
|
605 |
|
606 |
if ( is_file( $try_path ) ) {
|
651 |
require_once ABSPATH . 'wp-admin/includes/file.php';
|
652 |
}
|
653 |
|
654 |
+
/* If that didn't work let's try the home path instead */
|
655 |
$try_url = str_replace( get_home_path(), home_url(), $path );
|
656 |
|
657 |
if ( $try_url !== $path ) {
|
658 |
return $try_url;
|
659 |
}
|
660 |
|
661 |
+
/* If that didn't work let's try the ABSPATH instead */
|
662 |
$try_url = str_replace( ABSPATH, site_url(), $path );
|
663 |
|
664 |
if ( $try_url !== $path ) {
|
889 |
$entry_details_file = GFCommon::get_base_path() . '/entry_detail.php';
|
890 |
|
891 |
if ( is_file( $entry_details_file ) ) {
|
892 |
+
require_once $entry_details_file;
|
893 |
}
|
894 |
}
|
895 |
}
|
905 |
*/
|
906 |
public function in_array( $needle, $haystack, $strict = true ) {
|
907 |
foreach ( $haystack as $item ) {
|
908 |
+
/* phpcs:ignore */
|
909 |
if ( ( $strict ? $item === $needle : $item == $needle ) ||
|
910 |
+
( is_array( $item ) && $this->in_array( $needle, $item, $strict ) )
|
911 |
) {
|
912 |
return true;
|
913 |
}
|
952 |
'Running AJAX Endpoint',
|
953 |
[
|
954 |
'type' => $endpoint_desc,
|
955 |
+
/* phpcs:ignore WordPress.Security.NonceVerification.Missing */
|
956 |
'post' => $_POST,
|
957 |
]
|
958 |
);
|
959 |
|
960 |
+
/* Validate Endpoint */
|
961 |
+
/* phpcs:ignore WordPress.Security.NonceVerification.Missing */
|
962 |
+
if ( ! wp_verify_nonce( $_POST['nonce'] ?? '', $nonce_name ) ) {
|
|
|
|
|
963 |
|
964 |
$this->log->warning( 'Nonce Verification Failed' );
|
965 |
|
src/Helper/Helper_Notices.php
CHANGED
@@ -18,8 +18,6 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
18 |
|
19 |
/**
|
20 |
* @since 4.0
|
21 |
-
*
|
22 |
-
* @todo Implement Transient Support so errors and notices can be saved
|
23 |
*/
|
24 |
class Helper_Notices implements Helper_Interface_Actions {
|
25 |
|
@@ -207,8 +205,8 @@ class Helper_Notices implements Helper_Interface_Actions {
|
|
207 |
*/
|
208 |
private function html( $text, $class = 'updated' ) {
|
209 |
?>
|
210 |
-
<div class="
|
211 |
-
<p
|
212 |
</div>
|
213 |
<?php
|
214 |
}
|
18 |
|
19 |
/**
|
20 |
* @since 4.0
|
|
|
|
|
21 |
*/
|
22 |
class Helper_Notices implements Helper_Interface_Actions {
|
23 |
|
205 |
*/
|
206 |
private function html( $text, $class = 'updated' ) {
|
207 |
?>
|
208 |
+
<div class="<?php echo esc_attr( $class ); ?> notice">
|
209 |
+
<p><?php echo wp_kses_post( $text ); ?></p>
|
210 |
</div>
|
211 |
<?php
|
212 |
}
|
src/Helper/Helper_PDF.php
CHANGED
@@ -368,17 +368,17 @@ class Helper_PDF {
|
|
368 |
if ( rgget( 'template' ) && is_user_logged_in() && $this->gform->has_capability( 'gravityforms_edit_settings' ) ) {
|
369 |
$template = rgget( 'template' );
|
370 |
|
371 |
-
/*
|
|
|
|
|
|
|
|
|
372 |
if ( isset( $_GET['gf_pdf'] ) && isset( $_GET['fid'] ) && isset( $_GET['lid'] ) ) {
|
373 |
$template = substr( $template, 0, -4 );
|
374 |
}
|
375 |
}
|
376 |
|
377 |
-
|
378 |
-
$this->template_path = $this->templates->get_template_path_by_id( $template );
|
379 |
-
} catch ( Exception $e ) {
|
380 |
-
throw $e;
|
381 |
-
}
|
382 |
|
383 |
/* Check if there are version requirements */
|
384 |
$template_info = $this->templates->get_template_info_by_path( $this->template_path );
|
@@ -436,8 +436,8 @@ class Helper_PDF {
|
|
436 |
* @since 4.0
|
437 |
*/
|
438 |
protected function set_metadata() {
|
439 |
-
$this->mpdf->SetTitle( UtfString::strcode2utf(
|
440 |
-
$this->mpdf->SetAuthor( UtfString::strcode2utf(
|
441 |
}
|
442 |
|
443 |
/**
|
@@ -510,13 +510,10 @@ class Helper_PDF {
|
|
510 |
* @param string $js The PDF Javascript to execute
|
511 |
*
|
512 |
* @since 4.0
|
513 |
-
*
|
514 |
-
* phpcs:disable
|
515 |
*/
|
516 |
public function set_JS( $js ) {
|
517 |
$this->mpdf->SetJS( $js );
|
518 |
}
|
519 |
-
/* phpcs:enable */
|
520 |
|
521 |
/**
|
522 |
*
|
@@ -852,10 +849,9 @@ class Helper_PDF {
|
|
852 |
protected function load_html( $args = [] ) {
|
853 |
/*
|
854 |
* for backwards compatibility extract the $args variable
|
855 |
-
* phpcs:disable
|
856 |
*/
|
|
|
857 |
extract( $args, EXTR_SKIP ); /* skip any arguments that would clash - i.e filename, args, output, path, this */
|
858 |
-
/* phpcs:enable */
|
859 |
|
860 |
ob_start();
|
861 |
include $this->template_path;
|
@@ -875,10 +871,31 @@ class Helper_PDF {
|
|
875 |
*/
|
876 |
protected function maybe_display_raw_html( $html ) {
|
877 |
|
878 |
-
|
879 |
-
|
880 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
881 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
882 |
}
|
883 |
|
884 |
/**
|
@@ -902,7 +919,7 @@ class Helper_PDF {
|
|
902 |
* @since 4.0
|
903 |
*/
|
904 |
protected function set_image_dpi() {
|
905 |
-
_doing_it_wrong( __METHOD__,
|
906 |
}
|
907 |
|
908 |
/**
|
368 |
if ( rgget( 'template' ) && is_user_logged_in() && $this->gform->has_capability( 'gravityforms_edit_settings' ) ) {
|
369 |
$template = rgget( 'template' );
|
370 |
|
371 |
+
/*
|
372 |
+
* Handle legacy v3 URL structure and strip .php from the end of the template
|
373 |
+
*/
|
374 |
+
|
375 |
+
/* phpcs:ignore WordPress.Security.NonceVerification.Recommended */
|
376 |
if ( isset( $_GET['gf_pdf'] ) && isset( $_GET['fid'] ) && isset( $_GET['lid'] ) ) {
|
377 |
$template = substr( $template, 0, -4 );
|
378 |
}
|
379 |
}
|
380 |
|
381 |
+
$this->template_path = $this->templates->get_template_path_by_id( $template );
|
|
|
|
|
|
|
|
|
382 |
|
383 |
/* Check if there are version requirements */
|
384 |
$template_info = $this->templates->get_template_info_by_path( $this->template_path );
|
436 |
* @since 4.0
|
437 |
*/
|
438 |
protected function set_metadata() {
|
439 |
+
$this->mpdf->SetTitle( UtfString::strcode2utf( wp_strip_all_tags( $this->get_filename() ) ) );
|
440 |
+
$this->mpdf->SetAuthor( UtfString::strcode2utf( wp_strip_all_tags( get_bloginfo( 'name' ) ) ) );
|
441 |
}
|
442 |
|
443 |
/**
|
510 |
* @param string $js The PDF Javascript to execute
|
511 |
*
|
512 |
* @since 4.0
|
|
|
|
|
513 |
*/
|
514 |
public function set_JS( $js ) {
|
515 |
$this->mpdf->SetJS( $js );
|
516 |
}
|
|
|
517 |
|
518 |
/**
|
519 |
*
|
849 |
protected function load_html( $args = [] ) {
|
850 |
/*
|
851 |
* for backwards compatibility extract the $args variable
|
|
|
852 |
*/
|
853 |
+
/* phpcs:ignore WordPress.PHP.DontExtract.extract_extract */
|
854 |
extract( $args, EXTR_SKIP ); /* skip any arguments that would clash - i.e filename, args, output, path, this */
|
|
|
855 |
|
856 |
ob_start();
|
857 |
include $this->template_path;
|
871 |
*/
|
872 |
protected function maybe_display_raw_html( $html ) {
|
873 |
|
874 |
+
$options = \GPDFAPI::get_options_class();
|
875 |
+
|
876 |
+
/* Disregard if PDF is being saved */
|
877 |
+
if ( $this->output === 'SAVE' ) {
|
878 |
+
return;
|
879 |
+
}
|
880 |
+
|
881 |
+
/* Disregard if `?html` URL parameter doesn't exist */
|
882 |
+
if ( ! rgget( 'html' ) ) {
|
883 |
+
return;
|
884 |
}
|
885 |
+
|
886 |
+
/* Disregard if PDF Debug Mode off AND the environment is production */
|
887 |
+
if ( $options->get_option( 'debug_mode', 'No' ) === 'No' && ( ! function_exists( 'wp_get_environment_type' ) || wp_get_environment_type() === 'production' ) ) {
|
888 |
+
return;
|
889 |
+
}
|
890 |
+
|
891 |
+
/* Check if user has permission to view info */
|
892 |
+
if ( ! $this->gform->has_capability( 'gravityforms_edit_settings' ) ) {
|
893 |
+
return;
|
894 |
+
}
|
895 |
+
|
896 |
+
/* phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped */
|
897 |
+
echo apply_filters( 'gfpdf_pre_html_browser_output', $html, $this->settings, $this->entry, $this->gform, $this );
|
898 |
+
exit;
|
899 |
}
|
900 |
|
901 |
/**
|
919 |
* @since 4.0
|
920 |
*/
|
921 |
protected function set_image_dpi() {
|
922 |
+
_doing_it_wrong( __METHOD__, esc_html__( 'This method has been removed because mPDF no longer supports setting the image DPI after the class is initialised.', 'gravity-forms-pdf-extended' ), '5.2' );
|
923 |
}
|
924 |
|
925 |
/**
|
src/Helper/Helper_PDF_List_Table.php
CHANGED
@@ -122,7 +122,7 @@ class Helper_PDF_List_Table extends WP_List_Table {
|
|
122 |
* @since 4.0
|
123 |
*/
|
124 |
public function prepare_items() {
|
125 |
-
$this->items =
|
126 |
}
|
127 |
|
128 |
/**
|
@@ -135,7 +135,7 @@ class Helper_PDF_List_Table extends WP_List_Table {
|
|
135 |
$singular = rgar( $this->_args, 'singular' );
|
136 |
?>
|
137 |
|
138 |
-
<table class="wp-list-table
|
139 |
<thead>
|
140 |
<tr>
|
141 |
<?php $this->print_column_headers(); ?>
|
@@ -145,7 +145,7 @@ class Helper_PDF_List_Table extends WP_List_Table {
|
|
145 |
<tbody id="the-list"
|
146 |
<?php
|
147 |
if ( $singular ) {
|
148 |
-
echo
|
149 |
}
|
150 |
?>
|
151 |
>
|
@@ -171,7 +171,7 @@ class Helper_PDF_List_Table extends WP_List_Table {
|
|
171 |
* @since 4.0
|
172 |
*/
|
173 |
public function single_row( $item ) {
|
174 |
-
echo '<tr id="gfpdf-' . $item['id'] . '">';
|
175 |
$this->single_row_columns( $item );
|
176 |
echo '</tr>';
|
177 |
}
|
@@ -197,7 +197,7 @@ class Helper_PDF_List_Table extends WP_List_Table {
|
|
197 |
/* See https://docs.gravitypdf.com/v6/developers/filters/gfpdf_pdf_list_column_id/ for more details about this action */
|
198 |
do_action( $action, $item );
|
199 |
} else {
|
200 |
-
echo
|
201 |
}
|
202 |
}
|
203 |
|
@@ -211,20 +211,20 @@ class Helper_PDF_List_Table extends WP_List_Table {
|
|
211 |
*/
|
212 |
public function column_cb( $item ) {
|
213 |
|
214 |
-
$is_active =
|
215 |
$form_id = (int) rgget( 'id' );
|
216 |
$state_nonce = wp_create_nonce( "gfpdf_state_nonce_{$form_id}_{$item['id']}" );
|
217 |
|
218 |
if ( $is_active ) {
|
219 |
$class = 'gform-status--active';
|
220 |
-
$text =
|
221 |
} else {
|
222 |
$class = 'gform-status--inactive';
|
223 |
-
$text =
|
224 |
}
|
225 |
?>
|
226 |
|
227 |
-
<button type="button" class="gform-status-indicator <?php echo esc_attr( $class ); ?>" data-id="
|
228 |
<svg viewBox="0 0 6 6" xmlns="http://www.w3.org/2000/svg"><circle cx="3" cy="2" r="1" stroke-width="2"/></svg>
|
229 |
<span class="gform-status-indicator-status"><?php echo esc_html( $text ); ?></span>
|
230 |
</button>
|
@@ -255,8 +255,7 @@ class Helper_PDF_List_Table extends WP_List_Table {
|
|
255 |
}
|
256 |
}
|
257 |
|
258 |
-
echo sprintf( '<span>%1$s</span>', implode( ', ', $notification_names ) );
|
259 |
-
|
260 |
}
|
261 |
|
262 |
/**
|
@@ -269,18 +268,15 @@ class Helper_PDF_List_Table extends WP_List_Table {
|
|
269 |
public function column_shortcode( $item ) {
|
270 |
do_action( 'gfpdf_pre_pdf_list_shortcode_column', $item, $this );
|
271 |
|
272 |
-
/*
|
273 |
-
* While esc_attr() used below will ensure no display issues when copied the double quote will cause shortcode parse issues
|
274 |
-
* We'll prevent this by removing them before hand
|
275 |
-
*/
|
276 |
$name = str_replace( '"', '', $item['name'] );
|
277 |
-
$pdf_id =
|
278 |
|
279 |
/* Prepare our shortcode sample */
|
280 |
$shortcode = sprintf(
|
281 |
'[gravitypdf name="%1$s" id="%2$s" text="%3$s"]',
|
282 |
$name,
|
283 |
-
$pdf_id,
|
284 |
__( 'Download PDF', 'gravity-forms-pdf-extended' )
|
285 |
);
|
286 |
|
@@ -292,27 +288,27 @@ class Helper_PDF_List_Table extends WP_List_Table {
|
|
292 |
?>
|
293 |
<button type="button"
|
294 |
class="gform-button gform-button--size-r gform-button--white gform-button--icon-leading gform-embed-form__shortcode-trigger btn-shortcode"
|
295 |
-
data-clipboard-text="
|
296 |
role="dialog" aria-live="polite">
|
297 |
<i class="gform-button__icon gform-icon gform-icon--copy"></i>
|
298 |
<span class="gform-embed-form__shortcode-copy-label"
|
299 |
-
aria-hidden="false"
|
300 |
<span class="gform-embed-form__shortcode-copy-copied" aria-hidden="true">
|
301 |
<i class="gform-embed-form__shortcode-copy-icon gform-icon gform-icon--circle-check-alt"></i>
|
302 |
-
|
303 |
</span>
|
304 |
</button>
|
305 |
<?php else : ?>
|
306 |
-
<button data-selected-text="
|
307 |
type="button" class="gform-status-indicator btn-shortcode gf_2_5 "
|
308 |
-
data-clipboard-text="
|
309 |
role="status" aria-live="polite">
|
310 |
-
|
311 |
</button>
|
312 |
<?php endif; ?>
|
313 |
<div class="gpdf-fallback-input">
|
314 |
-
<input type="text" id="
|
315 |
-
aria-label="
|
316 |
</div>
|
317 |
|
318 |
<?php
|
@@ -337,8 +333,8 @@ class Helper_PDF_List_Table extends WP_List_Table {
|
|
337 |
$template_name = $this->templates->maybe_add_template_compatibility_notice( $template['template'], $template['required_pdf_version'] );
|
338 |
|
339 |
?>
|
340 |
-
<span aria-label="
|
341 |
-
<strong
|
342 |
</span>
|
343 |
<?php
|
344 |
|
@@ -361,8 +357,8 @@ class Helper_PDF_List_Table extends WP_List_Table {
|
|
361 |
|
362 |
$actions = [
|
363 |
'edit' => '<a title="' . esc_attr__( 'Edit this PDF', 'gravity-forms-pdf-extended' ) . '" href="' . esc_url( $edit_url ) . '">' . esc_html__( 'Edit', 'gravity-forms-pdf-extended' ) . '</a>',
|
364 |
-
'duplicate' => '<a title="' . esc_attr__( 'Duplicate this PDF', 'gravity-forms-pdf-extended' ) . '" data-id="' . esc_attr( $item['id'] ) . '" class="submitduplicate" data-nonce="' . $duplicate_nonce . '" data-fid="' . $form_id . '" href="#">' . esc_html__( 'Duplicate', 'gravity-forms-pdf-extended' ) . '</a>',
|
365 |
-
'delete' => '<a title="' . esc_attr__( 'Delete this PDF', 'gravity-forms-pdf-extended' ) . '" class="submitdelete" data-id="' . esc_attr( $item['id'] ) . '" data-nonce="' . $delete_nonce . '" data-fid="' . $form_id . '" href="#">' . esc_html__( 'Delete', 'gravity-forms-pdf-extended' ) . '</a>',
|
366 |
];
|
367 |
|
368 |
/* See https://docs.gravitypdf.com/v6/developers/filters/gfpdf_pdf_actions/ for more details about this filter */
|
@@ -370,7 +366,7 @@ class Helper_PDF_List_Table extends WP_List_Table {
|
|
370 |
|
371 |
?>
|
372 |
|
373 |
-
<a href="
|
374 |
<div class="row-actions">
|
375 |
|
376 |
<?php
|
@@ -380,8 +376,8 @@ class Helper_PDF_List_Table extends WP_List_Table {
|
|
380 |
foreach ( $actions as $key => $html ) {
|
381 |
$divider = $key === $last_key ? '' : ' | ';
|
382 |
?>
|
383 |
-
<span class="
|
384 |
-
|
385 |
</span>
|
386 |
<?php
|
387 |
}
|
122 |
* @since 4.0
|
123 |
*/
|
124 |
public function prepare_items() {
|
125 |
+
$this->items = $this->form['gfpdf_form_settings'] ?? [];
|
126 |
}
|
127 |
|
128 |
/**
|
135 |
$singular = rgar( $this->_args, 'singular' );
|
136 |
?>
|
137 |
|
138 |
+
<table class="wp-list-table <?php echo esc_attr( implode( ' ', $this->get_table_classes() ) ); ?>" cellspacing="0" aria-label="<?php echo esc_attr__( 'PDF List', 'gravity-forms-pdf-extended' ); ?>">
|
139 |
<thead>
|
140 |
<tr>
|
141 |
<?php $this->print_column_headers(); ?>
|
145 |
<tbody id="the-list"
|
146 |
<?php
|
147 |
if ( $singular ) {
|
148 |
+
echo ' class="list:' . esc_attr( $singular ) . '"';
|
149 |
}
|
150 |
?>
|
151 |
>
|
171 |
* @since 4.0
|
172 |
*/
|
173 |
public function single_row( $item ) {
|
174 |
+
echo '<tr id="gfpdf-' . esc_attr( $item['id'] ) . '">';
|
175 |
$this->single_row_columns( $item );
|
176 |
echo '</tr>';
|
177 |
}
|
197 |
/* See https://docs.gravitypdf.com/v6/developers/filters/gfpdf_pdf_list_column_id/ for more details about this action */
|
198 |
do_action( $action, $item );
|
199 |
} else {
|
200 |
+
echo wp_kses_post( $item[ $column ] ?? '' );
|
201 |
}
|
202 |
}
|
203 |
|
211 |
*/
|
212 |
public function column_cb( $item ) {
|
213 |
|
214 |
+
$is_active = $item['active'] ?? true;
|
215 |
$form_id = (int) rgget( 'id' );
|
216 |
$state_nonce = wp_create_nonce( "gfpdf_state_nonce_{$form_id}_{$item['id']}" );
|
217 |
|
218 |
if ( $is_active ) {
|
219 |
$class = 'gform-status--active';
|
220 |
+
$text = __( 'Active', 'gravity-forms-pdf-extended' );
|
221 |
} else {
|
222 |
$class = 'gform-status--inactive';
|
223 |
+
$text = __( 'Inactive', 'gravity-forms-pdf-extended' );
|
224 |
}
|
225 |
?>
|
226 |
|
227 |
+
<button type="button" class="gform-status-indicator <?php echo esc_attr( $class ); ?>" data-id="<?php echo esc_attr( $item['id'] ); ?>" data-nonce="<?php echo esc_attr( $state_nonce ); ?>" data-fid="<?php echo esc_attr( $form_id ); ?>" data-status="<?php echo $is_active ? 'active' : 'inactive'; ?>">
|
228 |
<svg viewBox="0 0 6 6" xmlns="http://www.w3.org/2000/svg"><circle cx="3" cy="2" r="1" stroke-width="2"/></svg>
|
229 |
<span class="gform-status-indicator-status"><?php echo esc_html( $text ); ?></span>
|
230 |
</button>
|
255 |
}
|
256 |
}
|
257 |
|
258 |
+
echo sprintf( '<span>%1$s</span>', esc_html( implode( ', ', $notification_names ) ) );
|
|
|
259 |
}
|
260 |
|
261 |
/**
|
268 |
public function column_shortcode( $item ) {
|
269 |
do_action( 'gfpdf_pre_pdf_list_shortcode_column', $item, $this );
|
270 |
|
271 |
+
/* Remove quotes so it doesn't cause encoding issues */
|
|
|
|
|
|
|
272 |
$name = str_replace( '"', '', $item['name'] );
|
273 |
+
$pdf_id = $item['id'];
|
274 |
|
275 |
/* Prepare our shortcode sample */
|
276 |
$shortcode = sprintf(
|
277 |
'[gravitypdf name="%1$s" id="%2$s" text="%3$s"]',
|
278 |
$name,
|
279 |
+
esc_attr( $pdf_id ),
|
280 |
__( 'Download PDF', 'gravity-forms-pdf-extended' )
|
281 |
);
|
282 |
|
288 |
?>
|
289 |
<button type="button"
|
290 |
class="gform-button gform-button--size-r gform-button--white gform-button--icon-leading gform-embed-form__shortcode-trigger btn-shortcode"
|
291 |
+
data-clipboard-text="<?php echo esc_attr( $shortcode ); ?>" aria-label="<?php echo esc_attr( $aria_label ); ?>"
|
292 |
role="dialog" aria-live="polite">
|
293 |
<i class="gform-button__icon gform-icon gform-icon--copy"></i>
|
294 |
<span class="gform-embed-form__shortcode-copy-label"
|
295 |
+
aria-hidden="false"><?php echo esc_attr__( 'Copy', 'gravity-forms-pdf-extended' ); ?></span>
|
296 |
<span class="gform-embed-form__shortcode-copy-copied" aria-hidden="true">
|
297 |
<i class="gform-embed-form__shortcode-copy-icon gform-icon gform-icon--circle-check-alt"></i>
|
298 |
+
<?php echo esc_attr__( 'Copied', 'gravity-forms-pdf-extended' ); ?>
|
299 |
</span>
|
300 |
</button>
|
301 |
<?php else : ?>
|
302 |
+
<button data-selected-text="<?php echo esc_attr__( 'Shortcode copied!', 'gravity-forms-pdf-extended' ); ?>"
|
303 |
type="button" class="gform-status-indicator btn-shortcode gf_2_5 "
|
304 |
+
data-clipboard-text="<?php echo esc_attr( $shortcode ); ?>" aria-label="<?php echo esc_attr( $aria_label ); ?>"
|
305 |
role="status" aria-live="polite">
|
306 |
+
<?php echo esc_html__( 'Copy Shortcode', 'gravity-forms-pdf-extended' ); ?>
|
307 |
</button>
|
308 |
<?php endif; ?>
|
309 |
<div class="gpdf-fallback-input">
|
310 |
+
<input type="text" id="<?php echo esc_attr( $pdf_id ); ?>" value="<?php echo esc_attr( $shortcode ); ?>"
|
311 |
+
aria-label="<?php echo esc_attr( $aria_label ); ?>" />
|
312 |
</div>
|
313 |
|
314 |
<?php
|
333 |
$template_name = $this->templates->maybe_add_template_compatibility_notice( $template['template'], $template['required_pdf_version'] );
|
334 |
|
335 |
?>
|
336 |
+
<span aria-label="<?php echo esc_attr( $template_group . ' ' . $template_name ); ?>">
|
337 |
+
<strong><?php echo esc_html( $template_group ); ?></strong> <?php echo esc_html( $template_name ); ?>
|
338 |
</span>
|
339 |
<?php
|
340 |
|
357 |
|
358 |
$actions = [
|
359 |
'edit' => '<a title="' . esc_attr__( 'Edit this PDF', 'gravity-forms-pdf-extended' ) . '" href="' . esc_url( $edit_url ) . '">' . esc_html__( 'Edit', 'gravity-forms-pdf-extended' ) . '</a>',
|
360 |
+
'duplicate' => '<a title="' . esc_attr__( 'Duplicate this PDF', 'gravity-forms-pdf-extended' ) . '" data-id="' . esc_attr( $item['id'] ) . '" class="submitduplicate" data-nonce="' . esc_attr( $duplicate_nonce ) . '" data-fid="' . esc_attr( $form_id ) . '" href="#">' . esc_html__( 'Duplicate', 'gravity-forms-pdf-extended' ) . '</a>',
|
361 |
+
'delete' => '<a title="' . esc_attr__( 'Delete this PDF', 'gravity-forms-pdf-extended' ) . '" class="submitdelete" data-id="' . esc_attr( $item['id'] ) . '" data-nonce="' . esc_attr( $delete_nonce ) . '" data-fid="' . esc_attr( $form_id ) . '" href="#">' . esc_html__( 'Delete', 'gravity-forms-pdf-extended' ) . '</a>',
|
362 |
];
|
363 |
|
364 |
/* See https://docs.gravitypdf.com/v6/developers/filters/gfpdf_pdf_actions/ for more details about this filter */
|
366 |
|
367 |
?>
|
368 |
|
369 |
+
<a href="<?php echo esc_url( $edit_url ); ?>" aria-label="<?php echo esc_attr( sprintf( __( '%s PDF', 'gravity-forms-pdf-extended' ), $pdf_name ) ); ?>"><strong><?php echo esc_html( $pdf_name ); ?></strong></a>
|
370 |
<div class="row-actions">
|
371 |
|
372 |
<?php
|
376 |
foreach ( $actions as $key => $html ) {
|
377 |
$divider = $key === $last_key ? '' : ' | ';
|
378 |
?>
|
379 |
+
<span class="<?php echo esc_attr( $key ); ?>" aria-labelledby="pdf_<?php echo esc_attr( $form_id ); ?>">
|
380 |
+
<?php echo wp_kses_post( $html . $divider ); ?>
|
381 |
</span>
|
382 |
<?php
|
383 |
}
|
src/Helper/Helper_Pdf_Queue.php
CHANGED
@@ -19,11 +19,11 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
19 |
}
|
20 |
|
21 |
if ( ! class_exists( 'WP_Async_Request' ) ) {
|
22 |
-
require_once
|
23 |
}
|
24 |
|
25 |
if ( ! class_exists( 'GF_Background_Process' ) ) {
|
26 |
-
require_once
|
27 |
}
|
28 |
|
29 |
/**
|
19 |
}
|
20 |
|
21 |
if ( ! class_exists( 'WP_Async_Request' ) ) {
|
22 |
+
require_once GFCommon::get_base_path() . '/includes/libraries/wp-async-request.php';
|
23 |
}
|
24 |
|
25 |
if ( ! class_exists( 'GF_Background_Process' ) ) {
|
26 |
+
require_once GFCommon::get_base_path() . '/includes/libraries/gf-background-process.php';
|
27 |
}
|
28 |
|
29 |
/**
|
src/Helper/Helper_Sha256_Url_Signer.php
CHANGED
@@ -36,7 +36,8 @@ class Helper_Sha256_Url_Signer extends BaseUrlSigner {
|
|
36 |
'url' => (string) $url,
|
37 |
];
|
38 |
|
39 |
-
|
|
|
40 |
|
41 |
return hash_hmac( 'sha256', $token, $this->signatureKey );
|
42 |
}
|
36 |
'url' => (string) $url,
|
37 |
];
|
38 |
|
39 |
+
/* phpcs:ignore WordPress.PHP.DiscouragedPHPFunctions.obfuscation_base64_encode */
|
40 |
+
$token = rawurlencode( base64_encode( wp_json_encode( $token_data ) ) );
|
41 |
|
42 |
return hash_hmac( 'sha256', $token, $this->signatureKey );
|
43 |
}
|
src/Helper/Helper_Templates.php
CHANGED
@@ -522,6 +522,7 @@ class Helper_Templates {
|
|
522 |
$template_id = rgget( 'template' );
|
523 |
|
524 |
/* Handle legacy v3 URL structure and strip .php from the end of the template */
|
|
|
525 |
if ( isset( $_GET['gf_pdf'] ) && isset( $_GET['fid'] ) && isset( $_GET['lid'] ) ) {
|
526 |
$template_id = substr( $template_id, 0, -4 );
|
527 |
}
|
@@ -586,7 +587,7 @@ class Helper_Templates {
|
|
586 |
|
587 |
/* Try and load the file if the class doesn't exist */
|
588 |
if ( ! class_exists( $fqcn ) && is_file( $file ) && is_readable( $file ) ) {
|
589 |
-
require_once
|
590 |
}
|
591 |
|
592 |
/* Insure the class we are trying to load exists */
|
522 |
$template_id = rgget( 'template' );
|
523 |
|
524 |
/* Handle legacy v3 URL structure and strip .php from the end of the template */
|
525 |
+
/* phpcs:ignore WordPress.Security.NonceVerification.Recommended */
|
526 |
if ( isset( $_GET['gf_pdf'] ) && isset( $_GET['fid'] ) && isset( $_GET['lid'] ) ) {
|
527 |
$template_id = substr( $template_id, 0, -4 );
|
528 |
}
|
587 |
|
588 |
/* Try and load the file if the class doesn't exist */
|
589 |
if ( ! class_exists( $fqcn ) && is_file( $file ) && is_readable( $file ) ) {
|
590 |
+
require_once $file;
|
591 |
}
|
592 |
|
593 |
/* Insure the class we are trying to load exists */
|
src/Model/Model_Form_Settings.php
CHANGED
@@ -184,7 +184,7 @@ class Model_Form_Settings extends Helper_Abstract_Model {
|
|
184 |
$controller->view->list(
|
185 |
[
|
186 |
'title' => $this->data->title,
|
187 |
-
'add_new_url' =>
|
188 |
'list_items' => $pdf_table,
|
189 |
]
|
190 |
);
|
@@ -245,6 +245,7 @@ class Model_Form_Settings extends Helper_Abstract_Model {
|
|
245 |
$update_pdf_text = esc_html__( 'Update PDF', 'gravity-forms-pdf-extended' );
|
246 |
$label = esc_html__( 'Add PDF', 'gravity-forms-pdf-extended' );
|
247 |
|
|
|
248 |
if ( ( $_POST['submit'] ?? '' ) === $update_pdf_text || ( ! is_wp_error( $pdf ) && ! isset( $pdf['status'] ) ) ) {
|
249 |
$label = $update_pdf_text;
|
250 |
}
|
@@ -300,7 +301,7 @@ class Model_Form_Settings extends Helper_Abstract_Model {
|
|
300 |
* Validate, Sanitize and Update PDF settings
|
301 |
*
|
302 |
* @param integer $form_id The Gravity Form ID
|
303 |
-
* @param
|
304 |
*
|
305 |
* @return boolean
|
306 |
*
|
@@ -365,7 +366,7 @@ class Model_Form_Settings extends Helper_Abstract_Model {
|
|
365 |
|
366 |
/* Do validation */
|
367 |
if ( empty( $sanitized['name'] ) || empty( $sanitized['filename'] ) ||
|
368 |
-
( $sanitized['pdf_size'] === 'CUSTOM' && ( (float) $sanitized['custom_pdf_size'][0] === 0 || (float) $sanitized['custom_pdf_size'][1] === 0 ) )
|
369 |
) {
|
370 |
$this->notices->add_error( esc_html__( 'PDF could not be saved. Please enter all required information below.', 'gravity-forms-pdf-extended' ) );
|
371 |
|
@@ -612,8 +613,10 @@ class Model_Form_Settings extends Helper_Abstract_Model {
|
|
612 |
*/
|
613 |
public function get_template_name_from_current_page() {
|
614 |
|
|
|
615 |
$pid = ( ! empty( $_GET['pid'] ) ) ? rgget( 'pid' ) : rgpost( 'gform_pdf_id' );
|
616 |
$form_id = ( isset( $_GET['id'] ) ) ? (int) $_GET['id'] : 0;
|
|
|
617 |
|
618 |
/* If we don't have a specific PDF we'll use the defaults */
|
619 |
if ( empty( $pid ) || empty( $form_id ) ) {
|
@@ -780,8 +783,11 @@ class Model_Form_Settings extends Helper_Abstract_Model {
|
|
780 |
*/
|
781 |
public function delete_gf_pdf_setting() {
|
782 |
|
783 |
-
|
784 |
-
$
|
|
|
|
|
|
|
785 |
$nonce_id = "gfpdf_delete_nonce_{$fid}_{$pid}";
|
786 |
|
787 |
/* User / CORS validation */
|
@@ -798,7 +804,7 @@ class Model_Form_Settings extends Helper_Abstract_Model {
|
|
798 |
'msg' => esc_html__( 'PDF successfully deleted.', 'gravity-forms-pdf-extended' ),
|
799 |
];
|
800 |
|
801 |
-
echo
|
802 |
wp_die();
|
803 |
}
|
804 |
|
@@ -829,8 +835,10 @@ class Model_Form_Settings extends Helper_Abstract_Model {
|
|
829 |
*/
|
830 |
public function duplicate_gf_pdf_setting() {
|
831 |
|
|
|
832 |
$fid = ( isset( $_POST['fid'] ) ) ? (int) $_POST['fid'] : 0;
|
833 |
$pid = ( isset( $_POST['pid'] ) ) ? $_POST['pid'] : '';
|
|
|
834 |
|
835 |
$nonce_id = "gfpdf_duplicate_nonce_{$fid}_{$pid}";
|
836 |
|
@@ -850,7 +858,7 @@ class Model_Form_Settings extends Helper_Abstract_Model {
|
|
850 |
if ( $results ) {
|
851 |
$this->log->notice( 'AJAX – Successfully Duplicated PDF Setting' );
|
852 |
|
853 |
-
/* @todo just use the same nonce for all requests since WP nonces aren't one-time
|
854 |
$dup_nonce = wp_create_nonce( "gfpdf_duplicate_nonce_{$fid}_{$config['id']}" );
|
855 |
$del_nonce = wp_create_nonce( "gfpdf_delete_nonce_{$fid}_{$config['id']}" );
|
856 |
$state_nonce = wp_create_nonce( "gfpdf_state_nonce_{$fid}_{$config['id']}" );
|
@@ -865,7 +873,7 @@ class Model_Form_Settings extends Helper_Abstract_Model {
|
|
865 |
'status' => esc_html__( 'Inactive', 'gravity-forms-pdf-extended' ),
|
866 |
];
|
867 |
|
868 |
-
echo
|
869 |
wp_die();
|
870 |
}
|
871 |
}
|
@@ -895,8 +903,11 @@ class Model_Form_Settings extends Helper_Abstract_Model {
|
|
895 |
*/
|
896 |
public function change_state_pdf_setting() {
|
897 |
|
898 |
-
|
899 |
-
$
|
|
|
|
|
|
|
900 |
$nonce_id = "gfpdf_state_nonce_{$fid}_{$pid}";
|
901 |
|
902 |
/* User / CORS validation */
|
@@ -922,7 +933,7 @@ class Model_Form_Settings extends Helper_Abstract_Model {
|
|
922 |
'pid' => $config['id'],
|
923 |
];
|
924 |
|
925 |
-
echo
|
926 |
wp_die();
|
927 |
}
|
928 |
}
|
@@ -953,9 +964,11 @@ class Model_Form_Settings extends Helper_Abstract_Model {
|
|
953 |
/* User / CORS validation */
|
954 |
$this->misc->handle_ajax_authentication( 'Render Template Custom Fields', 'gravityforms_edit_settings' );
|
955 |
|
956 |
-
/*
|
957 |
-
$template =
|
958 |
-
$type =
|
|
|
|
|
959 |
$class = $this->templates->get_config_class( $template );
|
960 |
$settings = $this->setup_custom_appearance_settings( $class );
|
961 |
|
@@ -1013,7 +1026,7 @@ class Model_Form_Settings extends Helper_Abstract_Model {
|
|
1013 |
|
1014 |
$this->log->notice( 'AJAX – Successfully Rendered Template Custom Fields', $return );
|
1015 |
|
1016 |
-
echo
|
1017 |
|
1018 |
/* end AJAX function */
|
1019 |
wp_die();
|
184 |
$controller->view->list(
|
185 |
[
|
186 |
'title' => $this->data->title,
|
187 |
+
'add_new_url' => add_query_arg( [ 'pid' => 0 ] ),
|
188 |
'list_items' => $pdf_table,
|
189 |
]
|
190 |
);
|
245 |
$update_pdf_text = esc_html__( 'Update PDF', 'gravity-forms-pdf-extended' );
|
246 |
$label = esc_html__( 'Add PDF', 'gravity-forms-pdf-extended' );
|
247 |
|
248 |
+
/* phpcs:ignore WordPress.Security.NonceVerification.Missing */
|
249 |
if ( ( $_POST['submit'] ?? '' ) === $update_pdf_text || ( ! is_wp_error( $pdf ) && ! isset( $pdf['status'] ) ) ) {
|
250 |
$label = $update_pdf_text;
|
251 |
}
|
301 |
* Validate, Sanitize and Update PDF settings
|
302 |
*
|
303 |
* @param integer $form_id The Gravity Form ID
|
304 |
+
* @param string $pdf_id The PDF configuration ID
|
305 |
*
|
306 |
* @return boolean
|
307 |
*
|
366 |
|
367 |
/* Do validation */
|
368 |
if ( empty( $sanitized['name'] ) || empty( $sanitized['filename'] ) ||
|
369 |
+
( $sanitized['pdf_size'] === 'CUSTOM' && ( (float) $sanitized['custom_pdf_size'][0] === 0.0 || (float) $sanitized['custom_pdf_size'][1] === 0.0 ) )
|
370 |
) {
|
371 |
$this->notices->add_error( esc_html__( 'PDF could not be saved. Please enter all required information below.', 'gravity-forms-pdf-extended' ) );
|
372 |
|
613 |
*/
|
614 |
public function get_template_name_from_current_page() {
|
615 |
|
616 |
+
/* phpcs:disable WordPress.Security.NonceVerification.Recommended */
|
617 |
$pid = ( ! empty( $_GET['pid'] ) ) ? rgget( 'pid' ) : rgpost( 'gform_pdf_id' );
|
618 |
$form_id = ( isset( $_GET['id'] ) ) ? (int) $_GET['id'] : 0;
|
619 |
+
/* phpcs:enable */
|
620 |
|
621 |
/* If we don't have a specific PDF we'll use the defaults */
|
622 |
if ( empty( $pid ) || empty( $form_id ) ) {
|
783 |
*/
|
784 |
public function delete_gf_pdf_setting() {
|
785 |
|
786 |
+
/* phpcs:disable WordPress.Security.NonceVerification.Missing */
|
787 |
+
$fid = isset( $_POST['fid'] ) ? (int) $_POST['fid'] : 0;
|
788 |
+
$pid = isset( $_POST['pid'] ) ? $_POST['pid'] : '';
|
789 |
+
/* phpcs:enable */
|
790 |
+
|
791 |
$nonce_id = "gfpdf_delete_nonce_{$fid}_{$pid}";
|
792 |
|
793 |
/* User / CORS validation */
|
804 |
'msg' => esc_html__( 'PDF successfully deleted.', 'gravity-forms-pdf-extended' ),
|
805 |
];
|
806 |
|
807 |
+
echo wp_json_encode( $return );
|
808 |
wp_die();
|
809 |
}
|
810 |
|
835 |
*/
|
836 |
public function duplicate_gf_pdf_setting() {
|
837 |
|
838 |
+
/* phpcs:disable WordPress.Security.NonceVerification.Missing */
|
839 |
$fid = ( isset( $_POST['fid'] ) ) ? (int) $_POST['fid'] : 0;
|
840 |
$pid = ( isset( $_POST['pid'] ) ) ? $_POST['pid'] : '';
|
841 |
+
/* phpcs:enable */
|
842 |
|
843 |
$nonce_id = "gfpdf_duplicate_nonce_{$fid}_{$pid}";
|
844 |
|
858 |
if ( $results ) {
|
859 |
$this->log->notice( 'AJAX – Successfully Duplicated PDF Setting' );
|
860 |
|
861 |
+
/* @todo just use the same nonce for all requests since WP nonces aren't one-time use (time based) */
|
862 |
$dup_nonce = wp_create_nonce( "gfpdf_duplicate_nonce_{$fid}_{$config['id']}" );
|
863 |
$del_nonce = wp_create_nonce( "gfpdf_delete_nonce_{$fid}_{$config['id']}" );
|
864 |
$state_nonce = wp_create_nonce( "gfpdf_state_nonce_{$fid}_{$config['id']}" );
|
873 |
'status' => esc_html__( 'Inactive', 'gravity-forms-pdf-extended' ),
|
874 |
];
|
875 |
|
876 |
+
echo wp_json_encode( $return );
|
877 |
wp_die();
|
878 |
}
|
879 |
}
|
903 |
*/
|
904 |
public function change_state_pdf_setting() {
|
905 |
|
906 |
+
/* phpcs:disable WordPress.Security.NonceVerification.Missing */
|
907 |
+
$fid = ( isset( $_POST['fid'] ) ) ? (int) $_POST['fid'] : 0;
|
908 |
+
$pid = ( isset( $_POST['pid'] ) ) ? $_POST['pid'] : '';
|
909 |
+
/* phpcs:enable */
|
910 |
+
|
911 |
$nonce_id = "gfpdf_state_nonce_{$fid}_{$pid}";
|
912 |
|
913 |
/* User / CORS validation */
|
933 |
'pid' => $config['id'],
|
934 |
];
|
935 |
|
936 |
+
echo wp_json_encode( $return );
|
937 |
wp_die();
|
938 |
}
|
939 |
}
|
964 |
/* User / CORS validation */
|
965 |
$this->misc->handle_ajax_authentication( 'Render Template Custom Fields', 'gravityforms_edit_settings' );
|
966 |
|
967 |
+
/* phpcs:disable WordPress.Security.NonceVerification.Missing */
|
968 |
+
$template = $_POST['template'] ?? '';
|
969 |
+
$type = $_POST['type'] ?? '';
|
970 |
+
/* phpcs:enable */
|
971 |
+
|
972 |
$class = $this->templates->get_config_class( $template );
|
973 |
$settings = $this->setup_custom_appearance_settings( $class );
|
974 |
|
1026 |
|
1027 |
$this->log->notice( 'AJAX – Successfully Rendered Template Custom Fields', $return );
|
1028 |
|
1029 |
+
echo wp_json_encode( $return );
|
1030 |
|
1031 |
/* end AJAX function */
|
1032 |
wp_die();
|
src/Model/Model_Install.php
CHANGED
@@ -350,7 +350,7 @@ class Model_Install extends Helper_Abstract_Model {
|
|
350 |
}
|
351 |
|
352 |
/**
|
353 |
-
*
|
354 |
*
|
355 |
* @param array $tags
|
356 |
*
|
@@ -361,7 +361,7 @@ class Model_Install extends Helper_Abstract_Model {
|
|
361 |
public function register_rewrite_tags( $tags ) {
|
362 |
global $wp;
|
363 |
|
364 |
-
/*
|
365 |
if ( ! empty( $_GET['gpdf'] ) || ! empty( $_GET['gf_pdf'] ) || strpos( $wp->matched_query, 'gpdf=1' ) === 0 ) {
|
366 |
$tags[] = 'gpdf';
|
367 |
$tags[] = 'pid';
|
350 |
}
|
351 |
|
352 |
/**
|
353 |
+
* Conditionally register the PDF custom rewrite rules
|
354 |
*
|
355 |
* @param array $tags
|
356 |
*
|
361 |
public function register_rewrite_tags( $tags ) {
|
362 |
global $wp;
|
363 |
|
364 |
+
/* phpcs:ignore WordPress.Security.NonceVerification.Recommended */
|
365 |
if ( ! empty( $_GET['gpdf'] ) || ! empty( $_GET['gf_pdf'] ) || strpos( $wp->matched_query, 'gpdf=1' ) === 0 ) {
|
366 |
$tags[] = 'gpdf';
|
367 |
$tags[] = 'pid';
|
src/Model/Model_Mergetags.php
CHANGED
@@ -258,7 +258,7 @@ class Model_Mergetags extends Helper_Abstract_Model {
|
|
258 |
public function add_field_map_choices( $fields, $form_id, $field_type, $exclude_field_types ) {
|
259 |
|
260 |
/* Only add PDFs to choices if $fields contains the Entry Properties information */
|
261 |
-
if ( ! in_array( esc_html__( 'Entry Properties', 'gravityforms' ), array_column( $fields, 'label' ) ) ) {
|
262 |
return $fields;
|
263 |
}
|
264 |
|
@@ -342,4 +342,21 @@ class Model_Mergetags extends Helper_Abstract_Model {
|
|
342 |
return $gform->process_tags( $field_id, $gform->get_form( $form['id'] ), $gform->get_entry( $entry['id'] ) );
|
343 |
}
|
344 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
345 |
}
|
258 |
public function add_field_map_choices( $fields, $form_id, $field_type, $exclude_field_types ) {
|
259 |
|
260 |
/* Only add PDFs to choices if $fields contains the Entry Properties information */
|
261 |
+
if ( ! in_array( esc_html__( 'Entry Properties', 'gravityforms' ), array_column( $fields, 'label' ), true ) ) {
|
262 |
return $fields;
|
263 |
}
|
264 |
|
342 |
return $gform->process_tags( $field_id, $gform->get_form( $form['id'] ), $gform->get_entry( $entry['id'] ) );
|
343 |
}
|
344 |
|
345 |
+
/**
|
346 |
+
* Convert gform_mailchimp_field_value parameter to be compatible with gform_addon_field_value.
|
347 |
+
*
|
348 |
+
* @param string $field_value
|
349 |
+
* @param int $form_id
|
350 |
+
* @param int $field_id
|
351 |
+
* @param array $entry
|
352 |
+
*
|
353 |
+
* @return string
|
354 |
+
*
|
355 |
+
* @since 6.3.2
|
356 |
+
*/
|
357 |
+
public function process_field_value_mailchimp( $field_value, $form_id, $field_id, $entry ) {
|
358 |
+
$gform = \GPDFAPI::get_form_class();
|
359 |
+
return $this->process_field_value( $field_value, $gform->get_form( $form_id ), $entry, $field_id );
|
360 |
+
}
|
361 |
+
|
362 |
}
|
src/Model/Model_PDF.php
CHANGED
@@ -325,6 +325,7 @@ class Model_PDF extends Helper_Abstract_Model {
|
|
325 |
*/
|
326 |
public function middle_signed_url_access( $action, $entry, $settings ) {
|
327 |
|
|
|
328 |
if ( isset( $_GET['expires'] ) && isset( $_GET['signature'] ) && isset( $_SERVER['HTTP_HOST'] ) && isset( $_SERVER['REQUEST_URI'] ) ) {
|
329 |
try {
|
330 |
$protocol = isset( $_SERVER['HTTPS'] ) && $_SERVER['HTTPS'] === 'on' ? 'https://' : 'http://';
|
@@ -1483,7 +1484,7 @@ class Model_PDF extends Helper_Abstract_Model {
|
|
1483 |
* @param array $entry The Gravity Form Entry
|
1484 |
* @param Field_Products $products A Field_Products Object
|
1485 |
*
|
1486 |
-
* @return
|
1487 |
*
|
1488 |
* @throws Exception
|
1489 |
* @since 4.0
|
@@ -1648,7 +1649,7 @@ class Model_PDF extends Helper_Abstract_Model {
|
|
1648 |
|
1649 |
/* If the results class isn't loaded, load it */
|
1650 |
if ( ! class_exists( 'GFResults' ) ) {
|
1651 |
-
require_once
|
1652 |
}
|
1653 |
|
1654 |
$form_id = $form['id'];
|
@@ -1940,8 +1941,6 @@ class Model_PDF extends Helper_Abstract_Model {
|
|
1940 |
*
|
1941 |
* @return array
|
1942 |
* @since 4.0
|
1943 |
-
*
|
1944 |
-
* @TODO Work out how to handle this for 6.0
|
1945 |
*/
|
1946 |
public function add_unregistered_fonts_to_mPDF( $fonts ) {
|
1947 |
|
325 |
*/
|
326 |
public function middle_signed_url_access( $action, $entry, $settings ) {
|
327 |
|
328 |
+
/* phpcs:ignore WordPress.Security.NonceVerification.Recommended */
|
329 |
if ( isset( $_GET['expires'] ) && isset( $_GET['signature'] ) && isset( $_SERVER['HTTP_HOST'] ) && isset( $_SERVER['REQUEST_URI'] ) ) {
|
330 |
try {
|
331 |
$protocol = isset( $_SERVER['HTTPS'] ) && $_SERVER['HTTPS'] === 'on' ? 'https://' : 'http://';
|
1484 |
* @param array $entry The Gravity Form Entry
|
1485 |
* @param Field_Products $products A Field_Products Object
|
1486 |
*
|
1487 |
+
* @return Helper_Abstract_Fields
|
1488 |
*
|
1489 |
* @throws Exception
|
1490 |
* @since 4.0
|
1649 |
|
1650 |
/* If the results class isn't loaded, load it */
|
1651 |
if ( ! class_exists( 'GFResults' ) ) {
|
1652 |
+
require_once GFCommon::get_base_path() . '/includes/addon/class-gf-results.php';
|
1653 |
}
|
1654 |
|
1655 |
$form_id = $form['id'];
|
1941 |
*
|
1942 |
* @return array
|
1943 |
* @since 4.0
|
|
|
|
|
1944 |
*/
|
1945 |
public function add_unregistered_fonts_to_mPDF( $fonts ) {
|
1946 |
|
src/Model/Model_Settings.php
CHANGED
@@ -328,7 +328,7 @@ class Model_Settings extends Helper_Abstract_Model {
|
|
328 |
'body' => [
|
329 |
'edd_action' => 'activate_license',
|
330 |
'license' => $license_key,
|
331 |
-
'item_name' =>
|
332 |
'url' => home_url(),
|
333 |
],
|
334 |
]
|
@@ -398,16 +398,17 @@ class Model_Settings extends Helper_Abstract_Model {
|
|
398 |
/* User / CORS validation */
|
399 |
$this->misc->handle_ajax_authentication( 'Deactivate License', 'gravityforms_edit_settings', 'gfpdf_deactivate_license' );
|
400 |
|
401 |
-
/*
|
402 |
-
$addon_slug =
|
403 |
-
$license =
|
404 |
-
|
|
|
405 |
|
406 |
/* Check add-on currently installed */
|
407 |
if ( ! empty( $addon ) ) {
|
408 |
if ( $this->deactivate_license_key( $addon, $license ) ) {
|
409 |
$this->log->notice( 'AJAX – Successfully Deactivated License' );
|
410 |
-
echo
|
411 |
[
|
412 |
'success' => esc_html__( 'License deactivated.', 'gravity-forms-pdf-extended' ),
|
413 |
]
|
@@ -417,7 +418,7 @@ class Model_Settings extends Helper_Abstract_Model {
|
|
417 |
} elseif ( $addon->schedule_license_check() ) {
|
418 |
$license_info = $addon->get_license_info();
|
419 |
|
420 |
-
echo
|
421 |
[
|
422 |
'error' => $license_info['message'],
|
423 |
]
|
@@ -429,7 +430,7 @@ class Model_Settings extends Helper_Abstract_Model {
|
|
429 |
|
430 |
$this->log->error( 'AJAX Endpoint Error' );
|
431 |
|
432 |
-
echo
|
433 |
[
|
434 |
'error' => esc_html__( 'An error occurred during deactivation, please try again', 'gravity-forms-pdf-extended' ),
|
435 |
]
|
@@ -458,7 +459,7 @@ class Model_Settings extends Helper_Abstract_Model {
|
|
458 |
'body' => [
|
459 |
'edd_action' => 'deactivate_license',
|
460 |
'license' => $license_key,
|
461 |
-
'item_name' =>
|
462 |
'url' => home_url(),
|
463 |
],
|
464 |
]
|
328 |
'body' => [
|
329 |
'edd_action' => 'activate_license',
|
330 |
'license' => $license_key,
|
331 |
+
'item_name' => rawurlencode( $addon->get_short_name() ), // the name of our product in EDD
|
332 |
'url' => home_url(),
|
333 |
],
|
334 |
]
|
398 |
/* User / CORS validation */
|
399 |
$this->misc->handle_ajax_authentication( 'Deactivate License', 'gravityforms_edit_settings', 'gfpdf_deactivate_license' );
|
400 |
|
401 |
+
/* phpcs:disable WordPress.Security.NonceVerification.Missing */
|
402 |
+
$addon_slug = $_POST['addon_name'] ?? '';
|
403 |
+
$license = $_POST['license'] ?? '';
|
404 |
+
/* phpcs:enable */
|
405 |
+
$addon = $this->data->addon[ $addon_slug ] ?? false;
|
406 |
|
407 |
/* Check add-on currently installed */
|
408 |
if ( ! empty( $addon ) ) {
|
409 |
if ( $this->deactivate_license_key( $addon, $license ) ) {
|
410 |
$this->log->notice( 'AJAX – Successfully Deactivated License' );
|
411 |
+
echo wp_json_encode(
|
412 |
[
|
413 |
'success' => esc_html__( 'License deactivated.', 'gravity-forms-pdf-extended' ),
|
414 |
]
|
418 |
} elseif ( $addon->schedule_license_check() ) {
|
419 |
$license_info = $addon->get_license_info();
|
420 |
|
421 |
+
echo wp_json_encode(
|
422 |
[
|
423 |
'error' => $license_info['message'],
|
424 |
]
|
430 |
|
431 |
$this->log->error( 'AJAX Endpoint Error' );
|
432 |
|
433 |
+
echo wp_json_encode(
|
434 |
[
|
435 |
'error' => esc_html__( 'An error occurred during deactivation, please try again', 'gravity-forms-pdf-extended' ),
|
436 |
]
|
459 |
'body' => [
|
460 |
'edd_action' => 'deactivate_license',
|
461 |
'license' => $license_key,
|
462 |
+
'item_name' => rawurlencode( $addon->get_short_name() ), // the name of our product in EDD
|
463 |
'url' => home_url(),
|
464 |
],
|
465 |
]
|
src/Model/Model_Shortcodes.php
CHANGED
@@ -47,7 +47,7 @@ class Model_Shortcodes extends Helper_Abstract_Pdf_Shortcode {
|
|
47 |
* @internal Deprecated in 5.2. Use self::process()
|
48 |
*/
|
49 |
public function gravitypdf( $attributes ) {
|
50 |
-
_doing_it_wrong( __METHOD__,
|
51 |
|
52 |
return $this->process( $attributes );
|
53 |
}
|
47 |
* @internal Deprecated in 5.2. Use self::process()
|
48 |
*/
|
49 |
public function gravitypdf( $attributes ) {
|
50 |
+
_doing_it_wrong( __METHOD__, esc_html__( 'This method has been superseded by self::process()', 'gravity-forms-pdf-extended' ), '5.2' );
|
51 |
|
52 |
return $this->process( $attributes );
|
53 |
}
|
src/Model/Model_System_Report.php
CHANGED
@@ -376,7 +376,7 @@ class Model_System_Report extends Helper_Abstract_Model {
|
|
376 |
}
|
377 |
}
|
378 |
|
379 |
-
/*
|
380 |
@unlink( $tmp_dir . $tmp_test_file );
|
381 |
}
|
382 |
|
376 |
}
|
377 |
}
|
378 |
|
379 |
+
/* phpcs:ignore WordPress.PHP.NoSilencedErrors.Discouraged */
|
380 |
@unlink( $tmp_dir . $tmp_test_file );
|
381 |
}
|
382 |
|
src/Model/Model_Templates.php
CHANGED
@@ -137,7 +137,7 @@ class Model_Templates extends Helper_Abstract_Model {
|
|
137 |
);
|
138 |
|
139 |
header( 'Content-Type: application/json' );
|
140 |
-
echo
|
141 |
[
|
142 |
'error' => $e->getMessage(),
|
143 |
]
|
@@ -180,7 +180,7 @@ class Model_Templates extends Helper_Abstract_Model {
|
|
180 |
|
181 |
/* Return newly-installed template headers */
|
182 |
header( 'Content-Type: application/json' );
|
183 |
-
echo
|
184 |
[
|
185 |
'templates' => $headers,
|
186 |
]
|
@@ -220,7 +220,8 @@ class Model_Templates extends Helper_Abstract_Model {
|
|
220 |
|
221 |
$this->misc->handle_ajax_authentication( 'Delete PDF Template' );
|
222 |
|
223 |
-
|
|
|
224 |
|
225 |
/* Get all the necessary PDF template files to delete */
|
226 |
try {
|
@@ -233,7 +234,7 @@ class Model_Templates extends Helper_Abstract_Model {
|
|
233 |
$this->templates->flush_template_transient_cache();
|
234 |
|
235 |
header( 'Content-Type: application/json' );
|
236 |
-
echo
|
237 |
|
238 |
/* Okay Response */
|
239 |
wp_die( '', 200 );
|
@@ -286,7 +287,7 @@ class Model_Templates extends Helper_Abstract_Model {
|
|
286 |
$value = $options_class->get_form_value( $template_settings );
|
287 |
|
288 |
header( 'Content-Type: application/text' );
|
289 |
-
|
290 |
|
291 |
/* Okay Response */
|
292 |
wp_die( '', 200 );
|
@@ -386,7 +387,7 @@ class Model_Templates extends Helper_Abstract_Model {
|
|
386 |
|
387 |
if ( ! isset( $info['template'] ) || strlen( $info['template'] ) === 0 ) {
|
388 |
/* Check if it's a v3 template */
|
389 |
-
$fp = fopen( $file, '
|
390 |
$file_data = fread( $fp, 8192 );
|
391 |
fclose( $fp );
|
392 |
|
137 |
);
|
138 |
|
139 |
header( 'Content-Type: application/json' );
|
140 |
+
echo wp_json_encode(
|
141 |
[
|
142 |
'error' => $e->getMessage(),
|
143 |
]
|
180 |
|
181 |
/* Return newly-installed template headers */
|
182 |
header( 'Content-Type: application/json' );
|
183 |
+
echo wp_json_encode(
|
184 |
[
|
185 |
'templates' => $headers,
|
186 |
]
|
220 |
|
221 |
$this->misc->handle_ajax_authentication( 'Delete PDF Template' );
|
222 |
|
223 |
+
/* phpcs:ignore WordPress.Security.NonceVerification.Missing */
|
224 |
+
$template_id = $_POST['id'] ?? '';
|
225 |
|
226 |
/* Get all the necessary PDF template files to delete */
|
227 |
try {
|
234 |
$this->templates->flush_template_transient_cache();
|
235 |
|
236 |
header( 'Content-Type: application/json' );
|
237 |
+
echo wp_json_encode( true );
|
238 |
|
239 |
/* Okay Response */
|
240 |
wp_die( '', 200 );
|
287 |
$value = $options_class->get_form_value( $template_settings );
|
288 |
|
289 |
header( 'Content-Type: application/text' );
|
290 |
+
$options_class->build_options_for_select( $templates, $value, true );
|
291 |
|
292 |
/* Okay Response */
|
293 |
wp_die( '', 200 );
|
387 |
|
388 |
if ( ! isset( $info['template'] ) || strlen( $info['template'] ) === 0 ) {
|
389 |
/* Check if it's a v3 template */
|
390 |
+
$fp = fopen( $file, 'rb' );
|
391 |
$file_data = fread( $fp, 8192 );
|
392 |
fclose( $fp );
|
393 |
|
src/Statics/Kses.php
ADDED
@@ -0,0 +1,169 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace GFPDF\Statics;
|
4 |
+
|
5 |
+
/**
|
6 |
+
* @package Gravity PDF
|
7 |
+
* @copyright Copyright (c) 2022, Blue Liquid Designs
|
8 |
+
* @license http://opensource.org/licenses/gpl-2.0.php GNU Public License
|
9 |
+
*/
|
10 |
+
|
11 |
+
/* Exit if accessed directly */
|
12 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
13 |
+
exit;
|
14 |
+
}
|
15 |
+
|
16 |
+
/**
|
17 |
+
* @since 6.4.0
|
18 |
+
*/
|
19 |
+
class Kses {
|
20 |
+
|
21 |
+
/**
|
22 |
+
* Echo the HTML after escaping using wp_kses()
|
23 |
+
*
|
24 |
+
* @param string $html
|
25 |
+
*
|
26 |
+
* @return void
|
27 |
+
*
|
28 |
+
* @since 6.4.0
|
29 |
+
*/
|
30 |
+
public static function output( string $html ): void {
|
31 |
+
/* phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped */
|
32 |
+
echo self::parse( $html );
|
33 |
+
}
|
34 |
+
|
35 |
+
/**
|
36 |
+
* Returns the HTML after escaping using wp_kses()
|
37 |
+
*
|
38 |
+
* @param string $html
|
39 |
+
*
|
40 |
+
* @return string
|
41 |
+
*
|
42 |
+
* @since 6.4.0
|
43 |
+
*/
|
44 |
+
public static function parse( string $html ): string {
|
45 |
+
add_filter( 'safe_style_css', '\GFPDF\Statics\Kses::get_allowed_pdf_styles' );
|
46 |
+
$html = wp_kses( $html, self::get_allowed_pdf_tags() );
|
47 |
+
remove_filter( 'safe_style_css', '\GFPDF\Statics\Kses::get_allowed_pdf_styles' );
|
48 |
+
|
49 |
+
return $html;
|
50 |
+
}
|
51 |
+
|
52 |
+
/**
|
53 |
+
* Get all allowed HTML tags that will be passed to wp_kses() when building HTML for the PDFs
|
54 |
+
*
|
55 |
+
* @param array|null $tags An array of existing tags to pass to wp_kses(), or null to use the allowed "post" context tags
|
56 |
+
*
|
57 |
+
* @return array
|
58 |
+
*
|
59 |
+
* @since 6.4.0
|
60 |
+
*/
|
61 |
+
public static function get_allowed_pdf_tags( $tags = null ): array {
|
62 |
+
$tags = is_array( $tags ) ? $tags : wp_kses_allowed_html( 'post' );
|
63 |
+
|
64 |
+
/* Add additional Table support */
|
65 |
+
$tags['table']['autosize'] = true;
|
66 |
+
$tags['table']['rotate'] = true;
|
67 |
+
|
68 |
+
/* Add IMG rotate support */
|
69 |
+
$tags['img']['rotate'] = true;
|
70 |
+
|
71 |
+
/* Add <dottab /> support */
|
72 |
+
$tags['dottab'] = [
|
73 |
+
'dir' => true,
|
74 |
+
'outdent' => true,
|
75 |
+
'id' => true,
|
76 |
+
'class' => true,
|
77 |
+
'style' => true,
|
78 |
+
];
|
79 |
+
|
80 |
+
/* Add <meter /> support */
|
81 |
+
$tags['meter'] = [
|
82 |
+
'dir' => true,
|
83 |
+
'value' => true,
|
84 |
+
'max' => true,
|
85 |
+
'min' => true,
|
86 |
+
'low' => true,
|
87 |
+
'high' => true,
|
88 |
+
'optimum' => true,
|
89 |
+
'id' => true,
|
90 |
+
'class' => true,
|
91 |
+
'style' => true,
|
92 |
+
'width' => true,
|
93 |
+
'height' => true,
|
94 |
+
];
|
95 |
+
|
96 |
+
/* Add <progress /> support */
|
97 |
+
$tags['progress'] = [
|
98 |
+
'dir' => true,
|
99 |
+
'value' => true,
|
100 |
+
'max' => true,
|
101 |
+
'width' => true,
|
102 |
+
'height' => true,
|
103 |
+
'id' => true,
|
104 |
+
'class' => true,
|
105 |
+
'style' => true,
|
106 |
+
];
|
107 |
+
|
108 |
+
/* Add <pagebreak /> support */
|
109 |
+
$tags['pagebreak'] = [
|
110 |
+
'orientation' => true,
|
111 |
+
'type' => true,
|
112 |
+
'resetpagenum' => true,
|
113 |
+
'pagenumstyle' => true,
|
114 |
+
'suppress' => true,
|
115 |
+
'sheet-size' => true,
|
116 |
+
'page-selector' => true,
|
117 |
+
'margin-left' => true,
|
118 |
+
'margin-right' => true,
|
119 |
+
'margin-top' => true,
|
120 |
+
'margin-bottom' => true,
|
121 |
+
];
|
122 |
+
|
123 |
+
/* Add <barcode /> support */
|
124 |
+
$tags['barcode'] = [
|
125 |
+
'code' => true,
|
126 |
+
'type' => true,
|
127 |
+
'text' => true,
|
128 |
+
'size' => true,
|
129 |
+
'height' => true,
|
130 |
+
'pr' => true,
|
131 |
+
'id' => true,
|
132 |
+
'class' => true,
|
133 |
+
'style' => true,
|
134 |
+
];
|
135 |
+
|
136 |
+
return $tags;
|
137 |
+
}
|
138 |
+
|
139 |
+
/**
|
140 |
+
* Add additional inline style properties that are valid in PDFs
|
141 |
+
*
|
142 |
+
* @param array $styles
|
143 |
+
*
|
144 |
+
* @return array
|
145 |
+
*
|
146 |
+
* @since 6.4.0
|
147 |
+
*/
|
148 |
+
public static function get_allowed_pdf_styles( $styles ): array {
|
149 |
+
if ( ! is_array( $styles ) ) {
|
150 |
+
return $styles;
|
151 |
+
}
|
152 |
+
|
153 |
+
return array_merge(
|
154 |
+
$styles,
|
155 |
+
[
|
156 |
+
'background-image-opacity',
|
157 |
+
'background-image-resize',
|
158 |
+
'box-shadow',
|
159 |
+
'hyphens',
|
160 |
+
'page',
|
161 |
+
'page-break-inside',
|
162 |
+
'page-break-before',
|
163 |
+
'page-break-after',
|
164 |
+
'rotate',
|
165 |
+
'z-index',
|
166 |
+
]
|
167 |
+
);
|
168 |
+
}
|
169 |
+
}
|
src/View/View_Form_Settings.php
CHANGED
@@ -18,8 +18,6 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
18 |
/**
|
19 |
* View_Form_Settings
|
20 |
*
|
21 |
-
* A general class for About / Intro Screen
|
22 |
-
*
|
23 |
* @since 4.0
|
24 |
*/
|
25 |
class View_Form_Settings extends Helper_Abstract_View {
|
@@ -43,7 +41,9 @@ class View_Form_Settings extends Helper_Abstract_View {
|
|
43 |
'width' => 'full',
|
44 |
'title' => __( 'General', 'gravity-forms-pdf-extended' ),
|
45 |
'desc' => '',
|
46 |
-
'
|
|
|
|
|
47 |
'collapsible' => true,
|
48 |
'collapsible-open' => true,
|
49 |
],
|
@@ -53,7 +53,9 @@ class View_Form_Settings extends Helper_Abstract_View {
|
|
53 |
'width' => 'full',
|
54 |
'title' => __( 'Appearance', 'gravity-forms-pdf-extended' ),
|
55 |
'desc' => '',
|
56 |
-
'
|
|
|
|
|
57 |
'collapsible' => true,
|
58 |
'collapsible-open' => true,
|
59 |
],
|
@@ -63,7 +65,9 @@ class View_Form_Settings extends Helper_Abstract_View {
|
|
63 |
'width' => 'full',
|
64 |
'title' => __( 'Template', 'gravity-forms-pdf-extended' ),
|
65 |
'desc' => '',
|
66 |
-
'
|
|
|
|
|
67 |
'collapsible' => true,
|
68 |
'collapsible-open' => true,
|
69 |
],
|
@@ -73,7 +77,9 @@ class View_Form_Settings extends Helper_Abstract_View {
|
|
73 |
'width' => 'full',
|
74 |
'title' => __( 'Advanced', 'gravity-forms-pdf-extended' ),
|
75 |
'desc' => '',
|
76 |
-
'
|
|
|
|
|
77 |
'collapsible' => true,
|
78 |
'collapsible-open' => true,
|
79 |
],
|
@@ -82,7 +88,9 @@ class View_Form_Settings extends Helper_Abstract_View {
|
|
82 |
$vars = array_merge(
|
83 |
$vars,
|
84 |
[
|
85 |
-
'
|
|
|
|
|
86 |
]
|
87 |
);
|
88 |
|
18 |
/**
|
19 |
* View_Form_Settings
|
20 |
*
|
|
|
|
|
21 |
* @since 4.0
|
22 |
*/
|
23 |
class View_Form_Settings extends Helper_Abstract_View {
|
41 |
'width' => 'full',
|
42 |
'title' => __( 'General', 'gravity-forms-pdf-extended' ),
|
43 |
'desc' => '',
|
44 |
+
'callback' => static function() use ( $markup ) {
|
45 |
+
$markup->output_settings_fields( 'gfpdf_settings_form_settings', $markup::ENABLE_PANEL_TITLE );
|
46 |
+
},
|
47 |
'collapsible' => true,
|
48 |
'collapsible-open' => true,
|
49 |
],
|
53 |
'width' => 'full',
|
54 |
'title' => __( 'Appearance', 'gravity-forms-pdf-extended' ),
|
55 |
'desc' => '',
|
56 |
+
'callback' => static function() use ( $markup ) {
|
57 |
+
$markup->output_settings_fields( 'gfpdf_settings_form_settings_appearance', $markup::ENABLE_PANEL_TITLE );
|
58 |
+
},
|
59 |
'collapsible' => true,
|
60 |
'collapsible-open' => true,
|
61 |
],
|
65 |
'width' => 'full',
|
66 |
'title' => __( 'Template', 'gravity-forms-pdf-extended' ),
|
67 |
'desc' => '',
|
68 |
+
'callback' => static function() use ( $markup ) {
|
69 |
+
$markup->output_settings_fields( 'gfpdf_settings_form_settings_custom_appearance', $markup::ENABLE_PANEL_TITLE );
|
70 |
+
},
|
71 |
'collapsible' => true,
|
72 |
'collapsible-open' => true,
|
73 |
],
|
77 |
'width' => 'full',
|
78 |
'title' => __( 'Advanced', 'gravity-forms-pdf-extended' ),
|
79 |
'desc' => '',
|
80 |
+
'callback' => static function() use ( $markup ) {
|
81 |
+
$markup->output_settings_fields( 'gfpdf_settings_form_settings_advanced', $markup::ENABLE_PANEL_TITLE );
|
82 |
+
},
|
83 |
'collapsible' => true,
|
84 |
'collapsible-open' => true,
|
85 |
],
|
88 |
$vars = array_merge(
|
89 |
$vars,
|
90 |
[
|
91 |
+
'callback' => static function() use ( $markup, $sections ) {
|
92 |
+
$markup->do_settings_sections( $sections, true );
|
93 |
+
},
|
94 |
]
|
95 |
);
|
96 |
|
src/View/View_GravityForm_Settings_Markup.php
CHANGED
@@ -31,14 +31,15 @@ class View_GravityForm_Settings_Markup extends Helper_Abstract_View {
|
|
31 |
protected $view_type = 'GravityForms';
|
32 |
|
33 |
/**
|
34 |
-
* @param $sections
|
|
|
35 |
*
|
36 |
* @return string
|
37 |
*/
|
38 |
-
public function do_settings_sections( $sections ) {
|
39 |
$markup = '';
|
40 |
foreach ( $sections as $section ) {
|
41 |
-
$markup .= $this->fieldset( $section );
|
42 |
}
|
43 |
|
44 |
return $markup;
|
@@ -46,11 +47,12 @@ class View_GravityForm_Settings_Markup extends Helper_Abstract_View {
|
|
46 |
|
47 |
/**
|
48 |
* @param array $args
|
|
|
49 |
*
|
50 |
* @return string
|
51 |
*/
|
52 |
-
public function fieldset( $args ) {
|
53 |
-
return $this->load( 'fieldset', $args,
|
54 |
}
|
55 |
|
56 |
/**
|
@@ -62,12 +64,24 @@ class View_GravityForm_Settings_Markup extends Helper_Abstract_View {
|
|
62 |
public function do_settings_fields( $id, $output_title = self::DISABLE_PANEL_TITLE ) {
|
63 |
ob_start();
|
64 |
foreach ( (array) $this->get_section_fields( $id ) as $field ) {
|
65 |
-
|
66 |
}
|
67 |
|
68 |
return ob_get_clean();
|
69 |
}
|
70 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
71 |
/**
|
72 |
* @param $id
|
73 |
*
|
@@ -93,16 +107,17 @@ class View_GravityForm_Settings_Markup extends Helper_Abstract_View {
|
|
93 |
|
94 |
$section = [];
|
95 |
foreach ( $this->get_section_fields( $section_id ) as $field ) {
|
96 |
-
$id
|
97 |
-
$content = $this->get_field_content( $field );
|
98 |
|
99 |
$section[] = [
|
100 |
'id' => $id,
|
101 |
-
'width' =>
|
102 |
'title' => $field['title'],
|
103 |
-
'desc' =>
|
104 |
-
'
|
105 |
-
|
|
|
|
|
106 |
'tooltip' => ! empty( $field['args']['tooltip'] ) ? $this->get_tooltip_markup( $field['args']['tooltip'] ) : '',
|
107 |
'collapsible' => isset( $overrides[ $id ]['collapsible'] ) ? (bool) $overrides[ $id ]['collapsible'] : false,
|
108 |
];
|
@@ -114,10 +129,11 @@ class View_GravityForm_Settings_Markup extends Helper_Abstract_View {
|
|
114 |
/**
|
115 |
* @param $field
|
116 |
* @param int $output_title
|
|
|
117 |
*
|
118 |
* @return bool|string|WP_Error
|
119 |
*/
|
120 |
-
public function get_field_content( $field, $output_title = self::DISABLE_PANEL_TITLE ) {
|
121 |
|
122 |
$class = 'gform-settings-field gfpdf-settings-field-wrapper';
|
123 |
|
@@ -136,7 +152,7 @@ class View_GravityForm_Settings_Markup extends Helper_Abstract_View {
|
|
136 |
}
|
137 |
}
|
138 |
|
139 |
-
return $this->load( 'settings_field', $args,
|
140 |
}
|
141 |
|
142 |
/**
|
31 |
protected $view_type = 'GravityForms';
|
32 |
|
33 |
/**
|
34 |
+
* @param array $sections
|
35 |
+
* @param bool $echo
|
36 |
*
|
37 |
* @return string
|
38 |
*/
|
39 |
+
public function do_settings_sections( $sections, $echo = false ) {
|
40 |
$markup = '';
|
41 |
foreach ( $sections as $section ) {
|
42 |
+
$markup .= $this->fieldset( $section, $echo );
|
43 |
}
|
44 |
|
45 |
return $markup;
|
47 |
|
48 |
/**
|
49 |
* @param array $args
|
50 |
+
* @param bool $echo
|
51 |
*
|
52 |
* @return string
|
53 |
*/
|
54 |
+
public function fieldset( $args, $echo = false ) {
|
55 |
+
return $this->load( 'fieldset', $args, $echo );
|
56 |
}
|
57 |
|
58 |
/**
|
64 |
public function do_settings_fields( $id, $output_title = self::DISABLE_PANEL_TITLE ) {
|
65 |
ob_start();
|
66 |
foreach ( (array) $this->get_section_fields( $id ) as $field ) {
|
67 |
+
$this->get_field_content( $field, $output_title, true );
|
68 |
}
|
69 |
|
70 |
return ob_get_clean();
|
71 |
}
|
72 |
|
73 |
+
/**
|
74 |
+
* @param string $id
|
75 |
+
* @param int $output_title
|
76 |
+
*
|
77 |
+
* @since 6.4.0
|
78 |
+
*/
|
79 |
+
public function output_settings_fields( string $id, int $output_title = self::DISABLE_PANEL_TITLE ): void {
|
80 |
+
foreach ( (array) $this->get_section_fields( $id ) as $field ) {
|
81 |
+
$this->get_field_content( $field, $output_title, true );
|
82 |
+
}
|
83 |
+
}
|
84 |
+
|
85 |
/**
|
86 |
* @param $id
|
87 |
*
|
107 |
|
108 |
$section = [];
|
109 |
foreach ( $this->get_section_fields( $section_id ) as $field ) {
|
110 |
+
$id = $field['args']['id'];
|
|
|
111 |
|
112 |
$section[] = [
|
113 |
'id' => $id,
|
114 |
+
'width' => $overrides[ $id ]['width'] ?? 'half',
|
115 |
'title' => $field['title'],
|
116 |
+
'desc' => $overrides[ $id ]['desc'] ?? '',
|
117 |
+
'callback' => function() use ( $field ) {
|
118 |
+
$this->get_field_content( $field, self::DISABLE_PANEL_TITLE, true );
|
119 |
+
},
|
120 |
+
'content_class' => $overrides[ $id ]['content_class'] ?? '',
|
121 |
'tooltip' => ! empty( $field['args']['tooltip'] ) ? $this->get_tooltip_markup( $field['args']['tooltip'] ) : '',
|
122 |
'collapsible' => isset( $overrides[ $id ]['collapsible'] ) ? (bool) $overrides[ $id ]['collapsible'] : false,
|
123 |
];
|
129 |
/**
|
130 |
* @param $field
|
131 |
* @param int $output_title
|
132 |
+
* @param bool $echo
|
133 |
*
|
134 |
* @return bool|string|WP_Error
|
135 |
*/
|
136 |
+
public function get_field_content( $field, int $output_title = self::DISABLE_PANEL_TITLE, bool $echo = false ) {
|
137 |
|
138 |
$class = 'gform-settings-field gfpdf-settings-field-wrapper';
|
139 |
|
152 |
}
|
153 |
}
|
154 |
|
155 |
+
return $this->load( 'settings_field', $args, $echo );
|
156 |
}
|
157 |
|
158 |
/**
|
src/View/View_PDF.php
CHANGED
@@ -6,6 +6,7 @@ use Exception;
|
|
6 |
use GF_Field;
|
7 |
use GFCommon;
|
8 |
use GFPDF\Helper\Fields\Field_Products;
|
|
|
9 |
use GFPDF\Helper\Helper_Abstract_Form;
|
10 |
use GFPDF\Helper\Helper_Abstract_Model;
|
11 |
use GFPDF\Helper\Helper_Abstract_Options;
|
@@ -18,6 +19,7 @@ use GFPDF\Helper\Helper_Form;
|
|
18 |
use GFPDF\Helper\Helper_Misc;
|
19 |
use GFPDF\Helper\Helper_PDF;
|
20 |
use GFPDF\Helper\Helper_Templates;
|
|
|
21 |
use GFPDFEntryDetail;
|
22 |
use GWConditionalLogicDateFields;
|
23 |
use Psr\Log\LoggerInterface;
|
@@ -178,15 +180,8 @@ class View_PDF extends Helper_Abstract_View {
|
|
178 |
$this->misc->get_legacy_ids( $entry['id'], $settings )
|
179 |
);
|
180 |
|
181 |
-
|
182 |
-
|
183 |
-
*/
|
184 |
-
if ( isset( $_GET['data'] ) && $this->gform->has_capability( 'gravityforms_view_settings' ) && isset( $args['form_data'] ) ) {
|
185 |
-
echo '<pre>';
|
186 |
-
print_r( $args['form_data'] );
|
187 |
-
echo '</pre>';
|
188 |
-
exit;
|
189 |
-
}
|
190 |
|
191 |
/* Enable Multicurrency support */
|
192 |
$this->misc->maybe_add_multicurrency_support();
|
@@ -213,8 +208,9 @@ class View_PDF extends Helper_Abstract_View {
|
|
213 |
}
|
214 |
|
215 |
/* Determine if we should show the print dialog box */
|
|
|
216 |
if ( isset( $_GET['print'] ) ) {
|
217 |
-
$pdf->set_print_dialog(
|
218 |
}
|
219 |
|
220 |
/* Render the PDF template HTML */
|
@@ -242,7 +238,7 @@ class View_PDF extends Helper_Abstract_View {
|
|
242 |
$e->getLine()
|
243 |
);
|
244 |
|
245 |
-
wp_die( $message );
|
246 |
}
|
247 |
|
248 |
wp_die( esc_html__( 'There was a problem generating your PDF', 'gravity-forms-pdf-extended' ) );
|
@@ -450,7 +446,8 @@ class View_PDF extends Helper_Abstract_View {
|
|
450 |
*/
|
451 |
$should_disable_product_table = apply_filters( 'gfpdf_disable_product_table', false, $entry, $form, $config, $products );
|
452 |
if ( ! $should_disable_product_table && $show_individual_product_fields === false && ! $products->is_empty() ) {
|
453 |
-
|
|
|
454 |
}
|
455 |
}
|
456 |
|
@@ -472,18 +469,19 @@ class View_PDF extends Helper_Abstract_View {
|
|
472 |
/*
|
473 |
* Set up our configuration variables
|
474 |
*/
|
475 |
-
$config['meta'] =
|
476 |
-
$show_empty_fields =
|
477 |
-
$load_legacy_css =
|
478 |
-
$show_section_description =
|
479 |
|
|
|
480 |
$class = $model->get_field_class( $field, $form, $entry, $products );
|
481 |
|
482 |
/* Try and display our HTML */
|
483 |
try {
|
484 |
|
485 |
/* Only load our HTML if the field is NOT empty, or the $empty config option is true */
|
486 |
-
if ( ! $class->is_empty()
|
487 |
/* Load our legacy CSS class names */
|
488 |
if ( $load_legacy_css === true ) {
|
489 |
GFPDFEntryDetail::load_legacy_css( $field );
|
@@ -495,7 +493,8 @@ class View_PDF extends Helper_Abstract_View {
|
|
495 |
*/
|
496 |
$container->generate( $field );
|
497 |
|
498 |
-
|
|
|
499 |
} else {
|
500 |
/* To prevent display issues we will output the column markup needed */
|
501 |
$container->maybe_display_faux_column( $field );
|
@@ -532,7 +531,7 @@ class View_PDF extends Helper_Abstract_View {
|
|
532 |
$html = $this->load( 'form_title', [ 'form' => $form ], false );
|
533 |
|
534 |
/* Run it through a filter and output */
|
535 |
-
|
536 |
}
|
537 |
}
|
538 |
|
@@ -574,7 +573,7 @@ class View_PDF extends Helper_Abstract_View {
|
|
574 |
);
|
575 |
|
576 |
/* Run it through a filter and output */
|
577 |
-
|
578 |
}
|
579 |
}
|
580 |
|
@@ -637,60 +636,60 @@ class View_PDF extends Helper_Abstract_View {
|
|
637 |
}
|
638 |
|
639 |
/**
|
640 |
-
* Allow PDF HTML Mark-up when using wp_kses_post()
|
641 |
*
|
642 |
-
* @param array $
|
643 |
*
|
644 |
* @return array
|
645 |
*
|
646 |
* @since 5.1.1
|
647 |
*/
|
648 |
-
public function allow_pdf_html( $
|
649 |
-
|
650 |
-
$context['table']['autosize'] = true;
|
651 |
-
|
652 |
-
/* Add <pagebreak /> support */
|
653 |
-
$context['pagebreak'] = [
|
654 |
-
'orientation' => true,
|
655 |
-
'type' => true,
|
656 |
-
'resetpagenum' => true,
|
657 |
-
'pagenumstyle' => true,
|
658 |
-
'suppress' => true,
|
659 |
-
'sheet-size' => true,
|
660 |
-
'page-selector' => true,
|
661 |
-
'margin-left' => true,
|
662 |
-
'margin-right' => true,
|
663 |
-
'margin-top' => true,
|
664 |
-
'margin-bottom' => true,
|
665 |
-
];
|
666 |
-
|
667 |
-
/* Add <barcode /> support */
|
668 |
-
$context['barcode'] = [
|
669 |
-
'code' => true,
|
670 |
-
'type' => true,
|
671 |
-
'text' => true,
|
672 |
-
'size' => true,
|
673 |
-
'height' => true,
|
674 |
-
'pr' => true,
|
675 |
-
];
|
676 |
-
|
677 |
-
return $context;
|
678 |
}
|
679 |
|
680 |
/**
|
681 |
-
* Allow PDF CSS Mark-up when using
|
682 |
*
|
683 |
-
* @param array $
|
684 |
*
|
685 |
* @return array
|
686 |
*
|
687 |
* @since 5.1.1
|
688 |
*/
|
689 |
-
public function allow_pdf_css( $
|
690 |
-
$
|
691 |
-
|
692 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
693 |
|
694 |
-
|
695 |
}
|
696 |
}
|
6 |
use GF_Field;
|
7 |
use GFCommon;
|
8 |
use GFPDF\Helper\Fields\Field_Products;
|
9 |
+
use GFPDF\Helper\Helper_Abstract_Fields;
|
10 |
use GFPDF\Helper\Helper_Abstract_Form;
|
11 |
use GFPDF\Helper\Helper_Abstract_Model;
|
12 |
use GFPDF\Helper\Helper_Abstract_Options;
|
19 |
use GFPDF\Helper\Helper_Misc;
|
20 |
use GFPDF\Helper\Helper_PDF;
|
21 |
use GFPDF\Helper\Helper_Templates;
|
22 |
+
use GFPDF\Statics\Kses;
|
23 |
use GFPDFEntryDetail;
|
24 |
use GWConditionalLogicDateFields;
|
25 |
use Psr\Log\LoggerInterface;
|
180 |
$this->misc->get_legacy_ids( $entry['id'], $settings )
|
181 |
);
|
182 |
|
183 |
+
/* Show $form_data array if requested */
|
184 |
+
$this->maybe_view_form_data( $args['form_data'] ?? [] );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
185 |
|
186 |
/* Enable Multicurrency support */
|
187 |
$this->misc->maybe_add_multicurrency_support();
|
208 |
}
|
209 |
|
210 |
/* Determine if we should show the print dialog box */
|
211 |
+
/* phpcs:ignore WordPress.Security.NonceVerification.Recommended */
|
212 |
if ( isset( $_GET['print'] ) ) {
|
213 |
+
$pdf->set_print_dialog();
|
214 |
}
|
215 |
|
216 |
/* Render the PDF template HTML */
|
238 |
$e->getLine()
|
239 |
);
|
240 |
|
241 |
+
wp_die( esc_html( $message ) );
|
242 |
}
|
243 |
|
244 |
wp_die( esc_html__( 'There was a problem generating your PDF', 'gravity-forms-pdf-extended' ) );
|
446 |
*/
|
447 |
$should_disable_product_table = apply_filters( 'gfpdf_disable_product_table', false, $entry, $form, $config, $products );
|
448 |
if ( ! $should_disable_product_table && $show_individual_product_fields === false && ! $products->is_empty() ) {
|
449 |
+
$products->enable_output();
|
450 |
+
$products->html();
|
451 |
}
|
452 |
}
|
453 |
|
469 |
/*
|
470 |
* Set up our configuration variables
|
471 |
*/
|
472 |
+
$config['meta'] = $config['meta'] ?? []; /* ensure we have a meta key */
|
473 |
+
$show_empty_fields = $config['meta']['empty'] ?? false; /* whether to show empty fields or not. Default is false */
|
474 |
+
$load_legacy_css = $config['meta']['legacy_css'] ?? false; /* whether we should add our legacy field class names (v3.x.x) to our fields. Default to false */
|
475 |
+
$show_section_description = $config['meta']['section_content'] ?? false; /* whether we should include a section breaks content. Default to false */
|
476 |
|
477 |
+
/** @var \GFPDF\Helper\Helper_Abstract_Fields $class */
|
478 |
$class = $model->get_field_class( $field, $form, $entry, $products );
|
479 |
|
480 |
/* Try and display our HTML */
|
481 |
try {
|
482 |
|
483 |
/* Only load our HTML if the field is NOT empty, or the $empty config option is true */
|
484 |
+
if ( $show_empty_fields === true || ! $class->is_empty() ) {
|
485 |
/* Load our legacy CSS class names */
|
486 |
if ( $load_legacy_css === true ) {
|
487 |
GFPDFEntryDetail::load_legacy_css( $field );
|
493 |
*/
|
494 |
$container->generate( $field );
|
495 |
|
496 |
+
$class->enable_output();
|
497 |
+
$field->type !== 'section' ? $class->html() : $class->html( $show_section_description );
|
498 |
} else {
|
499 |
/* To prevent display issues we will output the column markup needed */
|
500 |
$container->maybe_display_faux_column( $field );
|
531 |
$html = $this->load( 'form_title', [ 'form' => $form ], false );
|
532 |
|
533 |
/* Run it through a filter and output */
|
534 |
+
Kses::output( apply_filters( 'gfpdf_pdf_form_title_html', $html, $form ) );
|
535 |
}
|
536 |
}
|
537 |
|
573 |
);
|
574 |
|
575 |
/* Run it through a filter and output */
|
576 |
+
Kses::output( apply_filters( 'gfpdf_field_page_name_html', $html, $page, $form ) );
|
577 |
}
|
578 |
}
|
579 |
|
636 |
}
|
637 |
|
638 |
/**
|
639 |
+
* Allow PDF HTML Mark-up when using wp_kses_post() during PDF generation
|
640 |
*
|
641 |
+
* @param array $tags
|
642 |
*
|
643 |
* @return array
|
644 |
*
|
645 |
* @since 5.1.1
|
646 |
*/
|
647 |
+
public function allow_pdf_html( $tags ) {
|
648 |
+
return Kses::get_allowed_pdf_tags( $tags );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
649 |
}
|
650 |
|
651 |
/**
|
652 |
+
* Allow PDF CSS Mark-up when using wp_kses_post() during PDF generation
|
653 |
*
|
654 |
+
* @param array $styles
|
655 |
*
|
656 |
* @return array
|
657 |
*
|
658 |
* @since 5.1.1
|
659 |
*/
|
660 |
+
public function allow_pdf_css( $styles ) {
|
661 |
+
return Kses::get_allowed_pdf_styles( $styles );
|
662 |
+
}
|
663 |
+
|
664 |
+
/**
|
665 |
+
* @param array $form_data
|
666 |
+
*
|
667 |
+
* @return void
|
668 |
+
*
|
669 |
+
* @since 6.4.0
|
670 |
+
*/
|
671 |
+
public function maybe_view_form_data( $form_data ) {
|
672 |
+
|
673 |
+
/* phpcs:ignore WordPress.Security.NonceVerification.Recommended */
|
674 |
+
if ( ! isset( $_GET['data'] ) ) {
|
675 |
+
return;
|
676 |
+
}
|
677 |
+
|
678 |
+
/* Disable if PDF Debug Mode off AND the environment is production */
|
679 |
+
if ( $this->options->get_option( 'debug_mode', 'No' ) === 'No' && ( ! function_exists( 'wp_get_environment_type' ) || wp_get_environment_type() === 'production' ) ) {
|
680 |
+
return;
|
681 |
+
}
|
682 |
+
|
683 |
+
/* Check if user has permission to view info */
|
684 |
+
if ( ! $this->gform->has_capability( 'gravityforms_view_settings' ) ) {
|
685 |
+
return;
|
686 |
+
}
|
687 |
+
|
688 |
+
print '<pre>';
|
689 |
+
/* phpcs:ignore WordPress.PHP.DevelopmentFunctions.error_log_print_r */
|
690 |
+
print_r( $form_data );
|
691 |
+
print '</pre>';
|
692 |
|
693 |
+
exit;
|
694 |
}
|
695 |
}
|
src/View/View_Settings.php
CHANGED
@@ -133,18 +133,29 @@ class View_Settings extends Helper_Abstract_View {
|
|
133 |
* @return string
|
134 |
* @since 4.0
|
135 |
*
|
|
|
136 |
*/
|
137 |
public function tabs() {
|
|
|
|
|
138 |
|
139 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
140 |
$vars = [
|
141 |
-
|
|
|
142 |
'tabs' => $this->get_available_tabs(),
|
143 |
'data' => $this->data,
|
144 |
];
|
145 |
|
146 |
-
|
147 |
-
return $this->load( 'tabs', $vars, false );
|
148 |
}
|
149 |
|
150 |
/**
|
@@ -221,7 +232,9 @@ class View_Settings extends Helper_Abstract_View {
|
|
221 |
'width' => 'full',
|
222 |
'title' => __( 'Default PDF Options', 'gravity-forms-pdf-extended' ),
|
223 |
'desc' => __( 'Control the default settings to use when you create new PDFs on your forms.', 'gravity-forms-pdf-extended' ),
|
224 |
-
'
|
|
|
|
|
225 |
'content_class' => 'gform_settings_form',
|
226 |
],
|
227 |
];
|
@@ -243,14 +256,17 @@ class View_Settings extends Helper_Abstract_View {
|
|
243 |
'width' => 'full',
|
244 |
'collapsible' => true,
|
245 |
'title' => __( 'Security', 'gravity-forms-pdf-extended' ),
|
246 |
-
'
|
|
|
|
|
247 |
'content_class' => 'gform_settings_form',
|
248 |
];
|
249 |
|
250 |
$vars = [
|
251 |
'edit_cap' => $this->gform->has_capability( 'gravityforms_edit_settings' ),
|
252 |
-
'
|
253 |
-
|
|
|
254 |
];
|
255 |
|
256 |
/* load the system status view */
|
@@ -270,11 +286,12 @@ class View_Settings extends Helper_Abstract_View {
|
|
270 |
|
271 |
$sections = [
|
272 |
[
|
273 |
-
'id'
|
274 |
-
'width'
|
275 |
-
'title'
|
276 |
-
'
|
277 |
-
|
|
|
278 |
],
|
279 |
];
|
280 |
|
@@ -284,13 +301,19 @@ class View_Settings extends Helper_Abstract_View {
|
|
284 |
|
285 |
if ( empty( $args ) ) {
|
286 |
$args = [
|
287 |
-
'id'
|
288 |
-
'width'
|
289 |
-
'title'
|
290 |
-
'
|
|
|
|
|
|
|
|
|
291 |
];
|
292 |
} else {
|
293 |
-
$args['
|
|
|
|
|
294 |
}
|
295 |
|
296 |
if ( $i % 3 === 0 ) {
|
@@ -303,8 +326,9 @@ class View_Settings extends Helper_Abstract_View {
|
|
303 |
|
304 |
$vars = [
|
305 |
'edit_cap' => $this->gform->has_capability( 'gravityforms_edit_settings' ),
|
306 |
-
'
|
307 |
-
|
|
|
308 |
];
|
309 |
|
310 |
/* load the system status view */
|
@@ -321,7 +345,6 @@ class View_Settings extends Helper_Abstract_View {
|
|
321 |
public function extensions() {
|
322 |
$vars = [
|
323 |
'edit_cap' => $this->gform->has_capability( 'gravityforms_edit_settings' ),
|
324 |
-
'menu' => $this->tabs(),
|
325 |
];
|
326 |
|
327 |
/* load the system status view */
|
@@ -338,7 +361,6 @@ class View_Settings extends Helper_Abstract_View {
|
|
338 |
public function help() {
|
339 |
$vars = [
|
340 |
'edit_cap' => $this->gform->has_capability( 'gravityforms_edit_settings' ),
|
341 |
-
'menu' => $this->tabs(),
|
342 |
];
|
343 |
|
344 |
/* load the system status view */
|
@@ -369,16 +391,15 @@ class View_Settings extends Helper_Abstract_View {
|
|
369 |
'template_directory' => $this->misc->relative_path( $template_directory, '/' ),
|
370 |
'template_files' => $this->templates->get_core_pdf_templates(),
|
371 |
'custom_template_setup_warning' => $this->options->get_option( 'custom_pdf_template_files_installed' ),
|
372 |
-
'
|
373 |
-
|
|
|
374 |
];
|
375 |
|
376 |
/* load the system status view */
|
377 |
$this->load( 'tools', $vars );
|
378 |
}
|
379 |
|
380 |
-
|
381 |
-
|
382 |
/**
|
383 |
* Add Gravity Forms Tooltips
|
384 |
*
|
133 |
* @return string
|
134 |
* @since 4.0
|
135 |
*
|
136 |
+
* @deprecated 6.4
|
137 |
*/
|
138 |
public function tabs() {
|
139 |
+
ob_start();
|
140 |
+
$this->sub_menu();
|
141 |
|
142 |
+
return ob_get_clean();
|
143 |
+
}
|
144 |
+
|
145 |
+
/**
|
146 |
+
* Display the sub menu for the global settings
|
147 |
+
*
|
148 |
+
* @since 6.4
|
149 |
+
*/
|
150 |
+
public function sub_menu() {
|
151 |
$vars = [
|
152 |
+
/* phpcs:ignore WordPress.Security.NonceVerification.Recommended */
|
153 |
+
'selected' => $_GET['tab'] ?? 'general',
|
154 |
'tabs' => $this->get_available_tabs(),
|
155 |
'data' => $this->data,
|
156 |
];
|
157 |
|
158 |
+
$this->load( 'tabs', $vars );
|
|
|
159 |
}
|
160 |
|
161 |
/**
|
232 |
'width' => 'full',
|
233 |
'title' => __( 'Default PDF Options', 'gravity-forms-pdf-extended' ),
|
234 |
'desc' => __( 'Control the default settings to use when you create new PDFs on your forms.', 'gravity-forms-pdf-extended' ),
|
235 |
+
'callback' => static function() use ( $markup ) {
|
236 |
+
$markup->output_settings_fields( 'gfpdf_settings_general_defaults', $markup::ENABLE_PANEL_TITLE );
|
237 |
+
},
|
238 |
'content_class' => 'gform_settings_form',
|
239 |
],
|
240 |
];
|
256 |
'width' => 'full',
|
257 |
'collapsible' => true,
|
258 |
'title' => __( 'Security', 'gravity-forms-pdf-extended' ),
|
259 |
+
'callback' => static function() use ( $markup ) {
|
260 |
+
$markup->output_settings_fields( 'gfpdf_settings_general_security', $markup::ENABLE_PANEL_TITLE );
|
261 |
+
},
|
262 |
'content_class' => 'gform_settings_form',
|
263 |
];
|
264 |
|
265 |
$vars = [
|
266 |
'edit_cap' => $this->gform->has_capability( 'gravityforms_edit_settings' ),
|
267 |
+
'callback' => static function() use ( $markup, $sections ) {
|
268 |
+
$markup->do_settings_sections( $sections, true );
|
269 |
+
},
|
270 |
];
|
271 |
|
272 |
/* load the system status view */
|
286 |
|
287 |
$sections = [
|
288 |
[
|
289 |
+
'id' => 'gfpdf_settings_general_view',
|
290 |
+
'width' => 'full',
|
291 |
+
'title' => __( 'Licensing', 'gravity-forms-pdf-extended' ),
|
292 |
+
'callback' => function() {
|
293 |
+
$this->load( 'licence-info', [] );
|
294 |
+
},
|
295 |
],
|
296 |
];
|
297 |
|
301 |
|
302 |
if ( empty( $args ) ) {
|
303 |
$args = [
|
304 |
+
'id' => $field['args']['id'],
|
305 |
+
'width' => 'half',
|
306 |
+
'title' => $field['title'],
|
307 |
+
'callback' => [
|
308 |
+
static function() use ( $markup, $field ) {
|
309 |
+
$markup->get_field_content( $field, $markup::DISABLE_PANEL_TITLE, true );
|
310 |
+
},
|
311 |
+
],
|
312 |
];
|
313 |
} else {
|
314 |
+
$args['callback'][] = static function() use ( $markup, $field ) {
|
315 |
+
$markup->get_field_content( $field, $markup::DISABLE_PANEL_TITLE, true );
|
316 |
+
};
|
317 |
}
|
318 |
|
319 |
if ( $i % 3 === 0 ) {
|
326 |
|
327 |
$vars = [
|
328 |
'edit_cap' => $this->gform->has_capability( 'gravityforms_edit_settings' ),
|
329 |
+
'callback' => static function() use ( $markup, $sections ) {
|
330 |
+
$markup->do_settings_sections( $sections, true );
|
331 |
+
},
|
332 |
];
|
333 |
|
334 |
/* load the system status view */
|
345 |
public function extensions() {
|
346 |
$vars = [
|
347 |
'edit_cap' => $this->gform->has_capability( 'gravityforms_edit_settings' ),
|
|
|
348 |
];
|
349 |
|
350 |
/* load the system status view */
|
361 |
public function help() {
|
362 |
$vars = [
|
363 |
'edit_cap' => $this->gform->has_capability( 'gravityforms_edit_settings' ),
|
|
|
364 |
];
|
365 |
|
366 |
/* load the system status view */
|
391 |
'template_directory' => $this->misc->relative_path( $template_directory, '/' ),
|
392 |
'template_files' => $this->templates->get_core_pdf_templates(),
|
393 |
'custom_template_setup_warning' => $this->options->get_option( 'custom_pdf_template_files_installed' ),
|
394 |
+
'callback' => static function() use ( $markup, $sections ) {
|
395 |
+
$markup->do_settings_sections( $sections, true );
|
396 |
+
},
|
397 |
];
|
398 |
|
399 |
/* load the system status view */
|
400 |
$this->load( 'tools', $vars );
|
401 |
}
|
402 |
|
|
|
|
|
403 |
/**
|
404 |
* Add Gravity Forms Tooltips
|
405 |
*
|
src/View/html/Actions/action_buttons.php
CHANGED
@@ -19,11 +19,11 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
19 |
?>
|
20 |
|
21 |
<form method="post">
|
22 |
-
<input type="hidden" name="gfpdf_action" value="gfpdf_
|
23 |
-
<input type="hidden" name="gfpdf_action_
|
24 |
|
25 |
<p>
|
26 |
-
<button class="button"
|
27 |
|
28 |
<?php if ( $args['dismissal'] === 'enabled' ): ?>
|
29 |
<input class="button primary" type="submit" value="<?php esc_attr_e( 'Dismiss Notice', 'gravity-forms-pdf-extended' ); ?>" name="gfpdf-dismiss-notice" />
|
19 |
?>
|
20 |
|
21 |
<form method="post">
|
22 |
+
<input type="hidden" name="gfpdf_action" value="gfpdf_<?php echo esc_attr( $args['type'] ); ?>" />
|
23 |
+
<input type="hidden" name="gfpdf_action_<?php echo esc_attr( $args['type'] ); ?>" value="<?php echo esc_attr( wp_create_nonce( 'gfpdf_action_' . $args['type'] ) ); ?>" />
|
24 |
|
25 |
<p>
|
26 |
+
<button class="button"><?php echo esc_html( $args['button_text'] ); ?></button>
|
27 |
|
28 |
<?php if ( $args['dismissal'] === 'enabled' ): ?>
|
29 |
<input class="button primary" type="submit" value="<?php esc_attr_e( 'Dismiss Notice', 'gravity-forms-pdf-extended' ); ?>" name="gfpdf-dismiss-notice" />
|
src/View/html/FormSettings/add_edit.php
CHANGED
@@ -23,9 +23,9 @@ global $wp_settings_fields;
|
|
23 |
<script type="text/javascript">
|
24 |
<?php GFCommon::gf_global(); ?>
|
25 |
<?php GFCommon::gf_vars(); ?>
|
26 |
-
var form =
|
27 |
-
var gfpdf_current_pdf =
|
28 |
-
var entry_meta =
|
29 |
|
30 |
<?php GFFormSettings::output_field_scripts(); ?>
|
31 |
</script>
|
@@ -33,18 +33,28 @@ global $wp_settings_fields;
|
|
33 |
<?php GFFormSettings::page_header( $args['title'] ); ?>
|
34 |
|
35 |
<!-- Prevent Firefox auto-filling fields on refresh. @see https://stackoverflow.com/a/44504822/1614565 -->
|
36 |
-
<form name="gfpdf-settings-form
|
37 |
-
class="gform_settings_form
|
38 |
|
39 |
<?php wp_nonce_field( 'gfpdf_save_pdf', 'gfpdf_save_pdf' ); ?>
|
40 |
|
41 |
-
<input type="hidden" id="gform_pdf_id" name="gform_pdf_id" value="
|
42 |
-
<input type="hidden" id="gform_id" name="gform_id" value="
|
43 |
|
44 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
45 |
|
46 |
<div id="submit-and-promo-container">
|
47 |
-
<input type="submit" name="submit" id="submit" value="
|
48 |
|
49 |
<div class="extensions-upsell">
|
50 |
<a href="https://gravitypdf.com/store/">
|
23 |
<script type="text/javascript">
|
24 |
<?php GFCommon::gf_global(); ?>
|
25 |
<?php GFCommon::gf_vars(); ?>
|
26 |
+
var form = <?php echo wp_json_encode( $args['form'] ); ?>;
|
27 |
+
var gfpdf_current_pdf = <?php echo wp_json_encode( $args['pdf'] ); ?>;
|
28 |
+
var entry_meta = <?php echo wp_json_encode( $args['entry_meta'] ); ?>;
|
29 |
|
30 |
<?php GFFormSettings::output_field_scripts(); ?>
|
31 |
</script>
|
33 |
<?php GFFormSettings::page_header( $args['title'] ); ?>
|
34 |
|
35 |
<!-- Prevent Firefox auto-filling fields on refresh. @see https://stackoverflow.com/a/44504822/1614565 -->
|
36 |
+
<form name="gfpdf-settings-form-<?php echo esc_attr( wp_rand() ); ?>" method="post" id="gfpdf_pdf_form"
|
37 |
+
class="gform_settings_form <?php echo esc_attr( $args['form_classes'] ); ?>">
|
38 |
|
39 |
<?php wp_nonce_field( 'gfpdf_save_pdf', 'gfpdf_save_pdf' ); ?>
|
40 |
|
41 |
+
<input type="hidden" id="gform_pdf_id" name="gform_pdf_id" value="<?php echo esc_attr( $args['pdf_id'] ); ?>" />
|
42 |
+
<input type="hidden" id="gform_id" name="gform_id" value="<?php echo esc_attr( $args['form']['id'] ); ?>" />
|
43 |
|
44 |
+
<?php
|
45 |
+
/** @since 6.4.0 */
|
46 |
+
if ( isset( $args['callback'] ) ) {
|
47 |
+
call_user_func_array( $args['callback'], $args['callback_args'] ?? [] );
|
48 |
+
}
|
49 |
+
|
50 |
+
/** @deprecated 6.4.0 */
|
51 |
+
if ( isset( $args['content'] ) ) {
|
52 |
+
echo wp_kses_post( $args['content'] );
|
53 |
+
}
|
54 |
+
?>
|
55 |
|
56 |
<div id="submit-and-promo-container">
|
57 |
+
<input type="submit" name="submit" id="submit" value="<?php echo esc_attr( $args['button_label'] ); ?>" class="button primary large">
|
58 |
|
59 |
<div class="extensions-upsell">
|
60 |
<a href="https://gravitypdf.com/store/">
|
src/View/html/FormSettings/list.php
CHANGED
@@ -26,7 +26,7 @@ $list_items = $args['list_items'];
|
|
26 |
<div class="gform-settings__content">
|
27 |
<div class="gform-settings-panel">
|
28 |
<header class="gform-settings-panel__header">
|
29 |
-
<h4 class="gform-settings-panel__title"
|
30 |
</header>
|
31 |
|
32 |
<div class="gform-settings-panel__content">
|
@@ -34,7 +34,7 @@ $list_items = $args['list_items'];
|
|
34 |
<div class="tablenav top">
|
35 |
<div class="alignleft actions bulkactions"></div>
|
36 |
<div class="alignright">
|
37 |
-
<a class="button" href="
|
38 |
</div>
|
39 |
<br class="clear">
|
40 |
</div>
|
26 |
<div class="gform-settings__content">
|
27 |
<div class="gform-settings-panel">
|
28 |
<header class="gform-settings-panel__header">
|
29 |
+
<h4 class="gform-settings-panel__title"><?php echo esc_html( $args['title'] ); ?></h4>
|
30 |
</header>
|
31 |
|
32 |
<div class="gform-settings-panel__content">
|
34 |
<div class="tablenav top">
|
35 |
<div class="alignleft actions bulkactions"></div>
|
36 |
<div class="alignright">
|
37 |
+
<a class="button" href="<?php echo esc_url( $args['add_new_url'] ); ?>" aria-label="<?php echo esc_attr__( 'Add new PDF', 'gravity-forms-pdf-extended' ); ?>"><?php esc_html_e( 'Add New', 'gravityforms' ); ?></a>
|
38 |
</div>
|
39 |
<br class="clear">
|
40 |
</div>
|
src/View/html/GravityForms/fieldset.php
CHANGED
@@ -12,7 +12,7 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
12 |
exit;
|
13 |
}
|
14 |
|
15 |
-
$width =
|
16 |
$width_class = 'gform-settings-panel--' . $width;
|
17 |
|
18 |
$collapsible = ! empty( $args['collapsible'] );
|
@@ -22,9 +22,11 @@ if ( $collapsible ) {
|
|
22 |
$collapsible_name = 'gform_settings_section_collapsed_' . $args['id'];
|
23 |
|
24 |
/* Force open the collapsible section if user had it open during submission */
|
|
|
25 |
if ( isset( $_POST['gfpdf_settings'] ) ) {
|
26 |
$args['collapsible-open'] = empty( $_POST[ $collapsible_name ] );
|
27 |
}
|
|
|
28 |
|
29 |
$collapsible_class = 'gform-settings-panel--collapsible';
|
30 |
$collapsible_class .= empty( $args['collapsible-open'] ) ? ' gform-settings-panel--collapsed' : '';
|
@@ -32,38 +34,74 @@ if ( $collapsible ) {
|
|
32 |
|
33 |
?>
|
34 |
|
35 |
-
<fieldset id="gfpdf-fieldset
|
36 |
-
|
37 |
-
<legend class="gform-settings-panel__title gform-settings-panel__title--header">
|
38 |
-
<label class="gform-settings-panel__title" id="<?= esc_attr( $collapsible_name ) ?>-description" for="<?= esc_attr( $collapsible_name ) ?>"><?= esc_html( $args['title'] ) ?></label>
|
39 |
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
|
|
|
|
|
|
44 |
|
45 |
-
|
46 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
47 |
onclick="this.checked ? this.closest( '.gform-settings-panel' ).classList.add( 'gform-settings-panel--collapsed' ) : this.closest( '.gform-settings-panel' ).classList.remove( 'gform-settings-panel--collapsed' )"
|
48 |
onkeydown="if(event.keyCode==13){ event.preventDefault(); this.click(); }"
|
49 |
-
<?php checked( empty( $args['collapsible-open'] ) );
|
50 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
51 |
</span>
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
<?php if ( ! empty( $args['tooltip'] ) ): ?>
|
57 |
-
<?= $args['tooltip'] ?>
|
58 |
-
<?php endif; ?>
|
59 |
-
</legend>
|
60 |
-
<?php endif; ?>
|
61 |
|
62 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
63 |
<?php if ( ! empty( $args['desc'] ) ): ?>
|
64 |
-
<div class="gform-settings-description gform-settings-panel--full"
|
65 |
<?php endif; ?>
|
66 |
|
67 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
68 |
</div>
|
69 |
</fieldset>
|
12 |
exit;
|
13 |
}
|
14 |
|
15 |
+
$width = $args['width'] ?? 'full';
|
16 |
$width_class = 'gform-settings-panel--' . $width;
|
17 |
|
18 |
$collapsible = ! empty( $args['collapsible'] );
|
22 |
$collapsible_name = 'gform_settings_section_collapsed_' . $args['id'];
|
23 |
|
24 |
/* Force open the collapsible section if user had it open during submission */
|
25 |
+
/* phpcs:disable WordPress.Security.NonceVerification.Missing */
|
26 |
if ( isset( $_POST['gfpdf_settings'] ) ) {
|
27 |
$args['collapsible-open'] = empty( $_POST[ $collapsible_name ] );
|
28 |
}
|
29 |
+
/* phpcs:enable */
|
30 |
|
31 |
$collapsible_class = 'gform-settings-panel--collapsible';
|
32 |
$collapsible_class .= empty( $args['collapsible-open'] ) ? ' gform-settings-panel--collapsed' : '';
|
34 |
|
35 |
?>
|
36 |
|
37 |
+
<fieldset id="<?php echo esc_attr( 'gfpdf-fieldset-' . $args['id'] ); ?>"
|
38 |
+
class="gform-settings-panel gform-settings-panel--with-title <?php echo esc_attr( $width_class ); ?> <?php echo esc_attr( $collapsible_class ); ?>">
|
|
|
|
|
39 |
|
40 |
+
<?php if ( $collapsible ): ?>
|
41 |
+
<legend class="gform-settings-panel__title gform-settings-panel__title--header">
|
42 |
+
<label class="gform-settings-panel__title"
|
43 |
+
id="<?php echo esc_attr( $collapsible_name ); ?>-description"
|
44 |
+
for="<?php echo esc_attr( $collapsible_name ); ?>">
|
45 |
+
<?php echo esc_html( $args['title'] ); ?>
|
46 |
+
</label>
|
47 |
|
48 |
+
<?php if ( ! empty( $args['tooltip'] ) ): ?>
|
49 |
+
<?php echo wp_kses_post( $args['tooltip'] ); ?>
|
50 |
+
<?php endif; ?>
|
51 |
+
</legend>
|
52 |
+
|
53 |
+
<span class="gform-settings-panel__collapsible-control">
|
54 |
+
<input type="checkbox"
|
55 |
+
class="gform-settings-panel__collapsible-toggle-checkbox"
|
56 |
+
name="<?php echo esc_attr( $collapsible_name ); ?>"
|
57 |
+
id="<?php echo esc_attr( $collapsible_name ); ?>"
|
58 |
+
aria-labelledby="<?php echo esc_attr( $collapsible_name ); ?>-description"
|
59 |
+
value="1"
|
60 |
onclick="this.checked ? this.closest( '.gform-settings-panel' ).classList.add( 'gform-settings-panel--collapsed' ) : this.closest( '.gform-settings-panel' ).classList.remove( 'gform-settings-panel--collapsed' )"
|
61 |
onkeydown="if(event.keyCode==13){ event.preventDefault(); this.click(); }"
|
62 |
+
<?php checked( empty( $args['collapsible-open'] ) ); ?>
|
63 |
+
/>
|
64 |
+
|
65 |
+
<label class="gform-settings-panel__collapsible-toggle" for="<?php echo esc_attr( $collapsible_name ); ?>">
|
66 |
+
<span class="screen-reader-text">
|
67 |
+
<?php echo sprintf( esc_html__( 'Toggle %s Section', 'gravity-forms-pdf-extended' ), esc_html( $args['title'] ) ); ?>
|
68 |
+
</span>
|
69 |
+
</label>
|
70 |
</span>
|
71 |
+
<?php else : ?>
|
72 |
+
<legend class="gform-settings-panel__title gform-settings-panel__title--header">
|
73 |
+
<?php echo esc_html( $args['title'] ); ?>
|
|
|
|
|
|
|
|
|
|
|
|
|
74 |
|
75 |
+
<?php if ( ! empty( $args['tooltip'] ) ): ?>
|
76 |
+
<?php echo wp_kses_post( $args['tooltip'] ); ?>
|
77 |
+
<?php endif; ?>
|
78 |
+
</legend>
|
79 |
+
<?php endif; ?>
|
80 |
+
|
81 |
+
<div class="gform-settings-panel__content <?php echo esc_attr( $args['content_class'] ?? '' ); ?>">
|
82 |
<?php if ( ! empty( $args['desc'] ) ): ?>
|
83 |
+
<div class="gform-settings-description gform-settings-panel--full"><?php echo wp_kses_post( $args['desc'] ); ?></div>
|
84 |
<?php endif; ?>
|
85 |
|
86 |
+
<?php
|
87 |
+
/** @since 6.4.0 */
|
88 |
+
if ( isset( $args['callback'] ) ) {
|
89 |
+
if ( ! is_array( $args['callback'] ) ) {
|
90 |
+
$args['callback'] = [ $args['callback'] ];
|
91 |
+
}
|
92 |
+
|
93 |
+
array_map(
|
94 |
+
static function( $callback ) use ( $args ) {
|
95 |
+
call_user_func_array( $callback, $args['callback_args'] ?? [] );
|
96 |
+
},
|
97 |
+
$args['callback']
|
98 |
+
);
|
99 |
+
}
|
100 |
+
|
101 |
+
/** @deprecated 6.4.0 */
|
102 |
+
if ( isset( $args['content'] ) ) {
|
103 |
+
echo wp_kses_post( $args['content'] );
|
104 |
+
}
|
105 |
+
?>
|
106 |
</div>
|
107 |
</fieldset>
|
src/View/html/GravityForms/settings_field.php
CHANGED
@@ -16,13 +16,13 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
16 |
|
17 |
?>
|
18 |
|
19 |
-
<div id="
|
20 |
<?php if ( ! empty( $args['title'] ) ): ?>
|
21 |
<div class='gform-settings-panel__title'>
|
22 |
-
|
23 |
|
24 |
<?php if ( ! empty( $args['tooltip'] ) ): ?>
|
25 |
-
|
26 |
<?php endif; ?>
|
27 |
</div>
|
28 |
<?php endif; ?>
|
16 |
|
17 |
?>
|
18 |
|
19 |
+
<div id="<?php echo esc_attr( $args['id'] ); ?>" class="<?php echo esc_attr( $args['class'] ); ?>">
|
20 |
<?php if ( ! empty( $args['title'] ) ): ?>
|
21 |
<div class='gform-settings-panel__title'>
|
22 |
+
<?php echo esc_html( $args['title'] ); ?>
|
23 |
|
24 |
<?php if ( ! empty( $args['tooltip'] ) ): ?>
|
25 |
+
<?php echo wp_kses_post( $args['tooltip'] ); ?>
|
26 |
<?php endif; ?>
|
27 |
</div>
|
28 |
<?php endif; ?>
|
src/View/html/PDF/core_template_styles.php
CHANGED
@@ -10,6 +10,9 @@
|
|
10 |
*/
|
11 |
|
12 |
/* Exit if accessed directly */
|
|
|
|
|
|
|
13 |
if ( ! defined( 'ABSPATH' ) ) {
|
14 |
exit;
|
15 |
}
|
@@ -64,11 +67,11 @@ $include_product_styles = apply_filters( 'gfpdf_include_product_styles', true, $
|
|
64 |
<?php endif; ?>
|
65 |
|
66 |
<?php if ( ! empty( $background_color ) ) : ?>
|
67 |
-
background-color:
|
68 |
<?php endif; ?>
|
69 |
|
70 |
<?php if ( ! empty( $background_image ) ) : ?>
|
71 |
-
background-image: url(
|
72 |
background-image-resize: 4;
|
73 |
<?php endif; ?>
|
74 |
}
|
@@ -86,9 +89,9 @@ $include_product_styles = apply_filters( 'gfpdf_include_product_styles', true, $
|
|
86 |
}
|
87 |
|
88 |
body, th, td, li, a {
|
89 |
-
color:
|
90 |
-
font-size:
|
91 |
-
font-family:
|
92 |
}
|
93 |
|
94 |
.header-footer-img {
|
@@ -101,7 +104,7 @@ $include_product_styles = apply_filters( 'gfpdf_include_product_styles', true, $
|
|
101 |
.gfield_list {
|
102 |
border-collapse: collapse;
|
103 |
border: 1px solid #000;
|
104 |
-
border-color:
|
105 |
margin: 2px 0 6px;
|
106 |
padding: 0;
|
107 |
width: 100%;
|
@@ -109,9 +112,9 @@ $include_product_styles = apply_filters( 'gfpdf_include_product_styles', true, $
|
|
109 |
|
110 |
.gfield_list th {
|
111 |
text-align: left;
|
112 |
-
background-color:
|
113 |
border: 1px solid #000;
|
114 |
-
border-color:
|
115 |
font-weight: bold;
|
116 |
padding: 6px 10px;
|
117 |
}
|
@@ -119,7 +122,7 @@ $include_product_styles = apply_filters( 'gfpdf_include_product_styles', true, $
|
|
119 |
.gfield_list td {
|
120 |
padding: 6px 10px;
|
121 |
border: 1px solid #000;
|
122 |
-
border-color:
|
123 |
}
|
124 |
|
125 |
<?php endif; ?>
|
@@ -127,11 +130,11 @@ $include_product_styles = apply_filters( 'gfpdf_include_product_styles', true, $
|
|
127 |
/* Product Field Styles */
|
128 |
<?php if ( $include_product_styles ) : ?>
|
129 |
table.entry-products th {
|
130 |
-
background-color:
|
131 |
border-bottom: 1px solid #000;
|
132 |
border-right: 1px solid #000;
|
133 |
-
border-bottom-color:
|
134 |
-
border-right-color:
|
135 |
}
|
136 |
|
137 |
table.entry-products td.textcenter, table.entry-products th.textcenter {
|
@@ -152,21 +155,21 @@ $include_product_styles = apply_filters( 'gfpdf_include_product_styles', true, $
|
|
152 |
|
153 |
table.entry-products {
|
154 |
border: 1px solid #000;
|
155 |
-
border-color:
|
156 |
margin: 5px 0 3px;
|
157 |
}
|
158 |
|
159 |
table.entry-products td {
|
160 |
border-bottom: 1px solid #000;
|
161 |
border-right: 1px solid #000;
|
162 |
-
border-bottom-color:
|
163 |
-
border-right-color:
|
164 |
padding: 7px 7px 8px;
|
165 |
vertical-align: top;
|
166 |
}
|
167 |
|
168 |
table.entry-products td.emptycell {
|
169 |
-
background-color:
|
170 |
}
|
171 |
|
172 |
table.entry-products td.totals {
|
@@ -235,7 +238,7 @@ $include_product_styles = apply_filters( 'gfpdf_include_product_styles', true, $
|
|
235 |
<?php if ( ! empty( $first_header ) ) : ?>
|
236 |
<htmlpageheader name="TemplateFirstHeader">
|
237 |
<div id="first_header">
|
238 |
-
|
239 |
</div>
|
240 |
</htmlpageheader>
|
241 |
<?php endif; ?>
|
@@ -243,7 +246,7 @@ $include_product_styles = apply_filters( 'gfpdf_include_product_styles', true, $
|
|
243 |
<?php if ( ! empty( $header ) ) : ?>
|
244 |
<htmlpageheader name="TemplateHeader">
|
245 |
<div id="header">
|
246 |
-
|
247 |
</div>
|
248 |
</htmlpageheader>
|
249 |
<?php endif; ?>
|
@@ -251,7 +254,7 @@ $include_product_styles = apply_filters( 'gfpdf_include_product_styles', true, $
|
|
251 |
<?php if ( ! empty( $first_footer ) ) : ?>
|
252 |
<htmlpagefooter name="TemplateFirstFooter">
|
253 |
<div id="first_footer">
|
254 |
-
|
255 |
</div>
|
256 |
</htmlpagefooter>
|
257 |
<?php endif; ?>
|
@@ -259,7 +262,7 @@ $include_product_styles = apply_filters( 'gfpdf_include_product_styles', true, $
|
|
259 |
<?php if ( ! empty( $footer ) ) : ?>
|
260 |
<htmlpagefooter name="TemplateFooter">
|
261 |
<div class="footer">
|
262 |
-
|
263 |
</div>
|
264 |
</htmlpagefooter>
|
265 |
<?php endif; ?>
|
10 |
*/
|
11 |
|
12 |
/* Exit if accessed directly */
|
13 |
+
|
14 |
+
use GFPDF\Statics\Kses;
|
15 |
+
|
16 |
if ( ! defined( 'ABSPATH' ) ) {
|
17 |
exit;
|
18 |
}
|
67 |
<?php endif; ?>
|
68 |
|
69 |
<?php if ( ! empty( $background_color ) ) : ?>
|
70 |
+
background-color: <?php echo esc_html( $background_color ); ?>;
|
71 |
<?php endif; ?>
|
72 |
|
73 |
<?php if ( ! empty( $background_image ) ) : ?>
|
74 |
+
background-image: url(<?php echo esc_url_raw( $background_image ); ?>) no-repeat 0 0;
|
75 |
background-image-resize: 4;
|
76 |
<?php endif; ?>
|
77 |
}
|
89 |
}
|
90 |
|
91 |
body, th, td, li, a {
|
92 |
+
color: <?php echo esc_html( $font_colour ); ?>;
|
93 |
+
font-size: <?php echo esc_html( $font_size ); ?>pt;
|
94 |
+
font-family: <?php echo esc_html( $font ); ?>, sans-serif;
|
95 |
}
|
96 |
|
97 |
.header-footer-img {
|
104 |
.gfield_list {
|
105 |
border-collapse: collapse;
|
106 |
border: 1px solid #000;
|
107 |
+
border-color: <?php echo esc_html( $contrast_border_color ); ?>;
|
108 |
margin: 2px 0 6px;
|
109 |
padding: 0;
|
110 |
width: 100%;
|
112 |
|
113 |
.gfield_list th {
|
114 |
text-align: left;
|
115 |
+
background-color: <?php echo esc_html( $contrast_background_color ); ?>;
|
116 |
border: 1px solid #000;
|
117 |
+
border-color: <?php echo esc_html( $contrast_border_color ); ?>;
|
118 |
font-weight: bold;
|
119 |
padding: 6px 10px;
|
120 |
}
|
122 |
.gfield_list td {
|
123 |
padding: 6px 10px;
|
124 |
border: 1px solid #000;
|
125 |
+
border-color: <?php echo esc_html( $contrast_border_color ); ?>;
|
126 |
}
|
127 |
|
128 |
<?php endif; ?>
|
130 |
/* Product Field Styles */
|
131 |
<?php if ( $include_product_styles ) : ?>
|
132 |
table.entry-products th {
|
133 |
+
background-color: <?php echo esc_html( $contrast_background_color ); ?>;
|
134 |
border-bottom: 1px solid #000;
|
135 |
border-right: 1px solid #000;
|
136 |
+
border-bottom-color: <?php echo esc_html( $contrast_border_color ); ?>;
|
137 |
+
border-right-color: <?php echo esc_html( $contrast_border_color ); ?>;
|
138 |
}
|
139 |
|
140 |
table.entry-products td.textcenter, table.entry-products th.textcenter {
|
155 |
|
156 |
table.entry-products {
|
157 |
border: 1px solid #000;
|
158 |
+
border-color: <?php echo esc_html( $contrast_border_color ); ?>;
|
159 |
margin: 5px 0 3px;
|
160 |
}
|
161 |
|
162 |
table.entry-products td {
|
163 |
border-bottom: 1px solid #000;
|
164 |
border-right: 1px solid #000;
|
165 |
+
border-bottom-color: <?php echo esc_html( $contrast_border_color ); ?>;
|
166 |
+
border-right-color: <?php echo esc_html( $contrast_border_color ); ?>;
|
167 |
padding: 7px 7px 8px;
|
168 |
vertical-align: top;
|
169 |
}
|
170 |
|
171 |
table.entry-products td.emptycell {
|
172 |
+
background-color: <?php echo esc_html( $contrast_background_color ); ?>;
|
173 |
}
|
174 |
|
175 |
table.entry-products td.totals {
|
238 |
<?php if ( ! empty( $first_header ) ) : ?>
|
239 |
<htmlpageheader name="TemplateFirstHeader">
|
240 |
<div id="first_header">
|
241 |
+
<?php Kses::output( $first_header ); ?>
|
242 |
</div>
|
243 |
</htmlpageheader>
|
244 |
<?php endif; ?>
|
246 |
<?php if ( ! empty( $header ) ) : ?>
|
247 |
<htmlpageheader name="TemplateHeader">
|
248 |
<div id="header">
|
249 |
+
<?php Kses::output( $header ); ?>
|
250 |
</div>
|
251 |
</htmlpageheader>
|
252 |
<?php endif; ?>
|
254 |
<?php if ( ! empty( $first_footer ) ) : ?>
|
255 |
<htmlpagefooter name="TemplateFirstFooter">
|
256 |
<div id="first_footer">
|
257 |
+
<?php Kses::output( $first_footer ); ?>
|
258 |
</div>
|
259 |
</htmlpagefooter>
|
260 |
<?php endif; ?>
|
262 |
<?php if ( ! empty( $footer ) ) : ?>
|
263 |
<htmlpagefooter name="TemplateFooter">
|
264 |
<div class="footer">
|
265 |
+
<?php Kses::output( $footer ); ?>
|
266 |
</div>
|
267 |
</htmlpagefooter>
|
268 |
<?php endif; ?>
|
src/View/html/PDF/entry_detailed_pdf.php
CHANGED
@@ -25,15 +25,15 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
25 |
|
26 |
<?php do_action( 'gfpdf_entry_detail_pre_pdf_name_markup', $pdf, $args['pdfs'] ); ?>
|
27 |
|
28 |
-
<div
|
29 |
|
30 |
<?php do_action( 'gfpdf_entry_detail_post_pdf_name_markup', $pdf, $args['pdfs'] ); ?>
|
31 |
|
32 |
-
<div class="gfpdf_detailed_pdf_cta" aria-label="
|
33 |
<?php do_action( 'gfpdf_entry_detail_pre_pdf_links_markup', $pdf, $args['pdfs'] ); ?>
|
34 |
|
35 |
-
<a href="
|
36 |
-
<a href="
|
37 |
|
38 |
<?php do_action( 'gfpdf_entry_detail_post_pdf_links_markup', $pdf, $args['pdfs'] ); ?>
|
39 |
</div>
|
25 |
|
26 |
<?php do_action( 'gfpdf_entry_detail_pre_pdf_name_markup', $pdf, $args['pdfs'] ); ?>
|
27 |
|
28 |
+
<div><?php echo esc_html( $pdf['name'] ); ?></div>
|
29 |
|
30 |
<?php do_action( 'gfpdf_entry_detail_post_pdf_name_markup', $pdf, $args['pdfs'] ); ?>
|
31 |
|
32 |
+
<div class="gfpdf_detailed_pdf_cta" aria-label="<?php echo esc_attr( sprintf( __( 'View or download %s.pdf', 'gravity-forms-pdf-extended' ), $pdf['name'] ) ); ?>">
|
33 |
<?php do_action( 'gfpdf_entry_detail_pre_pdf_links_markup', $pdf, $args['pdfs'] ); ?>
|
34 |
|
35 |
+
<a href="<?php echo esc_url( $pdf['view'] ); ?>" target="_blank"><?php echo esc_html__( 'View', 'gravity-forms-pdf-extended' ); ?></a> |
|
36 |
+
<a href="<?php echo esc_url( $pdf['download'] ); ?>"><?php echo esc_html__( 'Download', 'gravity-forms-pdf-extended' ); ?></a>
|
37 |
|
38 |
<?php do_action( 'gfpdf_entry_detail_post_pdf_links_markup', $pdf, $args['pdfs'] ); ?>
|
39 |
</div>
|
src/View/html/PDF/entry_list_pdf_multiple.php
CHANGED
@@ -17,22 +17,22 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
17 |
/** @var $args array */
|
18 |
|
19 |
$download = $args['view'] === 'download';
|
20 |
-
$parent_link_text = $download ?
|
21 |
|
22 |
?>
|
23 |
|
24 |
<div class="gfpdf_form_action_has_submenu">
|
25 |
-
| <a href="#" aria-haspopup="true" aria-expanded="false"
|
26 |
<div class="gform-form-toolbar__submenu">
|
27 |
<div data-simplebar>
|
28 |
<ul>
|
29 |
<?php foreach ( $args['pdfs'] as $pdf ): ?>
|
30 |
<li>
|
31 |
-
<a href="
|
32 |
-
|
33 |
-
data-label="
|
34 |
>
|
35 |
-
|
36 |
</a>
|
37 |
</li>
|
38 |
<?php endforeach; ?>
|
17 |
/** @var $args array */
|
18 |
|
19 |
$download = $args['view'] === 'download';
|
20 |
+
$parent_link_text = $download ? __( 'Download PDFs', 'gravity-forms-pdf-extended' ) : __( 'View PDFs', 'gravity-forms-pdf-extended' );
|
21 |
|
22 |
?>
|
23 |
|
24 |
<div class="gfpdf_form_action_has_submenu">
|
25 |
+
| <a href="#" aria-haspopup="true" aria-expanded="false"><?php echo esc_html( $parent_link_text ); ?></a>
|
26 |
<div class="gform-form-toolbar__submenu">
|
27 |
<div data-simplebar>
|
28 |
<ul>
|
29 |
<?php foreach ( $args['pdfs'] as $pdf ): ?>
|
30 |
<li>
|
31 |
+
<a href="<?php echo $download ? esc_url( $pdf['download'] ) : esc_url( $pdf['view'] ); ?>"
|
32 |
+
<?php echo ! $download ? 'target="_blank"' : ''; ?>
|
33 |
+
data-label="<?php echo esc_attr( $pdf['name'] ); ?>"
|
34 |
>
|
35 |
+
<?php echo esc_html( $pdf['name'] ); ?>
|
36 |
</a>
|
37 |
</li>
|
38 |
<?php endforeach; ?>
|
src/View/html/PDF/entry_list_pdf_single.php
CHANGED
@@ -16,9 +16,11 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
16 |
|
17 |
/** @var $args array */
|
18 |
|
|
|
|
|
19 |
?>
|
20 |
|
21 |
|
|
22 |
-
<a href="
|
23 |
-
|
24 |
</a>
|
16 |
|
17 |
/** @var $args array */
|
18 |
|
19 |
+
$is_download = $args['view'] === 'download';
|
20 |
+
|
21 |
?>
|
22 |
|
23 |
|
|
24 |
+
<a href="<?php echo $is_download ? esc_url( $args['pdf']['download'] ) : esc_url( $args['pdf']['view'] ); ?>" <?php echo $is_download ? 'target="_blank"' : ''; ?>>
|
25 |
+
<?php echo $is_download ? esc_html__( 'Download PDF', 'gravity-forms-pdf-extended' ) : esc_html__( 'View PDF', 'gravity-forms-pdf-extended' ); ?>
|
26 |
</a>
|
src/View/html/PDF/entry_no_valid_pdf.php
CHANGED
@@ -17,5 +17,5 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
17 |
?>
|
18 |
|
19 |
<div class="gfpdf_detailed_pdf_container">
|
20 |
-
|
21 |
</div>
|
17 |
?>
|
18 |
|
19 |
<div class="gfpdf_detailed_pdf_container">
|
20 |
+
<?php echo esc_html__( 'No PDFs available for this entry.', 'gravity-forms-pdf-extended' ); ?>
|
21 |
</div>
|
src/View/html/PDF/form_title.php
CHANGED
@@ -19,5 +19,5 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
19 |
?>
|
20 |
|
21 |
<div class="row-separator">
|
22 |
-
<h3 id="form_title"
|
23 |
</div>
|
19 |
?>
|
20 |
|
21 |
<div class="row-separator">
|
22 |
+
<h3 id="form_title"><?php echo esc_html( $form['title'] ); ?></h3>
|
23 |
</div>
|
src/View/html/PDF/page_title.php
CHANGED
@@ -23,7 +23,7 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
23 |
?>
|
24 |
|
25 |
<div class="row-separator">
|
26 |
-
<h3 class="gfpdf-page gfpdf-field
|
27 |
-
|
28 |
</h3>
|
29 |
</div>
|
23 |
?>
|
24 |
|
25 |
<div class="row-separator">
|
26 |
+
<h3 class="gfpdf-page gfpdf-field <?php echo esc_attr( $classes ); ?>">
|
27 |
+
<?php echo esc_html( $form['pagination']['pages'][ $page ] ); ?>
|
28 |
</h3>
|
29 |
</div>
|
src/View/html/Settings/extensions.php
CHANGED
@@ -41,7 +41,6 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
41 |
</form>
|
42 |
|
43 |
<?php
|
44 |
-
/* @TODO */
|
45 |
do_action( 'gfpdf_post_extensions_settings_page' );
|
46 |
?>
|
47 |
</div>
|
41 |
</form>
|
42 |
|
43 |
<?php
|
|
|
44 |
do_action( 'gfpdf_post_extensions_settings_page' );
|
45 |
?>
|
46 |
</div>
|
src/View/html/Settings/general.php
CHANGED
@@ -23,15 +23,26 @@ GFCommon::display_admin_message();
|
|
23 |
<div id="pdfextended-settings">
|
24 |
|
25 |
<!-- Prevent Firefox auto-filling fields on refresh. @see https://stackoverflow.com/a/44504822/1614565 -->
|
26 |
-
<form name="gfpdf-settings-form
|
27 |
<?php settings_fields( 'gfpdf_settings' ); ?>
|
28 |
|
29 |
-
|
30 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
31 |
|
32 |
<div id="submit-and-promo-container">
|
33 |
<?php if ( $args['edit_cap'] ): ?>
|
34 |
-
<input type="submit" name="submit" id="submit" value="
|
35 |
<?php endif; ?>
|
36 |
|
37 |
<div class="extensions-upsell">
|
23 |
<div id="pdfextended-settings">
|
24 |
|
25 |
<!-- Prevent Firefox auto-filling fields on refresh. @see https://stackoverflow.com/a/44504822/1614565 -->
|
26 |
+
<form name="gfpdf-settings-form-<?php echo esc_attr( wp_rand() ); ?>" class="gform_settings_form" method="post" action="options.php">
|
27 |
<?php settings_fields( 'gfpdf_settings' ); ?>
|
28 |
|
29 |
+
<?php do_action( 'gfpdf_settings_sub_menu' ); ?>
|
30 |
+
|
31 |
+
<?php
|
32 |
+
/** @since 6.4.0 */
|
33 |
+
if ( isset( $args['callback'] ) ) {
|
34 |
+
call_user_func_array( $args['callback'], $args['callback_args'] ?? [] );
|
35 |
+
}
|
36 |
+
|
37 |
+
/** @deprecated 6.4.0 */
|
38 |
+
if ( isset( $args['content'] ) ) {
|
39 |
+
echo wp_kses_post( $args['content'] );
|
40 |
+
}
|
41 |
+
?>
|
42 |
|
43 |
<div id="submit-and-promo-container">
|
44 |
<?php if ( $args['edit_cap'] ): ?>
|
45 |
+
<input type="submit" name="submit" id="submit" value="<?php echo esc_attr__( 'Save Settings →', 'gravityforms' ); ?>" class="button primary large">
|
46 |
<?php endif; ?>
|
47 |
|
48 |
<div class="extensions-upsell">
|
src/View/html/Settings/help.php
CHANGED
@@ -20,7 +20,7 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
20 |
|
21 |
<div id="pdfextended-settings" class="gpdf-help">
|
22 |
|
23 |
-
|
24 |
|
25 |
<h2><?php esc_html_e( 'Get help with Gravity PDF', 'gravity-forms-pdf-extended' ); ?></h2>
|
26 |
|
20 |
|
21 |
<div id="pdfextended-settings" class="gpdf-help">
|
22 |
|
23 |
+
<?php do_action( 'gfpdf_settings_sub_menu' ); ?>
|
24 |
|
25 |
<h2><?php esc_html_e( 'Get help with Gravity PDF', 'gravity-forms-pdf-extended' ); ?></h2>
|
26 |
|
src/View/html/Settings/licence.php
CHANGED
@@ -22,18 +22,28 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
22 |
<form method="post" class="gform_settings_form" action="options.php">
|
23 |
<?php settings_fields( 'gfpdf_settings' ); ?>
|
24 |
|
25 |
-
|
26 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
27 |
|
28 |
<?php if ( $args['edit_cap'] ): ?>
|
29 |
<div id="submit-and-promo-container">
|
30 |
-
<input type="submit" name="submit" id="submit" value="
|
31 |
</div>
|
32 |
<?php endif; ?>
|
33 |
</form>
|
34 |
|
35 |
<?php
|
36 |
-
/* @TODO */
|
37 |
do_action( 'gfpdf_post_license_settings_page' );
|
38 |
?>
|
39 |
</div>
|
22 |
<form method="post" class="gform_settings_form" action="options.php">
|
23 |
<?php settings_fields( 'gfpdf_settings' ); ?>
|
24 |
|
25 |
+
<?php do_action( 'gfpdf_settings_sub_menu' ); ?>
|
26 |
+
|
27 |
+
<?php
|
28 |
+
/** @since 6.4.0 */
|
29 |
+
if ( isset( $args['callback'] ) ) {
|
30 |
+
call_user_func_array( $args['callback'], $args['callback_args'] ?? [] );
|
31 |
+
}
|
32 |
+
|
33 |
+
/** @deprecated 6.4.0 */
|
34 |
+
if ( isset( $args['content'] ) ) {
|
35 |
+
echo wp_kses_post( $args['content'] );
|
36 |
+
}
|
37 |
+
?>
|
38 |
|
39 |
<?php if ( $args['edit_cap'] ): ?>
|
40 |
<div id="submit-and-promo-container">
|
41 |
+
<input type="submit" name="submit" id="submit" value="<?php echo esc_html__( 'Save Settings →', 'gravityforms' ); ?>" class="button primary large">
|
42 |
</div>
|
43 |
<?php endif; ?>
|
44 |
</form>
|
45 |
|
46 |
<?php
|
|
|
47 |
do_action( 'gfpdf_post_license_settings_page' );
|
48 |
?>
|
49 |
</div>
|
src/View/html/Settings/tabs.php
CHANGED
@@ -19,14 +19,14 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
19 |
?>
|
20 |
|
21 |
<nav class="gform-settings-tabs__navigation" role="tablist">
|
22 |
-
<?php foreach ( $args['tabs'] as $
|
23 |
<a
|
24 |
role="tab"
|
25 |
-
aria-selected="
|
26 |
-
data-id="
|
27 |
-
class="
|
28 |
-
href="
|
29 |
-
|
30 |
</a>
|
31 |
<?php endforeach; ?>
|
32 |
</nav>
|
19 |
?>
|
20 |
|
21 |
<nav class="gform-settings-tabs__navigation" role="tablist">
|
22 |
+
<?php foreach ( $args['tabs'] as $tab_nav_item ): ?>
|
23 |
<a
|
24 |
role="tab"
|
25 |
+
aria-selected="<?php echo $args['selected'] === $tab_nav_item['id'] ? 'true' : 'false'; ?>"
|
26 |
+
data-id="<?php echo esc_attr( $tab_nav_item['id'] ); ?>"
|
27 |
+
class="<?php echo $args['selected'] === $tab_nav_item['id'] ? 'active' : ''; ?>"
|
28 |
+
href="<?php echo esc_url( add_query_arg( [ 'tab' => $tab_nav_item['id'] ], $args['data']->settings_url ) ); ?>">
|
29 |
+
<?php echo esc_html( $tab_nav_item['name'] ); ?>
|
30 |
</a>
|
31 |
<?php endforeach; ?>
|
32 |
</nav>
|
src/View/html/Settings/tools.php
CHANGED
@@ -21,12 +21,23 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
21 |
<div id="pdfextended-settings">
|
22 |
|
23 |
<!-- Prevent Firefox auto-filling fields on refresh. @see https://stackoverflow.com/a/44504822/1614565 -->
|
24 |
-
<form name="gfpdf-settings-form
|
25 |
|
26 |
<?php settings_fields( 'gfpdf_settings' ); ?>
|
27 |
|
28 |
-
|
29 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
30 |
</form>
|
31 |
|
32 |
<?php
|
21 |
<div id="pdfextended-settings">
|
22 |
|
23 |
<!-- Prevent Firefox auto-filling fields on refresh. @see https://stackoverflow.com/a/44504822/1614565 -->
|
24 |
+
<form name="gfpdf-settings-form-<?php echo esc_attr( wp_rand() ); ?>" method="post" class="gform_settings_form">
|
25 |
|
26 |
<?php settings_fields( 'gfpdf_settings' ); ?>
|
27 |
|
28 |
+
<?php do_action( 'gfpdf_settings_sub_menu' ); ?>
|
29 |
+
|
30 |
+
<?php
|
31 |
+
/** @since 6.4.0 */
|
32 |
+
if ( isset( $args['callback'] ) ) {
|
33 |
+
call_user_func_array( $args['callback'], $args['callback_args'] ?? [] );
|
34 |
+
}
|
35 |
+
|
36 |
+
/** @deprecated 6.4.0 */
|
37 |
+
if ( isset( $args['content'] ) ) {
|
38 |
+
echo wp_kses_post( $args['content'] );
|
39 |
+
}
|
40 |
+
?>
|
41 |
</form>
|
42 |
|
43 |
<?php
|
src/View/html/Shortcodes/gravitypdf.php
CHANGED
@@ -19,12 +19,11 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
19 |
?>
|
20 |
|
21 |
<a
|
22 |
-
href="
|
23 |
-
class="
|
24 |
-
<?php
|
25 |
-
|
26 |
-
|
27 |
-
target="_blank"<?php endif; ?>
|
28 |
rel="nofollow">
|
29 |
-
|
30 |
</a>
|
19 |
?>
|
20 |
|
21 |
<a
|
22 |
+
href="<?php echo esc_url( $args['url'] ); ?>"
|
23 |
+
class="<?php echo esc_attr( $args['class'] ); ?> <?php echo esc_attr( $args['classes'] ); ?>"
|
24 |
+
<?php if ( 'view' === $args['type'] ): ?>
|
25 |
+
target="_blank"
|
26 |
+
<?php endif; ?>
|
|
|
27 |
rel="nofollow">
|
28 |
+
<?php echo esc_html( $args['text'] ); ?>
|
29 |
</a>
|
src/View/html/Uninstaller/uninstall_button.php
CHANGED
@@ -20,26 +20,26 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
20 |
<?php wp_nonce_field( 'uninstall', 'gf_addon_uninstall' ); ?>
|
21 |
|
22 |
<div class="gform-settings-panel__content">
|
23 |
-
<div class="addon-logo dashicons"
|
24 |
|
25 |
<div class="addon-uninstall-text">
|
26 |
-
<h4 class="gform-settings-panel__title"
|
27 |
-
<div><?php
|
28 |
</div>
|
29 |
|
30 |
<div class="addon-uninstall-button">
|
31 |
-
<input id="addon" name="addon" type="hidden" value="
|
32 |
|
33 |
<button
|
34 |
type="submit"
|
35 |
-
aria-label="<?php
|
36 |
name="uninstall_addon"
|
37 |
value="uninstall"
|
38 |
class="button uninstall-addon red"
|
39 |
-
onclick="return confirm('
|
40 |
-
onkeypress="return confirm('
|
41 |
<i class="dashicons dashicons-trash"></i>
|
42 |
-
<?php
|
43 |
</button>
|
44 |
</div>
|
45 |
</div>
|
20 |
<?php wp_nonce_field( 'uninstall', 'gf_addon_uninstall' ); ?>
|
21 |
|
22 |
<div class="gform-settings-panel__content">
|
23 |
+
<div class="addon-logo dashicons"><?php echo wp_kses_post( $args['icon'] ); ?></div>
|
24 |
|
25 |
<div class="addon-uninstall-text">
|
26 |
+
<h4 class="gform-settings-panel__title"><?php echo esc_attr( $args['title'] ); ?></h4>
|
27 |
+
<div><?php echo esc_html( sprintf( __( 'This operation deletes ALL %s settings.', 'gravityforms' ), $args['title'] ) ); ?></div>
|
28 |
</div>
|
29 |
|
30 |
<div class="addon-uninstall-button">
|
31 |
+
<input id="addon" name="addon" type="hidden" value="<?php echo esc_attr( $args['title'] ); ?>">
|
32 |
|
33 |
<button
|
34 |
type="submit"
|
35 |
+
aria-label="<?php echo esc_attr( sprintf( __( 'Uninstall %s', 'gravityforms' ), $args['title'] ) ); ?>"
|
36 |
name="uninstall_addon"
|
37 |
value="uninstall"
|
38 |
class="button uninstall-addon red"
|
39 |
+
onclick="return confirm('<?php echo esc_js( __( 'This operation deletes ALL Gravity PDF settings and deactivates the plugin. If you continue, all settings, configuration, custom templates and fonts will be removed.', 'gravity-forms-pdf-extended' ) ); ?>');"
|
40 |
+
onkeypress="return confirm('<?php echo esc_js( __( 'This operation deletes ALL Gravity PDF settings and deactivates the plugin. If you continue, all settings, configuration, custom templates and fonts will be removed.', 'gravity-forms-pdf-extended' ) ); ?>');">
|
41 |
<i class="dashicons dashicons-trash"></i>
|
42 |
+
<?php esc_html_e( 'Uninstall', 'gravityforms' ); ?>
|
43 |
</button>
|
44 |
</div>
|
45 |
</div>
|
src/assets/languages/gravity-forms-pdf-extended.pot
CHANGED
@@ -6,7 +6,7 @@ msgstr ""
|
|
6 |
"MIME-Version: 1.0\n"
|
7 |
"Content-Type: text/plain; charset=UTF-8\n"
|
8 |
"Content-Transfer-Encoding: 8bit\n"
|
9 |
-
"POT-Creation-Date: 2022-06-
|
10 |
"X-Poedit-Basepath: ..\n"
|
11 |
"X-Poedit-KeywordsList: __;_e;_ex:1,2c;_n:1,2;_n_noop:1,2;_nx:1,2,4c;_nx_noop:1,2,3c;_x:1,2c;esc_attr__;esc_attr_e;esc_attr_x:1,2c;esc_html__;esc_html_e;esc_html_x:1,2c\n"
|
12 |
"X-Poedit-SearchPath-0: .\n"
|
@@ -90,7 +90,7 @@ msgstr ""
|
|
90 |
msgid "Downgrade"
|
91 |
msgstr ""
|
92 |
|
93 |
-
#: ../../bootstrap.php:134, ../../bootstrap.php:146, ../../deprecated.php:
|
94 |
msgid "\"%s\" has been deprecated as of Gravity PDF 4.0"
|
95 |
msgstr ""
|
96 |
|
@@ -98,7 +98,7 @@ msgstr ""
|
|
98 |
msgid "View Gravity PDF Settings"
|
99 |
msgstr ""
|
100 |
|
101 |
-
#: ../../bootstrap.php:309, ../../View/View_Settings.php:
|
102 |
msgid "Settings"
|
103 |
msgstr ""
|
104 |
|
@@ -122,7 +122,7 @@ msgstr ""
|
|
122 |
msgid "View Gravity PDF Extensions Shop"
|
123 |
msgstr ""
|
124 |
|
125 |
-
#: ../../bootstrap.php:331, ../../View/View_Settings.php:
|
126 |
msgid "Extensions"
|
127 |
msgstr ""
|
128 |
|
@@ -138,7 +138,7 @@ msgstr ""
|
|
138 |
msgid "Install Core Fonts"
|
139 |
msgstr ""
|
140 |
|
141 |
-
#: ../../Controller/Controller_Actions.php:207, ../../Model/Model_Form_Settings.php:171, ../../Model/Model_Form_Settings.php:208, ../../Model/Model_Form_Settings.php:
|
142 |
msgid "You do not have permission to access this page"
|
143 |
msgstr ""
|
144 |
|
@@ -186,7 +186,7 @@ msgstr ""
|
|
186 |
msgid "PDF: %s"
|
187 |
msgstr ""
|
188 |
|
189 |
-
#: ../../Controller/Controller_PDF.php:
|
190 |
msgid "There was a problem generating your PDF"
|
191 |
msgstr ""
|
192 |
|
@@ -198,283 +198,283 @@ msgstr ""
|
|
198 |
msgid "View plugin Documentation"
|
199 |
msgstr ""
|
200 |
|
201 |
-
#: ../../Helper/Helper_Abstract_Options.php:
|
202 |
msgid "You must pass in a valid form ID"
|
203 |
msgstr ""
|
204 |
|
205 |
-
#: ../../Helper/Helper_Abstract_Options.php:
|
206 |
msgid "You must pass in a valid PDF ID"
|
207 |
msgstr ""
|
208 |
|
209 |
-
#: ../../Helper/Helper_Abstract_Options.php:
|
210 |
msgid "Common Sizes"
|
211 |
msgstr ""
|
212 |
|
213 |
-
#: ../../Helper/Helper_Abstract_Options.php:
|
214 |
msgid "A4 (210 x 297mm)"
|
215 |
msgstr ""
|
216 |
|
217 |
-
#: ../../Helper/Helper_Abstract_Options.php:
|
218 |
msgid "Letter (8.5 x 11in)"
|
219 |
msgstr ""
|
220 |
|
221 |
-
#: ../../Helper/Helper_Abstract_Options.php:
|
222 |
msgid "Legal (8.5 x 14in)"
|
223 |
msgstr ""
|
224 |
|
225 |
-
#: ../../Helper/Helper_Abstract_Options.php:
|
226 |
msgid "Ledger / Tabloid (11 x 17in)"
|
227 |
msgstr ""
|
228 |
|
229 |
-
#: ../../Helper/Helper_Abstract_Options.php:
|
230 |
msgid "Executive (7 x 10in)"
|
231 |
msgstr ""
|
232 |
|
233 |
-
#: ../../Helper/Helper_Abstract_Options.php:
|
234 |
msgid "Custom Paper Size"
|
235 |
msgstr ""
|
236 |
|
237 |
-
#: ../../Helper/Helper_Abstract_Options.php:
|
238 |
msgid "\"A\" Sizes"
|
239 |
msgstr ""
|
240 |
|
241 |
-
#: ../../Helper/Helper_Abstract_Options.php:
|
242 |
msgid "A0 (841 x 1189mm)"
|
243 |
msgstr ""
|
244 |
|
245 |
-
#: ../../Helper/Helper_Abstract_Options.php:
|
246 |
msgid "A1 (594 x 841mm)"
|
247 |
msgstr ""
|
248 |
|
249 |
-
#: ../../Helper/Helper_Abstract_Options.php:
|
250 |
msgid "A2 (420 x 594mm)"
|
251 |
msgstr ""
|
252 |
|
253 |
-
#: ../../Helper/Helper_Abstract_Options.php:
|
254 |
msgid "A3 (297 x 420mm)"
|
255 |
msgstr ""
|
256 |
|
257 |
-
#: ../../Helper/Helper_Abstract_Options.php:
|
258 |
msgid "A5 (148 x 210mm)"
|
259 |
msgstr ""
|
260 |
|
261 |
-
#: ../../Helper/Helper_Abstract_Options.php:
|
262 |
msgid "A6 (105 x 148mm)"
|
263 |
msgstr ""
|
264 |
|
265 |
-
#: ../../Helper/Helper_Abstract_Options.php:
|
266 |
msgid "A7 (74 x 105mm)"
|
267 |
msgstr ""
|
268 |
|
269 |
-
#: ../../Helper/Helper_Abstract_Options.php:
|
270 |
msgid "A8 (52 x 74mm)"
|
271 |
msgstr ""
|
272 |
|
273 |
-
#: ../../Helper/Helper_Abstract_Options.php:
|
274 |
msgid "A9 (37 x 52mm)"
|
275 |
msgstr ""
|
276 |
|
277 |
-
#: ../../Helper/Helper_Abstract_Options.php:
|
278 |
msgid "A10 (26 x 37mm)"
|
279 |
msgstr ""
|
280 |
|
281 |
-
#: ../../Helper/Helper_Abstract_Options.php:
|
282 |
msgid "\"B\" Sizes"
|
283 |
msgstr ""
|
284 |
|
285 |
-
#: ../../Helper/Helper_Abstract_Options.php:
|
286 |
msgid "B0 (1414 x 1000mm)"
|
287 |
msgstr ""
|
288 |
|
289 |
-
#: ../../Helper/Helper_Abstract_Options.php:
|
290 |
msgid "B1 (1000 x 707mm)"
|
291 |
msgstr ""
|
292 |
|
293 |
-
#: ../../Helper/Helper_Abstract_Options.php:
|
294 |
msgid "B2 (707 x 500mm)"
|
295 |
msgstr ""
|
296 |
|
297 |
-
#: ../../Helper/Helper_Abstract_Options.php:
|
298 |
msgid "B3 (500 x 353mm)"
|
299 |
msgstr ""
|
300 |
|
301 |
-
#: ../../Helper/Helper_Abstract_Options.php:
|
302 |
msgid "B4 (353 x 250mm)"
|
303 |
msgstr ""
|
304 |
|
305 |
-
#: ../../Helper/Helper_Abstract_Options.php:
|
306 |
msgid "B5 (250 x 176mm)"
|
307 |
msgstr ""
|
308 |
|
309 |
-
#: ../../Helper/Helper_Abstract_Options.php:
|
310 |
msgid "B6 (176 x 125mm)"
|
311 |
msgstr ""
|
312 |
|
313 |
-
#: ../../Helper/Helper_Abstract_Options.php:
|
314 |
msgid "B7 (125 x 88mm)"
|
315 |
msgstr ""
|
316 |
|
317 |
-
#: ../../Helper/Helper_Abstract_Options.php:
|
318 |
msgid "B8 (88 x 62mm)"
|
319 |
msgstr ""
|
320 |
|
321 |
-
#: ../../Helper/Helper_Abstract_Options.php:
|
322 |
msgid "B9 (62 x 44mm)"
|
323 |
msgstr ""
|
324 |
|
325 |
-
#: ../../Helper/Helper_Abstract_Options.php:
|
326 |
msgid "B10 (44 x 31mm)"
|
327 |
msgstr ""
|
328 |
|
329 |
-
#: ../../Helper/Helper_Abstract_Options.php:
|
330 |
msgid "\"C\" Sizes"
|
331 |
msgstr ""
|
332 |
|
333 |
-
#: ../../Helper/Helper_Abstract_Options.php:
|
334 |
msgid "C0 (1297 x 917mm)"
|
335 |
msgstr ""
|
336 |
|
337 |
-
#: ../../Helper/Helper_Abstract_Options.php:
|
338 |
msgid "C1 (917 x 648mm)"
|
339 |
msgstr ""
|
340 |
|
341 |
-
#: ../../Helper/Helper_Abstract_Options.php:
|
342 |
msgid "C2 (648 x 458mm)"
|
343 |
msgstr ""
|
344 |
|
345 |
-
#: ../../Helper/Helper_Abstract_Options.php:
|
346 |
msgid "C3 (458 x 324mm)"
|
347 |
msgstr ""
|
348 |
|
349 |
-
#: ../../Helper/Helper_Abstract_Options.php:
|
350 |
msgid "C4 (324 x 229mm)"
|
351 |
msgstr ""
|
352 |
|
353 |
-
#: ../../Helper/Helper_Abstract_Options.php:
|
354 |
msgid "C5 (229 x 162mm)"
|
355 |
msgstr ""
|
356 |
|
357 |
-
#: ../../Helper/Helper_Abstract_Options.php:
|
358 |
msgid "C6 (162 x 114mm)"
|
359 |
msgstr ""
|
360 |
|
361 |
-
#: ../../Helper/Helper_Abstract_Options.php:
|
362 |
msgid "C7 (114 x 81mm)"
|
363 |
msgstr ""
|
364 |
|
365 |
-
#: ../../Helper/Helper_Abstract_Options.php:
|
366 |
msgid "C8 (81 x 57mm)"
|
367 |
msgstr ""
|
368 |
|
369 |
-
#: ../../Helper/Helper_Abstract_Options.php:
|
370 |
msgid "C9 (57 x 40mm)"
|
371 |
msgstr ""
|
372 |
|
373 |
-
#: ../../Helper/Helper_Abstract_Options.php:
|
374 |
msgid "C10 (40 x 28mm)"
|
375 |
msgstr ""
|
376 |
|
377 |
-
#: ../../Helper/Helper_Abstract_Options.php:
|
378 |
msgid "\"RA\" and \"SRA\" Sizes"
|
379 |
msgstr ""
|
380 |
|
381 |
-
#: ../../Helper/Helper_Abstract_Options.php:
|
382 |
msgid "RA0 (860 x 1220mm)"
|
383 |
msgstr ""
|
384 |
|
385 |
-
#: ../../Helper/Helper_Abstract_Options.php:
|
386 |
msgid "RA1 (610 x 860mm)"
|
387 |
msgstr ""
|
388 |
|
389 |
-
#: ../../Helper/Helper_Abstract_Options.php:
|
390 |
msgid "RA2 (430 x 610mm)"
|
391 |
msgstr ""
|
392 |
|
393 |
-
#: ../../Helper/Helper_Abstract_Options.php:
|
394 |
msgid "RA3 (305 x 430mm)"
|
395 |
msgstr ""
|
396 |
|
397 |
-
#: ../../Helper/Helper_Abstract_Options.php:
|
398 |
msgid "RA4 (215 x 305mm)"
|
399 |
msgstr ""
|
400 |
|
401 |
-
#: ../../Helper/Helper_Abstract_Options.php:
|
402 |
msgid "SRA0 (900 x 1280mm)"
|
403 |
msgstr ""
|
404 |
|
405 |
-
#: ../../Helper/Helper_Abstract_Options.php:
|
406 |
msgid "SRA1 (640 x 900mm)"
|
407 |
msgstr ""
|
408 |
|
409 |
-
#: ../../Helper/Helper_Abstract_Options.php:
|
410 |
msgid "SRA2 (450 x 640mm)"
|
411 |
msgstr ""
|
412 |
|
413 |
-
#: ../../Helper/Helper_Abstract_Options.php:
|
414 |
msgid "SRA3 (320 x 450mm)"
|
415 |
msgstr ""
|
416 |
|
417 |
-
#: ../../Helper/Helper_Abstract_Options.php:
|
418 |
msgid "SRA4 (225 x 320mm)"
|
419 |
msgstr ""
|
420 |
|
421 |
-
#: ../../Helper/Helper_Abstract_Options.php:
|
422 |
msgid "Unicode"
|
423 |
msgstr ""
|
424 |
|
425 |
-
#: ../../Helper/Helper_Abstract_Options.php:
|
426 |
msgid "Indic"
|
427 |
msgstr ""
|
428 |
|
429 |
-
#: ../../Helper/Helper_Abstract_Options.php:
|
430 |
msgid "Arabic"
|
431 |
msgstr ""
|
432 |
|
433 |
-
#: ../../Helper/Helper_Abstract_Options.php:
|
434 |
msgid "Chinese, Japanese, Korean"
|
435 |
msgstr ""
|
436 |
|
437 |
-
#: ../../Helper/Helper_Abstract_Options.php:
|
438 |
msgid "Other"
|
439 |
msgstr ""
|
440 |
|
441 |
-
#: ../../Helper/Helper_Abstract_Options.php:
|
442 |
msgid "User-Defined Fonts"
|
443 |
msgstr ""
|
444 |
|
445 |
-
#: ../../Helper/Helper_Abstract_Options.php:
|
446 |
msgid "Could not find Gravity PDF Font"
|
447 |
msgstr ""
|
448 |
|
449 |
-
#: ../../Helper/Helper_Abstract_Options.php:
|
450 |
msgid "Copy"
|
451 |
msgstr ""
|
452 |
|
453 |
-
#: ../../Helper/Helper_Abstract_Options.php:
|
454 |
msgid "Print - Low Resolution"
|
455 |
msgstr ""
|
456 |
|
457 |
-
#: ../../Helper/Helper_Abstract_Options.php:
|
458 |
msgid "Print - High Resolution"
|
459 |
msgstr ""
|
460 |
|
461 |
-
#: ../../Helper/Helper_Abstract_Options.php:
|
462 |
msgid "Modify"
|
463 |
msgstr ""
|
464 |
|
465 |
-
#: ../../Helper/Helper_Abstract_Options.php:
|
466 |
msgid "Annotate"
|
467 |
msgstr ""
|
468 |
|
469 |
-
#: ../../Helper/Helper_Abstract_Options.php:
|
470 |
msgid "Fill Forms"
|
471 |
msgstr ""
|
472 |
|
473 |
-
#: ../../Helper/Helper_Abstract_Options.php:
|
474 |
msgid "Extract"
|
475 |
msgstr ""
|
476 |
|
477 |
-
#: ../../Helper/Helper_Abstract_Options.php:
|
478 |
msgid "Assemble"
|
479 |
msgstr ""
|
480 |
|
@@ -486,459 +486,463 @@ msgstr ""
|
|
486 |
msgid "PDF Settings could not be saved. Please enter all required information below."
|
487 |
msgstr ""
|
488 |
|
489 |
-
#: ../../Helper/Helper_Abstract_Options.php:
|
490 |
-
msgid "license key"
|
491 |
msgstr ""
|
492 |
|
493 |
-
#: ../../Helper/Helper_Abstract_Options.php:
|
494 |
msgid "Deactivate License"
|
495 |
msgstr ""
|
496 |
|
497 |
-
#: ../../Helper/Helper_Abstract_Options.php:
|
498 |
msgid "Select Media"
|
499 |
msgstr ""
|
500 |
|
501 |
-
#: ../../Helper/Helper_Abstract_Options.php:
|
502 |
msgid "Upload File"
|
503 |
msgstr ""
|
504 |
|
505 |
-
#: ../../Helper/Helper_Abstract_Options.php:
|
506 |
msgid "Width"
|
507 |
msgstr ""
|
508 |
|
509 |
-
#: ../../Helper/Helper_Abstract_Options.php:
|
510 |
msgid "Height"
|
511 |
msgstr ""
|
512 |
|
513 |
-
#: ../../Helper/Helper_Abstract_Options.php:
|
514 |
msgid "mm"
|
515 |
msgstr ""
|
516 |
|
517 |
-
#: ../../Helper/Helper_Abstract_Options.php:
|
518 |
msgid "inches"
|
519 |
msgstr ""
|
520 |
|
521 |
-
#: ../../Helper/Helper_Abstract_Options.php:
|
522 |
msgid "The callback used for the %s setting is missing."
|
523 |
msgstr ""
|
524 |
|
525 |
-
#: ../../Helper/Helper_Abstract_View.php:
|
|
|
|
|
|
|
|
|
526 |
msgid "Cannot find file %s"
|
527 |
msgstr ""
|
528 |
|
529 |
-
#: ../../Helper/Helper_Data.php:
|
530 |
msgid "PDF"
|
531 |
msgstr ""
|
532 |
|
533 |
-
#: ../../Helper/Helper_Data.php:
|
534 |
msgid "Gravity PDF"
|
535 |
msgstr ""
|
536 |
|
537 |
-
#: ../../Helper/Helper_Data.php:
|
538 |
msgid "Your license key expired on %s."
|
539 |
msgstr ""
|
540 |
|
541 |
-
#: ../../Helper/Helper_Data.php:
|
542 |
msgid "Your license key has been disabled"
|
543 |
msgstr ""
|
544 |
|
545 |
-
#: ../../Helper/Helper_Data.php:
|
546 |
msgid "Invalid license key provided"
|
547 |
msgstr ""
|
548 |
|
549 |
-
#: ../../Helper/Helper_Data.php:
|
550 |
msgid "Your license is not active for this URL"
|
551 |
msgstr ""
|
552 |
|
553 |
-
#: ../../Helper/Helper_Data.php:
|
554 |
msgid "This appears to be an invalid license key for %s"
|
555 |
msgstr ""
|
556 |
|
557 |
-
#: ../../Helper/Helper_Data.php:
|
558 |
msgid "Your license key has reached its activation limit"
|
559 |
msgstr ""
|
560 |
|
561 |
-
#: ../../Helper/Helper_Data.php:
|
562 |
msgid "An error occurred, please try again"
|
563 |
msgstr ""
|
564 |
|
565 |
-
#: ../../Helper/Helper_Data.php:
|
566 |
msgid "An error occurred during activation, please try again"
|
567 |
msgstr ""
|
568 |
|
569 |
-
#: ../../Helper/Helper_Data.php:
|
570 |
msgid "Loading..."
|
571 |
msgstr ""
|
572 |
|
573 |
-
#: ../../Helper/Helper_Data.php:
|
574 |
msgid "Continue"
|
575 |
msgstr ""
|
576 |
|
577 |
-
#: ../../Helper/Helper_Data.php:
|
578 |
msgid "Uninstall"
|
579 |
msgstr ""
|
580 |
|
581 |
-
#: ../../Helper/Helper_Data.php:
|
582 |
msgid "Cancel"
|
583 |
msgstr ""
|
584 |
|
585 |
-
#: ../../Helper/Helper_Data.php:
|
586 |
msgid "Delete"
|
587 |
msgstr ""
|
588 |
|
589 |
-
#: ../../Helper/Helper_Data.php:
|
590 |
msgid "Active"
|
591 |
msgstr ""
|
592 |
|
593 |
-
#: ../../Helper/Helper_Data.php:
|
594 |
msgid "Inactive"
|
595 |
msgstr ""
|
596 |
|
597 |
-
#: ../../Helper/Helper_Data.php:
|
598 |
msgid "this PDF if"
|
599 |
msgstr ""
|
600 |
|
601 |
-
#: ../../Helper/Helper_Data.php:
|
602 |
msgid "Enable"
|
603 |
msgstr ""
|
604 |
|
605 |
-
#: ../../Helper/Helper_Data.php:
|
606 |
msgid "Disable"
|
607 |
msgstr ""
|
608 |
|
609 |
-
#: ../../Helper/Helper_Data.php:
|
610 |
msgid "Successfully Updated"
|
611 |
msgstr ""
|
612 |
|
613 |
-
#: ../../Helper/Helper_Data.php:
|
614 |
msgid "Successfully Deleted"
|
615 |
msgstr ""
|
616 |
|
617 |
-
#: ../../Helper/Helper_Data.php:
|
618 |
msgid "No"
|
619 |
msgstr ""
|
620 |
|
621 |
-
#: ../../Helper/Helper_Data.php:
|
622 |
msgid "Yes"
|
623 |
msgstr ""
|
624 |
|
625 |
-
#: ../../Helper/Helper_Data.php:
|
626 |
msgid "Standard"
|
627 |
msgstr ""
|
628 |
|
629 |
-
#: ../../Helper/Helper_Data.php:
|
630 |
msgid "Advanced"
|
631 |
msgstr ""
|
632 |
|
633 |
-
#: ../../Helper/Helper_Data.php:
|
634 |
msgid "Manage"
|
635 |
msgstr ""
|
636 |
|
637 |
-
#: ../../Helper/Helper_Data.php:
|
638 |
msgid "Details"
|
639 |
msgstr ""
|
640 |
|
641 |
-
#: ../../Helper/Helper_Data.php:
|
642 |
msgid "Select"
|
643 |
msgstr ""
|
644 |
|
645 |
-
#: ../../Helper/Helper_Data.php:
|
646 |
msgid "Version"
|
647 |
msgstr ""
|
648 |
|
649 |
-
#: ../../Helper/Helper_Data.php:
|
650 |
msgid "Group"
|
651 |
msgstr ""
|
652 |
|
653 |
-
#: ../../Helper/Helper_Data.php:
|
654 |
msgid "Tags"
|
655 |
msgstr ""
|
656 |
|
657 |
-
#: ../../Helper/Helper_Data.php:
|
658 |
msgid "Template"
|
659 |
msgstr ""
|
660 |
|
661 |
-
#: ../../Helper/Helper_Data.php:
|
662 |
msgid "Manage PDF Templates"
|
663 |
msgstr ""
|
664 |
|
665 |
-
#: ../../Helper/Helper_Data.php:
|
666 |
msgid "Add New Template"
|
667 |
msgstr ""
|
668 |
|
669 |
-
#: ../../Helper/Helper_Data.php:
|
670 |
msgid "This form doesn't have any PDFs."
|
671 |
msgstr ""
|
672 |
|
673 |
-
#: ../../Helper/Helper_Data.php:
|
674 |
msgid "Let's go create one"
|
675 |
msgstr ""
|
676 |
|
677 |
-
#: ../../Helper/Helper_Data.php:
|
678 |
msgid "Installed PDFs"
|
679 |
msgstr ""
|
680 |
|
681 |
-
#: ../../Helper/Helper_Data.php:
|
682 |
msgid "Search Installed Templates"
|
683 |
msgstr ""
|
684 |
|
685 |
-
#: ../../Helper/Helper_Data.php:
|
686 |
msgid "Search the Gravity PDF Knowledgebase..."
|
687 |
msgstr ""
|
688 |
|
689 |
-
#: ../../Helper/Helper_Data.php:
|
690 |
msgid "Gravity PDF Documentation"
|
691 |
msgstr ""
|
692 |
|
693 |
-
#: ../../Helper/Helper_Data.php:
|
694 |
msgid "It doesn't look like there are any topics related to your issue."
|
695 |
msgstr ""
|
696 |
|
697 |
-
#: ../../Helper/Helper_Data.php:
|
698 |
msgid "An error occurred. Please try again"
|
699 |
msgstr ""
|
700 |
|
701 |
-
#: ../../Helper/Helper_Data.php:
|
702 |
msgid "Requires Gravity PDF v%s"
|
703 |
msgstr ""
|
704 |
|
705 |
-
#: ../../Helper/Helper_Data.php:
|
706 |
msgid "This PDF template is not compatible with your version of Gravity PDF. This template required Gravity PDF v%s."
|
707 |
msgstr ""
|
708 |
|
709 |
-
#: ../../Helper/Helper_Data.php:
|
710 |
msgid "Template Details"
|
711 |
msgstr ""
|
712 |
|
713 |
-
#: ../../Helper/Helper_Data.php:
|
714 |
msgid "Current Template"
|
715 |
msgstr ""
|
716 |
|
717 |
-
#: ../../Helper/Helper_Data.php:
|
718 |
msgid "Show previous template"
|
719 |
msgstr ""
|
720 |
|
721 |
-
#: ../../Helper/Helper_Data.php:
|
722 |
msgid "Show next template"
|
723 |
msgstr ""
|
724 |
|
725 |
-
#: ../../Helper/Helper_Data.php:
|
726 |
msgid "Upload is not a valid template. Upload a .zip file."
|
727 |
msgstr ""
|
728 |
|
729 |
-
#: ../../Helper/Helper_Data.php:
|
730 |
msgid "Upload exceeds the 10MB limit."
|
731 |
msgstr ""
|
732 |
|
733 |
-
#: ../../Helper/Helper_Data.php:
|
734 |
msgid "Template successfully installed"
|
735 |
msgstr ""
|
736 |
|
737 |
-
#: ../../Helper/Helper_Data.php:
|
738 |
msgid "Template successfully updated"
|
739 |
msgstr ""
|
740 |
|
741 |
-
#: ../../Helper/Helper_Data.php:
|
742 |
msgid "PDF Template(s) Successfully Installed / Updated"
|
743 |
msgstr ""
|
744 |
|
745 |
-
#: ../../Helper/Helper_Data.php:
|
746 |
msgid "There was a problem with the upload. Reload the page and try again."
|
747 |
msgstr ""
|
748 |
|
749 |
-
#: ../../Helper/Helper_Data.php:
|
750 |
msgid "Do you really want to delete this PDF template?%sClick 'Cancel' to go back, 'OK' to confirm the delete."
|
751 |
msgstr ""
|
752 |
|
753 |
-
#: ../../Helper/Helper_Data.php:
|
754 |
msgid "Could not delete template."
|
755 |
msgstr ""
|
756 |
|
757 |
-
#: ../../Helper/Helper_Data.php:
|
758 |
msgid "If you have a PDF template in .zip format you may install it here. You can also update an existing PDF template (this will override any changes you have made)."
|
759 |
msgstr ""
|
760 |
|
761 |
-
#: ../../Helper/Helper_Data.php:
|
762 |
msgid "ALL CORE FONTS SUCCESSFULLY INSTALLED"
|
763 |
msgstr ""
|
764 |
|
765 |
-
#: ../../Helper/Helper_Data.php:
|
766 |
msgid "%s CORE FONT(S) DID NOT INSTALL CORRECTLY"
|
767 |
msgstr ""
|
768 |
|
769 |
-
#: ../../Helper/Helper_Data.php:
|
770 |
msgid "Could not download Core Font list. Try again."
|
771 |
msgstr ""
|
772 |
|
773 |
-
#: ../../Helper/Helper_Data.php:
|
774 |
msgid "Downloading %s..."
|
775 |
msgstr ""
|
776 |
|
777 |
-
#: ../../Helper/Helper_Data.php:
|
778 |
msgid "Completed installation of %s"
|
779 |
msgstr ""
|
780 |
|
781 |
-
#: ../../Helper/Helper_Data.php:
|
782 |
msgid "Failed installation of %s"
|
783 |
msgstr ""
|
784 |
|
785 |
-
#: ../../Helper/Helper_Data.php:
|
786 |
msgid "Fonts remaining:"
|
787 |
msgstr ""
|
788 |
|
789 |
-
#: ../../Helper/Helper_Data.php:
|
790 |
msgid "Retry Failed Downloads?"
|
791 |
msgstr ""
|
792 |
|
793 |
-
#: ../../Helper/Helper_Data.php:
|
794 |
msgid "Core font installation"
|
795 |
msgstr ""
|
796 |
|
797 |
-
#: ../../Helper/Helper_Data.php:
|
798 |
msgid "Search installed fonts"
|
799 |
msgstr ""
|
800 |
|
801 |
-
#: ../../Helper/Helper_Data.php:
|
802 |
msgid "Installed Fonts"
|
803 |
msgstr ""
|
804 |
|
805 |
-
#: ../../Helper/Helper_Data.php:
|
806 |
msgid "Regular"
|
807 |
msgstr ""
|
808 |
|
809 |
-
#: ../../Helper/Helper_Data.php:
|
810 |
msgid "Regular %1$s(required)%2$s"
|
811 |
msgstr ""
|
812 |
|
813 |
-
#: ../../Helper/Helper_Data.php:
|
814 |
msgid "Italics"
|
815 |
msgstr ""
|
816 |
|
817 |
-
#: ../../Helper/Helper_Data.php:
|
818 |
msgid "Bold"
|
819 |
msgstr ""
|
820 |
|
821 |
-
#: ../../Helper/Helper_Data.php:
|
822 |
msgid "Bold Italics"
|
823 |
msgstr ""
|
824 |
|
825 |
-
#: ../../Helper/Helper_Data.php:
|
826 |
msgid "Add Font"
|
827 |
msgstr ""
|
828 |
|
829 |
-
#: ../../Helper/Helper_Data.php:
|
830 |
msgid "Update Font"
|
831 |
msgstr ""
|
832 |
|
833 |
-
#: ../../Helper/Helper_Data.php:
|
834 |
msgid "Install new fonts for use in your PDF documents."
|
835 |
msgstr ""
|
836 |
|
837 |
-
#: ../../Helper/Helper_Data.php:
|
838 |
msgid "Once saved, PDFs configured to use this font will have your changes applied automatically for newly-generated documents."
|
839 |
msgstr ""
|
840 |
|
841 |
-
#: ../../Helper/Helper_Data.php:
|
842 |
msgid "Font Name %1$s(required)%2$s"
|
843 |
msgstr ""
|
844 |
|
845 |
-
#: ../../Helper/Helper_Data.php:
|
846 |
msgid "The font name can only contain letters, numbers and spaces."
|
847 |
msgstr ""
|
848 |
|
849 |
-
#: ../../Helper/Helper_Data.php:
|
850 |
msgid "Please choose a name contains letters and/or numbers (and a space if you want it)."
|
851 |
msgstr ""
|
852 |
|
853 |
-
#: ../../Helper/Helper_Data.php:
|
854 |
msgid "Font Files"
|
855 |
msgstr ""
|
856 |
|
857 |
-
#: ../../Helper/Helper_Data.php:
|
858 |
msgid "Select or drag and drop your .ttf font file for the variants below. Only the Regular type is required."
|
859 |
msgstr ""
|
860 |
|
861 |
-
#: ../../Helper/Helper_Data.php:
|
862 |
msgid "Add a .ttf font file."
|
863 |
msgstr ""
|
864 |
|
865 |
-
#: ../../Helper/Helper_Data.php:
|
866 |
msgid "View template usage"
|
867 |
msgstr ""
|
868 |
|
869 |
-
#: ../../Helper/Helper_Data.php:
|
870 |
msgid "← Cancel"
|
871 |
msgstr ""
|
872 |
|
873 |
-
#: ../../Helper/Helper_Data.php:
|
874 |
msgid "Are you sure you want to delete this font?"
|
875 |
msgstr ""
|
876 |
|
877 |
-
#: ../../Helper/Helper_Data.php:
|
878 |
msgid "Add this snippet %1$sin a custom template%3$s to selectively set the font on blocks of text. If you want to apply the font to the entire PDF, %2$suse the Font setting%3$s when configuring the PDF on the form."
|
879 |
msgstr ""
|
880 |
|
881 |
-
#: ../../Helper/Helper_Data.php:
|
882 |
msgid "Update font"
|
883 |
msgstr ""
|
884 |
|
885 |
-
#: ../../Helper/Helper_Data.php:
|
886 |
msgid "Select font"
|
887 |
msgstr ""
|
888 |
|
889 |
-
#: ../../Helper/Helper_Data.php:
|
890 |
msgid "Delete font"
|
891 |
msgstr ""
|
892 |
|
893 |
-
#: ../../Helper/Helper_Data.php:
|
894 |
msgid "Font list empty."
|
895 |
msgstr ""
|
896 |
|
897 |
-
#: ../../Helper/Helper_Data.php:
|
898 |
msgid "No fonts matching your search found."
|
899 |
msgstr ""
|
900 |
|
901 |
-
#: ../../Helper/Helper_Data.php:
|
902 |
msgid "Clear Search."
|
903 |
msgstr ""
|
904 |
|
905 |
-
#: ../../Helper/Helper_Data.php:
|
906 |
msgid "Your font has been saved."
|
907 |
msgstr ""
|
908 |
|
909 |
-
#: ../../Helper/Helper_Data.php:
|
910 |
msgid "%1$sThe action could not be completed.%2$s Resolve the highlighted issues above and then try again."
|
911 |
msgstr ""
|
912 |
|
913 |
-
#: ../../Helper/Helper_Data.php:
|
914 |
msgid "A problem occurred. Reload the page and try again."
|
915 |
msgstr ""
|
916 |
|
917 |
-
#: ../../Helper/Helper_Data.php:
|
918 |
msgid "%1$sFont file(s) missing from the server.%2$s Please upload the font(s) again and then save."
|
919 |
msgstr ""
|
920 |
|
921 |
-
#: ../../Helper/Helper_Data.php:
|
922 |
msgid "%1$sFont file(s) are malformed%2$s and cannot be used with Gravity PDF."
|
923 |
msgstr ""
|
924 |
|
925 |
-
#: ../../Helper/Helper_Data.php:
|
926 |
msgid "Warning! ALL Gravity PDF data, including templates, will be deleted. This cannot be undone. 'OK' to delete, 'Cancel' to stop."
|
927 |
msgstr ""
|
928 |
|
929 |
-
#: ../../Helper/Helper_Data.php:
|
930 |
msgid "WARNING: You are about to delete this PDF. 'Cancel' to stop, 'OK' to delete."
|
931 |
msgstr ""
|
932 |
|
933 |
-
#: ../../Helper/Helper_Data.php:
|
934 |
msgid "Search the Gravity PDF Documentation..."
|
935 |
msgstr ""
|
936 |
|
937 |
-
#: ../../Helper/Helper_Data.php:
|
938 |
msgid "Submit your search query."
|
939 |
msgstr ""
|
940 |
|
941 |
-
#: ../../Helper/Helper_Data.php:
|
942 |
msgid "Clear your search query."
|
943 |
msgstr ""
|
944 |
|
@@ -1358,7 +1362,7 @@ msgstr ""
|
|
1358 |
msgid "The PDF Template %1$s requires Gravity PDF version %2$s. Upgrade to the latest version."
|
1359 |
msgstr ""
|
1360 |
|
1361 |
-
#: ../../Helper/Helper_PDF.php:
|
1362 |
msgid "This method has been removed because mPDF no longer supports setting the image DPI after the class is initialised."
|
1363 |
msgstr ""
|
1364 |
|
@@ -1374,51 +1378,51 @@ msgstr ""
|
|
1374 |
msgid "None"
|
1375 |
msgstr ""
|
1376 |
|
1377 |
-
#: ../../Helper/Helper_PDF_List_Table.php:
|
1378 |
msgid "Download PDF"
|
1379 |
msgstr ""
|
1380 |
|
1381 |
-
#: ../../Helper/Helper_PDF_List_Table.php:
|
1382 |
msgid "Copy the %s PDF shortcode to the clipboard"
|
1383 |
msgstr ""
|
1384 |
|
1385 |
-
#: ../../Helper/Helper_PDF_List_Table.php:
|
1386 |
msgid "Shortcode copied!"
|
1387 |
msgstr ""
|
1388 |
|
1389 |
-
#: ../../Helper/Helper_PDF_List_Table.php:
|
1390 |
msgid "Copy Shortcode"
|
1391 |
msgstr ""
|
1392 |
|
1393 |
-
#: ../../Helper/Helper_PDF_List_Table.php:
|
1394 |
msgid "Copied"
|
1395 |
msgstr ""
|
1396 |
|
1397 |
-
#: ../../Helper/Helper_PDF_List_Table.php:
|
1398 |
msgid "Edit this PDF"
|
1399 |
msgstr ""
|
1400 |
|
1401 |
-
#: ../../Helper/Helper_PDF_List_Table.php:
|
1402 |
msgid "Edit"
|
1403 |
msgstr ""
|
1404 |
|
1405 |
-
#: ../../Helper/Helper_PDF_List_Table.php:
|
1406 |
msgid "Duplicate this PDF"
|
1407 |
msgstr ""
|
1408 |
|
1409 |
-
#: ../../Helper/Helper_PDF_List_Table.php:
|
1410 |
msgid "Duplicate"
|
1411 |
msgstr ""
|
1412 |
|
1413 |
-
#: ../../Helper/Helper_PDF_List_Table.php:
|
1414 |
msgid "Delete this PDF"
|
1415 |
msgstr ""
|
1416 |
|
1417 |
-
#: ../../Helper/Helper_PDF_List_Table.php:
|
1418 |
msgid "%s PDF"
|
1419 |
msgstr ""
|
1420 |
|
1421 |
-
#: ../../Helper/Helper_PDF_List_Table.php:
|
1422 |
msgid "This form doesn't have any PDFs. Let's go %1$screate one%2$s."
|
1423 |
msgstr ""
|
1424 |
|
@@ -1438,23 +1442,23 @@ msgstr ""
|
|
1438 |
msgid "Add PDF"
|
1439 |
msgstr ""
|
1440 |
|
1441 |
-
#: ../../Model/Model_Form_Settings.php:
|
1442 |
msgid "There was a problem saving your PDF settings. Please try again."
|
1443 |
msgstr ""
|
1444 |
|
1445 |
-
#: ../../Model/Model_Form_Settings.php:
|
1446 |
msgid "PDF could not be saved. Please enter all required information below."
|
1447 |
msgstr ""
|
1448 |
|
1449 |
-
#: ../../Model/Model_Form_Settings.php:
|
1450 |
msgid "PDF saved successfully. %1$sBack to PDF list.%2$s"
|
1451 |
msgstr ""
|
1452 |
|
1453 |
-
#: ../../Model/Model_Form_Settings.php:
|
1454 |
msgid "PDF successfully deleted."
|
1455 |
msgstr ""
|
1456 |
|
1457 |
-
#: ../../Model/Model_Form_Settings.php:
|
1458 |
msgid "PDF successfully duplicated."
|
1459 |
msgstr ""
|
1460 |
|
@@ -1482,39 +1486,39 @@ msgstr ""
|
|
1482 |
msgid "PDF URLs"
|
1483 |
msgstr ""
|
1484 |
|
1485 |
-
#: ../../Model/Model_PDF.php:
|
1486 |
msgid "The PDF configuration is not currently active."
|
1487 |
msgstr ""
|
1488 |
|
1489 |
-
#: ../../Model/Model_PDF.php:
|
1490 |
msgid "PDF conditional logic requirements have not been met."
|
1491 |
msgstr ""
|
1492 |
|
1493 |
-
#: ../../Model/Model_PDF.php:
|
1494 |
msgid "Your PDF is no longer accessible."
|
1495 |
msgstr ""
|
1496 |
|
1497 |
-
#: ../../Model/Model_PDF.php:
|
1498 |
msgid "You do not have access to view this PDF."
|
1499 |
msgstr ""
|
1500 |
|
1501 |
-
#: ../../Model/Model_PDF.php:
|
1502 |
msgid "PDFs"
|
1503 |
msgstr ""
|
1504 |
|
1505 |
-
#: ../../Model/Model_PDF.php:
|
1506 |
msgid "The PDF could not be saved."
|
1507 |
msgstr ""
|
1508 |
|
1509 |
-
#: ../../Model/Model_PDF.php:
|
1510 |
msgid "Could not find PDF configuration requested"
|
1511 |
msgstr ""
|
1512 |
|
1513 |
-
#: ../../Model/Model_Settings.php:
|
1514 |
msgid "License deactivated."
|
1515 |
msgstr ""
|
1516 |
|
1517 |
-
#: ../../Model/Model_Settings.php:
|
1518 |
msgid "An error occurred during deactivation, please try again"
|
1519 |
msgstr ""
|
1520 |
|
@@ -1602,11 +1606,11 @@ msgstr ""
|
|
1602 |
msgid "minute(s)"
|
1603 |
msgstr ""
|
1604 |
|
1605 |
-
#: ../../Model/Model_Templates.php:
|
1606 |
msgid "No valid PDF template found in Zip archive."
|
1607 |
msgstr ""
|
1608 |
|
1609 |
-
#: ../../Model/Model_Templates.php:
|
1610 |
msgid "The PHP file %s is not a valid PDF Template."
|
1611 |
msgstr ""
|
1612 |
|
@@ -1634,7 +1638,7 @@ msgstr ""
|
|
1634 |
msgid "Zadani"
|
1635 |
msgstr ""
|
1636 |
|
1637 |
-
#: ../../View/View_Form_Settings.php:
|
1638 |
msgid "General"
|
1639 |
msgstr ""
|
1640 |
|
@@ -1642,39 +1646,39 @@ msgstr ""
|
|
1642 |
msgid "Appearance"
|
1643 |
msgstr ""
|
1644 |
|
1645 |
-
#: ../../View/View_Settings.php:
|
1646 |
msgid "Tools"
|
1647 |
msgstr ""
|
1648 |
|
1649 |
-
#: ../../View/View_Settings.php:
|
1650 |
msgid "Help"
|
1651 |
msgstr ""
|
1652 |
|
1653 |
-
#: ../../View/View_Settings.php:
|
1654 |
msgid "License"
|
1655 |
msgstr ""
|
1656 |
|
1657 |
-
#: ../../View/View_Settings.php:
|
1658 |
msgid "Default PDF Options"
|
1659 |
msgstr ""
|
1660 |
|
1661 |
-
#: ../../View/View_Settings.php:
|
1662 |
msgid "Control the default settings to use when you create new PDFs on your forms."
|
1663 |
msgstr ""
|
1664 |
|
1665 |
-
#: ../../View/View_Settings.php:
|
1666 |
msgid "Security"
|
1667 |
msgstr ""
|
1668 |
|
1669 |
-
#: ../../View/View_Settings.php:
|
1670 |
msgid "Licensing"
|
1671 |
msgstr ""
|
1672 |
|
1673 |
-
#: ../../View/View_Settings.php:
|
1674 |
msgid "PDF Download Link"
|
1675 |
msgstr ""
|
1676 |
|
1677 |
-
#: ../../View/View_Settings.php:
|
1678 |
msgid "Include the [gravitypdf] shortcode in the form's Confirmation or Notification settings to display a PDF download link. %1$sGet more info%2$s."
|
1679 |
msgstr ""
|
1680 |
|
@@ -1710,7 +1714,7 @@ msgstr ""
|
|
1710 |
msgid "Learn how to update"
|
1711 |
msgstr ""
|
1712 |
|
1713 |
-
#: ../../Helper/Fields/Field_Consent.php:
|
1714 |
msgid "Consent not given."
|
1715 |
msgstr ""
|
1716 |
|
@@ -1722,7 +1726,7 @@ msgstr ""
|
|
1722 |
msgid "Shipping (%s)"
|
1723 |
msgstr ""
|
1724 |
|
1725 |
-
#: ../../Helper/Fields/Field_Tos.php:
|
1726 |
msgid "Not accepted"
|
1727 |
msgstr ""
|
1728 |
|
@@ -1798,7 +1802,7 @@ msgstr ""
|
|
1798 |
msgid "Before you can generate a PDF using Gravity Forms, the core fonts need to be saved to your server. This only needs to be done once."
|
1799 |
msgstr ""
|
1800 |
|
1801 |
-
#: ../../View/html/FormSettings/add_edit.php:
|
1802 |
msgid "Want more features? Take a look at our addons."
|
1803 |
msgstr ""
|
1804 |
|
@@ -1806,7 +1810,7 @@ msgstr ""
|
|
1806 |
msgid "Add new PDF"
|
1807 |
msgstr ""
|
1808 |
|
1809 |
-
#: ../../View/html/GravityForms/fieldset.php:
|
1810 |
msgid "Toggle %s Section"
|
1811 |
msgstr ""
|
1812 |
|
@@ -1822,7 +1826,7 @@ msgstr ""
|
|
1822 |
msgid "View PDFs"
|
1823 |
msgstr ""
|
1824 |
|
1825 |
-
#: ../../View/html/PDF/entry_list_pdf_single.php:
|
1826 |
msgid "View PDF"
|
1827 |
msgstr ""
|
1828 |
|
6 |
"MIME-Version: 1.0\n"
|
7 |
"Content-Type: text/plain; charset=UTF-8\n"
|
8 |
"Content-Transfer-Encoding: 8bit\n"
|
9 |
+
"POT-Creation-Date: 2022-06-21 04:08+0000\n"
|
10 |
"X-Poedit-Basepath: ..\n"
|
11 |
"X-Poedit-KeywordsList: __;_e;_ex:1,2c;_n:1,2;_n_noop:1,2;_nx:1,2,4c;_nx_noop:1,2,3c;_x:1,2c;esc_attr__;esc_attr_e;esc_attr_x:1,2c;esc_html__;esc_html_e;esc_html_x:1,2c\n"
|
12 |
"X-Poedit-SearchPath-0: .\n"
|
90 |
msgid "Downgrade"
|
91 |
msgstr ""
|
92 |
|
93 |
+
#: ../../bootstrap.php:134, ../../bootstrap.php:146, ../../deprecated.php:45, ../../deprecated.php:58
|
94 |
msgid "\"%s\" has been deprecated as of Gravity PDF 4.0"
|
95 |
msgstr ""
|
96 |
|
98 |
msgid "View Gravity PDF Settings"
|
99 |
msgstr ""
|
100 |
|
101 |
+
#: ../../bootstrap.php:309, ../../View/View_Settings.php:173
|
102 |
msgid "Settings"
|
103 |
msgstr ""
|
104 |
|
122 |
msgid "View Gravity PDF Extensions Shop"
|
123 |
msgstr ""
|
124 |
|
125 |
+
#: ../../bootstrap.php:331, ../../View/View_Settings.php:200
|
126 |
msgid "Extensions"
|
127 |
msgstr ""
|
128 |
|
138 |
msgid "Install Core Fonts"
|
139 |
msgstr ""
|
140 |
|
141 |
+
#: ../../Controller/Controller_Actions.php:207, ../../Model/Model_Form_Settings.php:171, ../../Model/Model_Form_Settings.php:208, ../../Model/Model_Form_Settings.php:322, ../../View/View_Settings.php:383
|
142 |
msgid "You do not have permission to access this page"
|
143 |
msgstr ""
|
144 |
|
186 |
msgid "PDF: %s"
|
187 |
msgstr ""
|
188 |
|
189 |
+
#: ../../Controller/Controller_PDF.php:375, ../../View/View_PDF.php:244
|
190 |
msgid "There was a problem generating your PDF"
|
191 |
msgstr ""
|
192 |
|
198 |
msgid "View plugin Documentation"
|
199 |
msgstr ""
|
200 |
|
201 |
+
#: ../../Helper/Helper_Abstract_Options.php:391, ../../Helper/Helper_Abstract_Options.php:410
|
202 |
msgid "You must pass in a valid form ID"
|
203 |
msgstr ""
|
204 |
|
205 |
+
#: ../../Helper/Helper_Abstract_Options.php:452
|
206 |
msgid "You must pass in a valid PDF ID"
|
207 |
msgstr ""
|
208 |
|
209 |
+
#: ../../Helper/Helper_Abstract_Options.php:837
|
210 |
msgid "Common Sizes"
|
211 |
msgstr ""
|
212 |
|
213 |
+
#: ../../Helper/Helper_Abstract_Options.php:838
|
214 |
msgid "A4 (210 x 297mm)"
|
215 |
msgstr ""
|
216 |
|
217 |
+
#: ../../Helper/Helper_Abstract_Options.php:839
|
218 |
msgid "Letter (8.5 x 11in)"
|
219 |
msgstr ""
|
220 |
|
221 |
+
#: ../../Helper/Helper_Abstract_Options.php:840
|
222 |
msgid "Legal (8.5 x 14in)"
|
223 |
msgstr ""
|
224 |
|
225 |
+
#: ../../Helper/Helper_Abstract_Options.php:841
|
226 |
msgid "Ledger / Tabloid (11 x 17in)"
|
227 |
msgstr ""
|
228 |
|
229 |
+
#: ../../Helper/Helper_Abstract_Options.php:842
|
230 |
msgid "Executive (7 x 10in)"
|
231 |
msgstr ""
|
232 |
|
233 |
+
#: ../../Helper/Helper_Abstract_Options.php:843, ../../Helper/Helper_Options_Fields.php:94, ../../Helper/Helper_Options_Fields.php:318
|
234 |
msgid "Custom Paper Size"
|
235 |
msgstr ""
|
236 |
|
237 |
+
#: ../../Helper/Helper_Abstract_Options.php:846
|
238 |
msgid "\"A\" Sizes"
|
239 |
msgstr ""
|
240 |
|
241 |
+
#: ../../Helper/Helper_Abstract_Options.php:847
|
242 |
msgid "A0 (841 x 1189mm)"
|
243 |
msgstr ""
|
244 |
|
245 |
+
#: ../../Helper/Helper_Abstract_Options.php:848
|
246 |
msgid "A1 (594 x 841mm)"
|
247 |
msgstr ""
|
248 |
|
249 |
+
#: ../../Helper/Helper_Abstract_Options.php:849
|
250 |
msgid "A2 (420 x 594mm)"
|
251 |
msgstr ""
|
252 |
|
253 |
+
#: ../../Helper/Helper_Abstract_Options.php:850
|
254 |
msgid "A3 (297 x 420mm)"
|
255 |
msgstr ""
|
256 |
|
257 |
+
#: ../../Helper/Helper_Abstract_Options.php:851
|
258 |
msgid "A5 (148 x 210mm)"
|
259 |
msgstr ""
|
260 |
|
261 |
+
#: ../../Helper/Helper_Abstract_Options.php:852
|
262 |
msgid "A6 (105 x 148mm)"
|
263 |
msgstr ""
|
264 |
|
265 |
+
#: ../../Helper/Helper_Abstract_Options.php:853
|
266 |
msgid "A7 (74 x 105mm)"
|
267 |
msgstr ""
|
268 |
|
269 |
+
#: ../../Helper/Helper_Abstract_Options.php:854
|
270 |
msgid "A8 (52 x 74mm)"
|
271 |
msgstr ""
|
272 |
|
273 |
+
#: ../../Helper/Helper_Abstract_Options.php:855
|
274 |
msgid "A9 (37 x 52mm)"
|
275 |
msgstr ""
|
276 |
|
277 |
+
#: ../../Helper/Helper_Abstract_Options.php:856
|
278 |
msgid "A10 (26 x 37mm)"
|
279 |
msgstr ""
|
280 |
|
281 |
+
#: ../../Helper/Helper_Abstract_Options.php:859
|
282 |
msgid "\"B\" Sizes"
|
283 |
msgstr ""
|
284 |
|
285 |
+
#: ../../Helper/Helper_Abstract_Options.php:860
|
286 |
msgid "B0 (1414 x 1000mm)"
|
287 |
msgstr ""
|
288 |
|
289 |
+
#: ../../Helper/Helper_Abstract_Options.php:861
|
290 |
msgid "B1 (1000 x 707mm)"
|
291 |
msgstr ""
|
292 |
|
293 |
+
#: ../../Helper/Helper_Abstract_Options.php:862
|
294 |
msgid "B2 (707 x 500mm)"
|
295 |
msgstr ""
|
296 |
|
297 |
+
#: ../../Helper/Helper_Abstract_Options.php:863
|
298 |
msgid "B3 (500 x 353mm)"
|
299 |
msgstr ""
|
300 |
|
301 |
+
#: ../../Helper/Helper_Abstract_Options.php:864
|
302 |
msgid "B4 (353 x 250mm)"
|
303 |
msgstr ""
|
304 |
|
305 |
+
#: ../../Helper/Helper_Abstract_Options.php:865
|
306 |
msgid "B5 (250 x 176mm)"
|
307 |
msgstr ""
|
308 |
|
309 |
+
#: ../../Helper/Helper_Abstract_Options.php:866
|
310 |
msgid "B6 (176 x 125mm)"
|
311 |
msgstr ""
|
312 |
|
313 |
+
#: ../../Helper/Helper_Abstract_Options.php:867
|
314 |
msgid "B7 (125 x 88mm)"
|
315 |
msgstr ""
|
316 |
|
317 |
+
#: ../../Helper/Helper_Abstract_Options.php:868
|
318 |
msgid "B8 (88 x 62mm)"
|
319 |
msgstr ""
|
320 |
|
321 |
+
#: ../../Helper/Helper_Abstract_Options.php:869
|
322 |
msgid "B9 (62 x 44mm)"
|
323 |
msgstr ""
|
324 |
|
325 |
+
#: ../../Helper/Helper_Abstract_Options.php:870
|
326 |
msgid "B10 (44 x 31mm)"
|
327 |
msgstr ""
|
328 |
|
329 |
+
#: ../../Helper/Helper_Abstract_Options.php:873
|
330 |
msgid "\"C\" Sizes"
|
331 |
msgstr ""
|
332 |
|
333 |
+
#: ../../Helper/Helper_Abstract_Options.php:874
|
334 |
msgid "C0 (1297 x 917mm)"
|
335 |
msgstr ""
|
336 |
|
337 |
+
#: ../../Helper/Helper_Abstract_Options.php:875
|
338 |
msgid "C1 (917 x 648mm)"
|
339 |
msgstr ""
|
340 |
|
341 |
+
#: ../../Helper/Helper_Abstract_Options.php:876
|
342 |
msgid "C2 (648 x 458mm)"
|
343 |
msgstr ""
|
344 |
|
345 |
+
#: ../../Helper/Helper_Abstract_Options.php:877
|
346 |
msgid "C3 (458 x 324mm)"
|
347 |
msgstr ""
|
348 |
|
349 |
+
#: ../../Helper/Helper_Abstract_Options.php:878
|
350 |
msgid "C4 (324 x 229mm)"
|
351 |
msgstr ""
|
352 |
|
353 |
+
#: ../../Helper/Helper_Abstract_Options.php:879
|
354 |
msgid "C5 (229 x 162mm)"
|
355 |
msgstr ""
|
356 |
|
357 |
+
#: ../../Helper/Helper_Abstract_Options.php:880
|
358 |
msgid "C6 (162 x 114mm)"
|
359 |
msgstr ""
|
360 |
|
361 |
+
#: ../../Helper/Helper_Abstract_Options.php:881
|
362 |
msgid "C7 (114 x 81mm)"
|
363 |
msgstr ""
|
364 |
|
365 |
+
#: ../../Helper/Helper_Abstract_Options.php:882
|
366 |
msgid "C8 (81 x 57mm)"
|
367 |
msgstr ""
|
368 |
|
369 |
+
#: ../../Helper/Helper_Abstract_Options.php:883
|
370 |
msgid "C9 (57 x 40mm)"
|
371 |
msgstr ""
|
372 |
|
373 |
+
#: ../../Helper/Helper_Abstract_Options.php:884
|
374 |
msgid "C10 (40 x 28mm)"
|
375 |
msgstr ""
|
376 |
|
377 |
+
#: ../../Helper/Helper_Abstract_Options.php:887
|
378 |
msgid "\"RA\" and \"SRA\" Sizes"
|
379 |
msgstr ""
|
380 |
|
381 |
+
#: ../../Helper/Helper_Abstract_Options.php:888
|
382 |
msgid "RA0 (860 x 1220mm)"
|
383 |
msgstr ""
|
384 |
|
385 |
+
#: ../../Helper/Helper_Abstract_Options.php:889
|
386 |
msgid "RA1 (610 x 860mm)"
|
387 |
msgstr ""
|
388 |
|
389 |
+
#: ../../Helper/Helper_Abstract_Options.php:890
|
390 |
msgid "RA2 (430 x 610mm)"
|
391 |
msgstr ""
|
392 |
|
393 |
+
#: ../../Helper/Helper_Abstract_Options.php:891
|
394 |
msgid "RA3 (305 x 430mm)"
|
395 |
msgstr ""
|
396 |
|
397 |
+
#: ../../Helper/Helper_Abstract_Options.php:892
|
398 |
msgid "RA4 (215 x 305mm)"
|
399 |
msgstr ""
|
400 |
|
401 |
+
#: ../../Helper/Helper_Abstract_Options.php:893
|
402 |
msgid "SRA0 (900 x 1280mm)"
|
403 |
msgstr ""
|
404 |
|
405 |
+
#: ../../Helper/Helper_Abstract_Options.php:894
|
406 |
msgid "SRA1 (640 x 900mm)"
|
407 |
msgstr ""
|
408 |
|
409 |
+
#: ../../Helper/Helper_Abstract_Options.php:895
|
410 |
msgid "SRA2 (450 x 640mm)"
|
411 |
msgstr ""
|
412 |
|
413 |
+
#: ../../Helper/Helper_Abstract_Options.php:896
|
414 |
msgid "SRA3 (320 x 450mm)"
|
415 |
msgstr ""
|
416 |
|
417 |
+
#: ../../Helper/Helper_Abstract_Options.php:897
|
418 |
msgid "SRA4 (225 x 320mm)"
|
419 |
msgstr ""
|
420 |
|
421 |
+
#: ../../Helper/Helper_Abstract_Options.php:913
|
422 |
msgid "Unicode"
|
423 |
msgstr ""
|
424 |
|
425 |
+
#: ../../Helper/Helper_Abstract_Options.php:927
|
426 |
msgid "Indic"
|
427 |
msgstr ""
|
428 |
|
429 |
+
#: ../../Helper/Helper_Abstract_Options.php:932
|
430 |
msgid "Arabic"
|
431 |
msgstr ""
|
432 |
|
433 |
+
#: ../../Helper/Helper_Abstract_Options.php:938
|
434 |
msgid "Chinese, Japanese, Korean"
|
435 |
msgstr ""
|
436 |
|
437 |
+
#: ../../Helper/Helper_Abstract_Options.php:943
|
438 |
msgid "Other"
|
439 |
msgstr ""
|
440 |
|
441 |
+
#: ../../Helper/Helper_Abstract_Options.php:997
|
442 |
msgid "User-Defined Fonts"
|
443 |
msgstr ""
|
444 |
|
445 |
+
#: ../../Helper/Helper_Abstract_Options.php:1054
|
446 |
msgid "Could not find Gravity PDF Font"
|
447 |
msgstr ""
|
448 |
|
449 |
+
#: ../../Helper/Helper_Abstract_Options.php:1066, ../../Helper/Helper_PDF_List_Table.php:295
|
450 |
msgid "Copy"
|
451 |
msgstr ""
|
452 |
|
453 |
+
#: ../../Helper/Helper_Abstract_Options.php:1067
|
454 |
msgid "Print - Low Resolution"
|
455 |
msgstr ""
|
456 |
|
457 |
+
#: ../../Helper/Helper_Abstract_Options.php:1068
|
458 |
msgid "Print - High Resolution"
|
459 |
msgstr ""
|
460 |
|
461 |
+
#: ../../Helper/Helper_Abstract_Options.php:1069
|
462 |
msgid "Modify"
|
463 |
msgstr ""
|
464 |
|
465 |
+
#: ../../Helper/Helper_Abstract_Options.php:1070
|
466 |
msgid "Annotate"
|
467 |
msgstr ""
|
468 |
|
469 |
+
#: ../../Helper/Helper_Abstract_Options.php:1071
|
470 |
msgid "Fill Forms"
|
471 |
msgstr ""
|
472 |
|
473 |
+
#: ../../Helper/Helper_Abstract_Options.php:1072
|
474 |
msgid "Extract"
|
475 |
msgstr ""
|
476 |
|
477 |
+
#: ../../Helper/Helper_Abstract_Options.php:1073
|
478 |
msgid "Assemble"
|
479 |
msgstr ""
|
480 |
|
486 |
msgid "PDF Settings could not be saved. Please enter all required information below."
|
487 |
msgstr ""
|
488 |
|
489 |
+
#: ../../Helper/Helper_Abstract_Options.php:1731
|
490 |
+
msgid "%s license key"
|
491 |
msgstr ""
|
492 |
|
493 |
+
#: ../../Helper/Helper_Abstract_Options.php:1749
|
494 |
msgid "Deactivate License"
|
495 |
msgstr ""
|
496 |
|
497 |
+
#: ../../Helper/Helper_Abstract_Options.php:2126, ../../Helper/Helper_Abstract_Options.php:2127
|
498 |
msgid "Select Media"
|
499 |
msgstr ""
|
500 |
|
501 |
+
#: ../../Helper/Helper_Abstract_Options.php:2128
|
502 |
msgid "Upload File"
|
503 |
msgstr ""
|
504 |
|
505 |
+
#: ../../Helper/Helper_Abstract_Options.php:2372
|
506 |
msgid "Width"
|
507 |
msgstr ""
|
508 |
|
509 |
+
#: ../../Helper/Helper_Abstract_Options.php:2384
|
510 |
msgid "Height"
|
511 |
msgstr ""
|
512 |
|
513 |
+
#: ../../Helper/Helper_Abstract_Options.php:2401
|
514 |
msgid "mm"
|
515 |
msgstr ""
|
516 |
|
517 |
+
#: ../../Helper/Helper_Abstract_Options.php:2402
|
518 |
msgid "inches"
|
519 |
msgstr ""
|
520 |
|
521 |
+
#: ../../Helper/Helper_Abstract_Options.php:2470
|
522 |
msgid "The callback used for the %s setting is missing."
|
523 |
msgstr ""
|
524 |
|
525 |
+
#: ../../Helper/Helper_Abstract_View.php:105
|
526 |
+
msgid "%s is an invalid filename"
|
527 |
+
msgstr ""
|
528 |
+
|
529 |
+
#: ../../Helper/Helper_Abstract_View.php:129
|
530 |
msgid "Cannot find file %s"
|
531 |
msgstr ""
|
532 |
|
533 |
+
#: ../../Helper/Helper_Data.php:143, ../../Model/Model_Mergetags.php:125
|
534 |
msgid "PDF"
|
535 |
msgstr ""
|
536 |
|
537 |
+
#: ../../Helper/Helper_Data.php:144
|
538 |
msgid "Gravity PDF"
|
539 |
msgstr ""
|
540 |
|
541 |
+
#: ../../Helper/Helper_Data.php:171
|
542 |
msgid "Your license key expired on %s."
|
543 |
msgstr ""
|
544 |
|
545 |
+
#: ../../Helper/Helper_Data.php:172
|
546 |
msgid "Your license key has been disabled"
|
547 |
msgstr ""
|
548 |
|
549 |
+
#: ../../Helper/Helper_Data.php:173
|
550 |
msgid "Invalid license key provided"
|
551 |
msgstr ""
|
552 |
|
553 |
+
#: ../../Helper/Helper_Data.php:174, ../../Helper/Helper_Data.php:175
|
554 |
msgid "Your license is not active for this URL"
|
555 |
msgstr ""
|
556 |
|
557 |
+
#: ../../Helper/Helper_Data.php:176
|
558 |
msgid "This appears to be an invalid license key for %s"
|
559 |
msgstr ""
|
560 |
|
561 |
+
#: ../../Helper/Helper_Data.php:177
|
562 |
msgid "Your license key has reached its activation limit"
|
563 |
msgstr ""
|
564 |
|
565 |
+
#: ../../Helper/Helper_Data.php:178
|
566 |
msgid "An error occurred, please try again"
|
567 |
msgstr ""
|
568 |
|
569 |
+
#: ../../Helper/Helper_Data.php:179
|
570 |
msgid "An error occurred during activation, please try again"
|
571 |
msgstr ""
|
572 |
|
573 |
+
#: ../../Helper/Helper_Data.php:217
|
574 |
msgid "Loading..."
|
575 |
msgstr ""
|
576 |
|
577 |
+
#: ../../Helper/Helper_Data.php:218
|
578 |
msgid "Continue"
|
579 |
msgstr ""
|
580 |
|
581 |
+
#: ../../Helper/Helper_Data.php:219
|
582 |
msgid "Uninstall"
|
583 |
msgstr ""
|
584 |
|
585 |
+
#: ../../Helper/Helper_Data.php:220
|
586 |
msgid "Cancel"
|
587 |
msgstr ""
|
588 |
|
589 |
+
#: ../../Helper/Helper_Data.php:221, ../../Helper/Helper_PDF_List_Table.php:361
|
590 |
msgid "Delete"
|
591 |
msgstr ""
|
592 |
|
593 |
+
#: ../../Helper/Helper_Data.php:222, ../../Helper/Helper_PDF_List_Table.php:220, ../../Model/Model_Form_Settings.php:923
|
594 |
msgid "Active"
|
595 |
msgstr ""
|
596 |
|
597 |
+
#: ../../Helper/Helper_Data.php:223, ../../Helper/Helper_PDF_List_Table.php:223, ../../Model/Model_Form_Settings.php:873, ../../Model/Model_Form_Settings.php:923
|
598 |
msgid "Inactive"
|
599 |
msgstr ""
|
600 |
|
601 |
+
#: ../../Helper/Helper_Data.php:224
|
602 |
msgid "this PDF if"
|
603 |
msgstr ""
|
604 |
|
605 |
+
#: ../../Helper/Helper_Data.php:225
|
606 |
msgid "Enable"
|
607 |
msgstr ""
|
608 |
|
609 |
+
#: ../../Helper/Helper_Data.php:226
|
610 |
msgid "Disable"
|
611 |
msgstr ""
|
612 |
|
613 |
+
#: ../../Helper/Helper_Data.php:227
|
614 |
msgid "Successfully Updated"
|
615 |
msgstr ""
|
616 |
|
617 |
+
#: ../../Helper/Helper_Data.php:228
|
618 |
msgid "Successfully Deleted"
|
619 |
msgstr ""
|
620 |
|
621 |
+
#: ../../Helper/Helper_Data.php:229
|
622 |
msgid "No"
|
623 |
msgstr ""
|
624 |
|
625 |
+
#: ../../Helper/Helper_Data.php:230
|
626 |
msgid "Yes"
|
627 |
msgstr ""
|
628 |
|
629 |
+
#: ../../Helper/Helper_Data.php:231
|
630 |
msgid "Standard"
|
631 |
msgstr ""
|
632 |
|
633 |
+
#: ../../Helper/Helper_Data.php:232, ../../View/View_Form_Settings.php:78
|
634 |
msgid "Advanced"
|
635 |
msgstr ""
|
636 |
|
637 |
+
#: ../../Helper/Helper_Data.php:233
|
638 |
msgid "Manage"
|
639 |
msgstr ""
|
640 |
|
641 |
+
#: ../../Helper/Helper_Data.php:234
|
642 |
msgid "Details"
|
643 |
msgstr ""
|
644 |
|
645 |
+
#: ../../Helper/Helper_Data.php:235
|
646 |
msgid "Select"
|
647 |
msgstr ""
|
648 |
|
649 |
+
#: ../../Helper/Helper_Data.php:236
|
650 |
msgid "Version"
|
651 |
msgstr ""
|
652 |
|
653 |
+
#: ../../Helper/Helper_Data.php:237
|
654 |
msgid "Group"
|
655 |
msgstr ""
|
656 |
|
657 |
+
#: ../../Helper/Helper_Data.php:238
|
658 |
msgid "Tags"
|
659 |
msgstr ""
|
660 |
|
661 |
+
#: ../../Helper/Helper_Data.php:240, ../../Helper/Helper_Options_Fields.php:254, ../../Helper/Helper_PDF_List_Table.php:97, ../../View/View_Form_Settings.php:66
|
662 |
msgid "Template"
|
663 |
msgstr ""
|
664 |
|
665 |
+
#: ../../Helper/Helper_Data.php:241
|
666 |
msgid "Manage PDF Templates"
|
667 |
msgstr ""
|
668 |
|
669 |
+
#: ../../Helper/Helper_Data.php:242
|
670 |
msgid "Add New Template"
|
671 |
msgstr ""
|
672 |
|
673 |
+
#: ../../Helper/Helper_Data.php:243
|
674 |
msgid "This form doesn't have any PDFs."
|
675 |
msgstr ""
|
676 |
|
677 |
+
#: ../../Helper/Helper_Data.php:244
|
678 |
msgid "Let's go create one"
|
679 |
msgstr ""
|
680 |
|
681 |
+
#: ../../Helper/Helper_Data.php:245
|
682 |
msgid "Installed PDFs"
|
683 |
msgstr ""
|
684 |
|
685 |
+
#: ../../Helper/Helper_Data.php:246
|
686 |
msgid "Search Installed Templates"
|
687 |
msgstr ""
|
688 |
|
689 |
+
#: ../../Helper/Helper_Data.php:248
|
690 |
msgid "Search the Gravity PDF Knowledgebase..."
|
691 |
msgstr ""
|
692 |
|
693 |
+
#: ../../Helper/Helper_Data.php:249
|
694 |
msgid "Gravity PDF Documentation"
|
695 |
msgstr ""
|
696 |
|
697 |
+
#: ../../Helper/Helper_Data.php:250
|
698 |
msgid "It doesn't look like there are any topics related to your issue."
|
699 |
msgstr ""
|
700 |
|
701 |
+
#: ../../Helper/Helper_Data.php:251
|
702 |
msgid "An error occurred. Please try again"
|
703 |
msgstr ""
|
704 |
|
705 |
+
#: ../../Helper/Helper_Data.php:253
|
706 |
msgid "Requires Gravity PDF v%s"
|
707 |
msgstr ""
|
708 |
|
709 |
+
#: ../../Helper/Helper_Data.php:254
|
710 |
msgid "This PDF template is not compatible with your version of Gravity PDF. This template required Gravity PDF v%s."
|
711 |
msgstr ""
|
712 |
|
713 |
+
#: ../../Helper/Helper_Data.php:255
|
714 |
msgid "Template Details"
|
715 |
msgstr ""
|
716 |
|
717 |
+
#: ../../Helper/Helper_Data.php:256
|
718 |
msgid "Current Template"
|
719 |
msgstr ""
|
720 |
|
721 |
+
#: ../../Helper/Helper_Data.php:257
|
722 |
msgid "Show previous template"
|
723 |
msgstr ""
|
724 |
|
725 |
+
#: ../../Helper/Helper_Data.php:258
|
726 |
msgid "Show next template"
|
727 |
msgstr ""
|
728 |
|
729 |
+
#: ../../Helper/Helper_Data.php:259
|
730 |
msgid "Upload is not a valid template. Upload a .zip file."
|
731 |
msgstr ""
|
732 |
|
733 |
+
#: ../../Helper/Helper_Data.php:260
|
734 |
msgid "Upload exceeds the 10MB limit."
|
735 |
msgstr ""
|
736 |
|
737 |
+
#: ../../Helper/Helper_Data.php:261
|
738 |
msgid "Template successfully installed"
|
739 |
msgstr ""
|
740 |
|
741 |
+
#: ../../Helper/Helper_Data.php:262
|
742 |
msgid "Template successfully updated"
|
743 |
msgstr ""
|
744 |
|
745 |
+
#: ../../Helper/Helper_Data.php:263
|
746 |
msgid "PDF Template(s) Successfully Installed / Updated"
|
747 |
msgstr ""
|
748 |
|
749 |
+
#: ../../Helper/Helper_Data.php:264
|
750 |
msgid "There was a problem with the upload. Reload the page and try again."
|
751 |
msgstr ""
|
752 |
|
753 |
+
#: ../../Helper/Helper_Data.php:265
|
754 |
msgid "Do you really want to delete this PDF template?%sClick 'Cancel' to go back, 'OK' to confirm the delete."
|
755 |
msgstr ""
|
756 |
|
757 |
+
#: ../../Helper/Helper_Data.php:266
|
758 |
msgid "Could not delete template."
|
759 |
msgstr ""
|
760 |
|
761 |
+
#: ../../Helper/Helper_Data.php:267
|
762 |
msgid "If you have a PDF template in .zip format you may install it here. You can also update an existing PDF template (this will override any changes you have made)."
|
763 |
msgstr ""
|
764 |
|
765 |
+
#: ../../Helper/Helper_Data.php:269
|
766 |
msgid "ALL CORE FONTS SUCCESSFULLY INSTALLED"
|
767 |
msgstr ""
|
768 |
|
769 |
+
#: ../../Helper/Helper_Data.php:270
|
770 |
msgid "%s CORE FONT(S) DID NOT INSTALL CORRECTLY"
|
771 |
msgstr ""
|
772 |
|
773 |
+
#: ../../Helper/Helper_Data.php:271
|
774 |
msgid "Could not download Core Font list. Try again."
|
775 |
msgstr ""
|
776 |
|
777 |
+
#: ../../Helper/Helper_Data.php:272
|
778 |
msgid "Downloading %s..."
|
779 |
msgstr ""
|
780 |
|
781 |
+
#: ../../Helper/Helper_Data.php:273
|
782 |
msgid "Completed installation of %s"
|
783 |
msgstr ""
|
784 |
|
785 |
+
#: ../../Helper/Helper_Data.php:274
|
786 |
msgid "Failed installation of %s"
|
787 |
msgstr ""
|
788 |
|
789 |
+
#: ../../Helper/Helper_Data.php:275
|
790 |
msgid "Fonts remaining:"
|
791 |
msgstr ""
|
792 |
|
793 |
+
#: ../../Helper/Helper_Data.php:276
|
794 |
msgid "Retry Failed Downloads?"
|
795 |
msgstr ""
|
796 |
|
797 |
+
#: ../../Helper/Helper_Data.php:277
|
798 |
msgid "Core font installation"
|
799 |
msgstr ""
|
800 |
|
801 |
+
#: ../../Helper/Helper_Data.php:280
|
802 |
msgid "Search installed fonts"
|
803 |
msgstr ""
|
804 |
|
805 |
+
#: ../../Helper/Helper_Data.php:281
|
806 |
msgid "Installed Fonts"
|
807 |
msgstr ""
|
808 |
|
809 |
+
#: ../../Helper/Helper_Data.php:282
|
810 |
msgid "Regular"
|
811 |
msgstr ""
|
812 |
|
813 |
+
#: ../../Helper/Helper_Data.php:283
|
814 |
msgid "Regular %1$s(required)%2$s"
|
815 |
msgstr ""
|
816 |
|
817 |
+
#: ../../Helper/Helper_Data.php:284
|
818 |
msgid "Italics"
|
819 |
msgstr ""
|
820 |
|
821 |
+
#: ../../Helper/Helper_Data.php:285
|
822 |
msgid "Bold"
|
823 |
msgstr ""
|
824 |
|
825 |
+
#: ../../Helper/Helper_Data.php:286
|
826 |
msgid "Bold Italics"
|
827 |
msgstr ""
|
828 |
|
829 |
+
#: ../../Helper/Helper_Data.php:287
|
830 |
msgid "Add Font"
|
831 |
msgstr ""
|
832 |
|
833 |
+
#: ../../Helper/Helper_Data.php:288
|
834 |
msgid "Update Font"
|
835 |
msgstr ""
|
836 |
|
837 |
+
#: ../../Helper/Helper_Data.php:289
|
838 |
msgid "Install new fonts for use in your PDF documents."
|
839 |
msgstr ""
|
840 |
|
841 |
+
#: ../../Helper/Helper_Data.php:290
|
842 |
msgid "Once saved, PDFs configured to use this font will have your changes applied automatically for newly-generated documents."
|
843 |
msgstr ""
|
844 |
|
845 |
+
#: ../../Helper/Helper_Data.php:291
|
846 |
msgid "Font Name %1$s(required)%2$s"
|
847 |
msgstr ""
|
848 |
|
849 |
+
#: ../../Helper/Helper_Data.php:292
|
850 |
msgid "The font name can only contain letters, numbers and spaces."
|
851 |
msgstr ""
|
852 |
|
853 |
+
#: ../../Helper/Helper_Data.php:293
|
854 |
msgid "Please choose a name contains letters and/or numbers (and a space if you want it)."
|
855 |
msgstr ""
|
856 |
|
857 |
+
#: ../../Helper/Helper_Data.php:294
|
858 |
msgid "Font Files"
|
859 |
msgstr ""
|
860 |
|
861 |
+
#: ../../Helper/Helper_Data.php:295
|
862 |
msgid "Select or drag and drop your .ttf font file for the variants below. Only the Regular type is required."
|
863 |
msgstr ""
|
864 |
|
865 |
+
#: ../../Helper/Helper_Data.php:296
|
866 |
msgid "Add a .ttf font file."
|
867 |
msgstr ""
|
868 |
|
869 |
+
#: ../../Helper/Helper_Data.php:297
|
870 |
msgid "View template usage"
|
871 |
msgstr ""
|
872 |
|
873 |
+
#: ../../Helper/Helper_Data.php:298
|
874 |
msgid "← Cancel"
|
875 |
msgstr ""
|
876 |
|
877 |
+
#: ../../Helper/Helper_Data.php:299
|
878 |
msgid "Are you sure you want to delete this font?"
|
879 |
msgstr ""
|
880 |
|
881 |
+
#: ../../Helper/Helper_Data.php:300
|
882 |
msgid "Add this snippet %1$sin a custom template%3$s to selectively set the font on blocks of text. If you want to apply the font to the entire PDF, %2$suse the Font setting%3$s when configuring the PDF on the form."
|
883 |
msgstr ""
|
884 |
|
885 |
+
#: ../../Helper/Helper_Data.php:301
|
886 |
msgid "Update font"
|
887 |
msgstr ""
|
888 |
|
889 |
+
#: ../../Helper/Helper_Data.php:302
|
890 |
msgid "Select font"
|
891 |
msgstr ""
|
892 |
|
893 |
+
#: ../../Helper/Helper_Data.php:303
|
894 |
msgid "Delete font"
|
895 |
msgstr ""
|
896 |
|
897 |
+
#: ../../Helper/Helper_Data.php:306
|
898 |
msgid "Font list empty."
|
899 |
msgstr ""
|
900 |
|
901 |
+
#: ../../Helper/Helper_Data.php:307
|
902 |
msgid "No fonts matching your search found."
|
903 |
msgstr ""
|
904 |
|
905 |
+
#: ../../Helper/Helper_Data.php:308
|
906 |
msgid "Clear Search."
|
907 |
msgstr ""
|
908 |
|
909 |
+
#: ../../Helper/Helper_Data.php:309
|
910 |
msgid "Your font has been saved."
|
911 |
msgstr ""
|
912 |
|
913 |
+
#: ../../Helper/Helper_Data.php:310
|
914 |
msgid "%1$sThe action could not be completed.%2$s Resolve the highlighted issues above and then try again."
|
915 |
msgstr ""
|
916 |
|
917 |
+
#: ../../Helper/Helper_Data.php:311
|
918 |
msgid "A problem occurred. Reload the page and try again."
|
919 |
msgstr ""
|
920 |
|
921 |
+
#: ../../Helper/Helper_Data.php:312
|
922 |
msgid "%1$sFont file(s) missing from the server.%2$s Please upload the font(s) again and then save."
|
923 |
msgstr ""
|
924 |
|
925 |
+
#: ../../Helper/Helper_Data.php:313
|
926 |
msgid "%1$sFont file(s) are malformed%2$s and cannot be used with Gravity PDF."
|
927 |
msgstr ""
|
928 |
|
929 |
+
#: ../../Helper/Helper_Data.php:315
|
930 |
msgid "Warning! ALL Gravity PDF data, including templates, will be deleted. This cannot be undone. 'OK' to delete, 'Cancel' to stop."
|
931 |
msgstr ""
|
932 |
|
933 |
+
#: ../../Helper/Helper_Data.php:316
|
934 |
msgid "WARNING: You are about to delete this PDF. 'Cancel' to stop, 'OK' to delete."
|
935 |
msgstr ""
|
936 |
|
937 |
+
#: ../../Helper/Helper_Data.php:319
|
938 |
msgid "Search the Gravity PDF Documentation..."
|
939 |
msgstr ""
|
940 |
|
941 |
+
#: ../../Helper/Helper_Data.php:320
|
942 |
msgid "Submit your search query."
|
943 |
msgstr ""
|
944 |
|
945 |
+
#: ../../Helper/Helper_Data.php:321
|
946 |
msgid "Clear your search query."
|
947 |
msgstr ""
|
948 |
|
1362 |
msgid "The PDF Template %1$s requires Gravity PDF version %2$s. Upgrade to the latest version."
|
1363 |
msgstr ""
|
1364 |
|
1365 |
+
#: ../../Helper/Helper_PDF.php:922
|
1366 |
msgid "This method has been removed because mPDF no longer supports setting the image DPI after the class is initialised."
|
1367 |
msgstr ""
|
1368 |
|
1378 |
msgid "None"
|
1379 |
msgstr ""
|
1380 |
|
1381 |
+
#: ../../Helper/Helper_PDF_List_Table.php:280, ../../View/html/PDF/entry_list_pdf_single.php:25
|
1382 |
msgid "Download PDF"
|
1383 |
msgstr ""
|
1384 |
|
1385 |
+
#: ../../Helper/Helper_PDF_List_Table.php:283
|
1386 |
msgid "Copy the %s PDF shortcode to the clipboard"
|
1387 |
msgstr ""
|
1388 |
|
1389 |
+
#: ../../Helper/Helper_PDF_List_Table.php:302
|
1390 |
msgid "Shortcode copied!"
|
1391 |
msgstr ""
|
1392 |
|
1393 |
+
#: ../../Helper/Helper_PDF_List_Table.php:306
|
1394 |
msgid "Copy Shortcode"
|
1395 |
msgstr ""
|
1396 |
|
1397 |
+
#: ../../Helper/Helper_PDF_List_Table.php:298
|
1398 |
msgid "Copied"
|
1399 |
msgstr ""
|
1400 |
|
1401 |
+
#: ../../Helper/Helper_PDF_List_Table.php:359
|
1402 |
msgid "Edit this PDF"
|
1403 |
msgstr ""
|
1404 |
|
1405 |
+
#: ../../Helper/Helper_PDF_List_Table.php:359
|
1406 |
msgid "Edit"
|
1407 |
msgstr ""
|
1408 |
|
1409 |
+
#: ../../Helper/Helper_PDF_List_Table.php:360
|
1410 |
msgid "Duplicate this PDF"
|
1411 |
msgstr ""
|
1412 |
|
1413 |
+
#: ../../Helper/Helper_PDF_List_Table.php:360
|
1414 |
msgid "Duplicate"
|
1415 |
msgstr ""
|
1416 |
|
1417 |
+
#: ../../Helper/Helper_PDF_List_Table.php:361
|
1418 |
msgid "Delete this PDF"
|
1419 |
msgstr ""
|
1420 |
|
1421 |
+
#: ../../Helper/Helper_PDF_List_Table.php:369
|
1422 |
msgid "%s PDF"
|
1423 |
msgstr ""
|
1424 |
|
1425 |
+
#: ../../Helper/Helper_PDF_List_Table.php:399
|
1426 |
msgid "This form doesn't have any PDFs. Let's go %1$screate one%2$s."
|
1427 |
msgstr ""
|
1428 |
|
1442 |
msgid "Add PDF"
|
1443 |
msgstr ""
|
1444 |
|
1445 |
+
#: ../../Model/Model_Form_Settings.php:328, ../../Model/Model_Form_Settings.php:350, ../../Model/Model_Form_Settings.php:399, ../../Model/Model_Form_Settings.php:507
|
1446 |
msgid "There was a problem saving your PDF settings. Please try again."
|
1447 |
msgstr ""
|
1448 |
|
1449 |
+
#: ../../Model/Model_Form_Settings.php:371
|
1450 |
msgid "PDF could not be saved. Please enter all required information below."
|
1451 |
msgstr ""
|
1452 |
|
1453 |
+
#: ../../Model/Model_Form_Settings.php:393
|
1454 |
msgid "PDF saved successfully. %1$sBack to PDF list.%2$s"
|
1455 |
msgstr ""
|
1456 |
|
1457 |
+
#: ../../Model/Model_Form_Settings.php:804
|
1458 |
msgid "PDF successfully deleted."
|
1459 |
msgstr ""
|
1460 |
|
1461 |
+
#: ../../Model/Model_Form_Settings.php:867
|
1462 |
msgid "PDF successfully duplicated."
|
1463 |
msgstr ""
|
1464 |
|
1486 |
msgid "PDF URLs"
|
1487 |
msgstr ""
|
1488 |
|
1489 |
+
#: ../../Model/Model_PDF.php:366
|
1490 |
msgid "The PDF configuration is not currently active."
|
1491 |
msgstr ""
|
1492 |
|
1493 |
+
#: ../../Model/Model_PDF.php:388
|
1494 |
msgid "PDF conditional logic requirements have not been met."
|
1495 |
msgstr ""
|
1496 |
|
1497 |
+
#: ../../Model/Model_PDF.php:466
|
1498 |
msgid "Your PDF is no longer accessible."
|
1499 |
msgstr ""
|
1500 |
|
1501 |
+
#: ../../Model/Model_PDF.php:567, ../../Model/Model_PDF.php:607
|
1502 |
msgid "You do not have access to view this PDF."
|
1503 |
msgstr ""
|
1504 |
|
1505 |
+
#: ../../Model/Model_PDF.php:866
|
1506 |
msgid "PDFs"
|
1507 |
msgstr ""
|
1508 |
|
1509 |
+
#: ../../Model/Model_PDF.php:1003
|
1510 |
msgid "The PDF could not be saved."
|
1511 |
msgstr ""
|
1512 |
|
1513 |
+
#: ../../Model/Model_PDF.php:2012
|
1514 |
msgid "Could not find PDF configuration requested"
|
1515 |
msgstr ""
|
1516 |
|
1517 |
+
#: ../../Model/Model_Settings.php:413
|
1518 |
msgid "License deactivated."
|
1519 |
msgstr ""
|
1520 |
|
1521 |
+
#: ../../Model/Model_Settings.php:435
|
1522 |
msgid "An error occurred during deactivation, please try again"
|
1523 |
msgstr ""
|
1524 |
|
1606 |
msgid "minute(s)"
|
1607 |
msgstr ""
|
1608 |
|
1609 |
+
#: ../../Model/Model_Templates.php:367
|
1610 |
msgid "No valid PDF template found in Zip archive."
|
1611 |
msgstr ""
|
1612 |
|
1613 |
+
#: ../../Model/Model_Templates.php:396
|
1614 |
msgid "The PHP file %s is not a valid PDF Template."
|
1615 |
msgstr ""
|
1616 |
|
1638 |
msgid "Zadani"
|
1639 |
msgstr ""
|
1640 |
|
1641 |
+
#: ../../View/View_Form_Settings.php:42
|
1642 |
msgid "General"
|
1643 |
msgstr ""
|
1644 |
|
1646 |
msgid "Appearance"
|
1647 |
msgstr ""
|
1648 |
|
1649 |
+
#: ../../View/View_Settings.php:178
|
1650 |
msgid "Tools"
|
1651 |
msgstr ""
|
1652 |
|
1653 |
+
#: ../../View/View_Settings.php:183
|
1654 |
msgid "Help"
|
1655 |
msgstr ""
|
1656 |
|
1657 |
+
#: ../../View/View_Settings.php:191
|
1658 |
msgid "License"
|
1659 |
msgstr ""
|
1660 |
|
1661 |
+
#: ../../View/View_Settings.php:233
|
1662 |
msgid "Default PDF Options"
|
1663 |
msgstr ""
|
1664 |
|
1665 |
+
#: ../../View/View_Settings.php:234
|
1666 |
msgid "Control the default settings to use when you create new PDFs on your forms."
|
1667 |
msgstr ""
|
1668 |
|
1669 |
+
#: ../../View/View_Settings.php:258
|
1670 |
msgid "Security"
|
1671 |
msgstr ""
|
1672 |
|
1673 |
+
#: ../../View/View_Settings.php:291
|
1674 |
msgid "Licensing"
|
1675 |
msgstr ""
|
1676 |
|
1677 |
+
#: ../../View/View_Settings.php:414
|
1678 |
msgid "PDF Download Link"
|
1679 |
msgstr ""
|
1680 |
|
1681 |
+
#: ../../View/View_Settings.php:414
|
1682 |
msgid "Include the [gravitypdf] shortcode in the form's Confirmation or Notification settings to display a PDF download link. %1$sGet more info%2$s."
|
1683 |
msgstr ""
|
1684 |
|
1714 |
msgid "Learn how to update"
|
1715 |
msgstr ""
|
1716 |
|
1717 |
+
#: ../../Helper/Fields/Field_Consent.php:137
|
1718 |
msgid "Consent not given."
|
1719 |
msgstr ""
|
1720 |
|
1726 |
msgid "Shipping (%s)"
|
1727 |
msgstr ""
|
1728 |
|
1729 |
+
#: ../../Helper/Fields/Field_Tos.php:101
|
1730 |
msgid "Not accepted"
|
1731 |
msgstr ""
|
1732 |
|
1802 |
msgid "Before you can generate a PDF using Gravity Forms, the core fonts need to be saved to your server. This only needs to be done once."
|
1803 |
msgstr ""
|
1804 |
|
1805 |
+
#: ../../View/html/FormSettings/add_edit.php:61, ../../View/html/Settings/general.php:50
|
1806 |
msgid "Want more features? Take a look at our addons."
|
1807 |
msgstr ""
|
1808 |
|
1810 |
msgid "Add new PDF"
|
1811 |
msgstr ""
|
1812 |
|
1813 |
+
#: ../../View/html/GravityForms/fieldset.php:67
|
1814 |
msgid "Toggle %s Section"
|
1815 |
msgstr ""
|
1816 |
|
1826 |
msgid "View PDFs"
|
1827 |
msgstr ""
|
1828 |
|
1829 |
+
#: ../../View/html/PDF/entry_list_pdf_single.php:25
|
1830 |
msgid "View PDF"
|
1831 |
msgstr ""
|
1832 |
|
src/autoload.php
CHANGED
@@ -11,8 +11,8 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
11 |
exit;
|
12 |
}
|
13 |
|
14 |
-
require_once
|
15 |
-
require_once
|
16 |
-
require_once
|
17 |
|
18 |
-
require_once
|
11 |
exit;
|
12 |
}
|
13 |
|
14 |
+
require_once PDF_PLUGIN_DIR . 'vendor/autoload.php';
|
15 |
+
require_once PDF_PLUGIN_DIR . 'src/deprecated.php';
|
16 |
+
require_once PDF_PLUGIN_DIR . 'api.php';
|
17 |
|
18 |
+
require_once PDF_PLUGIN_DIR . 'vendor_prefixed/querypath/querypath/src/qp_functions.php';
|
src/bootstrap.php
CHANGED
@@ -37,7 +37,7 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
37 |
/*
|
38 |
* Load dependencies
|
39 |
*/
|
40 |
-
require_once
|
41 |
|
42 |
/**
|
43 |
* @since 4.0
|
@@ -131,7 +131,7 @@ class Router implements Helper\Helper_Interface_Actions, Helper\Helper_Interface
|
|
131 |
* @since 4.0
|
132 |
*/
|
133 |
public function __call( $name, $arguments ) {
|
134 |
-
|
135 |
}
|
136 |
|
137 |
/**
|
@@ -143,7 +143,7 @@ class Router implements Helper\Helper_Interface_Actions, Helper\Helper_Interface
|
|
143 |
* @since 4.0
|
144 |
*/
|
145 |
public static function __callStatic( $name, $arguments ) {
|
146 |
-
|
147 |
}
|
148 |
|
149 |
/**
|
@@ -400,10 +400,10 @@ class Router implements Helper\Helper_Interface_Actions, Helper\Helper_Interface
|
|
400 |
'wp-color-picker',
|
401 |
];
|
402 |
|
403 |
-
wp_register_script( 'gfpdf_js_settings', PDF_PLUGIN_URL . 'dist/assets/js/admin.min.js', $pdf_settings_dependencies, $version );
|
404 |
|
405 |
-
wp_register_script( 'gfpdf_js_entrypoint', PDF_PLUGIN_URL . 'dist/assets/js/app.bundle.min.js', [ 'jquery' ], $version );
|
406 |
-
wp_register_script( 'gfpdf_js_entries', PDF_PLUGIN_URL . 'dist/assets/js/gfpdf-entries.min.js', [ 'jquery' ], $version );
|
407 |
|
408 |
/* Localise admin script */
|
409 |
wp_localize_script( 'gfpdf_js_entrypoint', 'GFPDF', $this->data->get_localised_script_data( $this->options, $this->gform ) );
|
@@ -871,7 +871,7 @@ class Router implements Helper\Helper_Interface_Actions, Helper\Helper_Interface
|
|
871 |
*/
|
872 |
public function check_system_status() {
|
873 |
$view = new View\View_System_Report();
|
874 |
-
$model = new Model\Model_System_Report( $this->options, $this->data, $this->log, $this->misc, new GFPDF_Major_Compatibility_Checks, $this->templates );
|
875 |
$class = new Controller\Controller_System_Report( $model, $view );
|
876 |
$class->init();
|
877 |
|
37 |
/*
|
38 |
* Load dependencies
|
39 |
*/
|
40 |
+
require_once PDF_PLUGIN_DIR . 'src/autoload.php';
|
41 |
|
42 |
/**
|
43 |
* @since 4.0
|
131 |
* @since 4.0
|
132 |
*/
|
133 |
public function __call( $name, $arguments ) {
|
134 |
+
_doing_it_wrong( esc_html( $name ), esc_html( sprintf( __( '"%s" has been deprecated as of Gravity PDF 4.0', 'gravity-forms-pdf-extended' ), $name ) ), '4.0' );
|
135 |
}
|
136 |
|
137 |
/**
|
143 |
* @since 4.0
|
144 |
*/
|
145 |
public static function __callStatic( $name, $arguments ) {
|
146 |
+
_doing_it_wrong( esc_html( $name ), esc_html( sprintf( __( '"%s" has been deprecated as of Gravity PDF 4.0', 'gravity-forms-pdf-extended' ), $name ) ), '4.0' );
|
147 |
}
|
148 |
|
149 |
/**
|
400 |
'wp-color-picker',
|
401 |
];
|
402 |
|
403 |
+
wp_register_script( 'gfpdf_js_settings', PDF_PLUGIN_URL . 'dist/assets/js/admin.min.js', $pdf_settings_dependencies, $version, true );
|
404 |
|
405 |
+
wp_register_script( 'gfpdf_js_entrypoint', PDF_PLUGIN_URL . 'dist/assets/js/app.bundle.min.js', [ 'jquery' ], $version, true );
|
406 |
+
wp_register_script( 'gfpdf_js_entries', PDF_PLUGIN_URL . 'dist/assets/js/gfpdf-entries.min.js', [ 'jquery' ], $version, true );
|
407 |
|
408 |
/* Localise admin script */
|
409 |
wp_localize_script( 'gfpdf_js_entrypoint', 'GFPDF', $this->data->get_localised_script_data( $this->options, $this->gform ) );
|
871 |
*/
|
872 |
public function check_system_status() {
|
873 |
$view = new View\View_System_Report();
|
874 |
+
$model = new Model\Model_System_Report( $this->options, $this->data, $this->log, $this->misc, new GFPDF_Major_Compatibility_Checks(), $this->templates );
|
875 |
$class = new Controller\Controller_System_Report( $model, $view );
|
876 |
$class->init();
|
877 |
|
src/deprecated.php
CHANGED
@@ -4,11 +4,14 @@
|
|
4 |
|
5 |
use GFPDF\Helper\Fields\Field_V3_Products;
|
6 |
use GFPDF\Helper\Helper_Mpdf;
|
|
|
7 |
use GFPDF_Vendor\Mpdf\Config\FontVariables;
|
8 |
use GFPDF_Vendor\Mpdf\MpdfException;
|
9 |
|
10 |
/*
|
11 |
* Deprecated Functionality / Classes
|
|
|
|
|
12 |
*/
|
13 |
|
14 |
/**
|
@@ -39,7 +42,7 @@ abstract class GFPDF_Deprecated_Abstract {
|
|
39 |
*
|
40 |
*/
|
41 |
public function __call( $name, $arguments ) {
|
42 |
-
|
43 |
}
|
44 |
|
45 |
/**
|
@@ -52,7 +55,7 @@ abstract class GFPDF_Deprecated_Abstract {
|
|
52 |
*
|
53 |
*/
|
54 |
public static function __callStatic( $name, $arguments ) {
|
55 |
-
|
56 |
}
|
57 |
}
|
58 |
|
@@ -236,14 +239,8 @@ class PDF_Common extends GFPDF_Deprecated_Abstract {
|
|
236 |
* @since 4.0
|
237 |
*/
|
238 |
public static function view_data( $form_data ) {
|
239 |
-
$
|
240 |
-
|
241 |
-
if ( isset( $_GET['data'] ) && $gform->has_capability( 'gravityforms_view_settings' ) ) {
|
242 |
-
print '<pre>';
|
243 |
-
print_r( $form_data );
|
244 |
-
print '</pre>';
|
245 |
-
exit;
|
246 |
-
}
|
247 |
}
|
248 |
|
249 |
/**
|
@@ -256,7 +253,9 @@ class PDF_Common extends GFPDF_Deprecated_Abstract {
|
|
256 |
* @since 3.0
|
257 |
*/
|
258 |
public static function post( $name ) {
|
|
|
259 |
if ( isset( $_POST[ $name ] ) ) {
|
|
|
260 |
return $_POST[ $name ];
|
261 |
}
|
262 |
|
@@ -273,7 +272,9 @@ class PDF_Common extends GFPDF_Deprecated_Abstract {
|
|
273 |
* @since 3.0
|
274 |
*/
|
275 |
public static function get( $name ) {
|
|
|
276 |
if ( isset( $_GET[ $name ] ) ) {
|
|
|
277 |
return $_GET[ $name ];
|
278 |
}
|
279 |
|
@@ -407,11 +408,11 @@ class GFPDFEntryDetail extends GFPDF_Deprecated_Abstract {
|
|
407 |
|
408 |
/* Output the form title */
|
409 |
if ( isset( $config['return'] ) && $config['return'] ) {
|
410 |
-
$results['title'] = '<h2 id="details" class="default">' . $form['title'] . '</h2>';
|
411 |
} else {
|
412 |
?>
|
413 |
<div id='container'>
|
414 |
-
<h2 id='details' class='default'
|
415 |
<?php
|
416 |
}
|
417 |
|
@@ -432,11 +433,11 @@ class GFPDFEntryDetail extends GFPDF_Deprecated_Abstract {
|
|
432 |
/* Check if we should display the page names */
|
433 |
if ( $config['page_names'] === true && (int) $field->pageNumber !== $page_number && isset( $form['pagination']['pages'][ $page_number ] ) ) {
|
434 |
if ( isset( $config['return'] ) && $config['return'] ) {
|
435 |
-
$results['field'][] = '<h2 id="field-' . $field->id . '" class="default entry-view-page-break">' . $form['pagination']['pages'][ $page_number ] . '</h2>';
|
436 |
} else {
|
437 |
?>
|
438 |
-
<h2 id="field
|
439 |
-
class="default entry-view-page-break"
|
440 |
<?php
|
441 |
}
|
442 |
$page_number++;
|
@@ -451,7 +452,7 @@ class GFPDFEntryDetail extends GFPDF_Deprecated_Abstract {
|
|
451 |
continue;
|
452 |
}
|
453 |
|
454 |
-
|
455 |
$class = $model->get_field_class( $field, $form, $lead, $products );
|
456 |
|
457 |
self::load_legacy_css( $field );
|
@@ -460,12 +461,12 @@ class GFPDFEntryDetail extends GFPDF_Deprecated_Abstract {
|
|
460 |
if ( $input === 'html' ) {
|
461 |
|
462 |
if ( $config['html_field'] === true ) {
|
463 |
-
$html = $class->html();
|
464 |
|
465 |
if ( isset( $config['return'] ) && $config['return'] ) {
|
466 |
-
$results['field'][] = $html;
|
467 |
} else {
|
468 |
-
|
|
|
469 |
}
|
470 |
}
|
471 |
|
@@ -474,25 +475,22 @@ class GFPDFEntryDetail extends GFPDF_Deprecated_Abstract {
|
|
474 |
|
475 |
/* Only load our HTML if the field is NOT empty, or the 'empty_field' config option is true */
|
476 |
if ( $config['empty_field'] === true || ! $class->is_empty() ) {
|
477 |
-
|
478 |
-
$html = ( $field->type !== 'section' ) ? $class->html() : $class->html( $config['section_content'] );
|
479 |
-
|
480 |
if ( isset( $config['return'] ) && $config['return'] ) {
|
481 |
-
$results['field'][] = $html;
|
482 |
} else {
|
483 |
-
|
|
|
484 |
}
|
485 |
}
|
486 |
}
|
487 |
|
488 |
/* Output product table, if needed */
|
489 |
if ( $has_products && ! $products->is_empty() ) {
|
490 |
-
$products = $products->html();
|
491 |
-
|
492 |
if ( $config['return'] ) {
|
493 |
-
$results['field'][] = $products;
|
494 |
} else {
|
495 |
-
|
|
|
496 |
}
|
497 |
}
|
498 |
|
@@ -521,10 +519,10 @@ class GFPDFEntryDetail extends GFPDF_Deprecated_Abstract {
|
|
521 |
*/
|
522 |
public static function legacy_html_format( $html, $value, $show_label, $label, $field ) {
|
523 |
|
524 |
-
$html = '<div id="field-' . $field->id . '" class="' . $field->cssClass . '">';
|
525 |
|
526 |
if ( $show_label ) {
|
527 |
-
$html .= '<div class="strong">' . $label . '</div>';
|
528 |
}
|
529 |
|
530 |
/* If the field value is empty we'll add a non-breaking space to act like a character and maintain proper layout */
|
@@ -532,7 +530,7 @@ class GFPDFEntryDetail extends GFPDF_Deprecated_Abstract {
|
|
532 |
$value = ' ';
|
533 |
}
|
534 |
|
535 |
-
$html .= '<div class="value">' . $value . '</div>'
|
536 |
. '</div>';
|
537 |
|
538 |
return $html;
|
@@ -584,7 +582,7 @@ class GFPDFEntryDetail extends GFPDF_Deprecated_Abstract {
|
|
584 |
}
|
585 |
|
586 |
/* Add odd / even rows */
|
587 |
-
$field->cssClass = ( $counter
|
588 |
|
589 |
switch ( $field->type ) {
|
590 |
case 'html':
|
@@ -601,6 +599,8 @@ class GFPDFEntryDetail extends GFPDF_Deprecated_Abstract {
|
|
601 |
}
|
602 |
|
603 |
$field->cssClass .= ' gfpdf-field-processed';
|
|
|
|
|
604 |
}
|
605 |
|
606 |
/**
|
4 |
|
5 |
use GFPDF\Helper\Fields\Field_V3_Products;
|
6 |
use GFPDF\Helper\Helper_Mpdf;
|
7 |
+
use GFPDF\Statics\Kses;
|
8 |
use GFPDF_Vendor\Mpdf\Config\FontVariables;
|
9 |
use GFPDF_Vendor\Mpdf\MpdfException;
|
10 |
|
11 |
/*
|
12 |
* Deprecated Functionality / Classes
|
13 |
+
*
|
14 |
+
* @phpcs:disable Generic.Files.OneObjectStructurePerFile.MultipleFound
|
15 |
*/
|
16 |
|
17 |
/**
|
42 |
*
|
43 |
*/
|
44 |
public function __call( $name, $arguments ) {
|
45 |
+
_doing_it_wrong( esc_html( $name ), esc_html( sprintf( __( '"%s" has been deprecated as of Gravity PDF 4.0', 'gravity-forms-pdf-extended' ), $name ) ), '4.0' );
|
46 |
}
|
47 |
|
48 |
/**
|
55 |
*
|
56 |
*/
|
57 |
public static function __callStatic( $name, $arguments ) {
|
58 |
+
_doing_it_wrong( esc_html( $name ), esc_html( sprintf( __( '"%s" has been deprecated as of Gravity PDF 4.0', 'gravity-forms-pdf-extended' ), $name ) ), '4.0' );
|
59 |
}
|
60 |
}
|
61 |
|
239 |
* @since 4.0
|
240 |
*/
|
241 |
public static function view_data( $form_data ) {
|
242 |
+
$pdf_view = \GPDFAPI::get_pdf_class();
|
243 |
+
$pdf_view->maybe_view_form_data( $form_data );
|
|
|
|
|
|
|
|
|
|
|
|
|
244 |
}
|
245 |
|
246 |
/**
|
253 |
* @since 3.0
|
254 |
*/
|
255 |
public static function post( $name ) {
|
256 |
+
/* phpcs:ignore WordPress.Security.NonceVerification.Missing */
|
257 |
if ( isset( $_POST[ $name ] ) ) {
|
258 |
+
/* phpcs:ignore WordPress.Security.NonceVerification.Missing */
|
259 |
return $_POST[ $name ];
|
260 |
}
|
261 |
|
272 |
* @since 3.0
|
273 |
*/
|
274 |
public static function get( $name ) {
|
275 |
+
/* phpcs:ignore WordPress.Security.NonceVerification.Recommended */
|
276 |
if ( isset( $_GET[ $name ] ) ) {
|
277 |
+
/* phpcs:ignore WordPress.Security.NonceVerification.Recommended */
|
278 |
return $_GET[ $name ];
|
279 |
}
|
280 |
|
408 |
|
409 |
/* Output the form title */
|
410 |
if ( isset( $config['return'] ) && $config['return'] ) {
|
411 |
+
$results['title'] = '<h2 id="details" class="default">' . esc_html( $form['title'] ) . '</h2>';
|
412 |
} else {
|
413 |
?>
|
414 |
<div id='container'>
|
415 |
+
<h2 id='details' class='default'><?php echo esc_html( $form['title'] ); ?></h2>
|
416 |
<?php
|
417 |
}
|
418 |
|
433 |
/* Check if we should display the page names */
|
434 |
if ( $config['page_names'] === true && (int) $field->pageNumber !== $page_number && isset( $form['pagination']['pages'][ $page_number ] ) ) {
|
435 |
if ( isset( $config['return'] ) && $config['return'] ) {
|
436 |
+
$results['field'][] = '<h2 id="field-' . esc_attr( $field->id ) . '" class="default entry-view-page-break">' . esc_html( $form['pagination']['pages'][ $page_number ] ) . '</h2>';
|
437 |
} else {
|
438 |
?>
|
439 |
+
<h2 id="field-<?php echo esc_attr( $field->id ); ?>"
|
440 |
+
class="default entry-view-page-break"><?php echo esc_attr( $form['pagination']['pages'][ $page_number ] ); ?></h2>
|
441 |
<?php
|
442 |
}
|
443 |
$page_number++;
|
452 |
continue;
|
453 |
}
|
454 |
|
455 |
+
/** @var \GFPDF\Helper\Helper_Abstract_Fields $class */
|
456 |
$class = $model->get_field_class( $field, $form, $lead, $products );
|
457 |
|
458 |
self::load_legacy_css( $field );
|
461 |
if ( $input === 'html' ) {
|
462 |
|
463 |
if ( $config['html_field'] === true ) {
|
|
|
464 |
|
465 |
if ( isset( $config['return'] ) && $config['return'] ) {
|
466 |
+
$results['field'][] = $class->html();
|
467 |
} else {
|
468 |
+
$class->enable_output();
|
469 |
+
$class->html();
|
470 |
}
|
471 |
}
|
472 |
|
475 |
|
476 |
/* Only load our HTML if the field is NOT empty, or the 'empty_field' config option is true */
|
477 |
if ( $config['empty_field'] === true || ! $class->is_empty() ) {
|
|
|
|
|
|
|
478 |
if ( isset( $config['return'] ) && $config['return'] ) {
|
479 |
+
$results['field'][] = $field->type !== 'section' ? $class->html() : $class->html( $config['section_content'] );
|
480 |
} else {
|
481 |
+
$class->enable_output();
|
482 |
+
$field->type !== 'section' ? $class->html() : $class->html( $config['section_content'] );
|
483 |
}
|
484 |
}
|
485 |
}
|
486 |
|
487 |
/* Output product table, if needed */
|
488 |
if ( $has_products && ! $products->is_empty() ) {
|
|
|
|
|
489 |
if ( $config['return'] ) {
|
490 |
+
$results['field'][] = $products->html();
|
491 |
} else {
|
492 |
+
$products->enable_output();
|
493 |
+
$products->html();
|
494 |
}
|
495 |
}
|
496 |
|
519 |
*/
|
520 |
public static function legacy_html_format( $html, $value, $show_label, $label, $field ) {
|
521 |
|
522 |
+
$html = '<div id="' . esc_attr( 'field-' . $field->id ) . '" class="' . esc_attr( $field->cssClass ) . '">';
|
523 |
|
524 |
if ( $show_label ) {
|
525 |
+
$html .= '<div class="strong">' . Kses::parse( $label ) . '</div>';
|
526 |
}
|
527 |
|
528 |
/* If the field value is empty we'll add a non-breaking space to act like a character and maintain proper layout */
|
530 |
$value = ' ';
|
531 |
}
|
532 |
|
533 |
+
$html .= '<div class="value">' . Kses::parse( $value ) . '</div>'
|
534 |
. '</div>';
|
535 |
|
536 |
return $html;
|
582 |
}
|
583 |
|
584 |
/* Add odd / even rows */
|
585 |
+
$field->cssClass = ( $counter % 2 ) ? $field->cssClass . ' odd' : ' even';
|
586 |
|
587 |
switch ( $field->type ) {
|
588 |
case 'html':
|
599 |
}
|
600 |
|
601 |
$field->cssClass .= ' gfpdf-field-processed';
|
602 |
+
|
603 |
+
$counter++;
|
604 |
}
|
605 |
|
606 |
/**
|
src/templates/blank-slate.php
CHANGED
@@ -43,7 +43,7 @@ if ( ! class_exists( 'GFForms' ) ) {
|
|
43 |
|
44 |
/* Handle GF2.5+ Columns */
|
45 |
.grid {
|
46 |
-
float:
|
47 |
}
|
48 |
|
49 |
.grid .inner-container {
|
43 |
|
44 |
/* Handle GF2.5+ Columns */
|
45 |
.grid {
|
46 |
+
float: <?php echo $settings['rtl'] === 'Yes' ? 'right' : 'left'; ?>;
|
47 |
}
|
48 |
|
49 |
.grid .inner-container {
|
src/templates/focus-gravity.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
|
3 |
/*
|
4 |
* Template Name: Focus Gravity
|
5 |
-
* Version: 2.0.
|
6 |
* Description: Focus Gravity providing a classic layout which epitomises Gravity Forms Print Preview. It's the familiar layout you've come to love. Through the Template tab you can control the PDF header and footer, change the background color or image, and show or hide the form title, page names, HTML fields and the Section Break descriptions.
|
7 |
* Author: Gravity PDF
|
8 |
* Author URI: https://gravitypdf.com
|
@@ -55,7 +55,7 @@ $label_format = $settings['focusgravity_label_format'] ?? 'combined_label';
|
|
55 |
|
56 |
/* Handle GF2.5+ Columns */
|
57 |
.grid {
|
58 |
-
float:
|
59 |
}
|
60 |
|
61 |
.grid .inner-container {
|
@@ -256,7 +256,7 @@ $label_format = $settings['focusgravity_label_format'] ?? 'combined_label';
|
|
256 |
#container {
|
257 |
border-radius: 5px;
|
258 |
border: 1px solid #000;
|
259 |
-
border-color:
|
260 |
}
|
261 |
|
262 |
#form_title {
|
@@ -265,8 +265,8 @@ $label_format = $settings['focusgravity_label_format'] ?? 'combined_label';
|
|
265 |
}
|
266 |
|
267 |
h3 {
|
268 |
-
background:
|
269 |
-
color:
|
270 |
margin: 0;
|
271 |
}
|
272 |
|
@@ -277,9 +277,9 @@ $label_format = $settings['focusgravity_label_format'] ?? 'combined_label';
|
|
277 |
.gfpdf-field .label {
|
278 |
font-weight: bold;
|
279 |
border-bottom: 1px solid #000;
|
280 |
-
border-bottom-color:
|
281 |
-
background:
|
282 |
-
color:
|
283 |
}
|
284 |
|
285 |
.value, .gfpdf-section-description, .gfpdf-field .label, h3, .gfpdf-html .value {
|
@@ -288,12 +288,12 @@ $label_format = $settings['focusgravity_label_format'] ?? 'combined_label';
|
|
288 |
|
289 |
.gfpdf-html {
|
290 |
border-top: 5px solid #000;
|
291 |
-
border-top-color:
|
292 |
}
|
293 |
|
294 |
table.gfield_list th {
|
295 |
-
background:
|
296 |
-
color:
|
297 |
}
|
298 |
|
299 |
table.entry-products th, table.entry-products td.emptycell {
|
@@ -312,13 +312,13 @@ $label_format = $settings['focusgravity_label_format'] ?? 'combined_label';
|
|
312 |
}
|
313 |
|
314 |
.even {
|
315 |
-
background:
|
316 |
}
|
317 |
|
318 |
<?php else : ?>
|
319 |
.gfpdf-html .value {
|
320 |
border-top: 1px solid #000;
|
321 |
-
border-top-color:
|
322 |
}
|
323 |
|
324 |
<?php endif; ?>
|
2 |
|
3 |
/*
|
4 |
* Template Name: Focus Gravity
|
5 |
+
* Version: 2.0.2
|
6 |
* Description: Focus Gravity providing a classic layout which epitomises Gravity Forms Print Preview. It's the familiar layout you've come to love. Through the Template tab you can control the PDF header and footer, change the background color or image, and show or hide the form title, page names, HTML fields and the Section Break descriptions.
|
7 |
* Author: Gravity PDF
|
8 |
* Author URI: https://gravitypdf.com
|
55 |
|
56 |
/* Handle GF2.5+ Columns */
|
57 |
.grid {
|
58 |
+
float: <?php echo $settings['rtl'] === 'Yes' ? 'right' : 'left'; ?>;
|
59 |
}
|
60 |
|
61 |
.grid .inner-container {
|
256 |
#container {
|
257 |
border-radius: 5px;
|
258 |
border: 1px solid #000;
|
259 |
+
border-color: <?php echo esc_html( $accent_colour ); ?>;
|
260 |
}
|
261 |
|
262 |
#form_title {
|
265 |
}
|
266 |
|
267 |
h3 {
|
268 |
+
background: <?php echo esc_html( $accent_colour ); ?>;
|
269 |
+
color: <?php echo esc_html( $accent_contrast_colour ); ?>;
|
270 |
margin: 0;
|
271 |
}
|
272 |
|
277 |
.gfpdf-field .label {
|
278 |
font-weight: bold;
|
279 |
border-bottom: 1px solid #000;
|
280 |
+
border-bottom-color: <?php echo esc_html( $accent_colour ); ?>;
|
281 |
+
background: <?php echo esc_html( $secondary_colour ); ?>;
|
282 |
+
color: <?php echo esc_html( $secondary_contrast_colour ); ?>;
|
283 |
}
|
284 |
|
285 |
.value, .gfpdf-section-description, .gfpdf-field .label, h3, .gfpdf-html .value {
|
288 |
|
289 |
.gfpdf-html {
|
290 |
border-top: 5px solid #000;
|
291 |
+
border-top-color: <?php echo esc_html( $secondary_colour ); ?>;
|
292 |
}
|
293 |
|
294 |
table.gfield_list th {
|
295 |
+
background: <?php echo esc_html( $accent_colour ); ?>;
|
296 |
+
color: <?php echo esc_html( $accent_contrast_colour ); ?>;
|
297 |
}
|
298 |
|
299 |
table.entry-products th, table.entry-products td.emptycell {
|
312 |
}
|
313 |
|
314 |
.even {
|
315 |
+
background: <?php echo esc_html( $secondary_colour ); ?>;
|
316 |
}
|
317 |
|
318 |
<?php else : ?>
|
319 |
.gfpdf-html .value {
|
320 |
border-top: 1px solid #000;
|
321 |
+
border-top-color: <?php echo esc_html( $accent_colour ); ?>;
|
322 |
}
|
323 |
|
324 |
<?php endif; ?>
|
src/templates/rubix.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
|
3 |
/*
|
4 |
* Template Name: Rubix
|
5 |
-
* Version: 2.0.
|
6 |
* Description: Rubix uses stylish containers to create an aesthetically pleasing design. Through the Template tab you can control the PDF header and footer, change the background color or image, and show or hide the form title, page names, HTML fields and the Section Break descriptions.
|
7 |
* Author: Gravity PDF
|
8 |
* Author URI: https://gravitypdf.com
|
@@ -52,7 +52,7 @@ $contrast = $misc->get_background_and_border_contrast( $container_background_col
|
|
52 |
|
53 |
/* Handle GF2.5+ Columns */
|
54 |
.grid {
|
55 |
-
float:
|
56 |
}
|
57 |
|
58 |
.grid .inner-container {
|
@@ -266,7 +266,7 @@ $contrast = $misc->get_background_and_border_contrast( $container_background_col
|
|
266 |
}
|
267 |
|
268 |
.gfpdf-field .inner-container {
|
269 |
-
background:
|
270 |
border-radius: 10px;
|
271 |
}
|
272 |
|
@@ -299,13 +299,13 @@ $contrast = $misc->get_background_and_border_contrast( $container_background_col
|
|
299 |
|
300 |
.gfield_list th,
|
301 |
table.entry-products th, table.entry-products td.emptycell {
|
302 |
-
background-color:
|
303 |
}
|
304 |
|
305 |
.gfield_list th, .gfield_list td,
|
306 |
table.entry-products th, table.entry-products td {
|
307 |
border: 1px solid #000;
|
308 |
-
border-color:
|
309 |
}
|
310 |
|
311 |
</style>
|
2 |
|
3 |
/*
|
4 |
* Template Name: Rubix
|
5 |
+
* Version: 2.0.1
|
6 |
* Description: Rubix uses stylish containers to create an aesthetically pleasing design. Through the Template tab you can control the PDF header and footer, change the background color or image, and show or hide the form title, page names, HTML fields and the Section Break descriptions.
|
7 |
* Author: Gravity PDF
|
8 |
* Author URI: https://gravitypdf.com
|
52 |
|
53 |
/* Handle GF2.5+ Columns */
|
54 |
.grid {
|
55 |
+
float: <?php echo $settings['rtl'] === 'Yes' ? 'right' : 'left'; ?>;
|
56 |
}
|
57 |
|
58 |
.grid .inner-container {
|
266 |
}
|
267 |
|
268 |
.gfpdf-field .inner-container {
|
269 |
+
background: <?php echo esc_html( $container_background_color ); ?>;
|
270 |
border-radius: 10px;
|
271 |
}
|
272 |
|
299 |
|
300 |
.gfield_list th,
|
301 |
table.entry-products th, table.entry-products td.emptycell {
|
302 |
+
background-color: <?php echo esc_html( $contrast['background'] ); ?>;
|
303 |
}
|
304 |
|
305 |
.gfield_list th, .gfield_list td,
|
306 |
table.entry-products th, table.entry-products td {
|
307 |
border: 1px solid #000;
|
308 |
+
border-color: <?php echo esc_html( $contrast['border'] ); ?>;
|
309 |
}
|
310 |
|
311 |
</style>
|
src/templates/zadani.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
|
3 |
/*
|
4 |
* Template Name: Zadani
|
5 |
-
* Version: 2.0.
|
6 |
* Description: A minimalist business-style template that will generate a well-spaced document great for printing. Through the Template tab you can control the PDF header and footer, change the background color or image, and show or hide the form title, page names, HTML fields and the Section Break descriptions.
|
7 |
* Author: Gravity PDF
|
8 |
* Author URI: https://gravitypdf.com
|
@@ -48,7 +48,7 @@ $value_border_colour = $settings['zadani_border_colour'] ?? '#CCCCCC';
|
|
48 |
|
49 |
/* Handle GF2.5+ Columns */
|
50 |
.grid {
|
51 |
-
float:
|
52 |
}
|
53 |
|
54 |
.grid .inner-container {
|
@@ -253,7 +253,7 @@ $value_border_colour = $settings['zadani_border_colour'] ?? '#CCCCCC';
|
|
253 |
|
254 |
.gfpdf-field .value {
|
255 |
border: 1px solid #000;
|
256 |
-
border-color:
|
257 |
padding: 1.5mm 2mm;
|
258 |
}
|
259 |
|
2 |
|
3 |
/*
|
4 |
* Template Name: Zadani
|
5 |
+
* Version: 2.0.1
|
6 |
* Description: A minimalist business-style template that will generate a well-spaced document great for printing. Through the Template tab you can control the PDF header and footer, change the background color or image, and show or hide the form title, page names, HTML fields and the Section Break descriptions.
|
7 |
* Author: Gravity PDF
|
8 |
* Author URI: https://gravitypdf.com
|
48 |
|
49 |
/* Handle GF2.5+ Columns */
|
50 |
.grid {
|
51 |
+
float: <?php echo $settings['rtl'] === 'Yes' ? 'right' : 'left'; ?>;
|
52 |
}
|
53 |
|
54 |
.grid .inner-container {
|
253 |
|
254 |
.gfpdf-field .value {
|
255 |
border: 1px solid #000;
|
256 |
+
border-color: <?php echo esc_html( $value_border_colour ); ?>;
|
257 |
padding: 1.5mm 2mm;
|
258 |
}
|
259 |
|
vendor/composer/autoload_classmap.php
CHANGED
@@ -144,6 +144,7 @@ return array(
|
|
144 |
'GFPDF\\Model\\Model_System_Report' => $baseDir . '/src/Model/Model_System_Report.php',
|
145 |
'GFPDF\\Model\\Model_Templates' => $baseDir . '/src/Model/Model_Templates.php',
|
146 |
'GFPDF\\Model\\Model_Uninstall' => $baseDir . '/src/Model/Model_Uninstall.php',
|
|
|
147 |
'GFPDF\\Statics\\Queue_Callbacks' => $baseDir . '/src/Statics/Queue_Callbacks.php',
|
148 |
'GFPDF\\View\\View_Actions' => $baseDir . '/src/View/View_Actions.php',
|
149 |
'GFPDF\\View\\View_Form_Settings' => $baseDir . '/src/View/View_Form_Settings.php',
|
144 |
'GFPDF\\Model\\Model_System_Report' => $baseDir . '/src/Model/Model_System_Report.php',
|
145 |
'GFPDF\\Model\\Model_Templates' => $baseDir . '/src/Model/Model_Templates.php',
|
146 |
'GFPDF\\Model\\Model_Uninstall' => $baseDir . '/src/Model/Model_Uninstall.php',
|
147 |
+
'GFPDF\\Statics\\Kses' => $baseDir . '/src/Statics/Kses.php',
|
148 |
'GFPDF\\Statics\\Queue_Callbacks' => $baseDir . '/src/Statics/Queue_Callbacks.php',
|
149 |
'GFPDF\\View\\View_Actions' => $baseDir . '/src/View/View_Actions.php',
|
150 |
'GFPDF\\View\\View_Form_Settings' => $baseDir . '/src/View/View_Form_Settings.php',
|
vendor/composer/autoload_static.php
CHANGED
@@ -172,6 +172,7 @@ class ComposerStaticInitGravityPDFPlugin
|
|
172 |
'GFPDF\\Model\\Model_System_Report' => __DIR__ . '/../..' . '/src/Model/Model_System_Report.php',
|
173 |
'GFPDF\\Model\\Model_Templates' => __DIR__ . '/../..' . '/src/Model/Model_Templates.php',
|
174 |
'GFPDF\\Model\\Model_Uninstall' => __DIR__ . '/../..' . '/src/Model/Model_Uninstall.php',
|
|
|
175 |
'GFPDF\\Statics\\Queue_Callbacks' => __DIR__ . '/../..' . '/src/Statics/Queue_Callbacks.php',
|
176 |
'GFPDF\\View\\View_Actions' => __DIR__ . '/../..' . '/src/View/View_Actions.php',
|
177 |
'GFPDF\\View\\View_Form_Settings' => __DIR__ . '/../..' . '/src/View/View_Form_Settings.php',
|
172 |
'GFPDF\\Model\\Model_System_Report' => __DIR__ . '/../..' . '/src/Model/Model_System_Report.php',
|
173 |
'GFPDF\\Model\\Model_Templates' => __DIR__ . '/../..' . '/src/Model/Model_Templates.php',
|
174 |
'GFPDF\\Model\\Model_Uninstall' => __DIR__ . '/../..' . '/src/Model/Model_Uninstall.php',
|
175 |
+
'GFPDF\\Statics\\Kses' => __DIR__ . '/../..' . '/src/Statics/Kses.php',
|
176 |
'GFPDF\\Statics\\Queue_Callbacks' => __DIR__ . '/../..' . '/src/Statics/Queue_Callbacks.php',
|
177 |
'GFPDF\\View\\View_Actions' => __DIR__ . '/../..' . '/src/View/View_Actions.php',
|
178 |
'GFPDF\\View\\View_Form_Settings' => __DIR__ . '/../..' . '/src/View/View_Form_Settings.php',
|
vendor/composer/installed.json
CHANGED
@@ -393,17 +393,17 @@
|
|
393 |
},
|
394 |
{
|
395 |
"name": "monolog/monolog",
|
396 |
-
"version": "2.
|
397 |
-
"version_normalized": "2.
|
398 |
"source": {
|
399 |
"type": "git",
|
400 |
"url": "https://github.com/Seldaek/monolog.git",
|
401 |
-
"reference": "
|
402 |
},
|
403 |
"dist": {
|
404 |
"type": "zip",
|
405 |
-
"url": "https://api.github.com/repos/Seldaek/monolog/zipball/
|
406 |
-
"reference": "
|
407 |
"shasum": ""
|
408 |
},
|
409 |
"require": {
|
@@ -451,7 +451,7 @@
|
|
451 |
"rollbar/rollbar": "Allow sending log messages to Rollbar",
|
452 |
"ruflin/elastica": "Allow sending log messages to an Elastic Search server"
|
453 |
},
|
454 |
-
"time": "2022-
|
455 |
"type": "library",
|
456 |
"extra": {
|
457 |
"branch-alias": {
|
@@ -484,7 +484,7 @@
|
|
484 |
],
|
485 |
"support": {
|
486 |
"issues": "https://github.com/Seldaek/monolog/issues",
|
487 |
-
"source": "https://github.com/Seldaek/monolog/tree/2.
|
488 |
},
|
489 |
"funding": [
|
490 |
{
|
393 |
},
|
394 |
{
|
395 |
"name": "monolog/monolog",
|
396 |
+
"version": "2.7.0",
|
397 |
+
"version_normalized": "2.7.0.0",
|
398 |
"source": {
|
399 |
"type": "git",
|
400 |
"url": "https://github.com/Seldaek/monolog.git",
|
401 |
+
"reference": "5579edf28aee1190a798bfa5be8bc16c563bd524"
|
402 |
},
|
403 |
"dist": {
|
404 |
"type": "zip",
|
405 |
+
"url": "https://api.github.com/repos/Seldaek/monolog/zipball/5579edf28aee1190a798bfa5be8bc16c563bd524",
|
406 |
+
"reference": "5579edf28aee1190a798bfa5be8bc16c563bd524",
|
407 |
"shasum": ""
|
408 |
},
|
409 |
"require": {
|
451 |
"rollbar/rollbar": "Allow sending log messages to Rollbar",
|
452 |
"ruflin/elastica": "Allow sending log messages to an Elastic Search server"
|
453 |
},
|
454 |
+
"time": "2022-06-09T08:59:12+00:00",
|
455 |
"type": "library",
|
456 |
"extra": {
|
457 |
"branch-alias": {
|
484 |
],
|
485 |
"support": {
|
486 |
"issues": "https://github.com/Seldaek/monolog/issues",
|
487 |
+
"source": "https://github.com/Seldaek/monolog/tree/2.7.0"
|
488 |
},
|
489 |
"funding": [
|
490 |
{
|
vendor/composer/installed.php
CHANGED
@@ -1,9 +1,9 @@
|
|
1 |
<?php return array(
|
2 |
'root' => array(
|
3 |
'name' => 'gravitypdf/gravitypdf',
|
4 |
-
'pretty_version' => '6.
|
5 |
-
'version' => '6.
|
6 |
-
'reference' => '
|
7 |
'type' => 'library',
|
8 |
'install_path' => __DIR__ . '/../../',
|
9 |
'aliases' => array(),
|
@@ -20,9 +20,9 @@
|
|
20 |
'dev_requirement' => false,
|
21 |
),
|
22 |
'gravitypdf/gravitypdf' => array(
|
23 |
-
'pretty_version' => '6.
|
24 |
-
'version' => '6.
|
25 |
-
'reference' => '
|
26 |
'type' => 'library',
|
27 |
'install_path' => __DIR__ . '/../../',
|
28 |
'aliases' => array(),
|
@@ -65,9 +65,9 @@
|
|
65 |
'dev_requirement' => false,
|
66 |
),
|
67 |
'monolog/monolog' => array(
|
68 |
-
'pretty_version' => '2.
|
69 |
-
'version' => '2.
|
70 |
-
'reference' => '
|
71 |
'type' => 'library',
|
72 |
'install_path' => __DIR__ . '/../monolog/monolog',
|
73 |
'aliases' => array(),
|
1 |
<?php return array(
|
2 |
'root' => array(
|
3 |
'name' => 'gravitypdf/gravitypdf',
|
4 |
+
'pretty_version' => '6.4.0-RC1',
|
5 |
+
'version' => '6.4.0.0-RC1',
|
6 |
+
'reference' => '1d0fee717286df7150286e75b6a69b92889a5b3f',
|
7 |
'type' => 'library',
|
8 |
'install_path' => __DIR__ . '/../../',
|
9 |
'aliases' => array(),
|
20 |
'dev_requirement' => false,
|
21 |
),
|
22 |
'gravitypdf/gravitypdf' => array(
|
23 |
+
'pretty_version' => '6.4.0-RC1',
|
24 |
+
'version' => '6.4.0.0-RC1',
|
25 |
+
'reference' => '1d0fee717286df7150286e75b6a69b92889a5b3f',
|
26 |
'type' => 'library',
|
27 |
'install_path' => __DIR__ . '/../../',
|
28 |
'aliases' => array(),
|
65 |
'dev_requirement' => false,
|
66 |
),
|
67 |
'monolog/monolog' => array(
|
68 |
+
'pretty_version' => '2.7.0',
|
69 |
+
'version' => '2.7.0.0',
|
70 |
+
'reference' => '5579edf28aee1190a798bfa5be8bc16c563bd524',
|
71 |
'type' => 'library',
|
72 |
'install_path' => __DIR__ . '/../monolog/monolog',
|
73 |
'aliases' => array(),
|
vendor_prefixed/monolog/src/Monolog/ErrorHandler.php
CHANGED
@@ -42,8 +42,8 @@ class ErrorHandler
|
|
42 |
private $fatalLevel = \Psr\Log\LogLevel::ALERT;
|
43 |
/** @var ?string */
|
44 |
private $reservedMemory = null;
|
45 |
-
/** @var ?mixed */
|
46 |
-
private $
|
47 |
/** @var int[] */
|
48 |
private static $fatalErrors = [\E_ERROR, \E_PARSE, \E_CORE_ERROR, \E_COMPILE_ERROR, \E_USER_ERROR];
|
49 |
public function __construct(\Psr\Log\LoggerInterface $logger)
|
@@ -177,7 +177,7 @@ class ErrorHandler
|
|
177 |
$trace = \debug_backtrace(\DEBUG_BACKTRACE_IGNORE_ARGS);
|
178 |
\array_shift($trace);
|
179 |
// Exclude handleError from trace
|
180 |
-
$this->
|
181 |
}
|
182 |
if ($this->previousErrorHandler === \true) {
|
183 |
return \false;
|
@@ -192,9 +192,14 @@ class ErrorHandler
|
|
192 |
public function handleFatalError() : void
|
193 |
{
|
194 |
$this->reservedMemory = '';
|
195 |
-
|
|
|
|
|
|
|
|
|
196 |
if ($lastError && \in_array($lastError['type'], self::$fatalErrors, \true)) {
|
197 |
-
$
|
|
|
198 |
if ($this->logger instanceof \GFPDF_Vendor\Monolog\Logger) {
|
199 |
foreach ($this->logger->getHandlers() as $handler) {
|
200 |
$handler->close();
|
42 |
private $fatalLevel = \Psr\Log\LogLevel::ALERT;
|
43 |
/** @var ?string */
|
44 |
private $reservedMemory = null;
|
45 |
+
/** @var ?array{type: int, message: string, file: string, line: int, trace: mixed} */
|
46 |
+
private $lastFatalData = null;
|
47 |
/** @var int[] */
|
48 |
private static $fatalErrors = [\E_ERROR, \E_PARSE, \E_CORE_ERROR, \E_COMPILE_ERROR, \E_USER_ERROR];
|
49 |
public function __construct(\Psr\Log\LoggerInterface $logger)
|
177 |
$trace = \debug_backtrace(\DEBUG_BACKTRACE_IGNORE_ARGS);
|
178 |
\array_shift($trace);
|
179 |
// Exclude handleError from trace
|
180 |
+
$this->lastFatalData = ['type' => $code, 'message' => $message, 'file' => $file, 'line' => $line, 'trace' => $trace];
|
181 |
}
|
182 |
if ($this->previousErrorHandler === \true) {
|
183 |
return \false;
|
192 |
public function handleFatalError() : void
|
193 |
{
|
194 |
$this->reservedMemory = '';
|
195 |
+
if (\is_array($this->lastFatalData)) {
|
196 |
+
$lastError = $this->lastFatalData;
|
197 |
+
} else {
|
198 |
+
$lastError = \error_get_last();
|
199 |
+
}
|
200 |
if ($lastError && \in_array($lastError['type'], self::$fatalErrors, \true)) {
|
201 |
+
$trace = $lastError['trace'] ?? null;
|
202 |
+
$this->logger->log($this->fatalLevel, 'Fatal Error (' . self::codeToString($lastError['type']) . '): ' . $lastError['message'], ['code' => $lastError['type'], 'message' => $lastError['message'], 'file' => $lastError['file'], 'line' => $lastError['line'], 'trace' => $trace]);
|
203 |
if ($this->logger instanceof \GFPDF_Vendor\Monolog\Logger) {
|
204 |
foreach ($this->logger->getHandlers() as $handler) {
|
205 |
$handler->close();
|
vendor_prefixed/monolog/src/Monolog/Handler/RotatingFileHandler.php
CHANGED
@@ -154,7 +154,7 @@ class RotatingFileHandler extends \GFPDF_Vendor\Monolog\Handler\StreamHandler
|
|
154 |
protected function getGlobPattern() : string
|
155 |
{
|
156 |
$fileInfo = \pathinfo($this->filename);
|
157 |
-
$glob = \str_replace(['{filename}', '{date}'], [$fileInfo['filename'], '[0-9][0-9][0-9][0-9]
|
158 |
if (isset($fileInfo['extension'])) {
|
159 |
$glob .= '.' . $fileInfo['extension'];
|
160 |
}
|
154 |
protected function getGlobPattern() : string
|
155 |
{
|
156 |
$fileInfo = \pathinfo($this->filename);
|
157 |
+
$glob = \str_replace(['{filename}', '{date}'], [$fileInfo['filename'], \str_replace(['Y', 'y', 'm', 'd'], ['[0-9][0-9][0-9][0-9]', '[0-9][0-9]', '[0-9][0-9]', '[0-9][0-9]'], $this->dateFormat)], $fileInfo['dirname'] . '/' . $this->filenameFormat);
|
158 |
if (isset($fileInfo['extension'])) {
|
159 |
$glob .= '.' . $fileInfo['extension'];
|
160 |
}
|
vendor_prefixed/monolog/src/Monolog/Logger.php
CHANGED
@@ -125,6 +125,12 @@ class Logger implements \Psr\Log\LoggerInterface, \GFPDF_Vendor\Monolog\Resettab
|
|
125 |
* @var int Keeps track of depth to prevent infinite logging loops
|
126 |
*/
|
127 |
private $logDepth = 0;
|
|
|
|
|
|
|
|
|
|
|
|
|
128 |
/**
|
129 |
* @psalm-param array<callable(array): array> $processors
|
130 |
*
|
@@ -239,19 +245,27 @@ class Logger implements \Psr\Log\LoggerInterface, \GFPDF_Vendor\Monolog\Resettab
|
|
239 |
$this->microsecondTimestamps = $micro;
|
240 |
return $this;
|
241 |
}
|
|
|
|
|
|
|
|
|
|
|
242 |
/**
|
243 |
* Adds a log record.
|
244 |
*
|
245 |
-
* @param int
|
246 |
-
* @param string
|
247 |
-
* @param mixed[]
|
248 |
-
* @
|
|
|
249 |
*
|
250 |
* @phpstan-param Level $level
|
251 |
*/
|
252 |
-
public function addRecord(int $level, string $message, array $context = []) : bool
|
253 |
{
|
254 |
-
$this->
|
|
|
|
|
255 |
if ($this->logDepth === 3) {
|
256 |
$this->warning('A possible infinite logging loop was detected and aborted. It appears some of your handler code is triggering logging, see the previous log record for a hint as to what may be the cause.');
|
257 |
return \false;
|
@@ -268,7 +282,7 @@ class Logger implements \Psr\Log\LoggerInterface, \GFPDF_Vendor\Monolog\Resettab
|
|
268 |
continue;
|
269 |
}
|
270 |
$levelName = static::getLevelName($level);
|
271 |
-
$record = ['message' => $message, 'context' => $context, 'level' => $level, 'level_name' => $levelName, 'channel' => $this->name, 'datetime' => new \GFPDF_Vendor\Monolog\DateTimeImmutable($this->microsecondTimestamps, $this->timezone), 'extra' => []];
|
272 |
try {
|
273 |
foreach ($this->processors as $processor) {
|
274 |
$record = $processor($record);
|
@@ -289,7 +303,9 @@ class Logger implements \Psr\Log\LoggerInterface, \GFPDF_Vendor\Monolog\Resettab
|
|
289 |
}
|
290 |
}
|
291 |
} finally {
|
292 |
-
$this->
|
|
|
|
|
293 |
}
|
294 |
return null !== $record;
|
295 |
}
|
125 |
* @var int Keeps track of depth to prevent infinite logging loops
|
126 |
*/
|
127 |
private $logDepth = 0;
|
128 |
+
/**
|
129 |
+
* @var bool Whether to detect infinite logging loops
|
130 |
+
*
|
131 |
+
* This can be disabled via {@see useLoggingLoopDetection} if you have async handlers that do not play well with this
|
132 |
+
*/
|
133 |
+
private $detectCycles = \true;
|
134 |
/**
|
135 |
* @psalm-param array<callable(array): array> $processors
|
136 |
*
|
245 |
$this->microsecondTimestamps = $micro;
|
246 |
return $this;
|
247 |
}
|
248 |
+
public function useLoggingLoopDetection(bool $detectCycles) : self
|
249 |
+
{
|
250 |
+
$this->detectCycles = $detectCycles;
|
251 |
+
return $this;
|
252 |
+
}
|
253 |
/**
|
254 |
* Adds a log record.
|
255 |
*
|
256 |
+
* @param int $level The logging level
|
257 |
+
* @param string $message The log message
|
258 |
+
* @param mixed[] $context The log context
|
259 |
+
* @param DateTimeImmutable $datetime Optional log date to log into the past or future
|
260 |
+
* @return bool Whether the record has been processed
|
261 |
*
|
262 |
* @phpstan-param Level $level
|
263 |
*/
|
264 |
+
public function addRecord(int $level, string $message, array $context = [], \GFPDF_Vendor\Monolog\DateTimeImmutable $datetime = null) : bool
|
265 |
{
|
266 |
+
if ($this->detectCycles) {
|
267 |
+
$this->logDepth += 1;
|
268 |
+
}
|
269 |
if ($this->logDepth === 3) {
|
270 |
$this->warning('A possible infinite logging loop was detected and aborted. It appears some of your handler code is triggering logging, see the previous log record for a hint as to what may be the cause.');
|
271 |
return \false;
|
282 |
continue;
|
283 |
}
|
284 |
$levelName = static::getLevelName($level);
|
285 |
+
$record = ['message' => $message, 'context' => $context, 'level' => $level, 'level_name' => $levelName, 'channel' => $this->name, 'datetime' => $datetime ?? new \GFPDF_Vendor\Monolog\DateTimeImmutable($this->microsecondTimestamps, $this->timezone), 'extra' => []];
|
286 |
try {
|
287 |
foreach ($this->processors as $processor) {
|
288 |
$record = $processor($record);
|
303 |
}
|
304 |
}
|
305 |
} finally {
|
306 |
+
if ($this->detectCycles) {
|
307 |
+
$this->logDepth--;
|
308 |
+
}
|
309 |
}
|
310 |
return null !== $record;
|
311 |
}
|
vendor_prefixed/monolog/src/Monolog/Test/TestCase.php
CHANGED
@@ -21,6 +21,8 @@ use GFPDF_Vendor\Monolog\Formatter\FormatterInterface;
|
|
21 |
*
|
22 |
* @phpstan-import-type Record from \Monolog\Logger
|
23 |
* @phpstan-import-type Level from \Monolog\Logger
|
|
|
|
|
24 |
*/
|
25 |
class TestCase extends \GFPDF_Vendor\PHPUnit\Framework\TestCase
|
26 |
{
|
21 |
*
|
22 |
* @phpstan-import-type Record from \Monolog\Logger
|
23 |
* @phpstan-import-type Level from \Monolog\Logger
|
24 |
+
*
|
25 |
+
* @internal feel free to reuse this to test your own handlers, this is marked internal to avoid issues with PHPStorm https://github.com/Seldaek/monolog/issues/1677
|
26 |
*/
|
27 |
class TestCase extends \GFPDF_Vendor\PHPUnit\Framework\TestCase
|
28 |
{
|