Version Description
- Updated: New admin styling to update the overall look and feel of the plugin in the WordPress admin.
- Updated: Amend honeypot field input for accessibility purposes.
- Added: Plugin setting to disable the loading on Constant Contact plugin CSS on the frontend.
- Added: Native browser validation for phone number (tel) field input type.
- Fixed: Amended admin notification for Bad Request results.
Download this release
Release Info
Developer | constantcontact |
Plugin | Constant Contact Forms |
Version | 1.11.0 |
Comparing to | |
See all releases |
Code changes from version 1.10.1 to 1.11.0
- assets/css/admin-debug.css +7 -0
- assets/css/admin-style.css +646 -692
- assets/css/style.css +93 -6
- assets/css/style.min.css +2 -2
- assets/images/check_circle.svg +0 -0
- assets/images/constant-contact-logo.png +0 -0
- assets/images/ctct-admin-notice-logo.png +0 -0
- assets/images/ctct-icon-2x.png +0 -0
- assets/images/ctct-icon.png +0 -0
- assets/images/error.svg +0 -0
- assets/js/ctct-plugin-admin.js +12 -1
- assets/js/ctct-plugin-admin.min.js +1 -1
- assets/js/ctct-plugin-admin.min.js.map +1 -1
- assets/js/ctct-plugin-admin/clipboard.js +85 -0
- assets/js/ctct-plugin-admin/index.js +2 -1
- assets/js/ctct-plugin-frontend.min.js +1 -1
- assets/js/ctct-plugin-frontend.min.js.map +1 -1
- assets/js/ctct-plugin-gutenberg.min.js +1 -1
- assets/js/ctct-plugin-gutenberg.min.js.map +1 -1
- assets/js/ctct-plugin-recaptcha-v2.min.js +1 -1
- assets/js/ctct-plugin-recaptcha-v2.min.js.map +1 -1
- assets/js/ctct-plugin-recaptcha.min.js +1 -1
- assets/js/ctct-plugin-recaptcha.min.js.map +1 -1
- assets/sass/_admin-about.scss +106 -0
- assets/sass/_admin-connect.scss +309 -0
- assets/sass/_admin-debug.scss +11 -0
- assets/sass/_admin-forms.scss +14 -8
- assets/sass/_admin-global-no-connection.scss +0 -302
- assets/sass/_admin-gutenberg.scss +4 -0
- assets/sass/_admin-notices.scss +4 -3
- assets/sass/_admin-pages.scss +110 -278
- assets/sass/_admin-toolbar.scss +152 -0
- assets/sass/_compatibility.scss +143 -1
- assets/sass/_forms.scss +2 -1
- assets/sass/_global.scss +1 -0
- assets/sass/_inputs.scss +8 -6
- assets/sass/_layout.scss +1 -0
- assets/sass/_mixins.scss +1 -1
- assets/sass/_modal.scss +22 -22
- assets/sass/_oath.scss +0 -84
- assets/sass/_variables.scss +11 -3
- assets/sass/admin-style.scss +4 -2
- constant-contact-forms.php +7 -2
- includes/cc-modules/form/includes/frontend.php +1 -1
- includes/class-admin-pages.php +133 -181
- includes/class-admin.php +145 -30
- includes/class-api.php +2 -2
- includes/class-beaver-builder.php +6 -6
- includes/class-connect.php +122 -121
- includes/class-cpts.php +2 -2
- includes/class-display.php +12 -5
- includes/class-elementor.php +6 -6
- includes/class-logging.php +49 -50
- includes/class-settings.php +31 -4
- includes/widgets/elementor-widget.php +9 -9
- languages/constant-contact-forms.pot +302 -274
- readme.txt +38 -16
- vendor/autoload.php +1 -1
- vendor/cmb2/cmb2/CHANGELOG.md +0 -765
- vendor/composer/ClassLoader.php +1 -1
- vendor/composer/autoload_classmap.php +0 -303
- vendor/composer/autoload_real.php +17 -8
- vendor/composer/autoload_static.php +4 -311
- vendor/constantcontact/constantcontact/.travis.yml +0 -20
- vendor/constantcontact/constantcontact/composer.json +0 -28
- vendor/defuse/php-encryption/composer.json +0 -35
- vendor/google/recaptcha/.travis.yml +0 -33
- vendor/google/recaptcha/composer.json +0 -39
- vendor/google/recaptcha/phpunit.xml.dist +0 -20
- vendor/guzzlehttp/guzzle/.travis.yml +0 -52
- vendor/guzzlehttp/guzzle/CHANGELOG.md +0 -1071
- vendor/guzzlehttp/guzzle/composer.json +0 -38
- vendor/guzzlehttp/ringphp/.editorconfig +0 -12
- vendor/guzzlehttp/ringphp/.travis.yml +0 -43
- vendor/guzzlehttp/ringphp/CHANGELOG.md +0 -118
- vendor/guzzlehttp/ringphp/composer.json +0 -43
- vendor/guzzlehttp/ringphp/phpunit.xml.dist +0 -14
- vendor/guzzlehttp/streams/.travis.yml +0 -17
- vendor/guzzlehttp/streams/composer.json +0 -28
- vendor/guzzlehttp/streams/phpunit.xml.dist +0 -17
- vendor/monolog/monolog/CHANGELOG.md +0 -370
- vendor/monolog/monolog/composer.json +0 -66
- vendor/monolog/monolog/phpunit.xml.dist +0 -19
- vendor/paragonie/random_compat/composer.json +0 -34
- vendor/paragonie/random_compat/lib/random.php +32 -0
- vendor/psr/log/composer.json +0 -26
- vendor/react/promise/.travis.yml +0 -28
- vendor/react/promise/CHANGELOG.md +0 -135
- vendor/react/promise/composer.json +0 -29
- vendor/react/promise/phpunit.xml.dist +0 -28
assets/css/admin-debug.css
ADDED
@@ -0,0 +1,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
.ctct_options_logging #ctct_error_logs {
|
2 |
+
height: 400px;
|
3 |
+
resize: vertical;
|
4 |
+
width: 100%;
|
5 |
+
padding: 25px;
|
6 |
+
margin: 15px 0 25px;
|
7 |
+
}
|
assets/css/admin-style.css
CHANGED
@@ -26,6 +26,11 @@
|
|
26 |
margin: 0;
|
27 |
}
|
28 |
|
|
|
|
|
|
|
|
|
|
|
29 |
.ctct-modal h3 {
|
30 |
color: #005990;
|
31 |
font-size: 18px;
|
@@ -80,11 +85,12 @@
|
|
80 |
}
|
81 |
|
82 |
.ctct-modal .ctct-modal-content .ctct-modal-header {
|
83 |
-
background: #
|
84 |
border-top-left-radius: 8px;
|
85 |
border-top-right-radius: 8px;
|
86 |
-
padding:
|
87 |
text-align: center;
|
|
|
88 |
}
|
89 |
|
90 |
.ctct-modal .ctct-modal-content .ctct-modal-header p {
|
@@ -97,23 +103,22 @@
|
|
97 |
color: #333;
|
98 |
}
|
99 |
|
100 |
-
.ctct-modal .ctct-modal-content .ctct-modal-header .ctct-logo img {
|
101 |
-
max-width: 75%;
|
102 |
-
}
|
103 |
-
|
104 |
.ctct-modal .ctct-modal-content .ctct-modal-header .ctct-modal-close {
|
105 |
-
color: #
|
106 |
cursor: pointer;
|
107 |
font-size: 26px;
|
108 |
-
height: 16px;
|
109 |
line-height: 0;
|
110 |
margin: 0;
|
111 |
padding: 0;
|
112 |
position: absolute;
|
113 |
-
right:
|
|
|
114 |
text-decoration: none;
|
115 |
-
|
116 |
-
|
|
|
|
|
|
|
117 |
}
|
118 |
|
119 |
.ctct-modal .ctct-modal-content .ctct-modal-header .ctct-modal-close::after {
|
@@ -123,11 +128,11 @@
|
|
123 |
}
|
124 |
|
125 |
.ctct-modal .ctct-modal-content .ctct-modal-footer {
|
126 |
-
background-color: #
|
127 |
border-bottom-left-radius: 8px;
|
128 |
border-bottom-right-radius: 8px;
|
129 |
-
border-top:
|
130 |
-
padding:
|
131 |
text-align: center;
|
132 |
}
|
133 |
|
@@ -169,6 +174,7 @@
|
|
169 |
border: none;
|
170 |
box-shadow: none;
|
171 |
color: #0078c3;
|
|
|
172 |
}
|
173 |
|
174 |
.ctct-modal .ctct-modal-content .ctct-modal-footer .button.button-orange {
|
@@ -202,7 +208,7 @@
|
|
202 |
|
203 |
.ctct-modal .ctct-modal-content .ctct-modal-body.ctct-privacy-modal-body {
|
204 |
height: 350px;
|
205 |
-
overflow:
|
206 |
}
|
207 |
|
208 |
.ctct-modal .ctct-modal-content .ctct-modal-body .ctct-modal-left,
|
@@ -285,10 +291,6 @@
|
|
285 |
padding: 15px;
|
286 |
}
|
287 |
|
288 |
-
.ctct-modal .ctct-modal-content .ctct-modal-body.ctct-custom-textarea .ctct-modal-right img {
|
289 |
-
max-width: 100%;
|
290 |
-
}
|
291 |
-
|
292 |
.ctct-modal .ctct-modal-content .ctct-modal-body .button {
|
293 |
border-radius: 4px;
|
294 |
color: #fff;
|
@@ -323,1024 +325,976 @@
|
|
323 |
color: #555;
|
324 |
}
|
325 |
|
326 |
-
.
|
327 |
display: none;
|
|
|
|
|
328 |
}
|
329 |
|
330 |
-
|
331 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
332 |
}
|
333 |
|
334 |
-
|
335 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
336 |
}
|
337 |
|
338 |
-
|
339 |
-
|
340 |
-
|
341 |
-
|
342 |
}
|
343 |
|
344 |
-
|
345 |
-
|
346 |
-
|
|
|
|
|
|
|
|
|
347 |
}
|
348 |
|
349 |
-
|
350 |
-
|
351 |
-
|
352 |
-
padding-bottom: 0;
|
353 |
}
|
354 |
|
355 |
-
|
356 |
-
padding:
|
|
|
|
|
|
|
357 |
}
|
358 |
|
359 |
-
|
360 |
-
|
|
|
361 |
}
|
362 |
|
363 |
-
|
364 |
-
|
365 |
-
|
366 |
-
border
|
367 |
-
|
|
|
|
|
|
|
|
|
368 |
}
|
369 |
|
370 |
-
|
371 |
-
|
372 |
-
|
373 |
-
|
374 |
-
|
375 |
}
|
376 |
|
377 |
-
|
378 |
-
|
379 |
-
|
380 |
-
|
|
|
381 |
}
|
382 |
|
383 |
-
|
384 |
-
|
385 |
-
|
386 |
-
border
|
387 |
-
padding
|
|
|
|
|
388 |
}
|
389 |
|
390 |
-
|
391 |
-
#
|
392 |
-
#ctct_2_fields_metabox .cmb-repeat-group-wrap {
|
393 |
-
padding: 0;
|
394 |
}
|
395 |
|
396 |
-
|
397 |
-
|
398 |
-
|
399 |
-
margin: 0 0 1.5rem 0;
|
400 |
}
|
401 |
|
402 |
-
|
403 |
-
|
404 |
-
#ctct_2_fields_metabox .cmb-repeat-group-wrap .cmb-repeatable-grouping .cmb-row {
|
405 |
-
margin: 0 0 0 0.3rem;
|
406 |
}
|
407 |
|
408 |
-
|
409 |
-
|
410 |
-
|
411 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
412 |
}
|
413 |
|
414 |
-
|
415 |
-
|
416 |
-
|
417 |
-
|
418 |
-
padding-top: 0.8em;
|
419 |
}
|
420 |
|
421 |
-
|
422 |
-
#
|
423 |
-
|
424 |
-
|
425 |
-
border-color: #006799 !important;
|
426 |
-
color: #fff !important;
|
427 |
}
|
428 |
|
429 |
-
|
430 |
-
#
|
431 |
-
#
|
432 |
-
|
433 |
-
display: none;
|
434 |
}
|
435 |
|
436 |
-
|
437 |
-
|
438 |
-
|
439 |
-
|
|
|
|
|
|
|
|
|
|
|
440 |
}
|
441 |
|
442 |
-
|
443 |
-
#
|
444 |
-
#ctct_2_fields_metabox h3.cmb-group-title.cmbhandle-title {
|
445 |
-
padding-left: 1em;
|
446 |
}
|
447 |
|
448 |
-
#
|
449 |
-
|
450 |
-
padding: 0.5rem 0;
|
451 |
}
|
452 |
|
453 |
-
|
454 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
455 |
}
|
456 |
|
457 |
-
|
458 |
-
|
459 |
}
|
460 |
|
461 |
-
|
462 |
-
|
|
|
|
|
463 |
}
|
464 |
|
465 |
-
|
466 |
-
|
467 |
}
|
468 |
|
469 |
-
|
470 |
-
|
471 |
-
|
472 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
473 |
}
|
474 |
|
475 |
-
|
476 |
-
|
|
|
|
|
|
|
477 |
}
|
478 |
|
479 |
-
|
480 |
-
|
|
|
|
|
|
|
481 |
}
|
482 |
|
483 |
-
|
484 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
485 |
}
|
486 |
|
487 |
-
|
488 |
-
|
489 |
-
|
490 |
-
|
491 |
}
|
492 |
|
493 |
-
|
494 |
-
|
495 |
-
|
|
|
|
|
496 |
}
|
497 |
|
498 |
-
|
499 |
-
|
500 |
-
margin
|
501 |
-
|
502 |
-
|
503 |
-
|
|
|
|
|
|
|
|
|
|
|
504 |
}
|
505 |
|
506 |
-
|
507 |
-
|
508 |
-
|
|
|
509 |
}
|
510 |
|
511 |
-
|
512 |
-
|
513 |
-
float: left;
|
514 |
-
width: 50%;
|
515 |
}
|
516 |
|
517 |
-
|
518 |
-
|
|
|
519 |
}
|
520 |
|
521 |
-
|
522 |
-
|
523 |
}
|
524 |
|
525 |
-
.
|
526 |
-
|
527 |
-
background-
|
528 |
-
background-color: #fff;
|
529 |
-
background-repeat: no-repeat;
|
530 |
-
background-size: 100% 30px, 100% 30px, 100% 10px, 100% 10px;
|
531 |
-
max-height: 10rem;
|
532 |
-
overflow-y: auto;
|
533 |
}
|
534 |
|
535 |
-
.
|
536 |
-
|
537 |
}
|
538 |
|
539 |
-
|
540 |
-
|
|
|
|
|
541 |
}
|
542 |
|
543 |
-
.ctct_options_connect {
|
544 |
-
|
545 |
-
|
546 |
-
|
547 |
-
|
548 |
}
|
549 |
|
550 |
-
.ctct_options_connect
|
551 |
-
|
|
|
|
|
552 |
}
|
553 |
|
554 |
-
|
555 |
-
|
556 |
-
|
557 |
-
|
558 |
-
|
|
|
|
|
559 |
}
|
560 |
|
561 |
-
.ctct_options_connect
|
562 |
-
margin
|
563 |
-
|
564 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
565 |
width: 100%;
|
|
|
566 |
}
|
567 |
|
568 |
-
.ctct_options_connect .ctct-
|
569 |
-
|
570 |
-
|
|
|
571 |
}
|
572 |
|
573 |
-
.ctct_options_connect .ctct-
|
574 |
-
|
575 |
-
|
576 |
}
|
577 |
|
578 |
-
.ctct_options_connect .ctct-
|
579 |
-
|
|
|
|
|
580 |
}
|
581 |
|
582 |
-
|
583 |
-
|
584 |
-
|
585 |
-
}
|
586 |
}
|
587 |
|
588 |
-
.
|
589 |
-
|
|
|
|
|
590 |
}
|
591 |
|
592 |
-
.
|
593 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
594 |
}
|
595 |
|
596 |
-
.
|
597 |
-
|
|
|
598 |
}
|
599 |
|
600 |
-
.
|
601 |
-
|
602 |
-
|
603 |
-
|
604 |
}
|
605 |
|
606 |
-
.
|
607 |
-
|
608 |
-
|
|
|
609 |
}
|
610 |
|
611 |
-
|
612 |
-
|
613 |
-
float: none;
|
614 |
-
}
|
615 |
}
|
616 |
|
617 |
-
.
|
618 |
-
|
619 |
-
|
|
|
|
|
|
|
620 |
width: 100%;
|
621 |
}
|
622 |
|
623 |
-
.
|
624 |
-
|
625 |
-
font-size: 20px;
|
626 |
-
line-height: 1.2;
|
627 |
-
margin-bottom: 10px;
|
628 |
-
margin-top: 10px;
|
629 |
}
|
630 |
|
631 |
-
.
|
632 |
-
|
633 |
-
font-size: 14.7px;
|
634 |
-
margin: 0;
|
635 |
}
|
636 |
|
637 |
-
|
638 |
-
|
639 |
-
|
640 |
-
|
641 |
}
|
642 |
|
643 |
-
.
|
644 |
-
|
645 |
-
font-size: 13.3px;
|
646 |
-
margin: 15px auto 0;
|
647 |
}
|
648 |
|
649 |
-
@media
|
650 |
-
.
|
651 |
-
|
|
|
652 |
}
|
653 |
}
|
654 |
|
655 |
-
.
|
656 |
-
|
657 |
-
|
658 |
-
overflow
|
659 |
-
position: relative;
|
660 |
}
|
661 |
|
662 |
-
.
|
663 |
-
|
664 |
-
|
665 |
-
|
666 |
}
|
667 |
|
668 |
-
.
|
669 |
-
|
670 |
-
|
|
|
671 |
}
|
672 |
|
673 |
-
|
674 |
-
|
675 |
-
|
676 |
-
|
677 |
}
|
678 |
|
679 |
-
.
|
680 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
681 |
}
|
682 |
|
683 |
-
.
|
684 |
-
|
685 |
-
height: 0;
|
686 |
-
width: 100%;
|
687 |
}
|
688 |
|
689 |
-
.
|
690 |
-
|
691 |
-
|
692 |
-
|
693 |
-
|
694 |
-
|
695 |
-
|
696 |
-
width: 50%;
|
697 |
}
|
698 |
|
699 |
-
|
700 |
-
|
701 |
-
.ctct_options_connect .ctct-body .right {
|
702 |
-
float: none;
|
703 |
-
margin-bottom: 0;
|
704 |
-
padding: 15px 0;
|
705 |
-
width: 100%;
|
706 |
-
}
|
707 |
}
|
708 |
|
709 |
-
.
|
710 |
-
|
711 |
-
.ctct_options_connect .ctct-body .right img.flare,
|
712 |
-
.ctct_options_connect .ctct-body .right svg.flare {
|
713 |
-
height: auto;
|
714 |
-
width: 180px;
|
715 |
}
|
716 |
|
717 |
-
|
718 |
-
|
719 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
720 |
}
|
721 |
|
722 |
-
@media
|
723 |
-
.
|
724 |
-
|
725 |
-
border-right: 0;
|
726 |
-
padding-bottom: 30px;
|
727 |
-
padding-right: 0;
|
728 |
}
|
729 |
}
|
730 |
|
731 |
-
.
|
732 |
-
|
733 |
-
|
734 |
}
|
735 |
|
736 |
-
|
737 |
-
|
738 |
-
|
739 |
-
|
|
|
740 |
}
|
741 |
|
742 |
-
.
|
743 |
-
|
744 |
}
|
745 |
|
746 |
-
|
747 |
-
|
748 |
-
padding-left: 0;
|
749 |
-
padding-top: 30px;
|
750 |
-
}
|
751 |
}
|
752 |
|
753 |
-
.
|
754 |
-
display:
|
755 |
-
|
756 |
-
max-width: 350px;
|
757 |
}
|
758 |
|
759 |
-
|
760 |
-
|
761 |
-
|
762 |
-
|
|
|
|
|
|
|
763 |
}
|
764 |
|
765 |
-
.
|
766 |
border-radius: 4px;
|
767 |
color: #fff;
|
768 |
font-size: 16px;
|
769 |
font-weight: 600;
|
770 |
height: auto;
|
771 |
line-height: 1;
|
772 |
-
margin-bottom: 10px;
|
773 |
min-width: 180px;
|
774 |
padding: 14px 30px;
|
|
|
775 |
}
|
776 |
|
777 |
-
.
|
778 |
background-color: #ffa901;
|
779 |
border: 1px solid #cd8800;
|
780 |
}
|
781 |
|
782 |
-
.
|
783 |
background-color: #cd8800;
|
784 |
}
|
785 |
|
786 |
-
.
|
787 |
background-color: #0078c3;
|
788 |
border: 1px solid #005990;
|
789 |
}
|
790 |
|
791 |
-
.
|
792 |
background-color: #005990;
|
793 |
}
|
794 |
|
795 |
-
.
|
796 |
-
margin-
|
|
|
|
|
797 |
}
|
798 |
|
799 |
-
.
|
800 |
-
|
801 |
}
|
802 |
|
803 |
-
.
|
804 |
-
|
805 |
-
margin-bottom: 50px;
|
806 |
-
overflow: hidden;
|
807 |
-
text-align: left;
|
808 |
}
|
809 |
|
810 |
-
.
|
811 |
-
|
812 |
}
|
813 |
|
814 |
-
.
|
815 |
-
|
816 |
}
|
817 |
|
818 |
-
|
819 |
-
|
820 |
}
|
821 |
|
822 |
-
.
|
823 |
-
|
|
|
|
|
824 |
}
|
825 |
|
826 |
-
|
827 |
-
|
|
|
828 |
}
|
829 |
|
830 |
-
|
831 |
-
|
832 |
-
|
833 |
-
|
834 |
-
}
|
835 |
-
.ctct_options_connect .ctct-body .ctct-connected form {
|
836 |
-
float: none;
|
837 |
-
}
|
838 |
}
|
839 |
|
840 |
-
.ctct-
|
841 |
-
|
842 |
-
border: 1px solid #ff4136;
|
843 |
-
border-radius: 3px;
|
844 |
-
box-shadow: none !important;
|
845 |
-
display: inline-block;
|
846 |
-
margin: 0 0 20px 0 !important;
|
847 |
}
|
848 |
|
849 |
-
.
|
850 |
-
|
851 |
}
|
852 |
|
853 |
-
.
|
854 |
-
.
|
855 |
-
|
856 |
-
|
|
|
857 |
}
|
858 |
|
859 |
-
|
860 |
-
|
|
|
|
|
|
|
861 |
}
|
862 |
|
863 |
-
#
|
864 |
-
|
|
|
|
|
865 |
}
|
866 |
|
867 |
-
#
|
868 |
-
|
869 |
-
|
|
|
|
|
870 |
}
|
871 |
|
872 |
-
#
|
873 |
-
#
|
874 |
-
|
875 |
-
|
876 |
}
|
877 |
|
878 |
-
.
|
879 |
-
|
|
|
|
|
880 |
}
|
881 |
|
882 |
-
.
|
883 |
-
|
|
|
|
|
884 |
}
|
885 |
|
886 |
-
.
|
887 |
-
|
|
|
|
|
888 |
}
|
889 |
|
890 |
-
.
|
891 |
-
|
892 |
-
|
|
|
|
|
893 |
}
|
894 |
|
895 |
-
.
|
896 |
-
|
897 |
-
|
|
|
|
|
|
|
898 |
}
|
899 |
|
900 |
-
.
|
901 |
-
|
|
|
|
|
|
|
902 |
}
|
903 |
|
904 |
-
.
|
905 |
-
|
|
|
|
|
906 |
}
|
907 |
|
908 |
-
|
909 |
-
|
910 |
-
|
911 |
-
|
912 |
}
|
913 |
|
914 |
-
|
915 |
-
|
|
|
916 |
}
|
917 |
|
918 |
-
.
|
919 |
-
|
920 |
-
font-size: 26px;
|
921 |
-
margin: 0 0 15px 0;
|
922 |
}
|
923 |
|
924 |
-
.
|
925 |
-
|
926 |
}
|
927 |
|
928 |
-
.
|
929 |
-
|
930 |
-
font-size: 16px;
|
931 |
-
font-weight: 300;
|
932 |
}
|
933 |
|
934 |
-
.
|
935 |
-
|
936 |
-
height: 0;
|
937 |
-
width: 100%;
|
938 |
}
|
939 |
|
940 |
-
|
941 |
-
|
942 |
-
|
943 |
-
|
944 |
-
font-weight: 600;
|
945 |
-
height: auto;
|
946 |
-
line-height: 1;
|
947 |
-
margin-bottom: 10px;
|
948 |
-
min-width: 180px;
|
949 |
-
padding: 14px 30px;
|
950 |
-
text-align: center;
|
951 |
}
|
952 |
|
953 |
-
|
954 |
-
|
955 |
-
border: 1px solid #cd8800;
|
956 |
}
|
957 |
|
958 |
-
|
959 |
-
|
960 |
}
|
961 |
|
962 |
-
|
963 |
-
|
964 |
-
border: 1px solid #005990;
|
965 |
}
|
966 |
|
967 |
-
|
968 |
-
|
|
|
|
|
969 |
}
|
970 |
|
971 |
-
|
972 |
-
|
|
|
973 |
}
|
974 |
|
975 |
-
|
976 |
-
|
977 |
-
|
978 |
-
|
|
|
|
|
979 |
}
|
980 |
|
981 |
-
|
982 |
-
|
983 |
-
|
984 |
}
|
985 |
|
986 |
-
|
987 |
-
|
|
|
|
|
988 |
}
|
989 |
|
990 |
-
|
991 |
-
|
992 |
-
max-width: 100%;
|
993 |
-
}
|
994 |
}
|
995 |
|
996 |
-
.
|
997 |
-
|
998 |
}
|
999 |
|
1000 |
-
.
|
1001 |
-
|
1002 |
-
|
1003 |
-
|
|
|
|
|
|
|
|
|
1004 |
}
|
1005 |
|
1006 |
-
.
|
1007 |
-
|
1008 |
-
text-align: center;
|
1009 |
}
|
1010 |
|
1011 |
-
.
|
1012 |
-
|
|
|
1013 |
position: relative;
|
1014 |
}
|
1015 |
|
1016 |
-
.
|
1017 |
-
|
1018 |
-
margin: 20px;
|
1019 |
-
max-width: 720px;
|
1020 |
-
overflow: hidden;
|
1021 |
-
}
|
1022 |
-
|
1023 |
-
.constant-contact-about .introduction {
|
1024 |
-
padding: 20px 0;
|
1025 |
-
}
|
1026 |
-
|
1027 |
-
.constant-contact-about .featured-title {
|
1028 |
-
color: #fff;
|
1029 |
-
font-size: 2rem;
|
1030 |
-
font-weight: bold;
|
1031 |
-
margin: 0 auto;
|
1032 |
-
position: absolute;
|
1033 |
-
text-align: center;
|
1034 |
-
text-shadow: 0 0 15px #000;
|
1035 |
-
top: 80px;
|
1036 |
-
width: 100%;
|
1037 |
}
|
1038 |
|
1039 |
-
|
1040 |
-
|
1041 |
-
color: #1a5285;
|
1042 |
-
font-size: 26px;
|
1043 |
-
line-height: 28px;
|
1044 |
-
margin-top: 15px;
|
1045 |
-
position: relative;
|
1046 |
-
text-shadow: none;
|
1047 |
-
top: 0;
|
1048 |
-
}
|
1049 |
}
|
1050 |
|
1051 |
-
|
1052 |
-
|
1053 |
-
|
1054 |
-
margin: 0 auto;
|
1055 |
-
position: absolute;
|
1056 |
-
text-align: center;
|
1057 |
-
text-shadow: 0 0 15px #000;
|
1058 |
-
top: 120px;
|
1059 |
-
width: 100%;
|
1060 |
}
|
1061 |
|
1062 |
-
|
1063 |
-
|
1064 |
-
|
1065 |
-
|
1066 |
-
margin-top: 15px;
|
1067 |
-
position: relative;
|
1068 |
-
text-shadow: none;
|
1069 |
-
top: 0;
|
1070 |
-
}
|
1071 |
}
|
1072 |
|
1073 |
-
.
|
1074 |
overflow: hidden;
|
1075 |
-
position: relative;
|
1076 |
}
|
1077 |
|
1078 |
-
.
|
1079 |
-
|
1080 |
-
}
|
1081 |
-
|
1082 |
-
.constant-contact-about .hide-overflow h2 {
|
1083 |
-
color: #1a5285;
|
1084 |
-
font-size: 16px;
|
1085 |
-
font-weight: 400;
|
1086 |
-
margin-top: 30px;
|
1087 |
-
text-align: left;
|
1088 |
}
|
1089 |
|
1090 |
-
.
|
1091 |
-
box-sizing: border-box;
|
1092 |
float: left;
|
1093 |
-
padding-right: 160px;
|
1094 |
-
}
|
1095 |
-
|
1096 |
-
@media screen and (max-width: 482px) {
|
1097 |
-
.constant-contact-about .left-side {
|
1098 |
-
padding-right: 0;
|
1099 |
-
}
|
1100 |
-
}
|
1101 |
-
|
1102 |
-
.constant-contact-about .plugin-badge {
|
1103 |
-
float: right;
|
1104 |
-
margin-left: 40px;
|
1105 |
-
max-height: 180px;
|
1106 |
-
max-width: 160px;
|
1107 |
-
}
|
1108 |
-
|
1109 |
-
@media screen and (max-width: 482px) {
|
1110 |
-
.constant-contact-about .plugin-badge {
|
1111 |
-
display: none;
|
1112 |
-
}
|
1113 |
-
}
|
1114 |
-
|
1115 |
-
.constant-contact-about .feature-image {
|
1116 |
-
text-align: center;
|
1117 |
-
}
|
1118 |
-
|
1119 |
-
.cc-a-block {
|
1120 |
-
margin: 0 auto;
|
1121 |
-
max-width: 90%;
|
1122 |
-
padding: 50px 0;
|
1123 |
-
text-align: center;
|
1124 |
-
}
|
1125 |
-
|
1126 |
-
.cc-a-block::after {
|
1127 |
-
clear: both;
|
1128 |
-
content: '';
|
1129 |
-
display: table;
|
1130 |
}
|
1131 |
|
1132 |
-
|
1133 |
-
|
1134 |
-
|
1135 |
-
}
|
1136 |
}
|
1137 |
|
1138 |
-
.
|
1139 |
color: #1a5285;
|
1140 |
-
|
1141 |
-
font-weight: 300;
|
1142 |
-
height: 63px;
|
1143 |
-
margin: 0 auto;
|
1144 |
-
max-width: 70%;
|
1145 |
-
}
|
1146 |
-
|
1147 |
-
@media screen and (max-width: 782px) {
|
1148 |
-
.cc-a-block h3 {
|
1149 |
-
height: auto;
|
1150 |
-
max-width: 100%;
|
1151 |
-
}
|
1152 |
}
|
1153 |
|
1154 |
-
.
|
1155 |
-
.cc-a-block .right {
|
1156 |
float: left;
|
1157 |
-
width: 50%;
|
1158 |
}
|
1159 |
|
1160 |
-
.
|
1161 |
-
|
1162 |
-
|
1163 |
-
|
1164 |
-
display: table;
|
1165 |
}
|
1166 |
|
1167 |
-
|
1168 |
-
|
1169 |
-
.cc-a-block .right {
|
1170 |
-
float: none;
|
1171 |
-
width: 100%;
|
1172 |
-
}
|
1173 |
}
|
1174 |
|
1175 |
-
.
|
1176 |
-
|
1177 |
-
|
1178 |
-
|
1179 |
-
width: 90%;
|
1180 |
}
|
1181 |
|
1182 |
-
@media
|
1183 |
-
.
|
1184 |
-
|
1185 |
-
.cc-a-block .right .ad-1,
|
1186 |
-
.cc-a-block .right .ad-2 {
|
1187 |
-
float: none;
|
1188 |
-
width: 100%;
|
1189 |
}
|
1190 |
}
|
1191 |
|
1192 |
-
.
|
1193 |
-
|
1194 |
-
|
1195 |
-
|
1196 |
-
|
1197 |
-
width: 100%;
|
1198 |
-
}
|
1199 |
-
|
1200 |
-
.cc-a-block .left .ad-1,
|
1201 |
-
.cc-a-block .right .ad-1 {
|
1202 |
-
float: left;
|
1203 |
}
|
1204 |
|
1205 |
-
.
|
1206 |
-
|
1207 |
-
height:
|
1208 |
-
padding-top: 35px;
|
1209 |
}
|
1210 |
|
1211 |
-
.
|
1212 |
-
|
1213 |
-
float: right;
|
1214 |
}
|
1215 |
|
1216 |
-
.ctct-
|
1217 |
-
color: #2b5e8c;
|
1218 |
font-size: 16px;
|
1219 |
-
font-weight: 300;
|
1220 |
-
list-style: circle;
|
1221 |
-
padding-left: 50px;
|
1222 |
}
|
1223 |
|
1224 |
-
.
|
1225 |
-
|
1226 |
}
|
1227 |
|
1228 |
-
.
|
1229 |
-
|
1230 |
}
|
1231 |
|
1232 |
-
.
|
1233 |
-
|
|
|
|
|
|
|
1234 |
}
|
1235 |
|
1236 |
-
.
|
1237 |
-
|
|
|
|
|
|
|
|
|
|
|
1238 |
}
|
1239 |
|
1240 |
-
.
|
1241 |
-
|
1242 |
-
|
1243 |
}
|
1244 |
|
1245 |
-
|
1246 |
-
|
1247 |
-
|
1248 |
-
|
1249 |
-
.cmb2-options-page[class*="option-ctct_options_settings_"] .cmb2-metabox > .cmb-row {
|
1250 |
-
background: transparent;
|
1251 |
-
border: none;
|
1252 |
-
box-shadow: none;
|
1253 |
}
|
1254 |
|
1255 |
-
.
|
1256 |
-
|
1257 |
-
|
1258 |
-
|
1259 |
}
|
1260 |
|
1261 |
-
.
|
1262 |
-
|
|
|
1263 |
}
|
1264 |
|
1265 |
-
.
|
1266 |
-
|
1267 |
-
|
1268 |
-
text-align: center;
|
1269 |
-
width: 100%;
|
1270 |
}
|
1271 |
|
1272 |
-
|
1273 |
-
|
1274 |
-
|
1275 |
-
padding: 30px 30px 0;
|
1276 |
-
}
|
1277 |
}
|
1278 |
|
1279 |
-
.
|
1280 |
-
|
1281 |
-
max-width: 400px;
|
1282 |
width: 100%;
|
|
|
|
|
|
|
|
|
|
|
1283 |
}
|
1284 |
|
1285 |
-
.
|
1286 |
-
color: #
|
1287 |
-
font-size: 16px;
|
1288 |
-
}
|
1289 |
-
|
1290 |
-
.ctct_options_connect .ctct-description {
|
1291 |
-
text-align: left;
|
1292 |
}
|
1293 |
|
1294 |
-
.
|
1295 |
-
|
1296 |
-
|
1297 |
-
|
1298 |
-
padding: 0 15px;
|
1299 |
-
position: relative;
|
1300 |
}
|
1301 |
|
1302 |
-
.
|
1303 |
-
|
1304 |
-
|
1305 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1306 |
}
|
1307 |
|
1308 |
-
.
|
1309 |
-
background: none;
|
1310 |
-
border-left: none;
|
1311 |
box-shadow: none;
|
1312 |
-
margin: 0 0 20px 0;
|
1313 |
-
padding: 0;
|
1314 |
}
|
1315 |
|
1316 |
-
.
|
1317 |
border-radius: 4px;
|
1318 |
-
|
1319 |
-
font-size: 16px;
|
1320 |
-
font-weight: 600;
|
1321 |
-
height: auto;
|
1322 |
-
line-height: 1;
|
1323 |
-
margin-bottom: 10px;
|
1324 |
-
min-width: 180px;
|
1325 |
-
padding: 14px 30px;
|
1326 |
-
}
|
1327 |
-
|
1328 |
-
.ctct_options_connect .ctct-body .button.button-orange {
|
1329 |
-
background-color: #ffa901;
|
1330 |
-
border: 1px solid #cd8800;
|
1331 |
-
}
|
1332 |
-
|
1333 |
-
.ctct_options_connect .ctct-body .button.button-orange:hover, .ctct_options_connect .ctct-body .button.button-orange:focus {
|
1334 |
-
background-color: #cd8800;
|
1335 |
-
}
|
1336 |
-
|
1337 |
-
.ctct_options_connect .ctct-body .button.button-blue {
|
1338 |
-
background-color: #0078c3;
|
1339 |
-
border: 1px solid #005990;
|
1340 |
-
}
|
1341 |
-
|
1342 |
-
.ctct_options_connect .ctct-body .button.button-blue:hover, .ctct_options_connect .ctct-body .button.button-blue:focus {
|
1343 |
-
background-color: #005990;
|
1344 |
}
|
1345 |
|
1346 |
.ctct-block-title {
|
26 |
margin: 0;
|
27 |
}
|
28 |
|
29 |
+
.ctct-modal h2 img {
|
30 |
+
display: block;
|
31 |
+
max-width: 300px;
|
32 |
+
}
|
33 |
+
|
34 |
.ctct-modal h3 {
|
35 |
color: #005990;
|
36 |
font-size: 18px;
|
85 |
}
|
86 |
|
87 |
.ctct-modal .ctct-modal-content .ctct-modal-header {
|
88 |
+
background: #f7f7f7;
|
89 |
border-top-left-radius: 8px;
|
90 |
border-top-right-radius: 8px;
|
91 |
+
padding: 30px;
|
92 |
text-align: center;
|
93 |
+
border-bottom: 1px solid #fff;
|
94 |
}
|
95 |
|
96 |
.ctct-modal .ctct-modal-content .ctct-modal-header p {
|
103 |
color: #333;
|
104 |
}
|
105 |
|
|
|
|
|
|
|
|
|
106 |
.ctct-modal .ctct-modal-content .ctct-modal-header .ctct-modal-close {
|
107 |
+
color: #000;
|
108 |
cursor: pointer;
|
109 |
font-size: 26px;
|
|
|
110 |
line-height: 0;
|
111 |
margin: 0;
|
112 |
padding: 0;
|
113 |
position: absolute;
|
114 |
+
right: 15px;
|
115 |
+
top: 15px;
|
116 |
text-decoration: none;
|
117 |
+
width: 24px;
|
118 |
+
height: 24px;
|
119 |
+
display: flex;
|
120 |
+
align-items: center;
|
121 |
+
justify-content: center;
|
122 |
}
|
123 |
|
124 |
.ctct-modal .ctct-modal-content .ctct-modal-header .ctct-modal-close::after {
|
128 |
}
|
129 |
|
130 |
.ctct-modal .ctct-modal-content .ctct-modal-footer {
|
131 |
+
background-color: #f7f7f7;
|
132 |
border-bottom-left-radius: 8px;
|
133 |
border-bottom-right-radius: 8px;
|
134 |
+
border-top: 1px solid #fff;
|
135 |
+
padding: 20px;
|
136 |
text-align: center;
|
137 |
}
|
138 |
|
174 |
border: none;
|
175 |
box-shadow: none;
|
176 |
color: #0078c3;
|
177 |
+
background-color: #fff;
|
178 |
}
|
179 |
|
180 |
.ctct-modal .ctct-modal-content .ctct-modal-footer .button.button-orange {
|
208 |
|
209 |
.ctct-modal .ctct-modal-content .ctct-modal-body.ctct-privacy-modal-body {
|
210 |
height: 350px;
|
211 |
+
overflow-y: auto;
|
212 |
}
|
213 |
|
214 |
.ctct-modal .ctct-modal-content .ctct-modal-body .ctct-modal-left,
|
291 |
padding: 15px;
|
292 |
}
|
293 |
|
|
|
|
|
|
|
|
|
294 |
.ctct-modal .ctct-modal-content .ctct-modal-body .button {
|
295 |
border-radius: 4px;
|
296 |
color: #fff;
|
325 |
color: #555;
|
326 |
}
|
327 |
|
328 |
+
.ctct-header {
|
329 |
display: none;
|
330 |
+
position: relative;
|
331 |
+
z-index: 2;
|
332 |
}
|
333 |
|
334 |
+
@media (min-width: 599px) {
|
335 |
+
.ctct-header {
|
336 |
+
margin: 0 0 0 -20px;
|
337 |
+
padding: 0 0 0 20px;
|
338 |
+
background-color: #fff;
|
339 |
+
border-bottom: 1px solid #c3c4c7;
|
340 |
+
display: flex;
|
341 |
+
width: 100%;
|
342 |
+
align-items: center;
|
343 |
+
}
|
344 |
}
|
345 |
|
346 |
+
.ctct-header h2 {
|
347 |
+
margin: 0;
|
348 |
+
padding: 0 0 0 39px;
|
349 |
+
min-height: 32px;
|
350 |
+
line-height: 32px;
|
351 |
+
background: #fff url(../images/ctct-icon-2x.png) no-repeat 0 48%;
|
352 |
+
background-size: 32px 32px;
|
353 |
+
text-indent: -9999px;
|
354 |
}
|
355 |
|
356 |
+
@media (min-width: 767px) {
|
357 |
+
.ctct-header h2 {
|
358 |
+
text-indent: 0;
|
359 |
+
}
|
360 |
}
|
361 |
|
362 |
+
.ctct-header ul {
|
363 |
+
padding: 0 0 0 20px;
|
364 |
+
margin: 0;
|
365 |
+
flex: 1;
|
366 |
+
display: flex;
|
367 |
+
align-items: center;
|
368 |
+
width: 100%;
|
369 |
}
|
370 |
|
371 |
+
.ctct-header ul li {
|
372 |
+
margin: 0 15px 0 0;
|
373 |
+
padding: 0;
|
|
|
374 |
}
|
375 |
|
376 |
+
.ctct-header ul li a {
|
377 |
+
padding: 20px 5px;
|
378 |
+
display: block;
|
379 |
+
text-decoration: none;
|
380 |
+
position: relative;
|
381 |
}
|
382 |
|
383 |
+
.ctct-header ul li a.is-active {
|
384 |
+
font-weight: 600;
|
385 |
+
text-decoration: underline;
|
386 |
}
|
387 |
|
388 |
+
.ctct-header ul li a.is-active::after, .ctct-header ul li a.is-active::before {
|
389 |
+
top: 100%;
|
390 |
+
left: 50%;
|
391 |
+
border: solid transparent;
|
392 |
+
content: "";
|
393 |
+
height: 0;
|
394 |
+
width: 0;
|
395 |
+
position: absolute;
|
396 |
+
pointer-events: none;
|
397 |
}
|
398 |
|
399 |
+
.ctct-header ul li a.is-active::after {
|
400 |
+
border-color: rgba(255, 255, 255, 0);
|
401 |
+
border-top-color: #fff;
|
402 |
+
border-width: 7px;
|
403 |
+
margin-left: -7px;
|
404 |
}
|
405 |
|
406 |
+
.ctct-header ul li a.is-active::before {
|
407 |
+
border-color: rgba(195, 196, 199, 0);
|
408 |
+
border-top-color: #c3c4c7;
|
409 |
+
border-width: 8px;
|
410 |
+
margin-left: -8px;
|
411 |
}
|
412 |
|
413 |
+
.ctct-header ul li a.ctct-connect-btn {
|
414 |
+
color: #fff;
|
415 |
+
background-color: #1856ed;
|
416 |
+
border: 1px solid #2a57d5;
|
417 |
+
padding: 8px;
|
418 |
+
border-radius: 3px;
|
419 |
+
font-weight: 500;
|
420 |
}
|
421 |
|
422 |
+
.ctct-header ul li a.ctct-connect-btn:hover, .ctct-header ul li a.ctct-connect-btn:focus {
|
423 |
+
background-color: #2a57d5;
|
|
|
|
|
424 |
}
|
425 |
|
426 |
+
.ctct-header ul li a.ctct-disconnect a {
|
427 |
+
background-color: #ff9500;
|
428 |
+
border: 1px solid #e38400;
|
|
|
429 |
}
|
430 |
|
431 |
+
.ctct-header ul li a.ctct-disconnect a:hover, .ctct-header ul li a.ctct-disconnect a:focus {
|
432 |
+
background-color: #e38400;
|
|
|
|
|
433 |
}
|
434 |
|
435 |
+
.ctct-header .ctct-status {
|
436 |
+
display: none;
|
437 |
+
align-items: center;
|
438 |
+
margin-right: 20px;
|
439 |
+
font-weight: 500;
|
440 |
+
padding: 7px 10px;
|
441 |
+
border: 1px solid #fff;
|
442 |
+
border-radius: 4px;
|
443 |
+
text-decoration: none;
|
444 |
+
color: #646970;
|
445 |
}
|
446 |
|
447 |
+
@media (min-width: 992px) {
|
448 |
+
.ctct-header .ctct-status {
|
449 |
+
display: flex;
|
450 |
+
}
|
|
|
451 |
}
|
452 |
|
453 |
+
.ctct-header .ctct-status:hover, .ctct-header .ctct-status:focus {
|
454 |
+
color: #000;
|
455 |
+
border-color: #ddd;
|
456 |
+
box-shadow: 0 1px 5px rgba(0, 0, 0, 0.055);
|
|
|
|
|
457 |
}
|
458 |
|
459 |
+
.ctct-header .ctct-status:focus {
|
460 |
+
background-color: #f7f7f7;
|
461 |
+
color: #000;
|
462 |
+
box-shadow: none;
|
|
|
463 |
}
|
464 |
|
465 |
+
.ctct-header .ctct-status::before {
|
466 |
+
content: '';
|
467 |
+
display: block;
|
468 |
+
width: 10px;
|
469 |
+
height: 10px;
|
470 |
+
border-radius: 100%;
|
471 |
+
background-color: #ff4136;
|
472 |
+
margin-right: 7px;
|
473 |
+
box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
|
474 |
}
|
475 |
|
476 |
+
.ctct-header .ctct-status.ctct-connected::before {
|
477 |
+
background-color: #2ecc40;
|
|
|
|
|
478 |
}
|
479 |
|
480 |
+
#adminmenu .wp-submenu a[href='edit.php?post_type=ctct_forms&page=ctct_options_connect'] {
|
481 |
+
color: #3ad182;
|
|
|
482 |
}
|
483 |
|
484 |
+
.wrap.ctct_options_connect {
|
485 |
+
box-sizing: border-box;
|
486 |
+
margin: 35px auto 0;
|
487 |
+
padding: 35px;
|
488 |
+
max-width: 850px;
|
489 |
+
position: relative;
|
490 |
+
background-color: #fff;
|
491 |
+
border: 1px solid #ddd;
|
492 |
+
border-radius: 8px;
|
493 |
+
box-shadow: 0 4px 10px rgba(0, 0, 0, 0.065);
|
494 |
+
text-align: center;
|
495 |
+
z-index: 1;
|
496 |
}
|
497 |
|
498 |
+
.wrap.ctct_options_connect * {
|
499 |
+
box-sizing: border-box;
|
500 |
}
|
501 |
|
502 |
+
@media (min-width: 767px) {
|
503 |
+
.wrap.ctct_options_connect {
|
504 |
+
margin: 55px auto 0;
|
505 |
+
}
|
506 |
}
|
507 |
|
508 |
+
.wrap.ctct_options_connect.text-left {
|
509 |
+
text-align: left;
|
510 |
}
|
511 |
|
512 |
+
.wrap.ctct_options_connect::before {
|
513 |
+
width: 46px;
|
514 |
+
height: 46px;
|
515 |
+
position: absolute;
|
516 |
+
left: 50%;
|
517 |
+
top: -23px;
|
518 |
+
margin-left: -23px;
|
519 |
+
display: block;
|
520 |
+
border-radius: 100%;
|
521 |
+
content: '';
|
522 |
+
z-index: -1;
|
523 |
+
border-top: 1px solid #ddd;
|
524 |
+
background: #fff url(../images/ctct-icon-2x.png) no-repeat center 45%;
|
525 |
}
|
526 |
|
527 |
+
.wrap.ctct_options_connect h2 {
|
528 |
+
font-size: 24px;
|
529 |
+
font-weight: 700;
|
530 |
+
margin: 0 0 15px;
|
531 |
+
padding: 0;
|
532 |
}
|
533 |
|
534 |
+
.wrap.ctct_options_connect h2 + p {
|
535 |
+
font-size: 16px;
|
536 |
+
margin: 0 0 25px;
|
537 |
+
padding: 0 10% 25px;
|
538 |
+
position: relative;
|
539 |
}
|
540 |
|
541 |
+
.wrap.ctct_options_connect h2 + p::after {
|
542 |
+
position: absolute;
|
543 |
+
content: '';
|
544 |
+
height: 1px;
|
545 |
+
width: 50px;
|
546 |
+
left: 50%;
|
547 |
+
bottom: 0;
|
548 |
+
margin-left: -25px;
|
549 |
+
background-color: #ddd;
|
550 |
}
|
551 |
|
552 |
+
.wrap.ctct_options_connect .ctct-connected-wrap {
|
553 |
+
padding: 45px 35px;
|
554 |
+
background-color: #f7f7f7;
|
555 |
+
border-radius: 4px;
|
556 |
}
|
557 |
|
558 |
+
.wrap.ctct_options_connect .ctct-call-to-actions {
|
559 |
+
display: flex;
|
560 |
+
flex-wrap: wrap;
|
561 |
+
width: 100%;
|
562 |
+
justify-content: space-between;
|
563 |
}
|
564 |
|
565 |
+
.wrap.ctct_options_connect .ctct-call-to-actions--item {
|
566 |
+
width: 100%;
|
567 |
+
margin: 0 0 25px;
|
568 |
+
padding: 30px 25px 25px;
|
569 |
+
background-color: #f7f7f7;
|
570 |
+
display: flex;
|
571 |
+
justify-content: center;
|
572 |
+
flex-wrap: wrap;
|
573 |
+
border-radius: 6px;
|
574 |
+
border: 1px solid #e9e9e9;
|
575 |
+
transition: all 0.15s ease;
|
576 |
}
|
577 |
|
578 |
+
@media (min-width: 767px) {
|
579 |
+
.wrap.ctct_options_connect .ctct-call-to-actions--item {
|
580 |
+
width: calc(50% - 5px);
|
581 |
+
}
|
582 |
}
|
583 |
|
584 |
+
.wrap.ctct_options_connect .ctct-call-to-actions--item:hover {
|
585 |
+
box-shadow: 0 4px 10px rgba(0, 0, 0, 0.065);
|
|
|
|
|
586 |
}
|
587 |
|
588 |
+
.wrap.ctct_options_connect .ctct-call-to-actions--item.connect-account {
|
589 |
+
border-color: #d1dfe8;
|
590 |
+
background-color: #f5faff;
|
591 |
}
|
592 |
|
593 |
+
.wrap.ctct_options_connect .ctct-call-to-actions--item.connect-account:hover {
|
594 |
+
border-color: #90afc3;
|
595 |
}
|
596 |
|
597 |
+
.wrap.ctct_options_connect .ctct-call-to-actions--item.no-account {
|
598 |
+
border-color: #e2d9c4;
|
599 |
+
background-color: #fff8e9;
|
|
|
|
|
|
|
|
|
|
|
600 |
}
|
601 |
|
602 |
+
.wrap.ctct_options_connect .ctct-call-to-actions--item.no-account:hover {
|
603 |
+
border-color: #c7ba9a;
|
604 |
}
|
605 |
|
606 |
+
.wrap.ctct_options_connect .ctct-call-to-actions--item p {
|
607 |
+
margin-bottom: 15px;
|
608 |
+
line-height: 1.6;
|
609 |
+
padding: 0 5px;
|
610 |
}
|
611 |
|
612 |
+
.wrap.ctct_options_connect h3 {
|
613 |
+
font-size: 16px;
|
614 |
+
font-weight: 700;
|
615 |
+
line-height: 1.55;
|
616 |
+
margin: 0 0 10px;
|
617 |
}
|
618 |
|
619 |
+
.wrap.ctct_options_connect p {
|
620 |
+
color: #646970;
|
621 |
+
font-size: 14px;
|
622 |
+
margin-top: 0;
|
623 |
}
|
624 |
|
625 |
+
.wrap.ctct_options_connect p.small {
|
626 |
+
color: #747e88;
|
627 |
+
font-size: 12px;
|
628 |
+
margin: 0 auto;
|
629 |
+
padding: 0 10%;
|
630 |
+
line-height: 1.75;
|
631 |
+
text-align: center;
|
632 |
}
|
633 |
|
634 |
+
.wrap.ctct_options_connect hr {
|
635 |
+
margin: 35px 0;
|
636 |
+
}
|
637 |
+
|
638 |
+
.wrap.ctct_options_connect .button.ctct-button {
|
639 |
+
border-radius: 4px;
|
640 |
+
color: #0078c3;
|
641 |
+
font-size: 16px;
|
642 |
+
font-weight: 600;
|
643 |
+
height: auto;
|
644 |
+
line-height: 1;
|
645 |
+
margin: 25px 0 0;
|
646 |
+
min-width: 180px;
|
647 |
+
padding: 14px 30px;
|
648 |
+
align-self: flex-end;
|
649 |
width: 100%;
|
650 |
+
transition: all 0.15s ease;
|
651 |
}
|
652 |
|
653 |
+
.wrap.ctct_options_connect .button.ctct-button.button-orange {
|
654 |
+
background-color: #ffa901;
|
655 |
+
border: 1px solid #cd8800;
|
656 |
+
color: #fff;
|
657 |
}
|
658 |
|
659 |
+
.wrap.ctct_options_connect .button.ctct-button.button-orange:hover, .wrap.ctct_options_connect .button.ctct-button.button-orange:focus {
|
660 |
+
color: #fff;
|
661 |
+
background-color: #ffba34;
|
662 |
}
|
663 |
|
664 |
+
.wrap.ctct_options_connect .button.ctct-button.button-blue {
|
665 |
+
background-color: #0078c3;
|
666 |
+
border: 1px solid #005990;
|
667 |
+
color: #fff;
|
668 |
}
|
669 |
|
670 |
+
.wrap.ctct_options_connect .button.ctct-button.button-blue:hover, .wrap.ctct_options_connect .button.ctct-button.button-blue:focus {
|
671 |
+
color: #fff;
|
672 |
+
background-color: #0097f6;
|
|
|
673 |
}
|
674 |
|
675 |
+
.ctct-connected-wrap .ctct-connection-details {
|
676 |
+
display: flex;
|
677 |
+
text-align: left;
|
678 |
+
margin: 10px 0 0;
|
679 |
}
|
680 |
|
681 |
+
.ctct-connected-wrap .ctct-connection-details > p,
|
682 |
+
.ctct-connected-wrap .ctct-connection-details form {
|
683 |
+
padding: 0 10px;
|
684 |
+
width: 50%;
|
685 |
+
text-align: left;
|
686 |
+
display: flex;
|
687 |
+
align-items: center;
|
688 |
+
margin: 0;
|
689 |
}
|
690 |
|
691 |
+
.ctct-connected-wrap .ctct-connection-details > p:not(form):first-of-type,
|
692 |
+
.ctct-connected-wrap .ctct-connection-details form:not(form):first-of-type {
|
693 |
+
text-align: right;
|
694 |
}
|
695 |
|
696 |
+
.ctct-connected-wrap .ctct-connection-details > p input,
|
697 |
+
.ctct-connected-wrap .ctct-connection-details form input {
|
698 |
+
position: relative;
|
699 |
+
top: 2px;
|
700 |
}
|
701 |
|
702 |
+
.ctct-connected-wrap .ctct-connection-details p {
|
703 |
+
overflow: hidden;
|
704 |
+
white-space: nowrap;
|
705 |
+
text-overflow: ellipsis;
|
706 |
}
|
707 |
|
708 |
+
.ctct-connected-wrap .ctct-connection-details p.ctct-label {
|
709 |
+
justify-content: flex-end;
|
|
|
|
|
710 |
}
|
711 |
|
712 |
+
.ctct-connected-next-step {
|
713 |
+
text-align: left;
|
714 |
+
display: flex;
|
715 |
+
flex-wrap: wrap;
|
716 |
+
justify-content: space-between;
|
717 |
+
align-items: center;
|
718 |
width: 100%;
|
719 |
}
|
720 |
|
721 |
+
.ctct-connected-next-step p {
|
722 |
+
margin: 0 0 15px;
|
|
|
|
|
|
|
|
|
723 |
}
|
724 |
|
725 |
+
.ctct-connected-next-step > div {
|
726 |
+
width: 100%;
|
|
|
|
|
727 |
}
|
728 |
|
729 |
+
@media (min-width: 767px) {
|
730 |
+
.ctct-connected-next-step > div {
|
731 |
+
width: calc(50% - 10px);
|
732 |
+
}
|
733 |
}
|
734 |
|
735 |
+
.ctct-connected-next-step .ctct-video {
|
736 |
+
margin-bottom: 15px;
|
|
|
|
|
737 |
}
|
738 |
|
739 |
+
@media (min-width: 767px) {
|
740 |
+
.ctct-connected-next-step .ctct-video {
|
741 |
+
margin-bottom: 0;
|
742 |
+
padding-right: 5px;
|
743 |
}
|
744 |
}
|
745 |
|
746 |
+
.ctct-connected-next-step .ctct-video .wistia_embed {
|
747 |
+
max-width: 100%;
|
748 |
+
border-radius: 4px;
|
749 |
+
overflow: hidden;
|
|
|
750 |
}
|
751 |
|
752 |
+
.ctct-connected-opt-in {
|
753 |
+
display: none;
|
754 |
+
width: 100%;
|
755 |
+
text-align: left;
|
756 |
}
|
757 |
|
758 |
+
.ctct-connected-opt-in .ctct-connect-ga-optin {
|
759 |
+
display: flex;
|
760 |
+
flex-wrap: nowrap;
|
761 |
+
padding: 15px 0 0;
|
762 |
}
|
763 |
|
764 |
+
.ctct-connected-opt-in .ctct-connect-ga-optin .button {
|
765 |
+
text-align: center;
|
766 |
+
margin: 0 10px 0 0;
|
767 |
+
width: auto;
|
768 |
}
|
769 |
|
770 |
+
.ctct-error {
|
771 |
+
background: none !important;
|
772 |
+
border: 1px solid #ff4136;
|
773 |
+
border-radius: 4px;
|
774 |
+
box-shadow: none !important;
|
775 |
+
display: inline-block;
|
776 |
+
padding: 15px;
|
777 |
+
margin: 0 0 25px 0 !important;
|
778 |
}
|
779 |
|
780 |
+
.ctct-error p {
|
781 |
+
color: #ff4136 !important;
|
|
|
|
|
782 |
}
|
783 |
|
784 |
+
.ctct_options_logging #ctct_error_logs {
|
785 |
+
height: 400px;
|
786 |
+
resize: vertical;
|
787 |
+
width: 100%;
|
788 |
+
padding: 20px;
|
789 |
+
margin: 10px 0 20px;
|
790 |
+
background-color: #fff;
|
|
|
791 |
}
|
792 |
|
793 |
+
.constant-contact-about .ctct-section {
|
794 |
+
margin: 0 0 30px;
|
|
|
|
|
|
|
|
|
|
|
|
|
795 |
}
|
796 |
|
797 |
+
.constant-contact-about .ctct-video-cta {
|
798 |
+
padding: 0;
|
|
|
|
|
|
|
|
|
799 |
}
|
800 |
|
801 |
+
@media (min-width: 767px) {
|
802 |
+
.constant-contact-about .ctct-video-cta {
|
803 |
+
display: flex;
|
804 |
+
align-items: center;
|
805 |
+
justify-content: space-between;
|
806 |
+
width: 100%;
|
807 |
+
}
|
808 |
+
.constant-contact-about .ctct-video-cta > div {
|
809 |
+
width: calc(50% - 15px);
|
810 |
+
}
|
811 |
}
|
812 |
|
813 |
+
@media (min-width: 767px) {
|
814 |
+
.constant-contact-about .ctct-video-cta h3 {
|
815 |
+
margin: 0 0 15px;
|
|
|
|
|
|
|
816 |
}
|
817 |
}
|
818 |
|
819 |
+
.constant-contact-about ul {
|
820 |
+
list-style: disc;
|
821 |
+
padding-left: 24px;
|
822 |
}
|
823 |
|
824 |
+
.constant-contact-about .section-try-us {
|
825 |
+
padding: 20px;
|
826 |
+
border-radius: 4px;
|
827 |
+
background-color: #fff;
|
828 |
+
border: 1px solid #ddd;
|
829 |
}
|
830 |
|
831 |
+
.constant-contact-about .section-try-us h2, .constant-contact-about .section-try-us p {
|
832 |
+
margin: 0 0 15px;
|
833 |
}
|
834 |
|
835 |
+
.constant-contact-about .section-try-us hr {
|
836 |
+
margin: 20px 0;
|
|
|
|
|
|
|
837 |
}
|
838 |
|
839 |
+
.constant-contact-about .section-try-us .ctct-try-us-cta {
|
840 |
+
display: flex;
|
841 |
+
align-items: center;
|
|
|
842 |
}
|
843 |
|
844 |
+
.constant-contact-about .section-try-us .ctct-try-us-cta p {
|
845 |
+
margin: 0;
|
846 |
+
}
|
847 |
+
|
848 |
+
.constant-contact-about .section-try-us .ctct-try-us-cta .item {
|
849 |
+
margin: 0 15px 0 0;
|
850 |
+
font-size: 14px;
|
851 |
}
|
852 |
|
853 |
+
.constant-contact-about .section-try-us .button {
|
854 |
border-radius: 4px;
|
855 |
color: #fff;
|
856 |
font-size: 16px;
|
857 |
font-weight: 600;
|
858 |
height: auto;
|
859 |
line-height: 1;
|
|
|
860 |
min-width: 180px;
|
861 |
padding: 14px 30px;
|
862 |
+
text-align: center;
|
863 |
}
|
864 |
|
865 |
+
.constant-contact-about .section-try-us .button.button-orange {
|
866 |
background-color: #ffa901;
|
867 |
border: 1px solid #cd8800;
|
868 |
}
|
869 |
|
870 |
+
.constant-contact-about .section-try-us .button.button-orange:hover, .constant-contact-about .section-try-us .button.button-orange:focus {
|
871 |
background-color: #cd8800;
|
872 |
}
|
873 |
|
874 |
+
.constant-contact-about .section-try-us .button.button-blue {
|
875 |
background-color: #0078c3;
|
876 |
border: 1px solid #005990;
|
877 |
}
|
878 |
|
879 |
+
.constant-contact-about .section-try-us .button.button-blue:hover, .constant-contact-about .section-try-us .button.button-blue:focus {
|
880 |
background-color: #005990;
|
881 |
}
|
882 |
|
883 |
+
.constant-contact-about .ctct-license {
|
884 |
+
margin-top: 30px;
|
885 |
+
padding: 20px 0 0;
|
886 |
+
border-top: 1px solid #ddd;
|
887 |
}
|
888 |
|
889 |
+
.constant-contact-about .small-text {
|
890 |
+
max-width: 800px;
|
891 |
}
|
892 |
|
893 |
+
.post-type-ctct_forms img {
|
894 |
+
max-width: 100%;
|
|
|
|
|
|
|
895 |
}
|
896 |
|
897 |
+
.post-type-ctct_forms .misc-pub-section.misc-pub-visibility, .post-type-ctct_forms .misc-pub-section.misc-pub-curtime {
|
898 |
+
display: none;
|
899 |
}
|
900 |
|
901 |
+
body.post-type-ctct_lists .misc-pub-post-status {
|
902 |
+
display: none;
|
903 |
}
|
904 |
|
905 |
+
body.post-type-ctct_forms #titlediv #title {
|
906 |
+
height: 2.7em;
|
907 |
}
|
908 |
|
909 |
+
.ctct-admin-title-details {
|
910 |
+
display: block;
|
911 |
+
font-size: 0.6rem;
|
912 |
+
line-height: 2;
|
913 |
}
|
914 |
|
915 |
+
#cmb2-metabox-ctct_1_optin_metabox .cmb2-id--ctct-opt-in-instructions,
|
916 |
+
#cmb2-metabox-ctct_1_optin_metabox .cmb2-id--ctct-opt-in {
|
917 |
+
display: none;
|
918 |
}
|
919 |
|
920 |
+
#ctct_0_list_metabox .cmb-row,
|
921 |
+
#ctct_1_custom_form_css_metabox .cmb-row,
|
922 |
+
#ctct_1_custom_input_css_metabox .cmb-row {
|
923 |
+
padding-bottom: 0;
|
|
|
|
|
|
|
|
|
924 |
}
|
925 |
|
926 |
+
#cmb2-metabox-ctct_2_fields_metabox .cmb2-id--ctct-title {
|
927 |
+
padding: 0.8rem 0 1rem;
|
|
|
|
|
|
|
|
|
|
|
928 |
}
|
929 |
|
930 |
+
#ctct_1_custom_form_css_metabox .cmb2-id-form-title-title {
|
931 |
+
padding: 0.8rem 0 1rem;
|
932 |
}
|
933 |
|
934 |
+
#ctct_0_description_metabox #custom_fields_group_repeat .cmb-field-list .cmb-row:not(:last-of-type),
|
935 |
+
#ctct_1_optin_metabox #custom_fields_group_repeat .cmb-field-list .cmb-row:not(:last-of-type),
|
936 |
+
#ctct_2_fields_metabox #custom_fields_group_repeat .cmb-field-list .cmb-row:not(:last-of-type) {
|
937 |
+
border-bottom: none;
|
938 |
+
padding-bottom: 0.1em;
|
939 |
}
|
940 |
|
941 |
+
#ctct_0_description_metabox #custom_fields_group_repeat .required,
|
942 |
+
#ctct_1_optin_metabox #custom_fields_group_repeat .required,
|
943 |
+
#ctct_2_fields_metabox #custom_fields_group_repeat .required {
|
944 |
+
padding-bottom: 0.1em;
|
945 |
+
padding-top: 0.1em;
|
946 |
}
|
947 |
|
948 |
+
#ctct_0_description_metabox #default_fields_group_repeat .cmb-field-list > .cmb-row,
|
949 |
+
#ctct_1_optin_metabox #default_fields_group_repeat .cmb-field-list > .cmb-row,
|
950 |
+
#ctct_2_fields_metabox #default_fields_group_repeat .cmb-field-list > .cmb-row {
|
951 |
+
padding-top: 0.5em;
|
952 |
}
|
953 |
|
954 |
+
#ctct_0_description_metabox #default_fields_group_repeat .cmb-field-list > .cmb-row:not(:last-of-type),
|
955 |
+
#ctct_1_optin_metabox #default_fields_group_repeat .cmb-field-list > .cmb-row:not(:last-of-type),
|
956 |
+
#ctct_2_fields_metabox #default_fields_group_repeat .cmb-field-list > .cmb-row:not(:last-of-type) {
|
957 |
+
border-bottom: 1px solid #e9e9e9;
|
958 |
+
padding-bottom: 0.1rem;
|
959 |
}
|
960 |
|
961 |
+
#ctct_0_description_metabox .cmb-repeat-group-wrap,
|
962 |
+
#ctct_1_optin_metabox .cmb-repeat-group-wrap,
|
963 |
+
#ctct_2_fields_metabox .cmb-repeat-group-wrap {
|
964 |
+
padding: 0;
|
965 |
}
|
966 |
|
967 |
+
#ctct_0_description_metabox .cmb-repeat-group-wrap .cmb-repeatable-grouping,
|
968 |
+
#ctct_1_optin_metabox .cmb-repeat-group-wrap .cmb-repeatable-grouping,
|
969 |
+
#ctct_2_fields_metabox .cmb-repeat-group-wrap .cmb-repeatable-grouping {
|
970 |
+
margin: 0 0 1.5rem 0;
|
971 |
}
|
972 |
|
973 |
+
#ctct_0_description_metabox .cmb-repeat-group-wrap .cmb-repeatable-grouping .cmb-row,
|
974 |
+
#ctct_1_optin_metabox .cmb-repeat-group-wrap .cmb-repeatable-grouping .cmb-row,
|
975 |
+
#ctct_2_fields_metabox .cmb-repeat-group-wrap .cmb-repeatable-grouping .cmb-row {
|
976 |
+
margin: 0 0 0 0.3rem;
|
977 |
}
|
978 |
|
979 |
+
#ctct_0_description_metabox .cmb-repeat-group-wrap .cmb-repeat-group-field,
|
980 |
+
#ctct_1_optin_metabox .cmb-repeat-group-wrap .cmb-repeat-group-field,
|
981 |
+
#ctct_2_fields_metabox .cmb-repeat-group-wrap .cmb-repeat-group-field {
|
982 |
+
padding-top: 0.2em;
|
983 |
}
|
984 |
|
985 |
+
#ctct_0_description_metabox .postbox-container .cmb-remove-field-row,
|
986 |
+
#ctct_1_optin_metabox .postbox-container .cmb-remove-field-row,
|
987 |
+
#ctct_2_fields_metabox .postbox-container .cmb-remove-field-row {
|
988 |
+
padding-bottom: 0.8em;
|
989 |
+
padding-top: 0.8em;
|
990 |
}
|
991 |
|
992 |
+
#ctct_0_description_metabox button.cmb-add-group-row,
|
993 |
+
#ctct_1_optin_metabox button.cmb-add-group-row,
|
994 |
+
#ctct_2_fields_metabox button.cmb-add-group-row {
|
995 |
+
background: #008ec2 !important;
|
996 |
+
border-color: #006799 !important;
|
997 |
+
color: #fff !important;
|
998 |
}
|
999 |
|
1000 |
+
#ctct_0_description_metabox button.cmb-remove-group-row,
|
1001 |
+
#ctct_1_optin_metabox button.cmb-remove-group-row,
|
1002 |
+
#ctct_2_fields_metabox button.cmb-remove-group-row {
|
1003 |
+
background: #ffdfa3 !important;
|
1004 |
+
display: none;
|
1005 |
}
|
1006 |
|
1007 |
+
#ctct_0_description_metabox .cmb2-metabox button.dashicons-before.dashicons-no-alt.cmb-remove-group-row,
|
1008 |
+
#ctct_1_optin_metabox .cmb2-metabox button.dashicons-before.dashicons-no-alt.cmb-remove-group-row,
|
1009 |
+
#ctct_2_fields_metabox .cmb2-metabox button.dashicons-before.dashicons-no-alt.cmb-remove-group-row {
|
1010 |
+
top: 0.3rem;
|
1011 |
}
|
1012 |
|
1013 |
+
#ctct_0_description_metabox h3.cmb-group-title.cmbhandle-title,
|
1014 |
+
#ctct_1_optin_metabox h3.cmb-group-title.cmbhandle-title,
|
1015 |
+
#ctct_2_fields_metabox h3.cmb-group-title.cmbhandle-title {
|
1016 |
+
padding-left: 1em;
|
1017 |
}
|
1018 |
|
1019 |
+
#ctct_1_optin_metabox .cmb-row {
|
1020 |
+
border-bottom: none;
|
1021 |
+
padding: 0.5rem 0;
|
1022 |
}
|
1023 |
|
1024 |
+
#ctct_1_optin_metabox .cmb2-id--ctct-list {
|
1025 |
+
padding-bottom: 0.5em;
|
|
|
|
|
1026 |
}
|
1027 |
|
1028 |
+
#ctct_1_optin_metabox .cmb-th {
|
1029 |
+
width: 25%;
|
1030 |
}
|
1031 |
|
1032 |
+
#ctct_1_optin_metabox .cmb-th + .cmb-td {
|
1033 |
+
width: 70%;
|
|
|
|
|
1034 |
}
|
1035 |
|
1036 |
+
#ctct_option_metabox_settings span.cmb2-metabox-description {
|
1037 |
+
color: #444444;
|
|
|
|
|
1038 |
}
|
1039 |
|
1040 |
+
#cmb2-metabox-email_settings .cmb-row,
|
1041 |
+
#cmb2-metabox-ctct_2_generated_metabox .cmb-row,
|
1042 |
+
#cmb2-metabox-ctct_1_custom_input_css_metabox .cmb-row {
|
1043 |
+
padding-bottom: 0 !important;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1044 |
}
|
1045 |
|
1046 |
+
#side-sortables #ctct_1_custom_form_css_metabox .cmb-row {
|
1047 |
+
padding: 0.5rem 0 0 0;
|
|
|
1048 |
}
|
1049 |
|
1050 |
+
#side-sortables #ctct_1_custom_form_css_metabox .cmb-th {
|
1051 |
+
padding-bottom: 0;
|
1052 |
}
|
1053 |
|
1054 |
+
#side-sortables #ctct_1_custom_form_css_metabox .cmb-type-title {
|
1055 |
+
border-bottom: none;
|
|
|
1056 |
}
|
1057 |
|
1058 |
+
#side-sortables #ctct_1_custom_form_css_metabox .cmb2-id--ctct-form-title-font-size,
|
1059 |
+
#side-sortables #ctct_1_custom_form_css_metabox .cmb2-id--ctct-form-description-font-size {
|
1060 |
+
border-bottom: none;
|
1061 |
+
margin-bottom: 0;
|
1062 |
}
|
1063 |
|
1064 |
+
#side-sortables #ctct_1_custom_input_css_metabox .cmb2-id-form-padding-title {
|
1065 |
+
border-bottom: 0;
|
1066 |
+
padding-bottom: 0;
|
1067 |
}
|
1068 |
|
1069 |
+
#side-sortables #ctct_1_custom_input_css_metabox .cmb2-id--ctct-input-margin-top,
|
1070 |
+
#side-sortables #ctct_1_custom_input_css_metabox .cmb2-id--ctct-input-margin-right {
|
1071 |
+
margin-bottom: 0;
|
1072 |
+
margin-top: 0;
|
1073 |
+
padding-bottom: 0;
|
1074 |
+
padding-top: 0;
|
1075 |
}
|
1076 |
|
1077 |
+
#side-sortables #ctct_1_custom_input_css_metabox .cmb2-id--ctct-form-label-placement {
|
1078 |
+
margin-bottom: 0;
|
1079 |
+
padding-bottom: 0;
|
1080 |
}
|
1081 |
|
1082 |
+
#side-sortables #ctct_1_custom_input_css_metabox .cmb-type-text-small {
|
1083 |
+
border-bottom: none;
|
1084 |
+
float: left;
|
1085 |
+
width: 50%;
|
1086 |
}
|
1087 |
|
1088 |
+
#side-sortables #ctct_1_custom_input_css_metabox .cmb-type-text-small .cmb-th {
|
1089 |
+
padding-bottom: 0;
|
|
|
|
|
1090 |
}
|
1091 |
|
1092 |
+
#side-sortables .cmb2-id--ctct-generated-shortcode > .cmb-th {
|
1093 |
+
display: none;
|
1094 |
}
|
1095 |
|
1096 |
+
.cmb2-id--ctct-list .cmb2-list {
|
1097 |
+
background: linear-gradient(#fff 33%, transparent), linear-gradient(transparent, #fff 66%) 0 100%, radial-gradient(farthest-side at 50% 0, rgba(0, 0, 0, 0.5), transparent), radial-gradient(farthest-side at 50% 100%, rgba(0, 0, 0, 0.5), transparent) 0 100%;
|
1098 |
+
background-attachment: local, local, scroll, scroll;
|
1099 |
+
background-color: #fff;
|
1100 |
+
background-repeat: no-repeat;
|
1101 |
+
background-size: 100% 30px, 100% 30px, 100% 10px, 100% 10px;
|
1102 |
+
max-height: 10rem;
|
1103 |
+
overflow-y: auto;
|
1104 |
}
|
1105 |
|
1106 |
+
.ui-dialog .cmb-type-checkbox.cmb2-id--ctct-show-title .cmb-th {
|
1107 |
+
width: 90px;
|
|
|
1108 |
}
|
1109 |
|
1110 |
+
.updated.ctct-admin-notice,
|
1111 |
+
.error.ctct-admin-notice {
|
1112 |
+
padding: 1rem 38px 1rem 1rem;
|
1113 |
position: relative;
|
1114 |
}
|
1115 |
|
1116 |
+
a.ctct-notice-dismiss {
|
1117 |
+
text-decoration: none;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1118 |
}
|
1119 |
|
1120 |
+
#ctct-admin-notice-activation {
|
1121 |
+
padding: 1rem 1rem 0 1rem;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1122 |
}
|
1123 |
|
1124 |
+
#ctct-admin-notice-activation .ctct-notice-intro {
|
1125 |
+
line-height: 1.5;
|
1126 |
+
max-width: 600px;
|
|
|
|
|
|
|
|
|
|
|
|
|
1127 |
}
|
1128 |
|
1129 |
+
#ctct-admin-notice-activation .ctct-notice-button,
|
1130 |
+
#ctct-admin-notice-activation .ctct-notice-button:active {
|
1131 |
+
margin: 0.5rem;
|
1132 |
+
vertical-align: middle;
|
|
|
|
|
|
|
|
|
|
|
1133 |
}
|
1134 |
|
1135 |
+
.ctct-admin-notice {
|
1136 |
overflow: hidden;
|
|
|
1137 |
}
|
1138 |
|
1139 |
+
.ctct-admin-notice.updated {
|
1140 |
+
border-left-color: #1a5285;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1141 |
}
|
1142 |
|
1143 |
+
.ctct-admin-notice > div {
|
|
|
1144 |
float: left;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1145 |
}
|
1146 |
|
1147 |
+
.ctct-admin-notice .admin-notice-message {
|
1148 |
+
margin-left: 15px;
|
1149 |
+
width: 80%;
|
|
|
1150 |
}
|
1151 |
|
1152 |
+
.ctct-admin-notice .admin-notice-message h4 {
|
1153 |
color: #1a5285;
|
1154 |
+
margin: 0 0 10px;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1155 |
}
|
1156 |
|
1157 |
+
.ctct-admin-notice .admin-notice-message > div {
|
|
|
1158 |
float: left;
|
|
|
1159 |
}
|
1160 |
|
1161 |
+
.cmb2-options-page[class*="option-ctct_options_settings_"] .cmb2-metabox > .cmb-row {
|
1162 |
+
background: transparent;
|
1163 |
+
border: none;
|
1164 |
+
box-shadow: none;
|
|
|
1165 |
}
|
1166 |
|
1167 |
+
.cmb2-options-page[class*="option-ctct_options_settings_"] .regular-text {
|
1168 |
+
width: 500px;
|
|
|
|
|
|
|
|
|
1169 |
}
|
1170 |
|
1171 |
+
.wp-admin .wrap.ctct-page-wrap {
|
1172 |
+
max-width: 1000px;
|
1173 |
+
margin: 0;
|
1174 |
+
padding: 20px 10px 0 2px;
|
|
|
1175 |
}
|
1176 |
|
1177 |
+
@media (min-width: 767px) {
|
1178 |
+
.wp-admin .wrap.ctct-page-wrap {
|
1179 |
+
padding-right: 20px;
|
|
|
|
|
|
|
|
|
1180 |
}
|
1181 |
}
|
1182 |
|
1183 |
+
.wp-admin .wrap.ctct-page-wrap > h2 {
|
1184 |
+
font-size: 24px;
|
1185 |
+
font-weight: 700;
|
1186 |
+
margin: 0 0 20px;
|
1187 |
+
padding: 0;
|
|
|
|
|
|
|
|
|
|
|
|
|
1188 |
}
|
1189 |
|
1190 |
+
.wp-admin .wrap.ctct-page-wrap p, .wp-admin .wrap.ctct-page-wrap li {
|
1191 |
+
font-size: 14px;
|
1192 |
+
line-height: 1.65;
|
|
|
1193 |
}
|
1194 |
|
1195 |
+
.wp-admin .wrap.ctct-page-wrap p.small-text, .wp-admin .wrap.ctct-page-wrap li.small-text {
|
1196 |
+
font-size: 12px;
|
|
|
1197 |
}
|
1198 |
|
1199 |
+
.wp-admin .wrap.ctct-page-wrap p.large-text, .wp-admin .wrap.ctct-page-wrap li.large-text {
|
|
|
1200 |
font-size: 16px;
|
|
|
|
|
|
|
1201 |
}
|
1202 |
|
1203 |
+
.wp-admin .wrap.ctct-page-wrap p.xlarge-text, .wp-admin .wrap.ctct-page-wrap li.xlarge-text {
|
1204 |
+
font-size: 18px;
|
1205 |
}
|
1206 |
|
1207 |
+
.wp-admin .wrap.ctct-page-wrap .text-centered {
|
1208 |
+
text-align: center;
|
1209 |
}
|
1210 |
|
1211 |
+
.wp-admin .wrap.ctct-page-wrap .iframe-wrap {
|
1212 |
+
position: relative;
|
1213 |
+
padding-bottom: 56.25%;
|
1214 |
+
/* 16:9 */
|
1215 |
+
height: 0;
|
1216 |
}
|
1217 |
|
1218 |
+
.wp-admin .wrap.ctct-page-wrap .iframe-wrap iframe {
|
1219 |
+
position: absolute;
|
1220 |
+
top: 0;
|
1221 |
+
left: 0;
|
1222 |
+
width: 100%;
|
1223 |
+
height: 100%;
|
1224 |
+
border-radius: 4px;
|
1225 |
}
|
1226 |
|
1227 |
+
.wp-admin hr {
|
1228 |
+
border-top: none;
|
1229 |
+
border-color: #ddd;
|
1230 |
}
|
1231 |
|
1232 |
+
.wp-admin form.cmb-form h2 {
|
1233 |
+
margin: 0;
|
1234 |
+
padding: 14px;
|
|
|
|
|
|
|
|
|
|
|
1235 |
}
|
1236 |
|
1237 |
+
.wp-admin form.cmb-form .description,
|
1238 |
+
.wp-admin form.cmb-form p.submit {
|
1239 |
+
padding: 0 14px;
|
1240 |
+
margin-bottom: 10px;
|
1241 |
}
|
1242 |
|
1243 |
+
.wp-admin form.cmb-form .cmb-th,
|
1244 |
+
.wp-admin form.cmb-form .cmb-th label {
|
1245 |
+
font-weight: 600;
|
1246 |
}
|
1247 |
|
1248 |
+
.wp-admin .ctct-button-actions {
|
1249 |
+
display: flex;
|
1250 |
+
justify-content: flex-start;
|
|
|
|
|
1251 |
}
|
1252 |
|
1253 |
+
.wp-admin .ctct-button-actions a {
|
1254 |
+
align-self: flex-start;
|
1255 |
+
margin: 0 10px 0 0;
|
|
|
|
|
1256 |
}
|
1257 |
|
1258 |
+
.wp-admin .ctct-shortcode-wrap {
|
1259 |
+
display: flex;
|
|
|
1260 |
width: 100%;
|
1261 |
+
background-color: #fff;
|
1262 |
+
border: 1px solid #ddd;
|
1263 |
+
border-radius: 4px;
|
1264 |
+
padding: 3px;
|
1265 |
+
position: relative;
|
1266 |
}
|
1267 |
|
1268 |
+
.wp-admin .ctct-shortcode-wrap:focus-within {
|
1269 |
+
border-color: #747e88;
|
|
|
|
|
|
|
|
|
|
|
1270 |
}
|
1271 |
|
1272 |
+
.wp-admin .ctct-shortcode-wrap input, .wp-admin .ctct-shortcode-wrap button {
|
1273 |
+
min-height: auto;
|
1274 |
+
height: 30px;
|
1275 |
+
font-size: 12px;
|
|
|
|
|
1276 |
}
|
1277 |
|
1278 |
+
.wp-admin .ctct-shortcode-wrap input {
|
1279 |
+
background-color: transparent;
|
1280 |
+
border: none;
|
1281 |
+
font-size: 12px;
|
1282 |
+
padding: 0 10px 0 5px;
|
1283 |
+
margin: 0;
|
1284 |
+
flex: 1;
|
1285 |
+
box-shadow: none;
|
1286 |
+
overflow: hidden;
|
1287 |
+
text-overflow: ellipsis;
|
1288 |
+
white-space: nowrap;
|
1289 |
}
|
1290 |
|
1291 |
+
.wp-admin .ctct-shortcode-wrap input:focus {
|
|
|
|
|
1292 |
box-shadow: none;
|
|
|
|
|
1293 |
}
|
1294 |
|
1295 |
+
.wp-admin .ctct-shortcode-wrap button {
|
1296 |
border-radius: 4px;
|
1297 |
+
z-index: 1;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1298 |
}
|
1299 |
|
1300 |
.ctct-block-title {
|
assets/css/style.css
CHANGED
@@ -36,7 +36,7 @@
|
|
36 |
}
|
37 |
|
38 |
.ctct-form-wrapper input[type='text']:required:valid, .ctct-form-wrapper input[type='email']:required:valid, .ctct-form-wrapper input[type='password']:required:valid, .ctct-form-wrapper input[type='tel']:required:valid, .ctct-form-wrapper input[type='number']:required:valid {
|
39 |
-
background-image: url(
|
40 |
background-position: 8px 50%;
|
41 |
background-repeat: no-repeat;
|
42 |
background-size: 18px;
|
@@ -45,7 +45,7 @@
|
|
45 |
}
|
46 |
|
47 |
.ctct-form-wrapper input[type='text']:required.ctct-invalid, .ctct-form-wrapper input[type='text'].ctct-invalid, .ctct-form-wrapper input[type='email']:required.ctct-invalid, .ctct-form-wrapper input[type='email'].ctct-invalid, .ctct-form-wrapper input[type='password']:required.ctct-invalid, .ctct-form-wrapper input[type='password'].ctct-invalid, .ctct-form-wrapper input[type='tel']:required.ctct-invalid, .ctct-form-wrapper input[type='tel'].ctct-invalid, .ctct-form-wrapper input[type='number']:required.ctct-invalid, .ctct-form-wrapper input[type='number'].ctct-invalid {
|
48 |
-
background: #fff url(
|
49 |
background-color: rgba(255, 65, 54, 0.02);
|
50 |
background-position: 8px 50%;
|
51 |
background-size: 24px;
|
@@ -59,7 +59,7 @@
|
|
59 |
}
|
60 |
|
61 |
.ctct-form-wrapper input.ctct-invalid {
|
62 |
-
background: #fff url(
|
63 |
background-color: rgba(255, 65, 54, 0.02);
|
64 |
background-position: 8px 50%;
|
65 |
background-size: 24px;
|
@@ -114,7 +114,7 @@
|
|
114 |
}
|
115 |
|
116 |
.ctct-form-wrapper .no-recaptcha .ctct-submitted:disabled {
|
117 |
-
background-image: url(
|
118 |
background-position: center;
|
119 |
background-repeat: no-repeat;
|
120 |
color: transparent;
|
@@ -171,7 +171,88 @@
|
|
171 |
padding: 0;
|
172 |
}
|
173 |
|
174 |
-
.ctct-twentyfourteen .ctct-form-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
175 |
width: 100%;
|
176 |
}
|
177 |
|
@@ -202,4 +283,10 @@
|
|
202 |
}
|
203 |
}
|
204 |
|
205 |
-
|
|
|
|
|
|
|
|
|
|
|
|
36 |
}
|
37 |
|
38 |
.ctct-form-wrapper input[type='text']:required:valid, .ctct-form-wrapper input[type='email']:required:valid, .ctct-form-wrapper input[type='password']:required:valid, .ctct-form-wrapper input[type='tel']:required:valid, .ctct-form-wrapper input[type='number']:required:valid {
|
39 |
+
background-image: url(../images/check_circle.svg);
|
40 |
background-position: 8px 50%;
|
41 |
background-repeat: no-repeat;
|
42 |
background-size: 18px;
|
45 |
}
|
46 |
|
47 |
.ctct-form-wrapper input[type='text']:required.ctct-invalid, .ctct-form-wrapper input[type='text'].ctct-invalid, .ctct-form-wrapper input[type='email']:required.ctct-invalid, .ctct-form-wrapper input[type='email'].ctct-invalid, .ctct-form-wrapper input[type='password']:required.ctct-invalid, .ctct-form-wrapper input[type='password'].ctct-invalid, .ctct-form-wrapper input[type='tel']:required.ctct-invalid, .ctct-form-wrapper input[type='tel'].ctct-invalid, .ctct-form-wrapper input[type='number']:required.ctct-invalid, .ctct-form-wrapper input[type='number'].ctct-invalid {
|
48 |
+
background: #fff url(../images/error.svg) no-repeat;
|
49 |
background-color: rgba(255, 65, 54, 0.02);
|
50 |
background-position: 8px 50%;
|
51 |
background-size: 24px;
|
59 |
}
|
60 |
|
61 |
.ctct-form-wrapper input.ctct-invalid {
|
62 |
+
background: #fff url(../images/error.svg) no-repeat;
|
63 |
background-color: rgba(255, 65, 54, 0.02);
|
64 |
background-position: 8px 50%;
|
65 |
background-size: 24px;
|
114 |
}
|
115 |
|
116 |
.ctct-form-wrapper .no-recaptcha .ctct-submitted:disabled {
|
117 |
+
background-image: url(../images/oval.min.svg);
|
118 |
background-position: center;
|
119 |
background-repeat: no-repeat;
|
120 |
color: transparent;
|
171 |
padding: 0;
|
172 |
}
|
173 |
|
174 |
+
.ctct-twentyfourteen .ctct-form-description ~ .ctct-button {
|
175 |
+
display: inline-block;
|
176 |
+
font-size: 1rem;
|
177 |
+
margin-bottom: 25px;
|
178 |
+
}
|
179 |
+
|
180 |
+
.ctct-twentyfourteen .ctct-form-field input:not(.ctct-checkbox) {
|
181 |
+
width: 100%;
|
182 |
+
}
|
183 |
+
|
184 |
+
.ctct-twentyfifteen .ctct-form-description ~ .ctct-button {
|
185 |
+
display: inline-block;
|
186 |
+
font-size: 1rem;
|
187 |
+
margin-bottom: 25px;
|
188 |
+
}
|
189 |
+
|
190 |
+
.ctct-twentyfifteen .ctct-form-field input[type="tel"] {
|
191 |
+
padding: 0.5278em;
|
192 |
+
width: 100%;
|
193 |
+
}
|
194 |
+
|
195 |
+
.ctct-twentyfifteen .ctct-form-wrapper .ctct-input-container label {
|
196 |
+
font-size: 75%;
|
197 |
+
}
|
198 |
+
|
199 |
+
.ctct-twentysixteen .ctct-form-description ~ .ctct-button {
|
200 |
+
display: inline-block;
|
201 |
+
margin-bottom: 25px;
|
202 |
+
}
|
203 |
+
|
204 |
+
.ctct-twentysixteen .ctct-form-wrapper span.ctct-label-right {
|
205 |
+
width: 80%;
|
206 |
+
}
|
207 |
+
|
208 |
+
.ctct-twentyseventeen .ctct-form-description ~ .ctct-button {
|
209 |
+
display: inline-block;
|
210 |
+
margin-bottom: 25px;
|
211 |
+
}
|
212 |
+
|
213 |
+
.ctct-twentyseventeen .ctct-form-wrapper .ctct-input-container label {
|
214 |
+
display: inline;
|
215 |
+
}
|
216 |
+
|
217 |
+
.ctct-twentyseventeen .ctct-form-wrapper span.ctct-label-right {
|
218 |
+
width: 80%;
|
219 |
+
}
|
220 |
+
|
221 |
+
.ctct-twentynineteen .ctct-form-description ~ .ctct-button {
|
222 |
+
margin-bottom: 25px;
|
223 |
+
}
|
224 |
+
|
225 |
+
.ctct-twentynineteen .ctct-address {
|
226 |
+
margin-bottom: 1rem;
|
227 |
+
}
|
228 |
+
|
229 |
+
.ctct-twentynineteen .ctct-form-field input[type="text"],
|
230 |
+
.ctct-twentynineteen .ctct-form-field input[type="email"],
|
231 |
+
.ctct-twentynineteen .ctct-form-field input[type="url"],
|
232 |
+
.ctct-twentynineteen .ctct-form-field input[type="tel"] {
|
233 |
+
width: 100%;
|
234 |
+
}
|
235 |
+
|
236 |
+
.ctct-twentytwenty .ctct-form-description ~ .ctct-button {
|
237 |
+
margin-bottom: 25px;
|
238 |
+
}
|
239 |
+
|
240 |
+
.ctct-twentytwenty .ctct-form-wrapper .ctct-form abbr {
|
241 |
+
font-size: 1.6rem;
|
242 |
+
}
|
243 |
+
|
244 |
+
.ctct-twentytwenty .ctct-form-wrapper .ctct-input-container label {
|
245 |
+
font-size: 1.6rem;
|
246 |
+
}
|
247 |
+
|
248 |
+
.ctct-twentytwentyone .ctct-button {
|
249 |
+
padding: 0 !important;
|
250 |
+
}
|
251 |
+
|
252 |
+
.ctct-twentytwentyone .ctct-form-field input[type="text"],
|
253 |
+
.ctct-twentytwentyone .ctct-form-field input[type="email"],
|
254 |
+
.ctct-twentytwentyone .ctct-form-field input[type="url"],
|
255 |
+
.ctct-twentytwentyone .ctct-form-field input[type="tel"] {
|
256 |
width: 100%;
|
257 |
}
|
258 |
|
283 |
}
|
284 |
}
|
285 |
|
286 |
+
@media screen and (max-width: 414px) {
|
287 |
+
.ctct-twentynineteen .ctct-form-wrapper span.ctct-label-right {
|
288 |
+
width: 80%;
|
289 |
+
}
|
290 |
+
}
|
291 |
+
|
292 |
+
/*# sourceMappingURL=data:application/json;charset=utf8;base64,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aUI7QUFDbkI7O0FBRUE7RUFDRSxxQkFBcUI7QUFDdkI7O0FBRUE7Ozs7RUFJRSxXQUFXO0FBQ2I7O0FBbFFBO0VBQ0U7SUFDRSxXQUFXO0lBQ1gsZ0JBQWdCO0lBQ2hCLFVBQVU7RUFDWjtFQUNBO0lBQ0UsZUFBZTtFQUNqQjtFQUlBO0lBQ0UsV0FBVztJQUNYLGdCQUFnQjtJQUNoQixVQUFVO0VBQ1o7RUFDQTtJQUNFLGVBQWU7RUFDakI7RUFJQTtJQUNFLFdBQVc7SUFDWCxnQkFBZ0I7SUFDaEIsVUFBVTtFQUNaO0VBQ0E7SUFDRSxlQUFlO0VBQ2pCO0FBckJGOztBQThOQTtFQUNFO0lBQ0UsVUFBVTtFQUNaO0FBQ0YiLCJmaWxlIjoic3R5bGUuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmN0Y3QtZm9ybS13cmFwcGVyIC5jdGN0LWJ1dHRvbiB7XG4gIGZvbnQtc2l6ZTogMC45cmVtO1xufVxuXG4uY3RjdC1mb3JtLXdyYXBwZXIgLmN0Y3QtbWVzc2FnZSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkO1xuICBwYWRkaW5nOiAxZW07XG59XG5cbi5jdGN0LWZvcm0td3JhcHBlciAuY3RjdC1tZXNzYWdlLmN0Y3QtZXJyb3Ige1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgNjUsIDU0LCAwLjAyKTtcbiAgYm9yZGVyLWNvbG9yOiAjZmY0MTM2O1xuICBjb2xvcjogI2NmMGIwMDtcbn1cblxuLmN0Y3QtZm9ybS13cmFwcGVyIC5jdGN0LW1lc3NhZ2UuY3RjdC1zdWNjZXNzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg0NiwgMjA0LCA2NCwgMC4wMik7XG4gIGJvcmRlci1jb2xvcjogIzJlY2M0MDtcbiAgY29sb3I6ICMxYjc5MjY7XG59XG5cbi5jdGN0LWZvcm0td3JhcHBlciAuY3RjdC1tZXNzYWdlIC5jdGN0LWRpc21pc3MtYWpheC1ub3RpY2Uge1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGZsb2F0OiByaWdodDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHBhZGRpbmc6IDAuODVyZW0gMXJlbTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4uY3RjdC1mb3JtLXdyYXBwZXIgLmN0Y3QtZm9ybS1maWVsZCB7XG4gIG1hcmdpbjogMCAwIDFyZW07XG59XG5cbi5jdGN0LWZvcm0td3JhcHBlciAuY3RjdC1maWVsZC1pbmxpbmUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuY3RjdC1mb3JtLXdyYXBwZXIgLmN0Y3QtZmllbGQtaGFsZiB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAyJTtcbiAgICB3aWR0aDogNDglO1xuICB9XG4gIC5jdGN0LWZvcm0td3JhcHBlciAuY3RjdC1maWVsZC1oYWxmOmxhc3Qtb2YtdHlwZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuY3RjdC1mb3JtLXdyYXBwZXIgLmN0Y3QtZmllbGQtdGhpcmQge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1yaWdodDogMiU7XG4gICAgd2lkdGg6IDMyJTtcbiAgfVxuICAuY3RjdC1mb3JtLXdyYXBwZXIgLmN0Y3QtZmllbGQtdGhpcmQ6bGFzdC1vZi10eXBlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5jdGN0LWZvcm0td3JhcHBlciAuY3RjdC1maWVsZC1mb3VydGgge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1yaWdodDogMiU7XG4gICAgd2lkdGg6IDI0JTtcbiAgfVxuICAuY3RjdC1mb3JtLXdyYXBwZXIgLmN0Y3QtZmllbGQtZm91cnRoOmxhc3Qtb2YtdHlwZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG59XG5cbi5jdGN0LWZvcm0td3JhcHBlciBpbnB1dFt0eXBlPSd0ZXh0J106cmVxdWlyZWQ6dmFsaWQsIC5jdGN0LWZvcm0td3JhcHBlciBpbnB1dFt0eXBlPSdlbWFpbCddOnJlcXVpcmVkOnZhbGlkLCAuY3RjdC1mb3JtLXdyYXBwZXIgaW5wdXRbdHlwZT0ncGFzc3dvcmQnXTpyZXF1aXJlZDp2YWxpZCwgLmN0Y3QtZm9ybS13cmFwcGVyIGlucHV0W3R5cGU9J3RlbCddOnJlcXVpcmVkOnZhbGlkLCAuY3RjdC1mb3JtLXdyYXBwZXIgaW5wdXRbdHlwZT0nbnVtYmVyJ106cmVxdWlyZWQ6dmFsaWQge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL2NoZWNrX2NpcmNsZS5zdmcpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA4cHggNTAlO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDE4cHg7XG4gIGJvcmRlci1jb2xvcjogIzJlY2M0MDtcbiAgcGFkZGluZy1sZWZ0OiAzMnB4O1xufVxuXG4uY3RjdC1mb3JtLXdyYXBwZXIgaW5wdXRbdHlwZT0ndGV4dCddOnJlcXVpcmVkLmN0Y3QtaW52YWxpZCwgLmN0Y3QtZm9ybS13cmFwcGVyIGlucHV0W3R5cGU9J3RleHQnXS5jdGN0LWludmFsaWQsIC5jdGN0LWZvcm0td3JhcHBlciBpbnB1dFt0eXBlPSdlbWFpbCddOnJlcXVpcmVkLmN0Y3QtaW52YWxpZCwgLmN0Y3QtZm9ybS13cmFwcGVyIGlucHV0W3R5cGU9J2VtYWlsJ10uY3RjdC1pbnZhbGlkLCAuY3RjdC1mb3JtLXdyYXBwZXIgaW5wdXRbdHlwZT0ncGFzc3dvcmQnXTpyZXF1aXJlZC5jdGN0LWludmFsaWQsIC5jdGN0LWZvcm0td3JhcHBlciBpbnB1dFt0eXBlPSdwYXNzd29yZCddLmN0Y3QtaW52YWxpZCwgLmN0Y3QtZm9ybS13cmFwcGVyIGlucHV0W3R5cGU9J3RlbCddOnJlcXVpcmVkLmN0Y3QtaW52YWxpZCwgLmN0Y3QtZm9ybS13cmFwcGVyIGlucHV0W3R5cGU9J3RlbCddLmN0Y3QtaW52YWxpZCwgLmN0Y3QtZm9ybS13cmFwcGVyIGlucHV0W3R5cGU9J251bWJlciddOnJlcXVpcmVkLmN0Y3QtaW52YWxpZCwgLmN0Y3QtZm9ybS13cmFwcGVyIGlucHV0W3R5cGU9J251bWJlciddLmN0Y3QtaW52YWxpZCB7XG4gIGJhY2tncm91bmQ6ICNmZmYgdXJsKC4uL2ltYWdlcy9lcnJvci5zdmcpIG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDY1LCA1NCwgMC4wMik7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDhweCA1MCU7XG4gIGJhY2tncm91bmQtc2l6ZTogMjRweDtcbiAgYm9yZGVyLWNvbG9yOiAjZmY0MTM2O1xuICBwYWRkaW5nLWxlZnQ6IDQwcHg7XG59XG5cbi5jdGN0LWZvcm0td3JhcHBlciAuY3RjdC1maWVsZC1lcnJvciB7XG4gIGZvbnQtc2l6ZTogMC44NXJlbTtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4uY3RjdC1mb3JtLXdyYXBwZXIgaW5wdXQuY3RjdC1pbnZhbGlkIHtcbiAgYmFja2dyb3VuZDogI2ZmZiB1cmwoLi4vaW1hZ2VzL2Vycm9yLnN2Zykgbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgNjUsIDU0LCAwLjAyKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogOHB4IDUwJTtcbiAgYmFja2dyb3VuZC1zaXplOiAyNHB4O1xuICBib3JkZXItY29sb3I6ICNmZjQxMzY7XG4gIHBhZGRpbmctbGVmdDogNDBweDtcbn1cblxuLmN0Y3QtZm9ybS13cmFwcGVyIGlucHV0LmN0Y3QtbGFiZWwtbGVmdCxcbi5jdGN0LWZvcm0td3JhcHBlciB0ZXh0YXJlYS5jdGN0LWxhYmVsLWxlZnQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiA3NSU7XG59XG5cbi5jdGN0LWZvcm0td3JhcHBlciBzcGFuLmN0Y3QtbGFiZWwtbGVmdCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLXJpZ2h0OiA1JTtcbiAgd2lkdGg6IDIwJTtcbn1cblxuLmN0Y3QtZm9ybS13cmFwcGVyIGlucHV0LmN0Y3QtbGFiZWwtcmlnaHQsXG4uY3RjdC1mb3JtLXdyYXBwZXIgdGV4dGFyZWEuY3RjdC1sYWJlbC1yaWdodCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLXJpZ2h0OiA1JTtcbiAgd2lkdGg6IDc1JTtcbn1cblxuLmN0Y3QtZm9ybS13cmFwcGVyIGlucHV0LmN0Y3QtbGFiZWwtcmlnaHRbdHlwZT1cImNoZWNrYm94XCJdLFxuLmN0Y3QtZm9ybS13cmFwcGVyIHRleHRhcmVhLmN0Y3QtbGFiZWwtcmlnaHRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgd2lkdGg6IGF1dG87XG59XG5cbi5jdGN0LWZvcm0td3JhcHBlciBzcGFuLmN0Y3QtbGFiZWwtcmlnaHQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAyMCU7XG59XG5cbi5jdGN0LWZvcm0td3JhcHBlciBzcGFuLmN0Y3QtbGFiZWwtaGlkZGVuIHtcbiAgbGVmdDogLTk5OTlweCAhaW1wb3J0YW50O1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgdG9wOiAtOTk5OXB4ICFpbXBvcnRhbnQ7XG59XG5cbi5jdGN0LWZvcm0td3JhcHBlciAuY3RjdF91c2FnZSB7XG4gIGJvcmRlcjogMCBub25lO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICBoZWlnaHQ6IDFweDtcbiAgbWFyZ2luOiAtMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG59XG5cbi5jdGN0LWZvcm0td3JhcHBlciAubm8tcmVjYXB0Y2hhIC5jdGN0LXN1Ym1pdHRlZDpkaXNhYmxlZCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvb3ZhbC5taW4uc3ZnKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGN1cnNvcjogd2FpdDtcbiAgb3BhY2l0eTogMC4zO1xufVxuXG4uY3RjdC1mb3JtLXdyYXBwZXIgLmhhcy1yZWNhcHRjaGEgLmN0Y3Qtc3VibWl0dGVkOmRpc2FibGVkIHtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuLmN0Y3QtZm9ybS13cmFwcGVyIC5jdGN0LWZvcm06OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiB0YWJsZTtcbn1cblxuLmN0Y3QtZm9ybS13cmFwcGVyIC5jdGN0LWZvcm0gLmN0Y3QtbGFiZWwtdG9wIGxhYmVsLFxuLmN0Y3QtZm9ybS13cmFwcGVyIC5jdGN0LWZvcm0gLmN0Y3QtbGFiZWwtYm90dG9tIGxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5jdGN0LWZvcm0td3JhcHBlciAuY3RjdC1mb3JtIC5jdGN0LWxhYmVsLWxlZnQgbGFiZWwsXG4uY3RjdC1mb3JtLXdyYXBwZXIgLmN0Y3QtZm9ybSAuY3RjdC1sYWJlbC1yaWdodCBsYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLmN0Y3QtZm9ybS13cmFwcGVyIC5jdGN0LWZvcm0gYWJiciB7XG4gIGJvcmRlcjogbm9uZTtcbiAgY29sb3I6ICNmZjQxMzY7XG4gIGZvbnQtc2l6ZTogMC45cmVtO1xufVxuXG4uY3RjdC1mb3JtLXdyYXBwZXIgLmN0Y3QtaW5wdXQtY29udGFpbmVyIGxhYmVsIHtcbiAgY29sb3I6ICNhYWE7XG4gIGZvbnQtc2l6ZTogMC44cmVtO1xufVxuXG4uY3RjdC1mb3JtLXdyYXBwZXIgLmN0Y3QtZmllbGQtZXJyb3Ige1xuICBjb2xvcjogI2ZmNDEzNjtcbn1cblxuLmN0Y3QtZm9ybS13cmFwcGVyIC5jdGN0LXN1Ym1pdCB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmN0Y3QtZm9ybS13cmFwcGVyIC5jdGN0LWZvcm0tZmllbGQtY2hlY2tib3ggZmllbGRzZXQge1xuICBib3JkZXI6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi5jdGN0LWZvcm0td3JhcHBlciAuY3RjdC1mb3JtLWZpZWxkLWNoZWNrYm94IGZpZWxkc2V0IGxlZ2VuZCB7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi5jdGN0LXR3ZW50eWZvdXJ0ZWVuIC5jdGN0LWZvcm0tZGVzY3JpcHRpb24gfiAuY3RjdC1idXR0b24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMjVweDtcbn1cblxuLmN0Y3QtdHdlbnR5Zm91cnRlZW4gLmN0Y3QtZm9ybS1maWVsZCBpbnB1dDpub3QoLmN0Y3QtY2hlY2tib3gpIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5jdGN0LXR3ZW50eWZpZnRlZW4gLmN0Y3QtZm9ybS1kZXNjcmlwdGlvbiB+IC5jdGN0LWJ1dHRvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zaXplOiAxcmVtO1xuICBtYXJnaW4tYm90dG9tOiAyNXB4O1xufVxuXG4uY3RjdC10d2VudHlmaWZ0ZWVuIC5jdGN0LWZvcm0tZmllbGQgaW5wdXRbdHlwZT1cInRlbFwiXSB7XG4gIHBhZGRpbmc6IDAuNTI3OGVtO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmN0Y3QtdHdlbnR5ZmlmdGVlbiAuY3RjdC1mb3JtLXdyYXBwZXIgLmN0Y3QtaW5wdXQtY29udGFpbmVyIGxhYmVsIHtcbiAgZm9udC1zaXplOiA3NSU7XG59XG5cbi5jdGN0LXR3ZW50eXNpeHRlZW4gLmN0Y3QtZm9ybS1kZXNjcmlwdGlvbiB+IC5jdGN0LWJ1dHRvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogMjVweDtcbn1cblxuLmN0Y3QtdHdlbnR5c2l4dGVlbiAuY3RjdC1mb3JtLXdyYXBwZXIgc3Bhbi5jdGN0LWxhYmVsLXJpZ2h0IHtcbiAgd2lkdGg6IDgwJTtcbn1cblxuLmN0Y3QtdHdlbnR5c2V2ZW50ZWVuIC5jdGN0LWZvcm0tZGVzY3JpcHRpb24gfiAuY3RjdC1idXR0b24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IDI1cHg7XG59XG5cbi5jdGN0LXR3ZW50eXNldmVudGVlbiAuY3RjdC1mb3JtLXdyYXBwZXIgLmN0Y3QtaW5wdXQtY29udGFpbmVyIGxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lO1xufVxuXG4uY3RjdC10d2VudHlzZXZlbnRlZW4gLmN0Y3QtZm9ybS13cmFwcGVyIHNwYW4uY3RjdC1sYWJlbC1yaWdodCB7XG4gIHdpZHRoOiA4MCU7XG59XG5cbi5jdGN0LXR3ZW50eW5pbmV0ZWVuIC5jdGN0LWZvcm0tZGVzY3JpcHRpb24gfiAuY3RjdC1idXR0b24ge1xuICBtYXJnaW4tYm90dG9tOiAyNXB4O1xufVxuXG4uY3RjdC10d2VudHluaW5ldGVlbiAuY3RjdC1hZGRyZXNzIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cblxuLmN0Y3QtdHdlbnR5bmluZXRlZW4gLmN0Y3QtZm9ybS1maWVsZCBpbnB1dFt0eXBlPVwidGV4dFwiXSxcbi5jdGN0LXR3ZW50eW5pbmV0ZWVuIC5jdGN0LWZvcm0tZmllbGQgaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxuLmN0Y3QtdHdlbnR5bmluZXRlZW4gLmN0Y3QtZm9ybS1maWVsZCBpbnB1dFt0eXBlPVwidXJsXCJdLFxuLmN0Y3QtdHdlbnR5bmluZXRlZW4gLmN0Y3QtZm9ybS1maWVsZCBpbnB1dFt0eXBlPVwidGVsXCJdIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQxNHB4KSB7XG4gIC5jdGN0LXR3ZW50eW5pbmV0ZWVuIC5jdGN0LWZvcm0td3JhcHBlciBzcGFuLmN0Y3QtbGFiZWwtcmlnaHQge1xuICAgIHdpZHRoOiA4MCU7XG4gIH1cbn1cblxuLmN0Y3QtdHdlbnR5dHdlbnR5IC5jdGN0LWZvcm0tZGVzY3JpcHRpb24gfiAuY3RjdC1idXR0b24ge1xuICBtYXJnaW4tYm90dG9tOiAyNXB4O1xufVxuXG4uY3RjdC10d2VudHl0d2VudHkgLmN0Y3QtZm9ybS13cmFwcGVyIC5jdGN0LWZvcm0gYWJiciB7XG4gIGZvbnQtc2l6ZTogMS42cmVtO1xufVxuXG4uY3RjdC10d2VudHl0d2VudHkgLmN0Y3QtZm9ybS13cmFwcGVyIC5jdGN0LWlucHV0LWNvbnRhaW5lciBsYWJlbCB7XG4gIGZvbnQtc2l6ZTogMS42cmVtO1xufVxuXG4uY3RjdC10d2VudHl0d2VudHlvbmUgLmN0Y3QtYnV0dG9uIHtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xufVxuXG4uY3RjdC10d2VudHl0d2VudHlvbmUgLmN0Y3QtZm9ybS1maWVsZCBpbnB1dFt0eXBlPVwidGV4dFwiXSxcbi5jdGN0LXR3ZW50eXR3ZW50eW9uZSAuY3RjdC1mb3JtLWZpZWxkIGlucHV0W3R5cGU9XCJlbWFpbFwiXSxcbi5jdGN0LXR3ZW50eXR3ZW50eW9uZSAuY3RjdC1mb3JtLWZpZWxkIGlucHV0W3R5cGU9XCJ1cmxcIl0sXG4uY3RjdC10d2VudHl0d2VudHlvbmUgLmN0Y3QtZm9ybS1maWVsZCBpbnB1dFt0eXBlPVwidGVsXCJdIHtcbiAgd2lkdGg6IDEwMCU7XG59XG4iXX0= */
|
assets/css/style.min.css
CHANGED
@@ -1,2 +1,2 @@
|
|
1 |
-
.ctct-form-wrapper .ctct-button{font-size:.9rem}.ctct-form-wrapper .ctct-message{border:1px solid;padding:1em}.ctct-form-wrapper .ctct-message.ctct-error{background-color:rgba(255,65,54,.02);border-color:#ff4136;color:#cf0b00}.ctct-form-wrapper .ctct-message.ctct-success{background-color:rgba(46,204,64,.02);border-color:#2ecc40;color:#1b7926}.ctct-form-wrapper .ctct-message .ctct-dismiss-ajax-notice{border-radius:50%;float:right;line-height:1;padding:.85rem 1rem;text-decoration:none}.ctct-form-wrapper .ctct-form-field{margin:0 0 1rem}.ctct-form-wrapper .ctct-field-inline{display:inline-block}.ctct-form-wrapper input[type=email]:required:valid,.ctct-form-wrapper input[type=number]:required:valid,.ctct-form-wrapper input[type=password]:required:valid,.ctct-form-wrapper input[type=tel]:required:valid,.ctct-form-wrapper input[type=text]:required:valid{background-image:url(../images/check_circle.svg);background-position:8px 50%;background-repeat:no-repeat;background-size:18px;border-color:#2ecc40;padding-left:32px}.ctct-form-wrapper input[type=email].ctct-invalid,.ctct-form-wrapper input[type=email]:required.ctct-invalid,.ctct-form-wrapper input[type=number].ctct-invalid,.ctct-form-wrapper input[type=number]:required.ctct-invalid,.ctct-form-wrapper input[type=password].ctct-invalid,.ctct-form-wrapper input[type=password]:required.ctct-invalid,.ctct-form-wrapper input[type=tel].ctct-invalid,.ctct-form-wrapper input[type=tel]:required.ctct-invalid,.ctct-form-wrapper input[type=text].ctct-invalid,.ctct-form-wrapper input[type=text]:required.ctct-invalid{background:#fff url(../images/error.svg) no-repeat;background-color:rgba(255,65,54,.02);background-position:8px 50%;background-size:24px;border-color:#ff4136;padding-left:40px}.ctct-form-wrapper .ctct-field-error{font-size:.85rem;font-style:italic}.ctct-form-wrapper input.ctct-invalid{background:#fff url(../images/error.svg) no-repeat;background-color:rgba(255,65,54,.02);background-position:8px 50%;background-size:24px;border-color:#ff4136;padding-left:40px}.ctct-form-wrapper input.ctct-label-left,.ctct-form-wrapper textarea.ctct-label-left{display:inline-block;width:75%}.ctct-form-wrapper span.ctct-label-left{display:inline-block;margin-right:5%;width:20%}.ctct-form-wrapper input.ctct-label-right,.ctct-form-wrapper textarea.ctct-label-right{display:inline-block;margin-right:5%;width:75%}.ctct-form-wrapper input.ctct-label-right[type=checkbox],.ctct-form-wrapper textarea.ctct-label-right[type=checkbox]{width:auto}.ctct-form-wrapper span.ctct-label-right{display:inline-block;width:20%}.ctct-form-wrapper span.ctct-label-hidden{left:-9999px!important;position:absolute!important;top:-9999px!important}.ctct-form-wrapper .ctct_usage{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.ctct-form-wrapper .no-recaptcha .ctct-submitted:disabled{background-image:url(../images/oval.min.svg);background-position:50%;background-repeat:no-repeat;color:transparent;cursor:wait;opacity:.3}.ctct-form-wrapper .has-recaptcha .ctct-submitted:disabled{cursor:not-allowed}.ctct-form-wrapper .ctct-form:after{clear:both;content:"";display:table}.ctct-form-wrapper .ctct-form .ctct-label-bottom label,.ctct-form-wrapper .ctct-form .ctct-label-top label{display:block}.ctct-form-wrapper .ctct-form .ctct-label-left label,.ctct-form-wrapper .ctct-form .ctct-label-right label{display:inline-block}.ctct-form-wrapper .ctct-form abbr{border:none;color:#ff4136;font-size:.9rem}.ctct-form-wrapper .ctct-input-container label{color:#aaa;font-size:.8rem}.ctct-form-wrapper .ctct-field-error{color:#ff4136}.ctct-form-wrapper .ctct-submit{cursor:pointer}.ctct-form-wrapper .ctct-form-field-checkbox fieldset{border:none;padding:0}.ctct-form-wrapper .ctct-form-field-checkbox fieldset legend{font-weight:400;padding:0}.ctct-twentyfourteen .ctct-form-field input{width:100%}@media (min-width:992px){.ctct-form-wrapper .ctct-field-half{float:left;margin-right:2%;width:48%}.ctct-form-wrapper .ctct-field-half:last-of-type{margin-right:0}.ctct-form-wrapper .ctct-field-third{float:left;margin-right:2%;width:32%}.ctct-form-wrapper .ctct-field-third:last-of-type{margin-right:0}.ctct-form-wrapper .ctct-field-fourth{float:left;margin-right:2%;width:24%}.ctct-form-wrapper .ctct-field-fourth:last-of-type{margin-right:0}}
|
2 |
-
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0eWxlLmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxnQ0FDRSxlQUNGLENBRUEsaUNBQ0UsZ0JBQWlCLENBQ2pCLFdBQ0YsQ0FFQSw0Q0FDRSxvQ0FBeUMsQ0FDekMsb0JBQXFCLENBQ3JCLGFBQ0YsQ0FFQSw4Q0FDRSxvQ0FBeUMsQ0FDekMsb0JBQXFCLENBQ3JCLGFBQ0YsQ0FFQSwyREFDRSxpQkFBa0IsQ0FDbEIsV0FBWSxDQUNaLGFBQWMsQ0FDZCxtQkFBcUIsQ0FDckIsb0JBQ0YsQ0FFQSxvQ0FDRSxlQUNGLENBRUEsc0NBQ0Usb0JBQ0YsQ0FtQ0EscVFBQ0UsZ0RBQW1ELENBQ25ELDJCQUE0QixDQUM1QiwyQkFBNEIsQ0FDNUIsb0JBQXFCLENBQ3JCLG9CQUFxQixDQUNyQixpQkFDRixDQUVBLG1pQkFDRSxrREFBcUQsQ0FDckQsb0NBQXlDLENBQ3pDLDJCQUE0QixDQUM1QixvQkFBcUIsQ0FDckIsb0JBQXFCLENBQ3JCLGlCQUNGLENBRUEscUNBQ0UsZ0JBQWtCLENBQ2xCLGlCQUNGLENBRUEsc0NBQ0Usa0RBQXFELENBQ3JELG9DQUF5QyxDQUN6QywyQkFBNEIsQ0FDNUIsb0JBQXFCLENBQ3JCLG9CQUFxQixDQUNyQixpQkFDRixDQUVBLHFGQUVFLG9CQUFxQixDQUNyQixTQUNGLENBRUEsd0NBQ0Usb0JBQXFCLENBQ3JCLGVBQWdCLENBQ2hCLFNBQ0YsQ0FFQSx1RkFFRSxvQkFBcUIsQ0FDckIsZUFBZ0IsQ0FDaEIsU0FDRixDQUVBLHFIQUVFLFVBQ0YsQ0FFQSx5Q0FDRSxvQkFBcUIsQ0FDckIsU0FDRixDQUVBLDBDQUNFLHNCQUF3QixDQUN4QiwyQkFBNkIsQ0FDN0IscUJBQ0YsQ0FFQSwrQkFDRSxRQUFjLENBQ2Qsa0JBQXNCLENBQ3RCLFVBQVcsQ0FDWCxXQUFZLENBQ1osZUFBZ0IsQ0FDaEIsU0FBVSxDQUNWLGlCQUFrQixDQUNsQixTQUNGLENBRUEsMERBQ0UsNENBQStDLENBQy9DLHVCQUEyQixDQUMzQiwyQkFBNEIsQ0FDNUIsaUJBQWtCLENBQ2xCLFdBQVksQ0FDWixVQUNGLENBRUEsMkRBQ0Usa0JBQ0YsQ0FFQSxvQ0FDRSxVQUFXLENBQ1gsVUFBVyxDQUNYLGFBQ0YsQ0FFQSwyR0FFRSxhQUNGLENBRUEsMkdBRUUsb0JBQ0YsQ0FFQSxtQ0FDRSxXQUFZLENBQ1osYUFBYyxDQUNkLGVBQ0YsQ0FFQSwrQ0FDRSxVQUFXLENBQ1gsZUFDRixDQUVBLHFDQUNFLGFBQ0YsQ0FFQSxnQ0FDRSxjQUNGLENBRUEsc0RBQ0UsV0FBWSxDQUNaLFNBQ0YsQ0FFQSw2REFDRSxlQUFtQixDQUNuQixTQUNGLENBRUEsNENBQ0UsVUFDRixDQTNLQSx5QkFDRSxvQ0FDRSxVQUFXLENBQ1gsZUFBZ0IsQ0FDaEIsU0FDRixDQUNBLGlEQUNFLGNBQ0YsQ0FJQSxxQ0FDRSxVQUFXLENBQ1gsZUFBZ0IsQ0FDaEIsU0FDRixDQUNBLGtEQUNFLGNBQ0YsQ0FJQSxzQ0FDRSxVQUFXLENBQ1gsZUFBZ0IsQ0FDaEIsU0FDRixDQUNBLG1EQUNFLGNBQ0YsQ0FyQkYiLCJmaWxlIjoic3R5bGUubWluLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5jdGN0LWZvcm0td3JhcHBlciAuY3RjdC1idXR0b24ge1xuICBmb250LXNpemU6IDAuOXJlbTtcbn1cblxuLmN0Y3QtZm9ybS13cmFwcGVyIC5jdGN0LW1lc3NhZ2Uge1xuICBib3JkZXI6IDFweCBzb2xpZDtcbiAgcGFkZGluZzogMWVtO1xufVxuXG4uY3RjdC1mb3JtLXdyYXBwZXIgLmN0Y3QtbWVzc2FnZS5jdGN0LWVycm9yIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDY1LCA1NCwgMC4wMik7XG4gIGJvcmRlci1jb2xvcjogI2ZmNDEzNjtcbiAgY29sb3I6ICNjZjBiMDA7XG59XG5cbi5jdGN0LWZvcm0td3JhcHBlciAuY3RjdC1tZXNzYWdlLmN0Y3Qtc3VjY2VzcyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNDYsIDIwNCwgNjQsIDAuMDIpO1xuICBib3JkZXItY29sb3I6ICMyZWNjNDA7XG4gIGNvbG9yOiAjMWI3OTI2O1xufVxuXG4uY3RjdC1mb3JtLXdyYXBwZXIgLmN0Y3QtbWVzc2FnZSAuY3RjdC1kaXNtaXNzLWFqYXgtbm90aWNlIHtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBmbG9hdDogcmlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBwYWRkaW5nOiAwLjg1cmVtIDFyZW07XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLmN0Y3QtZm9ybS13cmFwcGVyIC5jdGN0LWZvcm0tZmllbGQge1xuICBtYXJnaW46IDAgMCAxcmVtO1xufVxuXG4uY3RjdC1mb3JtLXdyYXBwZXIgLmN0Y3QtZmllbGQtaW5saW5lIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmN0Y3QtZm9ybS13cmFwcGVyIC5jdGN0LWZpZWxkLWhhbGYge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1yaWdodDogMiU7XG4gICAgd2lkdGg6IDQ4JTtcbiAgfVxuICAuY3RjdC1mb3JtLXdyYXBwZXIgLmN0Y3QtZmllbGQtaGFsZjpsYXN0LW9mLXR5cGUge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmN0Y3QtZm9ybS13cmFwcGVyIC5jdGN0LWZpZWxkLXRoaXJkIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tcmlnaHQ6IDIlO1xuICAgIHdpZHRoOiAzMiU7XG4gIH1cbiAgLmN0Y3QtZm9ybS13cmFwcGVyIC5jdGN0LWZpZWxkLXRoaXJkOmxhc3Qtb2YtdHlwZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuY3RjdC1mb3JtLXdyYXBwZXIgLmN0Y3QtZmllbGQtZm91cnRoIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tcmlnaHQ6IDIlO1xuICAgIHdpZHRoOiAyNCU7XG4gIH1cbiAgLmN0Y3QtZm9ybS13cmFwcGVyIC5jdGN0LWZpZWxkLWZvdXJ0aDpsYXN0LW9mLXR5cGUge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxufVxuXG4uY3RjdC1mb3JtLXdyYXBwZXIgaW5wdXRbdHlwZT0ndGV4dCddOnJlcXVpcmVkOnZhbGlkLCAuY3RjdC1mb3JtLXdyYXBwZXIgaW5wdXRbdHlwZT0nZW1haWwnXTpyZXF1aXJlZDp2YWxpZCwgLmN0Y3QtZm9ybS13cmFwcGVyIGlucHV0W3R5cGU9J3Bhc3N3b3JkJ106cmVxdWlyZWQ6dmFsaWQsIC5jdGN0LWZvcm0td3JhcHBlciBpbnB1dFt0eXBlPSd0ZWwnXTpyZXF1aXJlZDp2YWxpZCwgLmN0Y3QtZm9ybS13cmFwcGVyIGlucHV0W3R5cGU9J251bWJlciddOnJlcXVpcmVkOnZhbGlkIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2NoZWNrX2NpcmNsZS5zdmdcIik7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDhweCA1MCU7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogMThweDtcbiAgYm9yZGVyLWNvbG9yOiAjMmVjYzQwO1xuICBwYWRkaW5nLWxlZnQ6IDMycHg7XG59XG5cbi5jdGN0LWZvcm0td3JhcHBlciBpbnB1dFt0eXBlPSd0ZXh0J106cmVxdWlyZWQuY3RjdC1pbnZhbGlkLCAuY3RjdC1mb3JtLXdyYXBwZXIgaW5wdXRbdHlwZT0ndGV4dCddLmN0Y3QtaW52YWxpZCwgLmN0Y3QtZm9ybS13cmFwcGVyIGlucHV0W3R5cGU9J2VtYWlsJ106cmVxdWlyZWQuY3RjdC1pbnZhbGlkLCAuY3RjdC1mb3JtLXdyYXBwZXIgaW5wdXRbdHlwZT0nZW1haWwnXS5jdGN0LWludmFsaWQsIC5jdGN0LWZvcm0td3JhcHBlciBpbnB1dFt0eXBlPSdwYXNzd29yZCddOnJlcXVpcmVkLmN0Y3QtaW52YWxpZCwgLmN0Y3QtZm9ybS13cmFwcGVyIGlucHV0W3R5cGU9J3Bhc3N3b3JkJ10uY3RjdC1pbnZhbGlkLCAuY3RjdC1mb3JtLXdyYXBwZXIgaW5wdXRbdHlwZT0ndGVsJ106cmVxdWlyZWQuY3RjdC1pbnZhbGlkLCAuY3RjdC1mb3JtLXdyYXBwZXIgaW5wdXRbdHlwZT0ndGVsJ10uY3RjdC1pbnZhbGlkLCAuY3RjdC1mb3JtLXdyYXBwZXIgaW5wdXRbdHlwZT0nbnVtYmVyJ106cmVxdWlyZWQuY3RjdC1pbnZhbGlkLCAuY3RjdC1mb3JtLXdyYXBwZXIgaW5wdXRbdHlwZT0nbnVtYmVyJ10uY3RjdC1pbnZhbGlkIHtcbiAgYmFja2dyb3VuZDogI2ZmZiB1cmwoXCIuLi9pbWFnZXMvZXJyb3Iuc3ZnXCIpIG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDY1LCA1NCwgMC4wMik7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDhweCA1MCU7XG4gIGJhY2tncm91bmQtc2l6ZTogMjRweDtcbiAgYm9yZGVyLWNvbG9yOiAjZmY0MTM2O1xuICBwYWRkaW5nLWxlZnQ6IDQwcHg7XG59XG5cbi5jdGN0LWZvcm0td3JhcHBlciAuY3RjdC1maWVsZC1lcnJvciB7XG4gIGZvbnQtc2l6ZTogMC44NXJlbTtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4uY3RjdC1mb3JtLXdyYXBwZXIgaW5wdXQuY3RjdC1pbnZhbGlkIHtcbiAgYmFja2dyb3VuZDogI2ZmZiB1cmwoXCIuLi9pbWFnZXMvZXJyb3Iuc3ZnXCIpIG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDY1LCA1NCwgMC4wMik7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDhweCA1MCU7XG4gIGJhY2tncm91bmQtc2l6ZTogMjRweDtcbiAgYm9yZGVyLWNvbG9yOiAjZmY0MTM2O1xuICBwYWRkaW5nLWxlZnQ6IDQwcHg7XG59XG5cbi5jdGN0LWZvcm0td3JhcHBlciBpbnB1dC5jdGN0LWxhYmVsLWxlZnQsXG4uY3RjdC1mb3JtLXdyYXBwZXIgdGV4dGFyZWEuY3RjdC1sYWJlbC1sZWZ0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogNzUlO1xufVxuXG4uY3RjdC1mb3JtLXdyYXBwZXIgc3Bhbi5jdGN0LWxhYmVsLWxlZnQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1yaWdodDogNSU7XG4gIHdpZHRoOiAyMCU7XG59XG5cbi5jdGN0LWZvcm0td3JhcHBlciBpbnB1dC5jdGN0LWxhYmVsLXJpZ2h0LFxuLmN0Y3QtZm9ybS13cmFwcGVyIHRleHRhcmVhLmN0Y3QtbGFiZWwtcmlnaHQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1yaWdodDogNSU7XG4gIHdpZHRoOiA3NSU7XG59XG5cbi5jdGN0LWZvcm0td3JhcHBlciBpbnB1dC5jdGN0LWxhYmVsLXJpZ2h0W3R5cGU9XCJjaGVja2JveFwiXSxcbi5jdGN0LWZvcm0td3JhcHBlciB0ZXh0YXJlYS5jdGN0LWxhYmVsLXJpZ2h0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gIHdpZHRoOiBhdXRvO1xufVxuXG4uY3RjdC1mb3JtLXdyYXBwZXIgc3Bhbi5jdGN0LWxhYmVsLXJpZ2h0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMjAlO1xufVxuXG4uY3RjdC1mb3JtLXdyYXBwZXIgc3Bhbi5jdGN0LWxhYmVsLWhpZGRlbiB7XG4gIGxlZnQ6IC05OTk5cHggIWltcG9ydGFudDtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHRvcDogLTk5OTlweCAhaW1wb3J0YW50O1xufVxuXG4uY3RjdC1mb3JtLXdyYXBwZXIgLmN0Y3RfdXNhZ2Uge1xuICBib3JkZXI6IDAgbm9uZTtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgaGVpZ2h0OiAxcHg7XG4gIG1hcmdpbjogLTFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4O1xufVxuXG4uY3RjdC1mb3JtLXdyYXBwZXIgLm5vLXJlY2FwdGNoYSAuY3RjdC1zdWJtaXR0ZWQ6ZGlzYWJsZWQge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvb3ZhbC5taW4uc3ZnXCIpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY3Vyc29yOiB3YWl0O1xuICBvcGFjaXR5OiAwLjM7XG59XG5cbi5jdGN0LWZvcm0td3JhcHBlciAuaGFzLXJlY2FwdGNoYSAuY3RjdC1zdWJtaXR0ZWQ6ZGlzYWJsZWQge1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG4uY3RjdC1mb3JtLXdyYXBwZXIgLmN0Y3QtZm9ybTo6YWZ0ZXIge1xuICBjbGVhcjogYm90aDtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IHRhYmxlO1xufVxuXG4uY3RjdC1mb3JtLXdyYXBwZXIgLmN0Y3QtZm9ybSAuY3RjdC1sYWJlbC10b3AgbGFiZWwsXG4uY3RjdC1mb3JtLXdyYXBwZXIgLmN0Y3QtZm9ybSAuY3RjdC1sYWJlbC1ib3R0b20gbGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmN0Y3QtZm9ybS13cmFwcGVyIC5jdGN0LWZvcm0gLmN0Y3QtbGFiZWwtbGVmdCBsYWJlbCxcbi5jdGN0LWZvcm0td3JhcHBlciAuY3RjdC1mb3JtIC5jdGN0LWxhYmVsLXJpZ2h0IGxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4uY3RjdC1mb3JtLXdyYXBwZXIgLmN0Y3QtZm9ybSBhYmJyIHtcbiAgYm9yZGVyOiBub25lO1xuICBjb2xvcjogI2ZmNDEzNjtcbiAgZm9udC1zaXplOiAwLjlyZW07XG59XG5cbi5jdGN0LWZvcm0td3JhcHBlciAuY3RjdC1pbnB1dC1jb250YWluZXIgbGFiZWwge1xuICBjb2xvcjogI2FhYTtcbiAgZm9udC1zaXplOiAwLjhyZW07XG59XG5cbi5jdGN0LWZvcm0td3JhcHBlciAuY3RjdC1maWVsZC1lcnJvciB7XG4gIGNvbG9yOiAjZmY0MTM2O1xufVxuXG4uY3RjdC1mb3JtLXdyYXBwZXIgLmN0Y3Qtc3VibWl0IHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uY3RjdC1mb3JtLXdyYXBwZXIgLmN0Y3QtZm9ybS1maWVsZC1jaGVja2JveCBmaWVsZHNldCB7XG4gIGJvcmRlcjogbm9uZTtcbiAgcGFkZGluZzogMDtcbn1cblxuLmN0Y3QtZm9ybS13cmFwcGVyIC5jdGN0LWZvcm0tZmllbGQtY2hlY2tib3ggZmllbGRzZXQgbGVnZW5kIHtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgcGFkZGluZzogMDtcbn1cblxuLmN0Y3QtdHdlbnR5Zm91cnRlZW4gLmN0Y3QtZm9ybS1maWVsZCBpbnB1dCB7XG4gIHdpZHRoOiAxMDAlO1xufVxuIl19 */
|
1 |
+
.ctct-form-wrapper .ctct-button{font-size:.9rem}.ctct-form-wrapper .ctct-message{border:1px solid;padding:1em}.ctct-form-wrapper .ctct-message.ctct-error{background-color:rgba(255,65,54,.02);border-color:#ff4136;color:#cf0b00}.ctct-form-wrapper .ctct-message.ctct-success{background-color:rgba(46,204,64,.02);border-color:#2ecc40;color:#1b7926}.ctct-form-wrapper .ctct-message .ctct-dismiss-ajax-notice{border-radius:50%;float:right;line-height:1;padding:.85rem 1rem;text-decoration:none}.ctct-form-wrapper .ctct-form-field{margin:0 0 1rem}.ctct-form-wrapper .ctct-field-inline{display:inline-block}.ctct-form-wrapper input[type=email]:required:valid,.ctct-form-wrapper input[type=number]:required:valid,.ctct-form-wrapper input[type=password]:required:valid,.ctct-form-wrapper input[type=tel]:required:valid,.ctct-form-wrapper input[type=text]:required:valid{background-image:url(../images/check_circle.svg);background-position:8px 50%;background-repeat:no-repeat;background-size:18px;border-color:#2ecc40;padding-left:32px}.ctct-form-wrapper input[type=email].ctct-invalid,.ctct-form-wrapper input[type=email]:required.ctct-invalid,.ctct-form-wrapper input[type=number].ctct-invalid,.ctct-form-wrapper input[type=number]:required.ctct-invalid,.ctct-form-wrapper input[type=password].ctct-invalid,.ctct-form-wrapper input[type=password]:required.ctct-invalid,.ctct-form-wrapper input[type=tel].ctct-invalid,.ctct-form-wrapper input[type=tel]:required.ctct-invalid,.ctct-form-wrapper input[type=text].ctct-invalid,.ctct-form-wrapper input[type=text]:required.ctct-invalid{background:#fff url(../images/error.svg) no-repeat;background-color:rgba(255,65,54,.02);background-position:8px 50%;background-size:24px;border-color:#ff4136;padding-left:40px}.ctct-form-wrapper .ctct-field-error{font-size:.85rem;font-style:italic}.ctct-form-wrapper input.ctct-invalid{background:#fff url(../images/error.svg) no-repeat;background-color:rgba(255,65,54,.02);background-position:8px 50%;background-size:24px;border-color:#ff4136;padding-left:40px}.ctct-form-wrapper input.ctct-label-left,.ctct-form-wrapper textarea.ctct-label-left{display:inline-block;width:75%}.ctct-form-wrapper span.ctct-label-left{display:inline-block;margin-right:5%;width:20%}.ctct-form-wrapper input.ctct-label-right,.ctct-form-wrapper textarea.ctct-label-right{display:inline-block;margin-right:5%;width:75%}.ctct-form-wrapper input.ctct-label-right[type=checkbox],.ctct-form-wrapper textarea.ctct-label-right[type=checkbox]{width:auto}.ctct-form-wrapper span.ctct-label-right{display:inline-block;width:20%}.ctct-form-wrapper span.ctct-label-hidden{left:-9999px!important;position:absolute!important;top:-9999px!important}.ctct-form-wrapper .ctct_usage{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.ctct-form-wrapper .no-recaptcha .ctct-submitted:disabled{background-image:url(../images/oval.min.svg);background-position:50%;background-repeat:no-repeat;color:transparent;cursor:wait;opacity:.3}.ctct-form-wrapper .has-recaptcha .ctct-submitted:disabled{cursor:not-allowed}.ctct-form-wrapper .ctct-form:after{clear:both;content:"";display:table}.ctct-form-wrapper .ctct-form .ctct-label-bottom label,.ctct-form-wrapper .ctct-form .ctct-label-top label{display:block}.ctct-form-wrapper .ctct-form .ctct-label-left label,.ctct-form-wrapper .ctct-form .ctct-label-right label{display:inline-block}.ctct-form-wrapper .ctct-form abbr{border:none;color:#ff4136;font-size:.9rem}.ctct-form-wrapper .ctct-input-container label{color:#aaa;font-size:.8rem}.ctct-form-wrapper .ctct-field-error{color:#ff4136}.ctct-form-wrapper .ctct-submit{cursor:pointer}.ctct-form-wrapper .ctct-form-field-checkbox fieldset{border:none;padding:0}.ctct-form-wrapper .ctct-form-field-checkbox fieldset legend{font-weight:400;padding:0}.ctct-twentyfourteen .ctct-form-description~.ctct-button{display:inline-block;font-size:1rem;margin-bottom:25px}.ctct-twentyfourteen .ctct-form-field input:not(.ctct-checkbox){width:100%}.ctct-twentyfifteen .ctct-form-description~.ctct-button{display:inline-block;font-size:1rem;margin-bottom:25px}.ctct-twentyfifteen .ctct-form-field input[type=tel]{padding:.5278em;width:100%}.ctct-twentyfifteen .ctct-form-wrapper .ctct-input-container label{font-size:75%}.ctct-twentysixteen .ctct-form-description~.ctct-button{display:inline-block;margin-bottom:25px}.ctct-twentysixteen .ctct-form-wrapper span.ctct-label-right{width:80%}.ctct-twentyseventeen .ctct-form-description~.ctct-button{display:inline-block;margin-bottom:25px}.ctct-twentyseventeen .ctct-form-wrapper .ctct-input-container label{display:inline}.ctct-twentyseventeen .ctct-form-wrapper span.ctct-label-right{width:80%}.ctct-twentynineteen .ctct-form-description~.ctct-button{margin-bottom:25px}.ctct-twentynineteen .ctct-address{margin-bottom:1rem}.ctct-twentynineteen .ctct-form-field input[type=email],.ctct-twentynineteen .ctct-form-field input[type=tel],.ctct-twentynineteen .ctct-form-field input[type=text],.ctct-twentynineteen .ctct-form-field input[type=url]{width:100%}.ctct-twentytwenty .ctct-form-description~.ctct-button{margin-bottom:25px}.ctct-twentytwenty .ctct-form-wrapper .ctct-form abbr,.ctct-twentytwenty .ctct-form-wrapper .ctct-input-container label{font-size:1.6rem}.ctct-twentytwentyone .ctct-button{padding:0!important}.ctct-twentytwentyone .ctct-form-field input[type=email],.ctct-twentytwentyone .ctct-form-field input[type=tel],.ctct-twentytwentyone .ctct-form-field input[type=text],.ctct-twentytwentyone .ctct-form-field input[type=url]{width:100%}@media (min-width:992px){.ctct-form-wrapper .ctct-field-half{float:left;margin-right:2%;width:48%}.ctct-form-wrapper .ctct-field-half:last-of-type{margin-right:0}.ctct-form-wrapper .ctct-field-third{float:left;margin-right:2%;width:32%}.ctct-form-wrapper .ctct-field-third:last-of-type{margin-right:0}.ctct-form-wrapper .ctct-field-fourth{float:left;margin-right:2%;width:24%}.ctct-form-wrapper .ctct-field-fourth:last-of-type{margin-right:0}}@media screen and (max-width:414px){.ctct-twentynineteen .ctct-form-wrapper span.ctct-label-right{width:80%}}
|
2 |
+
/*# sourceMappingURL=data:application/json;charset=utf8;base64,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dGN0LWJ1dHRvbiB7XG4gIGZvbnQtc2l6ZTogMC45cmVtO1xufVxuXG4uY3RjdC1mb3JtLXdyYXBwZXIgLmN0Y3QtbWVzc2FnZSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkO1xuICBwYWRkaW5nOiAxZW07XG59XG5cbi5jdGN0LWZvcm0td3JhcHBlciAuY3RjdC1tZXNzYWdlLmN0Y3QtZXJyb3Ige1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgNjUsIDU0LCAwLjAyKTtcbiAgYm9yZGVyLWNvbG9yOiAjZmY0MTM2O1xuICBjb2xvcjogI2NmMGIwMDtcbn1cblxuLmN0Y3QtZm9ybS13cmFwcGVyIC5jdGN0LW1lc3NhZ2UuY3RjdC1zdWNjZXNzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg0NiwgMjA0LCA2NCwgMC4wMik7XG4gIGJvcmRlci1jb2xvcjogIzJlY2M0MDtcbiAgY29sb3I6ICMxYjc5MjY7XG59XG5cbi5jdGN0LWZvcm0td3JhcHBlciAuY3RjdC1tZXNzYWdlIC5jdGN0LWRpc21pc3MtYWpheC1ub3RpY2Uge1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGZsb2F0OiByaWdodDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHBhZGRpbmc6IDAuODVyZW0gMXJlbTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4uY3RjdC1mb3JtLXdyYXBwZXIgLmN0Y3QtZm9ybS1maWVsZCB7XG4gIG1hcmdpbjogMCAwIDFyZW07XG59XG5cbi5jdGN0LWZvcm0td3JhcHBlciAuY3RjdC1maWVsZC1pbmxpbmUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuY3RjdC1mb3JtLXdyYXBwZXIgLmN0Y3QtZmllbGQtaGFsZiB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAyJTtcbiAgICB3aWR0aDogNDglO1xuICB9XG4gIC5jdGN0LWZvcm0td3JhcHBlciAuY3RjdC1maWVsZC1oYWxmOmxhc3Qtb2YtdHlwZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuY3RjdC1mb3JtLXdyYXBwZXIgLmN0Y3QtZmllbGQtdGhpcmQge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1yaWdodDogMiU7XG4gICAgd2lkdGg6IDMyJTtcbiAgfVxuICAuY3RjdC1mb3JtLXdyYXBwZXIgLmN0Y3QtZmllbGQtdGhpcmQ6bGFzdC1vZi10eXBlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5jdGN0LWZvcm0td3JhcHBlciAuY3RjdC1maWVsZC1mb3VydGgge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1yaWdodDogMiU7XG4gICAgd2lkdGg6IDI0JTtcbiAgfVxuICAuY3RjdC1mb3JtLXdyYXBwZXIgLmN0Y3QtZmllbGQtZm91cnRoOmxhc3Qtb2YtdHlwZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG59XG5cbi5jdGN0LWZvcm0td3JhcHBlciBpbnB1dFt0eXBlPSd0ZXh0J106cmVxdWlyZWQ6dmFsaWQsIC5jdGN0LWZvcm0td3JhcHBlciBpbnB1dFt0eXBlPSdlbWFpbCddOnJlcXVpcmVkOnZhbGlkLCAuY3RjdC1mb3JtLXdyYXBwZXIgaW5wdXRbdHlwZT0ncGFzc3dvcmQnXTpyZXF1aXJlZDp2YWxpZCwgLmN0Y3QtZm9ybS13cmFwcGVyIGlucHV0W3R5cGU9J3RlbCddOnJlcXVpcmVkOnZhbGlkLCAuY3RjdC1mb3JtLXdyYXBwZXIgaW5wdXRbdHlwZT0nbnVtYmVyJ106cmVxdWlyZWQ6dmFsaWQge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL2NoZWNrX2NpcmNsZS5zdmcpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA4cHggNTAlO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDE4cHg7XG4gIGJvcmRlci1jb2xvcjogIzJlY2M0MDtcbiAgcGFkZGluZy1sZWZ0OiAzMnB4O1xufVxuXG4uY3RjdC1mb3JtLXdyYXBwZXIgaW5wdXRbdHlwZT0ndGV4dCddOnJlcXVpcmVkLmN0Y3QtaW52YWxpZCwgLmN0Y3QtZm9ybS13cmFwcGVyIGlucHV0W3R5cGU9J3RleHQnXS5jdGN0LWludmFsaWQsIC5jdGN0LWZvcm0td3JhcHBlciBpbnB1dFt0eXBlPSdlbWFpbCddOnJlcXVpcmVkLmN0Y3QtaW52YWxpZCwgLmN0Y3QtZm9ybS13cmFwcGVyIGlucHV0W3R5cGU9J2VtYWlsJ10uY3RjdC1pbnZhbGlkLCAuY3RjdC1mb3JtLXdyYXBwZXIgaW5wdXRbdHlwZT0ncGFzc3dvcmQnXTpyZXF1aXJlZC5jdGN0LWludmFsaWQsIC5jdGN0LWZvcm0td3JhcHBlciBpbnB1dFt0eXBlPSdwYXNzd29yZCddLmN0Y3QtaW52YWxpZCwgLmN0Y3QtZm9ybS13cmFwcGVyIGlucHV0W3R5cGU9J3RlbCddOnJlcXVpcmVkLmN0Y3QtaW52YWxpZCwgLmN0Y3QtZm9ybS13cmFwcGVyIGlucHV0W3R5cGU9J3RlbCddLmN0Y3QtaW52YWxpZCwgLmN0Y3QtZm9ybS13cmFwcGVyIGlucHV0W3R5cGU9J251bWJlciddOnJlcXVpcmVkLmN0Y3QtaW52YWxpZCwgLmN0Y3QtZm9ybS13cmFwcGVyIGlucHV0W3R5cGU9J251bWJlciddLmN0Y3QtaW52YWxpZCB7XG4gIGJhY2tncm91bmQ6ICNmZmYgdXJsKC4uL2ltYWdlcy9lcnJvci5zdmcpIG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDY1LCA1NCwgMC4wMik7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDhweCA1MCU7XG4gIGJhY2tncm91bmQtc2l6ZTogMjRweDtcbiAgYm9yZGVyLWNvbG9yOiAjZmY0MTM2O1xuICBwYWRkaW5nLWxlZnQ6IDQwcHg7XG59XG5cbi5jdGN0LWZvcm0td3JhcHBlciAuY3RjdC1maWVsZC1lcnJvciB7XG4gIGZvbnQtc2l6ZTogMC44NXJlbTtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4uY3RjdC1mb3JtLXdyYXBwZXIgaW5wdXQuY3RjdC1pbnZhbGlkIHtcbiAgYmFja2dyb3VuZDogI2ZmZiB1cmwoLi4vaW1hZ2VzL2Vycm9yLnN2Zykgbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgNjUsIDU0LCAwLjAyKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogOHB4IDUwJTtcbiAgYmFja2dyb3VuZC1zaXplOiAyNHB4O1xuICBib3JkZXItY29sb3I6ICNmZjQxMzY7XG4gIHBhZGRpbmctbGVmdDogNDBweDtcbn1cblxuLmN0Y3QtZm9ybS13cmFwcGVyIGlucHV0LmN0Y3QtbGFiZWwtbGVmdCxcbi5jdGN0LWZvcm0td3JhcHBlciB0ZXh0YXJlYS5jdGN0LWxhYmVsLWxlZnQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiA3NSU7XG59XG5cbi5jdGN0LWZvcm0td3JhcHBlciBzcGFuLmN0Y3QtbGFiZWwtbGVmdCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLXJpZ2h0OiA1JTtcbiAgd2lkdGg6IDIwJTtcbn1cblxuLmN0Y3QtZm9ybS13cmFwcGVyIGlucHV0LmN0Y3QtbGFiZWwtcmlnaHQsXG4uY3RjdC1mb3JtLXdyYXBwZXIgdGV4dGFyZWEuY3RjdC1sYWJlbC1yaWdodCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLXJpZ2h0OiA1JTtcbiAgd2lkdGg6IDc1JTtcbn1cblxuLmN0Y3QtZm9ybS13cmFwcGVyIGlucHV0LmN0Y3QtbGFiZWwtcmlnaHRbdHlwZT1cImNoZWNrYm94XCJdLFxuLmN0Y3QtZm9ybS13cmFwcGVyIHRleHRhcmVhLmN0Y3QtbGFiZWwtcmlnaHRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgd2lkdGg6IGF1dG87XG59XG5cbi5jdGN0LWZvcm0td3JhcHBlciBzcGFuLmN0Y3QtbGFiZWwtcmlnaHQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAyMCU7XG59XG5cbi5jdGN0LWZvcm0td3JhcHBlciBzcGFuLmN0Y3QtbGFiZWwtaGlkZGVuIHtcbiAgbGVmdDogLTk5OTlweCAhaW1wb3J0YW50O1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgdG9wOiAtOTk5OXB4ICFpbXBvcnRhbnQ7XG59XG5cbi5jdGN0LWZvcm0td3JhcHBlciAuY3RjdF91c2FnZSB7XG4gIGJvcmRlcjogMCBub25lO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICBoZWlnaHQ6IDFweDtcbiAgbWFyZ2luOiAtMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG59XG5cbi5jdGN0LWZvcm0td3JhcHBlciAubm8tcmVjYXB0Y2hhIC5jdGN0LXN1Ym1pdHRlZDpkaXNhYmxlZCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvb3ZhbC5taW4uc3ZnKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGN1cnNvcjogd2FpdDtcbiAgb3BhY2l0eTogMC4zO1xufVxuXG4uY3RjdC1mb3JtLXdyYXBwZXIgLmhhcy1yZWNhcHRjaGEgLmN0Y3Qtc3VibWl0dGVkOmRpc2FibGVkIHtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuLmN0Y3QtZm9ybS13cmFwcGVyIC5jdGN0LWZvcm06OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiB0YWJsZTtcbn1cblxuLmN0Y3QtZm9ybS13cmFwcGVyIC5jdGN0LWZvcm0gLmN0Y3QtbGFiZWwtdG9wIGxhYmVsLFxuLmN0Y3QtZm9ybS13cmFwcGVyIC5jdGN0LWZvcm0gLmN0Y3QtbGFiZWwtYm90dG9tIGxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5jdGN0LWZvcm0td3JhcHBlciAuY3RjdC1mb3JtIC5jdGN0LWxhYmVsLWxlZnQgbGFiZWwsXG4uY3RjdC1mb3JtLXdyYXBwZXIgLmN0Y3QtZm9ybSAuY3RjdC1sYWJlbC1yaWdodCBsYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLmN0Y3QtZm9ybS13cmFwcGVyIC5jdGN0LWZvcm0gYWJiciB7XG4gIGJvcmRlcjogbm9uZTtcbiAgY29sb3I6ICNmZjQxMzY7XG4gIGZvbnQtc2l6ZTogMC45cmVtO1xufVxuXG4uY3RjdC1mb3JtLXdyYXBwZXIgLmN0Y3QtaW5wdXQtY29udGFpbmVyIGxhYmVsIHtcbiAgY29sb3I6ICNhYWE7XG4gIGZvbnQtc2l6ZTogMC44cmVtO1xufVxuXG4uY3RjdC1mb3JtLXdyYXBwZXIgLmN0Y3QtZmllbGQtZXJyb3Ige1xuICBjb2xvcjogI2ZmNDEzNjtcbn1cblxuLmN0Y3QtZm9ybS13cmFwcGVyIC5jdGN0LXN1Ym1pdCB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmN0Y3QtZm9ybS13cmFwcGVyIC5jdGN0LWZvcm0tZmllbGQtY2hlY2tib3ggZmllbGRzZXQge1xuICBib3JkZXI6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi5jdGN0LWZvcm0td3JhcHBlciAuY3RjdC1mb3JtLWZpZWxkLWNoZWNrYm94IGZpZWxkc2V0IGxlZ2VuZCB7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi5jdGN0LXR3ZW50eWZvdXJ0ZWVuIC5jdGN0LWZvcm0tZGVzY3JpcHRpb24gfiAuY3RjdC1idXR0b24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMjVweDtcbn1cblxuLmN0Y3QtdHdlbnR5Zm91cnRlZW4gLmN0Y3QtZm9ybS1maWVsZCBpbnB1dDpub3QoLmN0Y3QtY2hlY2tib3gpIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5jdGN0LXR3ZW50eWZpZnRlZW4gLmN0Y3QtZm9ybS1kZXNjcmlwdGlvbiB+IC5jdGN0LWJ1dHRvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zaXplOiAxcmVtO1xuICBtYXJnaW4tYm90dG9tOiAyNXB4O1xufVxuXG4uY3RjdC10d2VudHlmaWZ0ZWVuIC5jdGN0LWZvcm0tZmllbGQgaW5wdXRbdHlwZT1cInRlbFwiXSB7XG4gIHBhZGRpbmc6IDAuNTI3OGVtO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmN0Y3QtdHdlbnR5ZmlmdGVlbiAuY3RjdC1mb3JtLXdyYXBwZXIgLmN0Y3QtaW5wdXQtY29udGFpbmVyIGxhYmVsIHtcbiAgZm9udC1zaXplOiA3NSU7XG59XG5cbi5jdGN0LXR3ZW50eXNpeHRlZW4gLmN0Y3QtZm9ybS1kZXNjcmlwdGlvbiB+IC5jdGN0LWJ1dHRvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogMjVweDtcbn1cblxuLmN0Y3QtdHdlbnR5c2l4dGVlbiAuY3RjdC1mb3JtLXdyYXBwZXIgc3Bhbi5jdGN0LWxhYmVsLXJpZ2h0IHtcbiAgd2lkdGg6IDgwJTtcbn1cblxuLmN0Y3QtdHdlbnR5c2V2ZW50ZWVuIC5jdGN0LWZvcm0tZGVzY3JpcHRpb24gfiAuY3RjdC1idXR0b24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IDI1cHg7XG59XG5cbi5jdGN0LXR3ZW50eXNldmVudGVlbiAuY3RjdC1mb3JtLXdyYXBwZXIgLmN0Y3QtaW5wdXQtY29udGFpbmVyIGxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lO1xufVxuXG4uY3RjdC10d2VudHlzZXZlbnRlZW4gLmN0Y3QtZm9ybS13cmFwcGVyIHNwYW4uY3RjdC1sYWJlbC1yaWdodCB7XG4gIHdpZHRoOiA4MCU7XG59XG5cbi5jdGN0LXR3ZW50eW5pbmV0ZWVuIC5jdGN0LWZvcm0tZGVzY3JpcHRpb24gfiAuY3RjdC1idXR0b24ge1xuICBtYXJnaW4tYm90dG9tOiAyNXB4O1xufVxuXG4uY3RjdC10d2VudHluaW5ldGVlbiAuY3RjdC1hZGRyZXNzIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cblxuLmN0Y3QtdHdlbnR5bmluZXRlZW4gLmN0Y3QtZm9ybS1maWVsZCBpbnB1dFt0eXBlPVwidGV4dFwiXSxcbi5jdGN0LXR3ZW50eW5pbmV0ZWVuIC5jdGN0LWZvcm0tZmllbGQgaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxuLmN0Y3QtdHdlbnR5bmluZXRlZW4gLmN0Y3QtZm9ybS1maWVsZCBpbnB1dFt0eXBlPVwidXJsXCJdLFxuLmN0Y3QtdHdlbnR5bmluZXRlZW4gLmN0Y3QtZm9ybS1maWVsZCBpbnB1dFt0eXBlPVwidGVsXCJdIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQxNHB4KSB7XG4gIC5jdGN0LXR3ZW50eW5pbmV0ZWVuIC5jdGN0LWZvcm0td3JhcHBlciBzcGFuLmN0Y3QtbGFiZWwtcmlnaHQge1xuICAgIHdpZHRoOiA4MCU7XG4gIH1cbn1cblxuLmN0Y3QtdHdlbnR5dHdlbnR5IC5jdGN0LWZvcm0tZGVzY3JpcHRpb24gfiAuY3RjdC1idXR0b24ge1xuICBtYXJnaW4tYm90dG9tOiAyNXB4O1xufVxuXG4uY3RjdC10d2VudHl0d2VudHkgLmN0Y3QtZm9ybS13cmFwcGVyIC5jdGN0LWZvcm0gYWJiciB7XG4gIGZvbnQtc2l6ZTogMS42cmVtO1xufVxuXG4uY3RjdC10d2VudHl0d2VudHkgLmN0Y3QtZm9ybS13cmFwcGVyIC5jdGN0LWlucHV0LWNvbnRhaW5lciBsYWJlbCB7XG4gIGZvbnQtc2l6ZTogMS42cmVtO1xufVxuXG4uY3RjdC10d2VudHl0d2VudHlvbmUgLmN0Y3QtYnV0dG9uIHtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xufVxuXG4uY3RjdC10d2VudHl0d2VudHlvbmUgLmN0Y3QtZm9ybS1maWVsZCBpbnB1dFt0eXBlPVwidGV4dFwiXSxcbi5jdGN0LXR3ZW50eXR3ZW50eW9uZSAuY3RjdC1mb3JtLWZpZWxkIGlucHV0W3R5cGU9XCJlbWFpbFwiXSxcbi5jdGN0LXR3ZW50eXR3ZW50eW9uZSAuY3RjdC1mb3JtLWZpZWxkIGlucHV0W3R5cGU9XCJ1cmxcIl0sXG4uY3RjdC10d2VudHl0d2VudHlvbmUgLmN0Y3QtZm9ybS1maWVsZCBpbnB1dFt0eXBlPVwidGVsXCJdIHtcbiAgd2lkdGg6IDEwMCU7XG59XG4iXX0= */
|
assets/images/check_circle.svg
CHANGED
File without changes
|
assets/images/constant-contact-logo.png
CHANGED
Binary file
|
assets/images/ctct-admin-notice-logo.png
CHANGED
Binary file
|
assets/images/ctct-icon-2x.png
CHANGED
Binary file
|
assets/images/ctct-icon.png
CHANGED
Binary file
|
assets/images/error.svg
CHANGED
File without changes
|
assets/js/ctct-plugin-admin.js
CHANGED
@@ -108,6 +108,17 @@ eval("window.CTCTBuilder = {};\n\n(function (window, $, that) {\n /**\n * @co
|
|
108 |
|
109 |
/***/ }),
|
110 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
111 |
/***/ "./assets/js/ctct-plugin-admin/forms.js":
|
112 |
/*!**********************************************!*\
|
113 |
!*** ./assets/js/ctct-plugin-admin/forms.js ***!
|
@@ -127,7 +138,7 @@ eval("window.CTCTForms = {};\n\n(function (window, $, that) {\n /**\n * @cons
|
|
127 |
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
128 |
|
129 |
"use strict";
|
130 |
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _ajax__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ajax */ \"./assets/js/ctct-plugin-admin/ajax.js\");\n/* harmony import */ var _ajax__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_ajax__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _builder__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./builder */ \"./assets/js/ctct-plugin-admin/builder.js\");\n/* harmony import */ var _builder__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_builder__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _forms__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./forms */ \"./assets/js/ctct-plugin-admin/forms.js\");\n/* harmony import */ var _forms__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_forms__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _modal__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./modal */ \"./assets/js/ctct-plugin-admin/modal.js\");\n/* harmony import */ var _modal__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_modal__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _newsletter__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./newsletter */ \"./assets/js/ctct-plugin-admin/newsletter.js\");\n/* harmony import */ var _newsletter__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_newsletter__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _optins__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./optins */ \"./assets/js/ctct-plugin-admin/optins.js\");\n/* harmony import */ var _optins__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_optins__WEBPACK_IMPORTED_MODULE_5__);\n\n\n\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9hc3NldHMvanMvY3RjdC1wbHVnaW4tYWRtaW4vaW5kZXguanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9hc3NldHMvanMvY3RjdC1wbHVnaW4tYWRtaW4vaW5kZXguanM/
|
131 |
|
132 |
/***/ }),
|
133 |
|
108 |
|
109 |
/***/ }),
|
110 |
|
111 |
+
/***/ "./assets/js/ctct-plugin-admin/clipboard.js":
|
112 |
+
/*!**************************************************!*\
|
113 |
+
!*** ./assets/js/ctct-plugin-admin/clipboard.js ***!
|
114 |
+
\**************************************************/
|
115 |
+
/*! no static exports found */
|
116 |
+
/***/ (function(module, exports) {
|
117 |
+
|
118 |
+
eval("window.CTCTClipboard = {};\n\n(function (window, $, app) {\n /**\n * @constructor\n *\n * @author Constant Contact\n * @since 1.0.0\n */\n app.init = function () {\n app.cache();\n app.bindEvents();\n };\n /**\n * Cache DOM elements.\n *\n * @author Constant Contact\n * @since 1.11.0\n */\n\n\n app.cache = function () {\n app.$c = {\n window: $(window),\n copyshortcode: $('.ctct-shortcode-wrap')\n };\n };\n /**\n * Copy to clipboard click event.\n *\n * @param {object} e The clicked element.\n * @param {HTMLElement} input The input element.\n * @author Constant Contact\n * @since 1.11.0\n */\n\n\n app.copyClick = function (button, input) {\n if (!button || !input) {\n return;\n } // Select the input.\n\n\n input.select();\n input.setSelectionRange(0, 99999); // For mobile devices.\n // Copy the text inside the text field.\n\n document.execCommand(\"copy\");\n var reset = button.innerHTML;\n button.innerHTML = button.dataset.copied; // Reset button text.\n\n setTimeout(function () {\n button.innerHTML = reset;\n }, 3000);\n };\n /**\n * Attach callbacks to events.\n *\n * @author Constant Contact\n * @since 1.11.0\n */\n\n\n app.bindEvents = function () {\n // Add click event for copy buttons.\n if (app.$c.copyshortcode) {\n app.$c.copyshortcode.each(function (index, element) {\n var input = element.querySelector('input');\n var button = element.querySelector('button');\n\n if (input && button) {\n button.addEventListener('click', function (e) {\n e.preventDefault();\n app.copyClick(this, input);\n });\n }\n });\n }\n };\n\n app.init();\n})(window, jQuery, window.CTCTClipboard);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9hc3NldHMvanMvY3RjdC1wbHVnaW4tYWRtaW4vY2xpcGJvYXJkLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vYXNzZXRzL2pzL2N0Y3QtcGx1Z2luLWFkbWluL2NsaXBib2FyZC5qcz9jMDNjIl0sInNvdXJjZXNDb250ZW50IjpbIndpbmRvdy5DVENUQ2xpcGJvYXJkID0ge307XG5cbiggZnVuY3Rpb24oIHdpbmRvdywgJCwgYXBwICkge1xuXG5cdC8qKlxuXHQgKiBAY29uc3RydWN0b3Jcblx0ICpcblx0ICogQGF1dGhvciBDb25zdGFudCBDb250YWN0XG5cdCAqIEBzaW5jZSAxLjAuMFxuXHQgKi9cblx0IGFwcC5pbml0ID0gKCkgPT4ge1xuXHRcdGFwcC5jYWNoZSgpO1xuXHRcdGFwcC5iaW5kRXZlbnRzKCk7XG5cdH07XG5cblx0LyoqXG5cdCAqIENhY2hlIERPTSBlbGVtZW50cy5cblx0ICpcblx0ICogQGF1dGhvciBDb25zdGFudCBDb250YWN0XG5cdCAqIEBzaW5jZSBORVhUXG5cdCAqL1xuXHQgYXBwLmNhY2hlID0gKCkgPT4ge1xuXHRcdGFwcC4kYyA9IHtcblx0XHRcdHdpbmRvdzogJCggd2luZG93ICksXG5cdFx0XHRjb3B5c2hvcnRjb2RlOiAkKCAnLmN0Y3Qtc2hvcnRjb2RlLXdyYXAnIClcblx0XHR9O1xuXHR9O1xuXG5cdC8qKlxuXHQgKiBDb3B5IHRvIGNsaXBib2FyZCBjbGljayBldmVudC5cblx0ICpcblx0ICogQHBhcmFtIHtvYmplY3R9IGUgVGhlIGNsaWNrZWQgZWxlbWVudC5cblx0ICogQHBhcmFtIHtIVE1MRWxlbWVudH0gaW5wdXQgVGhlIGlucHV0IGVsZW1lbnQuXG5cdCAqIEBhdXRob3IgQ29uc3RhbnQgQ29udGFjdFxuXHQgKiBAc2luY2UgTkVYVFxuXHQgKi9cblx0YXBwLmNvcHlDbGljayA9IChidXR0b24sIGlucHV0KSA9PiB7XG5cblx0XHRpZighYnV0dG9uIHx8ICFpbnB1dCl7XG5cdFx0XHRyZXR1cm47XG5cdFx0fVxuXG5cdFx0Ly8gU2VsZWN0IHRoZSBpbnB1dC5cblx0XHRpbnB1dC5zZWxlY3QoKTtcblx0XHRpbnB1dC5zZXRTZWxlY3Rpb25SYW5nZSgwLCA5OTk5OSk7IC8vIEZvciBtb2JpbGUgZGV2aWNlcy5cblx0IFxuXHRcdC8vIENvcHkgdGhlIHRleHQgaW5zaWRlIHRoZSB0ZXh0IGZpZWxkLlxuXHRcdGRvY3VtZW50LmV4ZWNDb21tYW5kKFwiY29weVwiKTtcblx0XHR2YXIgcmVzZXQgPSBidXR0b24uaW5uZXJIVE1MO1xuXHRcdGJ1dHRvbi5pbm5lckhUTUwgPSBidXR0b24uZGF0YXNldC5jb3BpZWQ7XG5cblx0XHQvLyBSZXNldCBidXR0b24gdGV4dC5cblx0XHRzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7XG5cdFx0XHRidXR0b24uaW5uZXJIVE1MID0gcmVzZXQ7XG5cdFx0fSwgMzAwMCk7XG5cblx0fVxuXG5cdC8qKlxuXHQgKiBBdHRhY2ggY2FsbGJhY2tzIHRvIGV2ZW50cy5cblx0ICpcblx0ICogQGF1dGhvciBDb25zdGFudCBDb250YWN0XG5cdCAqIEBzaW5jZSBORVhUXG5cdCAqL1xuXHQgYXBwLmJpbmRFdmVudHMgPSAoKSA9PiB7XG5cblx0XHQvLyBBZGQgY2xpY2sgZXZlbnQgZm9yIGNvcHkgYnV0dG9ucy5cblx0XHRpZihhcHAuJGMuY29weXNob3J0Y29kZSl7XG5cdFx0XHRhcHAuJGMuY29weXNob3J0Y29kZS5lYWNoKGZ1bmN0aW9uKGluZGV4LCBlbGVtZW50KSB7XG5cdFx0XHRcdHZhciBpbnB1dCA9IGVsZW1lbnQucXVlcnlTZWxlY3RvcignaW5wdXQnKTtcblx0XHRcdFx0dmFyIGJ1dHRvbiA9IGVsZW1lbnQucXVlcnlTZWxlY3RvcignYnV0dG9uJyk7XG5cdFx0XHRcdGlmKGlucHV0ICYmIGJ1dHRvbil7XG5cdFx0XHRcdFx0YnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oIGUgKXtcblx0XHRcdFx0XHRcdGUucHJldmVudERlZmF1bHQoKTtcblx0XHRcdFx0XHRcdGFwcC5jb3B5Q2xpY2soIHRoaXMsIGlucHV0KTtcblx0XHRcdFx0XHR9KTtcblx0XHRcdFx0fVxuXHRcdFx0fSlcblx0XHR9XG5cdH07XG5cblx0YXBwLmluaXQoKTtcblxufSAoIHdpbmRvdywgalF1ZXJ5LCB3aW5kb3cuQ1RDVENsaXBib2FyZCApICk7XG5cbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBRUE7Ozs7OztBQU1BO0FBQ0E7QUFDQTtBQUNBO0FBRUE7Ozs7Ozs7O0FBTUE7QUFDQTtBQUNBO0FBQ0E7QUFGQTtBQUlBO0FBRUE7Ozs7Ozs7Ozs7QUFRQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBRUE7QUFFQTs7Ozs7Ozs7QUFNQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./assets/js/ctct-plugin-admin/clipboard.js\n");
|
119 |
+
|
120 |
+
/***/ }),
|
121 |
+
|
122 |
/***/ "./assets/js/ctct-plugin-admin/forms.js":
|
123 |
/*!**********************************************!*\
|
124 |
!*** ./assets/js/ctct-plugin-admin/forms.js ***!
|
138 |
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
139 |
|
140 |
"use strict";
|
141 |
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _ajax__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ajax */ \"./assets/js/ctct-plugin-admin/ajax.js\");\n/* harmony import */ var _ajax__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_ajax__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _builder__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./builder */ \"./assets/js/ctct-plugin-admin/builder.js\");\n/* harmony import */ var _builder__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_builder__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _forms__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./forms */ \"./assets/js/ctct-plugin-admin/forms.js\");\n/* harmony import */ var _forms__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_forms__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _modal__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./modal */ \"./assets/js/ctct-plugin-admin/modal.js\");\n/* harmony import */ var _modal__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_modal__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _newsletter__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./newsletter */ \"./assets/js/ctct-plugin-admin/newsletter.js\");\n/* harmony import */ var _newsletter__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_newsletter__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _optins__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./optins */ \"./assets/js/ctct-plugin-admin/optins.js\");\n/* harmony import */ var _optins__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_optins__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _clipboard__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./clipboard */ \"./assets/js/ctct-plugin-admin/clipboard.js\");\n/* harmony import */ var _clipboard__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_clipboard__WEBPACK_IMPORTED_MODULE_6__);\n\n\n\n\n\n\n;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9hc3NldHMvanMvY3RjdC1wbHVnaW4tYWRtaW4vaW5kZXguanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9hc3NldHMvanMvY3RjdC1wbHVnaW4tYWRtaW4vaW5kZXguanM/OTI5YSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgJy4vYWpheCc7XG5pbXBvcnQgJy4vYnVpbGRlcic7XG5pbXBvcnQgJy4vZm9ybXMnO1xuaW1wb3J0ICcuL21vZGFsJztcbmltcG9ydCAnLi9uZXdzbGV0dGVyJztcbmltcG9ydCAnLi9vcHRpbnMnOztcbmltcG9ydCAnLi9jbGlwYm9hcmQnOyBcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./assets/js/ctct-plugin-admin/index.js\n");
|
142 |
|
143 |
/***/ }),
|
144 |
|
assets/js/ctct-plugin-admin.min.js
CHANGED
@@ -1,2 +1,2 @@
|
|
1 |
-
!function(t){var e={};function n(c){if(e[c])return e[c].exports;var o=e[c]={i:c,l:!1,exports:{}};return t[c].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=t,n.c=e,n.d=function(t,e,c){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:c})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var c=Object.create(null);if(n.r(c),Object.defineProperty(c,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var o in t)n.d(c,o,function(e){return t[e]}.bind(null,o));return c},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="https://testing.test/wp-content/plugins/constant-contact-forms/assets/js/",n(n.s=0)}([function(t,e,n){t.exports=n(1)},function(t,e,n){"use strict";n.r(e);n(2),n(3),n(4),n(5),n(6),n(7)},function(t,e){window.CTCTAJAX={},function(t,e,n){var c=this;n.init=function(){n.handleOptinAJAX(),n.handleReviewAJAX()},n.handleOptinAJAX=function(){e("#ctct_admin_notice_tracking_optin").on("click",(function(n){var o={action:"constant_contact_optin_ajax_handler",optin:e(c).is(":checked")?"on":"off"};e.ajax({url:t.ajaxurl,data:o,dataType:"json",success:function(t){e(document.getElementById("ctct-admin-notice-optin_admin_notice")).remove()},error:function(e,n,c){t.console&&console.log([n,c])}}),e("#ctct-privacy-modal").toggleClass("ctct-modal-open")})),e("#ctct-connect-ga-optin a").on("click",(function(n){var o={action:"constant_contact_optin_ajax_handler",optin:e(c).attr("data-allow")};e.ajax({url:t.ajaxurl,data:o,dataType:"json",success:function(t){e(".ctct-connected-opt-in").hide()},error:function(e,n,c){t.console&&console.log([n,c])}})})),e("#_ctct_data_tracking").on("click",(function(t){e("#ctct-privacy-modal").toggleClass("ctct-modal-open")})),e(".ctct-modal-close").on("click",(function(t){var n=e("#_ctct_data_tracking");n.is(":checked")&&n.attr("checked",!1)})),e("#ctct-modal-footer-privacy a").on("click",(function(n){var o={action:"constant_contact_privacy_ajax_handler",privacy_agree:e(c).attr("data-agree")};e.ajax({url:t.ajaxurl,data:o,dataType:"json",success:function(t){if(e("#ctct-privacy-modal").toggleClass("ctct-modal-open"),"false"===o.privacy_agree){var n=e("#_ctct_data_tracking");n.is(":checked")&&n.attr("checked",!1)}},error:function(e,n,c){t.console&&console.log([n,c])}})}))},n.handleReviewAJAX=function(){e("#ctct-admin-notice-review_request").on("click","a",(function(n){var o="dismissed";e(c).hasClass("ctct-review")&&(o="reviewed");var i={action:"constant_contact_review_ajax_handler","ctct-review-action":o};e.ajax({url:t.ajaxurl,data:i,dataType:"json",success:function(c){t.console&&console.log(c),n.preventDefault(),e("#ctct-admin-notice-review_request").hide()},error:function(e,n,c){t.console&&console.log([n,c])}})}))},e(n.init)}(window,jQuery,window.CTCTAJAX)},function(t,e){window.CTCTBuilder={},function(t,e,n){n.init=function(){e('#cmb2-metabox-ctct_2_fields_metabox option[value="email"]:selected').length&&e("#ctct-no-email-error").remove(),n.cache(),n.bindEvents(),n.selectBinds(),n.modifyFields(),e("#ctct_0_description_metabox h2.hndle").removeClass("ui-sortable-handle, hndle"),e("head").append('<style> #cmb2-metabox-ctct_2_fields_metabox a.move-up::after { content: "'+t.ctctTexts.move_up+'" } #cmb2-metabox-ctct_2_fields_metabox a.move-down::after { content: "'+t.ctctTexts.move_down+'" }</style>')},n.cache=function(){n.$c={window:e(t),body:e("body")},n.isLeaveWarningBound=!1},n.bindLeaveWarning=function(){n.isLeaveWarningBound||(e(t).bind("beforeunload",(function(){return t.ctctTexts.leavewarning})),n.isLeaveWarningBound=!0)},n.unbindLeaveWarning=function(){e(t).unbind("beforeunload")},n.bindEvents=function(){e("#post").submit((function(){e(".ctct-email-disabled").removeClass("disabled").prop("disabled",!1),n.unbindLeaveWarning()})),e(".cmb2-wrap input, .cmb2-wrap textarea").on("input",(function(){"undefined"!=typeof tinyMCE&&n.bindLeaveWarning()})),e(document).on("cmb2_shift_rows_complete",(function(){n.modifyFields(),n.bindLeaveWarning(),n.removeDuplicateMappings()})),e(document).on("cmb2_add_row",(function(t){e("#custom_fields_group_repeat .postbox").last().find(".map select").val("none"),n.modifyFields(),n.selectBinds(),n.removeDuplicateMappings()})),n.removeDuplicateMappings(),e("#ctct-reset-css").on("click",(function(t){t.preventDefault();var n=["#_ctct_form_description_font_size","#_ctct_form_submit_button_font_size","#_ctct_form_label_placement"],c=["#_ctct_form_padding_top","#_ctct_form_padding_bottom","#_ctct_form_padding_left","#_ctct_form_padding_right","#_ctct_input_custom_classes"];e(".wp-picker-clear").each((function(){e(this).click()}));for(var o=n.length;o--;){var i=e(n[o]).children("option").first();e(n[o]).val(i.val())}for(o=c.length;o--;)e(c[o]).val("")}))},n.selectBinds=function(){e("#cmb2-metabox-ctct_2_fields_metabox .cmb2_select").change((function(){n.modifyFields(),n.removeDuplicateMappings(),n.bindLeaveWarning()}))},n.modifyFields=function(){var n=!1;e("#cmb2-metabox-ctct_2_fields_metabox #custom_fields_group_repeat .cmb-repeatable-grouping").each((function(c,o){var i=e(this).find(".cmb-field-list"),a=e(i).find(".cmb-remove-group-row"),l=e(i).find(".required input[type=checkbox]"),s=l.closest(".cmb-row"),r=e(i).find(".map select option:selected"),d=r.text(),u=e(this).find("h3"),f=e(this).find('input[name*="_ctct_field_label"]'),p=e(this).find('input[name*="_ctct_field_desc"]');if(u.text(d),0===f.val().length?f.val(d).addClass("ctct-label-filled"):f.addClass("ctct-label-filled"),n||"email"!==e(r).val()?(e(o).find("select").removeClass("disabled ctct-email-disabled").prop("disabled",!1),s.show(),a.show()):(n=!0,l.prop("checked",!0),e(o).find("select").addClass("disabled ctct-email-disabled").prop("disabled",!0),s.hide(),a.hide()),t.ctct_admin_placeholders){var _=t.ctct_admin_placeholders[e(o).find("select").val()];_&&_.length&&p.length?p.attr("placeholder","Example: "+_):t.ctct_admin_placeholders.default&&p.attr("placeholder",t.ctct_admin_placeholders.default)}}))},n.removeDuplicateMappings=function(){var t=[],n="#cmb2-metabox-ctct_2_fields_metabox #custom_fields_group_repeat .cmb-repeatable-grouping select",c=e(n);c.each((function(n,c){t.push(e(c).val())})),c.children().show(),t.forEach((function(t){"custom_text_area"!==t&&"custom"!==t&&e(n+" option[value="+t+"]:not( :selected )").hide()}))},e(n.init)}(window,jQuery,window.CTCTBuilder)},function(t,e){window.CTCTForms={},function(t,e,n){n.init=function(){n.cache(),n.bindEvents()},n.cache=function(){n.$c={window:e(t),body:e("body"),disconnect:".ctct-disconnect"}},n.bindEvents=function(){e(n.$c.disconnect).on("click",(function(e){confirm(t.ctctTexts.disconnectconfirm)}))},e(n.init)}(window,jQuery,window.CTCTForms)},function(t,e){window.CTCTModal={},function(t,e,n){n.init=function(){n.cache(),n.bindEvents()},n.cache=function(){n.$c={window:e(t),modalSelector:e(".ctct-modal"),modalClose:e(".ctct-modal-close"),textareaModal:e("#ctct-custom-textarea-modal"),textareaLink:e("#ctct-open-textarea-info"),deleteLogLink:e("#deletelog")}},n.bindEvents=function(){n.$c.modalClose.on("click",(function(){n.$c.modalSelector.removeClass("ctct-modal-open"),n.$c.modalSelector.hasClass("ctct-custom-textarea-modal")||e.ajax({type:"post",dataType:"json",url:t.ajaxurl,data:{action:"ctct_dismiss_first_modal",ctct_is_dismissed:"true"}})})),n.$c.textareaLink.on("click",(function(){n.$c.textareaModal.addClass("ctct-modal-open")})),n.$c.deleteLogLink.on("click",(function(n){n.preventDefault();var c=e(n.currentTarget).attr("href");e("#confirmdelete").dialog({resizable:!1,height:"auto",width:400,modal:!0,buttons:{Yes:function(){t.location.replace(c)},Cancel:function(){e("#confirmdelete").closest(".ui-dialog-content").dialog("close")}}})}))},e(n.init)}(window,jQuery,window.CTCTModal)},function(t,e){var n,c;window.CTCTNewsletter={},window,n=jQuery,(c=window.CTCTNewsletter).init=function(){c.submitNewsletter()},c.submitNewsletter=function(){n(".ctct-body #subscribe").on("submit",(function(t){t.preventDefault();var e=n("#subscribe .ctct-call-to-action"),c=n(".ctct-body #subscribe")[0],o=n('.ctct-call-to-action input[type="text"]')[0],i=t.target.action;!0===o.validity.valid?(n("<iframe>",{src:i+"?"+n(c).serialize(),height:0,width:0,style:"display: none;"}).appendTo(e),n("#subbutton").val("Thanks for signing up").css({"background-color":"rgb(1, 128, 0)",color:"rgb(255,255,255)"}),n("#subscribe .ctct-call-to-action-text").css({width:"70%"})):n("#subbutton").val("Error occurred")})),n(".ctct-section #subscribe").on("submit",(function(t){t.preventDefault();var e=n(".section-marketing-tips"),c=n(".ctct-section #subscribe")[0],o=n('.ctct-section #subscribe input[type="text"]')[0],i=t.target.action;!0===o.validity.valid?(n("<iframe>",{src:i+"?"+n(c).serialize(),height:0,width:0,style:"display: none;"}).appendTo(e),n("#subbutton").val("Thanks for signing up").css({"background-color":"rgb(1, 128, 0)"})):n("#subbutton").val("Error occurred")}))},n(c.init)},function(t,e){var n,c;window.CTCT_OptIns={},window,n=jQuery,(c=window.CTCT_OptIns).init=function(){c.cache(),c.bindEvents()},c.cache=function(){c.$c={optinNoConn:n("#cmb2-metabox-ctct_1_optin_metabox #_ctct_opt_in_not_connected"),list:n('#cmb2-metabox-ctct_0_list_metabox [name="_ctct_list[]"]'),title:n("#cmb2-metabox-ctct_1_optin_metabox .cmb2-id-email-optin-title"),optin:n("#cmb2-metabox-ctct_1_optin_metabox .cmb2-id--ctct-opt-in"),instruct:n("#cmb2-metabox-ctct_1_optin_metabox .cmb2-id--ctct-opt-in-instructions")}},c.bindEvents=function(){c.$c.optinNoConn.length&&(c.toggleNoConnectionFields(),c.$c.optinNoConn.change((function(){c.toggleNoConnectionFields()}))),c.$c.list.length&&(c.toggleConnectionFields(),c.$c.list.change((function(){c.toggleConnectionFields()})))},c.toggleNoConnectionFields=function(){c.$c.optinNoConn.prop("checked")?c.$c.instruct.slideDown():c.$c.instruct.slideUp()},c.toggleConnectionFields=function(){""!==c.$c.list.val()?(c.$c.title.slideDown(),c.$c.optin.slideDown(),c.$c.instruct.slideDown()):(c.$c.title.slideUp(),c.$c.optin.slideUp(),c.$c.instruct.slideUp())},n(c.init)}]);
|
2 |
//# sourceMappingURL=ctct-plugin-admin.min.js.map
|
1 |
+
!function(t){var e={};function n(c){if(e[c])return e[c].exports;var o=e[c]={i:c,l:!1,exports:{}};return t[c].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=t,n.c=e,n.d=function(t,e,c){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:c})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var c=Object.create(null);if(n.r(c),Object.defineProperty(c,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var o in t)n.d(c,o,function(e){return t[e]}.bind(null,o));return c},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="https://testing.test/wp-content/plugins/constant-contact-forms/assets/js/",n(n.s=0)}([function(t,e,n){t.exports=n(1)},function(t,e,n){"use strict";n.r(e);n(2),n(3),n(4),n(5),n(6),n(7),n(8)},function(t,e){window.CTCTAJAX={},function(t,e,n){var c=this;n.init=function(){n.handleOptinAJAX(),n.handleReviewAJAX()},n.handleOptinAJAX=function(){e("#ctct_admin_notice_tracking_optin").on("click",(function(n){var o={action:"constant_contact_optin_ajax_handler",optin:e(c).is(":checked")?"on":"off"};e.ajax({url:t.ajaxurl,data:o,dataType:"json",success:function(t){e(document.getElementById("ctct-admin-notice-optin_admin_notice")).remove()},error:function(e,n,c){t.console&&console.log([n,c])}}),e("#ctct-privacy-modal").toggleClass("ctct-modal-open")})),e("#ctct-connect-ga-optin a").on("click",(function(n){var o={action:"constant_contact_optin_ajax_handler",optin:e(c).attr("data-allow")};e.ajax({url:t.ajaxurl,data:o,dataType:"json",success:function(t){e(".ctct-connected-opt-in").hide()},error:function(e,n,c){t.console&&console.log([n,c])}})})),e("#_ctct_data_tracking").on("click",(function(t){e("#ctct-privacy-modal").toggleClass("ctct-modal-open")})),e(".ctct-modal-close").on("click",(function(t){var n=e("#_ctct_data_tracking");n.is(":checked")&&n.attr("checked",!1)})),e("#ctct-modal-footer-privacy a").on("click",(function(n){var o={action:"constant_contact_privacy_ajax_handler",privacy_agree:e(c).attr("data-agree")};e.ajax({url:t.ajaxurl,data:o,dataType:"json",success:function(t){if(e("#ctct-privacy-modal").toggleClass("ctct-modal-open"),"false"===o.privacy_agree){var n=e("#_ctct_data_tracking");n.is(":checked")&&n.attr("checked",!1)}},error:function(e,n,c){t.console&&console.log([n,c])}})}))},n.handleReviewAJAX=function(){e("#ctct-admin-notice-review_request").on("click","a",(function(n){var o="dismissed";e(c).hasClass("ctct-review")&&(o="reviewed");var i={action:"constant_contact_review_ajax_handler","ctct-review-action":o};e.ajax({url:t.ajaxurl,data:i,dataType:"json",success:function(c){t.console&&console.log(c),n.preventDefault(),e("#ctct-admin-notice-review_request").hide()},error:function(e,n,c){t.console&&console.log([n,c])}})}))},e(n.init)}(window,jQuery,window.CTCTAJAX)},function(t,e){window.CTCTBuilder={},function(t,e,n){n.init=function(){e('#cmb2-metabox-ctct_2_fields_metabox option[value="email"]:selected').length&&e("#ctct-no-email-error").remove(),n.cache(),n.bindEvents(),n.selectBinds(),n.modifyFields(),e("#ctct_0_description_metabox h2.hndle").removeClass("ui-sortable-handle, hndle"),e("head").append('<style> #cmb2-metabox-ctct_2_fields_metabox a.move-up::after { content: "'+t.ctctTexts.move_up+'" } #cmb2-metabox-ctct_2_fields_metabox a.move-down::after { content: "'+t.ctctTexts.move_down+'" }</style>')},n.cache=function(){n.$c={window:e(t),body:e("body")},n.isLeaveWarningBound=!1},n.bindLeaveWarning=function(){n.isLeaveWarningBound||(e(t).bind("beforeunload",(function(){return t.ctctTexts.leavewarning})),n.isLeaveWarningBound=!0)},n.unbindLeaveWarning=function(){e(t).unbind("beforeunload")},n.bindEvents=function(){e("#post").submit((function(){e(".ctct-email-disabled").removeClass("disabled").prop("disabled",!1),n.unbindLeaveWarning()})),e(".cmb2-wrap input, .cmb2-wrap textarea").on("input",(function(){"undefined"!=typeof tinyMCE&&n.bindLeaveWarning()})),e(document).on("cmb2_shift_rows_complete",(function(){n.modifyFields(),n.bindLeaveWarning(),n.removeDuplicateMappings()})),e(document).on("cmb2_add_row",(function(t){e("#custom_fields_group_repeat .postbox").last().find(".map select").val("none"),n.modifyFields(),n.selectBinds(),n.removeDuplicateMappings()})),n.removeDuplicateMappings(),e("#ctct-reset-css").on("click",(function(t){t.preventDefault();var n=["#_ctct_form_description_font_size","#_ctct_form_submit_button_font_size","#_ctct_form_label_placement"],c=["#_ctct_form_padding_top","#_ctct_form_padding_bottom","#_ctct_form_padding_left","#_ctct_form_padding_right","#_ctct_input_custom_classes"];e(".wp-picker-clear").each((function(){e(this).click()}));for(var o=n.length;o--;){var i=e(n[o]).children("option").first();e(n[o]).val(i.val())}for(o=c.length;o--;)e(c[o]).val("")}))},n.selectBinds=function(){e("#cmb2-metabox-ctct_2_fields_metabox .cmb2_select").change((function(){n.modifyFields(),n.removeDuplicateMappings(),n.bindLeaveWarning()}))},n.modifyFields=function(){var n=!1;e("#cmb2-metabox-ctct_2_fields_metabox #custom_fields_group_repeat .cmb-repeatable-grouping").each((function(c,o){var i=e(this).find(".cmb-field-list"),a=e(i).find(".cmb-remove-group-row"),l=e(i).find(".required input[type=checkbox]"),r=l.closest(".cmb-row"),s=e(i).find(".map select option:selected"),d=s.text(),u=e(this).find("h3"),f=e(this).find('input[name*="_ctct_field_label"]'),p=e(this).find('input[name*="_ctct_field_desc"]');if(u.text(d),0===f.val().length?f.val(d).addClass("ctct-label-filled"):f.addClass("ctct-label-filled"),n||"email"!==e(s).val()?(e(o).find("select").removeClass("disabled ctct-email-disabled").prop("disabled",!1),r.show(),a.show()):(n=!0,l.prop("checked",!0),e(o).find("select").addClass("disabled ctct-email-disabled").prop("disabled",!0),r.hide(),a.hide()),t.ctct_admin_placeholders){var m=t.ctct_admin_placeholders[e(o).find("select").val()];m&&m.length&&p.length?p.attr("placeholder","Example: "+m):t.ctct_admin_placeholders.default&&p.attr("placeholder",t.ctct_admin_placeholders.default)}}))},n.removeDuplicateMappings=function(){var t=[],n="#cmb2-metabox-ctct_2_fields_metabox #custom_fields_group_repeat .cmb-repeatable-grouping select",c=e(n);c.each((function(n,c){t.push(e(c).val())})),c.children().show(),t.forEach((function(t){"custom_text_area"!==t&&"custom"!==t&&e(n+" option[value="+t+"]:not( :selected )").hide()}))},e(n.init)}(window,jQuery,window.CTCTBuilder)},function(t,e){window.CTCTForms={},function(t,e,n){n.init=function(){n.cache(),n.bindEvents()},n.cache=function(){n.$c={window:e(t),body:e("body"),disconnect:".ctct-disconnect"}},n.bindEvents=function(){e(n.$c.disconnect).on("click",(function(e){confirm(t.ctctTexts.disconnectconfirm)}))},e(n.init)}(window,jQuery,window.CTCTForms)},function(t,e){window.CTCTModal={},function(t,e,n){n.init=function(){n.cache(),n.bindEvents()},n.cache=function(){n.$c={window:e(t),modalSelector:e(".ctct-modal"),modalClose:e(".ctct-modal-close"),textareaModal:e("#ctct-custom-textarea-modal"),textareaLink:e("#ctct-open-textarea-info"),deleteLogLink:e("#deletelog")}},n.bindEvents=function(){n.$c.modalClose.on("click",(function(){n.$c.modalSelector.removeClass("ctct-modal-open"),n.$c.modalSelector.hasClass("ctct-custom-textarea-modal")||e.ajax({type:"post",dataType:"json",url:t.ajaxurl,data:{action:"ctct_dismiss_first_modal",ctct_is_dismissed:"true"}})})),n.$c.textareaLink.on("click",(function(){n.$c.textareaModal.addClass("ctct-modal-open")})),n.$c.deleteLogLink.on("click",(function(n){n.preventDefault();var c=e(n.currentTarget).attr("href");e("#confirmdelete").dialog({resizable:!1,height:"auto",width:400,modal:!0,buttons:{Yes:function(){t.location.replace(c)},Cancel:function(){e("#confirmdelete").closest(".ui-dialog-content").dialog("close")}}})}))},e(n.init)}(window,jQuery,window.CTCTModal)},function(t,e){var n,c;window.CTCTNewsletter={},window,n=jQuery,(c=window.CTCTNewsletter).init=function(){c.submitNewsletter()},c.submitNewsletter=function(){n(".ctct-body #subscribe").on("submit",(function(t){t.preventDefault();var e=n("#subscribe .ctct-call-to-action"),c=n(".ctct-body #subscribe")[0],o=n('.ctct-call-to-action input[type="text"]')[0],i=t.target.action;!0===o.validity.valid?(n("<iframe>",{src:i+"?"+n(c).serialize(),height:0,width:0,style:"display: none;"}).appendTo(e),n("#subbutton").val("Thanks for signing up").css({"background-color":"rgb(1, 128, 0)",color:"rgb(255,255,255)"}),n("#subscribe .ctct-call-to-action-text").css({width:"70%"})):n("#subbutton").val("Error occurred")})),n(".ctct-section #subscribe").on("submit",(function(t){t.preventDefault();var e=n(".section-marketing-tips"),c=n(".ctct-section #subscribe")[0],o=n('.ctct-section #subscribe input[type="text"]')[0],i=t.target.action;!0===o.validity.valid?(n("<iframe>",{src:i+"?"+n(c).serialize(),height:0,width:0,style:"display: none;"}).appendTo(e),n("#subbutton").val("Thanks for signing up").css({"background-color":"rgb(1, 128, 0)"})):n("#subbutton").val("Error occurred")}))},n(c.init)},function(t,e){var n,c;window.CTCT_OptIns={},window,n=jQuery,(c=window.CTCT_OptIns).init=function(){c.cache(),c.bindEvents()},c.cache=function(){c.$c={optinNoConn:n("#cmb2-metabox-ctct_1_optin_metabox #_ctct_opt_in_not_connected"),list:n('#cmb2-metabox-ctct_0_list_metabox [name="_ctct_list[]"]'),title:n("#cmb2-metabox-ctct_1_optin_metabox .cmb2-id-email-optin-title"),optin:n("#cmb2-metabox-ctct_1_optin_metabox .cmb2-id--ctct-opt-in"),instruct:n("#cmb2-metabox-ctct_1_optin_metabox .cmb2-id--ctct-opt-in-instructions")}},c.bindEvents=function(){c.$c.optinNoConn.length&&(c.toggleNoConnectionFields(),c.$c.optinNoConn.change((function(){c.toggleNoConnectionFields()}))),c.$c.list.length&&(c.toggleConnectionFields(),c.$c.list.change((function(){c.toggleConnectionFields()})))},c.toggleNoConnectionFields=function(){c.$c.optinNoConn.prop("checked")?c.$c.instruct.slideDown():c.$c.instruct.slideUp()},c.toggleConnectionFields=function(){""!==c.$c.list.val()?(c.$c.title.slideDown(),c.$c.optin.slideDown(),c.$c.instruct.slideDown()):(c.$c.title.slideUp(),c.$c.optin.slideUp(),c.$c.instruct.slideUp())},n(c.init)},function(t,e){window.CTCTClipboard={},function(t,e,n){n.init=function(){n.cache(),n.bindEvents()},n.cache=function(){n.$c={window:e(t),copyshortcode:e(".ctct-shortcode-wrap")}},n.copyClick=function(t,e){if(t&&e){e.select(),e.setSelectionRange(0,99999),document.execCommand("copy");var n=t.innerHTML;t.innerHTML=t.dataset.copied,setTimeout((function(){t.innerHTML=n}),3e3)}},n.bindEvents=function(){n.$c.copyshortcode&&n.$c.copyshortcode.each((function(t,e){var c=e.querySelector("input"),o=e.querySelector("button");c&&o&&o.addEventListener("click",(function(t){t.preventDefault(),n.copyClick(this,c)}))}))},n.init()}(window,jQuery,window.CTCTClipboard)}]);
|
2 |
//# sourceMappingURL=ctct-plugin-admin.min.js.map
|
assets/js/ctct-plugin-admin.min.js.map
CHANGED
@@ -1 +1 @@
|
|
1 |
-
{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./assets/js/ctct-plugin-admin/index.js","webpack:///./assets/js/ctct-plugin-admin/ajax.js","webpack:///./assets/js/ctct-plugin-admin/builder.js","webpack:///./assets/js/ctct-plugin-admin/forms.js","webpack:///./assets/js/ctct-plugin-admin/modal.js","webpack:///./assets/js/ctct-plugin-admin/newsletter.js","webpack:///./assets/js/ctct-plugin-admin/optins.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","window","CTCTAJAX","$","that","init","handleOptinAJAX","handleReviewAJAX","on","e","ctctOptinAjax","is","ajax","url","ajaxurl","data","dataType","success","response","document","getElementById","remove","error","x","console","log","toggleClass","attr","hide","$checkbox","ctctPrivacyAjax","privacy_agree","ctctAction","hasClass","ctctReviewAjax","resp","preventDefault","jQuery","CTCTBuilder","length","cache","bindEvents","selectBinds","modifyFields","removeClass","append","ctctTexts","move_up","move_down","$c","body","isLeaveWarningBound","bindLeaveWarning","leavewarning","unbindLeaveWarning","unbind","submit","prop","tinyMCE","removeDuplicateMappings","newRow","last","find","val","event","selectFields","textFields","each","this","click","firstOption","children","first","change","foundEmail","$fieldParent","$button","$required","$requiredRow","closest","$map","$mapName","text","$fieldTitle","$labelField","$descField","addClass","show","ctct_admin_placeholders","placeholder","default","usedMappings","dropdowns","$dropdowns","push","forEach","CTCTForms","disconnect","confirm","disconnectconfirm","CTCTModal","app","modalSelector","modalClose","textareaModal","textareaLink","deleteLogLink","type","action","currentTarget","dialog","resizable","height","width","modal","buttons","location","replace","CTCTNewsletter","submitNewsletter","$ctctNewsWrapper","ctctNewsForm","ctctEmailField","subscribeEndpoint","target","validity","valid","serialize","appendTo","css","CTCT_OptIns","optinNoConn","list","title","optin","instruct","toggleNoConnectionFields","toggleConnectionFields","slideDown","slideUp"],"mappings":"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","file":"ctct-plugin-admin.min.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"https://testing.test/wp-content/plugins/constant-contact-forms/assets/js/\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 0);\n","import './ajax';\nimport './builder';\nimport './forms';\nimport './modal';\nimport './newsletter';\nimport './optins';\n","window.CTCTAJAX = {};\n\n( function( window, $, that ) {\n\n\t/**\n\t * @constructor\n\t *\n\t * @author Constant Contact\n\t * @since 1.0.0\n\t */\n\tthat.init = () => {\n\n\t\t// Trigger any field modifications we need to do.\n\t\tthat.handleOptinAJAX();\n\t\tthat.handleReviewAJAX();\n\t};\n\n\t/**\n\t * We need to manipulate our form builder a bit. We do this here.\n\t *\n\t * @author Constant Contact\n\t * @since 1.0.0\n\t */\n\tthat.handleOptinAJAX = () => {\n\n\t\t// eslint-disable-next-line no-unused-vars\n\t\t$( '#ctct_admin_notice_tracking_optin' ).on( 'click', ( e ) => {\n\n\t\t\tvar ctctOptinAjax = {\n\t\t\t\t'action': 'constant_contact_optin_ajax_handler',\n\t\t\t\t'optin': ( $( this ).is( ':checked' ) ) ? 'on' : 'off'\n\t\t\t};\n\n\t\t\t$.ajax( {\n\t\t\t\turl: window.ajaxurl,\n\t\t\t\tdata: ctctOptinAjax,\n\t\t\t\tdataType: 'json',\n\t\t\t\tsuccess: ( response ) => {\n\t\t\t\t\t$( document.getElementById( 'ctct-admin-notice-optin_admin_notice' ) ).remove();\n\t\t\t\t},\n\t\t\t\terror: ( x, t, m ) => {\n\t\t\t\t\tif ( window.console ) {\n\t\t\t\t\t\tconsole.log( [ t, m ] );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\t$( '#ctct-privacy-modal' ).toggleClass( 'ctct-modal-open' );\n\t\t} );\n\n\t\t// Opens the privacy modal once clicking on the checkbox to opt in via the admin notice.\n\t\t// eslint-disable-next-line no-unused-vars\n\t\t$( '#ctct-connect-ga-optin a' ).on( 'click', ( e ) => {\n\t\t\tvar ctctOptinAjax = {\n\t\t\t\t'action': 'constant_contact_optin_ajax_handler',\n\t\t\t\t'optin': $( this ).attr( 'data-allow' )\n\t\t\t};\n\n\t\t\t$.ajax( {\n\t\t\t\turl: window.ajaxurl,\n\t\t\t\tdata: ctctOptinAjax,\n\t\t\t\tdataType: 'json',\n\t\t\t\tsuccess: ( response ) => { // eslint-disable-line no-unused-vars\n\t\t\t\t\t$( '.ctct-connected-opt-in' ).hide();\n\t\t\t\t},\n\t\t\t\terror: ( x, t, m ) => {\n\t\t\t\t\tif ( window.console ) {\n\t\t\t\t\t\tconsole.log( [ t, m ] ); // eslint-disable-line no-console\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} );\n\t\t} );\n\n\t\t// eslint-disable-next-line no-unused-vars\n\t\t$( '#_ctct_data_tracking' ).on( 'click', ( e ) => {\n\t\t\t$( '#ctct-privacy-modal' ).toggleClass( 'ctct-modal-open' );\n\t\t} );\n\n\t\t// Unchecks the value if they have closed the privacy modal without agreeing/disagreeing.\n\t\t// eslint-disable-next-line no-unused-vars\n\t\t$( '.ctct-modal-close' ).on( 'click', ( e ) => {\n\t\t\tvar $checkbox = $( '#_ctct_data_tracking' );\n\t\t\tif ( $checkbox.is( ':checked' ) ) {\n\t\t\t\t$checkbox.attr( 'checked', false );\n\t\t\t}\n\t\t} );\n\n\t\t// Handle the agreeing or disagreeing regarding privacy modal.\n\t\t// eslint-disable-next-line no-unused-vars\n\t\t$( '#ctct-modal-footer-privacy a' ).on( 'click', ( e ) => {\n\t\t\tvar ctctPrivacyAjax = {\n\t\t\t\t'action': 'constant_contact_privacy_ajax_handler',\n\t\t\t\t'privacy_agree': $( this ).attr( 'data-agree' )\n\t\t\t};\n\n\t\t\t$.ajax( {\n\t\t\t\turl: window.ajaxurl,\n\t\t\t\tdata: ctctPrivacyAjax,\n\t\t\t\tdataType: 'json',\n\t\t\t\tsuccess: ( response ) => { // eslint-disable-line no-unused-vars\n\t\t\t\t\t$( '#ctct-privacy-modal' ).toggleClass( 'ctct-modal-open' );\n\t\t\t\t\tif ( 'false' === ctctPrivacyAjax.privacy_agree ) {\n\t\t\t\t\t\tvar $checkbox = $( '#_ctct_data_tracking' );\n\t\t\t\t\t\tif ( $checkbox.is( ':checked' ) ) {\n\t\t\t\t\t\t\t$checkbox.attr( 'checked', false );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\terror: ( x, t, m ) => {\n\t\t\t\t\tif ( window.console ) {\n\t\t\t\t\t\tconsole.log( [ t, m ] ); // eslint-disable-line no-console\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} );\n\t\t} );\n\t};\n\n\t// Handle saving the decision regarding the review prompt admin notice.\n\tthat.handleReviewAJAX = () => {\n\t\t$( '#ctct-admin-notice-review_request' ).on( 'click', 'a', ( e ) => {\n\n\t\t\tvar ctctAction = 'dismissed';\n\n\t\t\tif ( $( this ).hasClass( 'ctct-review' ) ) {\n\t\t\t\tctctAction = 'reviewed';\n\t\t\t}\n\n\t\t\tvar ctctReviewAjax = {\n\t\t\t\t'action': 'constant_contact_review_ajax_handler',\n\t\t\t\t'ctct-review-action': ctctAction\n\t\t\t};\n\n\t\t\t$.ajax( {\n\t\t\t\turl: window.ajaxurl,\n\t\t\t\tdata: ctctReviewAjax,\n\t\t\t\tdataType: 'json',\n\t\t\t\tsuccess: ( resp ) => {\n\t\t\t\t\tif ( window.console ) {\n\t\t\t\t\t\tconsole.log( resp ); // eslint-disable-line no-console\n\t\t\t\t\t}\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\t$( '#ctct-admin-notice-review_request' ).hide();\n\t\t\t\t},\n\t\t\t\terror: ( x, t, m ) => {\n\t\t\t\t\tif ( window.console ) {\n\t\t\t\t\t\tconsole.log( [ t, m ] ); // eslint-disable-line no-console\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} );\n\t\t} );\n\t};\n\n\t$( that.init );\n\n} ( window, jQuery, window.CTCTAJAX ) );\n","window.CTCTBuilder = {};\n\n( function( window, $, that ) {\n\n\t/**\n\t * @constructor\n\t *\n\t * @author Constant Contact\n\t * @since 1.0.0\n\t */\n\tthat.init = () => {\n\n\t\t// If we do actually have an email field set, then remove our error.\n\t\tif ( $( '#cmb2-metabox-ctct_2_fields_metabox option[value=\"email\"]:selected' ).length ) {\n\t\t\t$( '#ctct-no-email-error' ).remove();\n\t\t}\n\n\t\t// Cache it all.\n\t\tthat.cache();\n\n\t\t// Bind our events.\n\t\tthat.bindEvents();\n\n\t\t// Bind our select dropdown events.\n\t\tthat.selectBinds();\n\n\t\t// Trigger any field modifications we need to do.\n\t\tthat.modifyFields();\n\n\t\t// Make description non-draggable, so we don't run into weird cmb2 issues.\n\t\t$( '#ctct_0_description_metabox h2.hndle' ).removeClass( 'ui-sortable-handle, hndle' );\n\n\t\t// Inject our new labels for the up/down CMB2 buttons, so they can be properly localized.\n\t\t// Because we're using :after, we can't use .css() to do this, we need to inject a style tag.\n\t\t$( 'head' ).append( '<style> #cmb2-metabox-ctct_2_fields_metabox a.move-up::after { content: \"' + window.ctctTexts.move_up + '\" } #cmb2-metabox-ctct_2_fields_metabox a.move-down::after { content: \"' + window.ctctTexts.move_down + '\" }</style>' );\n\t};\n\n\t/**\n\t * Cache DOM elements.\n\t *\n\t * @author Constant Contact\n\t * @since 1.0.0\n\t */\n\tthat.cache = () => {\n\n\t\tthat.$c = {\n\t\t\twindow: $( window ),\n\t\t\tbody: $( 'body' )\n\t\t};\n\n\t\tthat.isLeaveWarningBound = false;\n\t};\n\n\t// Triggers our leave warning if we modify things in the form.\n\tthat.bindLeaveWarning = () => {\n\n\t\t// Don't double-bind it.\n\t\tif ( ! that.isLeaveWarningBound ) {\n\n\t\t\t// Bind our error that displays before leaving page.\n\t\t\t$( window ).bind( 'beforeunload', () => {\n\t\t\t\treturn window.ctctTexts.leavewarning;\n\t\t\t} );\n\n\t\t\t// Save our state.\n\t\t\tthat.isLeaveWarningBound = true;\n\t\t}\n\t};\n\n\t/**\n\t * Removes our binding of our leave warning.\n\t *\n\t * @author Constant Contact\n\t * @since 1.0.0\n\t */\n\tthat.unbindLeaveWarning = () => {\n\t\t$( window ).unbind( 'beforeunload' );\n\t};\n\n\t/**\n\t * Attach callbacks to events.\n\t *\n\t * @author Constant Contact\n\t * @since 1.0.0\n\t */\n\tthat.bindEvents = () => {\n\n\t\t$( '#post' ).submit( () => {\n\n\t\t\t// Make sure our email dropdown reverts from disbled, as CMB2 doesn't save those values.\n\t\t\t$( '.ctct-email-disabled' ).removeClass( 'disabled' ).prop( 'disabled', false );\n\n\t\t\tthat.unbindLeaveWarning();\n\t\t} );\n\n\t\t$( '.cmb2-wrap input, .cmb2-wrap textarea' ).on( 'input', () => {\n\t\t\tif ( 'undefined' !== typeof( tinyMCE ) ) {\n\t\t\t\tthat.bindLeaveWarning();\n\t\t\t}\n\t\t} );\n\n\t\t// Disable email options on row change trigger.\n\t\t$( document ).on( 'cmb2_shift_rows_complete', () => {\n\t\t\tthat.modifyFields();\n\t\t\tthat.bindLeaveWarning();\n\t\t\tthat.removeDuplicateMappings();\n\t\t} );\n\n\t\t// If we get a row added, then do our stuff.\n\t\t$( document ).on( 'cmb2_add_row', ( newRow ) => { // eslint-disable-line no-unused-vars\n\n\t\t\t// Automatically set new rows to be 'custom' field type.\n\t\t\t$( '#custom_fields_group_repeat .postbox' ).last().find( '.map select' ).val( 'none' );\n\n\t\t\tthat.modifyFields();\n\t\t\tthat.selectBinds();\n\t\t\tthat.removeDuplicateMappings();\n\t\t} );\n\n\t\tthat.removeDuplicateMappings();\n\n\t\t$( '#ctct-reset-css' ).on( 'click', ( event ) => {\n\t\t\tevent.preventDefault();\n\n\t\t\tvar selectFields = [\n\t\t\t\t'#_ctct_form_description_font_size',\n\t\t\t\t'#_ctct_form_submit_button_font_size',\n\t\t\t\t'#_ctct_form_label_placement'\n\t\t\t];\n\n\t\t\tvar textFields = [\n\t\t\t\t'#_ctct_form_padding_top',\n\t\t\t\t'#_ctct_form_padding_bottom',\n\t\t\t\t'#_ctct_form_padding_left',\n\t\t\t\t'#_ctct_form_padding_right',\n\t\t\t\t'#_ctct_input_custom_classes'\n\t\t\t];\n\n\t\t\t// Reset color pickers.\n\t\t\t$( '.wp-picker-clear' ).each( function() {\n\t\t\t\t$( this ).click();\n\t\t\t} );\n\n\t\t\tfor ( var i = selectFields.length; i--; ) {\n\t\t\t\tvar firstOption = $( selectFields[i] ).children( 'option' ).first();\n\t\t\t\t$( selectFields[i] ).val( firstOption.val() );\n\t\t\t}\n\n\t\t\tfor ( var i = textFields.length; i--; ) {\n\t\t\t\t$( textFields[i] ).val( '' );\n\t\t\t}\n\t\t} );\n\t};\n\n\t/**\n\t * When .cmb2_select <selects> get changed, do some actions.\n\t *\n\t * @author Constant Contact\n\t * @since 1.0.0\n\t */\n\tthat.selectBinds = () => {\n\n\t\t// For each fields select.\n\t\t$( '#cmb2-metabox-ctct_2_fields_metabox .cmb2_select' ).change( () => {\n\n\t\t\t// Modify our fields.\n\t\t\tthat.modifyFields();\n\n\t\t\t// Don't allow duplicate mappings in form.\n\t\t\tthat.removeDuplicateMappings();\n\n\t\t\t// Bind our leave warning.\n\t\t\tthat.bindLeaveWarning();\n\t\t} );\n\t};\n\n\t/**\n\t * We need to manipulate our form builder a bit. We do this here.\n\t *\n\t * @author Constant Contact\n\t * @since 1.0.0\n\t */\n\tthat.modifyFields = () => {\n\n\t\t// Set that we haven't found an email.\n\t\tvar foundEmail = false;\n\n\t\t// Loop through all fields to modify them.\n\t\t$( '#cmb2-metabox-ctct_2_fields_metabox #custom_fields_group_repeat .cmb-repeatable-grouping' ).each( function( key, value ) {\n\n\t\t\t// Set some of our helper paramaters.\n\t\t\tvar $fieldParent = $( this ).find( '.cmb-field-list' );\n\t\t\tvar $button = $( $fieldParent ).find( '.cmb-remove-group-row' );\n\t\t\tvar $required = $( $fieldParent ).find( '.required input[type=checkbox]' );\n\t\t\tvar $requiredRow = $required.closest( '.cmb-row' );\n\t\t\tvar $map = $( $fieldParent ).find( '.map select option:selected' );\n\t\t\tvar $mapName = $map.text();\n\t\t\tvar $fieldTitle = $( this ).find( 'h3' );\n\t\t\tvar $labelField = $( this ).find( 'input[name*=\"_ctct_field_label\"]' );\n\t\t\tvar $descField = $( this ).find( 'input[name*=\"_ctct_field_desc\"]' );\n\n\t\t\t// Set our field row to be the name of the selected option.\n\t\t\t$fieldTitle.text( $mapName );\n\n\t\t\t// If we have a blank field label, then use the name of the field to fill it in.\n\t\t\tif ( 0 === $labelField.val().length ) {\n\t\t\t\t$labelField.val( $mapName ).addClass( 'ctct-label-filled' );\n\t\t\t} else {\n\t\t\t\t$labelField.addClass( 'ctct-label-filled' );\n\t\t\t}\n\n\t\t\t// If we haven't yet found an email field, and this is our email field.\n\t\t\tif ( ! foundEmail && ( 'email' === $( $map ).val() ) ) {\n\n\t\t\t\t// Set that we found an email field.\n\t\t\t\tfoundEmail = true;\n\n\t\t\t\t// Make it required.\n\t\t\t\t$required.prop( 'checked', true );\n\n\t\t\t\t// Set it to be 'disabled'.\n\t\t\t\t$( value ).find( 'select' ).addClass( 'disabled ctct-email-disabled' ).prop( 'disabled', true );\n\n\t\t\t\t// Hide the required row.\n\t\t\t\t$requiredRow.hide();\n\n\t\t\t\t// Hide the remove row button.\n\t\t\t\t$button.hide();\n\n\t\t\t} else {\n\n\t\t\t\t// Verify its not disabled.\n\t\t\t\t$( value ).find( 'select' ).removeClass( 'disabled ctct-email-disabled' ).prop( 'disabled', false );\n\n\t\t\t\t// If we're not an email field, reshow the required field.\n\t\t\t\t$requiredRow.show();\n\n\t\t\t\t// and the remove button.\n\t\t\t\t$button.show();\n\t\t\t}\n\n\t\t\t// Set the placeholder text if there's something to set.\n\t\t\tif ( window.ctct_admin_placeholders ) {\n\t\t\t\tvar placeholder = window.ctct_admin_placeholders[ $( value ).find( 'select' ).val() ];\n\n\t\t\t\t// If we have a valid placeholder, display it or try the fallback.\n\t\t\t\tif ( placeholder && placeholder.length && $descField.length ) {\n\t\t\t\t\t$descField.attr( 'placeholder', 'Example: ' + placeholder );\n\t\t\t\t} else if ( window.ctct_admin_placeholders.default ) {\n\t\t\t\t\t$descField.attr( 'placeholder', window.ctct_admin_placeholders.default );\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\t};\n\n\t/**\n\t * Go through all dropdowns, and remove used options.\n\t *\n\t * @author Constant Contact\n\t * @since 1.0.0\n\t */\n\tthat.removeDuplicateMappings = () => {\n\n\t\tvar usedMappings = [];\n\t\tvar dropdowns = '#cmb2-metabox-ctct_2_fields_metabox #custom_fields_group_repeat .cmb-repeatable-grouping select';\n\t\tvar $dropdowns = $( dropdowns );\n\n\t\t// For each dropdown, build up our array of used values.\n\t\t$dropdowns.each( function( key, value ) {\n\t\t\tusedMappings.push( $( value ).val() );\n\t\t} );\n\n\t\t// Re-show all the children options we may have hidden.\n\t\t$dropdowns.children().show();\n\n\t\t// For each of our mappings that we already have, remove them from all selects.\n\t\tusedMappings.forEach( function( value ) {\n\n\t\t\t// But only do it if the value isn't one of our custom ones.\n\t\t\tif ( ( 'custom_text_area' !== value ) && ( 'custom' !== value ) ) {\n\n\t\t\t\t// Remove all options from our dropdowns with the value.\n\t\t\t\t$( dropdowns + ' option[value=' + value + ']:not( :selected )' ).hide();\n\t\t\t}\n\t\t} );\n\t};\n\n\t$( that.init );\n\n} ( window, jQuery, window.CTCTBuilder ) );\n","window.CTCTForms = {};\n\n( function( window, $, that ) {\n\n\t/**\n\t * @constructor\n\t *\n\t * @author Constant Contact\n\t * @since 1.0.0\n\t */\n\tthat.init = () => {\n\t\tthat.cache();\n\t\tthat.bindEvents();\n\t};\n\n\t/**\n\t * Cache DOM elements.\n\t *\n\t * @author Constant Contact\n\t * @since 1.0.0\n\t */\n\tthat.cache = () => {\n\t\tthat.$c = {\n\t\t\twindow: $( window ),\n\t\t\tbody: $( 'body' ),\n\t\t\tdisconnect: '.ctct-disconnect'\n\t\t};\n\t};\n\n\t/**\n\t * Attach callbacks to events.\n\t *\n\t * @author Constant Contact\n\t * @since 1.0.0\n\t */\n\tthat.bindEvents = () => {\n\n\t\t$( that.$c.disconnect ).on( 'click', ( e ) => { // eslint-disable-line no-unused-vars\n\t\t\tconfirm( window.ctctTexts.disconnectconfirm );\n\t\t} );\n\t};\n\n\t$( that.init );\n\n} ( window, jQuery, window.CTCTForms ) );\n","window.CTCTModal = {};\n\n( function( window, $, app ) {\n\n\t/**\n\t * @constructor\n\t *\n\t * @author Constant Contact\n\t * @since 1.0.0\n\t */\n\tapp.init = () => {\n\t\tapp.cache();\n\t\tapp.bindEvents();\n\t};\n\n\t/**\n\t * Cache DOM elements.\n\t *\n\t * @author Constant Contact\n\t * @since 1.0.0\n\t */\n\tapp.cache = () => {\n\t\tapp.$c = {\n\t\t\twindow: $( window ),\n\t\t\tmodalSelector: $( '.ctct-modal' ),\n\t\t\tmodalClose: $( '.ctct-modal-close' ),\n\t\t\ttextareaModal: $( '#ctct-custom-textarea-modal' ),\n\t\t\ttextareaLink: $( '#ctct-open-textarea-info' ),\n\t\t\tdeleteLogLink: $( '#deletelog' )\n\t\t};\n\t};\n\n\t/**\n\t * Attach callbacks to events.\n\t *\n\t * @author Constant Contact\n\t * @since 1.0.0\n\t */\n\tapp.bindEvents = () => {\n\n\t\tapp.$c.modalClose.on( 'click', () => {\n\n\t\t\tapp.$c.modalSelector.removeClass( 'ctct-modal-open' );\n\n\t\t\tif ( app.$c.modalSelector.hasClass( 'ctct-custom-textarea-modal' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t$.ajax( {\n\t\t\t\ttype: 'post',\n\t\t\t\tdataType: 'json',\n\t\t\t\turl: window.ajaxurl,\n\t\t\t\tdata: {\n\t\t\t\t\taction: 'ctct_dismiss_first_modal',\n\t\t\t\t\t'ctct_is_dismissed': 'true'\n\t\t\t\t}\n\t\t\t} );\n\t\t} );\n\n\t\tapp.$c.textareaLink.on( 'click', () => {\n\t\t\tapp.$c.textareaModal.addClass( 'ctct-modal-open' );\n\t\t} );\n\n\t\tapp.$c.deleteLogLink.on( 'click', ( event ) => {\n\t\t\tevent.preventDefault();\n\n\t\t\t// Get the link that was clicked on so we can redirect to it if the user confirms.\n\t\t\tvar deleteLogLink = $( event.currentTarget ).attr( 'href' );\n\n\t\t\t$( '#confirmdelete' ).dialog( {\n\t\t\t\tresizable: false,\n\t\t\t\theight: 'auto',\n\t\t\t\twidth: 400,\n\t\t\t\tmodal: true,\n\t\t\t\tbuttons: {\n\t\t\t\t\t'Yes': () => {\n\n\t\t\t\t\t\t// If the user confirms the action, redirect them to the deletion page.\n\t\t\t\t\t\twindow.location.replace( deleteLogLink );\n\t\t\t\t\t},\n\t\t\t\t\t'Cancel': () => {\n\t\t\t\t\t\t$( '#confirmdelete' ).closest( '.ui-dialog-content' ).dialog( 'close' );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} );\n\t\t} );\n\t};\n\n\t$( app.init );\n\n} ( window, jQuery, window.CTCTModal ) );\n","window.CTCTNewsletter = {};\n\n( function( window, $, app ) {\n\n\t/**\n\t * @constructor\n\t *\n\t * @author Constant Contact\n\t * @since 1.0.0\n\t */\n\tapp.init = () => {\n\t\tapp.submitNewsletter();\n\t};\n\n\t/**\n\t * Handle newsletter signups on the \"Connect\" and \"About\" pages.\n\t *\n\t * @author Constant Contact\n\t * @since 1.0.0\n\t */\n\tapp.submitNewsletter = () => {\n\n\t\t// Connect page.\n\t\t$( '.ctct-body #subscribe' ).on( 'submit', ( event ) => {\n\t\t\tevent.preventDefault();\n\n\t\t\tvar $ctctNewsWrapper = $( '#subscribe .ctct-call-to-action' );\n\t\t\tvar ctctNewsForm = $( '.ctct-body #subscribe' )[0];\n\t\t\tvar ctctEmailField = $( '.ctct-call-to-action input[type=\"text\"]' )[0];\n\t\t\tvar subscribeEndpoint = event.target.action;\n\n\t\t\tif ( true === ctctEmailField.validity.valid ) {\n\t\t\t\t$( '<iframe>', {\n\t\t\t\t\t'src': subscribeEndpoint + '?' + $( ctctNewsForm ).serialize(),\n\t\t\t\t\t'height': 0,\n\t\t\t\t\t'width': 0,\n\t\t\t\t\t'style': 'display: none;'\n\t\t\t\t} ).appendTo( $ctctNewsWrapper );\n\n\t\t\t\t$( '#subbutton' ).val( 'Thanks for signing up' ).css( { 'background-color': 'rgb(1, 128, 0)', 'color': 'rgb(255,255,255)' } );\n\t\t\t\t$( '#subscribe .ctct-call-to-action-text' ).css( { 'width': '70%' } );\n\t\t\t} else {\n\t\t\t\t$( '#subbutton' ).val( 'Error occurred' );\n\t\t\t}\n\t\t} );\n\n\t\t// About page.\n\t\t$( '.ctct-section #subscribe' ).on( 'submit', ( event ) => {\n\t\t\tevent.preventDefault();\n\n\t\t\tvar $ctctNewsWrapper = $( '.section-marketing-tips' );\n\t\t\tvar ctctNewsForm = $( '.ctct-section #subscribe' )[0];\n\t\t\tvar ctctEmailField = $( '.ctct-section #subscribe input[type=\"text\"]' )[0];\n\t\t\tvar subscribeEndpoint = event.target.action;\n\n\t\t\tif ( true === ctctEmailField.validity.valid ) {\n\t\t\t\t$( '<iframe>', {\n\t\t\t\t\t'src': subscribeEndpoint + '?' + $( ctctNewsForm ).serialize(),\n\t\t\t\t\t'height': 0,\n\t\t\t\t\t'width': 0,\n\t\t\t\t\t'style': 'display: none;'\n\t\t\t\t} ).appendTo( $ctctNewsWrapper );\n\t\t\t\t$( '#subbutton' ).val( 'Thanks for signing up' ).css( { 'background-color': 'rgb(1, 128, 0)' } );\n\t\t\t} else {\n\t\t\t\t$( '#subbutton' ).val( 'Error occurred' );\n\t\t\t}\n\t\t} );\n\t};\n\n\t$( app.init );\n\n} ( window, jQuery, window.CTCTNewsletter ) );\n","window.CTCT_OptIns = {};\n\n( function( window, $, app ) {\n\n\t/**\n\t * @constructor\n\t *\n\t * @author Constant Contact\n\t * @since 1.0.0\n\t */\n\tapp.init = () => {\n\t\tapp.cache();\n\t\tapp.bindEvents();\n\t};\n\n\t/**\n\t * Cache DOM elements.\n\t *\n\t * @author Constant Contact\n\t * @since 1.0.0\n\t */\n\tapp.cache = () => {\n\t\tapp.$c = {\n\t\t\toptinNoConn: $( '#cmb2-metabox-ctct_1_optin_metabox #_ctct_opt_in_not_connected' ),\n\t\t\tlist: $( '#cmb2-metabox-ctct_0_list_metabox [name=\"_ctct_list[]\"]' ),\n\t\t\ttitle: $( '#cmb2-metabox-ctct_1_optin_metabox .cmb2-id-email-optin-title' ),\n\t\t\toptin: $( '#cmb2-metabox-ctct_1_optin_metabox .cmb2-id--ctct-opt-in' ),\n\t\t\tinstruct: $( '#cmb2-metabox-ctct_1_optin_metabox .cmb2-id--ctct-opt-in-instructions' )\n\t\t};\n\t};\n\n\t/**\n\t * Attach callbacks to events.\n\t *\n\t * @author Constant Contact\n\t * @since 1.0.0\n\t */\n\tapp.bindEvents = () => {\n\n\t\t// Only fire show/hide if we have the normal checkbox.\n\t\tif ( app.$c.optinNoConn.length ) {\n\n\t\t\t// Fire once to get our loaded state set up.\n\t\t\tapp.toggleNoConnectionFields();\n\n\t\t\t// Bind to fire when needed.\n\t\t\tapp.$c.optinNoConn.change( () => {\n\t\t\t\tapp.toggleNoConnectionFields();\n\t\t\t} );\n\t\t}\n\n\t\t// Only fire show/hide if we have the normal checkbox.\n\t\tif ( app.$c.list.length ) {\n\n\t\t\t// Fire once to get our loaded state set up.\n\t\t\tapp.toggleConnectionFields();\n\n\t\t\t// Bind to fire when needed.\n\t\t\tapp.$c.list.change( () => {\n\t\t\t\tapp.toggleConnectionFields();\n\t\t\t} );\n\t\t}\n\t};\n\n\t/**\n\t * Toggle unnecessary, unconnected optin fields if we're not showing the opt-in.\n\t *\n\t * @author Constant Contact\n\t * @since 1.0.0\n\t */\n\tapp.toggleNoConnectionFields = () => {\n\n\t\tif ( app.$c.optinNoConn.prop( 'checked' ) ) {\n\t\t\tapp.$c.instruct.slideDown();\n\t\t} else {\n\t\t\tapp.$c.instruct.slideUp();\n\t\t}\n\t};\n\n\t/**\n\t * Toggle unnecessary, *connected* optin fields if we're not showing the opt-in.\n\t *\n\t * @author Constant Contact\n\t * @since 1.0.0\n\t */\n\tapp.toggleConnectionFields = () => {\n\n\t\t// If checked, show them, else hide it.\n\t\tif ( '' !== app.$c.list.val() ) {\n\t\t\tapp.$c.title.slideDown();\n\t\t\tapp.$c.optin.slideDown();\n\t\t\tapp.$c.instruct.slideDown();\n\t\t} else {\n\t\t\tapp.$c.title.slideUp();\n\t\t\tapp.$c.optin.slideUp();\n\t\t\tapp.$c.instruct.slideUp();\n\t\t}\n\t};\n\n\t$( app.init );\n\n} ( window, jQuery, window.CTCT_OptIns ) );\n"],"sourceRoot":""}
|
1 |
+
{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./assets/js/ctct-plugin-admin/index.js","webpack:///./assets/js/ctct-plugin-admin/ajax.js","webpack:///./assets/js/ctct-plugin-admin/builder.js","webpack:///./assets/js/ctct-plugin-admin/forms.js","webpack:///./assets/js/ctct-plugin-admin/modal.js","webpack:///./assets/js/ctct-plugin-admin/newsletter.js","webpack:///./assets/js/ctct-plugin-admin/optins.js","webpack:///./assets/js/ctct-plugin-admin/clipboard.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","window","CTCTAJAX","$","that","init","handleOptinAJAX","handleReviewAJAX","on","e","ctctOptinAjax","is","ajax","url","ajaxurl","data","dataType","success","response","document","getElementById","remove","error","x","console","log","toggleClass","attr","hide","$checkbox","ctctPrivacyAjax","privacy_agree","ctctAction","hasClass","ctctReviewAjax","resp","preventDefault","jQuery","CTCTBuilder","length","cache","bindEvents","selectBinds","modifyFields","removeClass","append","ctctTexts","move_up","move_down","$c","body","isLeaveWarningBound","bindLeaveWarning","leavewarning","unbindLeaveWarning","unbind","submit","prop","tinyMCE","removeDuplicateMappings","newRow","last","find","val","event","selectFields","textFields","each","this","click","firstOption","children","first","change","foundEmail","$fieldParent","$button","$required","$requiredRow","closest","$map","$mapName","text","$fieldTitle","$labelField","$descField","addClass","show","ctct_admin_placeholders","placeholder","default","usedMappings","dropdowns","$dropdowns","push","forEach","CTCTForms","disconnect","confirm","disconnectconfirm","CTCTModal","app","modalSelector","modalClose","textareaModal","textareaLink","deleteLogLink","type","action","currentTarget","dialog","resizable","height","width","modal","buttons","location","replace","CTCTNewsletter","submitNewsletter","$ctctNewsWrapper","ctctNewsForm","ctctEmailField","subscribeEndpoint","target","validity","valid","serialize","appendTo","css","CTCT_OptIns","optinNoConn","list","title","optin","instruct","toggleNoConnectionFields","toggleConnectionFields","slideDown","slideUp","CTCTClipboard","copyshortcode","copyClick","button","input","select","setSelectionRange","execCommand","reset","innerHTML","dataset","copied","setTimeout","index","element","querySelector","addEventListener"],"mappings":"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","file":"ctct-plugin-admin.min.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"https://testing.test/wp-content/plugins/constant-contact-forms/assets/js/\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 0);\n","import './ajax';\nimport './builder';\nimport './forms';\nimport './modal';\nimport './newsletter';\nimport './optins';;\nimport './clipboard'; \n","window.CTCTAJAX = {};\n\n( function( window, $, that ) {\n\n\t/**\n\t * @constructor\n\t *\n\t * @author Constant Contact\n\t * @since 1.0.0\n\t */\n\tthat.init = () => {\n\n\t\t// Trigger any field modifications we need to do.\n\t\tthat.handleOptinAJAX();\n\t\tthat.handleReviewAJAX();\n\t};\n\n\t/**\n\t * We need to manipulate our form builder a bit. We do this here.\n\t *\n\t * @author Constant Contact\n\t * @since 1.0.0\n\t */\n\tthat.handleOptinAJAX = () => {\n\n\t\t// eslint-disable-next-line no-unused-vars\n\t\t$( '#ctct_admin_notice_tracking_optin' ).on( 'click', ( e ) => {\n\n\t\t\tvar ctctOptinAjax = {\n\t\t\t\t'action': 'constant_contact_optin_ajax_handler',\n\t\t\t\t'optin': ( $( this ).is( ':checked' ) ) ? 'on' : 'off'\n\t\t\t};\n\n\t\t\t$.ajax( {\n\t\t\t\turl: window.ajaxurl,\n\t\t\t\tdata: ctctOptinAjax,\n\t\t\t\tdataType: 'json',\n\t\t\t\tsuccess: ( response ) => {\n\t\t\t\t\t$( document.getElementById( 'ctct-admin-notice-optin_admin_notice' ) ).remove();\n\t\t\t\t},\n\t\t\t\terror: ( x, t, m ) => {\n\t\t\t\t\tif ( window.console ) {\n\t\t\t\t\t\tconsole.log( [ t, m ] );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\t$( '#ctct-privacy-modal' ).toggleClass( 'ctct-modal-open' );\n\t\t} );\n\n\t\t// Opens the privacy modal once clicking on the checkbox to opt in via the admin notice.\n\t\t// eslint-disable-next-line no-unused-vars\n\t\t$( '#ctct-connect-ga-optin a' ).on( 'click', ( e ) => {\n\t\t\tvar ctctOptinAjax = {\n\t\t\t\t'action': 'constant_contact_optin_ajax_handler',\n\t\t\t\t'optin': $( this ).attr( 'data-allow' )\n\t\t\t};\n\n\t\t\t$.ajax( {\n\t\t\t\turl: window.ajaxurl,\n\t\t\t\tdata: ctctOptinAjax,\n\t\t\t\tdataType: 'json',\n\t\t\t\tsuccess: ( response ) => { // eslint-disable-line no-unused-vars\n\t\t\t\t\t$( '.ctct-connected-opt-in' ).hide();\n\t\t\t\t},\n\t\t\t\terror: ( x, t, m ) => {\n\t\t\t\t\tif ( window.console ) {\n\t\t\t\t\t\tconsole.log( [ t, m ] ); // eslint-disable-line no-console\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} );\n\t\t} );\n\n\t\t// eslint-disable-next-line no-unused-vars\n\t\t$( '#_ctct_data_tracking' ).on( 'click', ( e ) => {\n\t\t\t$( '#ctct-privacy-modal' ).toggleClass( 'ctct-modal-open' );\n\t\t} );\n\n\t\t// Unchecks the value if they have closed the privacy modal without agreeing/disagreeing.\n\t\t// eslint-disable-next-line no-unused-vars\n\t\t$( '.ctct-modal-close' ).on( 'click', ( e ) => {\n\t\t\tvar $checkbox = $( '#_ctct_data_tracking' );\n\t\t\tif ( $checkbox.is( ':checked' ) ) {\n\t\t\t\t$checkbox.attr( 'checked', false );\n\t\t\t}\n\t\t} );\n\n\t\t// Handle the agreeing or disagreeing regarding privacy modal.\n\t\t// eslint-disable-next-line no-unused-vars\n\t\t$( '#ctct-modal-footer-privacy a' ).on( 'click', ( e ) => {\n\t\t\tvar ctctPrivacyAjax = {\n\t\t\t\t'action': 'constant_contact_privacy_ajax_handler',\n\t\t\t\t'privacy_agree': $( this ).attr( 'data-agree' )\n\t\t\t};\n\n\t\t\t$.ajax( {\n\t\t\t\turl: window.ajaxurl,\n\t\t\t\tdata: ctctPrivacyAjax,\n\t\t\t\tdataType: 'json',\n\t\t\t\tsuccess: ( response ) => { // eslint-disable-line no-unused-vars\n\t\t\t\t\t$( '#ctct-privacy-modal' ).toggleClass( 'ctct-modal-open' );\n\t\t\t\t\tif ( 'false' === ctctPrivacyAjax.privacy_agree ) {\n\t\t\t\t\t\tvar $checkbox = $( '#_ctct_data_tracking' );\n\t\t\t\t\t\tif ( $checkbox.is( ':checked' ) ) {\n\t\t\t\t\t\t\t$checkbox.attr( 'checked', false );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\terror: ( x, t, m ) => {\n\t\t\t\t\tif ( window.console ) {\n\t\t\t\t\t\tconsole.log( [ t, m ] ); // eslint-disable-line no-console\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} );\n\t\t} );\n\t};\n\n\t// Handle saving the decision regarding the review prompt admin notice.\n\tthat.handleReviewAJAX = () => {\n\t\t$( '#ctct-admin-notice-review_request' ).on( 'click', 'a', ( e ) => {\n\n\t\t\tvar ctctAction = 'dismissed';\n\n\t\t\tif ( $( this ).hasClass( 'ctct-review' ) ) {\n\t\t\t\tctctAction = 'reviewed';\n\t\t\t}\n\n\t\t\tvar ctctReviewAjax = {\n\t\t\t\t'action': 'constant_contact_review_ajax_handler',\n\t\t\t\t'ctct-review-action': ctctAction\n\t\t\t};\n\n\t\t\t$.ajax( {\n\t\t\t\turl: window.ajaxurl,\n\t\t\t\tdata: ctctReviewAjax,\n\t\t\t\tdataType: 'json',\n\t\t\t\tsuccess: ( resp ) => {\n\t\t\t\t\tif ( window.console ) {\n\t\t\t\t\t\tconsole.log( resp ); // eslint-disable-line no-console\n\t\t\t\t\t}\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\t$( '#ctct-admin-notice-review_request' ).hide();\n\t\t\t\t},\n\t\t\t\terror: ( x, t, m ) => {\n\t\t\t\t\tif ( window.console ) {\n\t\t\t\t\t\tconsole.log( [ t, m ] ); // eslint-disable-line no-console\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} );\n\t\t} );\n\t};\n\n\t$( that.init );\n\n} ( window, jQuery, window.CTCTAJAX ) );\n","window.CTCTBuilder = {};\n\n( function( window, $, that ) {\n\n\t/**\n\t * @constructor\n\t *\n\t * @author Constant Contact\n\t * @since 1.0.0\n\t */\n\tthat.init = () => {\n\n\t\t// If we do actually have an email field set, then remove our error.\n\t\tif ( $( '#cmb2-metabox-ctct_2_fields_metabox option[value=\"email\"]:selected' ).length ) {\n\t\t\t$( '#ctct-no-email-error' ).remove();\n\t\t}\n\n\t\t// Cache it all.\n\t\tthat.cache();\n\n\t\t// Bind our events.\n\t\tthat.bindEvents();\n\n\t\t// Bind our select dropdown events.\n\t\tthat.selectBinds();\n\n\t\t// Trigger any field modifications we need to do.\n\t\tthat.modifyFields();\n\n\t\t// Make description non-draggable, so we don't run into weird cmb2 issues.\n\t\t$( '#ctct_0_description_metabox h2.hndle' ).removeClass( 'ui-sortable-handle, hndle' );\n\n\t\t// Inject our new labels for the up/down CMB2 buttons, so they can be properly localized.\n\t\t// Because we're using :after, we can't use .css() to do this, we need to inject a style tag.\n\t\t$( 'head' ).append( '<style> #cmb2-metabox-ctct_2_fields_metabox a.move-up::after { content: \"' + window.ctctTexts.move_up + '\" } #cmb2-metabox-ctct_2_fields_metabox a.move-down::after { content: \"' + window.ctctTexts.move_down + '\" }</style>' );\n\t};\n\n\t/**\n\t * Cache DOM elements.\n\t *\n\t * @author Constant Contact\n\t * @since 1.0.0\n\t */\n\tthat.cache = () => {\n\n\t\tthat.$c = {\n\t\t\twindow: $( window ),\n\t\t\tbody: $( 'body' )\n\t\t};\n\n\t\tthat.isLeaveWarningBound = false;\n\t};\n\n\t// Triggers our leave warning if we modify things in the form.\n\tthat.bindLeaveWarning = () => {\n\n\t\t// Don't double-bind it.\n\t\tif ( ! that.isLeaveWarningBound ) {\n\n\t\t\t// Bind our error that displays before leaving page.\n\t\t\t$( window ).bind( 'beforeunload', () => {\n\t\t\t\treturn window.ctctTexts.leavewarning;\n\t\t\t} );\n\n\t\t\t// Save our state.\n\t\t\tthat.isLeaveWarningBound = true;\n\t\t}\n\t};\n\n\t/**\n\t * Removes our binding of our leave warning.\n\t *\n\t * @author Constant Contact\n\t * @since 1.0.0\n\t */\n\tthat.unbindLeaveWarning = () => {\n\t\t$( window ).unbind( 'beforeunload' );\n\t};\n\n\t/**\n\t * Attach callbacks to events.\n\t *\n\t * @author Constant Contact\n\t * @since 1.0.0\n\t */\n\tthat.bindEvents = () => {\n\n\t\t$( '#post' ).submit( () => {\n\n\t\t\t// Make sure our email dropdown reverts from disbled, as CMB2 doesn't save those values.\n\t\t\t$( '.ctct-email-disabled' ).removeClass( 'disabled' ).prop( 'disabled', false );\n\n\t\t\tthat.unbindLeaveWarning();\n\t\t} );\n\n\t\t$( '.cmb2-wrap input, .cmb2-wrap textarea' ).on( 'input', () => {\n\t\t\tif ( 'undefined' !== typeof( tinyMCE ) ) {\n\t\t\t\tthat.bindLeaveWarning();\n\t\t\t}\n\t\t} );\n\n\t\t// Disable email options on row change trigger.\n\t\t$( document ).on( 'cmb2_shift_rows_complete', () => {\n\t\t\tthat.modifyFields();\n\t\t\tthat.bindLeaveWarning();\n\t\t\tthat.removeDuplicateMappings();\n\t\t} );\n\n\t\t// If we get a row added, then do our stuff.\n\t\t$( document ).on( 'cmb2_add_row', ( newRow ) => { // eslint-disable-line no-unused-vars\n\n\t\t\t// Automatically set new rows to be 'custom' field type.\n\t\t\t$( '#custom_fields_group_repeat .postbox' ).last().find( '.map select' ).val( 'none' );\n\n\t\t\tthat.modifyFields();\n\t\t\tthat.selectBinds();\n\t\t\tthat.removeDuplicateMappings();\n\t\t} );\n\n\t\tthat.removeDuplicateMappings();\n\n\t\t$( '#ctct-reset-css' ).on( 'click', ( event ) => {\n\t\t\tevent.preventDefault();\n\n\t\t\tvar selectFields = [\n\t\t\t\t'#_ctct_form_description_font_size',\n\t\t\t\t'#_ctct_form_submit_button_font_size',\n\t\t\t\t'#_ctct_form_label_placement'\n\t\t\t];\n\n\t\t\tvar textFields = [\n\t\t\t\t'#_ctct_form_padding_top',\n\t\t\t\t'#_ctct_form_padding_bottom',\n\t\t\t\t'#_ctct_form_padding_left',\n\t\t\t\t'#_ctct_form_padding_right',\n\t\t\t\t'#_ctct_input_custom_classes'\n\t\t\t];\n\n\t\t\t// Reset color pickers.\n\t\t\t$( '.wp-picker-clear' ).each( function() {\n\t\t\t\t$( this ).click();\n\t\t\t} );\n\n\t\t\tfor ( var i = selectFields.length; i--; ) {\n\t\t\t\tvar firstOption = $( selectFields[i] ).children( 'option' ).first();\n\t\t\t\t$( selectFields[i] ).val( firstOption.val() );\n\t\t\t}\n\n\t\t\tfor ( var i = textFields.length; i--; ) {\n\t\t\t\t$( textFields[i] ).val( '' );\n\t\t\t}\n\t\t} );\n\t};\n\n\t/**\n\t * When .cmb2_select <selects> get changed, do some actions.\n\t *\n\t * @author Constant Contact\n\t * @since 1.0.0\n\t */\n\tthat.selectBinds = () => {\n\n\t\t// For each fields select.\n\t\t$( '#cmb2-metabox-ctct_2_fields_metabox .cmb2_select' ).change( () => {\n\n\t\t\t// Modify our fields.\n\t\t\tthat.modifyFields();\n\n\t\t\t// Don't allow duplicate mappings in form.\n\t\t\tthat.removeDuplicateMappings();\n\n\t\t\t// Bind our leave warning.\n\t\t\tthat.bindLeaveWarning();\n\t\t} );\n\t};\n\n\t/**\n\t * We need to manipulate our form builder a bit. We do this here.\n\t *\n\t * @author Constant Contact\n\t * @since 1.0.0\n\t */\n\tthat.modifyFields = () => {\n\n\t\t// Set that we haven't found an email.\n\t\tvar foundEmail = false;\n\n\t\t// Loop through all fields to modify them.\n\t\t$( '#cmb2-metabox-ctct_2_fields_metabox #custom_fields_group_repeat .cmb-repeatable-grouping' ).each( function( key, value ) {\n\n\t\t\t// Set some of our helper paramaters.\n\t\t\tvar $fieldParent = $( this ).find( '.cmb-field-list' );\n\t\t\tvar $button = $( $fieldParent ).find( '.cmb-remove-group-row' );\n\t\t\tvar $required = $( $fieldParent ).find( '.required input[type=checkbox]' );\n\t\t\tvar $requiredRow = $required.closest( '.cmb-row' );\n\t\t\tvar $map = $( $fieldParent ).find( '.map select option:selected' );\n\t\t\tvar $mapName = $map.text();\n\t\t\tvar $fieldTitle = $( this ).find( 'h3' );\n\t\t\tvar $labelField = $( this ).find( 'input[name*=\"_ctct_field_label\"]' );\n\t\t\tvar $descField = $( this ).find( 'input[name*=\"_ctct_field_desc\"]' );\n\n\t\t\t// Set our field row to be the name of the selected option.\n\t\t\t$fieldTitle.text( $mapName );\n\n\t\t\t// If we have a blank field label, then use the name of the field to fill it in.\n\t\t\tif ( 0 === $labelField.val().length ) {\n\t\t\t\t$labelField.val( $mapName ).addClass( 'ctct-label-filled' );\n\t\t\t} else {\n\t\t\t\t$labelField.addClass( 'ctct-label-filled' );\n\t\t\t}\n\n\t\t\t// If we haven't yet found an email field, and this is our email field.\n\t\t\tif ( ! foundEmail && ( 'email' === $( $map ).val() ) ) {\n\n\t\t\t\t// Set that we found an email field.\n\t\t\t\tfoundEmail = true;\n\n\t\t\t\t// Make it required.\n\t\t\t\t$required.prop( 'checked', true );\n\n\t\t\t\t// Set it to be 'disabled'.\n\t\t\t\t$( value ).find( 'select' ).addClass( 'disabled ctct-email-disabled' ).prop( 'disabled', true );\n\n\t\t\t\t// Hide the required row.\n\t\t\t\t$requiredRow.hide();\n\n\t\t\t\t// Hide the remove row button.\n\t\t\t\t$button.hide();\n\n\t\t\t} else {\n\n\t\t\t\t// Verify its not disabled.\n\t\t\t\t$( value ).find( 'select' ).removeClass( 'disabled ctct-email-disabled' ).prop( 'disabled', false );\n\n\t\t\t\t// If we're not an email field, reshow the required field.\n\t\t\t\t$requiredRow.show();\n\n\t\t\t\t// and the remove button.\n\t\t\t\t$button.show();\n\t\t\t}\n\n\t\t\t// Set the placeholder text if there's something to set.\n\t\t\tif ( window.ctct_admin_placeholders ) {\n\t\t\t\tvar placeholder = window.ctct_admin_placeholders[ $( value ).find( 'select' ).val() ];\n\n\t\t\t\t// If we have a valid placeholder, display it or try the fallback.\n\t\t\t\tif ( placeholder && placeholder.length && $descField.length ) {\n\t\t\t\t\t$descField.attr( 'placeholder', 'Example: ' + placeholder );\n\t\t\t\t} else if ( window.ctct_admin_placeholders.default ) {\n\t\t\t\t\t$descField.attr( 'placeholder', window.ctct_admin_placeholders.default );\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\t};\n\n\t/**\n\t * Go through all dropdowns, and remove used options.\n\t *\n\t * @author Constant Contact\n\t * @since 1.0.0\n\t */\n\tthat.removeDuplicateMappings = () => {\n\n\t\tvar usedMappings = [];\n\t\tvar dropdowns = '#cmb2-metabox-ctct_2_fields_metabox #custom_fields_group_repeat .cmb-repeatable-grouping select';\n\t\tvar $dropdowns = $( dropdowns );\n\n\t\t// For each dropdown, build up our array of used values.\n\t\t$dropdowns.each( function( key, value ) {\n\t\t\tusedMappings.push( $( value ).val() );\n\t\t} );\n\n\t\t// Re-show all the children options we may have hidden.\n\t\t$dropdowns.children().show();\n\n\t\t// For each of our mappings that we already have, remove them from all selects.\n\t\tusedMappings.forEach( function( value ) {\n\n\t\t\t// But only do it if the value isn't one of our custom ones.\n\t\t\tif ( ( 'custom_text_area' !== value ) && ( 'custom' !== value ) ) {\n\n\t\t\t\t// Remove all options from our dropdowns with the value.\n\t\t\t\t$( dropdowns + ' option[value=' + value + ']:not( :selected )' ).hide();\n\t\t\t}\n\t\t} );\n\t};\n\n\t$( that.init );\n\n} ( window, jQuery, window.CTCTBuilder ) );\n","window.CTCTForms = {};\n\n( function( window, $, that ) {\n\n\t/**\n\t * @constructor\n\t *\n\t * @author Constant Contact\n\t * @since 1.0.0\n\t */\n\tthat.init = () => {\n\t\tthat.cache();\n\t\tthat.bindEvents();\n\t};\n\n\t/**\n\t * Cache DOM elements.\n\t *\n\t * @author Constant Contact\n\t * @since 1.0.0\n\t */\n\tthat.cache = () => {\n\t\tthat.$c = {\n\t\t\twindow: $( window ),\n\t\t\tbody: $( 'body' ),\n\t\t\tdisconnect: '.ctct-disconnect'\n\t\t};\n\t};\n\n\t/**\n\t * Attach callbacks to events.\n\t *\n\t * @author Constant Contact\n\t * @since 1.0.0\n\t */\n\tthat.bindEvents = () => {\n\n\t\t$( that.$c.disconnect ).on( 'click', ( e ) => { // eslint-disable-line no-unused-vars\n\t\t\tconfirm( window.ctctTexts.disconnectconfirm );\n\t\t} );\n\t};\n\n\t$( that.init );\n\n} ( window, jQuery, window.CTCTForms ) );\n","window.CTCTModal = {};\n\n( function( window, $, app ) {\n\n\t/**\n\t * @constructor\n\t *\n\t * @author Constant Contact\n\t * @since 1.0.0\n\t */\n\tapp.init = () => {\n\t\tapp.cache();\n\t\tapp.bindEvents();\n\t};\n\n\t/**\n\t * Cache DOM elements.\n\t *\n\t * @author Constant Contact\n\t * @since 1.0.0\n\t */\n\tapp.cache = () => {\n\t\tapp.$c = {\n\t\t\twindow: $( window ),\n\t\t\tmodalSelector: $( '.ctct-modal' ),\n\t\t\tmodalClose: $( '.ctct-modal-close' ),\n\t\t\ttextareaModal: $( '#ctct-custom-textarea-modal' ),\n\t\t\ttextareaLink: $( '#ctct-open-textarea-info' ),\n\t\t\tdeleteLogLink: $( '#deletelog' )\n\t\t};\n\t};\n\n\t/**\n\t * Attach callbacks to events.\n\t *\n\t * @author Constant Contact\n\t * @since 1.0.0\n\t */\n\tapp.bindEvents = () => {\n\n\t\tapp.$c.modalClose.on( 'click', () => {\n\n\t\t\tapp.$c.modalSelector.removeClass( 'ctct-modal-open' );\n\n\t\t\tif ( app.$c.modalSelector.hasClass( 'ctct-custom-textarea-modal' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t$.ajax( {\n\t\t\t\ttype: 'post',\n\t\t\t\tdataType: 'json',\n\t\t\t\turl: window.ajaxurl,\n\t\t\t\tdata: {\n\t\t\t\t\taction: 'ctct_dismiss_first_modal',\n\t\t\t\t\t'ctct_is_dismissed': 'true'\n\t\t\t\t}\n\t\t\t} );\n\t\t} );\n\n\t\tapp.$c.textareaLink.on( 'click', () => {\n\t\t\tapp.$c.textareaModal.addClass( 'ctct-modal-open' );\n\t\t} );\n\n\t\tapp.$c.deleteLogLink.on( 'click', ( event ) => {\n\t\t\tevent.preventDefault();\n\n\t\t\t// Get the link that was clicked on so we can redirect to it if the user confirms.\n\t\t\tvar deleteLogLink = $( event.currentTarget ).attr( 'href' );\n\n\t\t\t$( '#confirmdelete' ).dialog( {\n\t\t\t\tresizable: false,\n\t\t\t\theight: 'auto',\n\t\t\t\twidth: 400,\n\t\t\t\tmodal: true,\n\t\t\t\tbuttons: {\n\t\t\t\t\t'Yes': () => {\n\n\t\t\t\t\t\t// If the user confirms the action, redirect them to the deletion page.\n\t\t\t\t\t\twindow.location.replace( deleteLogLink );\n\t\t\t\t\t},\n\t\t\t\t\t'Cancel': () => {\n\t\t\t\t\t\t$( '#confirmdelete' ).closest( '.ui-dialog-content' ).dialog( 'close' );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} );\n\t\t} );\n\t};\n\n\t$( app.init );\n\n} ( window, jQuery, window.CTCTModal ) );\n","window.CTCTNewsletter = {};\n\n( function( window, $, app ) {\n\n\t/**\n\t * @constructor\n\t *\n\t * @author Constant Contact\n\t * @since 1.0.0\n\t */\n\tapp.init = () => {\n\t\tapp.submitNewsletter();\n\t};\n\n\t/**\n\t * Handle newsletter signups on the \"Connect\" and \"About\" pages.\n\t *\n\t * @author Constant Contact\n\t * @since 1.0.0\n\t */\n\tapp.submitNewsletter = () => {\n\n\t\t// Connect page.\n\t\t$( '.ctct-body #subscribe' ).on( 'submit', ( event ) => {\n\t\t\tevent.preventDefault();\n\n\t\t\tvar $ctctNewsWrapper = $( '#subscribe .ctct-call-to-action' );\n\t\t\tvar ctctNewsForm = $( '.ctct-body #subscribe' )[0];\n\t\t\tvar ctctEmailField = $( '.ctct-call-to-action input[type=\"text\"]' )[0];\n\t\t\tvar subscribeEndpoint = event.target.action;\n\n\t\t\tif ( true === ctctEmailField.validity.valid ) {\n\t\t\t\t$( '<iframe>', {\n\t\t\t\t\t'src': subscribeEndpoint + '?' + $( ctctNewsForm ).serialize(),\n\t\t\t\t\t'height': 0,\n\t\t\t\t\t'width': 0,\n\t\t\t\t\t'style': 'display: none;'\n\t\t\t\t} ).appendTo( $ctctNewsWrapper );\n\n\t\t\t\t$( '#subbutton' ).val( 'Thanks for signing up' ).css( { 'background-color': 'rgb(1, 128, 0)', 'color': 'rgb(255,255,255)' } );\n\t\t\t\t$( '#subscribe .ctct-call-to-action-text' ).css( { 'width': '70%' } );\n\t\t\t} else {\n\t\t\t\t$( '#subbutton' ).val( 'Error occurred' );\n\t\t\t}\n\t\t} );\n\n\t\t// About page.\n\t\t$( '.ctct-section #subscribe' ).on( 'submit', ( event ) => {\n\t\t\tevent.preventDefault();\n\n\t\t\tvar $ctctNewsWrapper = $( '.section-marketing-tips' );\n\t\t\tvar ctctNewsForm = $( '.ctct-section #subscribe' )[0];\n\t\t\tvar ctctEmailField = $( '.ctct-section #subscribe input[type=\"text\"]' )[0];\n\t\t\tvar subscribeEndpoint = event.target.action;\n\n\t\t\tif ( true === ctctEmailField.validity.valid ) {\n\t\t\t\t$( '<iframe>', {\n\t\t\t\t\t'src': subscribeEndpoint + '?' + $( ctctNewsForm ).serialize(),\n\t\t\t\t\t'height': 0,\n\t\t\t\t\t'width': 0,\n\t\t\t\t\t'style': 'display: none;'\n\t\t\t\t} ).appendTo( $ctctNewsWrapper );\n\t\t\t\t$( '#subbutton' ).val( 'Thanks for signing up' ).css( { 'background-color': 'rgb(1, 128, 0)' } );\n\t\t\t} else {\n\t\t\t\t$( '#subbutton' ).val( 'Error occurred' );\n\t\t\t}\n\t\t} );\n\t};\n\n\t$( app.init );\n\n} ( window, jQuery, window.CTCTNewsletter ) );\n","window.CTCT_OptIns = {};\n\n( function( window, $, app ) {\n\n\t/**\n\t * @constructor\n\t *\n\t * @author Constant Contact\n\t * @since 1.0.0\n\t */\n\tapp.init = () => {\n\t\tapp.cache();\n\t\tapp.bindEvents();\n\t};\n\n\t/**\n\t * Cache DOM elements.\n\t *\n\t * @author Constant Contact\n\t * @since 1.0.0\n\t */\n\tapp.cache = () => {\n\t\tapp.$c = {\n\t\t\toptinNoConn: $( '#cmb2-metabox-ctct_1_optin_metabox #_ctct_opt_in_not_connected' ),\n\t\t\tlist: $( '#cmb2-metabox-ctct_0_list_metabox [name=\"_ctct_list[]\"]' ),\n\t\t\ttitle: $( '#cmb2-metabox-ctct_1_optin_metabox .cmb2-id-email-optin-title' ),\n\t\t\toptin: $( '#cmb2-metabox-ctct_1_optin_metabox .cmb2-id--ctct-opt-in' ),\n\t\t\tinstruct: $( '#cmb2-metabox-ctct_1_optin_metabox .cmb2-id--ctct-opt-in-instructions' )\n\t\t};\n\t};\n\n\t/**\n\t * Attach callbacks to events.\n\t *\n\t * @author Constant Contact\n\t * @since 1.0.0\n\t */\n\tapp.bindEvents = () => {\n\n\t\t// Only fire show/hide if we have the normal checkbox.\n\t\tif ( app.$c.optinNoConn.length ) {\n\n\t\t\t// Fire once to get our loaded state set up.\n\t\t\tapp.toggleNoConnectionFields();\n\n\t\t\t// Bind to fire when needed.\n\t\t\tapp.$c.optinNoConn.change( () => {\n\t\t\t\tapp.toggleNoConnectionFields();\n\t\t\t} );\n\t\t}\n\n\t\t// Only fire show/hide if we have the normal checkbox.\n\t\tif ( app.$c.list.length ) {\n\n\t\t\t// Fire once to get our loaded state set up.\n\t\t\tapp.toggleConnectionFields();\n\n\t\t\t// Bind to fire when needed.\n\t\t\tapp.$c.list.change( () => {\n\t\t\t\tapp.toggleConnectionFields();\n\t\t\t} );\n\t\t}\n\t};\n\n\t/**\n\t * Toggle unnecessary, unconnected optin fields if we're not showing the opt-in.\n\t *\n\t * @author Constant Contact\n\t * @since 1.0.0\n\t */\n\tapp.toggleNoConnectionFields = () => {\n\n\t\tif ( app.$c.optinNoConn.prop( 'checked' ) ) {\n\t\t\tapp.$c.instruct.slideDown();\n\t\t} else {\n\t\t\tapp.$c.instruct.slideUp();\n\t\t}\n\t};\n\n\t/**\n\t * Toggle unnecessary, *connected* optin fields if we're not showing the opt-in.\n\t *\n\t * @author Constant Contact\n\t * @since 1.0.0\n\t */\n\tapp.toggleConnectionFields = () => {\n\n\t\t// If checked, show them, else hide it.\n\t\tif ( '' !== app.$c.list.val() ) {\n\t\t\tapp.$c.title.slideDown();\n\t\t\tapp.$c.optin.slideDown();\n\t\t\tapp.$c.instruct.slideDown();\n\t\t} else {\n\t\t\tapp.$c.title.slideUp();\n\t\t\tapp.$c.optin.slideUp();\n\t\t\tapp.$c.instruct.slideUp();\n\t\t}\n\t};\n\n\t$( app.init );\n\n} ( window, jQuery, window.CTCT_OptIns ) );\n","window.CTCTClipboard = {};\n\n( function( window, $, app ) {\n\n\t/**\n\t * @constructor\n\t *\n\t * @author Constant Contact\n\t * @since 1.0.0\n\t */\n\t app.init = () => {\n\t\tapp.cache();\n\t\tapp.bindEvents();\n\t};\n\n\t/**\n\t * Cache DOM elements.\n\t *\n\t * @author Constant Contact\n\t * @since 1.11.0\n\t */\n\t app.cache = () => {\n\t\tapp.$c = {\n\t\t\twindow: $( window ),\n\t\t\tcopyshortcode: $( '.ctct-shortcode-wrap' )\n\t\t};\n\t};\n\n\t/**\n\t * Copy to clipboard click event.\n\t *\n\t * @param {object} e The clicked element.\n\t * @param {HTMLElement} input The input element.\n\t * @author Constant Contact\n\t * @since 1.11.0\n\t */\n\tapp.copyClick = (button, input) => {\n\n\t\tif(!button || !input){\n\t\t\treturn;\n\t\t}\n\n\t\t// Select the input.\n\t\tinput.select();\n\t\tinput.setSelectionRange(0, 99999); // For mobile devices.\n\t \n\t\t// Copy the text inside the text field.\n\t\tdocument.execCommand(\"copy\");\n\t\tvar reset = button.innerHTML;\n\t\tbutton.innerHTML = button.dataset.copied;\n\n\t\t// Reset button text.\n\t\tsetTimeout(function(){\n\t\t\tbutton.innerHTML = reset;\n\t\t}, 3000);\n\n\t}\n\n\t/**\n\t * Attach callbacks to events.\n\t *\n\t * @author Constant Contact\n\t * @since 1.11.0\n\t */\n\t app.bindEvents = () => {\n\n\t\t// Add click event for copy buttons.\n\t\tif(app.$c.copyshortcode){\n\t\t\tapp.$c.copyshortcode.each(function(index, element) {\n\t\t\t\tvar input = element.querySelector('input');\n\t\t\t\tvar button = element.querySelector('button');\n\t\t\t\tif(input && button){\n\t\t\t\t\tbutton.addEventListener('click', function( e ){\n\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\tapp.copyClick( this, input);\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t})\n\t\t}\n\t};\n\n\tapp.init();\n\n} ( window, jQuery, window.CTCTClipboard ) );\n\n"],"sourceRoot":""}
|
assets/js/ctct-plugin-admin/clipboard.js
ADDED
@@ -0,0 +1,85 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
window.CTCTClipboard = {};
|
2 |
+
|
3 |
+
( function( window, $, app ) {
|
4 |
+
|
5 |
+
/**
|
6 |
+
* @constructor
|
7 |
+
*
|
8 |
+
* @author Constant Contact
|
9 |
+
* @since 1.0.0
|
10 |
+
*/
|
11 |
+
app.init = () => {
|
12 |
+
app.cache();
|
13 |
+
app.bindEvents();
|
14 |
+
};
|
15 |
+
|
16 |
+
/**
|
17 |
+
* Cache DOM elements.
|
18 |
+
*
|
19 |
+
* @author Constant Contact
|
20 |
+
* @since 1.11.0
|
21 |
+
*/
|
22 |
+
app.cache = () => {
|
23 |
+
app.$c = {
|
24 |
+
window: $( window ),
|
25 |
+
copyshortcode: $( '.ctct-shortcode-wrap' )
|
26 |
+
};
|
27 |
+
};
|
28 |
+
|
29 |
+
/**
|
30 |
+
* Copy to clipboard click event.
|
31 |
+
*
|
32 |
+
* @param {object} e The clicked element.
|
33 |
+
* @param {HTMLElement} input The input element.
|
34 |
+
* @author Constant Contact
|
35 |
+
* @since 1.11.0
|
36 |
+
*/
|
37 |
+
app.copyClick = (button, input) => {
|
38 |
+
|
39 |
+
if(!button || !input){
|
40 |
+
return;
|
41 |
+
}
|
42 |
+
|
43 |
+
// Select the input.
|
44 |
+
input.select();
|
45 |
+
input.setSelectionRange(0, 99999); // For mobile devices.
|
46 |
+
|
47 |
+
// Copy the text inside the text field.
|
48 |
+
document.execCommand("copy");
|
49 |
+
var reset = button.innerHTML;
|
50 |
+
button.innerHTML = button.dataset.copied;
|
51 |
+
|
52 |
+
// Reset button text.
|
53 |
+
setTimeout(function(){
|
54 |
+
button.innerHTML = reset;
|
55 |
+
}, 3000);
|
56 |
+
|
57 |
+
}
|
58 |
+
|
59 |
+
/**
|
60 |
+
* Attach callbacks to events.
|
61 |
+
*
|
62 |
+
* @author Constant Contact
|
63 |
+
* @since 1.11.0
|
64 |
+
*/
|
65 |
+
app.bindEvents = () => {
|
66 |
+
|
67 |
+
// Add click event for copy buttons.
|
68 |
+
if(app.$c.copyshortcode){
|
69 |
+
app.$c.copyshortcode.each(function(index, element) {
|
70 |
+
var input = element.querySelector('input');
|
71 |
+
var button = element.querySelector('button');
|
72 |
+
if(input && button){
|
73 |
+
button.addEventListener('click', function( e ){
|
74 |
+
e.preventDefault();
|
75 |
+
app.copyClick( this, input);
|
76 |
+
});
|
77 |
+
}
|
78 |
+
})
|
79 |
+
}
|
80 |
+
};
|
81 |
+
|
82 |
+
app.init();
|
83 |
+
|
84 |
+
} ( window, jQuery, window.CTCTClipboard ) );
|
85 |
+
|
assets/js/ctct-plugin-admin/index.js
CHANGED
@@ -3,4 +3,5 @@ import './builder';
|
|
3 |
import './forms';
|
4 |
import './modal';
|
5 |
import './newsletter';
|
6 |
-
import './optins'
|
|
3 |
import './forms';
|
4 |
import './modal';
|
5 |
import './newsletter';
|
6 |
+
import './optins';;
|
7 |
+
import './clipboard';
|
assets/js/ctct-plugin-frontend.min.js
CHANGED
@@ -1,2 +1,2 @@
|
|
1 |
-
!function(t){var e={};function n(o){if(e[o])return e[o].exports;var c=e[o]={i:o,l:!1,exports:{}};return t[o].call(c.exports,c,c.exports,n),c.l=!0,c.exports}n.m=t,n.c=e,n.d=function(t,e,o){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:o})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var o=Object.create(null);if(n.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var c in t)n.d(o,c,function(e){return t[e]}.bind(null,c));return o},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="https://testing.test/wp-content/plugins/constant-contact-forms/assets/js/",n(n.s=
|
2 |
//# sourceMappingURL=ctct-plugin-frontend.min.js.map
|
1 |
+
!function(t){var e={};function n(o){if(e[o])return e[o].exports;var c=e[o]={i:o,l:!1,exports:{}};return t[o].call(c.exports,c,c.exports,n),c.l=!0,c.exports}n.m=t,n.c=e,n.d=function(t,e,o){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:o})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var o=Object.create(null);if(n.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var c in t)n.d(o,c,function(e){return t[e]}.bind(null,c));return o},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="https://testing.test/wp-content/plugins/constant-contact-forms/assets/js/",n(n.s=10)}([,,,,,,,,,,function(t,e,n){t.exports=n(11)},function(t,e,n){"use strict";n.r(e);n(12),n(13)},function(t,e){!function(t,e){function n(){return e(".ctct-submitted").attr("disabled",null)}e(document).ready((function(){e(".ctct-submitted").on("click",(function(){setTimeout((function(){e(".ctct-submitted").attr("disabled","disabled"),setTimeout(n,3e3)}),100)}))}))}(window,jQuery)},function(t,e){window.CTCTSupport={},function(t,e,n){var o=this;n.init=function(){n.cache(),n.bindEvents(),n.removePlaceholder()},n.removePlaceholder=function(){e(".ctct-form-field input, textarea").focus((function(){e(o).data("placeholder",e(o).attr("placeholder")).attr("placeholder","")})).blur((function(){e(o).attr("placeholder",e(o).data("placeholder"))}))},n.cache=function(){n.$c={$forms:[]},e(".ctct-form-wrapper").each((function(t,o){n.$c.$forms.push(e(o).find("form"))})),e.each(n.$c.$forms,(function(t,o){var c=e(o);n.$c.$forms[t].$honeypot=c.find(".ctct_usage_field"),n.$c.$forms[t].$submitButton=c.find("input[type=submit]"),n.$c.$forms[t].$recaptcha=c.find(".g-recaptcha")})),n.timeout=null},n.setAllInputsValid=function(){e(n.$c.$form+" .ctct-invalid").removeClass("ctct-invalid")},n.processError=function(t){void 0!==t.id&&e("#"+t.id).addClass("ctct-invalid")},n.checkHoneypot=function(t,e,n){0<e.val().length?n.attr("disabled","disabled"):n.attr("disabled",!1)},n.validateSubmission=function(t){return"on"===t.attr("data-doajax")&&(e.each(t.find("[required]"),(function(t,e){if(!1===e.checkValidity())return!1})),!0)},n.showMessage=function(t,n){var o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",c=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"log",i=t.parents(".ctct-form-wrapper");i.find("p.ctct-message").remove();var r=e("<p />",{class:"ctct-message "+o,text:n,role:c}).prepend(e("<button />",{class:"button button-secondary ctct-dismiss ctct-dismiss-ajax-notice",html:"✕","aria-label":"Dismiss Notification"}));r.insertBefore(t).fadeIn(200),i.find(".ctct-dismiss-ajax-notice").on("click",(function(){e(this).parents(".ctct-message").remove()}))},n.submitForm=function(o){o.find(".ctct-submitted").prop("disabled",!0);var c={action:"ctct_process_form",data:o.serialize()};e.post(t.ajaxurl,c,(function(t){return o.find(".ctct-submitted").prop("disabled",!1),void 0!==t.status&&("success"!==t.status?(void 0!==t.errors?(n.setAllInputsValid(),t.errors.forEach(n.processError)):n.showMessage(o,t.message,"ctct-error","alert"),!1):(n.showMessage(o,t.message,"ctct-success","status"),void o[0].reset()))}))},n.handleSubmission=function(t,e){if(!n.validateSubmission(e))return!1;t.preventDefault(),clearTimeout(n.timeout),n.timeout=setTimeout(n.submitForm,500,e)},n.bindEvents=function(){e.each(n.$c.$forms,(function(t,e){n.$c.$forms[t].on("click","input[type=submit]",(function(e){n.handleSubmission(e,n.$c.$forms[t])})),n.$c.$forms[t].$honeypot.on("change keyup",(function(e){n.checkHoneypot(e,n.$c.$forms[t].$honeypot,n.$c.$forms[t].$submitButton)})),0<n.$c.$forms[t].$recaptcha.length&&n.$c.$forms[t].$submitButton.attr("disabled","disabled")}))},e(n.init)}(window,jQuery,window.CTCTSupport)}]);
|
2 |
//# sourceMappingURL=ctct-plugin-frontend.min.js.map
|
assets/js/ctct-plugin-frontend.min.js.map
CHANGED
@@ -1 +1 @@
|
|
1 |
-
{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./assets/js/ctct-plugin-frontend/index.js","webpack:///./assets/js/ctct-plugin-frontend/util.js","webpack:///./assets/js/ctct-plugin-frontend/validation.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","global","$","enableSendButton","attr","document","ready","on","setTimeout","window","jQuery","CTCTSupport","app","init","cache","bindEvents","removePlaceholder","focus","data","blur","$c","$forms","each","formWrapper","push","find","form","$form","$honeypot","$submitButton","$recaptcha","timeout","setAllInputsValid","removeClass","processError","error","id","addClass","checkHoneypot","e","$honeyPot","val","length","validateSubmission","field","checkValidity","showMessage","message","classes","role","$wrapper","parents","remove","$p","prepend","insertBefore","fadeIn","this","submitForm","prop","ajaxData","serialize","post","ajaxurl","response","status","errors","forEach","reset","handleSubmission","preventDefault","clearTimeout"],"mappings":"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","file":"ctct-plugin-frontend.min.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"https://testing.test/wp-content/plugins/constant-contact-forms/assets/js/\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 9);\n","import './util';\nimport './validation';\n","/**\n * General-purpose utility stuff for CC plugin.\n */\n( function( global, $ ) {\n\n\t/**\n\t * Temporarily prevent the submit button from being clicked.\n\t */\n\t$( document ).ready( () => {\n\n\t\t$( '.ctct-submitted' ).on( 'click', () => {\n\t\t\tsetTimeout( () => {\n\t\t\t\tdisableSendButton();\n\t\t\t\tsetTimeout( enableSendButton, 3000 );\n\t\t\t}, 100 );\n\t\t} );\n\t} );\n\n\t/**\n\t * Disable form submit button.\n\t *\n\t * @author Constant Contact\n\t * @since 1.0.0\n\t *\n\t * @return {mixed} jQuery if attribute is set, undefined if not.\n\t */\n\tfunction disableSendButton() {\n\t\treturn $( '.ctct-submitted' ).attr( 'disabled', 'disabled' );\n\t}\n\n\t/**\n\t * Re-enable form submit buttons.\n\t *\n\t * @author Constant Contact\n\t * @since 1.0.0\n\t *\n\t * @return {mixed} jQuery if attribute is set, undefined if not.\n\t */\n\tfunction enableSendButton() {\n\t\treturn $( '.ctct-submitted' ).attr( 'disabled', null );\n\t}\n\n} ( window, jQuery ) );\n","/**\n * Front-end form validation.\n *\n * @since 1.0.0\n */\n\n window.CTCTSupport = {};\n\n( function( window, $, app ) {\n\n\t/**\n\t * @constructor\n\t *\n\t * @author Constant Contact\n\t * @since 1.0.0\n\t */\n\tapp.init = () => {\n\t\tapp.cache();\n\t\tapp.bindEvents();\n\t\tapp.removePlaceholder();\n\t};\n\n\t/**\n\t * Remove placeholder text values.\n\t *\n\t * @author Constant Contact\n\t * @since 1.0.0\n\t */\n\tapp.removePlaceholder = () => {\n\t\t$( '.ctct-form-field input, textarea' ).focus( () => {\n\t\t\t$( this ).data( 'placeholder', $( this ).attr( 'placeholder' ) ).attr( 'placeholder', '' );\n\t\t} ).blur( () => {\n\t\t\t$( this ).attr( 'placeholder', $( this ).data( 'placeholder' ) );\n\t\t} );\n\t};\n\n\t/**\n\t * Cache DOM elements.\n\t *\n\t * @author Constant Contact\n\t * @since 1.0.0\n\t */\n\tapp.cache = () => {\n\n\t\tapp.$c = {\n\t\t\t$forms: []\n\t\t};\n\n\t\t// Cache each form on the page.\n\t\t$( '.ctct-form-wrapper' ).each( function( i, formWrapper ) {\n\t\t\tapp.$c.$forms.push( $( formWrapper ).find( 'form' ) );\n\t\t} );\n\n\t\t// For each form, cache its common elements.\n\t\t$.each( app.$c.$forms, function( i, form ) {\n\n\t\t\tvar $form = $( form );\n\n\t\t\tapp.$c.$forms[ i ].$honeypot = $form.find( '.ctct_usage_field' );\n\t\t\tapp.$c.$forms[ i ].$submitButton = $form.find( 'input[type=submit]' );\n\t\t\tapp.$c.$forms[ i ].$recaptcha = $form.find( '.g-recaptcha' );\n\t\t} );\n\n\t\tapp.timeout = null;\n\t};\n\n\t/**\n\t * Remove the ctct-invalid class from elements that have it.\n\t *\n\t * @author Constant Contact\n\t * @since 1.0.0\n\t */\n\tapp.setAllInputsValid = () => {\n\t\t$( app.$c.$form + ' .ctct-invalid' ).removeClass( 'ctct-invalid' );\n\t};\n\n\t/**\n\t * Adds .ctct-invalid HTML class to inputs whose values are invalid.\n\t *\n\t * @author Constant Contact\n\t * @since 1.0.0\n\t *\n\t * @param {object} error AJAX response error object.\n\t */\n\tapp.processError = ( error ) => {\n\n\t\t// If we have an id property set.\n\t\tif ( 'undefined' !== typeof( error.id ) ) {\n\t\t\t$( '#' + error.id ).addClass( 'ctct-invalid' );\n\t\t}\n\t};\n\n\t/**\n\t * Check the value of the hidden honeypot field; disable form submission button if anything in it.\n\t *\n\t * @author Constant Contact\n\t * @since 1.0.0\n\t *\n\t * @param {object} e The change or keyup event triggering this callback.\n\t * @param {object} $honeyPot The jQuery object for the actual input field being checked.\n\t * @param {object} $submitButton The jQuery object for the submit button in the same form as the honeypot field.\n\t */\n\tapp.checkHoneypot = ( e, $honeyPot, $submitButton ) => {\n\n\t\t// If there is text in the honeypot, disable the submit button\n\t\tif ( 0 < $honeyPot.val().length ) {\n\t\t\t$submitButton.attr( 'disabled', 'disabled' );\n\t\t} else {\n\t\t\t$submitButton.attr( 'disabled', false );\n\t\t}\n\t};\n\n\t/**\n\t * Ensures that we should use AJAX to process the specified form, and that all required fields are not empty.\n\t *\n\t * @author Constant Contact\n\t * @since 1.0.0\n\t *\n\t * @param {object} $form jQuery object for the form being validated.\n\t * @return {boolean} False if AJAX processing is disabled for this form or if a required field is empty.\n\t */\n\tapp.validateSubmission = ( $form ) => {\n\n\t\tif ( 'on' !== $form.attr( 'data-doajax' ) ) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Ensure all required fields in this form are valid.\n\t\t$.each( $form.find( '[required]' ), function( i, field ) {\n\n\t\t\tif ( false === field.checkValidity() ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t} );\n\n\t\treturn true;\n\t};\n\n\t/**\n\t * Prepends form with a message that fades out in 5 seconds.\n\t *\n\t * @author Constant Contact\n\t * @since 1.0.0\n\t *\n\t * @param {object} $form jQuery object for the form a message is being displayed for.\n\t * @param {string} message The message content.\n\t * @param {string} classes Optional. HTML classes to add to the message wrapper.\n\t */\n\tapp.showMessage = ( $form, message, classes = '', role = 'log' ) => {\n\n\t\tconst $wrapper = $form.parents( '.ctct-form-wrapper' );\n\n\t\t$wrapper.find( 'p.ctct-message' ).remove();\n\n\t\tvar $p = $( '<p />', {\n\t\t\t'class': 'ctct-message ' + classes,\n\t\t\t'text': message,\n\t\t\t'role': role\n\t\t} ).prepend( $( '<button />', {\n\t\t\t'class': 'button button-secondary ctct-dismiss ctct-dismiss-ajax-notice',\n\t\t\t'html': '✕',\n\t\t\t'aria-label': 'Dismiss Notification'\n\t\t} ) );\n\n\t\t$p.insertBefore( $form ).fadeIn( 200 );\n\n\t\t$wrapper.find( '.ctct-dismiss-ajax-notice' ).on( 'click', function() {\n\t\t\t$( this ).parents( '.ctct-message' ).remove();\n\t\t} );\n\t};\n\n\t/**\n\t * Submits the actual form via AJAX.\n\t *\n\t * @author Constant Contact\n\t * @since 1.0.0\n\t *\n\t * @param {object} $form jQuery object for the form being submitted.\n\t */\n\tapp.submitForm = ( $form ) => {\n\n\t\t$form.find( '.ctct-submitted' ).prop( 'disabled', true );\n\n\t\tvar ajaxData = {\n\t\t\t'action': 'ctct_process_form',\n\t\t\t'data': $form.serialize()\n\t\t};\n\n\t\t$.post( window.ajaxurl, ajaxData, ( response ) => {\n\n\t\t\t$form.find( '.ctct-submitted' ).prop( 'disabled', false );\n\n\t\t\tif ( 'undefined' === typeof( response.status ) ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// Here we'll want to disable the submit button and add some error classes.\n\t\t\tif ( 'success' !== response.status ) {\n\n\t\t\t\tif ( 'undefined' !== typeof( response.errors ) ) {\n\t\t\t\t\tapp.setAllInputsValid();\n\t\t\t\t\tresponse.errors.forEach( app.processError );\n\t\t\t\t} else {\n\t\t\t\t\tapp.showMessage( $form, response.message, 'ctct-error', 'alert' );\n\t\t\t\t}\n\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// If we're here, the submission was a success; show message and reset form fields.\n\t\t\tapp.showMessage( $form, response.message, 'ctct-success', 'status' );\n\t\t\t$form[0].reset();\n\t\t} );\n\t};\n\n\t/**\n\t * Handle the form submission.\n\t *\n\t * @author Constant Contact\n\t * @since 1.0.0\n\t *\n\t * @param {object} e The submit event.\n\t * @param {object} $form jQuery object for the current form being handled.\n\t * @return {boolean} False if unable to validate the form.\n\t */\n\tapp.handleSubmission = ( e, $form ) => {\n\n\t\tif ( ! app.validateSubmission( $form ) ) {\n\t\t\treturn false;\n\t\t}\n\n\t\te.preventDefault();\n\n\t\tclearTimeout( app.timeout );\n\n\t\tapp.timeout = setTimeout( app.submitForm, 500, $form );\n\t};\n\n\t/**\n\t * Set up event bindings and callbacks.\n\t *\n\t * @author Constant Contact\n\t * @since 1.0.0\n\t */\n\tapp.bindEvents = () => {\n\n\t\t// eslint-disable-next-line no-unused-vars\n\t\t$.each( app.$c.$forms, function( i, form ) {\n\n\t\t\t// Attach submission handler to each form's Submit button.\n\t\t\tapp.$c.$forms[ i ].on( 'click', 'input[type=submit]', ( e ) => {\n\t\t\t\tapp.handleSubmission( e, app.$c.$forms[ i ] );\n\t\t\t} );\n\n\t\t\t// Ensure each form's honeypot is checked.\n\t\t\tapp.$c.$forms[ i ].$honeypot.on( 'change keyup', ( e ) => {\n\n\t\t\t\tapp.checkHoneypot(\n\t\t\t\t\te,\n\t\t\t\t\tapp.$c.$forms[ i ].$honeypot,\n\t\t\t\t\tapp.$c.$forms[ i ].$submitButton\n\t\t\t\t);\n\t\t\t} );\n\n\t\t\t// Disable the submit button by default until the captcha is passed (if captcha exists).\n\t\t\tif ( 0 < app.$c.$forms[ i ].$recaptcha.length ) {\n\t\t\t\tapp.$c.$forms[ i ].$submitButton.attr( 'disabled', 'disabled' );\n\t\t\t}\n\n\t\t} );\n\t};\n\n\t$( app.init );\n\n} ( window, jQuery, window.CTCTSupport ) );\n"],"sourceRoot":""}
|
1 |
+
{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./assets/js/ctct-plugin-frontend/index.js","webpack:///./assets/js/ctct-plugin-frontend/util.js","webpack:///./assets/js/ctct-plugin-frontend/validation.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","global","$","enableSendButton","attr","document","ready","on","setTimeout","window","jQuery","CTCTSupport","app","init","cache","bindEvents","removePlaceholder","focus","data","blur","$c","$forms","each","formWrapper","push","find","form","$form","$honeypot","$submitButton","$recaptcha","timeout","setAllInputsValid","removeClass","processError","error","id","addClass","checkHoneypot","e","$honeyPot","val","length","validateSubmission","field","checkValidity","showMessage","message","classes","role","$wrapper","parents","remove","$p","prepend","insertBefore","fadeIn","this","submitForm","prop","ajaxData","serialize","post","ajaxurl","response","status","errors","forEach","reset","handleSubmission","preventDefault","clearTimeout"],"mappings":"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","file":"ctct-plugin-frontend.min.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"https://testing.test/wp-content/plugins/constant-contact-forms/assets/js/\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 10);\n","import './util';\nimport './validation';\n","/**\n * General-purpose utility stuff for CC plugin.\n */\n( function( global, $ ) {\n\n\t/**\n\t * Temporarily prevent the submit button from being clicked.\n\t */\n\t$( document ).ready( () => {\n\n\t\t$( '.ctct-submitted' ).on( 'click', () => {\n\t\t\tsetTimeout( () => {\n\t\t\t\tdisableSendButton();\n\t\t\t\tsetTimeout( enableSendButton, 3000 );\n\t\t\t}, 100 );\n\t\t} );\n\t} );\n\n\t/**\n\t * Disable form submit button.\n\t *\n\t * @author Constant Contact\n\t * @since 1.0.0\n\t *\n\t * @return {mixed} jQuery if attribute is set, undefined if not.\n\t */\n\tfunction disableSendButton() {\n\t\treturn $( '.ctct-submitted' ).attr( 'disabled', 'disabled' );\n\t}\n\n\t/**\n\t * Re-enable form submit buttons.\n\t *\n\t * @author Constant Contact\n\t * @since 1.0.0\n\t *\n\t * @return {mixed} jQuery if attribute is set, undefined if not.\n\t */\n\tfunction enableSendButton() {\n\t\treturn $( '.ctct-submitted' ).attr( 'disabled', null );\n\t}\n\n} ( window, jQuery ) );\n","/**\n * Front-end form validation.\n *\n * @since 1.0.0\n */\n\n window.CTCTSupport = {};\n\n( function( window, $, app ) {\n\n\t/**\n\t * @constructor\n\t *\n\t * @author Constant Contact\n\t * @since 1.0.0\n\t */\n\tapp.init = () => {\n\t\tapp.cache();\n\t\tapp.bindEvents();\n\t\tapp.removePlaceholder();\n\t};\n\n\t/**\n\t * Remove placeholder text values.\n\t *\n\t * @author Constant Contact\n\t * @since 1.0.0\n\t */\n\tapp.removePlaceholder = () => {\n\t\t$( '.ctct-form-field input, textarea' ).focus( () => {\n\t\t\t$( this ).data( 'placeholder', $( this ).attr( 'placeholder' ) ).attr( 'placeholder', '' );\n\t\t} ).blur( () => {\n\t\t\t$( this ).attr( 'placeholder', $( this ).data( 'placeholder' ) );\n\t\t} );\n\t};\n\n\t/**\n\t * Cache DOM elements.\n\t *\n\t * @author Constant Contact\n\t * @since 1.0.0\n\t */\n\tapp.cache = () => {\n\n\t\tapp.$c = {\n\t\t\t$forms: []\n\t\t};\n\n\t\t// Cache each form on the page.\n\t\t$( '.ctct-form-wrapper' ).each( function( i, formWrapper ) {\n\t\t\tapp.$c.$forms.push( $( formWrapper ).find( 'form' ) );\n\t\t} );\n\n\t\t// For each form, cache its common elements.\n\t\t$.each( app.$c.$forms, function( i, form ) {\n\n\t\t\tvar $form = $( form );\n\n\t\t\tapp.$c.$forms[ i ].$honeypot = $form.find( '.ctct_usage_field' );\n\t\t\tapp.$c.$forms[ i ].$submitButton = $form.find( 'input[type=submit]' );\n\t\t\tapp.$c.$forms[ i ].$recaptcha = $form.find( '.g-recaptcha' );\n\t\t} );\n\n\t\tapp.timeout = null;\n\t};\n\n\t/**\n\t * Remove the ctct-invalid class from elements that have it.\n\t *\n\t * @author Constant Contact\n\t * @since 1.0.0\n\t */\n\tapp.setAllInputsValid = () => {\n\t\t$( app.$c.$form + ' .ctct-invalid' ).removeClass( 'ctct-invalid' );\n\t};\n\n\t/**\n\t * Adds .ctct-invalid HTML class to inputs whose values are invalid.\n\t *\n\t * @author Constant Contact\n\t * @since 1.0.0\n\t *\n\t * @param {object} error AJAX response error object.\n\t */\n\tapp.processError = ( error ) => {\n\n\t\t// If we have an id property set.\n\t\tif ( 'undefined' !== typeof( error.id ) ) {\n\t\t\t$( '#' + error.id ).addClass( 'ctct-invalid' );\n\t\t}\n\t};\n\n\t/**\n\t * Check the value of the hidden honeypot field; disable form submission button if anything in it.\n\t *\n\t * @author Constant Contact\n\t * @since 1.0.0\n\t *\n\t * @param {object} e The change or keyup event triggering this callback.\n\t * @param {object} $honeyPot The jQuery object for the actual input field being checked.\n\t * @param {object} $submitButton The jQuery object for the submit button in the same form as the honeypot field.\n\t */\n\tapp.checkHoneypot = ( e, $honeyPot, $submitButton ) => {\n\n\t\t// If there is text in the honeypot, disable the submit button\n\t\tif ( 0 < $honeyPot.val().length ) {\n\t\t\t$submitButton.attr( 'disabled', 'disabled' );\n\t\t} else {\n\t\t\t$submitButton.attr( 'disabled', false );\n\t\t}\n\t};\n\n\t/**\n\t * Ensures that we should use AJAX to process the specified form, and that all required fields are not empty.\n\t *\n\t * @author Constant Contact\n\t * @since 1.0.0\n\t *\n\t * @param {object} $form jQuery object for the form being validated.\n\t * @return {boolean} False if AJAX processing is disabled for this form or if a required field is empty.\n\t */\n\tapp.validateSubmission = ( $form ) => {\n\n\t\tif ( 'on' !== $form.attr( 'data-doajax' ) ) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Ensure all required fields in this form are valid.\n\t\t$.each( $form.find( '[required]' ), function( i, field ) {\n\n\t\t\tif ( false === field.checkValidity() ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t} );\n\n\t\treturn true;\n\t};\n\n\t/**\n\t * Prepends form with a message that fades out in 5 seconds.\n\t *\n\t * @author Constant Contact\n\t * @since 1.0.0\n\t *\n\t * @param {object} $form jQuery object for the form a message is being displayed for.\n\t * @param {string} message The message content.\n\t * @param {string} classes Optional. HTML classes to add to the message wrapper.\n\t */\n\tapp.showMessage = ( $form, message, classes = '', role = 'log' ) => {\n\n\t\tconst $wrapper = $form.parents( '.ctct-form-wrapper' );\n\n\t\t$wrapper.find( 'p.ctct-message' ).remove();\n\n\t\tvar $p = $( '<p />', {\n\t\t\t'class': 'ctct-message ' + classes,\n\t\t\t'text': message,\n\t\t\t'role': role\n\t\t} ).prepend( $( '<button />', {\n\t\t\t'class': 'button button-secondary ctct-dismiss ctct-dismiss-ajax-notice',\n\t\t\t'html': '✕',\n\t\t\t'aria-label': 'Dismiss Notification'\n\t\t} ) );\n\n\t\t$p.insertBefore( $form ).fadeIn( 200 );\n\n\t\t$wrapper.find( '.ctct-dismiss-ajax-notice' ).on( 'click', function() {\n\t\t\t$( this ).parents( '.ctct-message' ).remove();\n\t\t} );\n\t};\n\n\t/**\n\t * Submits the actual form via AJAX.\n\t *\n\t * @author Constant Contact\n\t * @since 1.0.0\n\t *\n\t * @param {object} $form jQuery object for the form being submitted.\n\t */\n\tapp.submitForm = ( $form ) => {\n\n\t\t$form.find( '.ctct-submitted' ).prop( 'disabled', true );\n\n\t\tvar ajaxData = {\n\t\t\t'action': 'ctct_process_form',\n\t\t\t'data': $form.serialize()\n\t\t};\n\n\t\t$.post( window.ajaxurl, ajaxData, ( response ) => {\n\n\t\t\t$form.find( '.ctct-submitted' ).prop( 'disabled', false );\n\n\t\t\tif ( 'undefined' === typeof( response.status ) ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// Here we'll want to disable the submit button and add some error classes.\n\t\t\tif ( 'success' !== response.status ) {\n\n\t\t\t\tif ( 'undefined' !== typeof( response.errors ) ) {\n\t\t\t\t\tapp.setAllInputsValid();\n\t\t\t\t\tresponse.errors.forEach( app.processError );\n\t\t\t\t} else {\n\t\t\t\t\tapp.showMessage( $form, response.message, 'ctct-error', 'alert' );\n\t\t\t\t}\n\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// If we're here, the submission was a success; show message and reset form fields.\n\t\t\tapp.showMessage( $form, response.message, 'ctct-success', 'status' );\n\t\t\t$form[0].reset();\n\t\t} );\n\t};\n\n\t/**\n\t * Handle the form submission.\n\t *\n\t * @author Constant Contact\n\t * @since 1.0.0\n\t *\n\t * @param {object} e The submit event.\n\t * @param {object} $form jQuery object for the current form being handled.\n\t * @return {boolean} False if unable to validate the form.\n\t */\n\tapp.handleSubmission = ( e, $form ) => {\n\n\t\tif ( ! app.validateSubmission( $form ) ) {\n\t\t\treturn false;\n\t\t}\n\n\t\te.preventDefault();\n\n\t\tclearTimeout( app.timeout );\n\n\t\tapp.timeout = setTimeout( app.submitForm, 500, $form );\n\t};\n\n\t/**\n\t * Set up event bindings and callbacks.\n\t *\n\t * @author Constant Contact\n\t * @since 1.0.0\n\t */\n\tapp.bindEvents = () => {\n\n\t\t// eslint-disable-next-line no-unused-vars\n\t\t$.each( app.$c.$forms, function( i, form ) {\n\n\t\t\t// Attach submission handler to each form's Submit button.\n\t\t\tapp.$c.$forms[ i ].on( 'click', 'input[type=submit]', ( e ) => {\n\t\t\t\tapp.handleSubmission( e, app.$c.$forms[ i ] );\n\t\t\t} );\n\n\t\t\t// Ensure each form's honeypot is checked.\n\t\t\tapp.$c.$forms[ i ].$honeypot.on( 'change keyup', ( e ) => {\n\n\t\t\t\tapp.checkHoneypot(\n\t\t\t\t\te,\n\t\t\t\t\tapp.$c.$forms[ i ].$honeypot,\n\t\t\t\t\tapp.$c.$forms[ i ].$submitButton\n\t\t\t\t);\n\t\t\t} );\n\n\t\t\t// Disable the submit button by default until the captcha is passed (if captcha exists).\n\t\t\tif ( 0 < app.$c.$forms[ i ].$recaptcha.length ) {\n\t\t\t\tapp.$c.$forms[ i ].$submitButton.attr( 'disabled', 'disabled' );\n\t\t\t}\n\n\t\t} );\n\t};\n\n\t$( app.init );\n\n} ( window, jQuery, window.CTCTSupport ) );\n"],"sourceRoot":""}
|
assets/js/ctct-plugin-gutenberg.min.js
CHANGED
@@ -1,2 +1,2 @@
|
|
1 |
-
!function(t){var e={};function n(r){if(e[r])return e[r].exports;var o=e[r]={i:r,l:!1,exports:{}};return t[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=t,n.c=e,n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:r})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var o in t)n.d(r,o,function(e){return t[e]}.bind(null,o));return r},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="https://testing.test/wp-content/plugins/constant-contact-forms/assets/js/",n(n.s=
|
2 |
//# sourceMappingURL=ctct-plugin-gutenberg.min.js.map
|
1 |
+
!function(t){var e={};function n(r){if(e[r])return e[r].exports;var o=e[r]={i:r,l:!1,exports:{}};return t[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=t,n.c=e,n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:r})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var o in t)n.d(r,o,function(e){return t[e]}.bind(null,o));return r},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="https://testing.test/wp-content/plugins/constant-contact-forms/assets/js/",n(n.s=9)}({20:function(t,e,n){"use strict";function r(t){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function o(t){return function(t){if(Array.isArray(t)){for(var e=0,n=new Array(t.length);e<t.length;e++)n[e]=t[e];return n}}(t)||function(t){if(Symbol.iterator in Object(t)||"[object Arguments]"===Object.prototype.toString.call(t))return Array.from(t)}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}()}function c(t,e,n,r,o,c,a){try{var i=t[c](a),l=i.value}catch(t){return void n(t)}i.done?e(l):Promise.resolve(l).then(r,o)}function a(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}function i(t,e){return!e||"object"!==r(e)&&"function"!=typeof e?function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t):e}function l(t){return(l=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function s(t,e){return(s=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}n.r(e);var u=wp,f=u.components.SelectControl,p=u.apiFetch,m=u.element.Component,y=u.i18n.__,b=function(t){function e(t){var n;return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),(n=i(this,l(e).call(this,t))).state={forms:[{label:y("Select a form","constant-contact"),value:0}],displayTitle:[{label:y("Display Title","constant-contact"),value:!0},{label:y("Hide Title","constant-contact"),value:!1}]},n}var n,r,u,m,b;return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&s(t,e)}(e,t),n=e,(r=[{key:"componentDidMount",value:(m=regeneratorRuntime.mark((function t(){var e,n;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,p({path:"/?rest_route=/wp/v2/ctct_forms"});case 3:e=t.sent,n=e.map((function(t){return{label:t.title.rendered,value:t.id}})),this.setState({forms:[].concat(o(this.state.forms),o(n))}),t.next=11;break;case 8:t.prev=8,t.t0=t.catch(0),console.error("ERROR: ",t.t0.message);case 11:case"end":return t.stop()}}),t,this,[[0,8]])})),b=function(){var t=this,e=arguments;return new Promise((function(n,r){var o=m.apply(t,e);function a(t){c(o,n,r,a,i,"next",t)}function i(t){c(o,n,r,a,i,"throw",t)}a(void 0)}))},function(){return b.apply(this,arguments)})},{key:"render",value:function(){var t=this,e=this.props.attributes,n=e.selectedForm,r=e.displayTitle;return React.createElement("div",{className:"ctct-block-container"},React.createElement("div",{className:"ctct-block-container--header"},React.createElement("img",{alt:"Constant Contact Forms",src:"https://images.ctfassets.net/t21gix3kzulv/78gf1S3CjPrnl9rURf6Q8w/3c20fb510dd4d4653feddf86ece35e1a/ctct_ripple_logo_horizontal_white_orange.svg"})),React.createElement("div",{className:"ctct-block-container--selection"},React.createElement("small",null,y("Display Form Title","constant-contact")),React.createElement("div",{className:"ctct-block-container--component"},React.createElement(f,{value:r,options:this.state.displayTitle,onChange:function(e){return t.props.setAttributes({displayTitle:e})}}))),React.createElement("div",{className:"ctct-block-container--selection"},React.createElement("small",null,y("Choose the form to display with the dropdown below.","constant-contact")),React.createElement("div",{className:"ctct-block-container--component"},React.createElement(f,{value:n,options:this.state.forms,onChange:function(e){return t.props.setAttributes({selectedForm:e})}}))))}}])&&a(n.prototype,r),u&&a(n,u),e}(m),d=wp.i18n.__;(0,wp.blocks.registerBlockType)("constant-contact/single-contact-form",{title:d("Constant Contact: Single Form","constant-contact"),icon:"index-card",category:"layout",attributes:{selectedForm:{type:"string"},displayTitle:{type:"boolean"}},edit:b,save:function(){return null}})},9:function(t,e,n){t.exports=n(20)}});
|
2 |
//# sourceMappingURL=ctct-plugin-gutenberg.min.js.map
|
assets/js/ctct-plugin-gutenberg.min.js.map
CHANGED
@@ -1 +1 @@
|
|
1 |
-
{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./assets/js/ctct-plugin-gutenberg/components/single-form-select.js","webpack:///./assets/js/ctct-plugin-gutenberg/blocks/contact-form.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","wp","SelectControl","components","apiFetch","Component","element","__","i18n","SingleFormSelect","props","state","forms","label","displayTitle","path","results","map","result","title","rendered","id","this","setState","console","error","message","attributes","selectedForm","className","alt","src","options","onChange","setAttributes","registerBlockType","blocks","icon","category","type","edit","save"],"mappings":"aACE,IAAIA,EAAmB,GAGvB,SAASC,EAAoBC,GAG5B,GAAGF,EAAiBE,GACnB,OAAOF,EAAiBE,GAAUC,QAGnC,IAAIC,EAASJ,EAAiBE,GAAY,CACzCG,EAAGH,EACHI,GAAG,EACHH,QAAS,IAUV,OANAI,EAAQL,GAAUM,KAAKJ,EAAOD,QAASC,EAAQA,EAAOD,QAASF,GAG/DG,EAAOE,GAAI,EAGJF,EAAOD,QAKfF,EAAoBQ,EAAIF,EAGxBN,EAAoBS,EAAIV,EAGxBC,EAAoBU,EAAI,SAASR,EAASS,EAAMC,GAC3CZ,EAAoBa,EAAEX,EAASS,IAClCG,OAAOC,eAAeb,EAASS,EAAM,CAAEK,YAAY,EAAMC,IAAKL,KAKhEZ,EAAoBkB,EAAI,SAAShB,GACX,oBAAXiB,QAA0BA,OAAOC,aAC1CN,OAAOC,eAAeb,EAASiB,OAAOC,YAAa,CAAEC,MAAO,WAE7DP,OAAOC,eAAeb,EAAS,aAAc,CAAEmB,OAAO,KAQvDrB,EAAoBsB,EAAI,SAASD,EAAOE,GAEvC,GADU,EAAPA,IAAUF,EAAQrB,EAAoBqB,IAC/B,EAAPE,EAAU,OAAOF,EACpB,GAAW,EAAPE,GAA8B,iBAAVF,GAAsBA,GAASA,EAAMG,WAAY,OAAOH,EAChF,IAAII,EAAKX,OAAOY,OAAO,MAGvB,GAFA1B,EAAoBkB,EAAEO,GACtBX,OAAOC,eAAeU,EAAI,UAAW,CAAET,YAAY,EAAMK,MAAOA,IACtD,EAAPE,GAA4B,iBAATF,EAAmB,IAAI,IAAIM,KAAON,EAAOrB,EAAoBU,EAAEe,EAAIE,EAAK,SAASA,GAAO,OAAON,EAAMM,IAAQC,KAAK,KAAMD,IAC9I,OAAOF,GAIRzB,EAAoB6B,EAAI,SAAS1B,GAChC,IAAIS,EAAST,GAAUA,EAAOqB,WAC7B,WAAwB,OAAOrB,EAAgB,SAC/C,WAA8B,OAAOA,GAEtC,OADAH,EAAoBU,EAAEE,EAAQ,IAAKA,GAC5BA,GAIRZ,EAAoBa,EAAI,SAASiB,EAAQC,GAAY,OAAOjB,OAAOkB,UAAUC,eAAe1B,KAAKuB,EAAQC,IAGzG/B,EAAoBkC,EAAI,4EAIjBlC,EAAoBA,EAAoBmC,EAAI,G,oyCC7EjDC,GAJYC,E,EAAdC,WAAcD,cACdE,E,EAAAA,SACWC,E,EAAXC,QAAWD,UACHE,E,EAARC,KAAQD,GAkEKE,E,YA1Db,WAAYC,GAAO,a,4FAAA,UACjB,wBAAMA,KAGDC,MAAQ,CACXC,MAAO,CAAC,CAAEC,MAAON,EAAG,gBAAiB,oBAAqBrB,MAAO,IACjE4B,aAAc,CACZ,CAAED,MAAON,EAAG,gBAAiB,oBAAqBrB,OAAO,GACzD,CAAE2B,MAAON,EAAG,aAAc,oBAAqBrB,OAAO,KARzC,E,8bAkBOkB,EAAS,CAAEW,KAAM,mC,OAAjCC,E,OACAJ,EAAQI,EAAQC,KAAI,SAACC,GAAD,MAAa,CAAEL,MAAOK,EAAOC,MAAMC,SAAUlC,MAAOgC,EAAOG,OACrFC,KAAKC,SAAS,CAAEX,MAAO,GAAF,SAAMU,KAAKX,MAAMC,OAAjB,EAA2BA,M,gDAEhDY,QAAQC,MAAM,UAAW,KAAEC,S,oTAOtB,aAE8BJ,KAAKZ,MAAMiB,WAA1CC,EAFC,EAEDA,aAAcd,EAFb,EAEaA,aAEpB,OACE,2BAAKe,UAAU,wBACb,2BAAKA,UAAU,gCACb,2BACEC,IAAI,yBACJC,IAAI,oJAGR,2BAAKF,UAAU,mCACb,iCAAQtB,EAAG,
|
1 |
+
{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./assets/js/ctct-plugin-gutenberg/components/single-form-select.js","webpack:///./assets/js/ctct-plugin-gutenberg/blocks/contact-form.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","wp","SelectControl","components","apiFetch","Component","element","__","i18n","SingleFormSelect","props","state","forms","label","displayTitle","path","results","map","result","title","rendered","id","this","setState","console","error","message","attributes","selectedForm","className","alt","src","options","onChange","setAttributes","registerBlockType","blocks","icon","category","type","edit","save"],"mappings":"aACE,IAAIA,EAAmB,GAGvB,SAASC,EAAoBC,GAG5B,GAAGF,EAAiBE,GACnB,OAAOF,EAAiBE,GAAUC,QAGnC,IAAIC,EAASJ,EAAiBE,GAAY,CACzCG,EAAGH,EACHI,GAAG,EACHH,QAAS,IAUV,OANAI,EAAQL,GAAUM,KAAKJ,EAAOD,QAASC,EAAQA,EAAOD,QAASF,GAG/DG,EAAOE,GAAI,EAGJF,EAAOD,QAKfF,EAAoBQ,EAAIF,EAGxBN,EAAoBS,EAAIV,EAGxBC,EAAoBU,EAAI,SAASR,EAASS,EAAMC,GAC3CZ,EAAoBa,EAAEX,EAASS,IAClCG,OAAOC,eAAeb,EAASS,EAAM,CAAEK,YAAY,EAAMC,IAAKL,KAKhEZ,EAAoBkB,EAAI,SAAShB,GACX,oBAAXiB,QAA0BA,OAAOC,aAC1CN,OAAOC,eAAeb,EAASiB,OAAOC,YAAa,CAAEC,MAAO,WAE7DP,OAAOC,eAAeb,EAAS,aAAc,CAAEmB,OAAO,KAQvDrB,EAAoBsB,EAAI,SAASD,EAAOE,GAEvC,GADU,EAAPA,IAAUF,EAAQrB,EAAoBqB,IAC/B,EAAPE,EAAU,OAAOF,EACpB,GAAW,EAAPE,GAA8B,iBAAVF,GAAsBA,GAASA,EAAMG,WAAY,OAAOH,EAChF,IAAII,EAAKX,OAAOY,OAAO,MAGvB,GAFA1B,EAAoBkB,EAAEO,GACtBX,OAAOC,eAAeU,EAAI,UAAW,CAAET,YAAY,EAAMK,MAAOA,IACtD,EAAPE,GAA4B,iBAATF,EAAmB,IAAI,IAAIM,KAAON,EAAOrB,EAAoBU,EAAEe,EAAIE,EAAK,SAASA,GAAO,OAAON,EAAMM,IAAQC,KAAK,KAAMD,IAC9I,OAAOF,GAIRzB,EAAoB6B,EAAI,SAAS1B,GAChC,IAAIS,EAAST,GAAUA,EAAOqB,WAC7B,WAAwB,OAAOrB,EAAgB,SAC/C,WAA8B,OAAOA,GAEtC,OADAH,EAAoBU,EAAEE,EAAQ,IAAKA,GAC5BA,GAIRZ,EAAoBa,EAAI,SAASiB,EAAQC,GAAY,OAAOjB,OAAOkB,UAAUC,eAAe1B,KAAKuB,EAAQC,IAGzG/B,EAAoBkC,EAAI,4EAIjBlC,EAAoBA,EAAoBmC,EAAI,G,oyCC7EjDC,GAJYC,E,EAAdC,WAAcD,cACdE,E,EAAAA,SACWC,E,EAAXC,QAAWD,UACHE,E,EAARC,KAAQD,GAkEKE,E,YA1Db,WAAYC,GAAO,a,4FAAA,UACjB,wBAAMA,KAGDC,MAAQ,CACXC,MAAO,CAAC,CAAEC,MAAON,EAAG,gBAAiB,oBAAqBrB,MAAO,IACjE4B,aAAc,CACZ,CAAED,MAAON,EAAG,gBAAiB,oBAAqBrB,OAAO,GACzD,CAAE2B,MAAON,EAAG,aAAc,oBAAqBrB,OAAO,KARzC,E,8bAkBOkB,EAAS,CAAEW,KAAM,mC,OAAjCC,E,OACAJ,EAAQI,EAAQC,KAAI,SAACC,GAAD,MAAa,CAAEL,MAAOK,EAAOC,MAAMC,SAAUlC,MAAOgC,EAAOG,OACrFC,KAAKC,SAAS,CAAEX,MAAO,GAAF,SAAMU,KAAKX,MAAMC,OAAjB,EAA2BA,M,gDAEhDY,QAAQC,MAAM,UAAW,KAAEC,S,oTAOtB,aAE8BJ,KAAKZ,MAAMiB,WAA1CC,EAFC,EAEDA,aAAcd,EAFb,EAEaA,aAEpB,OACE,2BAAKe,UAAU,wBACb,2BAAKA,UAAU,gCACb,2BACEC,IAAI,yBACJC,IAAI,oJAGR,2BAAKF,UAAU,mCACb,iCAAQtB,EAAG,qBAAsB,qBACjC,2BAAKsB,UAAU,mCACb,oBAAC3B,EAAD,CAAehB,MAAO4B,EAAckB,QAASV,KAAKX,MAAMG,aAAcmB,SAAU,SAAC/C,GAAD,OAAW,EAAKwB,MAAMwB,cAAc,CAAEpB,aAAc5B,SAGxI,2BAAK2C,UAAU,mCACb,iCAAQtB,EAAG,sDAAuD,qBAClE,2BAAKsB,UAAU,mCACb,oBAAC3B,EAAD,CAAehB,MAAO0C,EAAcI,QAASV,KAAKX,MAAMC,MAAOqB,SAAU,SAAC/C,GAAD,OAAW,EAAKwB,MAAMwB,cAAc,CAAEN,aAAc1C,e,8BAvD1GmB,GCPvBE,EAAON,GAAGO,KAAVD,IAUO4B,EAPXlC,GAAGmC,OADND,mBAQiC,uCAAwC,CACzEhB,MAAOZ,EAAI,gCAAiC,oBAC5C8B,KAAM,aACNC,SAAU,SACVX,WAAY,CACXC,aAAc,CACbW,KAAM,UAEPzB,aAAc,CACbyB,KAAM,YAGRC,KAAM/B,EACNgC,KAAM,kBAAM,S","file":"ctct-plugin-gutenberg.min.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"https://testing.test/wp-content/plugins/constant-contact-forms/assets/js/\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 9);\n","const {\n components: { SelectControl },\n apiFetch,\n element: { Component },\n i18n: { __ },\n} = wp;\n\nclass SingleFormSelect extends Component {\n /**\n * Constructor\n * @param props\n */\n constructor(props) {\n super(props);\n\n // Set the initial state of the component.\n this.state = {\n forms: [{ label: __(\"Select a form\", \"constant-contact\"), value: 0 }],\n displayTitle: [\n { label: __(\"Display Title\", \"constant-contact\"), value: true },\n { label: __(\"Hide Title\", \"constant-contact\"), value: false },\n ],\n };\n }\n\n /**\n * After the component mounts, retrieve the forms and add them to the local component state.\n */\n async componentDidMount() {\n try {\n const results = await apiFetch({ path: \"/?rest_route=/wp/v2/ctct_forms\" });\n const forms = results.map((result) => ({ label: result.title.rendered, value: result.id }));\n this.setState({ forms: [...this.state.forms, ...forms] });\n } catch (e) {\n console.error(\"ERROR: \", e.message);\n }\n }\n\n /**\n * Render the Gutenberg block in the admin area.\n */\n render() {\n // Destructure the selectedFrom from props.\n let { selectedForm, displayTitle } = this.props.attributes;\n\n return (\n <div className=\"ctct-block-container\">\n <div className=\"ctct-block-container--header\">\n <img\n alt=\"Constant Contact Forms\"\n src=\"https://images.ctfassets.net/t21gix3kzulv/78gf1S3CjPrnl9rURf6Q8w/3c20fb510dd4d4653feddf86ece35e1a/ctct_ripple_logo_horizontal_white_orange.svg\"\n />\n </div>\n <div className=\"ctct-block-container--selection\">\n <small>{__(\"Display Form Title\", \"constant-contact\")}</small>\n <div className=\"ctct-block-container--component\">\n <SelectControl value={displayTitle} options={this.state.displayTitle} onChange={(value) => this.props.setAttributes({ displayTitle: value })} />\n </div>\n </div>\n <div className=\"ctct-block-container--selection\">\n <small>{__(\"Choose the form to display with the dropdown below.\", \"constant-contact\")}</small>\n <div className=\"ctct-block-container--component\">\n <SelectControl value={selectedForm} options={this.state.forms} onChange={(value) => this.props.setAttributes({ selectedForm: value })} />\n </div>\n </div>\n </div>\n );\n }\n}\n\nexport default SingleFormSelect;\n","const { __ } = wp.i18n;\nconst {\n\tregisterBlockType,\n} = wp.blocks;\n\nimport SingleFormSelect from '../components/single-form-select';\n\n/**\n * Register the block.\n */\nexport default registerBlockType( 'constant-contact/single-contact-form', {\n\ttitle: __( 'Constant Contact: Single Form', 'constant-contact' ),\n\ticon: 'index-card',\n\tcategory: 'layout',\n\tattributes: {\n\t\tselectedForm: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tdisplayTitle: {\n\t\t\ttype: 'boolean',\n\t\t}\n\t},\n\tedit: SingleFormSelect,\n\tsave: () => null // PHP will be used to render the block on the frontend.\n});\n"],"sourceRoot":""}
|
assets/js/ctct-plugin-recaptcha-v2.min.js
CHANGED
@@ -1,2 +1,2 @@
|
|
1 |
-
!function(t){var e={};function n(r){if(e[r])return e[r].exports;var i=e[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}n.m=t,n.c=e,n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:r})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)n.d(r,i,function(e){return t[e]}.bind(null,i));return r},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="https://testing.test/wp-content/plugins/constant-contact-forms/assets/js/",n(n.s=
|
2 |
//# sourceMappingURL=ctct-plugin-recaptcha-v2.min.js.map
|
1 |
+
!function(t){var e={};function n(r){if(e[r])return e[r].exports;var i=e[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}n.m=t,n.c=e,n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:r})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)n.d(r,i,function(e){return t[e]}.bind(null,i));return r},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="https://testing.test/wp-content/plugins/constant-contact-forms/assets/js/",n(n.s=17)}({17:function(t,e,n){t.exports=n(18)},18:function(t,e,n){"use strict";n.r(e);n(19)},19:function(t,e){window.ctctEnableBtn=function(t){jQuery(t).attr("disabled",!1)};window.ctctDisableBtn=function(t){jQuery(t).attr("disabled","disabled")};window.renderReCaptcha=function(){jQuery(".g-recaptcha").each((function(t,e){var n=jQuery(e).siblings(".ctct-form-field-submit").find(".ctct-submit");grecaptcha.render(e,{sitekey:jQuery(e).attr("data-sitekey"),size:jQuery(e).attr("data-size"),tabindex:jQuery(e).attr("data-tabindex"),callback:function(){window.ctctEnableBtn(n)},"expired-callback":function(){window.ctctDisableBtn(n)},isolated:!0})}))}}});
|
2 |
//# sourceMappingURL=ctct-plugin-recaptcha-v2.min.js.map
|
assets/js/ctct-plugin-recaptcha-v2.min.js.map
CHANGED
@@ -1 +1 @@
|
|
1 |
-
{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./assets/js/ctct-plugin-recaptcha-v2/index.js","webpack:///./assets/js/ctct-plugin-recaptcha-v2/recaptcha.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","window","ctctEnableBtn","submitBtn","jQuery","attr","ctctDisableBtn","renderReCaptcha","each","index","el","siblings","find","grecaptcha","render"],"mappings":"aACE,IAAIA,EAAmB,GAGvB,SAASC,EAAoBC,GAG5B,GAAGF,EAAiBE,GACnB,OAAOF,EAAiBE,GAAUC,QAGnC,IAAIC,EAASJ,EAAiBE,GAAY,CACzCG,EAAGH,EACHI,GAAG,EACHH,QAAS,IAUV,OANAI,EAAQL,GAAUM,KAAKJ,EAAOD,QAASC,EAAQA,EAAOD,QAASF,GAG/DG,EAAOE,GAAI,EAGJF,EAAOD,QAKfF,EAAoBQ,EAAIF,EAGxBN,EAAoBS,EAAIV,EAGxBC,EAAoBU,EAAI,SAASR,EAASS,EAAMC,GAC3CZ,EAAoBa,EAAEX,EAASS,IAClCG,OAAOC,eAAeb,EAASS,EAAM,CAAEK,YAAY,EAAMC,IAAKL,KAKhEZ,EAAoBkB,EAAI,SAAShB,GACX,oBAAXiB,QAA0BA,OAAOC,aAC1CN,OAAOC,eAAeb,EAASiB,OAAOC,YAAa,CAAEC,MAAO,WAE7DP,OAAOC,eAAeb,EAAS,aAAc,CAAEmB,OAAO,KAQvDrB,EAAoBsB,EAAI,SAASD,EAAOE,GAEvC,GADU,EAAPA,IAAUF,EAAQrB,EAAoBqB,IAC/B,EAAPE,EAAU,OAAOF,EACpB,GAAW,EAAPE,GAA8B,iBAAVF,GAAsBA,GAASA,EAAMG,WAAY,OAAOH,EAChF,IAAII,EAAKX,OAAOY,OAAO,MAGvB,GAFA1B,EAAoBkB,EAAEO,GACtBX,OAAOC,eAAeU,EAAI,UAAW,CAAET,YAAY,EAAMK,MAAOA,IACtD,EAAPE,GAA4B,iBAATF,EAAmB,IAAI,IAAIM,KAAON,EAAOrB,EAAoBU,EAAEe,EAAIE,EAAK,SAASA,GAAO,OAAON,EAAMM,IAAQC,KAAK,KAAMD,IAC9I,OAAOF,GAIRzB,EAAoB6B,EAAI,SAAS1B,GAChC,IAAIS,EAAST,GAAUA,EAAOqB,WAC7B,WAAwB,OAAOrB,EAAgB,SAC/C,WAA8B,OAAOA,GAEtC,OADAH,EAAoBU,EAAEE,EAAQ,IAAKA,GAC5BA,GAIRZ,EAAoBa,EAAI,SAASiB,EAAQC,GAAY,OAAOjB,OAAOkB,UAAUC,eAAe1B,KAAKuB,EAAQC,IAGzG/B,EAAoBkC,EAAI,4EAIjBlC,EAAoBA,EAAoBmC,EAAI,I,sEClFrD,c,iBCWAC,OAAOC,cAHa,SAAUC,GAC1BC,OAAQD,GAAYE,KAAM,YAAY,IAe1CJ,OAAOK,eAHc,SAAUH,GAC3BC,OAAQD,GAAYE,KAAM,WAAY,aAsB1CJ,OAAOM,gBAlBe,WAClBH,OAAQ,gBAAiBI,MAAM,SAAUC,EAAOC,GAC5C,IAAMP,EAAYC,OAAQM,GAAKC,SAAU,2BAA4BC,KAAM,gBAE3EC,WAAWC,OAAQJ,EAAI,CACnB,QAAWN,OAAQM,GAAKL,KAAM,gBAC9B,KAAQD,OAAQM,GAAKL,KAAM,aAC3B,SAAYD,OAAQM,GAAKL,KAAM,iBAC/B,SAAY,WACRJ,OAAOC,cAAeC,IAE1B,mBAAoB,WAChBF,OAAOK,eAAgBH,IAE3B,UAAY","file":"ctct-plugin-recaptcha-v2.min.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"https://testing.test/wp-content/plugins/constant-contact-forms/assets/js/\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s =
|
1 |
+
{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./assets/js/ctct-plugin-recaptcha-v2/index.js","webpack:///./assets/js/ctct-plugin-recaptcha-v2/recaptcha.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","window","ctctEnableBtn","submitBtn","jQuery","attr","ctctDisableBtn","renderReCaptcha","each","index","el","siblings","find","grecaptcha","render"],"mappings":"aACE,IAAIA,EAAmB,GAGvB,SAASC,EAAoBC,GAG5B,GAAGF,EAAiBE,GACnB,OAAOF,EAAiBE,GAAUC,QAGnC,IAAIC,EAASJ,EAAiBE,GAAY,CACzCG,EAAGH,EACHI,GAAG,EACHH,QAAS,IAUV,OANAI,EAAQL,GAAUM,KAAKJ,EAAOD,QAASC,EAAQA,EAAOD,QAASF,GAG/DG,EAAOE,GAAI,EAGJF,EAAOD,QAKfF,EAAoBQ,EAAIF,EAGxBN,EAAoBS,EAAIV,EAGxBC,EAAoBU,EAAI,SAASR,EAASS,EAAMC,GAC3CZ,EAAoBa,EAAEX,EAASS,IAClCG,OAAOC,eAAeb,EAASS,EAAM,CAAEK,YAAY,EAAMC,IAAKL,KAKhEZ,EAAoBkB,EAAI,SAAShB,GACX,oBAAXiB,QAA0BA,OAAOC,aAC1CN,OAAOC,eAAeb,EAASiB,OAAOC,YAAa,CAAEC,MAAO,WAE7DP,OAAOC,eAAeb,EAAS,aAAc,CAAEmB,OAAO,KAQvDrB,EAAoBsB,EAAI,SAASD,EAAOE,GAEvC,GADU,EAAPA,IAAUF,EAAQrB,EAAoBqB,IAC/B,EAAPE,EAAU,OAAOF,EACpB,GAAW,EAAPE,GAA8B,iBAAVF,GAAsBA,GAASA,EAAMG,WAAY,OAAOH,EAChF,IAAII,EAAKX,OAAOY,OAAO,MAGvB,GAFA1B,EAAoBkB,EAAEO,GACtBX,OAAOC,eAAeU,EAAI,UAAW,CAAET,YAAY,EAAMK,MAAOA,IACtD,EAAPE,GAA4B,iBAATF,EAAmB,IAAI,IAAIM,KAAON,EAAOrB,EAAoBU,EAAEe,EAAIE,EAAK,SAASA,GAAO,OAAON,EAAMM,IAAQC,KAAK,KAAMD,IAC9I,OAAOF,GAIRzB,EAAoB6B,EAAI,SAAS1B,GAChC,IAAIS,EAAST,GAAUA,EAAOqB,WAC7B,WAAwB,OAAOrB,EAAgB,SAC/C,WAA8B,OAAOA,GAEtC,OADAH,EAAoBU,EAAEE,EAAQ,IAAKA,GAC5BA,GAIRZ,EAAoBa,EAAI,SAASiB,EAAQC,GAAY,OAAOjB,OAAOkB,UAAUC,eAAe1B,KAAKuB,EAAQC,IAGzG/B,EAAoBkC,EAAI,4EAIjBlC,EAAoBA,EAAoBmC,EAAI,I,sEClFrD,c,iBCWAC,OAAOC,cAHa,SAAUC,GAC1BC,OAAQD,GAAYE,KAAM,YAAY,IAe1CJ,OAAOK,eAHc,SAAUH,GAC3BC,OAAQD,GAAYE,KAAM,WAAY,aAsB1CJ,OAAOM,gBAlBe,WAClBH,OAAQ,gBAAiBI,MAAM,SAAUC,EAAOC,GAC5C,IAAMP,EAAYC,OAAQM,GAAKC,SAAU,2BAA4BC,KAAM,gBAE3EC,WAAWC,OAAQJ,EAAI,CACnB,QAAWN,OAAQM,GAAKL,KAAM,gBAC9B,KAAQD,OAAQM,GAAKL,KAAM,aAC3B,SAAYD,OAAQM,GAAKL,KAAM,iBAC/B,SAAY,WACRJ,OAAOC,cAAeC,IAE1B,mBAAoB,WAChBF,OAAOK,eAAgBH,IAE3B,UAAY","file":"ctct-plugin-recaptcha-v2.min.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"https://testing.test/wp-content/plugins/constant-contact-forms/assets/js/\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 17);\n","// This is the entry point for reCAPTCHA v2 JS. Add JavaScript imports here.\nimport './recaptcha';\n","/**\n * Enable submit button.\n *\n * @author Rebekah Van Epps <rebekah.vanepps@webdevstudios.com>\n * @since 1.8.3\n *\n * @param {Object} submitBtn Submit DOM element.\n */\nvar ctctEnableBtn = function( submitBtn ) {\n jQuery( submitBtn ).attr( \"disabled\", false );\n}\nwindow.ctctEnableBtn = ctctEnableBtn;\n\n/**\n * Disable submit button.\n *\n * @author Rebekah Van Epps <rebekah.vanepps@webdevstudios.com>\n * @since 1.8.3\n *\n * @param {Object} submitBtn Submit DOM element.\n */\nvar ctctDisableBtn = function( submitBtn ) {\n jQuery( submitBtn ).attr( \"disabled\", \"disabled\" );\n}\nwindow.ctctDisableBtn = ctctDisableBtn;\n\nvar renderReCaptcha = function() {\n jQuery( '.g-recaptcha' ).each( function( index, el ) {\n const submitBtn = jQuery( el ).siblings( '.ctct-form-field-submit' ).find( '.ctct-submit' );\n\n grecaptcha.render( el, {\n 'sitekey': jQuery( el ).attr( 'data-sitekey' ),\n 'size': jQuery( el ).attr( 'data-size' ),\n 'tabindex': jQuery( el ).attr( 'data-tabindex' ),\n 'callback': function() {\n window.ctctEnableBtn( submitBtn );\n },\n 'expired-callback': function() {\n window.ctctDisableBtn( submitBtn );\n },\n 'isolated': true,\n } );\n } );\n};\nwindow.renderReCaptcha = renderReCaptcha;\n"],"sourceRoot":""}
|
assets/js/ctct-plugin-recaptcha.min.js
CHANGED
@@ -1,2 +1,2 @@
|
|
1 |
-
!function(t){var e={};function n(r){if(e[r])return e[r].exports;var o=e[r]={i:r,l:!1,exports:{}};return t[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=t,n.c=e,n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:r})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var o in t)n.d(r,o,function(e){return t[e]}.bind(null,o));return r},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="https://testing.test/wp-content/plugins/constant-contact-forms/assets/js/",n(n.s=
|
2 |
//# sourceMappingURL=ctct-plugin-recaptcha.min.js.map
|
1 |
+
!function(t){var e={};function n(r){if(e[r])return e[r].exports;var o=e[r]={i:r,l:!1,exports:{}};return t[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=t,n.c=e,n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:r})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var o in t)n.d(r,o,function(e){return t[e]}.bind(null,o));return r},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="https://testing.test/wp-content/plugins/constant-contact-forms/assets/js/",n(n.s=14)}({14:function(t,e,n){t.exports=n(15)},15:function(t,e,n){"use strict";n.r(e);n(16)},16:function(t,e){grecaptcha.ready((function(){grecaptcha.execute(recaptchav3.site_key,{action:"constantcontactsubmit"}).then((function(t){jQuery(".ctct-form-wrapper form").append('<input type="hidden" name="g-recaptcha-response" value="'+t+'">')}))}))}});
|
2 |
//# sourceMappingURL=ctct-plugin-recaptcha.min.js.map
|
assets/js/ctct-plugin-recaptcha.min.js.map
CHANGED
@@ -1 +1 @@
|
|
1 |
-
{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./assets/js/ctct-plugin-recaptcha/index.js","webpack:///./assets/js/ctct-plugin-recaptcha/recaptcha.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","grecaptcha","ready","execute","recaptchav3","site_key","action","then","token","jQuery","append"],"mappings":"aACE,IAAIA,EAAmB,GAGvB,SAASC,EAAoBC,GAG5B,GAAGF,EAAiBE,GACnB,OAAOF,EAAiBE,GAAUC,QAGnC,IAAIC,EAASJ,EAAiBE,GAAY,CACzCG,EAAGH,EACHI,GAAG,EACHH,QAAS,IAUV,OANAI,EAAQL,GAAUM,KAAKJ,EAAOD,QAASC,EAAQA,EAAOD,QAASF,GAG/DG,EAAOE,GAAI,EAGJF,EAAOD,QAKfF,EAAoBQ,EAAIF,EAGxBN,EAAoBS,EAAIV,EAGxBC,EAAoBU,EAAI,SAASR,EAASS,EAAMC,GAC3CZ,EAAoBa,EAAEX,EAASS,IAClCG,OAAOC,eAAeb,EAASS,EAAM,CAAEK,YAAY,EAAMC,IAAKL,KAKhEZ,EAAoBkB,EAAI,SAAShB,GACX,oBAAXiB,QAA0BA,OAAOC,aAC1CN,OAAOC,eAAeb,EAASiB,OAAOC,YAAa,CAAEC,MAAO,WAE7DP,OAAOC,eAAeb,EAAS,aAAc,CAAEmB,OAAO,KAQvDrB,EAAoBsB,EAAI,SAASD,EAAOE,GAEvC,GADU,EAAPA,IAAUF,EAAQrB,EAAoBqB,IAC/B,EAAPE,EAAU,OAAOF,EACpB,GAAW,EAAPE,GAA8B,iBAAVF,GAAsBA,GAASA,EAAMG,WAAY,OAAOH,EAChF,IAAII,EAAKX,OAAOY,OAAO,MAGvB,GAFA1B,EAAoBkB,EAAEO,GACtBX,OAAOC,eAAeU,EAAI,UAAW,CAAET,YAAY,EAAMK,MAAOA,IACtD,EAAPE,GAA4B,iBAATF,EAAmB,IAAI,IAAIM,KAAON,EAAOrB,EAAoBU,EAAEe,EAAIE,EAAK,SAASA,GAAO,OAAON,EAAMM,IAAQC,KAAK,KAAMD,IAC9I,OAAOF,GAIRzB,EAAoB6B,EAAI,SAAS1B,GAChC,IAAIS,EAAST,GAAUA,EAAOqB,WAC7B,WAAwB,OAAOrB,EAAgB,SAC/C,WAA8B,OAAOA,GAEtC,OADAH,EAAoBU,EAAEE,EAAQ,IAAKA,GAC5BA,GAIRZ,EAAoBa,EAAI,SAASiB,EAAQC,GAAY,OAAOjB,OAAOkB,UAAUC,eAAe1B,KAAKuB,EAAQC,IAGzG/B,EAAoBkC,EAAI,4EAIjBlC,EAAoBA,EAAoBmC,EAAI,I,sEClFrD,c,iBCAAC,WAAWC,OAAM,WAChBD,WAAWE,QAASC,YAAYC,SAAU,CAACC,OAAQ,0BAA2BC,MAAM,SAAWC,GAC9FC,OAAQ,2BAA4BC,OAAQ,2DAA6DF,EAAQ","file":"ctct-plugin-recaptcha.min.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"https://testing.test/wp-content/plugins/constant-contact-forms/assets/js/\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s =
|
1 |
+
{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./assets/js/ctct-plugin-recaptcha/index.js","webpack:///./assets/js/ctct-plugin-recaptcha/recaptcha.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","grecaptcha","ready","execute","recaptchav3","site_key","action","then","token","jQuery","append"],"mappings":"aACE,IAAIA,EAAmB,GAGvB,SAASC,EAAoBC,GAG5B,GAAGF,EAAiBE,GACnB,OAAOF,EAAiBE,GAAUC,QAGnC,IAAIC,EAASJ,EAAiBE,GAAY,CACzCG,EAAGH,EACHI,GAAG,EACHH,QAAS,IAUV,OANAI,EAAQL,GAAUM,KAAKJ,EAAOD,QAASC,EAAQA,EAAOD,QAASF,GAG/DG,EAAOE,GAAI,EAGJF,EAAOD,QAKfF,EAAoBQ,EAAIF,EAGxBN,EAAoBS,EAAIV,EAGxBC,EAAoBU,EAAI,SAASR,EAASS,EAAMC,GAC3CZ,EAAoBa,EAAEX,EAASS,IAClCG,OAAOC,eAAeb,EAASS,EAAM,CAAEK,YAAY,EAAMC,IAAKL,KAKhEZ,EAAoBkB,EAAI,SAAShB,GACX,oBAAXiB,QAA0BA,OAAOC,aAC1CN,OAAOC,eAAeb,EAASiB,OAAOC,YAAa,CAAEC,MAAO,WAE7DP,OAAOC,eAAeb,EAAS,aAAc,CAAEmB,OAAO,KAQvDrB,EAAoBsB,EAAI,SAASD,EAAOE,GAEvC,GADU,EAAPA,IAAUF,EAAQrB,EAAoBqB,IAC/B,EAAPE,EAAU,OAAOF,EACpB,GAAW,EAAPE,GAA8B,iBAAVF,GAAsBA,GAASA,EAAMG,WAAY,OAAOH,EAChF,IAAII,EAAKX,OAAOY,OAAO,MAGvB,GAFA1B,EAAoBkB,EAAEO,GACtBX,OAAOC,eAAeU,EAAI,UAAW,CAAET,YAAY,EAAMK,MAAOA,IACtD,EAAPE,GAA4B,iBAATF,EAAmB,IAAI,IAAIM,KAAON,EAAOrB,EAAoBU,EAAEe,EAAIE,EAAK,SAASA,GAAO,OAAON,EAAMM,IAAQC,KAAK,KAAMD,IAC9I,OAAOF,GAIRzB,EAAoB6B,EAAI,SAAS1B,GAChC,IAAIS,EAAST,GAAUA,EAAOqB,WAC7B,WAAwB,OAAOrB,EAAgB,SAC/C,WAA8B,OAAOA,GAEtC,OADAH,EAAoBU,EAAEE,EAAQ,IAAKA,GAC5BA,GAIRZ,EAAoBa,EAAI,SAASiB,EAAQC,GAAY,OAAOjB,OAAOkB,UAAUC,eAAe1B,KAAKuB,EAAQC,IAGzG/B,EAAoBkC,EAAI,4EAIjBlC,EAAoBA,EAAoBmC,EAAI,I,sEClFrD,c,iBCAAC,WAAWC,OAAM,WAChBD,WAAWE,QAASC,YAAYC,SAAU,CAACC,OAAQ,0BAA2BC,MAAM,SAAWC,GAC9FC,OAAQ,2BAA4BC,OAAQ,2DAA6DF,EAAQ","file":"ctct-plugin-recaptcha.min.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"https://testing.test/wp-content/plugins/constant-contact-forms/assets/js/\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 14);\n","// This is the entry point for reCAPTCHA JS. Add JavaScript imports here.\nimport './recaptcha';\n","grecaptcha.ready(function () {\n\tgrecaptcha.execute( recaptchav3.site_key, {action: 'constantcontactsubmit'} ).then( function ( token ) {\n\t\tjQuery( '.ctct-form-wrapper form' ).append( '<input type=\"hidden\" name=\"g-recaptcha-response\" value=\"' + token + '\">' );\n\t});\n});\n"],"sourceRoot":""}
|
assets/sass/_admin-about.scss
ADDED
@@ -0,0 +1,106 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
//--------------------------------------------------------------
|
2 |
+
// About Page
|
3 |
+
//--------------------------------------------------------------
|
4 |
+
|
5 |
+
.constant-contact-about {
|
6 |
+
|
7 |
+
.ctct-section{
|
8 |
+
margin: 0 0 30px;
|
9 |
+
}
|
10 |
+
|
11 |
+
.ctct-video-cta{
|
12 |
+
padding: 0;
|
13 |
+
@include wider-than('small') {
|
14 |
+
display: flex;
|
15 |
+
align-items: center;
|
16 |
+
justify-content: space-between;
|
17 |
+
width: 100%;
|
18 |
+
|
19 |
+
> div{
|
20 |
+
width: calc(50% - 15px);
|
21 |
+
}
|
22 |
+
}
|
23 |
+
|
24 |
+
h3{
|
25 |
+
@include wider-than('small') {
|
26 |
+
margin: 0 0 15px;
|
27 |
+
}
|
28 |
+
}
|
29 |
+
}
|
30 |
+
|
31 |
+
ul {
|
32 |
+
list-style: disc;
|
33 |
+
padding-left: 24px;
|
34 |
+
}
|
35 |
+
|
36 |
+
.section-try-us{
|
37 |
+
padding: 20px;
|
38 |
+
border-radius: $radius;
|
39 |
+
background-color: $color-white;
|
40 |
+
border: 1px solid $color-silver;
|
41 |
+
|
42 |
+
h2, p{
|
43 |
+
margin: 0 0 15px;
|
44 |
+
}
|
45 |
+
|
46 |
+
hr{
|
47 |
+
margin: 20px 0;
|
48 |
+
}
|
49 |
+
|
50 |
+
.ctct-try-us-cta{
|
51 |
+
display: flex;
|
52 |
+
align-items: center;
|
53 |
+
|
54 |
+
p{
|
55 |
+
margin: 0;
|
56 |
+
}
|
57 |
+
|
58 |
+
.item{
|
59 |
+
margin: 0 15px 0 0;
|
60 |
+
font-size: 14px;
|
61 |
+
}
|
62 |
+
}
|
63 |
+
|
64 |
+
.button {
|
65 |
+
border-radius: 4px;
|
66 |
+
color: $color-white;
|
67 |
+
font-size: 16px;
|
68 |
+
font-weight: 600;
|
69 |
+
height: auto;
|
70 |
+
line-height: 1;
|
71 |
+
min-width: 180px;
|
72 |
+
padding: 14px 30px;
|
73 |
+
text-align: center;
|
74 |
+
|
75 |
+
&.button-orange {
|
76 |
+
background-color: $color-chrome-yellow;
|
77 |
+
border: 1px solid darken($color-chrome-yellow, 10%);
|
78 |
+
|
79 |
+
&:hover,
|
80 |
+
&:focus {
|
81 |
+
background-color: darken($color-chrome-yellow, 10%);
|
82 |
+
}
|
83 |
+
}
|
84 |
+
|
85 |
+
&.button-blue {
|
86 |
+
background-color: $color-prussian-blue;
|
87 |
+
border: 1px solid darken($color-prussian-blue, 10%);
|
88 |
+
|
89 |
+
&:hover,
|
90 |
+
&:focus {
|
91 |
+
background-color: darken($color-prussian-blue, 10%);
|
92 |
+
}
|
93 |
+
}
|
94 |
+
}
|
95 |
+
}
|
96 |
+
|
97 |
+
.ctct-license{
|
98 |
+
margin-top: 30px;
|
99 |
+
padding: 20px 0 0;
|
100 |
+
border-top: 1px solid $color-silver;
|
101 |
+
}
|
102 |
+
|
103 |
+
.small-text{
|
104 |
+
max-width: 800px;
|
105 |
+
}
|
106 |
+
}
|
assets/sass/_admin-connect.scss
ADDED
@@ -0,0 +1,309 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
// sass-lint:disable class-name-format no-qualifying-elements id-name-format
|
2 |
+
|
3 |
+
#adminmenu .wp-submenu a[href='edit.php?post_type=ctct_forms&page=ctct_options_connect'] {
|
4 |
+
color: $color-light-green;
|
5 |
+
}
|
6 |
+
|
7 |
+
//--------------------------------------------------------------
|
8 |
+
// Connect/Disconnect Page
|
9 |
+
//--------------------------------------------------------------
|
10 |
+
|
11 |
+
.wrap.ctct_options_connect {
|
12 |
+
box-sizing: border-box;
|
13 |
+
|
14 |
+
* {
|
15 |
+
box-sizing: border-box;
|
16 |
+
}
|
17 |
+
margin: 35px auto 0;
|
18 |
+
padding: 35px;
|
19 |
+
@include wider-than('small') {
|
20 |
+
margin: 55px auto 0;
|
21 |
+
}
|
22 |
+
max-width: 850px;
|
23 |
+
position: relative;
|
24 |
+
background-color: $color-white;
|
25 |
+
border: 1px solid $color-silver;
|
26 |
+
border-radius: 8px;
|
27 |
+
box-shadow: $shadow_lg;
|
28 |
+
text-align: center;
|
29 |
+
z-index: 1;
|
30 |
+
|
31 |
+
&.text-left{
|
32 |
+
text-align: left;
|
33 |
+
}
|
34 |
+
|
35 |
+
&::before{
|
36 |
+
width: 46px;
|
37 |
+
height: 46px;
|
38 |
+
position: absolute;
|
39 |
+
left: 50%;
|
40 |
+
top: -23px;
|
41 |
+
margin-left: -23px;
|
42 |
+
display: block;
|
43 |
+
border-radius: 100%;
|
44 |
+
content: '';
|
45 |
+
z-index: -1;
|
46 |
+
border-top: 1px solid $color-silver;
|
47 |
+
background: $color-white url( ../images/ctct-icon-2x.png ) no-repeat center 45%;
|
48 |
+
}
|
49 |
+
|
50 |
+
h2{
|
51 |
+
font-size: 24px;
|
52 |
+
font-weight: 700;
|
53 |
+
margin: 0 0 15px;
|
54 |
+
padding: 0;
|
55 |
+
|
56 |
+
+ p {
|
57 |
+
font-size: 16px;
|
58 |
+
margin: 0 0 25px;
|
59 |
+
padding: 0 10% 25px;
|
60 |
+
position: relative;
|
61 |
+
|
62 |
+
&::after{
|
63 |
+
position: absolute;
|
64 |
+
content: '';
|
65 |
+
height: 1px;
|
66 |
+
width: 50px;
|
67 |
+
left: 50%;
|
68 |
+
bottom: 0;
|
69 |
+
margin-left: -25px;
|
70 |
+
background-color: $color-silver;
|
71 |
+
}
|
72 |
+
}
|
73 |
+
}
|
74 |
+
|
75 |
+
.ctct-connected-wrap{
|
76 |
+
padding: 45px 35px;
|
77 |
+
background-color: $color-lighter-gray;
|
78 |
+
border-radius: $radius;
|
79 |
+
}
|
80 |
+
|
81 |
+
.ctct-call-to-actions{
|
82 |
+
display: flex;
|
83 |
+
flex-wrap: wrap;
|
84 |
+
width: 100%;
|
85 |
+
justify-content: space-between;
|
86 |
+
|
87 |
+
&--item {
|
88 |
+
width: 100%;
|
89 |
+
margin: 0 0 25px;
|
90 |
+
@include wider-than('small') {
|
91 |
+
width: calc(50% - 5px);
|
92 |
+
}
|
93 |
+
padding: 30px 25px 25px;
|
94 |
+
background-color: $color-lighter-gray;
|
95 |
+
display: flex;
|
96 |
+
justify-content: center;
|
97 |
+
flex-wrap: wrap;
|
98 |
+
border-radius: 6px;
|
99 |
+
border: 1px solid $color-light-gray;
|
100 |
+
transition: all 0.15s ease;
|
101 |
+
|
102 |
+
&:hover{
|
103 |
+
box-shadow: $shadow_lg;
|
104 |
+
}
|
105 |
+
|
106 |
+
&.connect-account{
|
107 |
+
border-color: #d1dfe8;
|
108 |
+
background-color:#f5faff;
|
109 |
+
|
110 |
+
&:hover{
|
111 |
+
border-color: #90afc3;
|
112 |
+
}
|
113 |
+
}
|
114 |
+
|
115 |
+
&.no-account{
|
116 |
+
border-color: #e2d9c4;
|
117 |
+
background-color:#fff8e9;
|
118 |
+
|
119 |
+
&:hover{
|
120 |
+
border-color: #c7ba9a;
|
121 |
+
}
|
122 |
+
}
|
123 |
+
|
124 |
+
p{
|
125 |
+
margin-bottom: 15px;
|
126 |
+
line-height: 1.6;
|
127 |
+
padding: 0 5px;
|
128 |
+
}
|
129 |
+
}
|
130 |
+
}
|
131 |
+
|
132 |
+
h3 {
|
133 |
+
font-size: 16px;
|
134 |
+
font-weight: 700;
|
135 |
+
line-height: 1.55;
|
136 |
+
margin: 0 0 10px;
|
137 |
+
}
|
138 |
+
|
139 |
+
p {
|
140 |
+
color: $color-modal-alt-text;
|
141 |
+
font-size: 14px;
|
142 |
+
margin-top: 0;
|
143 |
+
|
144 |
+
&.small {
|
145 |
+
color: $color-light-silver;
|
146 |
+
font-size: 12px;
|
147 |
+
margin: 0 auto;
|
148 |
+
padding: 0 10%;
|
149 |
+
line-height: 1.75;
|
150 |
+
text-align: center;
|
151 |
+
}
|
152 |
+
}
|
153 |
+
|
154 |
+
hr{
|
155 |
+
margin: 35px 0;
|
156 |
+
}
|
157 |
+
|
158 |
+
.button.ctct-button {
|
159 |
+
border-radius: 4px;
|
160 |
+
color: $color-prussian-blue;
|
161 |
+
font-size: 16px;
|
162 |
+
font-weight: 600;
|
163 |
+
height: auto;
|
164 |
+
line-height: 1;
|
165 |
+
margin: 25px 0 0;
|
166 |
+
min-width: 180px;
|
167 |
+
padding: 14px 30px;
|
168 |
+
align-self: flex-end;
|
169 |
+
width: 100%;
|
170 |
+
transition: all 0.15s ease;
|
171 |
+
|
172 |
+
&.button-orange {
|
173 |
+
background-color: $color-chrome-yellow;
|
174 |
+
border: 1px solid darken($color-chrome-yellow, 10%);
|
175 |
+
color: $color-white;
|
176 |
+
|
177 |
+
&:hover,
|
178 |
+
&:focus {
|
179 |
+
color: $color-white;
|
180 |
+
background-color: lighten($color-chrome-yellow, 10%);
|
181 |
+
}
|
182 |
+
}
|
183 |
+
|
184 |
+
&.button-blue {
|
185 |
+
background-color: $color-prussian-blue;
|
186 |
+
border: 1px solid darken($color-prussian-blue, 10%);
|
187 |
+
color: $color-white;
|
188 |
+
|
189 |
+
&:hover,
|
190 |
+
&:focus {
|
191 |
+
color: $color-white;
|
192 |
+
background-color: lighten($color-prussian-blue, 10%);
|
193 |
+
}
|
194 |
+
}
|
195 |
+
}
|
196 |
+
}
|
197 |
+
|
198 |
+
|
199 |
+
// Connection Details
|
200 |
+
|
201 |
+
.ctct-connected-wrap{
|
202 |
+
|
203 |
+
.ctct-connection-details{
|
204 |
+
display: flex;
|
205 |
+
text-align: left;
|
206 |
+
margin: 10px 0 0;
|
207 |
+
|
208 |
+
> p,
|
209 |
+
form{
|
210 |
+
padding: 0 10px;
|
211 |
+
width: 50%;
|
212 |
+
text-align: left;
|
213 |
+
display: flex;
|
214 |
+
align-items: center;
|
215 |
+
margin: 0;
|
216 |
+
|
217 |
+
&:not(form):first-of-type{
|
218 |
+
text-align: right;
|
219 |
+
}
|
220 |
+
|
221 |
+
input{
|
222 |
+
position: relative;
|
223 |
+
top: 2px;
|
224 |
+
}
|
225 |
+
}
|
226 |
+
|
227 |
+
p{
|
228 |
+
overflow: hidden;
|
229 |
+
white-space: nowrap;
|
230 |
+
text-overflow: ellipsis;
|
231 |
+
|
232 |
+
&.ctct-label{
|
233 |
+
justify-content: flex-end;
|
234 |
+
}
|
235 |
+
}
|
236 |
+
}
|
237 |
+
}
|
238 |
+
|
239 |
+
// Getting Started/ Next Steps
|
240 |
+
|
241 |
+
.ctct-connected-next-step{
|
242 |
+
text-align: left;
|
243 |
+
display: flex;
|
244 |
+
flex-wrap: wrap;
|
245 |
+
justify-content: space-between;
|
246 |
+
align-items: center;
|
247 |
+
width: 100%;
|
248 |
+
|
249 |
+
p{
|
250 |
+
margin: 0 0 15px;
|
251 |
+
}
|
252 |
+
|
253 |
+
> div{
|
254 |
+
width: 100%;
|
255 |
+
@include wider-than('small') {
|
256 |
+
width: calc(50% - 10px);
|
257 |
+
}
|
258 |
+
}
|
259 |
+
|
260 |
+
.ctct-video{
|
261 |
+
margin-bottom: 15px;
|
262 |
+
@include wider-than('small') {
|
263 |
+
margin-bottom: 0;
|
264 |
+
padding-right: 5px;
|
265 |
+
}
|
266 |
+
|
267 |
+
.wistia_embed{
|
268 |
+
max-width: 100%;
|
269 |
+
border-radius: $radius;
|
270 |
+
overflow: hidden;
|
271 |
+
}
|
272 |
+
}
|
273 |
+
}
|
274 |
+
|
275 |
+
|
276 |
+
// Connect to GA
|
277 |
+
|
278 |
+
.ctct-connected-opt-in{
|
279 |
+
display: none;
|
280 |
+
width: 100%;
|
281 |
+
text-align: left;
|
282 |
+
|
283 |
+
.ctct-connect-ga-optin{
|
284 |
+
display: flex;
|
285 |
+
flex-wrap: nowrap;
|
286 |
+
padding: 15px 0 0;
|
287 |
+
|
288 |
+
.button{
|
289 |
+
text-align: center;
|
290 |
+
margin: 0 10px 0 0;
|
291 |
+
width: auto;
|
292 |
+
}
|
293 |
+
}
|
294 |
+
}
|
295 |
+
|
296 |
+
.ctct-error {
|
297 |
+
background: none !important;
|
298 |
+
border: 1px solid $color-red;
|
299 |
+
border-radius: $radius;
|
300 |
+
box-shadow: none !important;
|
301 |
+
display: inline-block;
|
302 |
+
padding: 15px;
|
303 |
+
margin: 0 0 25px 0 !important;
|
304 |
+
|
305 |
+
p {
|
306 |
+
color: $color-red !important;
|
307 |
+
}
|
308 |
+
|
309 |
+
}
|
assets/sass/_admin-debug.scss
ADDED
@@ -0,0 +1,11 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
.ctct_options_logging {
|
2 |
+
|
3 |
+
#ctct_error_logs {
|
4 |
+
height: 400px;
|
5 |
+
resize: vertical;
|
6 |
+
width: 100%;
|
7 |
+
padding: 20px;
|
8 |
+
margin: 10px 0 20px;
|
9 |
+
background-color: $color-white;
|
10 |
+
}
|
11 |
+
}
|
assets/sass/_admin-forms.scss
CHANGED
@@ -1,6 +1,11 @@
|
|
1 |
// sass-lint:disable class-name-format no-qualifying-elements id-name-format
|
|
|
2 |
.post-type-ctct_forms {
|
3 |
|
|
|
|
|
|
|
|
|
4 |
.misc-pub-section {
|
5 |
|
6 |
&.misc-pub-visibility,
|
@@ -11,8 +16,8 @@
|
|
11 |
}
|
12 |
|
13 |
body.post-type-ctct_lists .misc-pub-post-status {
|
14 |
-
display: none;
|
15 |
-
}
|
16 |
|
17 |
body.post-type-ctct_forms #titlediv #title {
|
18 |
height: 2.7em;
|
@@ -21,7 +26,7 @@ body.post-type-ctct_forms #titlediv #title {
|
|
21 |
.ctct-admin-title-details {
|
22 |
display: block;
|
23 |
font-size: 0.6rem;
|
24 |
-
line-height:
|
25 |
}
|
26 |
|
27 |
#cmb2-metabox-ctct_1_optin_metabox {
|
@@ -69,21 +74,21 @@ body.post-type-ctct_forms #titlediv #title {
|
|
69 |
.required {
|
70 |
padding-bottom: 0.1em;
|
71 |
padding-top: 0.1em;
|
72 |
-
}
|
73 |
-
}
|
74 |
|
75 |
#default_fields_group_repeat {
|
76 |
|
77 |
.cmb-field-list {
|
78 |
|
79 |
-
|
80 |
padding-top: 0.5em;
|
81 |
|
82 |
&:not(:last-of-type) {
|
83 |
border-bottom: 1px solid $color-light-gray;
|
84 |
padding-bottom: 0.1rem;
|
85 |
}
|
86 |
-
}
|
87 |
}
|
88 |
}
|
89 |
|
@@ -98,7 +103,7 @@ body.post-type-ctct_forms #titlediv #title {
|
|
98 |
}
|
99 |
}
|
100 |
|
101 |
-
.cmb-repeat-group-field {
|
102 |
padding-top: 0.2em;
|
103 |
}
|
104 |
}
|
@@ -250,6 +255,7 @@ body.post-type-ctct_forms #titlediv #title {
|
|
250 |
//--------------------------------------------------------------
|
251 |
// TinyMCE Tweaks
|
252 |
//--------------------------------------------------------------
|
|
|
253 |
.ui-dialog .cmb-type-checkbox {
|
254 |
|
255 |
&.cmb2-id--ctct-show-title {
|
1 |
// sass-lint:disable class-name-format no-qualifying-elements id-name-format
|
2 |
+
|
3 |
.post-type-ctct_forms {
|
4 |
|
5 |
+
img {
|
6 |
+
max-width: 100%;
|
7 |
+
}
|
8 |
+
|
9 |
.misc-pub-section {
|
10 |
|
11 |
&.misc-pub-visibility,
|
16 |
}
|
17 |
|
18 |
body.post-type-ctct_lists .misc-pub-post-status {
|
19 |
+
display: none;
|
20 |
+
}
|
21 |
|
22 |
body.post-type-ctct_forms #titlediv #title {
|
23 |
height: 2.7em;
|
26 |
.ctct-admin-title-details {
|
27 |
display: block;
|
28 |
font-size: 0.6rem;
|
29 |
+
line-height: 2;
|
30 |
}
|
31 |
|
32 |
#cmb2-metabox-ctct_1_optin_metabox {
|
74 |
.required {
|
75 |
padding-bottom: 0.1em;
|
76 |
padding-top: 0.1em;
|
77 |
+
}
|
78 |
+
}
|
79 |
|
80 |
#default_fields_group_repeat {
|
81 |
|
82 |
.cmb-field-list {
|
83 |
|
84 |
+
> .cmb-row {
|
85 |
padding-top: 0.5em;
|
86 |
|
87 |
&:not(:last-of-type) {
|
88 |
border-bottom: 1px solid $color-light-gray;
|
89 |
padding-bottom: 0.1rem;
|
90 |
}
|
91 |
+
}
|
92 |
}
|
93 |
}
|
94 |
|
103 |
}
|
104 |
}
|
105 |
|
106 |
+
.cmb-repeat-group-field {
|
107 |
padding-top: 0.2em;
|
108 |
}
|
109 |
}
|
255 |
//--------------------------------------------------------------
|
256 |
// TinyMCE Tweaks
|
257 |
//--------------------------------------------------------------
|
258 |
+
|
259 |
.ui-dialog .cmb-type-checkbox {
|
260 |
|
261 |
&.cmb2-id--ctct-show-title {
|
assets/sass/_admin-global-no-connection.scss
DELETED
@@ -1,302 +0,0 @@
|
|
1 |
-
// sass-lint:disable class-name-format no-qualifying-elements id-name-format
|
2 |
-
#adminmenu .wp-submenu a[href='edit.php?post_type=ctct_forms&page=ctct_options_connect'] {
|
3 |
-
color: $color-light-green;
|
4 |
-
}
|
5 |
-
|
6 |
-
//--------------------------------------------------------------
|
7 |
-
// Connect Page
|
8 |
-
//--------------------------------------------------------------
|
9 |
-
.ctct_options_connect {
|
10 |
-
box-sizing: border-box;
|
11 |
-
padding: 70px;
|
12 |
-
text-align: center;
|
13 |
-
width: 100%;
|
14 |
-
|
15 |
-
hr {
|
16 |
-
margin-bottom: 45px;
|
17 |
-
}
|
18 |
-
|
19 |
-
@media screen and (max-width: 782px) {
|
20 |
-
margin-left: -10px;
|
21 |
-
padding: 30px 30px 0;
|
22 |
-
}
|
23 |
-
|
24 |
-
.ctct-call-to-action {
|
25 |
-
margin-bottom: 45px;
|
26 |
-
overflow: hidden;
|
27 |
-
text-align: left;
|
28 |
-
width: 100%;
|
29 |
-
|
30 |
-
p {
|
31 |
-
float: left;
|
32 |
-
margin: 0;
|
33 |
-
}
|
34 |
-
|
35 |
-
a {
|
36 |
-
float: right;
|
37 |
-
text-align: center;
|
38 |
-
|
39 |
-
&:focus {
|
40 |
-
outline: 1px dotted $color-black;
|
41 |
-
}
|
42 |
-
|
43 |
-
@media screen and (max-width: 782px) {
|
44 |
-
float: none;
|
45 |
-
}
|
46 |
-
}
|
47 |
-
|
48 |
-
.ctct-call-to-action-text {
|
49 |
-
|
50 |
-
a {
|
51 |
-
float: none;
|
52 |
-
|
53 |
-
&:focus {
|
54 |
-
outline: 1px dotted $color-black;
|
55 |
-
}
|
56 |
-
}
|
57 |
-
|
58 |
-
small {
|
59 |
-
line-height: 1.2px;
|
60 |
-
}
|
61 |
-
}
|
62 |
-
|
63 |
-
#subbox {
|
64 |
-
height: 40px;
|
65 |
-
margin: 15px 0;
|
66 |
-
width: 50%;
|
67 |
-
}
|
68 |
-
|
69 |
-
#subbutton {
|
70 |
-
color: $color-prussian-blue;
|
71 |
-
float: right;
|
72 |
-
|
73 |
-
@media screen and (max-width: 782px) {
|
74 |
-
float: none;
|
75 |
-
}
|
76 |
-
}
|
77 |
-
}
|
78 |
-
|
79 |
-
img {
|
80 |
-
height: auto;
|
81 |
-
max-width: 400px;
|
82 |
-
width: 100%;
|
83 |
-
}
|
84 |
-
|
85 |
-
h3 {
|
86 |
-
color: darken($color-prussian-blue, 10%);
|
87 |
-
font-size: 20px;
|
88 |
-
line-height: 1.2;
|
89 |
-
margin-bottom: 10px;
|
90 |
-
margin-top: 10px;
|
91 |
-
}
|
92 |
-
|
93 |
-
p {
|
94 |
-
color: $color-modal-alt-text;
|
95 |
-
font-size: 14.7px;
|
96 |
-
margin: 0;
|
97 |
-
|
98 |
-
&.ctct-description {
|
99 |
-
font-size: 16px;
|
100 |
-
margin-bottom: 50px;
|
101 |
-
margin-top: 5px;
|
102 |
-
}
|
103 |
-
|
104 |
-
&.small {
|
105 |
-
color: $color-light-silver;
|
106 |
-
font-size: 13.3px;
|
107 |
-
margin: 15px auto 0;
|
108 |
-
|
109 |
-
@media screen and (max-width: 782px) {
|
110 |
-
max-width: 100%;
|
111 |
-
}
|
112 |
-
}
|
113 |
-
}
|
114 |
-
|
115 |
-
.ctct-body {
|
116 |
-
@include clearfix;
|
117 |
-
margin: 0 auto;
|
118 |
-
max-width: 75%;
|
119 |
-
overflow-y: hidden;
|
120 |
-
position: relative;
|
121 |
-
|
122 |
-
.ctct-call-to-action-text {
|
123 |
-
float: left;
|
124 |
-
width: 75%;
|
125 |
-
|
126 |
-
@media screen and (max-width: 782px) {
|
127 |
-
width: 100%;
|
128 |
-
}
|
129 |
-
|
130 |
-
h3 {
|
131 |
-
margin-top: 0;
|
132 |
-
}
|
133 |
-
}
|
134 |
-
|
135 |
-
.clear {
|
136 |
-
clear: both;
|
137 |
-
height: 0;
|
138 |
-
width: 100%;
|
139 |
-
}
|
140 |
-
|
141 |
-
.left,
|
142 |
-
.right {
|
143 |
-
box-sizing: border-box;
|
144 |
-
float: left;
|
145 |
-
margin-bottom: -500px;
|
146 |
-
padding: 15px 0 520px;
|
147 |
-
text-align: center;
|
148 |
-
width: 50%;
|
149 |
-
|
150 |
-
@media screen and (max-width: 782px) {
|
151 |
-
float: none;
|
152 |
-
margin-bottom: 0;
|
153 |
-
padding: 15px 0;
|
154 |
-
width: 100%;
|
155 |
-
}
|
156 |
-
|
157 |
-
img,
|
158 |
-
svg {
|
159 |
-
&.flare {
|
160 |
-
height: auto;
|
161 |
-
width: 180px;
|
162 |
-
}
|
163 |
-
}
|
164 |
-
}
|
165 |
-
|
166 |
-
.left {
|
167 |
-
border-right: 1px solid $color-silver;
|
168 |
-
padding-right: 70px;
|
169 |
-
|
170 |
-
@media screen and (max-width: 782px) {
|
171 |
-
border-bottom: 1px solid $color-silver;
|
172 |
-
border-right: 0;
|
173 |
-
padding-bottom: 30px;
|
174 |
-
padding-right: 0;
|
175 |
-
}
|
176 |
-
|
177 |
-
p {
|
178 |
-
margin: 0 auto 25px;
|
179 |
-
max-width: 220px;
|
180 |
-
|
181 |
-
@media screen and (max-width: 782px) {
|
182 |
-
max-width: 100%;
|
183 |
-
}
|
184 |
-
}
|
185 |
-
}
|
186 |
-
|
187 |
-
.right {
|
188 |
-
padding-left: 70px;
|
189 |
-
|
190 |
-
@media screen and (max-width: 782px) {
|
191 |
-
padding-left: 0;
|
192 |
-
padding-top: 30px;
|
193 |
-
}
|
194 |
-
|
195 |
-
p {
|
196 |
-
display: block;
|
197 |
-
margin: 0 auto 25px;
|
198 |
-
max-width: 350px;
|
199 |
-
|
200 |
-
@media screen and (max-width: 782px) {
|
201 |
-
max-width: 100%;
|
202 |
-
}
|
203 |
-
}
|
204 |
-
}
|
205 |
-
|
206 |
-
.button {
|
207 |
-
border-radius: 4px;
|
208 |
-
color: $color-white;
|
209 |
-
font-size: 16px;
|
210 |
-
font-weight: 600;
|
211 |
-
height: auto;
|
212 |
-
line-height: 1;
|
213 |
-
margin-bottom: 10px;
|
214 |
-
min-width: 180px;
|
215 |
-
padding: 14px 30px;
|
216 |
-
|
217 |
-
&.button-orange {
|
218 |
-
background-color: $color-chrome-yellow;
|
219 |
-
border: 1px solid darken($color-chrome-yellow, 10%);
|
220 |
-
|
221 |
-
&:hover,
|
222 |
-
&:focus {
|
223 |
-
background-color: darken($color-chrome-yellow, 10%);
|
224 |
-
}
|
225 |
-
}
|
226 |
-
|
227 |
-
&.button-blue {
|
228 |
-
background-color: $color-prussian-blue;
|
229 |
-
border: 1px solid darken($color-prussian-blue, 10%);
|
230 |
-
|
231 |
-
&:hover,
|
232 |
-
&:focus {
|
233 |
-
background-color: darken($color-prussian-blue, 10%);
|
234 |
-
}
|
235 |
-
}
|
236 |
-
}
|
237 |
-
|
238 |
-
.ctct-connected {
|
239 |
-
|
240 |
-
.ctct-connected-next-step {
|
241 |
-
margin-bottom: 40px;
|
242 |
-
|
243 |
-
h3 {
|
244 |
-
color: $color-green;
|
245 |
-
}
|
246 |
-
}
|
247 |
-
|
248 |
-
.ctct-disconnect-text {
|
249 |
-
float: left;
|
250 |
-
margin-bottom: 50px;
|
251 |
-
overflow: hidden;
|
252 |
-
text-align: left;
|
253 |
-
}
|
254 |
-
|
255 |
-
form {
|
256 |
-
float: right;
|
257 |
-
}
|
258 |
-
|
259 |
-
.button {
|
260 |
-
color: $color-prussian-blue;
|
261 |
-
|
262 |
-
&.button-blue {
|
263 |
-
color: $color-white;
|
264 |
-
}
|
265 |
-
}
|
266 |
-
|
267 |
-
.ctct-connected-next-step {
|
268 |
-
clear: both;
|
269 |
-
}
|
270 |
-
|
271 |
-
.ctct-connect-ga-optin {
|
272 |
-
margin-top: 15px;
|
273 |
-
}
|
274 |
-
|
275 |
-
@media screen and (max-width: 782px) {
|
276 |
-
|
277 |
-
.ctct-disconnect-text {
|
278 |
-
float: none;
|
279 |
-
text-align: center;
|
280 |
-
}
|
281 |
-
|
282 |
-
form {
|
283 |
-
float: none;
|
284 |
-
}
|
285 |
-
}
|
286 |
-
}
|
287 |
-
}
|
288 |
-
}
|
289 |
-
|
290 |
-
.ctct-error {
|
291 |
-
background: none !important;
|
292 |
-
border: 1px solid $color-red;
|
293 |
-
border-radius: 3px;
|
294 |
-
box-shadow: none !important;
|
295 |
-
display: inline-block;
|
296 |
-
margin: 0 0 20px 0 !important;
|
297 |
-
|
298 |
-
p {
|
299 |
-
color: $color-red !important;
|
300 |
-
}
|
301 |
-
|
302 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
assets/sass/_admin-gutenberg.scss
CHANGED
@@ -2,6 +2,7 @@
|
|
2 |
//--------------------------------------------------------------
|
3 |
// Gutenberg Admin
|
4 |
//--------------------------------------------------------------
|
|
|
5 |
.ctct-block-title {
|
6 |
margin: 0;
|
7 |
}
|
@@ -27,6 +28,7 @@
|
|
27 |
|
28 |
&--header {
|
29 |
margin: 0 0 10px;
|
|
|
30 |
img {
|
31 |
max-width: 280px;
|
32 |
display: block;
|
@@ -38,6 +40,7 @@
|
|
38 |
background-color: rgba(255, 255, 255, 0.1);
|
39 |
border-radius: 4px;
|
40 |
margin: 20px 0 0;
|
|
|
41 |
small {
|
42 |
opacity: 0.8;
|
43 |
font-size: 14px;
|
@@ -46,6 +49,7 @@
|
|
46 |
display: block;
|
47 |
}
|
48 |
}
|
|
|
49 |
&--component {
|
50 |
max-width: 400px;
|
51 |
width: 100%;
|
2 |
//--------------------------------------------------------------
|
3 |
// Gutenberg Admin
|
4 |
//--------------------------------------------------------------
|
5 |
+
|
6 |
.ctct-block-title {
|
7 |
margin: 0;
|
8 |
}
|
28 |
|
29 |
&--header {
|
30 |
margin: 0 0 10px;
|
31 |
+
|
32 |
img {
|
33 |
max-width: 280px;
|
34 |
display: block;
|
40 |
background-color: rgba(255, 255, 255, 0.1);
|
41 |
border-radius: 4px;
|
42 |
margin: 20px 0 0;
|
43 |
+
|
44 |
small {
|
45 |
opacity: 0.8;
|
46 |
font-size: 14px;
|
49 |
display: block;
|
50 |
}
|
51 |
}
|
52 |
+
|
53 |
&--component {
|
54 |
max-width: 400px;
|
55 |
width: 100%;
|
assets/sass/_admin-notices.scss
CHANGED
@@ -1,4 +1,5 @@
|
|
1 |
// sass-lint:disable class-name-format no-qualifying-elements id-name-format
|
|
|
2 |
.updated.ctct-admin-notice,
|
3 |
.error.ctct-admin-notice {
|
4 |
padding: 1rem 38px 1rem 1rem;
|
@@ -9,12 +10,12 @@ a.ctct-notice-dismiss {
|
|
9 |
text-decoration: none;
|
10 |
}
|
11 |
|
12 |
-
#ctct-admin-notice-activation {
|
13 |
padding: 1rem 1rem 0 1rem;
|
14 |
|
15 |
.ctct-notice-intro {
|
16 |
-
line-height: 1.
|
17 |
-
max-width: 600px;
|
18 |
}
|
19 |
|
20 |
.ctct-notice-button,
|
1 |
// sass-lint:disable class-name-format no-qualifying-elements id-name-format
|
2 |
+
|
3 |
.updated.ctct-admin-notice,
|
4 |
.error.ctct-admin-notice {
|
5 |
padding: 1rem 38px 1rem 1rem;
|
10 |
text-decoration: none;
|
11 |
}
|
12 |
|
13 |
+
#ctct-admin-notice-activation {
|
14 |
padding: 1rem 1rem 0 1rem;
|
15 |
|
16 |
.ctct-notice-intro {
|
17 |
+
line-height: 1.5;
|
18 |
+
max-width: 600px;
|
19 |
}
|
20 |
|
21 |
.ctct-notice-button,
|
assets/sass/_admin-pages.scss
CHANGED
@@ -1,332 +1,164 @@
|
|
1 |
// sass-lint:disable class-name-format no-qualifying-elements id-name-format
|
2 |
-
//--------------------------------------------------------------
|
3 |
-
// About Page
|
4 |
-
//--------------------------------------------------------------
|
5 |
-
.constant-contact-about {
|
6 |
-
padding: 15px;
|
7 |
-
|
8 |
-
@media screen and (max-width: 782px) {
|
9 |
-
padding: 0;
|
10 |
-
}
|
11 |
-
|
12 |
-
.ctct-section {
|
13 |
-
margin-bottom: 50px;
|
14 |
-
}
|
15 |
|
16 |
-
|
17 |
-
color: $color-cc-blue;
|
18 |
-
font-size: 26px;
|
19 |
-
margin: 0 0 15px 0;
|
20 |
-
}
|
21 |
|
22 |
-
|
23 |
-
padding: 20px 0;
|
24 |
-
}
|
25 |
-
|
26 |
-
p {
|
27 |
-
color: $color-modal-header;
|
28 |
-
font-size: 16px;
|
29 |
-
font-weight: 300;
|
30 |
-
}
|
31 |
|
32 |
-
|
33 |
-
clear: both;
|
34 |
-
height: 0;
|
35 |
-
width: 100%;
|
36 |
-
}
|
37 |
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
font-weight: 600;
|
43 |
-
height: auto;
|
44 |
-
line-height: 1;
|
45 |
-
margin-bottom: 10px;
|
46 |
-
min-width: 180px;
|
47 |
-
padding: 14px 30px;
|
48 |
-
text-align: center;
|
49 |
-
|
50 |
-
&.button-orange {
|
51 |
-
background-color: $color-chrome-yellow;
|
52 |
-
border: 1px solid darken($color-chrome-yellow, 10%);
|
53 |
-
|
54 |
-
&:hover,
|
55 |
-
&:focus {
|
56 |
-
background-color: darken($color-chrome-yellow, 10%);
|
57 |
-
}
|
58 |
}
|
|
|
59 |
|
60 |
-
|
61 |
-
|
62 |
-
border: 1px solid darken($color-prussian-blue, 10%);
|
63 |
-
|
64 |
-
&:hover,
|
65 |
-
&:focus {
|
66 |
-
background-color: darken($color-prussian-blue, 10%);
|
67 |
-
}
|
68 |
}
|
69 |
}
|
|
|
70 |
|
71 |
-
|
72 |
-
margin: 0 50px 0 0;
|
73 |
-
|
74 |
-
@media screen and (max-width: 482px) {
|
75 |
-
margin: 0;
|
76 |
-
}
|
77 |
-
}
|
78 |
|
79 |
-
|
80 |
-
float: left;
|
81 |
-
width: 49%;
|
82 |
-
}
|
83 |
|
84 |
-
.
|
85 |
-
max-width: 90%;
|
86 |
|
87 |
-
|
88 |
-
|
|
|
|
|
|
|
|
|
89 |
}
|
90 |
|
91 |
-
|
92 |
-
|
|
|
|
|
|
|
93 |
}
|
94 |
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
font-weight: 300;
|
99 |
-
}
|
100 |
-
}
|
101 |
|
102 |
-
|
103 |
-
|
104 |
-
|
105 |
-
}
|
106 |
|
107 |
-
|
108 |
-
|
109 |
-
|
110 |
-
}
|
111 |
|
112 |
-
|
113 |
-
|
114 |
-
|
115 |
-
|
116 |
-
overflow: hidden;
|
117 |
-
}
|
118 |
|
119 |
-
|
120 |
-
|
121 |
-
|
|
|
|
|
|
|
|
|
|
|
122 |
|
123 |
-
|
124 |
-
|
125 |
-
|
126 |
-
|
127 |
-
|
128 |
-
|
129 |
-
|
130 |
-
|
131 |
-
top: 80px;
|
132 |
-
width: 100%;
|
133 |
|
134 |
-
@media screen and (max-width: 482px) {
|
135 |
-
color: $color-cc-blue;
|
136 |
-
font-size: 26px;
|
137 |
-
line-height: 28px;
|
138 |
-
margin-top: 15px;
|
139 |
-
position: relative;
|
140 |
-
text-shadow: none;
|
141 |
-
top: 0;
|
142 |
}
|
143 |
}
|
144 |
|
145 |
-
|
146 |
-
|
147 |
-
|
148 |
-
margin: 0 auto;
|
149 |
-
position: absolute;
|
150 |
-
text-align: center;
|
151 |
-
text-shadow: 0 0 15px $color-black;
|
152 |
-
top: 120px;
|
153 |
-
width: 100%;
|
154 |
-
|
155 |
-
@media screen and (max-width: 482px) {
|
156 |
-
color: $color-cc-blue;
|
157 |
-
line-height: 1;
|
158 |
-
margin-top: 15px;
|
159 |
-
position: relative;
|
160 |
-
text-shadow: none;
|
161 |
-
top: 0;
|
162 |
-
}
|
163 |
}
|
164 |
|
165 |
-
.
|
166 |
-
overflow: hidden;
|
167 |
-
position: relative;
|
168 |
|
169 |
-
|
170 |
-
margin-top: 30px;
|
171 |
-
}
|
172 |
|
173 |
-
h2
|
174 |
-
|
175 |
-
|
176 |
-
font-weight: 400;
|
177 |
-
margin-top: 30px;
|
178 |
-
text-align: left;
|
179 |
}
|
180 |
-
}
|
181 |
-
|
182 |
-
.left-side {
|
183 |
-
box-sizing: border-box;
|
184 |
-
float: left;
|
185 |
-
padding-right: 160px;
|
186 |
|
187 |
-
|
188 |
-
|
|
|
|
|
189 |
}
|
190 |
-
}
|
191 |
-
|
192 |
-
.plugin-badge {
|
193 |
-
float: right;
|
194 |
-
margin-left: 40px;
|
195 |
-
max-height: 180px;
|
196 |
-
max-width: 160px;
|
197 |
|
198 |
-
|
199 |
-
|
|
|
200 |
}
|
201 |
-
}
|
202 |
|
203 |
-
.feature-image {
|
204 |
-
text-align: center;
|
205 |
}
|
206 |
-
}
|
207 |
-
.cc-a-block {
|
208 |
-
@include clearfix;
|
209 |
|
210 |
-
|
211 |
-
max-width: 90%;
|
212 |
-
padding: 50px 0;
|
213 |
-
text-align: center;
|
214 |
|
215 |
-
|
216 |
-
|
217 |
-
|
218 |
|
219 |
-
|
220 |
-
|
221 |
-
|
222 |
-
font-weight: 300;
|
223 |
-
height: 63px;
|
224 |
-
margin: 0 auto;
|
225 |
-
max-width: 70%;
|
226 |
-
|
227 |
-
@media screen and (max-width: 782px) {
|
228 |
-
height: auto;
|
229 |
-
max-width: 100%;
|
230 |
}
|
231 |
}
|
232 |
|
233 |
-
.
|
234 |
-
.right {
|
235 |
-
@include clearfix;
|
236 |
-
|
237 |
-
float: left;
|
238 |
-
width: 50%;
|
239 |
|
240 |
-
|
241 |
-
|
242 |
-
|
243 |
-
|
244 |
-
|
245 |
-
|
246 |
-
|
247 |
-
|
248 |
-
|
249 |
-
@media screen and (max-width: 482px) {
|
250 |
-
float: none;
|
251 |
-
width: 100%;
|
252 |
-
}
|
253 |
-
|
254 |
-
img {
|
255 |
-
height: auto;
|
256 |
-
width: 100%;
|
257 |
-
}
|
258 |
-
}
|
259 |
-
|
260 |
-
.ad-1 {
|
261 |
-
float: left;
|
262 |
-
|
263 |
-
h3 {
|
264 |
-
height: 47px;
|
265 |
-
padding-top: 35px;
|
266 |
-
}
|
267 |
-
}
|
268 |
|
269 |
-
|
270 |
-
|
271 |
}
|
272 |
-
}
|
273 |
-
}
|
274 |
-
|
275 |
-
.ctct-bonus-points {
|
276 |
-
color: #2b5e8c;
|
277 |
-
font-size: 16px;
|
278 |
-
font-weight: 300;
|
279 |
-
list-style: circle;
|
280 |
-
padding-left: 50px;
|
281 |
-
}
|
282 |
|
283 |
-
|
284 |
-
|
285 |
-
|
286 |
-
|
|
|
287 |
|
288 |
-
|
289 |
-
|
290 |
-
|
291 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
292 |
|
293 |
-
|
294 |
-
|
|
|
295 |
}
|
296 |
|
297 |
-
|
298 |
-
|
|
|
299 |
}
|
300 |
}
|
301 |
-
}
|
302 |
|
303 |
-
|
304 |
-
#subbox {
|
305 |
-
height: 40px;
|
306 |
-
width: 50%;
|
307 |
-
}
|
308 |
-
}
|
309 |
-
|
310 |
-
#cmb2-metabox-ctct_option_metabox_settings {
|
311 |
-
.regular-text {
|
312 |
-
width: 500px;
|
313 |
-
}
|
314 |
-
}
|
315 |
-
|
316 |
-
.cmb2-options-page {
|
317 |
-
&[class*="option-ctct_options_settings_"] {
|
318 |
-
.cmb2-metabox > .cmb-row {
|
319 |
-
background: transparent;
|
320 |
-
border: none;
|
321 |
-
box-shadow: none;
|
322 |
-
}
|
323 |
-
}
|
324 |
-
}
|
325 |
-
|
326 |
-
.ctct-body {
|
327 |
-
#ctct_error_logs {
|
328 |
-
height: 400px;
|
329 |
-
resize: vertical;
|
330 |
-
width: 100%;
|
331 |
-
}
|
332 |
-
}
|
1 |
// sass-lint:disable class-name-format no-qualifying-elements id-name-format
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
3 |
+
// Settings form table.
|
|
|
|
|
|
|
|
|
4 |
|
5 |
+
.cmb2-options-page {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6 |
|
7 |
+
&[class*="option-ctct_options_settings_"] {
|
|
|
|
|
|
|
|
|
8 |
|
9 |
+
.cmb2-metabox > .cmb-row {
|
10 |
+
background: transparent;
|
11 |
+
border: none;
|
12 |
+
box-shadow: none;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
13 |
}
|
14 |
+
// Text input
|
15 |
|
16 |
+
.regular-text {
|
17 |
+
width: 500px;
|
|
|
|
|
|
|
|
|
|
|
|
|
18 |
}
|
19 |
}
|
20 |
+
}
|
21 |
|
22 |
+
// Global admin styles.
|
|
|
|
|
|
|
|
|
|
|
|
|
23 |
|
24 |
+
.wp-admin{
|
|
|
|
|
|
|
25 |
|
26 |
+
// Settings/Debug/About Page.
|
|
|
27 |
|
28 |
+
.wrap.ctct-page-wrap{
|
29 |
+
max-width: 1000px;
|
30 |
+
margin: 0;
|
31 |
+
padding: 20px 10px 0 2px;
|
32 |
+
@include wider-than('small') {
|
33 |
+
padding-right: 20px;
|
34 |
}
|
35 |
|
36 |
+
> h2{
|
37 |
+
font-size: 24px;
|
38 |
+
font-weight: 700;
|
39 |
+
margin: 0 0 20px;
|
40 |
+
padding: 0;
|
41 |
}
|
42 |
|
43 |
+
p, li{
|
44 |
+
font-size: 14px;
|
45 |
+
line-height: 1.65;
|
|
|
|
|
|
|
46 |
|
47 |
+
&.small-text{
|
48 |
+
font-size: 12px;
|
49 |
+
}
|
|
|
50 |
|
51 |
+
&.large-text{
|
52 |
+
font-size: 16px;
|
53 |
+
}
|
|
|
54 |
|
55 |
+
&.xlarge-text{
|
56 |
+
font-size: 18px;
|
57 |
+
}
|
58 |
+
}
|
|
|
|
|
59 |
|
60 |
+
.text-centered{
|
61 |
+
text-align: center;
|
62 |
+
}
|
63 |
+
|
64 |
+
.iframe-wrap{
|
65 |
+
position: relative;
|
66 |
+
padding-bottom: 56.25%; /* 16:9 */
|
67 |
+
height: 0;
|
68 |
|
69 |
+
iframe{
|
70 |
+
position: absolute;
|
71 |
+
top: 0;
|
72 |
+
left: 0;
|
73 |
+
width: 100%;
|
74 |
+
height: 100%;
|
75 |
+
border-radius: $radius;
|
76 |
+
}
|
|
|
|
|
77 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
78 |
}
|
79 |
}
|
80 |
|
81 |
+
hr{
|
82 |
+
border-top: none;
|
83 |
+
border-color: $color-silver;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
84 |
}
|
85 |
|
86 |
+
// Align elements in settings form tables.
|
|
|
|
|
87 |
|
88 |
+
form.cmb-form{
|
|
|
|
|
89 |
|
90 |
+
h2{
|
91 |
+
margin: 0;
|
92 |
+
padding: 14px;
|
|
|
|
|
|
|
93 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
94 |
|
95 |
+
.description,
|
96 |
+
p.submit{
|
97 |
+
padding: 0 14px;
|
98 |
+
margin-bottom: 10px;
|
99 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
100 |
|
101 |
+
.cmb-th,
|
102 |
+
.cmb-th label{
|
103 |
+
font-weight: 600;
|
104 |
}
|
|
|
105 |
|
|
|
|
|
106 |
}
|
|
|
|
|
|
|
107 |
|
108 |
+
// Align buttons in flex row
|
|
|
|
|
|
|
109 |
|
110 |
+
.ctct-button-actions{
|
111 |
+
display: flex;
|
112 |
+
justify-content: flex-start;
|
113 |
|
114 |
+
a {
|
115 |
+
align-self: flex-start;
|
116 |
+
margin: 0 10px 0 0;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
117 |
}
|
118 |
}
|
119 |
|
120 |
+
// Copy shortcode on form listing.
|
|
|
|
|
|
|
|
|
|
|
121 |
|
122 |
+
.ctct-shortcode-wrap{
|
123 |
+
display: flex;
|
124 |
+
width: 100%;
|
125 |
+
background-color: $color-white;
|
126 |
+
border: 1px solid $color-silver;
|
127 |
+
border-radius: $radius;
|
128 |
+
padding: 3px;
|
129 |
+
position: relative;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
130 |
|
131 |
+
&:focus-within{
|
132 |
+
border-color: $color-light-silver;
|
133 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
134 |
|
135 |
+
input, button{
|
136 |
+
min-height: auto;
|
137 |
+
height: 30px;
|
138 |
+
font-size: 12px;
|
139 |
+
}
|
140 |
|
141 |
+
input{
|
142 |
+
background-color: transparent;
|
143 |
+
border: none;
|
144 |
+
font-size: 12px;
|
145 |
+
padding: 0 10px 0 5px;
|
146 |
+
margin: 0;
|
147 |
+
flex: 1;
|
148 |
+
box-shadow: none;
|
149 |
+
overflow: hidden;
|
150 |
+
text-overflow: ellipsis;
|
151 |
+
white-space: nowrap;
|
152 |
|
153 |
+
&:focus{
|
154 |
+
box-shadow: none;
|
155 |
+
}
|
156 |
}
|
157 |
|
158 |
+
button{
|
159 |
+
border-radius: $radius;
|
160 |
+
z-index: 1;
|
161 |
}
|
162 |
}
|
|
|
163 |
|
164 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
assets/sass/_admin-toolbar.scss
ADDED
@@ -0,0 +1,152 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
.ctct-header{
|
2 |
+
display: none;
|
3 |
+
position: relative;
|
4 |
+
z-index: 2;
|
5 |
+
@include wider-than('xsmall') {
|
6 |
+
margin: 0 0 0 -20px;
|
7 |
+
padding: 0 0 0 20px;
|
8 |
+
background-color: $color-white;
|
9 |
+
border-bottom: 1px solid #c3c4c7;
|
10 |
+
display: flex;
|
11 |
+
width: 100%;
|
12 |
+
align-items: center;
|
13 |
+
}
|
14 |
+
|
15 |
+
h2{
|
16 |
+
margin: 0;
|
17 |
+
padding: 0 0 0 39px;
|
18 |
+
min-height: 32px;
|
19 |
+
line-height: 32px;
|
20 |
+
background: $color-white url( ../images/ctct-icon-2x.png ) no-repeat 0 48%;
|
21 |
+
background-size: 32px 32px;
|
22 |
+
text-indent: -9999px;
|
23 |
+
@include wider-than('small') {
|
24 |
+
text-indent: 0;
|
25 |
+
}
|
26 |
+
}
|
27 |
+
|
28 |
+
ul{
|
29 |
+
padding: 0 0 0 20px;
|
30 |
+
margin: 0;
|
31 |
+
flex: 1;
|
32 |
+
display: flex;
|
33 |
+
align-items: center;
|
34 |
+
width: 100%;
|
35 |
+
|
36 |
+
li{
|
37 |
+
margin: 0 15px 0 0;
|
38 |
+
padding: 0;
|
39 |
+
|
40 |
+
a{
|
41 |
+
padding: 20px 5px;
|
42 |
+
display: block;
|
43 |
+
text-decoration: none;
|
44 |
+
position: relative;
|
45 |
+
|
46 |
+
&.is-active{
|
47 |
+
font-weight: 600;
|
48 |
+
text-decoration: underline;
|
49 |
+
|
50 |
+
&::after,
|
51 |
+
&::before {
|
52 |
+
top: 100%;
|
53 |
+
left: 50%;
|
54 |
+
border: solid transparent;
|
55 |
+
content: "";
|
56 |
+
height: 0;
|
57 |
+
width: 0;
|
58 |
+
position: absolute;
|
59 |
+
pointer-events: none;
|
60 |
+
}
|
61 |
+
|
62 |
+
&::after {
|
63 |
+
border-color: rgba(255, 255, 255, 0);
|
64 |
+
border-top-color: $color-white;
|
65 |
+
border-width: 7px;
|
66 |
+
margin-left: -7px;
|
67 |
+
}
|
68 |
+
|
69 |
+
&::before {
|
70 |
+
border-color: rgba( #c3c4c7, 0);
|
71 |
+
border-top-color: #c3c4c7;
|
72 |
+
border-width: 8px;
|
73 |
+
margin-left: -8px;
|
74 |
+
}
|
75 |
+
}
|
76 |
+
|
77 |
+
&.ctct-connect-btn{
|
78 |
+
color: $color-white;
|
79 |
+
background-color: $color-blue;
|
80 |
+
border: 1px solid $color-blue-alt;
|
81 |
+
padding: 8px;
|
82 |
+
border-radius: 3px;
|
83 |
+
font-weight: 500;
|
84 |
+
|
85 |
+
&:hover,
|
86 |
+
&:focus{
|
87 |
+
background-color: $color-blue-alt;
|
88 |
+
}
|
89 |
+
}
|
90 |
+
|
91 |
+
&.ctct-disconnect{
|
92 |
+
|
93 |
+
a{
|
94 |
+
background-color: $color-orange;
|
95 |
+
border: 1px solid $color-orange-alt;
|
96 |
+
|
97 |
+
&:hover,
|
98 |
+
&:focus{
|
99 |
+
background-color: $color-orange-alt;
|
100 |
+
}
|
101 |
+
}
|
102 |
+
}
|
103 |
+
}
|
104 |
+
}
|
105 |
+
}
|
106 |
+
|
107 |
+
.ctct-status{
|
108 |
+
display: none;
|
109 |
+
@include wider-than('medium') {
|
110 |
+
display: flex;
|
111 |
+
}
|
112 |
+
align-items: center;
|
113 |
+
margin-right: 20px;
|
114 |
+
font-weight: 500;
|
115 |
+
padding: 7px 10px;
|
116 |
+
border: 1px solid $color-white;
|
117 |
+
border-radius: $radius;
|
118 |
+
text-decoration: none;
|
119 |
+
color: $color-modal-alt-text;
|
120 |
+
|
121 |
+
&:hover,
|
122 |
+
&:focus{
|
123 |
+
color: $color-black;
|
124 |
+
border-color: $color-silver;
|
125 |
+
box-shadow: $shadow;
|
126 |
+
}
|
127 |
+
|
128 |
+
&:focus{
|
129 |
+
background-color: $color-lighter-gray;
|
130 |
+
color: $color-black;
|
131 |
+
box-shadow: none;
|
132 |
+
}
|
133 |
+
|
134 |
+
&::before{
|
135 |
+
content: '';
|
136 |
+
display: block;
|
137 |
+
width: 10px;
|
138 |
+
height: 10px;
|
139 |
+
border-radius: 100%;
|
140 |
+
background-color: $color-red;
|
141 |
+
margin-right: 7px;
|
142 |
+
box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
|
143 |
+
}
|
144 |
+
|
145 |
+
&.ctct-connected{
|
146 |
+
|
147 |
+
&::before{
|
148 |
+
background-color: $color-green;;
|
149 |
+
}
|
150 |
+
}
|
151 |
+
}
|
152 |
+
}
|
assets/sass/_compatibility.scss
CHANGED
@@ -1,7 +1,149 @@
|
|
1 |
// sass-lint:disable class-name-format no-qualifying-elements id-name-format
|
|
|
2 |
.ctct-twentyfourteen {
|
3 |
|
4 |
-
.ctct-form-
|
|
|
|
|
|
|
|
|
|
|
|
|
5 |
width: 100%;
|
6 |
}
|
7 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
// sass-lint:disable class-name-format no-qualifying-elements id-name-format
|
2 |
+
|
3 |
.ctct-twentyfourteen {
|
4 |
|
5 |
+
.ctct-form-description ~ .ctct-button {
|
6 |
+
display: inline-block;
|
7 |
+
font-size: 1rem;
|
8 |
+
margin-bottom: 25px;
|
9 |
+
}
|
10 |
+
|
11 |
+
.ctct-form-field input:not(.ctct-checkbox) {
|
12 |
width: 100%;
|
13 |
}
|
14 |
}
|
15 |
+
|
16 |
+
.ctct-twentyfifteen {
|
17 |
+
|
18 |
+
.ctct-form-description ~ .ctct-button {
|
19 |
+
display: inline-block;
|
20 |
+
font-size: 1rem;
|
21 |
+
margin-bottom: 25px;
|
22 |
+
}
|
23 |
+
|
24 |
+
.ctct-form-field {
|
25 |
+
|
26 |
+
input[type="tel"] {
|
27 |
+
padding: 0.5278em;
|
28 |
+
width: 100%;
|
29 |
+
}
|
30 |
+
}
|
31 |
+
|
32 |
+
.ctct-form-wrapper {
|
33 |
+
|
34 |
+
.ctct-input-container {
|
35 |
+
|
36 |
+
label {
|
37 |
+
font-size: 75%;
|
38 |
+
}
|
39 |
+
}
|
40 |
+
}
|
41 |
+
}
|
42 |
+
|
43 |
+
.ctct-twentysixteen {
|
44 |
+
|
45 |
+
.ctct-form-description ~ .ctct-button {
|
46 |
+
display: inline-block;
|
47 |
+
margin-bottom: 25px;
|
48 |
+
}
|
49 |
+
|
50 |
+
.ctct-form-wrapper {
|
51 |
+
|
52 |
+
span.ctct-label-right {
|
53 |
+
width: 80%;
|
54 |
+
}
|
55 |
+
}
|
56 |
+
}
|
57 |
+
|
58 |
+
.ctct-twentyseventeen {
|
59 |
+
|
60 |
+
.ctct-form-description ~ .ctct-button {
|
61 |
+
display: inline-block;
|
62 |
+
margin-bottom: 25px;
|
63 |
+
}
|
64 |
+
|
65 |
+
.ctct-form-wrapper {
|
66 |
+
|
67 |
+
.ctct-input-container {
|
68 |
+
|
69 |
+
label {
|
70 |
+
display: inline;
|
71 |
+
}
|
72 |
+
}
|
73 |
+
|
74 |
+
span.ctct-label-right {
|
75 |
+
width: 80%;
|
76 |
+
}
|
77 |
+
}
|
78 |
+
}
|
79 |
+
|
80 |
+
.ctct-twentynineteen {
|
81 |
+
|
82 |
+
.ctct-form-description ~ .ctct-button {
|
83 |
+
margin-bottom: 25px;
|
84 |
+
}
|
85 |
+
|
86 |
+
.ctct-address {
|
87 |
+
margin-bottom: 1rem;
|
88 |
+
}
|
89 |
+
|
90 |
+
.ctct-form-field {
|
91 |
+
|
92 |
+
input[type="text"],
|
93 |
+
input[type="email"],
|
94 |
+
input[type="url"],
|
95 |
+
input[type="tel"] {
|
96 |
+
width: 100%;
|
97 |
+
}
|
98 |
+
}
|
99 |
+
@media screen and (max-width: 414px) {
|
100 |
+
|
101 |
+
.ctct-form-wrapper {
|
102 |
+
|
103 |
+
span.ctct-label-right {
|
104 |
+
width: 80%;
|
105 |
+
}
|
106 |
+
}
|
107 |
+
}
|
108 |
+
}
|
109 |
+
|
110 |
+
.ctct-twentytwenty {
|
111 |
+
|
112 |
+
.ctct-form-description ~ .ctct-button {
|
113 |
+
margin-bottom: 25px;
|
114 |
+
}
|
115 |
+
|
116 |
+
.ctct-form-wrapper {
|
117 |
+
|
118 |
+
.ctct-form {
|
119 |
+
|
120 |
+
abbr {
|
121 |
+
font-size: 1.6rem;
|
122 |
+
}
|
123 |
+
}
|
124 |
+
|
125 |
+
.ctct-input-container {
|
126 |
+
|
127 |
+
label {
|
128 |
+
font-size: 1.6rem;
|
129 |
+
}
|
130 |
+
}
|
131 |
+
}
|
132 |
+
}
|
133 |
+
|
134 |
+
.ctct-twentytwentyone {
|
135 |
+
|
136 |
+
.ctct-button{
|
137 |
+
padding: 0 !important;
|
138 |
+
}
|
139 |
+
|
140 |
+
.ctct-form-field {
|
141 |
+
|
142 |
+
input[type="text"],
|
143 |
+
input[type="email"],
|
144 |
+
input[type="url"],
|
145 |
+
input[type="tel"] {
|
146 |
+
width: 100%;
|
147 |
+
}
|
148 |
+
}
|
149 |
+
}
|
assets/sass/_forms.scss
CHANGED
@@ -2,6 +2,7 @@
|
|
2 |
//--------------------------------------------------------------
|
3 |
// FORMS
|
4 |
//--------------------------------------------------------------
|
|
|
5 |
.ctct-form-wrapper {
|
6 |
|
7 |
.ctct-form {
|
@@ -52,5 +53,5 @@
|
|
52 |
padding: 0;
|
53 |
}
|
54 |
}
|
55 |
-
}
|
56 |
}
|
2 |
//--------------------------------------------------------------
|
3 |
// FORMS
|
4 |
//--------------------------------------------------------------
|
5 |
+
|
6 |
.ctct-form-wrapper {
|
7 |
|
8 |
.ctct-form {
|
53 |
padding: 0;
|
54 |
}
|
55 |
}
|
56 |
+
}
|
57 |
}
|
assets/sass/_global.scss
CHANGED
@@ -2,6 +2,7 @@
|
|
2 |
//--------------------------------------------------------------
|
3 |
// Global styling goes here
|
4 |
//--------------------------------------------------------------
|
|
|
5 |
.ctct-form-wrapper {
|
6 |
|
7 |
.ctct-button {
|
2 |
//--------------------------------------------------------------
|
3 |
// Global styling goes here
|
4 |
//--------------------------------------------------------------
|
5 |
+
|
6 |
.ctct-form-wrapper {
|
7 |
|
8 |
.ctct-button {
|
assets/sass/_inputs.scss
CHANGED
@@ -2,9 +2,11 @@
|
|
2 |
//--------------------------------------------------------------
|
3 |
// INPUTS
|
4 |
//--------------------------------------------------------------
|
|
|
5 |
.ctct-form-wrapper {
|
6 |
|
7 |
input {
|
|
|
8 |
&[type='text'],
|
9 |
&[type='email'],
|
10 |
&[type='password'],
|
@@ -12,7 +14,7 @@
|
|
12 |
&[type='number'] {
|
13 |
|
14 |
&:required:valid {
|
15 |
-
background-image: url(
|
16 |
background-position: 8px 50%;
|
17 |
background-repeat: no-repeat;
|
18 |
background-size: 18px;
|
@@ -22,7 +24,7 @@
|
|
22 |
|
23 |
&:required.ctct-invalid,
|
24 |
&.ctct-invalid {
|
25 |
-
background: $color-white url(
|
26 |
background-color: fade-out($color-error, 0.98);
|
27 |
background-position: 8px 50%;
|
28 |
background-size: 24px;
|
@@ -39,7 +41,7 @@
|
|
39 |
}
|
40 |
|
41 |
input.ctct-invalid {
|
42 |
-
background: $color-white url(
|
43 |
background-color: fade-out($color-error, 0.98);
|
44 |
background-position: 8px 50%;
|
45 |
background-size: 24px;
|
@@ -93,7 +95,7 @@
|
|
93 |
}
|
94 |
|
95 |
.no-recaptcha .ctct-submitted:disabled {
|
96 |
-
background-image: url(
|
97 |
background-position: center;
|
98 |
background-repeat: no-repeat;
|
99 |
color: transparent;
|
@@ -103,5 +105,5 @@
|
|
103 |
|
104 |
.has-recaptcha .ctct-submitted:disabled {
|
105 |
cursor: not-allowed;
|
106 |
-
}
|
107 |
-
}
|
2 |
//--------------------------------------------------------------
|
3 |
// INPUTS
|
4 |
//--------------------------------------------------------------
|
5 |
+
|
6 |
.ctct-form-wrapper {
|
7 |
|
8 |
input {
|
9 |
+
|
10 |
&[type='text'],
|
11 |
&[type='email'],
|
12 |
&[type='password'],
|
14 |
&[type='number'] {
|
15 |
|
16 |
&:required:valid {
|
17 |
+
background-image: url( ../images/check_circle.svg );
|
18 |
background-position: 8px 50%;
|
19 |
background-repeat: no-repeat;
|
20 |
background-size: 18px;
|
24 |
|
25 |
&:required.ctct-invalid,
|
26 |
&.ctct-invalid {
|
27 |
+
background: $color-white url( ../images/error.svg ) no-repeat;
|
28 |
background-color: fade-out($color-error, 0.98);
|
29 |
background-position: 8px 50%;
|
30 |
background-size: 24px;
|
41 |
}
|
42 |
|
43 |
input.ctct-invalid {
|
44 |
+
background: $color-white url( ../images/error.svg ) no-repeat;
|
45 |
background-color: fade-out($color-error, 0.98);
|
46 |
background-position: 8px 50%;
|
47 |
background-size: 24px;
|
95 |
}
|
96 |
|
97 |
.no-recaptcha .ctct-submitted:disabled {
|
98 |
+
background-image: url( ../images/oval.min.svg );
|
99 |
background-position: center;
|
100 |
background-repeat: no-repeat;
|
101 |
color: transparent;
|
105 |
|
106 |
.has-recaptcha .ctct-submitted:disabled {
|
107 |
cursor: not-allowed;
|
108 |
+
}
|
109 |
+
}
|
assets/sass/_layout.scss
CHANGED
@@ -2,6 +2,7 @@
|
|
2 |
//--------------------------------------------------------------
|
3 |
// Layout helpers
|
4 |
//--------------------------------------------------------------
|
|
|
5 |
.ctct-form-wrapper {
|
6 |
|
7 |
.ctct-form-field {
|
2 |
//--------------------------------------------------------------
|
3 |
// Layout helpers
|
4 |
//--------------------------------------------------------------
|
5 |
+
|
6 |
.ctct-form-wrapper {
|
7 |
|
8 |
.ctct-form-field {
|
assets/sass/_mixins.scss
CHANGED
@@ -11,7 +11,7 @@
|
|
11 |
@mixin wider-than( $breakpoint ) {
|
12 |
|
13 |
@if map-has-key( $breakpoints, $breakpoint ) {
|
14 |
-
@media (
|
15 |
@content;
|
16 |
}
|
17 |
} @else {
|
11 |
@mixin wider-than( $breakpoint ) {
|
12 |
|
13 |
@if map-has-key( $breakpoints, $breakpoint ) {
|
14 |
+
@media (min-width: map-get($breakpoints, $breakpoint)) {
|
15 |
@content;
|
16 |
}
|
17 |
} @else {
|
assets/sass/_modal.scss
CHANGED
@@ -22,6 +22,11 @@
|
|
22 |
font-weight: 400;
|
23 |
line-height: 1.2;
|
24 |
margin: 0;
|
|
|
|
|
|
|
|
|
|
|
25 |
}
|
26 |
|
27 |
h3 {
|
@@ -70,14 +75,15 @@
|
|
70 |
border-radius: 8px;
|
71 |
box-shadow: 0 0 15px 0 $color-modal-background;
|
72 |
padding: 0;
|
73 |
-
position: relative;
|
74 |
|
75 |
.ctct-modal-header {
|
76 |
-
background: $color-
|
77 |
border-top-left-radius: 8px;
|
78 |
border-top-right-radius: 8px;
|
79 |
-
padding:
|
80 |
text-align: center;
|
|
|
81 |
|
82 |
p {
|
83 |
color: $color-white;
|
@@ -89,35 +95,32 @@
|
|
89 |
}
|
90 |
}
|
91 |
|
92 |
-
.ctct-logo {
|
93 |
-
img {
|
94 |
-
max-width: 75%;
|
95 |
-
}
|
96 |
-
}
|
97 |
-
|
98 |
.ctct-modal-close {
|
99 |
@include clearfix;
|
100 |
-
color: $color-
|
101 |
cursor: pointer;
|
102 |
font-size: 26px;
|
103 |
-
height: 16px;
|
104 |
line-height: 0;
|
105 |
margin: 0;
|
106 |
padding: 0;
|
107 |
position: absolute;
|
108 |
-
right:
|
|
|
109 |
text-decoration: none;
|
110 |
-
|
111 |
-
|
|
|
|
|
|
|
112 |
}
|
113 |
}
|
114 |
|
115 |
.ctct-modal-footer {
|
116 |
-
background-color: $color-
|
117 |
border-bottom-left-radius: 8px;
|
118 |
border-bottom-right-radius: 8px;
|
119 |
-
border-top:
|
120 |
-
padding:
|
121 |
text-align: center;
|
122 |
|
123 |
p {
|
@@ -157,6 +160,7 @@
|
|
157 |
border: none;
|
158 |
box-shadow: none;
|
159 |
color: $color-prussian-blue;
|
|
|
160 |
}
|
161 |
|
162 |
&.button-orange {
|
@@ -188,7 +192,7 @@
|
|
188 |
|
189 |
&.ctct-privacy-modal-body {
|
190 |
height: 350px;
|
191 |
-
overflow:
|
192 |
}
|
193 |
|
194 |
.ctct-modal-left,
|
@@ -262,10 +266,6 @@
|
|
262 |
.ctct-modal-right {
|
263 |
border: none;
|
264 |
padding: 15px;
|
265 |
-
|
266 |
-
img {
|
267 |
-
max-width: 100%;
|
268 |
-
}
|
269 |
}
|
270 |
}
|
271 |
|
22 |
font-weight: 400;
|
23 |
line-height: 1.2;
|
24 |
margin: 0;
|
25 |
+
|
26 |
+
img {
|
27 |
+
display: block;
|
28 |
+
max-width: 300px;
|
29 |
+
}
|
30 |
}
|
31 |
|
32 |
h3 {
|
75 |
border-radius: 8px;
|
76 |
box-shadow: 0 0 15px 0 $color-modal-background;
|
77 |
padding: 0;
|
78 |
+
position: relative;
|
79 |
|
80 |
.ctct-modal-header {
|
81 |
+
background: $color-lighter-gray;
|
82 |
border-top-left-radius: 8px;
|
83 |
border-top-right-radius: 8px;
|
84 |
+
padding: 30px;
|
85 |
text-align: center;
|
86 |
+
border-bottom: 1px solid $color-white;
|
87 |
|
88 |
p {
|
89 |
color: $color-white;
|
95 |
}
|
96 |
}
|
97 |
|
|
|
|
|
|
|
|
|
|
|
|
|
98 |
.ctct-modal-close {
|
99 |
@include clearfix;
|
100 |
+
color: $color-black;
|
101 |
cursor: pointer;
|
102 |
font-size: 26px;
|
|
|
103 |
line-height: 0;
|
104 |
margin: 0;
|
105 |
padding: 0;
|
106 |
position: absolute;
|
107 |
+
right: 15px;
|
108 |
+
top: 15px;
|
109 |
text-decoration: none;
|
110 |
+
width: 24px;
|
111 |
+
height: 24px;
|
112 |
+
display: flex;
|
113 |
+
align-items: center;
|
114 |
+
justify-content: center;
|
115 |
}
|
116 |
}
|
117 |
|
118 |
.ctct-modal-footer {
|
119 |
+
background-color: $color-lighter-gray;
|
120 |
border-bottom-left-radius: 8px;
|
121 |
border-bottom-right-radius: 8px;
|
122 |
+
border-top: 1px solid $color-white;
|
123 |
+
padding: 20px;
|
124 |
text-align: center;
|
125 |
|
126 |
p {
|
160 |
border: none;
|
161 |
box-shadow: none;
|
162 |
color: $color-prussian-blue;
|
163 |
+
background-color: $color-white;
|
164 |
}
|
165 |
|
166 |
&.button-orange {
|
192 |
|
193 |
&.ctct-privacy-modal-body {
|
194 |
height: 350px;
|
195 |
+
overflow-y: auto;
|
196 |
}
|
197 |
|
198 |
.ctct-modal-left,
|
266 |
.ctct-modal-right {
|
267 |
border: none;
|
268 |
padding: 15px;
|
|
|
|
|
|
|
|
|
269 |
}
|
270 |
}
|
271 |
|
assets/sass/_oath.scss
DELETED
@@ -1,84 +0,0 @@
|
|
1 |
-
// sass-lint:disable class-name-format no-qualifying-elements id-name-format
|
2 |
-
//--------------------------------------------------------------
|
3 |
-
// Disconnect Page
|
4 |
-
//--------------------------------------------------------------
|
5 |
-
.ctct-logo {
|
6 |
-
max-width: 400px;
|
7 |
-
}
|
8 |
-
|
9 |
-
.ctct_options_connect {
|
10 |
-
box-sizing: border-box;
|
11 |
-
padding: 70px;
|
12 |
-
text-align: center;
|
13 |
-
width: 100%;
|
14 |
-
|
15 |
-
@media screen and (max-width: 782px) {
|
16 |
-
margin-left: -10px;
|
17 |
-
padding: 30px 30px 0;
|
18 |
-
}
|
19 |
-
|
20 |
-
img {
|
21 |
-
height: auto;
|
22 |
-
max-width: 400px;
|
23 |
-
width: 100%;
|
24 |
-
}
|
25 |
-
|
26 |
-
p {
|
27 |
-
color: $color-modal-alt-text;
|
28 |
-
font-size: 16px;
|
29 |
-
}
|
30 |
-
|
31 |
-
.ctct-description {
|
32 |
-
text-align: left;
|
33 |
-
}
|
34 |
-
|
35 |
-
.ctct-body {
|
36 |
-
@include clearfix;
|
37 |
-
margin: 0 auto;
|
38 |
-
max-width: 75%;
|
39 |
-
overflow-y: hidden;
|
40 |
-
padding: 0 15px;
|
41 |
-
position: relative;
|
42 |
-
|
43 |
-
.notice {
|
44 |
-
background: none;
|
45 |
-
border-left: none;
|
46 |
-
box-shadow: none;
|
47 |
-
margin: 0 0 20px 0;
|
48 |
-
padding: 0;
|
49 |
-
}
|
50 |
-
|
51 |
-
.button {
|
52 |
-
border-radius: 4px;
|
53 |
-
color: $color-white;
|
54 |
-
font-size: 16px;
|
55 |
-
font-weight: 600;
|
56 |
-
height: auto;
|
57 |
-
line-height: 1;
|
58 |
-
margin-bottom: 10px;
|
59 |
-
min-width: 180px;
|
60 |
-
padding: 14px 30px;
|
61 |
-
|
62 |
-
&.button-orange {
|
63 |
-
background-color: $color-chrome-yellow;
|
64 |
-
border: 1px solid darken($color-chrome-yellow, 10%);
|
65 |
-
|
66 |
-
&:hover,
|
67 |
-
&:focus {
|
68 |
-
background-color: darken($color-chrome-yellow, 10%);
|
69 |
-
}
|
70 |
-
}
|
71 |
-
|
72 |
-
&.button-blue {
|
73 |
-
background-color: $color-prussian-blue;
|
74 |
-
border: 1px solid darken($color-prussian-blue, 10%);
|
75 |
-
|
76 |
-
&:hover,
|
77 |
-
&:focus {
|
78 |
-
background-color: darken($color-prussian-blue, 10%);
|
79 |
-
}
|
80 |
-
}
|
81 |
-
}
|
82 |
-
}
|
83 |
-
}
|
84 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
assets/sass/_variables.scss
CHANGED
@@ -4,18 +4,22 @@
|
|
4 |
//--------------------------------------------------------------
|
5 |
|
6 |
// Primary palette
|
7 |
-
$color-blue: #
|
|
|
8 |
$color-green: #2ecc40;
|
9 |
$color-light-green: rgb(58, 209, 130);
|
10 |
$color-red: #ff4136;
|
|
|
|
|
11 |
|
12 |
// Grayscale
|
13 |
$color-black: #000;
|
14 |
$color-gray: #aaa;
|
15 |
$color-silver: #ddd;
|
16 |
$color-light-gray: #e9e9e9;
|
|
|
17 |
$color-white: #fff;
|
18 |
-
$color-black-translucent: rgba(0,0,0, 0.5);
|
19 |
|
20 |
// Theming
|
21 |
$color-error: $color-red;
|
@@ -29,13 +33,16 @@ $color-cc-blue: #1a5285;
|
|
29 |
$color-alt-silver: #efefee;
|
30 |
|
31 |
// text
|
32 |
-
$color-modal-alt-text: #
|
33 |
$color-modal-header: #333;
|
34 |
$color-modal-text: #555;
|
35 |
$color-light-silver: #747e88;
|
36 |
|
37 |
// box model
|
38 |
$padding: 1em;
|
|
|
|
|
|
|
39 |
|
40 |
// CMB Buttons
|
41 |
$color-cmb-button-light-blue: #008ec2;
|
@@ -48,6 +55,7 @@ $color-modal-background: rgba( 0, 0, 0, 0.3 );
|
|
48 |
|
49 |
// Breakpoints
|
50 |
$breakpoints: (
|
|
|
51 |
'small': 767px,
|
52 |
'medium': 992px,
|
53 |
'large': 1200px
|
4 |
//--------------------------------------------------------------
|
5 |
|
6 |
// Primary palette
|
7 |
+
$color-blue: #1856ed; // #265ae5;
|
8 |
+
$color-blue-alt: #2a57d5;
|
9 |
$color-green: #2ecc40;
|
10 |
$color-light-green: rgb(58, 209, 130);
|
11 |
$color-red: #ff4136;
|
12 |
+
$color-orange: #ff9500;
|
13 |
+
$color-orange-alt: #e38400;
|
14 |
|
15 |
// Grayscale
|
16 |
$color-black: #000;
|
17 |
$color-gray: #aaa;
|
18 |
$color-silver: #ddd;
|
19 |
$color-light-gray: #e9e9e9;
|
20 |
+
$color-lighter-gray: #f7f7f7;
|
21 |
$color-white: #fff;
|
22 |
+
$color-black-translucent: rgba(0,0,0, 0.5);
|
23 |
|
24 |
// Theming
|
25 |
$color-error: $color-red;
|
33 |
$color-alt-silver: #efefee;
|
34 |
|
35 |
// text
|
36 |
+
$color-modal-alt-text: #646970;
|
37 |
$color-modal-header: #333;
|
38 |
$color-modal-text: #555;
|
39 |
$color-light-silver: #747e88;
|
40 |
|
41 |
// box model
|
42 |
$padding: 1em;
|
43 |
+
$radius: 4px;
|
44 |
+
$shadow: 0 1px 5px rgba(0, 0, 0, 0.055);
|
45 |
+
$shadow_lg: 0 4px 10px rgba(0, 0, 0, 0.065);
|
46 |
|
47 |
// CMB Buttons
|
48 |
$color-cmb-button-light-blue: #008ec2;
|
55 |
|
56 |
// Breakpoints
|
57 |
$breakpoints: (
|
58 |
+
'xsmall': 599px,
|
59 |
'small': 767px,
|
60 |
'medium': 992px,
|
61 |
'large': 1200px
|
assets/sass/admin-style.scss
CHANGED
@@ -7,9 +7,11 @@
|
|
7 |
@import 'mixins';
|
8 |
@import 'modal';
|
9 |
|
|
|
|
|
|
|
|
|
10 |
@import 'admin-forms';
|
11 |
-
@import 'admin-global-no-connection';
|
12 |
@import 'admin-notices';
|
13 |
@import 'admin-pages';
|
14 |
-
@import 'oath';
|
15 |
@import 'admin-gutenberg';
|
7 |
@import 'mixins';
|
8 |
@import 'modal';
|
9 |
|
10 |
+
@import 'admin-toolbar';
|
11 |
+
@import 'admin-connect';
|
12 |
+
@import 'admin-debug';
|
13 |
+
@import 'admin-about';
|
14 |
@import 'admin-forms';
|
|
|
15 |
@import 'admin-notices';
|
16 |
@import 'admin-pages';
|
|
|
17 |
@import 'admin-gutenberg';
|
constant-contact-forms.php
CHANGED
@@ -12,7 +12,7 @@
|
|
12 |
* Plugin Name: Constant Contact Forms for WordPress
|
13 |
* Plugin URI: https://www.constantcontact.com
|
14 |
* Description: Be a better marketer. All it takes is Constant Contact email marketing.
|
15 |
-
* Version: 1.
|
16 |
* Author: Constant Contact
|
17 |
* Author URI: https://www.constantcontact.com/index?pn=miwordpress
|
18 |
* License: GPLv3
|
@@ -72,7 +72,7 @@ class Constant_Contact {
|
|
72 |
* @since 1.0.0
|
73 |
* @var string
|
74 |
*/
|
75 |
-
const VERSION = '1.
|
76 |
|
77 |
/**
|
78 |
* URL of plugin directory.
|
@@ -801,6 +801,11 @@ class Constant_Contact {
|
|
801 |
* @since 1.4.0
|
802 |
*/
|
803 |
public function register_front_assets() {
|
|
|
|
|
|
|
|
|
|
|
804 |
wp_register_style(
|
805 |
'ctct_form_styles',
|
806 |
self::url() . 'assets/css/style.css',
|
12 |
* Plugin Name: Constant Contact Forms for WordPress
|
13 |
* Plugin URI: https://www.constantcontact.com
|
14 |
* Description: Be a better marketer. All it takes is Constant Contact email marketing.
|
15 |
+
* Version: 1.11.0
|
16 |
* Author: Constant Contact
|
17 |
* Author URI: https://www.constantcontact.com/index?pn=miwordpress
|
18 |
* License: GPLv3
|
72 |
* @since 1.0.0
|
73 |
* @var string
|
74 |
*/
|
75 |
+
const VERSION = '1.11.0';
|
76 |
|
77 |
/**
|
78 |
* URL of plugin directory.
|
801 |
* @since 1.4.0
|
802 |
*/
|
803 |
public function register_front_assets() {
|
804 |
+
|
805 |
+
if ( disable_frontend_css() ) {
|
806 |
+
return;
|
807 |
+
}
|
808 |
+
|
809 |
wp_register_style(
|
810 |
'ctct_form_styles',
|
811 |
self::url() . 'assets/css/style.css',
|
includes/cc-modules/form/includes/frontend.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Beaver Builder Module to Display Form
|
4 |
*
|
5 |
-
* @since
|
6 |
*/
|
7 |
|
8 |
if ( empty( $settings->cc_form ) ) {
|
2 |
/**
|
3 |
* Beaver Builder Module to Display Form
|
4 |
*
|
5 |
+
* @since 1.10.0
|
6 |
*/
|
7 |
|
8 |
if ( empty( $settings->cc_form ) ) {
|
includes/class-admin-pages.php
CHANGED
@@ -118,72 +118,72 @@ class ConstantContact_Admin_Pages {
|
|
118 |
*/
|
119 |
public function help_page() {
|
120 |
?>
|
121 |
-
<
|
122 |
<?php esc_attr_e( 'Help / FAQ', 'constant-contact-forms' ); ?>
|
123 |
-
</
|
124 |
<div class="ctct-wrap wrap">
|
125 |
<table id="ctct-support" class="ctct-form-table">
|
126 |
-
|
127 |
-
|
128 |
-
|
129 |
-
|
130 |
-
|
131 |
-
|
132 |
-
|
133 |
-
|
134 |
|
135 |
-
|
136 |
|
137 |
-
|
138 |
-
|
139 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
140 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
141 |
?>
|
142 |
<li>
|
143 |
<span class="question" aria-controls="q1" aria-expanded="false">
|
144 |
-
<?php echo esc_html( $
|
145 |
</span>
|
146 |
<div class="answer">
|
147 |
-
<?php echo esc_html( $
|
148 |
</div>
|
149 |
</li>
|
150 |
<?php
|
151 |
-
}
|
152 |
-
}
|
153 |
-
?>
|
154 |
-
</ol>
|
155 |
-
</td>
|
156 |
-
<td class="outter">
|
157 |
-
<h2>
|
158 |
-
<?php esc_html_e( 'FAQ', 'constant-contact-forms' ); ?>
|
159 |
-
</h2>
|
160 |
-
<ol id="faq_ctct">
|
161 |
-
<?php
|
162 |
-
$faqs = $this->get_faq_texts();
|
163 |
-
|
164 |
-
if ( is_array( $faqs ) ) {
|
165 |
-
|
166 |
-
foreach ( $faqs as $faq ) {
|
167 |
-
if ( ! isset( $faq['title'] ) || ! isset( $faq['content'] ) ) {
|
168 |
-
continue;
|
169 |
}
|
170 |
-
?>
|
171 |
-
<li>
|
172 |
-
<span class="question" aria-controls="q1" aria-expanded="false">
|
173 |
-
<?php echo esc_html( $faq['title'] ); ?>
|
174 |
-
</span>
|
175 |
-
<div class="answer">
|
176 |
-
<?php echo esc_html( $faq['content'] ); ?>
|
177 |
-
</div>
|
178 |
-
</li>
|
179 |
-
<?php
|
180 |
}
|
181 |
-
|
182 |
-
|
183 |
-
</
|
184 |
-
</
|
185 |
-
</
|
186 |
-
</table
|
187 |
</div>
|
188 |
<?php
|
189 |
}
|
@@ -206,145 +206,101 @@ class ConstantContact_Admin_Pages {
|
|
206 |
$auth_link = add_query_arg( [ 'rmc' => 'wp_about_connect' ], $auth_link );
|
207 |
}
|
208 |
|
209 |
-
?>
|
210 |
-
|
211 |
-
|
212 |
-
|
213 |
-
|
214 |
-
|
215 |
-
|
216 |
-
|
217 |
-
|
218 |
-
|
219 |
-
|
220 |
-
|
221 |
-
|
222 |
-
|
223 |
-
|
224 |
-
|
225 |
-
|
226 |
-
|
227 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
228 |
</div>
|
|
|
229 |
|
230 |
-
|
231 |
-
<?php // phpcs:disable WordPress.Security.EscapeOutput -- OK instance of echoing without escaping. ?>
|
232 |
-
<div style="float: right;" class="ctct-video"><?php echo wp_oembed_get( 'https://www.youtube.com/watch?v=MhxtAlpZzJw', [ 'width' => 400 ] ); ?></div>
|
233 |
-
<?php // phpcs:enable WordPress.Security.EscapeOutput ?>
|
234 |
-
<h1 class="about-header">
|
235 |
-
<?php esc_html_e( 'Collecting email addresses with the plugin?', 'constant-contact-forms' ); ?>
|
236 |
-
<br /><?php esc_html_e( 'Turn those contacts into customers.', 'constant-contact-forms' ); ?>
|
237 |
-
</h1>
|
238 |
-
<p>
|
239 |
-
<?php esc_html_e( "Nurture your new contacts with a Constant Contact email marketing account even after they've left your website. Sign up for a 60-day trial account* and you can:", 'constant-contact-forms' ); ?>
|
240 |
-
</p>
|
241 |
-
<ul class="ctct-bonus-points">
|
242 |
-
<li><?php esc_html_e( 'Seamlessly add new contacts to mailing lists.', 'constant-contact-forms' ); ?></li>
|
243 |
-
<li><?php esc_html_e( 'Create and send professional emails.', 'constant-contact-forms' ); ?></li>
|
244 |
-
<li><?php esc_html_e( 'Get expert marketing help and support.', 'constant-contact-forms' ); ?></li>
|
245 |
-
</ul>
|
246 |
|
247 |
-
|
248 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
249 |
<a href="<?php echo esc_url_raw( $new_link ); ?>" target="_blank" class="button button-orange" title="<?php esc_attr_e( 'Try us Free', 'constant-contact-forms' ); ?>"><?php esc_attr_e( 'Try us Free', 'constant-contact-forms' ); ?></a>
|
250 |
-
|
251 |
-
|
252 |
-
|
253 |
-
|
254 |
-
|
255 |
-
|
256 |
-
|
257 |
-
|
258 |
-
|
259 |
-
|
|
|
|
|
|
|
260 |
</div>
|
|
|
261 |
|
262 |
-
|
263 |
-
<?php /* @todo Move to its own function/method. */ ?>
|
264 |
-
<form id="subscribe" accept-charset="utf-8" action="https://cloud.c.constantcontact.com/jmmlsubscriptions/coi_verify" method="get" target="_blank">
|
265 |
-
<input class="button button-blue right" id="subbutton" type="submit" value="<?php esc_attr_e( 'Sign Up', 'constant-contact-forms' ); ?>">
|
266 |
-
<h1 class="about-header"><?php esc_html_e( 'Email marketing tips delivered to your inbox.', 'constant-contact-forms' ); ?></h1>
|
267 |
-
<p><?php esc_html_e( 'Ready to grow with email marketing? Subscribe now for the latest tips and industry best practices to create great-looking emails that work.', 'constant-contact-forms' ); ?></p>
|
268 |
-
<p><input id="subbox" maxlength="255" name="email" type="text" placeholder="<?php esc_attr_e( 'Enter your email address', 'constant-contact-forms' ); ?>">
|
269 |
-
</p>
|
270 |
-
<input name="sub" type="hidden" value="3" />
|
271 |
-
<input name="method" type="hidden" value="JMML" />
|
272 |
-
<input name="page" type="hidden" value="Sub3_Prospect" />
|
273 |
|
274 |
-
|
275 |
-
<small>
|
276 |
-
<?php
|
277 |
-
printf(
|
278 |
-
/* Translators: Placholder is a link to Constant Contact homepage. */
|
279 |
-
esc_html__( 'By submitting this form, you agree to receive periodic product announcements and account notifications from Constant Contact. Cancel these communications at any time by clicking the unsubscribe link in the footer of the actual email. Constant Contact, Inc, 1601 Trapelo Road, Waltham, MA 02451, %1$s', 'constant-contact-forms' ),
|
280 |
-
'<a href="https://www.constantcontact.com">www.constantcontact.com</a>'
|
281 |
-
);
|
282 |
-
?>
|
283 |
-
</small>
|
284 |
-
<hr>
|
285 |
-
</div>
|
286 |
|
287 |
-
<div class="
|
288 |
-
|
289 |
-
|
290 |
-
|
291 |
-
|
292 |
-
<img alt="" src="<?php echo esc_url_raw( $this->plugin->url . 'assets/images/coffee-hero.jpg' ); ?>">
|
293 |
-
<p class="featured-title c-text">
|
294 |
-
<?php esc_attr_e( 'Powerful Email Marketing, Made Simple.', 'constant-contact-forms' ); ?>
|
295 |
-
</p>
|
296 |
-
<p class="featured-introduction c-text">
|
297 |
-
<?php esc_attr_e( 'Create professional emails that bring customers to your door', 'constant-contact-forms' ); ?>
|
298 |
-
</p>
|
299 |
</div>
|
300 |
-
|
301 |
-
|
302 |
-
|
303 |
-
|
304 |
-
|
305 |
-
|
306 |
-
|
307 |
-
|
|
|
308 |
<?php
|
309 |
/* Translators: Placholder here is a link to the license. */
|
310 |
$license_message = sprintf( __( 'This software is released under a modified %s.', 'constant-contact-forms' ), $license_link );
|
311 |
echo wp_kses_post( $license_message );
|
312 |
?>
|
313 |
</p>
|
314 |
-
<?php endif; ?>
|
315 |
-
<h5>
|
316 |
-
<?php esc_attr_e( '*Direct Marketing Association 2013 Statistical Fact Book', 'constant-contact-forms' ); ?>
|
317 |
-
</h5>
|
318 |
-
<div class="clear"></div>
|
319 |
-
</div>
|
320 |
-
<hr>
|
321 |
-
<div class="cc-a-block">
|
322 |
-
<div class="left">
|
323 |
-
<div class="ad-1">
|
324 |
-
<h3><?php esc_html_e( 'Easily Add Forms', 'constant-contact-forms' ); ?></h3>
|
325 |
-
<img
|
326 |
-
src="<?php echo esc_url_raw( $this->plugin->url . 'assets/images/add-forms.png' ); ?>"
|
327 |
-
alt="<?php echo esc_attr_x( 'Example embedded Constant Contact form', 'img alt text', 'constant-contact-forms' ); ?>"
|
328 |
-
/>
|
329 |
-
<p>
|
330 |
-
<?php esc_html_e( 'Create forms that automatically select the theme and styling of your WordPress site for a perfect match. ', 'constant-contact-forms' ); ?>
|
331 |
-
</p>
|
332 |
-
</div>
|
333 |
</div>
|
334 |
-
|
335 |
-
|
336 |
-
|
337 |
-
<img
|
338 |
-
src="<?php echo esc_url_raw( $this->plugin->url . 'assets/images/stay-connected.png' ); ?>"
|
339 |
-
alt="<?php echo esc_attr_x( 'Constant Contact list management UI', 'img alt text', 'constant-contact-forms' ); ?>"
|
340 |
-
/>
|
341 |
-
<p>
|
342 |
-
<?php esc_html_e( 'Form completions from site visitors are conveniently added to your Constant Contact email list.', 'constant-contact-forms' ); ?>
|
343 |
-
</p>
|
344 |
-
</div>
|
345 |
-
</div>
|
346 |
-
</div>
|
347 |
-
</div>
|
348 |
<?php
|
349 |
}
|
350 |
|
@@ -356,14 +312,10 @@ class ConstantContact_Admin_Pages {
|
|
356 |
public function license_page() {
|
357 |
$license_text = $this->plugin->get_license_text();
|
358 |
?>
|
359 |
-
<
|
360 |
-
|
361 |
-
|
362 |
-
|
363 |
-
<div class="license-text">
|
364 |
-
<pre><?php echo wp_kses_post( $license_text ); ?></pre>
|
365 |
-
</div>
|
366 |
-
</div>
|
367 |
</div>
|
368 |
</div>
|
369 |
<?php
|
118 |
*/
|
119 |
public function help_page() {
|
120 |
?>
|
121 |
+
<h2>
|
122 |
<?php esc_attr_e( 'Help / FAQ', 'constant-contact-forms' ); ?>
|
123 |
+
</h2>
|
124 |
<div class="ctct-wrap wrap">
|
125 |
<table id="ctct-support" class="ctct-form-table">
|
126 |
+
<tr>
|
127 |
+
<td class="outer outer-first">
|
128 |
+
<h2>
|
129 |
+
<?php esc_html_e( 'Help', 'constant-contact-forms' ); ?>
|
130 |
+
</h2>
|
131 |
+
<ol id="help_ctct">
|
132 |
+
<?php
|
133 |
+
$helps = $this->get_help_texts();
|
134 |
|
135 |
+
if ( is_array( $helps ) ) {
|
136 |
|
137 |
+
foreach ( $helps as $help ) {
|
138 |
+
if ( ! isset( $help['title'] ) || ! isset( $help['content'] ) ) {
|
139 |
+
continue;
|
140 |
+
}
|
141 |
+
?>
|
142 |
+
<li>
|
143 |
+
<span class="question" aria-controls="q1" aria-expanded="false">
|
144 |
+
<?php echo esc_html( $help['title'] ); ?>
|
145 |
+
</span>
|
146 |
+
<div class="answer">
|
147 |
+
<?php echo esc_html( $help['content'] ); ?>
|
148 |
+
</div>
|
149 |
+
</li>
|
150 |
+
<?php
|
151 |
}
|
152 |
+
}
|
153 |
+
?>
|
154 |
+
</ol>
|
155 |
+
</td>
|
156 |
+
<td class="outter">
|
157 |
+
<h2>
|
158 |
+
<?php esc_html_e( 'FAQ', 'constant-contact-forms' ); ?>
|
159 |
+
</h2>
|
160 |
+
<ol id="faq_ctct">
|
161 |
+
<?php
|
162 |
+
$faqs = $this->get_faq_texts();
|
163 |
+
|
164 |
+
if ( is_array( $faqs ) ) {
|
165 |
+
|
166 |
+
foreach ( $faqs as $faq ) {
|
167 |
+
if ( ! isset( $faq['title'] ) || ! isset( $faq['content'] ) ) {
|
168 |
+
continue;
|
169 |
+
}
|
170 |
?>
|
171 |
<li>
|
172 |
<span class="question" aria-controls="q1" aria-expanded="false">
|
173 |
+
<?php echo esc_html( $faq['title'] ); ?>
|
174 |
</span>
|
175 |
<div class="answer">
|
176 |
+
<?php echo esc_html( $faq['content'] ); ?>
|
177 |
</div>
|
178 |
</li>
|
179 |
<?php
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
180 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
181 |
}
|
182 |
+
?>
|
183 |
+
</ol>
|
184 |
+
</td>
|
185 |
+
</tr>
|
186 |
+
</table>
|
|
|
187 |
</div>
|
188 |
<?php
|
189 |
}
|
206 |
$auth_link = add_query_arg( [ 'rmc' => 'wp_about_connect' ], $auth_link );
|
207 |
}
|
208 |
|
209 |
+
?>
|
210 |
+
|
211 |
+
<h2><?php esc_html_e( 'About Constant Contact Forms', 'constant-contact-forms' ); ?></h2>
|
212 |
+
|
213 |
+
<div class="constant-contact-about">
|
214 |
+
|
215 |
+
<div class="ctct-section section-about">
|
216 |
+
<p class="large-text">
|
217 |
+
<?php echo wp_kses_post( __( "This plugin makes it fast and easy to capture all kinds of visitor information right from your WordPress site—even if you don't have a Constant Contact account.", 'constant-contact-forms' ) ); ?>
|
218 |
+
</p>
|
219 |
+
</div>
|
220 |
+
<div class="ctct-section ctct-features">
|
221 |
+
<div class="ctct-video-cta">
|
222 |
+
<div>
|
223 |
+
<div class="iframe-wrap">
|
224 |
+
<iframe src="https://www.youtube.com/embed/Qqb0_zcRKnM" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
|
225 |
+
</div>
|
226 |
+
</div>
|
227 |
+
<div>
|
228 |
+
<p>
|
229 |
+
<?php esc_attr_e( "Whether you're looking to collect email addresses, contact info, or visitor feedback, you can customize your forms with data fields that work best for you.", 'constant-contact-forms' ); ?>
|
230 |
+
</p>
|
231 |
+
<ul class="ctct-bonus-points">
|
232 |
+
<li> <?php esc_attr_e( 'Quickly create different types of forms that are clear, simple, and mobile-optimized.', 'constant-contact-forms' ); ?></li>
|
233 |
+
<li> <?php esc_attr_e( 'Choose forms that automatically select the theme and style of your WordPress site.', 'constant-contact-forms' ); ?></li>
|
234 |
+
<li> <?php esc_attr_e( 'Customize the form data fields, so you can tailor the type of information you collect.', 'constant-contact-forms' ); ?></li>
|
235 |
+
</ul>
|
236 |
+
</div>
|
237 |
</div>
|
238 |
+
</div>
|
239 |
|
240 |
+
<?php if ( $new_link || $auth_link ) { ?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
241 |
|
242 |
+
<div class="ctct-section section-try-us">
|
243 |
+
<h2>
|
244 |
+
<?php esc_html_e( 'Turn Contacts into Customers.', 'constant-contact-forms' ); ?>
|
245 |
+
</h2>
|
246 |
+
<p>
|
247 |
+
<?php esc_html_e( "Nurture your new contacts with a Constant Contact email marketing account even after they've left your website. Sign up for a 60-day trial account* and you can:", 'constant-contact-forms' ); ?>
|
248 |
+
</p>
|
249 |
+
<ul class="ctct-bonus-points">
|
250 |
+
<li><?php esc_html_e( 'Seamlessly add new contacts to mailing lists.', 'constant-contact-forms' ); ?></li>
|
251 |
+
<li><?php esc_html_e( 'Create and send professional emails.', 'constant-contact-forms' ); ?></li>
|
252 |
+
<li><?php esc_html_e( 'Get expert marketing help and support.', 'constant-contact-forms' ); ?></li>
|
253 |
+
</ul>
|
254 |
+
<hr />
|
255 |
+
<div class="ctct-try-us-cta">
|
256 |
+
<?php if ( $new_link ) { ?>
|
257 |
+
<div class="item">
|
258 |
<a href="<?php echo esc_url_raw( $new_link ); ?>" target="_blank" class="button button-orange" title="<?php esc_attr_e( 'Try us Free', 'constant-contact-forms' ); ?>"><?php esc_attr_e( 'Try us Free', 'constant-contact-forms' ); ?></a>
|
259 |
+
</div>
|
260 |
+
<?php } ?>
|
261 |
+
<?php if ( $auth_link ) { ?>
|
262 |
+
<div class="item">
|
263 |
+
<p><?php esc_attr_e( 'Already have a Constant Contact account?', 'constant-contact-forms' ); ?>
|
264 |
+
<strong>
|
265 |
+
<a href="<?php echo esc_url_raw( $auth_link ); ?>" class="ctct-connect">
|
266 |
+
<?php esc_html_e( 'Connect the Plugin', 'constant-contact-forms' ); ?>
|
267 |
+
</a>
|
268 |
+
</strong>
|
269 |
+
</p>
|
270 |
+
</div>
|
271 |
+
<?php } ?>
|
272 |
</div>
|
273 |
+
</div>
|
274 |
|
275 |
+
<p class="small-text"><strong><?php esc_html_e( 'NOTE:', 'constant-contact-forms' ); ?></strong> <?php esc_html_e( 'You can use the Constant Contact Form plugin without a Constant Contact account. All information collected by the forms will be individually emailed to your site admin.', 'constant-contact-forms' ); ?></p>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
276 |
|
277 |
+
<?php } else { ?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
278 |
|
279 |
+
<div class="ctct-section">
|
280 |
+
<div class="ctct-button-actions">
|
281 |
+
<a href="post-new.php?post_type=ctct_forms" class="button button-primary"><?php esc_html_e( 'Add Contact Form', 'constant-contact-forms' ); ?></a>
|
282 |
+
<a href="edit.php?post_type=ctct_lists" class="button"><?php esc_html_e( 'View Lists', 'constant-contact-forms' ); ?></a>
|
283 |
+
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
284 |
</div>
|
285 |
+
|
286 |
+
<?php } ?>
|
287 |
+
|
288 |
+
<?php
|
289 |
+
$license_link = $this->plugin->admin->get_admin_link( __( 'GPLv3 license', 'constant-contact-forms' ), 'license' );
|
290 |
+
if ( $license_link ) :
|
291 |
+
?>
|
292 |
+
<div class="ctct-license">
|
293 |
+
<p class="small-text">
|
294 |
<?php
|
295 |
/* Translators: Placholder here is a link to the license. */
|
296 |
$license_message = sprintf( __( 'This software is released under a modified %s.', 'constant-contact-forms' ), $license_link );
|
297 |
echo wp_kses_post( $license_message );
|
298 |
?>
|
299 |
</p>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
300 |
</div>
|
301 |
+
<?php endif; ?>
|
302 |
+
|
303 |
+
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
304 |
<?php
|
305 |
}
|
306 |
|
312 |
public function license_page() {
|
313 |
$license_text = $this->plugin->get_license_text();
|
314 |
?>
|
315 |
+
<h2><?php esc_attr_e( 'Constant Contact Forms - License', 'constant-contact-forms' ); ?></h2>
|
316 |
+
<div class="constant-contact-license">
|
317 |
+
<div class="license-text">
|
318 |
+
<pre><?php echo wp_kses_post( $license_text ); ?></pre>
|
|
|
|
|
|
|
|
|
319 |
</div>
|
320 |
</div>
|
321 |
<?php
|
includes/class-admin.php
CHANGED
@@ -93,6 +93,8 @@ class ConstantContact_Admin {
|
|
93 |
* @since 1.0.0
|
94 |
*/
|
95 |
public function hooks() {
|
|
|
|
|
96 |
add_action( 'admin_init', [ $this, 'init' ] );
|
97 |
add_action( 'admin_menu', [ $this, 'add_options_page' ], 999 );
|
98 |
|
@@ -107,6 +109,114 @@ class ConstantContact_Admin {
|
|
107 |
add_action( 'admin_enqueue_scripts', [ $this, 'scripts' ] );
|
108 |
}
|
109 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
110 |
|
111 |
/**
|
112 |
* Register our setting to WordPress.
|
@@ -146,6 +256,7 @@ class ConstantContact_Admin {
|
|
146 |
|
147 |
// Include CMB CSS in the head to avoid FOUC.
|
148 |
add_action( "admin_print_styles-{$this->options_page}", [ 'CMB2_hookup', 'enqueue_cmb_css' ] );
|
|
|
149 |
}
|
150 |
|
151 |
/**
|
@@ -163,37 +274,35 @@ class ConstantContact_Admin {
|
|
163 |
do_action( 'constant_contact_admin_before' );
|
164 |
|
165 |
?>
|
166 |
-
<div class="wrap cmb2-options-page <?php echo esc_attr( $this->key ); ?>">
|
167 |
-
|
168 |
-
|
169 |
-
|
170 |
-
|
171 |
-
|
172 |
-
|
173 |
-
|
174 |
-
|
175 |
-
|
176 |
-
|
177 |
-
|
178 |
-
|
179 |
-
|
180 |
-
|
181 |
-
|
182 |
-
|
183 |
-
|
184 |
-
|
185 |
-
|
186 |
-
|
187 |
-
|
188 |
-
|
189 |
-
|
190 |
-
break;
|
191 |
-
}
|
192 |
-
} else {
|
193 |
-
cmb2_metabox_form( $this->metabox_id, $this->key );
|
194 |
}
|
195 |
-
|
196 |
-
|
|
|
|
|
197 |
</div>
|
198 |
<?php
|
199 |
|
@@ -289,7 +398,13 @@ class ConstantContact_Admin {
|
|
289 |
|
290 |
switch ( $column ) {
|
291 |
case 'shortcodes':
|
|
|
292 |
echo esc_html( '[ctct form="' . $post_id . '" show_title="false"]' );
|
|
|
|
|
|
|
|
|
|
|
293 |
break;
|
294 |
case 'description':
|
295 |
echo wp_kses_post( wpautop( get_post_meta( $post_id, '_ctct_description', true ) ) );
|
93 |
* @since 1.0.0
|
94 |
*/
|
95 |
public function hooks() {
|
96 |
+
|
97 |
+
add_action( 'current_screen', [ $this, 'current_screen' ] );
|
98 |
add_action( 'admin_init', [ $this, 'init' ] );
|
99 |
add_action( 'admin_menu', [ $this, 'add_options_page' ], 999 );
|
100 |
|
109 |
add_action( 'admin_enqueue_scripts', [ $this, 'scripts' ] );
|
110 |
}
|
111 |
|
112 |
+
/**
|
113 |
+
* Adds functionality to Constant Contact admin screen.
|
114 |
+
*
|
115 |
+
* @param array $screen Details on the current admin screen.
|
116 |
+
* @return void
|
117 |
+
* @since 1.11.0
|
118 |
+
* @author Darren Cooney <darren.cooney@webdevstudios.com>
|
119 |
+
*/
|
120 |
+
public function current_screen( $screen ) {
|
121 |
+
|
122 |
+
$post_type_array = [ 'ctct_forms', 'ctct_lists' ];
|
123 |
+
|
124 |
+
// Determine if the current page being viewed is Constant Contact.
|
125 |
+
if ( constant_contact()->is_constant_contact() ) {
|
126 |
+
add_action( 'in_admin_header', [ $this, 'admin_page_toolbar' ] );
|
127 |
+
}
|
128 |
+
}
|
129 |
+
|
130 |
+
|
131 |
+
/**
|
132 |
+
* Build the Constant Contact header toolbar.
|
133 |
+
*
|
134 |
+
* @return void
|
135 |
+
* @since 1.11.0
|
136 |
+
* @author Darren Cooney <darren.cooney@webdevstudios.com>
|
137 |
+
*/
|
138 |
+
public function admin_page_toolbar(){
|
139 |
+
|
140 |
+
global $submenu, $submenu_file, $plugin_page, $pagenow;
|
141 |
+
|
142 |
+
// Vars.
|
143 |
+
$cpt_slug = "ctct_forms";
|
144 |
+
$parent_slug = "edit.php?post_type=$cpt_slug";
|
145 |
+
|
146 |
+
// Generate array of menu items.
|
147 |
+
$tabs = array();
|
148 |
+
|
149 |
+
if ( isset( $submenu[ $parent_slug ] ) ) {
|
150 |
+
foreach ( $submenu[ $parent_slug ] as $i => $sub_item ) {
|
151 |
+
|
152 |
+
// Check user can access page.
|
153 |
+
if ( ! current_user_can( $sub_item[1] ) ) {
|
154 |
+
continue;
|
155 |
+
}
|
156 |
+
|
157 |
+
// Ignore "Add New".
|
158 |
+
if( $i === 10 ) {
|
159 |
+
continue;
|
160 |
+
}
|
161 |
+
|
162 |
+
// Define tab.
|
163 |
+
$tab = array(
|
164 |
+
'text' => $sub_item[0],
|
165 |
+
'url' => $sub_item[2]
|
166 |
+
);
|
167 |
+
|
168 |
+
// Convert submenu slug to "$parent_slug&page=test".
|
169 |
+
if( !strpos($sub_item[2], '.php') ) {
|
170 |
+
$tab['url'] = add_query_arg( array( 'page' => $sub_item[2] ), $parent_slug );
|
171 |
+
}
|
172 |
+
|
173 |
+
// Detect active state.
|
174 |
+
if( $submenu_file === $sub_item[2] || $plugin_page === $sub_item[2] ) {
|
175 |
+
$tab['is_active'] = true;
|
176 |
+
}
|
177 |
+
|
178 |
+
// Special case for "Add New" page.
|
179 |
+
if( $i === 5 && $submenu_file === "post-new.php?post_type=$cpt_slug" ) {
|
180 |
+
$tab['is_active'] = true;
|
181 |
+
}
|
182 |
+
|
183 |
+
$tabs[] = $tab;
|
184 |
+
}
|
185 |
+
}
|
186 |
+
|
187 |
+
$connect_title = esc_html__( 'Connected', 'constant-contact-forms' );
|
188 |
+
$connect_alt = esc_html__( 'Your Constant Contact account is connected!', 'constant-contact-forms' );
|
189 |
+
$api_status = esc_html( 'connected' );
|
190 |
+
if ( ! constant_contact()->api->is_connected() ) {
|
191 |
+
$connect_title = esc_html__( 'Disconnected', 'constant-contact-forms' );
|
192 |
+
$connect_alt = esc_html__( 'Your Constant Contact account is not connected.', 'constant-contact-forms' );
|
193 |
+
$api_status = esc_html( 'disconnected' );
|
194 |
+
}
|
195 |
+
?>
|
196 |
+
<div class="ctct-header">
|
197 |
+
<h2><?php esc_html_e( 'Constant Contact', 'constant-contact-forms' ); ?></h2>
|
198 |
+
<?php
|
199 |
+
if ( $tabs ) {
|
200 |
+
echo wp_kses( '<ul>', [ 'ul' => [] ] );
|
201 |
+
foreach( $tabs as $tab ) {
|
202 |
+
echo wp_kses( '<li>', [ 'li' => [] ] );
|
203 |
+
printf(
|
204 |
+
'<a class="ctct-item%s" href="%s">%s</a>',
|
205 |
+
! empty( $tab['is_active'] ) ? ' is-active' : '',
|
206 |
+
esc_url( $tab['url'] ),
|
207 |
+
esc_html( $tab['text'] )
|
208 |
+
);
|
209 |
+
echo wp_kses( '</li>', [ 'li' => [] ] );
|
210 |
+
}
|
211 |
+
echo wp_kses( '</ul>', [ 'ul' => [] ] );
|
212 |
+
}
|
213 |
+
?>
|
214 |
+
<a href="edit.php?post_type=ctct_forms&page=ctct_options_connect" class="ctct-status ctct-<?php echo $api_status; ?>" title="<?php echo $connect_alt; ?>">
|
215 |
+
<?php echo $connect_title; ?>
|
216 |
+
</a>
|
217 |
+
</div>
|
218 |
+
<?php
|
219 |
+
}
|
220 |
|
221 |
/**
|
222 |
* Register our setting to WordPress.
|
256 |
|
257 |
// Include CMB CSS in the head to avoid FOUC.
|
258 |
add_action( "admin_print_styles-{$this->options_page}", [ 'CMB2_hookup', 'enqueue_cmb_css' ] );
|
259 |
+
|
260 |
}
|
261 |
|
262 |
/**
|
274 |
do_action( 'constant_contact_admin_before' );
|
275 |
|
276 |
?>
|
277 |
+
<div class="wrap cmb2-options-page <?php echo esc_attr( $this->key ); ?> ctct-page-wrap">
|
278 |
+
|
279 |
+
<?php
|
280 |
+
|
281 |
+
$page = [];
|
282 |
+
// phpcs:disable WordPress.Security.NonceVerification -- OK accessing of $_GET values.
|
283 |
+
if ( isset( $_GET['page'] ) ) {
|
284 |
+
$page_key = sanitize_text_field( wp_unslash( $_GET['page'] ) );
|
285 |
+
$page = explode( $this->key . '_', $page_key );
|
286 |
+
}
|
287 |
+
// phpcs:enable WordPress.Security.NonceVerification
|
288 |
+
|
289 |
+
if ( isset( $page[1] ) && $page[1] ) {
|
290 |
+
|
291 |
+
switch ( esc_attr( $page[1] ) ) {
|
292 |
+
case 'about':
|
293 |
+
constant_contact()->admin_pages->about_page();
|
294 |
+
break;
|
295 |
+
case 'help':
|
296 |
+
constant_contact()->admin_pages->help_page();
|
297 |
+
break;
|
298 |
+
case 'license':
|
299 |
+
constant_contact()->admin_pages->license_page();
|
300 |
+
break;
|
|
|
|
|
|
|
|
|
301 |
}
|
302 |
+
} else {
|
303 |
+
cmb2_metabox_form( $this->metabox_id, $this->key );
|
304 |
+
}
|
305 |
+
?>
|
306 |
</div>
|
307 |
<?php
|
308 |
|
398 |
|
399 |
switch ( $column ) {
|
400 |
case 'shortcodes':
|
401 |
+
echo '<div class="ctct-shortcode-wrap"><input class="ctct-shortcode" type="text" value="';
|
402 |
echo esc_html( '[ctct form="' . $post_id . '" show_title="false"]' );
|
403 |
+
echo '" readonly="readonly">';
|
404 |
+
echo '<button type="button" class="button" data-copied="' . esc_html( 'Copied!', 'constant-contact-forms' ) . '">';
|
405 |
+
echo esc_html__( 'Copy', 'constant-contact-forms' );
|
406 |
+
echo '</button>';
|
407 |
+
echo '</div>';
|
408 |
break;
|
409 |
case 'description':
|
410 |
echo wp_kses_post( wpautop( get_post_meta( $post_id, '_ctct_description', true ) ) );
|
includes/class-api.php
CHANGED
@@ -528,7 +528,7 @@ class ConstantContact_API {
|
|
528 |
$errors = $ex->getErrors();
|
529 |
$our_errors[] = $extra . ' - ' . $errors[0]->error_key . ' - ' . $errors[0]->error_message;
|
530 |
$this->log_errors( $our_errors );
|
531 |
-
if ( 400 !== $ex->getCode() || false
|
532 |
constant_contact_set_has_exceptions();
|
533 |
}
|
534 |
} catch ( Exception $ex ) {
|
@@ -537,7 +537,7 @@ class ConstantContact_API {
|
|
537 |
$error->error_message = $ex->getMessage();
|
538 |
|
539 |
add_filter( 'constant_contact_force_logging', '__return_true' );
|
540 |
-
if ( 400 !== $ex->getCode() || false
|
541 |
constant_contact_set_has_exceptions();
|
542 |
}
|
543 |
|
528 |
$errors = $ex->getErrors();
|
529 |
$our_errors[] = $extra . ' - ' . $errors[0]->error_key . ' - ' . $errors[0]->error_message;
|
530 |
$this->log_errors( $our_errors );
|
531 |
+
if ( 400 !== $ex->getCode() || false !== strpos( $ex->getMessage(), 'Bad request' ) ) {
|
532 |
constant_contact_set_has_exceptions();
|
533 |
}
|
534 |
} catch ( Exception $ex ) {
|
537 |
$error->error_message = $ex->getMessage();
|
538 |
|
539 |
add_filter( 'constant_contact_force_logging', '__return_true' );
|
540 |
+
if ( 400 !== $ex->getCode() || false !== strpos( $ex->getMessage(), 'Bad request' ) ) {
|
541 |
constant_contact_set_has_exceptions();
|
542 |
}
|
543 |
|
includes/class-beaver-builder.php
CHANGED
@@ -5,7 +5,7 @@
|
|
5 |
* @package ConstantContact
|
6 |
* @subpackage Beaver Builder
|
7 |
* @author Constant Contact
|
8 |
-
* @since
|
9 |
*
|
10 |
* phpcs:disable WebDevStudios.All.RequireAuthor -- Don't require author tag in docblocks.
|
11 |
*/
|
@@ -13,14 +13,14 @@
|
|
13 |
/**
|
14 |
* This class get's everything up an running for Beaver Builder support.
|
15 |
*
|
16 |
-
* @since
|
17 |
*/
|
18 |
class ConstantContact_Beaver_Builder {
|
19 |
|
20 |
/**
|
21 |
* Parent plugin class.
|
22 |
*
|
23 |
-
* @since
|
24 |
* @var object
|
25 |
*/
|
26 |
protected $plugin;
|
@@ -28,7 +28,7 @@ class ConstantContact_Beaver_Builder {
|
|
28 |
/**
|
29 |
* Constructor.
|
30 |
*
|
31 |
-
* @since
|
32 |
*
|
33 |
* @param object $plugin Parent plugin.
|
34 |
*/
|
@@ -42,7 +42,7 @@ class ConstantContact_Beaver_Builder {
|
|
42 |
/**
|
43 |
* Registers Beaver Builder Modules
|
44 |
*
|
45 |
-
* @since
|
46 |
*/
|
47 |
public function register_bb_modules() {
|
48 |
FLBuilder::register_module( 'CCForm', array(
|
@@ -76,7 +76,7 @@ class ConstantContact_Beaver_Builder {
|
|
76 |
/**
|
77 |
* Provides all Constant Contact Forms current Published.
|
78 |
*
|
79 |
-
* @since
|
80 |
*/
|
81 |
private function get_form_options () {
|
82 |
|
5 |
* @package ConstantContact
|
6 |
* @subpackage Beaver Builder
|
7 |
* @author Constant Contact
|
8 |
+
* @since 1.11.0
|
9 |
*
|
10 |
* phpcs:disable WebDevStudios.All.RequireAuthor -- Don't require author tag in docblocks.
|
11 |
*/
|
13 |
/**
|
14 |
* This class get's everything up an running for Beaver Builder support.
|
15 |
*
|
16 |
+
* @since 1.11.0
|
17 |
*/
|
18 |
class ConstantContact_Beaver_Builder {
|
19 |
|
20 |
/**
|
21 |
* Parent plugin class.
|
22 |
*
|
23 |
+
* @since 1.11.0
|
24 |
* @var object
|
25 |
*/
|
26 |
protected $plugin;
|
28 |
/**
|
29 |
* Constructor.
|
30 |
*
|
31 |
+
* @since 1.11.0
|
32 |
*
|
33 |
* @param object $plugin Parent plugin.
|
34 |
*/
|
42 |
/**
|
43 |
* Registers Beaver Builder Modules
|
44 |
*
|
45 |
+
* @since 1.10.0
|
46 |
*/
|
47 |
public function register_bb_modules() {
|
48 |
FLBuilder::register_module( 'CCForm', array(
|
76 |
/**
|
77 |
* Provides all Constant Contact Forms current Published.
|
78 |
*
|
79 |
+
* @since 1.10.0
|
80 |
*/
|
81 |
private function get_form_options () {
|
82 |
|
includes/class-connect.php
CHANGED
@@ -165,97 +165,129 @@ class ConstantContact_Connect {
|
|
165 |
|
166 |
wp_enqueue_script( 'ctct_form' );
|
167 |
?>
|
168 |
-
<div class="wrap
|
169 |
-
|
170 |
-
<div class="ctct-body">
|
171 |
<?php if ( constantcontact_api()->get_api_token() ) : ?>
|
172 |
|
173 |
-
|
174 |
-
|
175 |
-
|
176 |
-
|
177 |
-
|
178 |
-
|
179 |
-
|
180 |
-
|
181 |
-
|
182 |
-
|
183 |
-
|
184 |
-
|
185 |
-
|
186 |
-
|
187 |
-
|
188 |
-
|
189 |
-
|
190 |
}
|
191 |
-
|
192 |
-
|
193 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
194 |
<form method="post" action="<?php echo esc_url( $this->redirect_url ); ?>">
|
195 |
<?php wp_nonce_field( 'ctct-admin-disconnect', 'ctct-admin-disconnect' ); ?>
|
196 |
<input type="hidden" id="ctct-disconnect" name="ctct-disconnect" value="true">
|
197 |
-
<input type="submit" class="button ctct-disconnect" value="<?php esc_html_e( 'Disconnect', 'constant-contact-forms' ); ?>">
|
198 |
</form>
|
199 |
</div>
|
|
|
200 |
|
201 |
-
|
202 |
-
|
203 |
-
|
204 |
-
|
205 |
-
|
206 |
-
|
207 |
-
|
208 |
-
|
209 |
-
|
210 |
-
|
211 |
-
|
212 |
-
|
213 |
-
|
214 |
-
<div class="ctct-connected-opt-in">
|
215 |
-
<h3><?php esc_html_e( 'Please help to improve this plugin.', 'constant-contact-forms' ); ?></h3>
|
216 |
-
<p>
|
217 |
-
<?php
|
218 |
-
printf(
|
219 |
-
/* Translators: Placeholder will hold link to Constant Contact privacy statement. */
|
220 |
-
esc_html__( 'Allow Constant Contact to use Google Analytics™ to track your usage across the Constant Contact Forms plugin. You can opt-out within the Settings page. See our %1$s.', 'constant-contact-forms' ),
|
221 |
-
sprintf(
|
222 |
-
'<a href="https://www.constantcontact.com/legal/privacy-statement">%1$s</a>',
|
223 |
-
esc_html__( 'Privacy Statement', 'constant-contact-forms' )
|
224 |
-
)
|
225 |
-
);
|
226 |
-
?>
|
227 |
-
</p>
|
228 |
-
|
229 |
-
<div id="ctct-connect-ga-optin" class="ctct-connect-ga-optin">
|
230 |
-
<a class="button button-blue ctct-connect" data-allow="on"><?php esc_html_e( 'Allow', 'constant-contact-forms' ); ?></a>
|
231 |
-
<a class="button no-bg" data-allow="off"><?php esc_html_e( 'Dismiss', 'constant-contact-forms' ); ?></a>
|
232 |
-
</div>
|
233 |
-
</div>
|
234 |
|
235 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
236 |
</div>
|
237 |
|
238 |
-
|
239 |
-
|
240 |
-
|
241 |
-
|
242 |
-
|
243 |
-
|
244 |
-
|
245 |
-
|
246 |
-
|
247 |
-
|
248 |
-
|
249 |
-
|
250 |
-
|
251 |
-
|
252 |
-
|
253 |
-
|
254 |
-
|
255 |
-
|
256 |
-
|
257 |
-
|
258 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
259 |
</div>
|
260 |
<?php
|
261 |
|
@@ -265,56 +297,25 @@ class ConstantContact_Connect {
|
|
265 |
|
266 |
if ( $auth_link ) :
|
267 |
?>
|
268 |
-
<a href="<?php echo esc_url_raw( $auth_link ); ?>" class="button button-blue ctct-connect">
|
269 |
<?php esc_html_e( 'Connect Plugin', 'constant-contact-forms' ); ?>
|
270 |
</a>
|
271 |
<?php endif; ?>
|
272 |
</div>
|
273 |
|
274 |
-
<
|
275 |
-
|
276 |
-
|
277 |
-
|
278 |
-
<h3><?php esc_html_e( 'No Constant Contact account? Try us out.', 'constant-contact-forms' ); ?></h3>
|
279 |
-
<p><?php esc_html_e( 'Create professional emails so you can nurture great relationships with new contacts even after they leave your website. Sign up for a free 60-day trial.', 'constant-contact-forms' ); ?></p>
|
280 |
</div>
|
281 |
-
<a class="button button-orange" href="<?php echo esc_url_raw( add_query_arg( [ 'rmc' => 'wp_connect_try' ], constant_contact()->api->get_signup_link() ) ); ?>"><?php esc_attr_e( 'Try
|
282 |
-
</div>
|
283 |
-
|
284 |
-
<form id="subscribe" accept-charset="utf-8" action="https://cloud.c.constantcontact.com/jmmlsubscriptions/coi_verify" method="get" target="_blank">
|
285 |
-
<div class="ctct-call-to-action">
|
286 |
-
|
287 |
-
<div class="ctct-call-to-action-text">
|
288 |
-
<h3><?php esc_html_e( 'Email marketing tips delivered to your inbox.', 'constant-contact-forms' ); ?></h3>
|
289 |
-
<p><?php esc_html_e( 'Ready to grow with email marketing? Subscribe now for the latest tips and industry best practices to create great-looking emails that work.', 'constant-contact-forms' ); ?></p>
|
290 |
-
|
291 |
-
<input id="subbox" maxlength="255" name="email" type="text" placeholder="<?php esc_attr_e( 'Enter your email address', 'constant-contact-forms' ); ?>">
|
292 |
-
<input name="sub" type="hidden" value="3" />
|
293 |
-
<input name="method" type="hidden" value="JMML" />
|
294 |
-
<input name="page" type="hidden" value="Sub3_Prospect" />
|
295 |
-
|
296 |
-
<p>
|
297 |
-
<small>
|
298 |
-
<?php
|
299 |
-
printf(
|
300 |
-
// translators: placeholder will hold ConstantContact.com link.
|
301 |
-
esc_html__( 'By submitting this form, you agree to receive periodic product announcements and account notifications from Constant Contact. Cancel these communications at any time by clicking the unsubscribe link in the footer of the actual email. Constant Contact, Inc, 1601 Trapelo Road, Waltham, MA 02451, %1$s', 'constant-contact-forms' ),
|
302 |
-
'<a href="https://www.constantcontact.com">www.constantcontact.com</a>'
|
303 |
-
);
|
304 |
-
?>
|
305 |
-
</small>
|
306 |
-
</p>
|
307 |
-
</div>
|
308 |
-
|
309 |
-
<input class="button" id="subbutton" type="submit" value="<?php esc_attr_e( 'Sign Up', 'constant-contact-forms' ); ?>">
|
310 |
</div>
|
311 |
-
|
312 |
|
313 |
-
|
314 |
-
|
315 |
-
|
316 |
-
|
317 |
-
</div>
|
318 |
<?php
|
319 |
return true;
|
320 |
}
|
165 |
|
166 |
wp_enqueue_script( 'ctct_form' );
|
167 |
?>
|
168 |
+
<div class="wrap <?php echo esc_attr( $this->key ); ?>">
|
169 |
+
|
|
|
170 |
<?php if ( constantcontact_api()->get_api_token() ) : ?>
|
171 |
|
172 |
+
<div class="ctct-connected">
|
173 |
+
<div class="ctct-connected-wrap">
|
174 |
+
<h2><?php esc_html_e( 'Account Connected!', 'constant-contact-forms' ); ?></h2>
|
175 |
+
<p class="ctct-description">
|
176 |
+
<?php esc_html_e( 'You are connected to your Constant Contact account.', 'constant-contact-forms' ); ?>
|
177 |
+
</p>
|
178 |
+
<div class="ctct-connection-details">
|
179 |
+
<p class="ctct-label">
|
180 |
+
<strong><?php esc_html_e( 'Account Name:', 'constant-contact-forms' ); ?></strong>
|
181 |
+
</p>
|
182 |
+
<p>
|
183 |
+
<?php
|
184 |
+
$token = constant_contact()->api->get_api_token();
|
185 |
+
try {
|
186 |
+
$account = constant_contact()->api->cc()->accountService->getAccountInfo( $token );
|
187 |
+
if ( $account ) {
|
188 |
+
echo esc_html( $account->first_name . ' ' . $account->last_name );
|
189 |
}
|
190 |
+
} catch ( CtctException $ex ) {
|
191 |
+
esc_html_e( 'There was an issue with retrieving connected account information. Please try again.', 'constant-contact-forms' );
|
192 |
+
}
|
193 |
+
?>
|
194 |
+
</p>
|
195 |
+
</div>
|
196 |
+
<div class="ctct-connection-details">
|
197 |
+
<p class="ctct-label">
|
198 |
+
<strong><?php esc_html_e( 'Email Address:', 'constant-contact-forms' ); ?></strong>
|
199 |
+
</p>
|
200 |
+
<p>
|
201 |
+
<?php
|
202 |
+
if ( $account ) {
|
203 |
+
echo '<a href="mailto:' . esc_html( $account->email ) . '">' . esc_html( $account->email ) . '</a>';
|
204 |
+
}
|
205 |
+
?>
|
206 |
+
</p>
|
207 |
+
</div>
|
208 |
+
<div class="ctct-connection-details">
|
209 |
+
<p class="ctct-label">
|
210 |
+
<strong><?php esc_html_e( 'Status:', 'constant-contact-forms' ); ?></strong>
|
211 |
+
</p>
|
212 |
<form method="post" action="<?php echo esc_url( $this->redirect_url ); ?>">
|
213 |
<?php wp_nonce_field( 'ctct-admin-disconnect', 'ctct-admin-disconnect' ); ?>
|
214 |
<input type="hidden" id="ctct-disconnect" name="ctct-disconnect" value="true">
|
215 |
+
<input type="submit" class="button button-primary ctct-disconnect" value="<?php esc_html_e( 'Disconnect', 'constant-contact-forms' ); ?>">
|
216 |
</form>
|
217 |
</div>
|
218 |
+
</div>
|
219 |
|
220 |
+
<?php //if ( ! constant_contact_has_forms() ) : ?>
|
221 |
+
|
222 |
+
<hr />
|
223 |
+
|
224 |
+
<?php // phpcs:disable WordPress.WP.EnqueuedResources -- Ok use of inline scripts. ?>
|
225 |
+
|
226 |
+
<div class="ctct-connected-next-step">
|
227 |
+
<div class="ctct-video">
|
228 |
+
<script src="https://fast.wistia.com/embed/medias/xix7jf8p55.jsonp" async></script>
|
229 |
+
<script src="https://fast.wistia.com/assets/external/E-v1.js" async></script>
|
230 |
+
<div class="wistia_embed wistia_async_xix7jf8p55 seo=false" style="height:225px;width:400px;margin:0 auto;"> </div>
|
231 |
+
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
232 |
|
233 |
+
<div>
|
234 |
+
<h3><?php esc_html_e( 'Turn Contacts into Customers!', 'constant-contact-forms' ); ?></h3>
|
235 |
+
<p><?php esc_html_e( 'You site is connected to Constant Contact and ready to start collecting visitor information. ', 'constant-contact-forms' ); ?></p>
|
236 |
+
<p><?php esc_html_e( 'Get started by watching our introduction video to get the most out of the plugin.', 'constant-contact-forms' ); ?></p>
|
237 |
+
<a href="post-new.php?post_type=ctct_forms" class="button"><?php esc_html_e( 'Add Form', 'constant-contact-forms' ); ?></a>
|
238 |
+
</div>
|
239 |
+
</div>
|
240 |
+
<?php // phpcs:enable WordPress.WP.EnqueuedResources ?>
|
241 |
+
|
242 |
+
<div class="ctct-connected-opt-in">
|
243 |
+
<div>
|
244 |
+
<h3><?php esc_html_e( 'Please Help to Improve this Plugin', 'constant-contact-forms' ); ?></h3>
|
245 |
+
<p>
|
246 |
+
<?php
|
247 |
+
printf(
|
248 |
+
/* Translators: Placeholder will hold link to Constant Contact privacy statement. */
|
249 |
+
esc_html__( 'Allow Constant Contact to use Google Analytics™ to track your usage across the Constant Contact Forms plugin. You can opt-out within the Settings page. See our %1$s.', 'constant-contact-forms' ),
|
250 |
+
sprintf(
|
251 |
+
'<a href="https://www.constantcontact.com/legal/privacy-statement">%1$s</a>',
|
252 |
+
esc_html__( 'Privacy Statement', 'constant-contact-forms' )
|
253 |
+
)
|
254 |
+
);
|
255 |
+
?>
|
256 |
+
</p>
|
257 |
+
</div>
|
258 |
+
<div id="ctct-connect-ga-optin" class="ctct-connect-ga-optin">
|
259 |
+
<a class="button button-primary ctct-connect" data-allow="on"><?php esc_html_e( 'Allow', 'constant-contact-forms' ); ?></a>
|
260 |
+
<a class="button" data-allow="off"><?php esc_html_e( 'Dismiss', 'constant-contact-forms' ); ?></a>
|
261 |
+
</div>
|
262 |
</div>
|
263 |
|
264 |
+
<?php // endif; ?>
|
265 |
+
</div>
|
266 |
+
|
267 |
+
<?php else : ?>
|
268 |
+
|
269 |
+
<?php
|
270 |
+
// phpcs:disable WordPress.Security.NonceVerification -- OK direct-accessing of $_GET.
|
271 |
+
if ( isset( $_GET['ctct_connect_error'] ) ) :
|
272 |
+
?>
|
273 |
+
<div id="message" class="ctct-error"><p>
|
274 |
+
<?php esc_html_e( 'There was an error connecting your account. Please try again.', 'constant-contact-forms' ); ?>
|
275 |
+
</p></div>
|
276 |
+
<?php
|
277 |
+
endif;
|
278 |
+
// phpcs:enable WordPress.Security.NonceVerification
|
279 |
+
?>
|
280 |
+
|
281 |
+
<h2><?php esc_html_e( 'Connect Now', 'constant-contact-forms' ); ?></h2>
|
282 |
+
<p class="ctct-description">
|
283 |
+
<?php esc_html_e( "Get the most out of this plugin — use it with an active Constant Contact account. By connecting to an account, you'll be able to engage visitors through email marketing and turn more of them into customers.", 'constant-contact-forms' ); ?>
|
284 |
+
</p>
|
285 |
+
|
286 |
+
<div class="ctct-call-to-actions">
|
287 |
+
<div class="ctct-call-to-actions--item connect-account">
|
288 |
+
<div>
|
289 |
+
<h3><?php esc_html_e( 'Connect to Constant Contact', 'constant-contact-forms' ); ?></h3>
|
290 |
+
<p><?php esc_html_e( 'By connecting to Constant Contact, you authorize this plugin to access your account.', 'constant-contact-forms' ); ?></p>
|
291 |
</div>
|
292 |
<?php
|
293 |
|
297 |
|
298 |
if ( $auth_link ) :
|
299 |
?>
|
300 |
+
<a href="<?php echo esc_url_raw( $auth_link ); ?>" class="button ctct-button button-blue ctct-connect">
|
301 |
<?php esc_html_e( 'Connect Plugin', 'constant-contact-forms' ); ?>
|
302 |
</a>
|
303 |
<?php endif; ?>
|
304 |
</div>
|
305 |
|
306 |
+
<div class="ctct-call-to-actions--item no-account">
|
307 |
+
<div>
|
308 |
+
<h3><?php esc_html_e( 'No Constant Contact Account?', 'constant-contact-forms' ); ?></h3>
|
309 |
+
<p><?php esc_html_e( 'Create professional emails to nurture relationships with contacts even after they leave your website. Sign up for a free 60-day trial.', 'constant-contact-forms' ); ?></p>
|
|
|
|
|
310 |
</div>
|
311 |
+
<a class="button ctct-button button-orange" href="<?php echo esc_url_raw( add_query_arg( [ 'rmc' => 'wp_connect_try' ], constant_contact()->api->get_signup_link() ) ); ?>"><?php esc_attr_e( 'Try Us Free', 'constant-contact-forms' ); ?></a>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
312 |
</div>
|
313 |
+
</div>
|
314 |
|
315 |
+
<p class="small">
|
316 |
+
<strong><?php esc_html_e( 'NOTE: ', 'constant-contact-forms' ); ?></strong><?php esc_html_e( "It's possible to use the plugin without connecting to a Constant Contact account. In this case, all information collected by the forms will be individually emailed to the Site Admin.", 'constant-contact-forms' ); ?>
|
317 |
+
</p>
|
318 |
+
<?php endif; ?>
|
|
|
319 |
<?php
|
320 |
return true;
|
321 |
}
|
includes/class-cpts.php
CHANGED
@@ -65,9 +65,9 @@ class ConstantContact_CPTS {
|
|
65 |
'name_admin_bar' => __( 'Contact Form', 'constant-contact-forms' ),
|
66 |
'archives' => __( 'Form Archives', 'constant-contact-forms' ),
|
67 |
'parent_item_colon' => __( 'Parent Form:', 'constant-contact-forms' ),
|
68 |
-
'all_items' => __( '
|
69 |
'add_new_item' => __( 'Add New Form', 'constant-contact-forms' ),
|
70 |
-
'add_new' => __( 'Add
|
71 |
'new_item' => __( 'New Form', 'constant-contact-forms' ),
|
72 |
'edit_item' => __( 'Edit Form', 'constant-contact-forms' ),
|
73 |
'update_item' => __( 'Update Form', 'constant-contact-forms' ),
|
65 |
'name_admin_bar' => __( 'Contact Form', 'constant-contact-forms' ),
|
66 |
'archives' => __( 'Form Archives', 'constant-contact-forms' ),
|
67 |
'parent_item_colon' => __( 'Parent Form:', 'constant-contact-forms' ),
|
68 |
+
'all_items' => __( 'Forms', 'constant-contact-forms' ),
|
69 |
'add_new_item' => __( 'Add New Form', 'constant-contact-forms' ),
|
70 |
+
'add_new' => __( 'Add Form', 'constant-contact-forms' ),
|
71 |
'new_item' => __( 'New Form', 'constant-contact-forms' ),
|
72 |
'edit_item' => __( 'Edit Form', 'constant-contact-forms' ),
|
73 |
'update_item' => __( 'Update Form', 'constant-contact-forms' ),
|
includes/class-display.php
CHANGED
@@ -540,8 +540,7 @@ class ConstantContact_Display {
|
|
540 |
*/
|
541 |
public function build_honeypot_field() {
|
542 |
return sprintf(
|
543 |
-
'<div class="ctct_usage"><label for="ctct_usage_field">%s</label><input type="text" value="" name="ctct_usage_field" class="ctct_usage_field" tabindex="-1" /></div>',
|
544 |
-
esc_html__( 'Constant Contact Use.', 'constant-contact-forms' )
|
545 |
);
|
546 |
}
|
547 |
|
@@ -995,6 +994,7 @@ class ConstantContact_Display {
|
|
995 |
$field_key = sanitize_title( $id );
|
996 |
$field_id = "{$field_key}_{$instance}_{$id_salt}";
|
997 |
$input_inline_styles = '';
|
|
|
998 |
$label_placement_class = 'ctct-label-' . $label_placement;
|
999 |
$specific_form_styles = $this->specific_form_styles;
|
1000 |
$inline_font_styles = $this->get_inline_font_color();
|
@@ -1003,6 +1003,10 @@ class ConstantContact_Display {
|
|
1003 |
$input_inline_styles = $this->get_submit_inline_styles();
|
1004 |
}
|
1005 |
|
|
|
|
|
|
|
|
|
1006 |
$type = sanitize_text_field( $type );
|
1007 |
$value = sanitize_text_field( $value );
|
1008 |
$label = esc_html( sanitize_text_field( $label ) );
|
@@ -1070,8 +1074,10 @@ class ConstantContact_Display {
|
|
1070 |
$class_attr = 'class="' . implode( ' ', $classes ) . '"';
|
1071 |
}
|
1072 |
|
1073 |
-
|
1074 |
-
|
|
|
|
|
1075 |
$markup .= sprintf(
|
1076 |
$field,
|
1077 |
$req_text,
|
@@ -1082,7 +1088,8 @@ class ConstantContact_Display {
|
|
1082 |
$max_length,
|
1083 |
"placeholder=\"{$label}\"",
|
1084 |
$class_attr,
|
1085 |
-
"id=\"{$field_id}\""
|
|
|
1086 |
);
|
1087 |
|
1088 |
// Reassign because if we want "field only", like for hidden inputs, we need to still pass a value that went through sprintf().
|
540 |
*/
|
541 |
public function build_honeypot_field() {
|
542 |
return sprintf(
|
543 |
+
'<div class="ctct_usage"><label for="ctct_usage_field">%s</label><input type="text" value="" id="ctct_usage_field" name="ctct_usage_field" class="ctct_usage_field" tabindex="-1" /></div>', esc_html__( 'Constant Contact Use. Please leave this field blank.', 'constant-contact-forms' )
|
|
|
544 |
);
|
545 |
}
|
546 |
|
994 |
$field_key = sanitize_title( $id );
|
995 |
$field_id = "{$field_key}_{$instance}_{$id_salt}";
|
996 |
$input_inline_styles = '';
|
997 |
+
$tel_regex_pattern = '';
|
998 |
$label_placement_class = 'ctct-label-' . $label_placement;
|
999 |
$specific_form_styles = $this->specific_form_styles;
|
1000 |
$inline_font_styles = $this->get_inline_font_color();
|
1003 |
$input_inline_styles = $this->get_submit_inline_styles();
|
1004 |
}
|
1005 |
|
1006 |
+
if ( 'tel' === $type ) {
|
1007 |
+
$tel_regex_pattern = '^[0-9\-\+\.()]*';
|
1008 |
+
}
|
1009 |
+
|
1010 |
$type = sanitize_text_field( $type );
|
1011 |
$value = sanitize_text_field( $value );
|
1012 |
$label = esc_html( sanitize_text_field( $label ) );
|
1074 |
$class_attr = 'class="' . implode( ' ', $classes ) . '"';
|
1075 |
}
|
1076 |
|
1077 |
+
$tel_pattern_title = apply_filters( 'constant_contact_tel_pattern_title', esc_html__( 'numbers, dashes, pluses, periods, and parentheses', 'constant-contact-forms' ) );
|
1078 |
+
|
1079 |
+
/* translators: 1: Required text, 2: Field type, 3: Field name, 4: Inline styles, 5: Field value, 6: Max length, 7: Placeholder, 8: Field class(es), 9: Field ID., 10: Tel Regex Pattern. */
|
1080 |
+
$field = '<input %1$s type="%2$s" name="%3$s" %4$s value="%5$s" %6$s %7$s %8$s %9$s %10$s />';
|
1081 |
$markup .= sprintf(
|
1082 |
$field,
|
1083 |
$req_text,
|
1088 |
$max_length,
|
1089 |
"placeholder=\"{$label}\"",
|
1090 |
$class_attr,
|
1091 |
+
"id=\"{$field_id}\"",
|
1092 |
+
$tel_regex_pattern ? "pattern=\"{$tel_regex_pattern}\" title=\"{$tel_pattern_title}\"" : ''
|
1093 |
);
|
1094 |
|
1095 |
// Reassign because if we want "field only", like for hidden inputs, we need to still pass a value that went through sprintf().
|
includes/class-elementor.php
CHANGED
@@ -5,7 +5,7 @@
|
|
5 |
* @package ConstantContact
|
6 |
* @subpackage Elementor
|
7 |
* @author Constant Contact
|
8 |
-
* @since
|
9 |
*
|
10 |
* phpcs:disable WebDevStudios.All.RequireAuthor -- Don't require author tag in docblocks.
|
11 |
*/
|
@@ -13,14 +13,14 @@
|
|
13 |
/**
|
14 |
* This class get's everything up an running for Elementor support.
|
15 |
*
|
16 |
-
* @since
|
17 |
*/
|
18 |
class ConstantContact_Elementor {
|
19 |
|
20 |
/**
|
21 |
* Parent plugin class.
|
22 |
*
|
23 |
-
* @since
|
24 |
* @var object
|
25 |
*/
|
26 |
protected $plugin;
|
@@ -28,7 +28,7 @@ class ConstantContact_Elementor {
|
|
28 |
/**
|
29 |
* Constructor.
|
30 |
*
|
31 |
-
* @since
|
32 |
*
|
33 |
* @param object $plugin Parent plugin.
|
34 |
*/
|
@@ -40,7 +40,7 @@ class ConstantContact_Elementor {
|
|
40 |
/**
|
41 |
* Register Hooks
|
42 |
*
|
43 |
-
* @since
|
44 |
*/
|
45 |
private function hooks() {
|
46 |
add_action( 'elementor/widgets/widgets_registered', [ $this, 'register_widget' ] );
|
@@ -49,7 +49,7 @@ class ConstantContact_Elementor {
|
|
49 |
/**
|
50 |
* Registers all Elementor Widgets
|
51 |
*
|
52 |
-
* @since
|
53 |
*/
|
54 |
public function register_widget() {
|
55 |
require_once( __DIR__ . '/widgets/elementor-widget.php' );
|
5 |
* @package ConstantContact
|
6 |
* @subpackage Elementor
|
7 |
* @author Constant Contact
|
8 |
+
* @since 1.11.0
|
9 |
*
|
10 |
* phpcs:disable WebDevStudios.All.RequireAuthor -- Don't require author tag in docblocks.
|
11 |
*/
|
13 |
/**
|
14 |
* This class get's everything up an running for Elementor support.
|
15 |
*
|
16 |
+
* @since 1.11.0
|
17 |
*/
|
18 |
class ConstantContact_Elementor {
|
19 |
|
20 |
/**
|
21 |
* Parent plugin class.
|
22 |
*
|
23 |
+
* @since 1.11.0
|
24 |
* @var object
|
25 |
*/
|
26 |
protected $plugin;
|
28 |
/**
|
29 |
* Constructor.
|
30 |
*
|
31 |
+
* @since 1.11.0
|
32 |
*
|
33 |
* @param object $plugin Parent plugin.
|
34 |
*/
|
40 |
/**
|
41 |
* Register Hooks
|
42 |
*
|
43 |
+
* @since 1.10.0
|
44 |
*/
|
45 |
private function hooks() {
|
46 |
add_action( 'elementor/widgets/widgets_registered', [ $this, 'register_widget' ] );
|
49 |
/**
|
50 |
* Registers all Elementor Widgets
|
51 |
*
|
52 |
+
* @since 1.10.0
|
53 |
*/
|
54 |
public function register_widget() {
|
55 |
require_once( __DIR__ . '/widgets/elementor-widget.php' );
|
includes/class-logging.php
CHANGED
@@ -172,7 +172,7 @@ class ConstantContact_Logging {
|
|
172 |
return;
|
173 |
}
|
174 |
|
175 |
-
$connect_title = esc_html__( 'Debug
|
176 |
$connect_link = 'edit.php?post_type=ctct_forms';
|
177 |
|
178 |
$this->options_page = add_submenu_page(
|
@@ -212,65 +212,64 @@ class ConstantContact_Logging {
|
|
212 |
wp_enqueue_style( 'constant-contact-forms-admin' );
|
213 |
|
214 |
?>
|
215 |
-
<div class="wrap <?php echo esc_attr( $this->key ); ?>">
|
216 |
-
<
|
217 |
-
|
218 |
-
|
|
|
|
|
219 |
|
220 |
-
|
|
|
|
|
221 |
|
222 |
-
|
223 |
-
|
224 |
-
|
|
|
|
|
|
|
|
|
225 |
|
226 |
-
|
227 |
-
|
228 |
-
|
229 |
-
esc_html__( 'We are not able to write to the %s file.', 'constant-contact-forms' ),
|
230 |
-
constant_contact()->logger_location
|
231 |
-
);
|
232 |
-
}
|
233 |
|
234 |
-
|
235 |
-
|
236 |
-
|
|
|
|
|
237 |
|
|
|
238 |
?>
|
239 |
-
<p><?php esc_html_e( 'Error log
|
240 |
-
<p><?php esc_html_e( 'When available, you can share information by copying and pasting the content in the textarea, or by using the "Download logs" link at the end. Logs can be cleared by using the "Delete logs" link.', 'constant-contact-forms' ); ?></p>
|
241 |
-
<textarea name="ctct_error_logs" id="ctct_error_logs" cols="80" rows="40" onclick="this.focus();this.select();" onfocus="this.focus();this.select();" readonly="readonly" aria-readonly="true"><?php echo esc_html( $contents ); ?></textarea>
|
242 |
<?php
|
|
|
243 |
|
244 |
-
|
245 |
-
|
246 |
-
|
247 |
<?php
|
248 |
-
|
249 |
-
|
250 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
251 |
?>
|
252 |
-
|
253 |
-
|
254 |
-
|
255 |
-
|
256 |
-
|
257 |
-
esc_html__( 'Download logs', 'constant-contact-forms' ),
|
258 |
-
esc_attr(
|
259 |
-
wp_nonce_url(
|
260 |
-
$this->options_url,
|
261 |
-
'ctct_delete_log',
|
262 |
-
'ctct_delete_log'
|
263 |
-
)
|
264 |
-
),
|
265 |
-
esc_html__( 'Delete logs', 'constant-contact-forms' )
|
266 |
-
);
|
267 |
-
?>
|
268 |
-
</p>
|
269 |
-
<?php
|
270 |
-
}
|
271 |
-
// @TODO Remind to turn off debugging setting when not needed.
|
272 |
-
?>
|
273 |
-
</div>
|
274 |
</div>
|
275 |
<?php
|
276 |
return true;
|
172 |
return;
|
173 |
}
|
174 |
|
175 |
+
$connect_title = esc_html__( 'Debug Logs', 'constant-contact-forms' );
|
176 |
$connect_link = 'edit.php?post_type=ctct_forms';
|
177 |
|
178 |
$this->options_page = add_submenu_page(
|
212 |
wp_enqueue_style( 'constant-contact-forms-admin' );
|
213 |
|
214 |
?>
|
215 |
+
<div class="wrap ctct-page-wrap <?php echo esc_attr( $this->key ); ?>">
|
216 |
+
<h2><?php esc_html_e( 'Debug Logs', 'constant-contact-forms' ); ?></h2>
|
217 |
+
|
218 |
+
<?php
|
219 |
+
|
220 |
+
$contents = esc_html__( 'No errors exists.', 'constant-contact-forms' );
|
221 |
|
222 |
+
if ( ! file_exists( $this->log_location_file ) ) {
|
223 |
+
$contents = esc_html__( 'No error log exists.', 'constant-contact-forms' );
|
224 |
+
}
|
225 |
|
226 |
+
if ( ! is_writable( $this->log_location_file ) ) {
|
227 |
+
$contents = sprintf(
|
228 |
+
/* Translators: placeholder holds the log location. */
|
229 |
+
esc_html__( 'We are not able to write to the %s file.', 'constant-contact-forms' ),
|
230 |
+
constant_contact()->logger_location
|
231 |
+
);
|
232 |
+
}
|
233 |
|
234 |
+
if ( is_file( $this->log_location_file ) && is_readable( $this->log_location_file ) ) {
|
235 |
+
$contents = file_get_contents( $this->log_location_file ); // phpcs:ignore WordPress.WP.AlternativeFunctions.file_get_contents_file_get_contents -- Not reading over network, it's on the filesystem.
|
236 |
+
}
|
|
|
|
|
|
|
|
|
237 |
|
238 |
+
?>
|
239 |
+
<p class="large-text"><?php esc_html_e( 'The error log below can be used with support requests to help identify issues with Constant Contact Forms.', 'constant-contact-forms' ); ?></p>
|
240 |
+
<p><?php esc_html_e( 'When available, you can share information by copying and pasting the content in the textarea, or by using the "Download logs" link below. Logs can be cleared by using the "Delete logs" link.', 'constant-contact-forms' ); ?></p>
|
241 |
+
<textarea name="ctct_error_logs" id="ctct_error_logs" cols="80" rows="40" onclick="this.focus();this.select();" onfocus="this.focus();this.select();" readonly="readonly" aria-readonly="true"><?php echo esc_html( $contents ); ?></textarea>
|
242 |
+
<?php
|
243 |
|
244 |
+
if ( is_file( $this->log_location_file ) && ! is_readable( $this->log_location_file ) ) {
|
245 |
?>
|
246 |
+
<p><?php esc_html_e( 'Error log may still have content, even if an error is shown above. Please use the download link below.', 'constant-contact-forms' ); ?></p>
|
|
|
|
|
247 |
<?php
|
248 |
+
}
|
249 |
|
250 |
+
if ( file_exists( $this->log_location_file ) ) {
|
251 |
+
?>
|
252 |
+
<div class="ctct-button-actions">
|
253 |
<?php
|
254 |
+
printf(
|
255 |
+
'<a class="button button-primary" href="%s" download>%s</a> <a class="button" href="%s" id="deletelog">%s</a>',
|
256 |
+
esc_attr( $this->log_location_url ),
|
257 |
+
esc_html__( 'Download logs', 'constant-contact-forms' ),
|
258 |
+
esc_attr(
|
259 |
+
wp_nonce_url(
|
260 |
+
$this->options_url,
|
261 |
+
'ctct_delete_log',
|
262 |
+
'ctct_delete_log'
|
263 |
+
)
|
264 |
+
),
|
265 |
+
esc_html__( 'Delete logs', 'constant-contact-forms' )
|
266 |
+
);
|
267 |
?>
|
268 |
+
</div>
|
269 |
+
<?php
|
270 |
+
}
|
271 |
+
// @TODO Remind to turn off debugging setting when not needed.
|
272 |
+
?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
273 |
</div>
|
274 |
<?php
|
275 |
return true;
|
includes/class-settings.php
CHANGED
@@ -234,7 +234,7 @@ class ConstantContact_Settings {
|
|
234 |
$tabs = $this->get_option_tabs( $cmb_options );
|
235 |
$current = $this->get_current_tab();
|
236 |
?>
|
237 |
-
<div class="wrap cmb2-options-page option-<?php echo esc_attr( $cmb_options->option_key ); ?>">
|
238 |
<?php if ( get_admin_page_title() ) : ?>
|
239 |
<h2><?php echo wp_kses_post( get_admin_page_title() ); ?></h2>
|
240 |
<?php endif; ?>
|
@@ -323,7 +323,7 @@ class ConstantContact_Settings {
|
|
323 |
protected function get_cmb_args( $cmb_id ) {
|
324 |
return [
|
325 |
'id' => "{$this->metabox_id}_{$cmb_id}",
|
326 |
-
'title' => esc_html__( '
|
327 |
'menu_title' => esc_html__( 'Settings', 'constant-contact-forms' ),
|
328 |
'object_types' => [ 'options-page' ],
|
329 |
'option_key' => "{$this->key}_{$cmb_id}",
|
@@ -343,12 +343,20 @@ class ConstantContact_Settings {
|
|
343 |
protected function register_fields_general() {
|
344 |
$cmb = new_cmb2_box( $this->get_cmb_args( 'general' ) );
|
345 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
346 |
$cmb->add_field( [
|
347 |
'name' => esc_html__( 'Google Analytics™ tracking opt-in.', 'constant-contact-forms' ),
|
348 |
'id' => '_ctct_data_tracking',
|
349 |
'type' => 'checkbox',
|
350 |
'desc' => __( 'Allow Constant Contact to use Google Analytics™ to track your usage across the Constant Contact Forms plugin.<br/> NOTE — Your website and users will not be tracked. See our <a href="https://www.endurance.com/privacy"> Privacy Statement</a> information about what is and is not tracked.', 'constant-contact-forms' ),
|
351 |
-
|
|
|
352 |
|
353 |
if ( constant_contact()->api->is_connected() ) {
|
354 |
|
@@ -476,6 +484,14 @@ class ConstantContact_Settings {
|
|
476 |
'constant-contact-forms'
|
477 |
),
|
478 |
] );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
479 |
}
|
480 |
|
481 |
/**
|
@@ -493,7 +509,7 @@ class ConstantContact_Settings {
|
|
493 |
'<h2>',
|
494 |
esc_html__( 'Google reCAPTCHA', 'constant-contact-forms' ),
|
495 |
'</h2>',
|
496 |
-
'<div class="
|
497 |
esc_html__( 'Learn more and get an ', 'constant-contact-forms' ),
|
498 |
'<a href="https://www.google.com/recaptcha/intro/" target="_blank">',
|
499 |
esc_html__( 'API site key', 'constant-contact-forms' ),
|
@@ -1068,3 +1084,14 @@ function constant_contact_get_option( $key = '', $default = null ) {
|
|
1068 |
|
1069 |
return $value;
|
1070 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
234 |
$tabs = $this->get_option_tabs( $cmb_options );
|
235 |
$current = $this->get_current_tab();
|
236 |
?>
|
237 |
+
<div class="wrap cmb2-options-page ctct-page-wrap option-<?php echo esc_attr( $cmb_options->option_key ); ?>">
|
238 |
<?php if ( get_admin_page_title() ) : ?>
|
239 |
<h2><?php echo wp_kses_post( get_admin_page_title() ); ?></h2>
|
240 |
<?php endif; ?>
|
323 |
protected function get_cmb_args( $cmb_id ) {
|
324 |
return [
|
325 |
'id' => "{$this->metabox_id}_{$cmb_id}",
|
326 |
+
'title' => esc_html__( 'Settings', 'constant-contact-forms' ),
|
327 |
'menu_title' => esc_html__( 'Settings', 'constant-contact-forms' ),
|
328 |
'object_types' => [ 'options-page' ],
|
329 |
'option_key' => "{$this->key}_{$cmb_id}",
|
343 |
protected function register_fields_general() {
|
344 |
$cmb = new_cmb2_box( $this->get_cmb_args( 'general' ) );
|
345 |
|
346 |
+
$before_analytics = sprintf(
|
347 |
+
/* translators: 1: Opening heading tag, 2: opt-in section heading, 3: closing heading tag */
|
348 |
+
'%1$s%2$s%3$s',
|
349 |
+
'<h2>',
|
350 |
+
esc_html__( 'General Settings', 'constant-contact-forms' ),
|
351 |
+
'</h2>'
|
352 |
+
);
|
353 |
$cmb->add_field( [
|
354 |
'name' => esc_html__( 'Google Analytics™ tracking opt-in.', 'constant-contact-forms' ),
|
355 |
'id' => '_ctct_data_tracking',
|
356 |
'type' => 'checkbox',
|
357 |
'desc' => __( 'Allow Constant Contact to use Google Analytics™ to track your usage across the Constant Contact Forms plugin.<br/> NOTE — Your website and users will not be tracked. See our <a href="https://www.endurance.com/privacy"> Privacy Statement</a> information about what is and is not tracked.', 'constant-contact-forms' ),
|
358 |
+
'before_row' => $before_analytics,
|
359 |
+
] );
|
360 |
|
361 |
if ( constant_contact()->api->is_connected() ) {
|
362 |
|
484 |
'constant-contact-forms'
|
485 |
),
|
486 |
] );
|
487 |
+
|
488 |
+
$cmb->add_field( [
|
489 |
+
'name' => esc_html__( 'Disable Constant Contact CSS', 'constant-contact-forms' ),
|
490 |
+
'desc' => esc_html__( 'Disables Constant Contact stylesheets from loading on the frontend. Note you may need to clear server and client cache to see changes go into effect.', 'constant-contact-forms' ),
|
491 |
+
'id' => '_ctct_disable_css',
|
492 |
+
'type' => 'checkbox',
|
493 |
+
] );
|
494 |
+
|
495 |
}
|
496 |
|
497 |
/**
|
509 |
'<h2>',
|
510 |
esc_html__( 'Google reCAPTCHA', 'constant-contact-forms' ),
|
511 |
'</h2>',
|
512 |
+
'<div class="description">',
|
513 |
esc_html__( 'Learn more and get an ', 'constant-contact-forms' ),
|
514 |
'<a href="https://www.google.com/recaptcha/intro/" target="_blank">',
|
515 |
esc_html__( 'API site key', 'constant-contact-forms' ),
|
1084 |
|
1085 |
return $value;
|
1086 |
}
|
1087 |
+
|
1088 |
+
/**
|
1089 |
+
* Returns whether frontend css should be disabled or not.
|
1090 |
+
*
|
1091 |
+
* @author Scott Anderson <scott.anderson@webdevstudios.com>
|
1092 |
+
* @since 1.10.0
|
1093 |
+
* @return bool
|
1094 |
+
*/
|
1095 |
+
function disable_frontend_css() {
|
1096 |
+
return 'on' === constant_contact_get_option( '_ctct_disable_css' );
|
1097 |
+
}
|
includes/widgets/elementor-widget.php
CHANGED
@@ -5,7 +5,7 @@
|
|
5 |
* @package ConstantContact
|
6 |
* @subpackage Elementor
|
7 |
* @author Constant Contact
|
8 |
-
* @since
|
9 |
*
|
10 |
* phpcs:disable WebDevStudios.All.RequireAuthor -- Don't require author tag in docblocks.
|
11 |
*/
|
@@ -13,14 +13,14 @@
|
|
13 |
/**
|
14 |
* This class get's everything up an running for Elementor Widget.
|
15 |
*
|
16 |
-
* @since
|
17 |
*/
|
18 |
class ConstantContact_Elementor_Widget extends \Elementor\Widget_Base {
|
19 |
|
20 |
/**
|
21 |
* Widgets Name
|
22 |
*
|
23 |
-
* @since
|
24 |
*/
|
25 |
public function get_name() {
|
26 |
return 'constant-contact';
|
@@ -29,7 +29,7 @@ class ConstantContact_Elementor_Widget extends \Elementor\Widget_Base {
|
|
29 |
/**
|
30 |
* Widgets Title
|
31 |
*
|
32 |
-
* @since
|
33 |
*/
|
34 |
public function get_title() {
|
35 |
return 'Constant Contact Form';
|
@@ -38,7 +38,7 @@ class ConstantContact_Elementor_Widget extends \Elementor\Widget_Base {
|
|
38 |
/**
|
39 |
* Widgets Icon
|
40 |
*
|
41 |
-
* @since
|
42 |
*/
|
43 |
public function get_icon() {
|
44 |
return 'eicon-form-horizontal';
|
@@ -47,7 +47,7 @@ class ConstantContact_Elementor_Widget extends \Elementor\Widget_Base {
|
|
47 |
/**
|
48 |
* Widgets Category
|
49 |
*
|
50 |
-
* @since
|
51 |
*/
|
52 |
public function get_categories() {
|
53 |
return [ 'basic' ];
|
@@ -56,7 +56,7 @@ class ConstantContact_Elementor_Widget extends \Elementor\Widget_Base {
|
|
56 |
/**
|
57 |
* Displays Widget Controls.
|
58 |
*
|
59 |
-
* @since
|
60 |
*/
|
61 |
protected function _register_controls() {
|
62 |
|
@@ -94,7 +94,7 @@ class ConstantContact_Elementor_Widget extends \Elementor\Widget_Base {
|
|
94 |
/**
|
95 |
* Provides all Constant Contact Forms current Published.
|
96 |
*
|
97 |
-
* @since
|
98 |
*/
|
99 |
private function get_form_options () {
|
100 |
|
@@ -122,7 +122,7 @@ class ConstantContact_Elementor_Widget extends \Elementor\Widget_Base {
|
|
122 |
/**
|
123 |
* Displays Widget
|
124 |
*
|
125 |
-
* @since
|
126 |
*/
|
127 |
protected function render() {
|
128 |
$settings = $this->get_settings_for_display();
|
5 |
* @package ConstantContact
|
6 |
* @subpackage Elementor
|
7 |
* @author Constant Contact
|
8 |
+
* @since 1.11.0
|
9 |
*
|
10 |
* phpcs:disable WebDevStudios.All.RequireAuthor -- Don't require author tag in docblocks.
|
11 |
*/
|
13 |
/**
|
14 |
* This class get's everything up an running for Elementor Widget.
|
15 |
*
|
16 |
+
* @since 1.11.0
|
17 |
*/
|
18 |
class ConstantContact_Elementor_Widget extends \Elementor\Widget_Base {
|
19 |
|
20 |
/**
|
21 |
* Widgets Name
|
22 |
*
|
23 |
+
* @since 1.10.0
|
24 |
*/
|
25 |
public function get_name() {
|
26 |
return 'constant-contact';
|
29 |
/**
|
30 |
* Widgets Title
|
31 |
*
|
32 |
+
* @since 1.10.0
|
33 |
*/
|
34 |
public function get_title() {
|
35 |
return 'Constant Contact Form';
|
38 |
/**
|
39 |
* Widgets Icon
|
40 |
*
|
41 |
+
* @since 1.10.0
|
42 |
*/
|
43 |
public function get_icon() {
|
44 |
return 'eicon-form-horizontal';
|
47 |
/**
|
48 |
* Widgets Category
|
49 |
*
|
50 |
+
* @since 1.10.0
|
51 |
*/
|
52 |
public function get_categories() {
|
53 |
return [ 'basic' ];
|
56 |
/**
|
57 |
* Displays Widget Controls.
|
58 |
*
|
59 |
+
* @since 1.10.0
|
60 |
*/
|
61 |
protected function _register_controls() {
|
62 |
|
94 |
/**
|
95 |
* Provides all Constant Contact Forms current Published.
|
96 |
*
|
97 |
+
* @since 1.10.0
|
98 |
*/
|
99 |
private function get_form_options () {
|
100 |
|
122 |
/**
|
123 |
* Displays Widget
|
124 |
*
|
125 |
+
* @since 1.10.0
|
126 |
*/
|
127 |
protected function render() {
|
128 |
$settings = $this->get_settings_for_display();
|
languages/constant-contact-forms.pot
CHANGED
@@ -1,4 +1,4 @@
|
|
1 |
-
# Copyright (C)
|
2 |
# This file is distributed under the same license as the Constant Contact Forms package.
|
3 |
msgid ""
|
4 |
msgstr ""
|
@@ -13,15 +13,15 @@ msgstr ""
|
|
13 |
"X-Poedit-SourceCharset: UTF-8\n"
|
14 |
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
15 |
|
16 |
-
#: constant-contact-forms.php:
|
17 |
msgid "Constant Contact"
|
18 |
msgstr ""
|
19 |
|
20 |
-
#: constant-contact-forms.php:
|
21 |
msgid "Constant Contact Forms requires PHP 5.4 or higher. Your hosting provider or website administrator should be able to assist in updating your PHP version."
|
22 |
msgstr ""
|
23 |
|
24 |
-
#: constant-contact-forms.php:
|
25 |
msgid "Error loading license."
|
26 |
msgstr ""
|
27 |
|
@@ -69,200 +69,152 @@ msgstr ""
|
|
69 |
msgid "FAQ"
|
70 |
msgstr ""
|
71 |
|
72 |
-
#: includes/class-admin-pages.php:
|
73 |
-
|
74 |
-
msgid "Constant Contact Logo"
|
75 |
-
msgstr ""
|
76 |
-
|
77 |
-
#: includes/class-admin-pages.php:216, includes/class-notification-content.php:58
|
78 |
-
msgid "Constant Contact Forms"
|
79 |
msgstr ""
|
80 |
|
81 |
-
#: includes/class-admin-pages.php:
|
82 |
msgid "This plugin makes it fast and easy to capture all kinds of visitor information right from your WordPress site—even if you don't have a Constant Contact account."
|
83 |
msgstr ""
|
84 |
|
85 |
-
#: includes/class-admin-pages.php:
|
86 |
msgid "Whether you're looking to collect email addresses, contact info, or visitor feedback, you can customize your forms with data fields that work best for you."
|
87 |
msgstr ""
|
88 |
|
89 |
-
#: includes/class-admin-pages.php:
|
90 |
msgid "Quickly create different types of forms that are clear, simple, and mobile-optimized."
|
91 |
msgstr ""
|
92 |
|
93 |
-
#: includes/class-admin-pages.php:
|
94 |
msgid "Choose forms that automatically select the theme and style of your WordPress site."
|
95 |
msgstr ""
|
96 |
|
97 |
-
#: includes/class-admin-pages.php:
|
98 |
msgid "Customize the form data fields, so you can tailor the type of information you collect."
|
99 |
msgstr ""
|
100 |
|
101 |
-
#: includes/class-admin-pages.php:
|
102 |
-
msgid "
|
103 |
-
msgstr ""
|
104 |
-
|
105 |
-
#: includes/class-admin-pages.php:236
|
106 |
-
msgid "Turn those contacts into customers."
|
107 |
msgstr ""
|
108 |
|
109 |
-
#: includes/class-admin-pages.php:
|
110 |
msgid "Nurture your new contacts with a Constant Contact email marketing account even after they've left your website. Sign up for a 60-day trial account* and you can:"
|
111 |
msgstr ""
|
112 |
|
113 |
-
#: includes/class-admin-pages.php:
|
114 |
msgid "Seamlessly add new contacts to mailing lists."
|
115 |
msgstr ""
|
116 |
|
117 |
-
#: includes/class-admin-pages.php:
|
118 |
msgid "Create and send professional emails."
|
119 |
msgstr ""
|
120 |
|
121 |
-
#: includes/class-admin-pages.php:
|
122 |
msgid "Get expert marketing help and support."
|
123 |
msgstr ""
|
124 |
|
125 |
-
#: includes/class-admin-pages.php:
|
126 |
msgid "Try us Free"
|
127 |
msgstr ""
|
128 |
|
129 |
-
#: includes/class-admin-pages.php:
|
130 |
msgid "Already have a Constant Contact account?"
|
131 |
msgstr ""
|
132 |
|
133 |
-
#: includes/class-admin-pages.php:254
|
134 |
-
msgid "Connect the plugin."
|
135 |
-
msgstr ""
|
136 |
-
|
137 |
-
#: includes/class-admin-pages.php:258
|
138 |
-
msgid "NOTE: You can use the Constant Contact Form plugin without a Constant Contact account. All information collected by the forms will be individually emailed to your site admin."
|
139 |
-
msgstr ""
|
140 |
-
|
141 |
-
#: includes/class-admin-pages.php:265
|
142 |
-
msgid "Sign Up"
|
143 |
-
msgstr ""
|
144 |
-
|
145 |
#: includes/class-admin-pages.php:266
|
146 |
-
msgid "
|
147 |
msgstr ""
|
148 |
|
149 |
-
#: includes/class-admin-pages.php:
|
150 |
-
msgid "
|
151 |
msgstr ""
|
152 |
|
153 |
-
#: includes/class-admin-pages.php:
|
154 |
-
msgid "
|
155 |
msgstr ""
|
156 |
|
157 |
-
|
158 |
-
#: includes/class-admin-pages.php:279
|
159 |
-
msgid "By submitting this form, you agree to receive periodic product announcements and account notifications from Constant Contact. Cancel these communications at any time by clicking the unsubscribe link in the footer of the actual email. Constant Contact, Inc, 1601 Trapelo Road, Waltham, MA 02451, %1$s"
|
160 |
-
msgstr ""
|
161 |
-
|
162 |
-
#: includes/class-admin-pages.php:294
|
163 |
-
msgid "Powerful Email Marketing, Made Simple."
|
164 |
-
msgstr ""
|
165 |
-
|
166 |
-
#: includes/class-admin-pages.php:297
|
167 |
-
msgid "Create professional emails that bring customers to your door"
|
168 |
-
msgstr ""
|
169 |
-
|
170 |
-
#: includes/class-admin-pages.php:301
|
171 |
-
msgid "Email marketing is good for your business. $44-back-for-every-$1-spent kind of good.* And with the Constant Contact for WordPress plugin, you can easily add sign-up forms to your site so you can stay connected with visitors long after they've left."
|
172 |
-
msgstr ""
|
173 |
-
|
174 |
-
#: includes/class-admin-pages.php:304
|
175 |
msgid "GPLv3 license"
|
176 |
msgstr ""
|
177 |
|
178 |
#. translators: Placholder here is a link to the license.
|
179 |
-
#: includes/class-admin-pages.php:
|
180 |
msgid "This software is released under a modified %s."
|
181 |
msgstr ""
|
182 |
|
183 |
-
#: includes/class-admin-pages.php:
|
184 |
-
msgid "
|
185 |
-
msgstr ""
|
186 |
-
|
187 |
-
#: includes/class-admin-pages.php:324
|
188 |
-
msgid "Easily Add Forms"
|
189 |
-
msgstr ""
|
190 |
-
|
191 |
-
#: includes/class-admin-pages.php:327
|
192 |
-
msgctxt "img alt text"
|
193 |
-
msgid "Example embedded Constant Contact form"
|
194 |
-
msgstr ""
|
195 |
-
|
196 |
-
#: includes/class-admin-pages.php:330
|
197 |
-
msgid "Create forms that automatically select the theme and styling of your WordPress site for a perfect match. "
|
198 |
msgstr ""
|
199 |
|
200 |
-
#: includes/class-admin
|
201 |
-
msgid "
|
202 |
msgstr ""
|
203 |
|
204 |
-
#: includes/class-admin
|
205 |
-
|
206 |
-
msgid "Constant Contact list management UI"
|
207 |
msgstr ""
|
208 |
|
209 |
-
#: includes/class-admin
|
210 |
-
msgid "
|
211 |
msgstr ""
|
212 |
|
213 |
-
#: includes/class-admin
|
214 |
-
msgid "Constant Contact
|
215 |
msgstr ""
|
216 |
|
217 |
-
#: includes/class-admin.php:
|
218 |
msgid "About"
|
219 |
msgstr ""
|
220 |
|
221 |
-
#: includes/class-admin.php:
|
222 |
msgid "License"
|
223 |
msgstr ""
|
224 |
|
225 |
-
#: includes/class-admin.php:
|
226 |
msgid "Settings updated."
|
227 |
msgstr ""
|
228 |
|
229 |
-
#: includes/class-admin.php:
|
230 |
msgid "Description"
|
231 |
msgstr ""
|
232 |
|
233 |
-
#: includes/class-admin.php:
|
234 |
msgid "Shortcode"
|
235 |
msgstr ""
|
236 |
|
237 |
-
#: includes/class-admin.php:
|
238 |
msgid "Associated List"
|
239 |
msgstr ""
|
240 |
|
241 |
-
#: includes/class-admin.php:
|
|
|
|
|
|
|
|
|
242 |
msgid "No associated list"
|
243 |
msgstr ""
|
244 |
|
245 |
-
#: includes/class-admin.php:
|
246 |
msgid "Contact Count"
|
247 |
msgstr ""
|
248 |
|
249 |
-
#: includes/class-admin.php:
|
250 |
msgid "Check out the official WordPress plugin from @constantcontact:"
|
251 |
msgstr ""
|
252 |
|
253 |
-
#: includes/class-admin.php:
|
254 |
msgid "Spread the word!"
|
255 |
msgstr ""
|
256 |
|
257 |
-
#: includes/class-admin.php:
|
258 |
msgid "You have unsaved changes."
|
259 |
msgstr ""
|
260 |
|
261 |
-
#: includes/class-admin.php:
|
262 |
msgid "move up"
|
263 |
msgstr ""
|
264 |
|
265 |
-
#: includes/class-admin.php:
|
266 |
msgid "move down"
|
267 |
msgstr ""
|
268 |
|
@@ -274,6 +226,39 @@ msgstr ""
|
|
274 |
msgid "Your API access token is invalid. Reconnect to Constant Contact to receive a new token."
|
275 |
msgstr ""
|
276 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
277 |
#: includes/class-builder-fields.php:123
|
278 |
msgid "Email (required)"
|
279 |
msgstr ""
|
@@ -363,305 +348,313 @@ msgid "Constant Contact List"
|
|
363 |
msgstr ""
|
364 |
|
365 |
#: includes/class-builder-fields.php:222
|
366 |
-
msgid "
|
367 |
msgstr ""
|
368 |
|
369 |
-
#: includes/class-builder-fields.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
370 |
msgid "Form Description"
|
371 |
msgstr ""
|
372 |
|
373 |
-
#: includes/class-builder-fields.php:
|
374 |
msgid "This message will display above the form fields, so use it as an opportunity to pitch your email list. Tell visitors why they should subscribe to your emails, focusing on benefits like insider tips, discounts, subscriber coupons, and more."
|
375 |
msgstr ""
|
376 |
|
377 |
-
#: includes/class-builder-fields.php:
|
378 |
msgid "Form Options"
|
379 |
msgstr ""
|
380 |
|
381 |
-
#: includes/class-builder-fields.php:
|
382 |
msgid "Button text"
|
383 |
msgstr ""
|
384 |
|
385 |
-
#: includes/class-builder-fields.php:
|
386 |
msgid "Sign up"
|
387 |
msgstr ""
|
388 |
|
389 |
-
#: includes/class-builder-fields.php:
|
390 |
msgid "Success message"
|
391 |
msgstr ""
|
392 |
|
393 |
-
#: includes/class-builder-fields.php:
|
394 |
msgid "Your information has been submitted"
|
395 |
msgstr ""
|
396 |
|
397 |
-
#: includes/class-builder-fields.php:
|
398 |
msgid "Submission behavior"
|
399 |
msgstr ""
|
400 |
|
401 |
-
#: includes/class-builder-fields.php:
|
402 |
msgid "Redirect URL"
|
403 |
msgstr ""
|
404 |
|
405 |
#. translators: 1: basic field info, 2: warning about invalid values, 3: recommended field value
|
406 |
-
#: includes/class-builder-fields.php:
|
407 |
msgid "Leave blank to keep users on the current page."
|
408 |
msgstr ""
|
409 |
|
410 |
-
#: includes/class-builder-fields.php:
|
411 |
msgid "NOTE: This URL must be within the current site and may not be a direct link to a media file (e.g., a PDF document). Providing a Redirect URL that is outside the current site or is a media file will cause issues with Constant Constact functionality, including contacts not being added to lists successfully."
|
412 |
msgstr ""
|
413 |
|
414 |
-
#: includes/class-builder-fields.php:
|
415 |
msgid "It is recommended to leave this field blank or provide a URL to a page that contains any external or media links within the page content."
|
416 |
msgstr ""
|
417 |
|
418 |
-
#: includes/class-builder-fields.php:
|
419 |
msgid "No page refresh"
|
420 |
msgstr ""
|
421 |
|
422 |
-
#: includes/class-builder-fields.php:
|
423 |
msgid "Enable form submission without a page refresh. This option overrides the Redirect URL choice above."
|
424 |
msgstr ""
|
425 |
|
426 |
-
#: includes/class-builder-fields.php:
|
427 |
msgid "Disable Google reCAPTCHA for this form?"
|
428 |
msgstr ""
|
429 |
|
430 |
-
#: includes/class-builder-fields.php:
|
431 |
msgid "Checking will disable Google's reCAPTCHA output for this form. Only valid if using Google reCAPTCHA version 2"
|
432 |
msgstr ""
|
433 |
|
434 |
-
#: includes/class-builder-fields.php:
|
435 |
msgid "Spam notice"
|
436 |
msgstr ""
|
437 |
|
438 |
-
#: includes/class-builder-fields.php:
|
439 |
msgid "Spam Error Message"
|
440 |
msgstr ""
|
441 |
|
442 |
-
#: includes/class-builder-fields.php:
|
443 |
msgid "Set the spam error message displayed for this form."
|
444 |
msgstr ""
|
445 |
|
446 |
-
#: includes/class-builder-fields.php:
|
447 |
msgid "Form Design"
|
448 |
msgstr ""
|
449 |
|
450 |
-
#: includes/class-builder-fields.php:
|
451 |
msgid "Background Color"
|
452 |
msgstr ""
|
453 |
|
454 |
-
#: includes/class-builder-fields.php:
|
455 |
msgid "Applies to the whole form."
|
456 |
msgstr ""
|
457 |
|
458 |
-
#: includes/class-builder-fields.php:
|
459 |
msgid "Form Fonts"
|
460 |
msgstr ""
|
461 |
|
462 |
-
#: includes/class-builder-fields.php:
|
463 |
msgid "Font Size"
|
464 |
msgstr ""
|
465 |
|
466 |
-
#: includes/class-builder-fields.php:
|
467 |
msgid "Only applies to the form description."
|
468 |
msgstr ""
|
469 |
|
470 |
-
#: includes/class-builder-fields.php:
|
471 |
msgid "Font Color"
|
472 |
msgstr ""
|
473 |
|
474 |
-
#: includes/class-builder-fields.php:
|
475 |
msgid "Applies to the form description, input labels, and disclosure text."
|
476 |
msgstr ""
|
477 |
|
478 |
-
#: includes/class-builder-fields.php:
|
479 |
msgid "Form Submit Button"
|
480 |
msgstr ""
|
481 |
|
482 |
-
#: includes/class-builder-fields.php:
|
483 |
msgid "Choose a color for the submit button text."
|
484 |
msgstr ""
|
485 |
|
486 |
-
#: includes/class-builder-fields.php:
|
487 |
msgid "Choose a color for the submit button background."
|
488 |
msgstr ""
|
489 |
|
490 |
-
#: includes/class-builder-fields.php:
|
491 |
msgid "Input Design"
|
492 |
msgstr ""
|
493 |
|
494 |
-
#: includes/class-builder-fields.php:
|
495 |
msgid "Form Padding"
|
496 |
msgstr ""
|
497 |
|
498 |
-
#: includes/class-builder-fields.php:
|
499 |
msgid "Enter padding values in number of pixels. Padding will be applied to four sides of the form."
|
500 |
msgstr ""
|
501 |
|
502 |
-
#: includes/class-builder-fields.php:
|
503 |
msgid "Top"
|
504 |
msgstr ""
|
505 |
|
506 |
-
#: includes/class-builder-fields.php:
|
507 |
msgid "Right"
|
508 |
msgstr ""
|
509 |
|
510 |
-
#: includes/class-builder-fields.php:
|
511 |
msgid "Bottom"
|
512 |
msgstr ""
|
513 |
|
514 |
-
#: includes/class-builder-fields.php:
|
515 |
msgid "Left"
|
516 |
msgstr ""
|
517 |
|
518 |
-
#: includes/class-builder-fields.php:
|
519 |
msgid "Custom Classes"
|
520 |
msgstr ""
|
521 |
|
522 |
-
#: includes/class-builder-fields.php:
|
523 |
msgid "Set custom CSS class(es) for inputs. Separate multiple classes with spaces."
|
524 |
msgstr ""
|
525 |
|
526 |
-
#: includes/class-builder-fields.php:
|
527 |
msgid "Label Placement"
|
528 |
msgstr ""
|
529 |
|
530 |
-
#: includes/class-builder-fields.php:
|
531 |
msgid "Global"
|
532 |
msgstr ""
|
533 |
|
534 |
-
#: includes/class-builder-fields.php:
|
535 |
msgid "Hidden"
|
536 |
msgstr ""
|
537 |
|
538 |
-
#: includes/class-builder-fields.php:
|
539 |
msgid "Set the position for labels for inputs."
|
540 |
msgstr ""
|
541 |
|
542 |
-
#: includes/class-builder-fields.php:
|
543 |
msgid "Enabling this option will require users to check a box to be added to your list."
|
544 |
msgstr ""
|
545 |
|
546 |
-
#: includes/class-builder-fields.php:
|
547 |
msgid "Learn more"
|
548 |
msgstr ""
|
549 |
|
550 |
-
#: includes/class-builder-fields.php:
|
551 |
msgid "Email opt-in"
|
552 |
msgstr ""
|
553 |
|
554 |
-
#: includes/class-builder-fields.php:
|
555 |
msgid "Enable email subscriber opt-in"
|
556 |
msgstr ""
|
557 |
|
558 |
-
#: includes/class-builder-fields.php:
|
559 |
msgid "Adds an opt-in to the bottom of your form."
|
560 |
msgstr ""
|
561 |
|
562 |
-
#: includes/class-builder-fields.php:
|
563 |
msgid "Add a checkbox so subscribers can opt-in to your email list."
|
564 |
msgstr ""
|
565 |
|
566 |
-
#: includes/class-builder-fields.php:
|
567 |
msgid "(For use with Contact Us form)"
|
568 |
msgstr ""
|
569 |
|
570 |
-
#: includes/class-builder-fields.php:
|
571 |
msgid "Opt-in checkbox"
|
572 |
msgstr ""
|
573 |
|
574 |
-
#: includes/class-builder-fields.php:
|
575 |
msgid "Opt-in Affirmation"
|
576 |
msgstr ""
|
577 |
|
578 |
#. translators: placeholder has a business name from Constant Contact.
|
579 |
-
#: includes/class-builder-fields.php:
|
580 |
msgid "Example: Yes, I would like to receive emails from %s. (You can unsubscribe anytime)"
|
581 |
msgstr ""
|
582 |
|
583 |
-
#: includes/class-builder-fields.php:
|
584 |
msgid "Form Fields"
|
585 |
msgstr ""
|
586 |
|
587 |
-
#: includes/class-builder-fields.php:
|
588 |
msgid "Add Fields"
|
589 |
msgstr ""
|
590 |
|
591 |
-
#: includes/class-builder-fields.php:
|
592 |
msgid "Create a field for each piece of information you want to collect. Good basics include email address, first name, and last name."
|
593 |
msgstr ""
|
594 |
|
595 |
-
#: includes/class-builder-fields.php:
|
596 |
msgid "Field {#}"
|
597 |
msgstr ""
|
598 |
|
599 |
-
#: includes/class-builder-fields.php:
|
600 |
msgid "Add Another Field"
|
601 |
msgstr ""
|
602 |
|
603 |
-
#: includes/class-builder-fields.php:
|
604 |
msgid "Remove Field"
|
605 |
msgstr ""
|
606 |
|
607 |
-
#: includes/class-builder-fields.php:
|
608 |
msgid "Select a Field"
|
609 |
msgstr ""
|
610 |
|
611 |
-
#: includes/class-builder-fields.php:
|
612 |
msgid "Field Label"
|
613 |
msgstr ""
|
614 |
|
615 |
-
#: includes/class-builder-fields.php:
|
616 |
msgid "Field Description"
|
617 |
msgstr ""
|
618 |
|
619 |
-
#: includes/class-builder-fields.php:
|
620 |
msgid "Ex: Enter email address"
|
621 |
msgstr ""
|
622 |
|
623 |
-
#: includes/class-builder-fields.php:
|
624 |
msgid "Required"
|
625 |
msgstr ""
|
626 |
|
627 |
-
#: includes/class-builder-fields.php:
|
628 |
msgid "Shortcode to use"
|
629 |
msgstr ""
|
630 |
|
631 |
#. translators: Placeholders here represent `<em>` and `<strong>` HTML tags.
|
632 |
-
#: includes/class-builder-fields.php:
|
633 |
msgid "Shortcode to embed — %1$s%2$sYou can copy and paste this in a post to display your form.%3$s%4$s"
|
634 |
msgstr ""
|
635 |
|
636 |
-
#: includes/class-builder-fields.php:
|
637 |
msgid "Email settings"
|
638 |
msgstr ""
|
639 |
|
640 |
-
#: includes/class-builder-fields.php:
|
641 |
msgid "Email destination"
|
642 |
msgstr ""
|
643 |
|
644 |
-
#: includes/class-builder-fields.php:
|
645 |
msgid "Who should receive email notifications for this form. Separate multiple emails by a comma. Leave blank to default to admin email."
|
646 |
msgstr ""
|
647 |
|
648 |
-
#: includes/class-builder-fields.php:
|
649 |
msgid "Disable email notifications for this form?"
|
650 |
msgstr ""
|
651 |
|
652 |
-
#: includes/class-builder-fields.php:
|
653 |
msgid "Check this option to disable emails for this Constant Contact Forms form."
|
654 |
msgstr ""
|
655 |
|
656 |
-
#: includes/class-builder-fields.php:
|
657 |
msgid "Reset Styles"
|
658 |
msgstr ""
|
659 |
|
660 |
-
#: includes/class-builder-fields.php:
|
661 |
msgid "Reset"
|
662 |
msgstr ""
|
663 |
|
664 |
-
#: includes/class-builder-fields.php:
|
665 |
msgid "Reset the styles for this Form."
|
666 |
msgstr ""
|
667 |
|
@@ -773,7 +766,7 @@ msgstr ""
|
|
773 |
msgid "Cron spawn ok"
|
774 |
msgstr ""
|
775 |
|
776 |
-
#: includes/class-connect.php:132, includes/class-connect.php:
|
777 |
msgid "Disconnect"
|
778 |
msgstr ""
|
779 |
|
@@ -785,45 +778,64 @@ msgstr ""
|
|
785 |
msgid "Are you sure you want to disconnect?"
|
786 |
msgstr ""
|
787 |
|
788 |
-
#: includes/class-connect.php:
|
789 |
-
|
790 |
-
msgid "Constant Contact logo"
|
791 |
msgstr ""
|
792 |
|
793 |
#: includes/class-connect.php:176
|
794 |
-
msgid "
|
795 |
msgstr ""
|
796 |
|
797 |
-
#: includes/class-connect.php:
|
798 |
-
msgid "
|
799 |
msgstr ""
|
800 |
|
801 |
-
#: includes/class-connect.php:
|
802 |
msgid "There was an issue with retrieving connected account information. Please try again."
|
803 |
msgstr ""
|
804 |
|
805 |
-
#: includes/class-connect.php:
|
806 |
-
msgid "
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
807 |
msgstr ""
|
808 |
|
809 |
-
#: includes/class-connect.php:
|
810 |
-
msgid "Please
|
811 |
msgstr ""
|
812 |
|
813 |
#. translators: Placeholder will hold link to Constant Contact privacy statement.
|
814 |
-
#: includes/class-connect.php:
|
815 |
msgid "Allow Constant Contact to use Google Analytics™ to track your usage across the Constant Contact Forms plugin. You can opt-out within the Settings page. See our %1$s."
|
816 |
msgstr ""
|
817 |
|
818 |
-
#: includes/class-connect.php:
|
819 |
msgid "Privacy Statement"
|
820 |
msgstr ""
|
821 |
|
822 |
-
#: includes/class-connect.php:
|
823 |
msgid "Allow"
|
824 |
msgstr ""
|
825 |
|
826 |
-
#: includes/class-connect.php:
|
827 |
msgid "Dismiss"
|
828 |
msgstr ""
|
829 |
|
@@ -850,10 +862,10 @@ msgid "Parent Form:"
|
|
850 |
msgstr ""
|
851 |
|
852 |
#: includes/class-cpts.php:68
|
853 |
-
msgid "
|
854 |
msgstr ""
|
855 |
|
856 |
-
#: includes/class-cpts.php:69
|
857 |
msgid "Add New Form"
|
858 |
msgstr ""
|
859 |
|
@@ -861,7 +873,7 @@ msgstr ""
|
|
861 |
msgid "New Form"
|
862 |
msgstr ""
|
863 |
|
864 |
-
#: includes/class-cpts.php:72, includes/class-display.php:
|
865 |
msgid "Edit Form"
|
866 |
msgstr ""
|
867 |
|
@@ -1079,100 +1091,104 @@ msgstr ""
|
|
1079 |
msgid "Select list(s) to subscribe to"
|
1080 |
msgstr ""
|
1081 |
|
1082 |
-
#: includes/class-display.php:
|
1083 |
-
msgid "Constant Contact Use."
|
1084 |
msgstr ""
|
1085 |
|
1086 |
-
#: includes/class-display.php:
|
1087 |
msgid "Error: Please correct your entry."
|
1088 |
msgstr ""
|
1089 |
|
1090 |
-
#: includes/class-display.php:
|
|
|
|
|
|
|
|
|
1091 |
msgid "Street Address"
|
1092 |
msgstr ""
|
1093 |
|
1094 |
-
#: includes/class-display.php:
|
1095 |
msgid "Address Line 2"
|
1096 |
msgstr ""
|
1097 |
|
1098 |
-
#: includes/class-display.php:
|
1099 |
msgid "City"
|
1100 |
msgstr ""
|
1101 |
|
1102 |
-
#: includes/class-display.php:
|
1103 |
msgid "State"
|
1104 |
msgstr ""
|
1105 |
|
1106 |
-
#: includes/class-display.php:
|
1107 |
msgid "ZIP Code"
|
1108 |
msgstr ""
|
1109 |
|
1110 |
-
#: includes/class-display.php:
|
1111 |
msgid "Month"
|
1112 |
msgstr ""
|
1113 |
|
1114 |
-
#: includes/class-display.php:
|
1115 |
msgid "Day"
|
1116 |
msgstr ""
|
1117 |
|
1118 |
-
#: includes/class-display.php:
|
1119 |
msgid "Year"
|
1120 |
msgstr ""
|
1121 |
|
1122 |
-
#: includes/class-display.php:
|
1123 |
msgid "January"
|
1124 |
msgstr ""
|
1125 |
|
1126 |
-
#: includes/class-display.php:
|
1127 |
msgid "February"
|
1128 |
msgstr ""
|
1129 |
|
1130 |
-
#: includes/class-display.php:
|
1131 |
msgid "March"
|
1132 |
msgstr ""
|
1133 |
|
1134 |
-
#: includes/class-display.php:
|
1135 |
msgid "April"
|
1136 |
msgstr ""
|
1137 |
|
1138 |
-
#: includes/class-display.php:
|
1139 |
msgid "May"
|
1140 |
msgstr ""
|
1141 |
|
1142 |
-
#: includes/class-display.php:
|
1143 |
msgid "June"
|
1144 |
msgstr ""
|
1145 |
|
1146 |
-
#: includes/class-display.php:
|
1147 |
msgid "July "
|
1148 |
msgstr ""
|
1149 |
|
1150 |
-
#: includes/class-display.php:
|
1151 |
msgid "August"
|
1152 |
msgstr ""
|
1153 |
|
1154 |
-
#: includes/class-display.php:
|
1155 |
msgid "September"
|
1156 |
msgstr ""
|
1157 |
|
1158 |
-
#: includes/class-display.php:
|
1159 |
msgid "October"
|
1160 |
msgstr ""
|
1161 |
|
1162 |
-
#: includes/class-display.php:
|
1163 |
msgid "November"
|
1164 |
msgstr ""
|
1165 |
|
1166 |
-
#: includes/class-display.php:
|
1167 |
msgid "December"
|
1168 |
msgstr ""
|
1169 |
|
1170 |
#. translators: placeholder will hold company info for site owner.
|
1171 |
-
#: includes/class-display.php:
|
1172 |
msgid "By submitting this form, you are consenting to receive marketing emails from: %1$s. You can revoke your consent to receive emails at any time by using the SafeUnsubscribe® link, found at the bottom of every email. %2$s"
|
1173 |
msgstr ""
|
1174 |
|
1175 |
-
#: includes/class-display.php:
|
1176 |
msgid "Emails are serviced by Constant Contact"
|
1177 |
msgstr ""
|
1178 |
|
@@ -1196,12 +1212,16 @@ msgstr ""
|
|
1196 |
msgid "Are you sure you want to delete current logs?"
|
1197 |
msgstr ""
|
1198 |
|
1199 |
-
#: includes/class-logging.php:175
|
1200 |
-
msgid "Debug
|
|
|
|
|
|
|
|
|
1201 |
msgstr ""
|
1202 |
|
1203 |
#: includes/class-logging.php:223
|
1204 |
-
msgid "No error log exists"
|
1205 |
msgstr ""
|
1206 |
|
1207 |
#. translators: placeholder holds the log location.
|
@@ -1210,11 +1230,11 @@ msgid "We are not able to write to the %s file."
|
|
1210 |
msgstr ""
|
1211 |
|
1212 |
#: includes/class-logging.php:239
|
1213 |
-
msgid "
|
1214 |
msgstr ""
|
1215 |
|
1216 |
#: includes/class-logging.php:240
|
1217 |
-
msgid "When available, you can share information by copying and pasting the content in the textarea, or by using the \"Download logs\" link
|
1218 |
msgstr ""
|
1219 |
|
1220 |
#: includes/class-logging.php:246
|
@@ -1230,7 +1250,7 @@ msgid "Delete logs"
|
|
1230 |
msgstr ""
|
1231 |
|
1232 |
#. translators: placeholder wil have error message.
|
1233 |
-
#: includes/class-logging.php:
|
1234 |
msgid "Log display error: %s"
|
1235 |
msgstr ""
|
1236 |
|
@@ -1286,6 +1306,10 @@ msgstr ""
|
|
1286 |
msgid "Get the most out of the %s plugin — use it with an active Constant Contact account."
|
1287 |
msgstr ""
|
1288 |
|
|
|
|
|
|
|
|
|
1289 |
#: includes/class-notification-content.php:65
|
1290 |
msgid "Connect your account"
|
1291 |
msgstr ""
|
@@ -1299,6 +1323,11 @@ msgstr ""
|
|
1299 |
msgid "You currently have a large number of lists in your Constant Contact account. You may experience some issues with syncing them."
|
1300 |
msgstr ""
|
1301 |
|
|
|
|
|
|
|
|
|
|
|
1302 |
#: includes/class-notification-content.php:115
|
1303 |
msgid "Constant Contact Forms for WordPress data tracking opt-in"
|
1304 |
msgstr ""
|
@@ -1326,20 +1355,15 @@ msgstr ""
|
|
1326 |
msgid "References to one or more deleted Constant Contact forms are still present on your site. Please review the list below and update or remove the references to avoid issues on your site:"
|
1327 |
msgstr ""
|
1328 |
|
1329 |
-
#. translators: 1: label for form ID, 2: form ID, 3: references to specified form.
|
1330 |
-
#: includes/class-notification-content.php:226
|
1331 |
-
msgid "Form"
|
1332 |
-
msgstr ""
|
1333 |
-
|
1334 |
#: includes/class-notifications.php:418
|
1335 |
msgid "Dismiss this notice."
|
1336 |
msgstr ""
|
1337 |
|
1338 |
-
#: includes/class-optin.php:137, includes/class-settings.php:
|
1339 |
msgid "Agree"
|
1340 |
msgstr ""
|
1341 |
|
1342 |
-
#: includes/class-optin.php:138, includes/class-settings.php:
|
1343 |
msgid "Disagree"
|
1344 |
msgstr ""
|
1345 |
|
@@ -1395,152 +1419,156 @@ msgstr ""
|
|
1395 |
msgid "Spam Control"
|
1396 |
msgstr ""
|
1397 |
|
1398 |
-
#: includes/class-settings.php:66, includes/class-settings.php:
|
1399 |
msgid "Support"
|
1400 |
msgstr ""
|
1401 |
|
1402 |
-
#: includes/class-settings.php:
|
1403 |
-
msgid "
|
1404 |
-
msgstr ""
|
1405 |
-
|
1406 |
-
#: includes/class-settings.php:327
|
1407 |
-
msgid "Settings"
|
1408 |
msgstr ""
|
1409 |
|
1410 |
-
#: includes/class-settings.php:
|
1411 |
msgid "Google Analytics™ tracking opt-in."
|
1412 |
msgstr ""
|
1413 |
|
1414 |
-
#: includes/class-settings.php:
|
1415 |
msgid "Allow Constant Contact to use Google Analytics™ to track your usage across the Constant Contact Forms plugin.<br/> NOTE — Your website and users will not be tracked. See our <a href=\"https://www.endurance.com/privacy\"> Privacy Statement</a> information about what is and is not tracked."
|
1416 |
msgstr ""
|
1417 |
|
1418 |
-
#: includes/class-settings.php:
|
1419 |
msgid "Disable E-mail Notifications"
|
1420 |
msgstr ""
|
1421 |
|
1422 |
#. translators: Placeholder is for a <br /> HTML tag.
|
1423 |
-
#: includes/class-settings.php:
|
1424 |
msgid "This option will disable e-mail notifications for forms with a selected list and successfully submit to Constant Contact.%s Notifications are sent to the email address listed under Wordpress \"General Settings\"."
|
1425 |
msgstr ""
|
1426 |
|
1427 |
-
#: includes/class-settings.php:
|
1428 |
msgid "Bypass Constant Contact cron scheduling"
|
1429 |
msgstr ""
|
1430 |
|
1431 |
-
#: includes/class-settings.php:
|
1432 |
msgid "This option will send form entries to Constant Contact right away instead of holding for one minute delay."
|
1433 |
msgstr ""
|
1434 |
|
1435 |
-
#: includes/class-settings.php:
|
1436 |
msgid "Advanced Opt-in"
|
1437 |
msgstr ""
|
1438 |
|
1439 |
-
#: includes/class-settings.php:
|
1440 |
msgid "Opt-in Location"
|
1441 |
msgstr ""
|
1442 |
|
1443 |
-
#: includes/class-settings.php:
|
1444 |
msgid "Select a list"
|
1445 |
msgstr ""
|
1446 |
|
1447 |
-
#: includes/class-settings.php:
|
1448 |
msgid "Add subscribers to"
|
1449 |
msgstr ""
|
1450 |
|
1451 |
#. translators: placeholder will hold site owner's business name.
|
1452 |
-
#: includes/class-settings.php:
|
1453 |
msgid "Yes, I would like to receive emails from %s. Sign me up!"
|
1454 |
msgstr ""
|
1455 |
|
1456 |
-
#: includes/class-settings.php:
|
1457 |
msgid "Disclosure Name"
|
1458 |
msgstr ""
|
1459 |
|
1460 |
-
#: includes/class-settings.php:
|
1461 |
msgid "Disclosure Address"
|
1462 |
msgstr ""
|
1463 |
|
1464 |
-
#: includes/class-settings.php:
|
1465 |
msgid "Global Form CSS Settings"
|
1466 |
msgstr ""
|
1467 |
|
1468 |
-
#: includes/class-settings.php:
|
1469 |
msgid "CSS Classes"
|
1470 |
msgstr ""
|
1471 |
|
1472 |
-
#: includes/class-settings.php:
|
1473 |
msgid "Provide custom classes for the form separated by a single space."
|
1474 |
msgstr ""
|
1475 |
|
1476 |
-
#: includes/class-settings.php:
|
1477 |
msgid "Choose the position for the labels of the form elements."
|
1478 |
msgstr ""
|
1479 |
|
1480 |
-
#: includes/class-settings.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1481 |
msgid "Google reCAPTCHA"
|
1482 |
msgstr ""
|
1483 |
|
1484 |
-
#: includes/class-settings.php:
|
1485 |
msgid "Learn more and get an "
|
1486 |
msgstr ""
|
1487 |
|
1488 |
-
#: includes/class-settings.php:
|
1489 |
msgid "API site key"
|
1490 |
msgstr ""
|
1491 |
|
1492 |
-
#: includes/class-settings.php:
|
1493 |
msgid "Version"
|
1494 |
msgstr ""
|
1495 |
|
1496 |
-
#: includes/class-settings.php:
|
1497 |
msgid "Version 2"
|
1498 |
msgstr ""
|
1499 |
|
1500 |
-
#: includes/class-settings.php:
|
1501 |
msgid "Version 3"
|
1502 |
msgstr ""
|
1503 |
|
1504 |
-
#: includes/class-settings.php:
|
1505 |
msgid "Site Key"
|
1506 |
msgstr ""
|
1507 |
|
1508 |
-
#: includes/class-settings.php:
|
1509 |
msgid "Secret Key"
|
1510 |
msgstr ""
|
1511 |
|
1512 |
-
#: includes/class-settings.php:
|
1513 |
msgid "Suspected Bot Error Message"
|
1514 |
msgstr ""
|
1515 |
|
1516 |
-
#: includes/class-settings.php:
|
1517 |
msgid "This message displays when the plugin detects spam data. Note that this message may be overriden on a per-post basis."
|
1518 |
msgstr ""
|
1519 |
|
1520 |
-
#: includes/class-settings.php:
|
1521 |
msgid "Error Message"
|
1522 |
msgstr ""
|
1523 |
|
1524 |
-
#: includes/class-settings.php:
|
1525 |
msgid "Enable logging for debugging purposes."
|
1526 |
msgstr ""
|
1527 |
|
1528 |
-
#: includes/class-settings.php:
|
1529 |
msgid "This option will turn on some logging functionality that can be used to deduce sources of issues with the use of Constant Contact Forms plugin."
|
1530 |
msgstr ""
|
1531 |
|
1532 |
-
#: includes/class-settings.php:
|
1533 |
msgid "Add a checkbox to the comment field in your posts"
|
1534 |
msgstr ""
|
1535 |
|
1536 |
-
#: includes/class-settings.php:
|
1537 |
msgid "Add a checkbox to the main WordPress login page"
|
1538 |
msgstr ""
|
1539 |
|
1540 |
-
#: includes/class-settings.php:
|
1541 |
msgid "Add a checkbox to the WordPress user registration page"
|
1542 |
msgstr ""
|
1543 |
|
1544 |
-
#: includes/class-settings.php:
|
1545 |
msgid "We do not think you are human"
|
1546 |
msgstr ""
|
1 |
+
# Copyright (C) 2021 Constant Contact Forms
|
2 |
# This file is distributed under the same license as the Constant Contact Forms package.
|
3 |
msgid ""
|
4 |
msgstr ""
|
13 |
"X-Poedit-SourceCharset: UTF-8\n"
|
14 |
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
15 |
|
16 |
+
#: constant-contact-forms.php:391, includes/class-admin.php:197, includes/class-beaver-builder.php:112, includes/class-cpts.php:89, includes/class-cpts.php:148
|
17 |
msgid "Constant Contact"
|
18 |
msgstr ""
|
19 |
|
20 |
+
#: constant-contact-forms.php:426
|
21 |
msgid "Constant Contact Forms requires PHP 5.4 or higher. Your hosting provider or website administrator should be able to assist in updating your PHP version."
|
22 |
msgstr ""
|
23 |
|
24 |
+
#: constant-contact-forms.php:740
|
25 |
msgid "Error loading license."
|
26 |
msgstr ""
|
27 |
|
69 |
msgid "FAQ"
|
70 |
msgstr ""
|
71 |
|
72 |
+
#: includes/class-admin-pages.php:211
|
73 |
+
msgid "About Constant Contact Forms"
|
|
|
|
|
|
|
|
|
|
|
74 |
msgstr ""
|
75 |
|
76 |
+
#: includes/class-admin-pages.php:217
|
77 |
msgid "This plugin makes it fast and easy to capture all kinds of visitor information right from your WordPress site—even if you don't have a Constant Contact account."
|
78 |
msgstr ""
|
79 |
|
80 |
+
#: includes/class-admin-pages.php:229
|
81 |
msgid "Whether you're looking to collect email addresses, contact info, or visitor feedback, you can customize your forms with data fields that work best for you."
|
82 |
msgstr ""
|
83 |
|
84 |
+
#: includes/class-admin-pages.php:232
|
85 |
msgid "Quickly create different types of forms that are clear, simple, and mobile-optimized."
|
86 |
msgstr ""
|
87 |
|
88 |
+
#: includes/class-admin-pages.php:233
|
89 |
msgid "Choose forms that automatically select the theme and style of your WordPress site."
|
90 |
msgstr ""
|
91 |
|
92 |
+
#: includes/class-admin-pages.php:234
|
93 |
msgid "Customize the form data fields, so you can tailor the type of information you collect."
|
94 |
msgstr ""
|
95 |
|
96 |
+
#: includes/class-admin-pages.php:244
|
97 |
+
msgid "Turn Contacts into Customers."
|
|
|
|
|
|
|
|
|
98 |
msgstr ""
|
99 |
|
100 |
+
#: includes/class-admin-pages.php:247
|
101 |
msgid "Nurture your new contacts with a Constant Contact email marketing account even after they've left your website. Sign up for a 60-day trial account* and you can:"
|
102 |
msgstr ""
|
103 |
|
104 |
+
#: includes/class-admin-pages.php:250
|
105 |
msgid "Seamlessly add new contacts to mailing lists."
|
106 |
msgstr ""
|
107 |
|
108 |
+
#: includes/class-admin-pages.php:251
|
109 |
msgid "Create and send professional emails."
|
110 |
msgstr ""
|
111 |
|
112 |
+
#: includes/class-admin-pages.php:252
|
113 |
msgid "Get expert marketing help and support."
|
114 |
msgstr ""
|
115 |
|
116 |
+
#: includes/class-admin-pages.php:258, includes/class-admin-pages.php:258
|
117 |
msgid "Try us Free"
|
118 |
msgstr ""
|
119 |
|
120 |
+
#: includes/class-admin-pages.php:263
|
121 |
msgid "Already have a Constant Contact account?"
|
122 |
msgstr ""
|
123 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
124 |
#: includes/class-admin-pages.php:266
|
125 |
+
msgid "Connect the Plugin"
|
126 |
msgstr ""
|
127 |
|
128 |
+
#: includes/class-admin-pages.php:275
|
129 |
+
msgid "NOTE:"
|
130 |
msgstr ""
|
131 |
|
132 |
+
#: includes/class-admin-pages.php:275
|
133 |
+
msgid "You can use the Constant Contact Form plugin without a Constant Contact account. All information collected by the forms will be individually emailed to your site admin."
|
134 |
msgstr ""
|
135 |
|
136 |
+
#: includes/class-admin-pages.php:289
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
137 |
msgid "GPLv3 license"
|
138 |
msgstr ""
|
139 |
|
140 |
#. translators: Placholder here is a link to the license.
|
141 |
+
#: includes/class-admin-pages.php:296
|
142 |
msgid "This software is released under a modified %s."
|
143 |
msgstr ""
|
144 |
|
145 |
+
#: includes/class-admin-pages.php:315
|
146 |
+
msgid "Constant Contact Forms - License"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
147 |
msgstr ""
|
148 |
|
149 |
+
#: includes/class-admin.php:187
|
150 |
+
msgid "Connected"
|
151 |
msgstr ""
|
152 |
|
153 |
+
#: includes/class-admin.php:188
|
154 |
+
msgid "Your Constant Contact account is connected!"
|
|
|
155 |
msgstr ""
|
156 |
|
157 |
+
#: includes/class-admin.php:191
|
158 |
+
msgid "Disconnected"
|
159 |
msgstr ""
|
160 |
|
161 |
+
#: includes/class-admin.php:192
|
162 |
+
msgid "Your Constant Contact account is not connected."
|
163 |
msgstr ""
|
164 |
|
165 |
+
#: includes/class-admin.php:239, includes/class-admin.php:240, includes/class-admin.php:505
|
166 |
msgid "About"
|
167 |
msgstr ""
|
168 |
|
169 |
+
#: includes/class-admin.php:248, includes/class-admin.php:249, includes/class-admin.php:506
|
170 |
msgid "License"
|
171 |
msgstr ""
|
172 |
|
173 |
+
#: includes/class-admin.php:333, includes/class-settings.php:886
|
174 |
msgid "Settings updated."
|
175 |
msgstr ""
|
176 |
|
177 |
+
#: includes/class-admin.php:370
|
178 |
msgid "Description"
|
179 |
msgstr ""
|
180 |
|
181 |
+
#: includes/class-admin.php:371, includes/class-builder-fields.php:714
|
182 |
msgid "Shortcode"
|
183 |
msgstr ""
|
184 |
|
185 |
+
#: includes/class-admin.php:372
|
186 |
msgid "Associated List"
|
187 |
msgstr ""
|
188 |
|
189 |
+
#: includes/class-admin.php:405
|
190 |
+
msgid "Copy"
|
191 |
+
msgstr ""
|
192 |
+
|
193 |
+
#: includes/class-admin.php:428
|
194 |
msgid "No associated list"
|
195 |
msgstr ""
|
196 |
|
197 |
+
#: includes/class-admin.php:447
|
198 |
msgid "Contact Count"
|
199 |
msgstr ""
|
200 |
|
201 |
+
#: includes/class-admin.php:503
|
202 |
msgid "Check out the official WordPress plugin from @constantcontact:"
|
203 |
msgstr ""
|
204 |
|
205 |
+
#: includes/class-admin.php:517
|
206 |
msgid "Spread the word!"
|
207 |
msgstr ""
|
208 |
|
209 |
+
#: includes/class-admin.php:599
|
210 |
msgid "You have unsaved changes."
|
211 |
msgstr ""
|
212 |
|
213 |
+
#: includes/class-admin.php:600
|
214 |
msgid "move up"
|
215 |
msgstr ""
|
216 |
|
217 |
+
#: includes/class-admin.php:601
|
218 |
msgid "move down"
|
219 |
msgstr ""
|
220 |
|
226 |
msgid "Your API access token is invalid. Reconnect to Constant Contact to receive a new token."
|
227 |
msgstr ""
|
228 |
|
229 |
+
#: includes/class-beaver-builder.php:50, includes/class-beaver-builder.php:53, includes/class-settings.php:326, includes/class-settings.php:327
|
230 |
+
msgid "Settings"
|
231 |
+
msgstr ""
|
232 |
+
|
233 |
+
#: includes/class-beaver-builder.php:57
|
234 |
+
msgid "Title"
|
235 |
+
msgstr ""
|
236 |
+
|
237 |
+
#: includes/class-beaver-builder.php:60
|
238 |
+
msgid "Display"
|
239 |
+
msgstr ""
|
240 |
+
|
241 |
+
#: includes/class-beaver-builder.php:61
|
242 |
+
msgid "Hide"
|
243 |
+
msgstr ""
|
244 |
+
|
245 |
+
#. translators: 1: label for form ID, 2: form ID, 3: references to specified form.
|
246 |
+
#: includes/class-beaver-builder.php:66, includes/class-notification-content.php:226
|
247 |
+
msgid "Form"
|
248 |
+
msgstr ""
|
249 |
+
|
250 |
+
#: includes/class-beaver-builder.php:98
|
251 |
+
msgid "No forms currently published."
|
252 |
+
msgstr ""
|
253 |
+
|
254 |
+
#: includes/class-beaver-builder.php:110
|
255 |
+
msgid "Constant Contact Form"
|
256 |
+
msgstr ""
|
257 |
+
|
258 |
+
#: includes/class-beaver-builder.php:111
|
259 |
+
msgid "Display a Constant Contact Form"
|
260 |
+
msgstr ""
|
261 |
+
|
262 |
#: includes/class-builder-fields.php:123
|
263 |
msgid "Email (required)"
|
264 |
msgstr ""
|
348 |
msgstr ""
|
349 |
|
350 |
#: includes/class-builder-fields.php:222
|
351 |
+
msgid "No Lists Found"
|
352 |
msgstr ""
|
353 |
|
354 |
+
#: includes/class-builder-fields.php:223
|
355 |
+
msgid "Create a List"
|
356 |
+
msgstr ""
|
357 |
+
|
358 |
+
#: includes/class-builder-fields.php:231
|
359 |
+
msgid "Allow subscribers to select from lists. ( Select at least one )"
|
360 |
+
msgstr ""
|
361 |
+
|
362 |
+
#: includes/class-builder-fields.php:249
|
363 |
msgid "Form Description"
|
364 |
msgstr ""
|
365 |
|
366 |
+
#: includes/class-builder-fields.php:257
|
367 |
msgid "This message will display above the form fields, so use it as an opportunity to pitch your email list. Tell visitors why they should subscribe to your emails, focusing on benefits like insider tips, discounts, subscriber coupons, and more."
|
368 |
msgstr ""
|
369 |
|
370 |
+
#: includes/class-builder-fields.php:277
|
371 |
msgid "Form Options"
|
372 |
msgstr ""
|
373 |
|
374 |
+
#: includes/class-builder-fields.php:285
|
375 |
msgid "Button text"
|
376 |
msgstr ""
|
377 |
|
378 |
+
#: includes/class-builder-fields.php:288
|
379 |
msgid "Sign up"
|
380 |
msgstr ""
|
381 |
|
382 |
+
#: includes/class-builder-fields.php:292
|
383 |
msgid "Success message"
|
384 |
msgstr ""
|
385 |
|
386 |
+
#: includes/class-builder-fields.php:295
|
387 |
msgid "Your information has been submitted"
|
388 |
msgstr ""
|
389 |
|
390 |
+
#: includes/class-builder-fields.php:299
|
391 |
msgid "Submission behavior"
|
392 |
msgstr ""
|
393 |
|
394 |
+
#: includes/class-builder-fields.php:306
|
395 |
msgid "Redirect URL"
|
396 |
msgstr ""
|
397 |
|
398 |
#. translators: 1: basic field info, 2: warning about invalid values, 3: recommended field value
|
399 |
+
#: includes/class-builder-fields.php:312
|
400 |
msgid "Leave blank to keep users on the current page."
|
401 |
msgstr ""
|
402 |
|
403 |
+
#: includes/class-builder-fields.php:313
|
404 |
msgid "NOTE: This URL must be within the current site and may not be a direct link to a media file (e.g., a PDF document). Providing a Redirect URL that is outside the current site or is a media file will cause issues with Constant Constact functionality, including contacts not being added to lists successfully."
|
405 |
msgstr ""
|
406 |
|
407 |
+
#: includes/class-builder-fields.php:314
|
408 |
msgid "It is recommended to leave this field blank or provide a URL to a page that contains any external or media links within the page content."
|
409 |
msgstr ""
|
410 |
|
411 |
+
#: includes/class-builder-fields.php:320
|
412 |
msgid "No page refresh"
|
413 |
msgstr ""
|
414 |
|
415 |
+
#: includes/class-builder-fields.php:323
|
416 |
msgid "Enable form submission without a page refresh. This option overrides the Redirect URL choice above."
|
417 |
msgstr ""
|
418 |
|
419 |
+
#: includes/class-builder-fields.php:328
|
420 |
msgid "Disable Google reCAPTCHA for this form?"
|
421 |
msgstr ""
|
422 |
|
423 |
+
#: includes/class-builder-fields.php:331
|
424 |
msgid "Checking will disable Google's reCAPTCHA output for this form. Only valid if using Google reCAPTCHA version 2"
|
425 |
msgstr ""
|
426 |
|
427 |
+
#: includes/class-builder-fields.php:336
|
428 |
msgid "Spam notice"
|
429 |
msgstr ""
|
430 |
|
431 |
+
#: includes/class-builder-fields.php:343
|
432 |
msgid "Spam Error Message"
|
433 |
msgstr ""
|
434 |
|
435 |
+
#: includes/class-builder-fields.php:346
|
436 |
msgid "Set the spam error message displayed for this form."
|
437 |
msgstr ""
|
438 |
|
439 |
+
#: includes/class-builder-fields.php:362
|
440 |
msgid "Form Design"
|
441 |
msgstr ""
|
442 |
|
443 |
+
#: includes/class-builder-fields.php:369, includes/class-builder-fields.php:431
|
444 |
msgid "Background Color"
|
445 |
msgstr ""
|
446 |
|
447 |
+
#: includes/class-builder-fields.php:372
|
448 |
msgid "Applies to the whole form."
|
449 |
msgstr ""
|
450 |
|
451 |
+
#: includes/class-builder-fields.php:379
|
452 |
msgid "Form Fonts"
|
453 |
msgstr ""
|
454 |
|
455 |
+
#: includes/class-builder-fields.php:385, includes/class-builder-fields.php:413
|
456 |
msgid "Font Size"
|
457 |
msgstr ""
|
458 |
|
459 |
+
#: includes/class-builder-fields.php:390
|
460 |
msgid "Only applies to the form description."
|
461 |
msgstr ""
|
462 |
|
463 |
+
#: includes/class-builder-fields.php:397, includes/class-builder-fields.php:421
|
464 |
msgid "Font Color"
|
465 |
msgstr ""
|
466 |
|
467 |
+
#: includes/class-builder-fields.php:400
|
468 |
msgid "Applies to the form description, input labels, and disclosure text."
|
469 |
msgstr ""
|
470 |
|
471 |
+
#: includes/class-builder-fields.php:407
|
472 |
msgid "Form Submit Button"
|
473 |
msgstr ""
|
474 |
|
475 |
+
#: includes/class-builder-fields.php:424
|
476 |
msgid "Choose a color for the submit button text."
|
477 |
msgstr ""
|
478 |
|
479 |
+
#: includes/class-builder-fields.php:434
|
480 |
msgid "Choose a color for the submit button background."
|
481 |
msgstr ""
|
482 |
|
483 |
+
#: includes/class-builder-fields.php:449
|
484 |
msgid "Input Design"
|
485 |
msgstr ""
|
486 |
|
487 |
+
#: includes/class-builder-fields.php:456
|
488 |
msgid "Form Padding"
|
489 |
msgstr ""
|
490 |
|
491 |
+
#: includes/class-builder-fields.php:459
|
492 |
msgid "Enter padding values in number of pixels. Padding will be applied to four sides of the form."
|
493 |
msgstr ""
|
494 |
|
495 |
+
#: includes/class-builder-fields.php:465, includes/class-builder-fields.php:520, includes/class-settings.php:476
|
496 |
msgid "Top"
|
497 |
msgstr ""
|
498 |
|
499 |
+
#: includes/class-builder-fields.php:475, includes/class-builder-fields.php:523, includes/class-settings.php:478
|
500 |
msgid "Right"
|
501 |
msgstr ""
|
502 |
|
503 |
+
#: includes/class-builder-fields.php:485, includes/class-builder-fields.php:522, includes/class-settings.php:479
|
504 |
msgid "Bottom"
|
505 |
msgstr ""
|
506 |
|
507 |
+
#: includes/class-builder-fields.php:495, includes/class-builder-fields.php:521, includes/class-settings.php:477
|
508 |
msgid "Left"
|
509 |
msgstr ""
|
510 |
|
511 |
+
#: includes/class-builder-fields.php:505
|
512 |
msgid "Custom Classes"
|
513 |
msgstr ""
|
514 |
|
515 |
+
#: includes/class-builder-fields.php:508
|
516 |
msgid "Set custom CSS class(es) for inputs. Separate multiple classes with spaces."
|
517 |
msgstr ""
|
518 |
|
519 |
+
#: includes/class-builder-fields.php:515, includes/class-settings.php:470
|
520 |
msgid "Label Placement"
|
521 |
msgstr ""
|
522 |
|
523 |
+
#: includes/class-builder-fields.php:518
|
524 |
msgid "Global"
|
525 |
msgstr ""
|
526 |
|
527 |
+
#: includes/class-builder-fields.php:524, includes/class-settings.php:480
|
528 |
msgid "Hidden"
|
529 |
msgstr ""
|
530 |
|
531 |
+
#: includes/class-builder-fields.php:526
|
532 |
msgid "Set the position for labels for inputs."
|
533 |
msgstr ""
|
534 |
|
535 |
+
#: includes/class-builder-fields.php:544
|
536 |
msgid "Enabling this option will require users to check a box to be added to your list."
|
537 |
msgstr ""
|
538 |
|
539 |
+
#: includes/class-builder-fields.php:551
|
540 |
msgid "Learn more"
|
541 |
msgstr ""
|
542 |
|
543 |
+
#: includes/class-builder-fields.php:556
|
544 |
msgid "Email opt-in"
|
545 |
msgstr ""
|
546 |
|
547 |
+
#: includes/class-builder-fields.php:576
|
548 |
msgid "Enable email subscriber opt-in"
|
549 |
msgstr ""
|
550 |
|
551 |
+
#: includes/class-builder-fields.php:578
|
552 |
msgid "Adds an opt-in to the bottom of your form."
|
553 |
msgstr ""
|
554 |
|
555 |
+
#: includes/class-builder-fields.php:597
|
556 |
msgid "Add a checkbox so subscribers can opt-in to your email list."
|
557 |
msgstr ""
|
558 |
|
559 |
+
#: includes/class-builder-fields.php:599
|
560 |
msgid "(For use with Contact Us form)"
|
561 |
msgstr ""
|
562 |
|
563 |
+
#: includes/class-builder-fields.php:602
|
564 |
msgid "Opt-in checkbox"
|
565 |
msgstr ""
|
566 |
|
567 |
+
#: includes/class-builder-fields.php:622, includes/class-settings.php:423
|
568 |
msgid "Opt-in Affirmation"
|
569 |
msgstr ""
|
570 |
|
571 |
#. translators: placeholder has a business name from Constant Contact.
|
572 |
+
#: includes/class-builder-fields.php:626
|
573 |
msgid "Example: Yes, I would like to receive emails from %s. (You can unsubscribe anytime)"
|
574 |
msgstr ""
|
575 |
|
576 |
+
#: includes/class-builder-fields.php:639
|
577 |
msgid "Form Fields"
|
578 |
msgstr ""
|
579 |
|
580 |
+
#: includes/class-builder-fields.php:647
|
581 |
msgid "Add Fields"
|
582 |
msgstr ""
|
583 |
|
584 |
+
#: includes/class-builder-fields.php:654
|
585 |
msgid "Create a field for each piece of information you want to collect. Good basics include email address, first name, and last name."
|
586 |
msgstr ""
|
587 |
|
588 |
+
#: includes/class-builder-fields.php:664
|
589 |
msgid "Field {#}"
|
590 |
msgstr ""
|
591 |
|
592 |
+
#: includes/class-builder-fields.php:665
|
593 |
msgid "Add Another Field"
|
594 |
msgstr ""
|
595 |
|
596 |
+
#: includes/class-builder-fields.php:666
|
597 |
msgid "Remove Field"
|
598 |
msgstr ""
|
599 |
|
600 |
+
#: includes/class-builder-fields.php:672
|
601 |
msgid "Select a Field"
|
602 |
msgstr ""
|
603 |
|
604 |
+
#: includes/class-builder-fields.php:682
|
605 |
msgid "Field Label"
|
606 |
msgstr ""
|
607 |
|
608 |
+
#: includes/class-builder-fields.php:689
|
609 |
msgid "Field Description"
|
610 |
msgstr ""
|
611 |
|
612 |
+
#: includes/class-builder-fields.php:693
|
613 |
msgid "Ex: Enter email address"
|
614 |
msgstr ""
|
615 |
|
616 |
+
#: includes/class-builder-fields.php:698
|
617 |
msgid "Required"
|
618 |
msgstr ""
|
619 |
|
620 |
+
#: includes/class-builder-fields.php:722
|
621 |
msgid "Shortcode to use"
|
622 |
msgstr ""
|
623 |
|
624 |
#. translators: Placeholders here represent `<em>` and `<strong>` HTML tags.
|
625 |
+
#: includes/class-builder-fields.php:727
|
626 |
msgid "Shortcode to embed — %1$s%2$sYou can copy and paste this in a post to display your form.%3$s%4$s"
|
627 |
msgstr ""
|
628 |
|
629 |
+
#: includes/class-builder-fields.php:749
|
630 |
msgid "Email settings"
|
631 |
msgstr ""
|
632 |
|
633 |
+
#: includes/class-builder-fields.php:756
|
634 |
msgid "Email destination"
|
635 |
msgstr ""
|
636 |
|
637 |
+
#: includes/class-builder-fields.php:757
|
638 |
msgid "Who should receive email notifications for this form. Separate multiple emails by a comma. Leave blank to default to admin email."
|
639 |
msgstr ""
|
640 |
|
641 |
+
#: includes/class-builder-fields.php:763
|
642 |
msgid "Disable email notifications for this form?"
|
643 |
msgstr ""
|
644 |
|
645 |
+
#: includes/class-builder-fields.php:764
|
646 |
msgid "Check this option to disable emails for this Constant Contact Forms form."
|
647 |
msgstr ""
|
648 |
|
649 |
+
#: includes/class-builder-fields.php:780
|
650 |
msgid "Reset Styles"
|
651 |
msgstr ""
|
652 |
|
653 |
+
#: includes/class-builder-fields.php:791, includes/class-builder-fields.php:809
|
654 |
msgid "Reset"
|
655 |
msgstr ""
|
656 |
|
657 |
+
#: includes/class-builder-fields.php:792
|
658 |
msgid "Reset the styles for this Form."
|
659 |
msgstr ""
|
660 |
|
766 |
msgid "Cron spawn ok"
|
767 |
msgstr ""
|
768 |
|
769 |
+
#: includes/class-connect.php:132, includes/class-connect.php:215
|
770 |
msgid "Disconnect"
|
771 |
msgstr ""
|
772 |
|
778 |
msgid "Are you sure you want to disconnect?"
|
779 |
msgstr ""
|
780 |
|
781 |
+
#: includes/class-connect.php:174
|
782 |
+
msgid "Account Connected!"
|
|
|
783 |
msgstr ""
|
784 |
|
785 |
#: includes/class-connect.php:176
|
786 |
+
msgid "You are connected to your Constant Contact account."
|
787 |
msgstr ""
|
788 |
|
789 |
+
#: includes/class-connect.php:180
|
790 |
+
msgid "Account Name:"
|
791 |
msgstr ""
|
792 |
|
793 |
+
#: includes/class-connect.php:191
|
794 |
msgid "There was an issue with retrieving connected account information. Please try again."
|
795 |
msgstr ""
|
796 |
|
797 |
+
#: includes/class-connect.php:198
|
798 |
+
msgid "Email Address:"
|
799 |
+
msgstr ""
|
800 |
+
|
801 |
+
#: includes/class-connect.php:210
|
802 |
+
msgid "Status:"
|
803 |
+
msgstr ""
|
804 |
+
|
805 |
+
#: includes/class-connect.php:234
|
806 |
+
msgid "Turn Contacts into Customers!"
|
807 |
+
msgstr ""
|
808 |
+
|
809 |
+
#: includes/class-connect.php:235
|
810 |
+
msgid "You site is connected to Constant Contact and ready to start collecting visitor information. "
|
811 |
+
msgstr ""
|
812 |
+
|
813 |
+
#: includes/class-connect.php:236
|
814 |
+
msgid "Get started by watching our introduction video to get the most out of the plugin."
|
815 |
+
msgstr ""
|
816 |
+
|
817 |
+
#: includes/class-connect.php:237, includes/class-cpts.php:70
|
818 |
+
msgid "Add Form"
|
819 |
msgstr ""
|
820 |
|
821 |
+
#: includes/class-connect.php:244
|
822 |
+
msgid "Please Help to Improve this Plugin"
|
823 |
msgstr ""
|
824 |
|
825 |
#. translators: Placeholder will hold link to Constant Contact privacy statement.
|
826 |
+
#: includes/class-connect.php:249
|
827 |
msgid "Allow Constant Contact to use Google Analytics™ to track your usage across the Constant Contact Forms plugin. You can opt-out within the Settings page. See our %1$s."
|
828 |
msgstr ""
|
829 |
|
830 |
+
#: includes/class-connect.php:252
|
831 |
msgid "Privacy Statement"
|
832 |
msgstr ""
|
833 |
|
834 |
+
#: includes/class-connect.php:259
|
835 |
msgid "Allow"
|
836 |
msgstr ""
|
837 |
|
838 |
+
#: includes/class-connect.php:260, includes/class-notification-content.php:164
|
839 |
msgid "Dismiss"
|
840 |
msgstr ""
|
841 |
|
862 |
msgstr ""
|
863 |
|
864 |
#: includes/class-cpts.php:68
|
865 |
+
msgid "Forms"
|
866 |
msgstr ""
|
867 |
|
868 |
+
#: includes/class-cpts.php:69
|
869 |
msgid "Add New Form"
|
870 |
msgstr ""
|
871 |
|
873 |
msgid "New Form"
|
874 |
msgstr ""
|
875 |
|
876 |
+
#: includes/class-cpts.php:72, includes/class-display.php:860
|
877 |
msgid "Edit Form"
|
878 |
msgstr ""
|
879 |
|
1091 |
msgid "Select list(s) to subscribe to"
|
1092 |
msgstr ""
|
1093 |
|
1094 |
+
#: includes/class-display.php:543
|
1095 |
+
msgid "Constant Contact Use. Please leave this field blank."
|
1096 |
msgstr ""
|
1097 |
|
1098 |
+
#: includes/class-display.php:698, includes/class-display.php:1807
|
1099 |
msgid "Error: Please correct your entry."
|
1100 |
msgstr ""
|
1101 |
|
1102 |
+
#: includes/class-display.php:1077
|
1103 |
+
msgid "numbers, dashes, pluses, periods, and parentheses"
|
1104 |
+
msgstr ""
|
1105 |
+
|
1106 |
+
#: includes/class-display.php:1380
|
1107 |
msgid "Street Address"
|
1108 |
msgstr ""
|
1109 |
|
1110 |
+
#: includes/class-display.php:1381
|
1111 |
msgid "Address Line 2"
|
1112 |
msgstr ""
|
1113 |
|
1114 |
+
#: includes/class-display.php:1382
|
1115 |
msgid "City"
|
1116 |
msgstr ""
|
1117 |
|
1118 |
+
#: includes/class-display.php:1383
|
1119 |
msgid "State"
|
1120 |
msgstr ""
|
1121 |
|
1122 |
+
#: includes/class-display.php:1384
|
1123 |
msgid "ZIP Code"
|
1124 |
msgstr ""
|
1125 |
|
1126 |
+
#: includes/class-display.php:1574
|
1127 |
msgid "Month"
|
1128 |
msgstr ""
|
1129 |
|
1130 |
+
#: includes/class-display.php:1575
|
1131 |
msgid "Day"
|
1132 |
msgstr ""
|
1133 |
|
1134 |
+
#: includes/class-display.php:1576
|
1135 |
msgid "Year"
|
1136 |
msgstr ""
|
1137 |
|
1138 |
+
#: includes/class-display.php:1692
|
1139 |
msgid "January"
|
1140 |
msgstr ""
|
1141 |
|
1142 |
+
#: includes/class-display.php:1693
|
1143 |
msgid "February"
|
1144 |
msgstr ""
|
1145 |
|
1146 |
+
#: includes/class-display.php:1694
|
1147 |
msgid "March"
|
1148 |
msgstr ""
|
1149 |
|
1150 |
+
#: includes/class-display.php:1695
|
1151 |
msgid "April"
|
1152 |
msgstr ""
|
1153 |
|
1154 |
+
#: includes/class-display.php:1696
|
1155 |
msgid "May"
|
1156 |
msgstr ""
|
1157 |
|
1158 |
+
#: includes/class-display.php:1697
|
1159 |
msgid "June"
|
1160 |
msgstr ""
|
1161 |
|
1162 |
+
#: includes/class-display.php:1698
|
1163 |
msgid "July "
|
1164 |
msgstr ""
|
1165 |
|
1166 |
+
#: includes/class-display.php:1699
|
1167 |
msgid "August"
|
1168 |
msgstr ""
|
1169 |
|
1170 |
+
#: includes/class-display.php:1700
|
1171 |
msgid "September"
|
1172 |
msgstr ""
|
1173 |
|
1174 |
+
#: includes/class-display.php:1701
|
1175 |
msgid "October"
|
1176 |
msgstr ""
|
1177 |
|
1178 |
+
#: includes/class-display.php:1702
|
1179 |
msgid "November"
|
1180 |
msgstr ""
|
1181 |
|
1182 |
+
#: includes/class-display.php:1703
|
1183 |
msgid "December"
|
1184 |
msgstr ""
|
1185 |
|
1186 |
#. translators: placeholder will hold company info for site owner.
|
1187 |
+
#: includes/class-display.php:1878
|
1188 |
msgid "By submitting this form, you are consenting to receive marketing emails from: %1$s. You can revoke your consent to receive emails at any time by using the SafeUnsubscribe® link, found at the bottom of every email. %2$s"
|
1189 |
msgstr ""
|
1190 |
|
1191 |
+
#: includes/class-display.php:1885
|
1192 |
msgid "Emails are serviced by Constant Contact"
|
1193 |
msgstr ""
|
1194 |
|
1212 |
msgid "Are you sure you want to delete current logs?"
|
1213 |
msgstr ""
|
1214 |
|
1215 |
+
#: includes/class-logging.php:175, includes/class-logging.php:216
|
1216 |
+
msgid "Debug Logs"
|
1217 |
+
msgstr ""
|
1218 |
+
|
1219 |
+
#: includes/class-logging.php:220
|
1220 |
+
msgid "No errors exists."
|
1221 |
msgstr ""
|
1222 |
|
1223 |
#: includes/class-logging.php:223
|
1224 |
+
msgid "No error log exists."
|
1225 |
msgstr ""
|
1226 |
|
1227 |
#. translators: placeholder holds the log location.
|
1230 |
msgstr ""
|
1231 |
|
1232 |
#: includes/class-logging.php:239
|
1233 |
+
msgid "The error log below can be used with support requests to help identify issues with Constant Contact Forms."
|
1234 |
msgstr ""
|
1235 |
|
1236 |
#: includes/class-logging.php:240
|
1237 |
+
msgid "When available, you can share information by copying and pasting the content in the textarea, or by using the \"Download logs\" link below. Logs can be cleared by using the \"Delete logs\" link."
|
1238 |
msgstr ""
|
1239 |
|
1240 |
#: includes/class-logging.php:246
|
1250 |
msgstr ""
|
1251 |
|
1252 |
#. translators: placeholder wil have error message.
|
1253 |
+
#: includes/class-logging.php:325
|
1254 |
msgid "Log display error: %s"
|
1255 |
msgstr ""
|
1256 |
|
1306 |
msgid "Get the most out of the %s plugin — use it with an active Constant Contact account."
|
1307 |
msgstr ""
|
1308 |
|
1309 |
+
#: includes/class-notification-content.php:58
|
1310 |
+
msgid "Constant Contact Forms"
|
1311 |
+
msgstr ""
|
1312 |
+
|
1313 |
#: includes/class-notification-content.php:65
|
1314 |
msgid "Connect your account"
|
1315 |
msgstr ""
|
1323 |
msgid "You currently have a large number of lists in your Constant Contact account. You may experience some issues with syncing them."
|
1324 |
msgstr ""
|
1325 |
|
1326 |
+
#: includes/class-notification-content.php:111, includes/class-notification-content.php:148, includes/class-optin.php:129, includes/class-settings.php:966
|
1327 |
+
msgctxt "img alt text"
|
1328 |
+
msgid "Constant Contact logo"
|
1329 |
+
msgstr ""
|
1330 |
+
|
1331 |
#: includes/class-notification-content.php:115
|
1332 |
msgid "Constant Contact Forms for WordPress data tracking opt-in"
|
1333 |
msgstr ""
|
1355 |
msgid "References to one or more deleted Constant Contact forms are still present on your site. Please review the list below and update or remove the references to avoid issues on your site:"
|
1356 |
msgstr ""
|
1357 |
|
|
|
|
|
|
|
|
|
|
|
1358 |
#: includes/class-notifications.php:418
|
1359 |
msgid "Dismiss this notice."
|
1360 |
msgstr ""
|
1361 |
|
1362 |
+
#: includes/class-optin.php:137, includes/class-settings.php:972
|
1363 |
msgid "Agree"
|
1364 |
msgstr ""
|
1365 |
|
1366 |
+
#: includes/class-optin.php:138, includes/class-settings.php:973
|
1367 |
msgid "Disagree"
|
1368 |
msgstr ""
|
1369 |
|
1419 |
msgid "Spam Control"
|
1420 |
msgstr ""
|
1421 |
|
1422 |
+
#: includes/class-settings.php:66, includes/class-settings.php:586
|
1423 |
msgid "Support"
|
1424 |
msgstr ""
|
1425 |
|
1426 |
+
#: includes/class-settings.php:350
|
1427 |
+
msgid "General Settings"
|
|
|
|
|
|
|
|
|
1428 |
msgstr ""
|
1429 |
|
1430 |
+
#: includes/class-settings.php:354
|
1431 |
msgid "Google Analytics™ tracking opt-in."
|
1432 |
msgstr ""
|
1433 |
|
1434 |
+
#: includes/class-settings.php:357
|
1435 |
msgid "Allow Constant Contact to use Google Analytics™ to track your usage across the Constant Contact Forms plugin.<br/> NOTE — Your website and users will not be tracked. See our <a href=\"https://www.endurance.com/privacy\"> Privacy Statement</a> information about what is and is not tracked."
|
1436 |
msgstr ""
|
1437 |
|
1438 |
+
#: includes/class-settings.php:364
|
1439 |
msgid "Disable E-mail Notifications"
|
1440 |
msgstr ""
|
1441 |
|
1442 |
#. translators: Placeholder is for a <br /> HTML tag.
|
1443 |
+
#: includes/class-settings.php:367
|
1444 |
msgid "This option will disable e-mail notifications for forms with a selected list and successfully submit to Constant Contact.%s Notifications are sent to the email address listed under Wordpress \"General Settings\"."
|
1445 |
msgstr ""
|
1446 |
|
1447 |
+
#: includes/class-settings.php:375
|
1448 |
msgid "Bypass Constant Contact cron scheduling"
|
1449 |
msgstr ""
|
1450 |
|
1451 |
+
#: includes/class-settings.php:376
|
1452 |
msgid "This option will send form entries to Constant Contact right away instead of holding for one minute delay."
|
1453 |
msgstr ""
|
1454 |
|
1455 |
+
#: includes/class-settings.php:390
|
1456 |
msgid "Advanced Opt-in"
|
1457 |
msgstr ""
|
1458 |
|
1459 |
+
#: includes/class-settings.php:395
|
1460 |
msgid "Opt-in Location"
|
1461 |
msgstr ""
|
1462 |
|
1463 |
+
#: includes/class-settings.php:402, includes/class-settings.php:409
|
1464 |
msgid "Select a list"
|
1465 |
msgstr ""
|
1466 |
|
1467 |
+
#: includes/class-settings.php:405
|
1468 |
msgid "Add subscribers to"
|
1469 |
msgstr ""
|
1470 |
|
1471 |
#. translators: placeholder will hold site owner's business name.
|
1472 |
+
#: includes/class-settings.php:427
|
1473 |
msgid "Yes, I would like to receive emails from %s. Sign me up!"
|
1474 |
msgstr ""
|
1475 |
|
1476 |
+
#: includes/class-settings.php:432
|
1477 |
msgid "Disclosure Name"
|
1478 |
msgstr ""
|
1479 |
|
1480 |
+
#: includes/class-settings.php:440
|
1481 |
msgid "Disclosure Address"
|
1482 |
msgstr ""
|
1483 |
|
1484 |
+
#: includes/class-settings.php:454
|
1485 |
msgid "Global Form CSS Settings"
|
1486 |
msgstr ""
|
1487 |
|
1488 |
+
#: includes/class-settings.php:459
|
1489 |
msgid "CSS Classes"
|
1490 |
msgstr ""
|
1491 |
|
1492 |
+
#: includes/class-settings.php:462
|
1493 |
msgid "Provide custom classes for the form separated by a single space."
|
1494 |
msgstr ""
|
1495 |
|
1496 |
+
#: includes/class-settings.php:482
|
1497 |
msgid "Choose the position for the labels of the form elements."
|
1498 |
msgstr ""
|
1499 |
|
1500 |
+
#: includes/class-settings.php:489
|
1501 |
+
msgid "Disable Constant Contact CSS"
|
1502 |
+
msgstr ""
|
1503 |
+
|
1504 |
+
#: includes/class-settings.php:490
|
1505 |
+
msgid "Disables Constant Contact stylesheets from loading on the frontend. Note you may need to clear server and client cache to see changes go into effect."
|
1506 |
+
msgstr ""
|
1507 |
+
|
1508 |
+
#: includes/class-settings.php:510
|
1509 |
msgid "Google reCAPTCHA"
|
1510 |
msgstr ""
|
1511 |
|
1512 |
+
#: includes/class-settings.php:513
|
1513 |
msgid "Learn more and get an "
|
1514 |
msgstr ""
|
1515 |
|
1516 |
+
#: includes/class-settings.php:515
|
1517 |
msgid "API site key"
|
1518 |
msgstr ""
|
1519 |
|
1520 |
+
#: includes/class-settings.php:520
|
1521 |
msgid "Version"
|
1522 |
msgstr ""
|
1523 |
|
1524 |
+
#: includes/class-settings.php:526
|
1525 |
msgid "Version 2"
|
1526 |
msgstr ""
|
1527 |
|
1528 |
+
#: includes/class-settings.php:527
|
1529 |
msgid "Version 3"
|
1530 |
msgstr ""
|
1531 |
|
1532 |
+
#: includes/class-settings.php:532
|
1533 |
msgid "Site Key"
|
1534 |
msgstr ""
|
1535 |
|
1536 |
+
#: includes/class-settings.php:542
|
1537 |
msgid "Secret Key"
|
1538 |
msgstr ""
|
1539 |
|
1540 |
+
#: includes/class-settings.php:555
|
1541 |
msgid "Suspected Bot Error Message"
|
1542 |
msgstr ""
|
1543 |
|
1544 |
+
#: includes/class-settings.php:558
|
1545 |
msgid "This message displays when the plugin detects spam data. Note that this message may be overriden on a per-post basis."
|
1546 |
msgstr ""
|
1547 |
|
1548 |
+
#: includes/class-settings.php:564
|
1549 |
msgid "Error Message"
|
1550 |
msgstr ""
|
1551 |
|
1552 |
+
#: includes/class-settings.php:590
|
1553 |
msgid "Enable logging for debugging purposes."
|
1554 |
msgstr ""
|
1555 |
|
1556 |
+
#: includes/class-settings.php:591
|
1557 |
msgid "This option will turn on some logging functionality that can be used to deduce sources of issues with the use of Constant Contact Forms plugin."
|
1558 |
msgstr ""
|
1559 |
|
1560 |
+
#: includes/class-settings.php:608
|
1561 |
msgid "Add a checkbox to the comment field in your posts"
|
1562 |
msgstr ""
|
1563 |
|
1564 |
+
#: includes/class-settings.php:609
|
1565 |
msgid "Add a checkbox to the main WordPress login page"
|
1566 |
msgstr ""
|
1567 |
|
1568 |
+
#: includes/class-settings.php:613
|
1569 |
msgid "Add a checkbox to the WordPress user registration page"
|
1570 |
msgstr ""
|
1571 |
|
1572 |
+
#: includes/class-settings.php:1055
|
1573 |
msgid "We do not think you are human"
|
1574 |
msgstr ""
|
readme.txt
CHANGED
@@ -1,9 +1,9 @@
|
|
1 |
=== Constant Contact Forms ===
|
2 |
-
Contributors: constantcontact, webdevstudios, tw2113, znowebdev, ggwicz, ravedev
|
3 |
Tags: capture, contacts, constant contact, constant contact form, constant contact newsletter, constant contact official, contact forms, email, form, forms, marketing, mobile, newsletter, opt-in, plugin, signup, subscribe, subscription, widget
|
4 |
Requires at least: 5.2.0
|
5 |
-
Tested up to: 5.
|
6 |
-
Stable tag: 1.
|
7 |
License: GPLv3
|
8 |
License URI: http://www.gnu.org/licenses/gpl-3.0.html
|
9 |
Requires PHP: 5.6
|
@@ -12,19 +12,27 @@ The official Constant Contact plugin adds a contact form to your WordPress site
|
|
12 |
|
13 |
== Description ==
|
14 |
|
15 |
-
|
|
|
16 |
|
17 |
https://www.youtube.com/watch?v=Qqb0_zcRKnM
|
18 |
|
19 |
-
**Constant Contact Forms**
|
20 |
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
|
25 |
-
BONUS
|
26 |
|
27 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
28 |
|
29 |
== Screenshots ==
|
30 |
1. Adding a New form when connected to Constant Contact account.
|
@@ -35,6 +43,13 @@ BONUS: If you have a Constant Contact account, all new email addresses that you
|
|
35 |
|
36 |
== Changelog ==
|
37 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
38 |
= 1.10.1 =
|
39 |
* Fixed: Removed accidental extra parentheses on a function call.
|
40 |
|
@@ -104,25 +119,32 @@ BONUS: If you have a Constant Contact account, all new email addresses that you
|
|
104 |
== Frequently Asked Questions ==
|
105 |
|
106 |
#### Installation and Setup
|
107 |
-
[
|
108 |
|
109 |
#### Constant Contact Forms Options
|
110 |
-
[
|
111 |
|
112 |
#### Frequently Asked Questions
|
113 |
-
[
|
114 |
|
115 |
#### Constant Contact List Addition Issues
|
116 |
-
[
|
117 |
|
118 |
#### cURL error 60: SSL certificate problem
|
119 |
-
[
|
120 |
|
121 |
#### Add Google reCAPTCHA to Constant Contact Forms
|
122 |
-
[
|
123 |
|
124 |
#### How do I include which custom fields labels are which custom field values in my Constant Contact Account?
|
125 |
You can add this to your active theme or custom plugin: `add_filter( 'constant_contact_include_custom_field_label', '__return_true' );`. Note: custom fields have a max length of 50 characters. Including the labels will subtract from the 50 character total available.
|
126 |
|
127 |
#### Which account level access is needed to connect my WordPress account to Constant Contact?
|
128 |
You will need to make the connection to Constant Contact using the credentials of the account owner. Campaign manager credentials will not have enough access.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
=== Constant Contact Forms ===
|
2 |
+
Contributors: constantcontact, webdevstudios, tw2113, znowebdev, ggwicz, ravedev, oceas, dcooney
|
3 |
Tags: capture, contacts, constant contact, constant contact form, constant contact newsletter, constant contact official, contact forms, email, form, forms, marketing, mobile, newsletter, opt-in, plugin, signup, subscribe, subscription, widget
|
4 |
Requires at least: 5.2.0
|
5 |
+
Tested up to: 5.8.0
|
6 |
+
Stable tag: 1.11.0
|
7 |
License: GPLv3
|
8 |
License URI: http://www.gnu.org/licenses/gpl-3.0.html
|
9 |
Requires PHP: 5.6
|
12 |
|
13 |
== Description ==
|
14 |
|
15 |
+
##Work smarter, not harder. The Constant Contact Way
|
16 |
+
Create branded emails, build a website, sell online, and make it easy for people to find you—all from one place.
|
17 |
|
18 |
https://www.youtube.com/watch?v=Qqb0_zcRKnM
|
19 |
|
20 |
+
**Constant Contact Forms** is the easiest way to connect your WordPress website with your Constant Contact account.
|
21 |
|
22 |
+
- Effortlessly create sign-up forms to convert your site visitors into mailing list contacts.
|
23 |
+
- Customize data fields, so you can tailor the type of information you collect from your users.
|
24 |
+
- Captured email addresses will be automatically added to the Constant Contact email lists of your choosing.
|
25 |
|
26 |
+
**BONUS**: If you have a Constant Contact account, all new email addresses that you capture will be automatically added to the Constant Contact email lists of your choosing. Not a Constant Contact customer? Sign up for a [Free Trial](https://go.constantcontact.com/signup.jsp) right from the plugin.
|
27 |
|
28 |
+
|
29 |
+
##How To Get Started.
|
30 |
+
|
31 |
+
1. Signup for a [Free Trial](http://www.constantcontact.com/index?pn=miwordpress). ( Existing Constant Contact users can skip this step).
|
32 |
+
2. Follow [first-time setup instructions](https://knowledgebase.constantcontact.com/articles/KnowledgeBase/10054-WordPress-Integration-with-Constant-Contact).
|
33 |
+
3. [Create your first form](https://knowledgebase.constantcontact.com/articles/KnowledgeBase/18059-Create-a-Wordpress-Form?q=create%20a%20form%20wordpress&pnx=1&lang).
|
34 |
+
4. [Add a form anywhere on your website](https://knowledgebase.constantcontact.com/articles/KnowledgeBase/30850-Add-a-Form-Created-with-the-Constant-Contact-Plugin-to-a-WordPress-Page-or-Blog-Post?lang).
|
35 |
+
5. Watch as your visitors turn into lifetime contacts!
|
36 |
|
37 |
== Screenshots ==
|
38 |
1. Adding a New form when connected to Constant Contact account.
|
43 |
|
44 |
== Changelog ==
|
45 |
|
46 |
+
= 1.11.0 =
|
47 |
+
- Updated: New admin styling to update the overall look and feel of the plugin in the WordPress admin.
|
48 |
+
- Updated: Amend honeypot field input for accessibility purposes.
|
49 |
+
- Added: Plugin setting to disable the loading on Constant Contact plugin CSS on the frontend.
|
50 |
+
- Added: Native browser validation for phone number (tel) field input type.
|
51 |
+
- Fixed: Amended admin notification for Bad Request results.
|
52 |
+
|
53 |
= 1.10.1 =
|
54 |
* Fixed: Removed accidental extra parentheses on a function call.
|
55 |
|
119 |
== Frequently Asked Questions ==
|
120 |
|
121 |
#### Installation and Setup
|
122 |
+
[HELP: Install the Constant Contact Forms Plugin for WordPress to Gather Sign-Ups and Feedback](https://knowledgebase.constantcontact.com/articles/KnowledgeBase/10054-WordPress-Integration-with-Constant-Contact)
|
123 |
|
124 |
#### Constant Contact Forms Options
|
125 |
+
[HELP: Add email opt-in to a WordPress Form created with the Constant Contact plugin](http://knowledgebase.constantcontact.com/articles/KnowledgeBase/18260-WordPress-Constant-Contact-Forms-Options)
|
126 |
|
127 |
#### Frequently Asked Questions
|
128 |
+
[HELP: Enable Logging in the Constant Contact Forms for WordPress Plugin](https://knowledgebase.constantcontact.com/articles/KnowledgeBase/18491-Enable-Logging-in-the-Constant-Contact-Forms-for-WordPress-Plugin)
|
129 |
|
130 |
#### Constant Contact List Addition Issues
|
131 |
+
[HELP: Troubleshooting List Addition Issues in the Constant Contact Forms Plugin for WordPress](https://knowledgebase.constantcontact.com/articles/KnowledgeBase/18539-WordPress-Constant-Contact-List-Addition-Issues)
|
132 |
|
133 |
#### cURL error 60: SSL certificate problem
|
134 |
+
[HELP: WordPress cURL Error 60: SSL Certificate Problem](https://knowledgebase.constantcontact.com/articles/KnowledgeBase/18159-WordPress-Error-60)
|
135 |
|
136 |
#### Add Google reCAPTCHA to Constant Contact Forms
|
137 |
+
[HELP: Add Google reCAPTCHA to Your WordPress Sign-up Form to Prevent Spam Entries](http://knowledgebase.constantcontact.com/articles/KnowledgeBase/17880)
|
138 |
|
139 |
#### How do I include which custom fields labels are which custom field values in my Constant Contact Account?
|
140 |
You can add this to your active theme or custom plugin: `add_filter( 'constant_contact_include_custom_field_label', '__return_true' );`. Note: custom fields have a max length of 50 characters. Including the labels will subtract from the 50 character total available.
|
141 |
|
142 |
#### Which account level access is needed to connect my WordPress account to Constant Contact?
|
143 |
You will need to make the connection to Constant Contact using the credentials of the account owner. Campaign manager credentials will not have enough access.
|
144 |
+
|
145 |
+
### Error: Please select at least one list to subscribe to.
|
146 |
+
Some users are experiencing errors when upgrading from an older version of the plugin. If you are receiving an error "Please select at least one list to subscribe to" on your form submissions we recommend "Sync Lists with Constant Contact", this can be found in your admin dashboard Contact Form > Lists. If problem still persists we recommend recreating the form from scratch.
|
147 |
+
|
148 |
+
|
149 |
+
== Upgrade Notice ==
|
150 |
+
- None
|
vendor/autoload.php
CHANGED
@@ -4,4 +4,4 @@
|
|
4 |
|
5 |
require_once __DIR__ . '/composer/autoload_real.php';
|
6 |
|
7 |
-
return
|
4 |
|
5 |
require_once __DIR__ . '/composer/autoload_real.php';
|
6 |
|
7 |
+
return ComposerAutoloaderInitf2903cb4a158f118c169e3c417a0d958::getLoader();
|
vendor/cmb2/cmb2/CHANGELOG.md
DELETED
@@ -1,765 +0,0 @@
|
|
1 |
-
# Changelog
|
2 |
-
All notable changes to this project will be documented in this file.
|
3 |
-
|
4 |
-
## Unreleased
|
5 |
-
### Enhancements
|
6 |
-
### Bug Fixes
|
7 |
-
|
8 |
-
## [2.5.1 - 2018-12-10](https://github.com/CMB2/CMB2/releases/tag/v2.5.1)
|
9 |
-
|
10 |
-
### Bug Fixes
|
11 |
-
* Fix issue when the `core/editor` object does not exist (is undefined), causing incompatibility issues with Yoast and likely others. Fixes [#1197](https://github.com/CMB2/CMB2/issues/1197)
|
12 |
-
|
13 |
-
## [2.5.0 - 2018-12-08](https://github.com/CMB2/CMB2/releases/tag/v2.5.0)
|
14 |
-
|
15 |
-
### Enhancements
|
16 |
-
|
17 |
-
* Repeatable fields are now drag-sortable. Props [@lipemat](https://github.com/lipemat) ([#1142](https://github.com/CMB2/CMB2/pull/1142)).
|
18 |
-
* Update the `sv_SE` translation. Props [@edvind](https://github.com/edvind) ([#370](https://github.com/CMB2/CMB2/pull/370)).
|
19 |
-
* QA/PHPCS cleanup. Props [@tw2113](https://github.com/tw2113) ([#1179](https://github.com/CMB2/CMB2/pull/1179)).
|
20 |
-
* Add optional `'mb_callback_args'` CMB2 box property which allows defining the `$callback_args` passed into `add_meta_box()`. This allows using defining the new [Gutenberg/block-editor compatibility parameters](https://wordpress.org/gutenberg/handbook/extensibility/meta-box/). Fixes [#1191](https://github.com/CMB2/CMB2/issues/1191)
|
21 |
-
* Support any type of markup when customizing repeating group row. Props [@lipemat](https://github.com/lipemat) ([#1187](https://github.com/CMB2/CMB2/pull/1187)).
|
22 |
-
* Add `cmb_init_pickers` and `cmb_init_code_editors` Javascript events for allowing just-in-time configuration for pickers/editors.
|
23 |
-
* Fix field descriptions color contrast ratio for better accessibility. h/t [@rianrietveld](https://github.com/rianrietveld). Fixes [#1193](https://github.com/CMB2/CMB2/issues/1193).
|
24 |
-
* Add `CMB2_Field::get_rest_value()` method for sending value through several filters (`'cmb2_get_rest_value'`, `"cmb2_get_rest_value_{$field_type}"`, `"cmb2_get_rest_value_for_{$field_id}"` ) before sending to REST request.
|
25 |
-
|
26 |
-
### Bug Fixes
|
27 |
-
|
28 |
-
* Fix the options page errors when using CMB2 in WordPress prior to 4.7. Props [@manzoorwanijk](https://github.com/manzoorwanijk) ([#1166](https://github.com/CMB2/CMB2/pull/1166)).
|
29 |
-
* Fix occasonal fatal errors that can occur by using callback functions directly vs `call_user_func`. Props [@manzoorwanijk](https://github.com/manzoorwanijk) ([#1177](https://github.com/CMB2/CMB2/pull/1177)).
|
30 |
-
* Fix issue where `wysiwyg` fields' visual tab wouldn't save content on Gutenberg/block-editor posts. Props [@staurand](https://github.com/staurand) ([#1190](https://github.com/CMB2/CMB2/pull/1190) fixes [#1156](https://github.com/CMB2/CMB2/issues/1156)).
|
31 |
-
* Fix issue when `remove_default` wouldn't actually remove the default taxonomy metabox when box registration used an alternate box context. Props [@lipemat](https://github.com/lipemat) ([#1147](https://github.com/CMB2/CMB2/pull/1147)).
|
32 |
-
|
33 |
-
## [2.4.2 - 2018-05-25](https://github.com/CMB2/CMB2/releases/tag/v2.4.2)
|
34 |
-
|
35 |
-
### Bug Fixes
|
36 |
-
|
37 |
-
* Do not enqueue/register WordPress code editor JS if there are no `textarea_code` fields registered on the page. Fixes [#1110](https://github.com/CMB2/CMB2/issues/1110).
|
38 |
-
* Do not set repeated `wysiwyg` field values to string "false" when boolean false. Fixes [#1138](https://github.com/CMB2/CMB2/issues/1138) (again!).
|
39 |
-
|
40 |
-
## [2.4.1 - 2018-05-25](https://github.com/CMB2/CMB2/releases/tag/v2.4.1)
|
41 |
-
|
42 |
-
### Bug Fixes
|
43 |
-
|
44 |
-
* Do not set repeated field values to string "false" when boolean false. Fixes [#1138](https://github.com/CMB2/CMB2/issues/1138).
|
45 |
-
|
46 |
-
## [2.4.0 - 2018-05-24](https://github.com/CMB2/CMB2/releases/tag/v2.4.0)
|
47 |
-
|
48 |
-
### Enhancements
|
49 |
-
|
50 |
-
* Enable linking options pages via tabbed-navigation. Will output tabbed navigation for options-pages which share the same `'tab_group'` CMB2 box property. [This snippet](https://github.com/CMB2/CMB2-Snippet-Library/blob/master/options-and-settings-pages/options-pages-with-tabs-and-submenus.php) demonstrates how to create a top-level menu options page with multiple submenu pages, each with the tabbed navigation. To specify a different tab title than the options-page title, set the `'tab_title'` CMB2 box property. See [#301](https://github.com/CMB2/CMB2/issues/301), [#627](https://github.com/CMB2/CMB2/issues/627).
|
51 |
-
* Complete the `zh-CN` translation. Props [@uicestone](https://github.com/uicestone) ([#1089](https://github.com/CMB2/CMB2/pull/1089)).
|
52 |
-
* Update the `nl_NL` translation. Props [@tammohaannl](https://github.com/tammohaannl) ([#1101](https://github.com/CMB2/CMB2/pull/1101)).
|
53 |
-
* Better display for white over transparent images (e.g. logos) by using a checkered background for images. ([#1103](https://github.com/CMB2/CMB2/issues/1103))
|
54 |
-
* Ability to disable the options [autoload parameter](https://codex.wordpress.org/Function_Reference/add_option#Parameters) via filter (`"cmb2_should_autoload_{$options_key}"`) or via a box parameter for `'options-page'` box registrations (`'autoload' => false,`). ([#1093](https://github.com/CMB2/CMB2/issues/1093))
|
55 |
-
* `'textarea_code'` field type now uses CodeMirror that is [used by WordPress](https://make.wordpress.org/core/2017/10/22/code-editing-improvements-in-wordpress-4-9/) ([#1096](https://github.com/CMB2/CMB2/issues/1096)). A field can opt-out to return to the previous behavior by specifying an `'options'` parameter:
|
56 |
-
`'options' => array( 'disable_codemirror' => true )`
|
57 |
-
As with the other javascript-enabled fields, the code-editor defaults can be overridden via a `data-codeeditor` attribute. E.g:
|
58 |
-
|
59 |
-
```php
|
60 |
-
'attributes' => array(
|
61 |
-
'data-codeeditor' => json_encode( array(
|
62 |
-
'codemirror' => array(
|
63 |
-
'mode' => 'css',
|
64 |
-
),
|
65 |
-
) ),
|
66 |
-
),
|
67 |
-
```
|
68 |
-
* Improve/add comment info banners at top of CMB2 CSS files.
|
69 |
-
* Added `resetBoxes`/`resetBox` Javascript methods for resetting CMB2 box forms.
|
70 |
-
* Improved styles for fields in the new-term form.
|
71 |
-
* New `CMB2_Boxes` methods for filtering instances of `CMB2`, `CMB2_Boxes::get_by( $property, $optional_compare )` and `CMB2_Boxes::filter_by( $property, $to_ignore = null )`.
|
72 |
-
|
73 |
-
### Bug Fixes
|
74 |
-
|
75 |
-
* Fix the `'taxonomy_*'` fields when used for term fields/meta. Save the value to term-meta.
|
76 |
-
* Clear the CMB2 fields when a term is added. Fixes [#794](https://github.com/CMB2/CMB2/issues/794).
|
77 |
-
* Repeated fields now use registered field defaults for values. Fixes [#1137](https://github.com/CMB2/CMB2/issues/1137).
|
78 |
-
* Fixed the formatting for deprecated messages in the log.
|
79 |
-
* Prevent opening of media modal when clicking the file "Download" link. Fixes [#1130](https://github.com/CMB2/CMB2/issues/1130).
|
80 |
-
|
81 |
-
## [2.3.0 - 2017-12-20](https://github.com/CMB2/CMB2/releases/tag/v2.3.0)
|
82 |
-
|
83 |
-
### Enhancements
|
84 |
-
|
85 |
-
* Updated Italian translation. Props [@Mte90](https://github.com/Mte90) ([#1067](https://github.com/CMB2/CMB2/issues/1067)).
|
86 |
-
* Starting with this release, we are fully switching to the more communicative and standard [Semantic Versioning](https://semver.org/). ([#1061](https://github.com/CMB2/CMB2/issues/1061)).
|
87 |
-
|
88 |
-
### Bug Fixes
|
89 |
-
|
90 |
-
* Update for compatibility with PHP 7.2 (e.g. fixes `Fatal error: Declaration of CMB2_Type_Colorpicker::render() must be compatible with CMB2_Type_Text::render($args = Array)...`). ([#1070](https://github.com/CMB2/CMB2/issues/1070), [#1074](https://github.com/CMB2/CMB2/issues/1074), [#1075](https://github.com/CMB2/CMB2/issues/1075)).
|
91 |
-
|
92 |
-
## [2.2.6.2 - 2017-11-24](https://github.com/CMB2/CMB2/releases/tag/v2.2.6.2)
|
93 |
-
|
94 |
-
### Bug Fixes
|
95 |
-
|
96 |
-
* Fix another issue (introduced in 2.2.6) with repeatable fields not being able to save additional fields. Props [@anhskohbo](https://github.com/anhskohbo) ([#1059](https://github.com/CMB2/CMB2/pull/1059), [#1058](https://github.com/CMB2/CMB2/issues/1058)).
|
97 |
-
* Only dequeue `jw-cmb2-rgba-picker-js` script (and enqueue our `wp-color-picker-alpha`) if it is actually found.
|
98 |
-
|
99 |
-
## [2.2.6.1 - 2017-11-24](https://github.com/CMB2/CMB2/releases/tag/v2.2.6.1)
|
100 |
-
|
101 |
-
### Enhancements
|
102 |
-
|
103 |
-
* Merge in the [CMB2 RGBa Colorpicker](https://github.com/JayWood/CMB2_RGBa_Picker) field type functionality to the CMB2 colopicker field type. Adds the ability to add an alpha (transparency) slider to the colorpicker by adding the `'alpha'` option [to the field options array](https://github.com/CMB2/CMB2/blob/6fce2e7ba8f41345a23bc2064e30433bdb11c16c/example-functions.php#L263-L265). Thank you to [JayWood](https://github.com/JayWood) for his work on his custom field type.
|
104 |
-
|
105 |
-
### Bug Fixes
|
106 |
-
|
107 |
-
* Fix issue (introduced in 2.2.6) with complex fields set as repeatable not being able to save additional fields. Fixes [#1054](https://github.com/CMB2/CMB2/issues/1054).
|
108 |
-
|
109 |
-
## [2.2.6 - 2017-11-14](https://github.com/CMB2/CMB2/releases/tag/v2.2.6)
|
110 |
-
|
111 |
-
### Enhancements
|
112 |
-
|
113 |
-
* Move the fetching of group label and description to _after_ calling `'before_group'` parameter.
|
114 |
-
* Allow using the `'render_row_cb'` param for group fields. Fixes [#1041](https://github.com/CMB2/CMB2/issues/1041).
|
115 |
-
* Allow resetting cached CMB2 field objects (new 3rd parameter to `CMB2::get_field()`).
|
116 |
-
* Allow resetting cached callback results (`CMB2_Base::unset_param_callback_cache()`).
|
117 |
-
* Persian translation provided by [@reza-irdev](https://github.com/reza-irdev) ([#1046](https://github.com/CMB2/CMB2/issues/1046)).
|
118 |
-
* Added a `'message_cb'` box property, which allows defining a custom callback for adding options-save messages on `options-page` boxes. An example has been added to [example-functions.php](https://github.com/CMB2/CMB2/commit/43d513c135e52c327bafa06309821c29323ae2dd#diff-378c74d0ffffc1759b8779a135476777).
|
119 |
-
* Updated many the oembed-related unit tests to more reliably test the relevant parts, and not so much the actual success of the WordPress functions.
|
120 |
-
* Updated travis config to Install PHP5.2/5.3 on trusty for unit tests. Stolen from [gutenberg/pull/2049](https://github.com/WordPress/gutenberg/pull/2049). Intended to compensate for Travis removing support for PHP 5.2/5.3.
|
121 |
-
|
122 |
-
### Bug Fixes
|
123 |
-
|
124 |
-
* Ensure `'file'` field type ID is removed from the database if the `'file'` field type's value is empty ([Support thread](https://wordpress.org/support/topic/bug-field-of-type-file-does-not-delete-postmeta-properly/)).
|
125 |
-
* Fix JS errors when `user_can_richedit()` is false ("Disable the visual editor when writing" user option is checked, or various unsupported browsers). See [#1031](https://github.com/CMB2/CMB2/pull/1031).
|
126 |
-
* Fix issue where some European date formats (e.g. `F j, Y`) would not properly translate into jQuery UI date formats. [Support thread](https://wordpress.org/support/topic/using-wordpresss-date-time-format-settings)
|
127 |
-
* Fix repeating fields within repeating groups having the values/indexes incorrectly associated. Props [@daggerhart](https://github.com/daggerhart) ([#1047](https://github.com/CMB2/CMB2/pull/1047)). Fixes [#1035](https://github.com/CMB2/CMB2/issues/1035), [#348](https://github.com/CMB2/CMB2/issues/348).
|
128 |
-
* Fixed multiple update messages on settings pages when CMB2 option pages were registered ([#1049](https://github.com/CMB2/CMB2/issues/1049)).
|
129 |
-
* Fix issue where using multiple oembed fields could cause incorrectly cached arguments to be used.
|
130 |
-
* Fix bug where `'select_all_button' => false` was not working for `'taxonomy_multicheck'` field type ([#1005](https://github.com/CMB2/CMB2/issues/1005)).
|
131 |
-
|
132 |
-
## [2.2.5.3 - 2017-08-22](https://github.com/CMB2/CMB2/releases/tag/v2.2.5.3)
|
133 |
-
|
134 |
-
### Enhancements
|
135 |
-
|
136 |
-
* Update to instead initate CMB2 hookup via `"cmb2_init_hookup_{$cmb_id}"` hook. Allows plugins to unhook/rehook/etc.
|
137 |
-
|
138 |
-
### Bug Fixes
|
139 |
-
|
140 |
-
* Spelling/Grammar fixes. Props [@garrett-eclipse](https://github.com/garrett-eclipse) ([#1012](https://github.com/CMB2/CMB2/pull/1012)).
|
141 |
-
* Fix "PHP Strict Standards: Static function should not be abstract" notice.
|
142 |
-
* Add `CMB2_Utils::normalize_if_numeric()` to address problems when using floats as select/radio values. Fixes [#869](https://github.com/CMB2/CMB2/issues/869). See [#1013](https://github.com/CMB2/CMB2/pull/1013).
|
143 |
-
* Fix issues with apostrophes in money values. (e.g. in Swiss German the thousand separator is an apostrophe). Props [@ocean90](https://github.com/ocean90) ([#1014](https://github.com/CMB2/CMB2/issues/1014), [#1015](https://github.com/CMB2/CMB2/pull/1015)).
|
144 |
-
* Provide public access to the `CMB2_Options_Hookup::$option_key` property.
|
145 |
-
* Change the updated-settings notice query variable so that WordPress does not auto-add settings notices on top of ours.
|
146 |
-
* For settings pages, only output settings errors if WordPress does not do it by default (for sub-pages of `options-general.php`), and if the errors are not disabled via the `'disable_settings_errors'` box property.
|
147 |
-
|
148 |
-
## [2.2.5.2 - 2017-08-08](https://github.com/CMB2/CMB2/releases/tag/v2.2.5.2)
|
149 |
-
|
150 |
-
### Bug Fixes
|
151 |
-
|
152 |
-
* Fix issue in 2.2.5 with non-sortable repeatable groups not having new groups values be emptied on creation/clone. [Support thread](https://wordpress.org/support/topic/the-default-parameter-dont-work-in-group-fields/page/2/)
|
153 |
-
* Fix issue in 2.2.5 with options pages not saving when `'parent_slug'` box property was used. Fixes [#1008](https://github.com/CMB2/CMB2/issues/1008).
|
154 |
-
|
155 |
-
## [2.2.5.1 - 2017-08-07](https://github.com/CMB2/CMB2/releases/tag/v2.2.5.1)
|
156 |
-
|
157 |
-
### Bug Fixes
|
158 |
-
|
159 |
-
* Fix issue in 2.2.5 which caused empty repeatable groups having the buttons set to have a disabled "Remove Group" button. [Support thread](https://wordpress.org/support/topic/the-default-parameter-dont-work-in-group-fields/)
|
160 |
-
|
161 |
-
## [2.2.5 - 2017-08-07](https://github.com/CMB2/CMB2/releases/tag/v2.2.5)
|
162 |
-
|
163 |
-
### Enhancements
|
164 |
-
|
165 |
-
* Options pages are now first-class CMB2 citizens, and registering a box to show on an options page will automatically register the menu page and output the form on the page. [See example](https://github.com/CMB2/CMB2/blob/v2.2.5/example-functions.php#L640-L683). (The [snippets](https://github.com/CMB2/CMB2-Snippet-Library/tree/master/options-and-settings-pages) in the snippet library will be updated to reflect this change)
|
166 |
-
* Improved Options Page styling. Props [@anhskohbo](https://github.com/anhskohbo) ([#1006](https://github.com/CMB2/CMB2/pull/1006)).
|
167 |
-
* Improved cohesive styles for repeatable fields. Props [@anhskohbo](https://github.com/anhskohbo) ([#819](https://github.com/CMB2/CMB2/pull/819)).
|
168 |
-
* New field types, `'taxonomy_radio_hierarchical'`, and `'taxonomy_multicheck_hierarchical'`, for displaying taxonomy options in a hierarchial layout. Props to [eriktelepovsky](https://github.com/eriktelepovsky) for the [working code](https://github.com/CMB2/CMB2/issues/640#issuecomment-246938690). ([#640](https://github.com/CMB2/CMB2/issues/640))
|
169 |
-
* Removing last repeat item row (and repeat group row) is now somewhat allowed in that the "remove" button simply resets the last item to empty. Fixes [#312](https://github.com/CMB2/CMB2/issues/312).
|
170 |
-
* Enable the additional media library modal filters. Fixes [#873](https://github.com/CMB2/CMB2/issues/873).
|
171 |
-
* Sanitize the attributes added via the `cmb2_group_wrap_attributes` filter.
|
172 |
-
* New field parameter, `'query_args'`, which can be used by the `'taxonomy_*'` fields. Provides ability to override the arguments passed to `get_terms()`.
|
173 |
-
* The `cmb2_can_save` filter now passes the CMB2 object as the 2nd parameter. Props [@Arno33](https://github.com/Arno33) ([#994](https://github.com/CMB2/CMB2/pull/994)).
|
174 |
-
* Update the file field type to work properly within a custom field context by allowing the passing of override arguments to `CMB2_Types::file()` method.
|
175 |
-
* Many WordPress Code Standards improvements/updates. Props [@bradp](https://github.com/bradp)
|
176 |
-
* Include absolute paths when including the core php files. Props [@anhskohbo](https://github.com/anhskohbo) ([#998](https://github.com/CMB2/CMB2/pull/998)).
|
177 |
-
* Change language throught to reflect CMB2's move to its own organization.
|
178 |
-
* Break `CMB2_Field:options()` method apart to allow re-setting options from field params. Related: [reaktivstudios/cmb2-flexible-content/pull/8](https://github.com/reaktivstudios/cmb2-flexible-content/pull/8).
|
179 |
-
* New `CMB2:box_types()` method for getting the array of registered `'object_types'` for a box. Ensures the return is an array.
|
180 |
-
* Improved inline hooks documentation.
|
181 |
-
* Updated several CMB2 methods to return the CMB2 object (for method chaining). Methods include:
|
182 |
-
* `CMB2::show_form()`
|
183 |
-
* `CMB2::render_form_open()`
|
184 |
-
* `CMB2::render_form_close()`
|
185 |
-
* `CMB2::render_group_row()`
|
186 |
-
* `CMB2::render_hidden_fields()`
|
187 |
-
* `CMB2::save_fields()`
|
188 |
-
* `CMB2::process_fields()`
|
189 |
-
* `CMB2::process_field()`
|
190 |
-
* `CMB2::pre_process()`
|
191 |
-
* `CMB2::after_save()`
|
192 |
-
* `CMB2::add_fields()`
|
193 |
-
|
194 |
-
### Bug Fixes
|
195 |
-
|
196 |
-
* Update for `file`/`file_list` fields to properly show a preview for SVG images. Fixes [#874](https://github.com/CMB2/CMB2/pull/874).
|
197 |
-
* Fix and standardize inconsistent button classes. Update all buttons to use the `.button-secondary` class instead of the `.button` class. This alleviates some front-end issues for themes which target the `.button` class. _This is a backwards-compatibility break._ If your theme or plugin targets the `.button` class within CMB2, you will need to update to use `.button-secondary`.
|
198 |
-
* Correct the before/after form hooks order. For more details see ([#954](https://github.com/CMB2/CMB2/pull/954)).
|
199 |
-
* Fix regression with custom fields not properly repeating. Props [@desrosj](https://github.com/desrosj) ([#969](https://github.com/CMB2/CMB2/pull/969)). Fixes [#901](https://github.com/CMB2/CMB2/issues/901).
|
200 |
-
* Fix "Illegal string offset" notices when `CMB2_Option` methods are called when the option value is empty, as well as additional unit tests for the `CMB2_Option` class. Props [@anhskohbo](https://github.com/anhskohbo) ([#993](https://github.com/CMB2/CMB2/pull/993)).
|
201 |
-
* Fix bug where select fields or checkbox fields occasionally would retain previous group's value when adding new groups. Fixes [#853](https://github.com/CMB2/CMB2/issues/853).
|
202 |
-
* Fix JS to prevent meta keys with `|` or `/` from breaking file fields. Props [@lipemat](https://github.com/lipemat) ([#1003](https://github.com/CMB2/CMB2/pull/1003)).
|
203 |
-
* Fix jQuery Migrate's `jQuery.fn.attr('value', val) no longer sets properties` warning.
|
204 |
-
* Fix issue with CMB2 being too aggressive with stripping slashes from values. Fixes [#981](https://github.com/CMB2/CMB2/issues/981).
|
205 |
-
|
206 |
-
## [2.2.4 - 2017-02-27](https://github.com/CMB2/CMB2/releases/tag/v2.2.4)
|
207 |
-
|
208 |
-
### Enhancements
|
209 |
-
|
210 |
-
* Modify `'taxonomy_*'` fields to return stored terms for non-post objects.
|
211 |
-
* Modify `CMB2::get_sanitized_values()` to return the sanitized `'taxonomy_*'` field values. Also added `"cmb2_return_taxonomy_values_{$cmb_id}"` filter to modify if `'taxonomy_*'` field values are returned. Fixes [#538](https://github.com/CMB2/CMB2/issues/538).
|
212 |
-
* Allow outputting CMB2 boxes/fields in additional locations in the post-editor.
|
213 |
-
|
214 |
-
**The new locations are:** [`form_top`](https://developer.wordpress.org/reference/hooks/edit_form_top/), [`before_permalink`](https://developer.wordpress.org/reference/hooks/edit_form_before_permalink/), [`after_title`](https://developer.wordpress.org/reference/hooks/edit_form_after_title/), and [`after_editor`](https://developer.wordpress.org/reference/hooks/edit_form_after_editor/)
|
215 |
-
|
216 |
-
These would be defined by setting the `context` property for your box:
|
217 |
-
|
218 |
-
```php
|
219 |
-
$cmb_demo = new_cmb2_box( array(
|
220 |
-
...
|
221 |
-
'context' => 'before_permalink',
|
222 |
-
) );
|
223 |
-
```
|
224 |
-
|
225 |
-
If it is preferred that the fields are output without the metabox, then omit the `'title'` property from the metabox registration array, and instead add ` 'remove_box_wrap' => true,`.
|
226 |
-
|
227 |
-
Props [@norcross](https://github.com/norcross) ([#836](https://github.com/CMB2/CMB2/pull/836)).
|
228 |
-
* New field parameter, `'render_class'`, allowing you to override the default `'CMB2_Type_Base'` class that is used when rendering the field. This provides interesting object-oriented ways to override default CMB2 behavior by subclassing the default class and overriding methods. The render class can also be overridden with the `"cmb2_render_class_{$fieldtype}"` filter, which is passed the default render class name as well as the `CMB2_Types` object, but this should be used sparingly, and within the context of your project's boxes/fields or you could break other plugins'/themes' CMB2 fields.
|
229 |
-
* Improvements to the `file`/`file_list` fields javascript APIs, including using undersore templates.
|
230 |
-
* Small improvements to the styling for the `file_list` field type.
|
231 |
-
* New action hook, `cmb2_footer_enqueue`, which occurs after CMB2 enqueues its assets.
|
232 |
-
* Example functions clean up. Props [@PavelK27](https://github.com/PavelK27) ([#866](https://github.com/CMB2/CMB2/pull/866)).
|
233 |
-
* New `CMB2_Utils` methods, `get_available_image_sizes()` and `get_named_size()`. Props [@Cai333](https://github.com/Cai333).
|
234 |
-
|
235 |
-
### Bug Fixes
|
236 |
-
|
237 |
-
* Fix datepicker month/year dropdown text color. On windows, the option text was showing as white (invisible). Fixes [#770](https://github.com/CMB2/CMB2/issues/770).
|
238 |
-
* Repeatable WYSIWYG no longer breaks if `'quicktags'` param is set to false. Props [@timburden](https://github.com/timburden) ([#797](https://github.com/CMB2/CMB2/pull/797), [#796](https://github.com/CMB2/CMB2/issues/796)).
|
239 |
-
* Do not process title fields during group field save process.
|
240 |
-
* Fix issue where term-meta values were not being displayed for some users. Props [@sbussetti](https://github.com/sbussetti) ([#763](https://github.com/CMB2/CMB2/pull/763), [#700](https://github.com/CMB2/CMB2/issues/700)).
|
241 |
-
* Fix issue where term meta would not be applied when using the new term form if multiple object types were specified. Props [@ADC07](https://github.com/ADC07) ([#842](https://github.com/CMB2/CMB2/pull/842), [#841](https://github.com/CMB2/CMB2/issues/841)).
|
242 |
-
* Fix WordPress spinner styling when boxes/fields used on the frontend.
|
243 |
-
* Fix issue where clicking to remove a `file_list` item could occasionally remove the field row. ([#828](https://github.com/CMB2/CMB2/pull/828)).
|
244 |
-
* Fix issue where empty file field in group would still cause non-empty values to store to database. ([#721](https://github.com/CMB2/CMB2/issues/721)).
|
245 |
-
* Make `file`/`file_list` field preview images work with named sizes. Props [@Cai333](https://github.com/Cai333) ([#848](https://github.com/CMB2/CMB2/pull/848), [#844](https://github.com/CMB2/CMB2/issues/844)).
|
246 |
-
* Fix incorrect text-domain. ([#798](https://github.com/CMB2/CMB2/issues/798))
|
247 |
-
* Do not silence notices/errors in `CMB2_Utils::get_file_ext()`.
|
248 |
-
* If `title` field type has no name value, then only output a span element (instead of a header element).
|
249 |
-
|
250 |
-
## [2.2.3.1 - 2016-11-08](https://github.com/CMB2/CMB2/releases/tag/v2.2.3.1)
|
251 |
-
|
252 |
-
### Enhancements
|
253 |
-
|
254 |
-
* Better styling for disabled group "X" buttons, and add title attr. Fixes [#773](https://github.com/CMB2/CMB2/issues/773).
|
255 |
-
|
256 |
-
### Bug Fixes
|
257 |
-
|
258 |
-
* Use quotes for `label[for=""]` selector. Fixed `Syntax error, unrecognized expression`. Props [@anhskohbo](https://github.com/anhskohbo) ([#789](https://github.com/CMB2/CMB2/pull/789)).
|
259 |
-
* Fix `ReferenceError: tinyMCE is not defined` javascript errors (happening when trying to remove a repeatable field/group). Fixes [#790](https://github.com/CMB2/CMB2/issues/790), and [#730](https://github.com/CMB2/CMB2/issues/730).
|
260 |
-
* Fix REST API `'show_in_rest'` examples in `example-functions.php`. Any REST API boxes/fields must use the `'cmb2_init'` hook (as opposed to the `'cmb2_admin_init'` hook).
|
261 |
-
|
262 |
-
## [2.2.3 - 2016-10-25](https://github.com/CMB2/CMB2/releases/tag/v2.2.3)
|
263 |
-
|
264 |
-
### Enhancements
|
265 |
-
|
266 |
-
* CMB2 REST API! CMB2 now has WP REST API endpoints for displaying your boxes and fields data, as well as registers rest fields in the existing post, user, term, and comment endpoints (in the cmb2 namespace). Enabling the REST API for your boxes/fields is opt-in, meaning it will not be automatically enabled. For more info, [check out the wiki](https://github.com/CMB2/CMB2/wiki/REST-API).
|
267 |
-
* Small string improvement, move a period inside the translatable string. Props [@pedro-mendonca](https://github.com/pedro-mendonca) ([#672](https://github.com/CMB2/CMB2/pull/672)).
|
268 |
-
* Introduce the `'save_field'` boolean field parameter for disabling the saving of a field. Useful if you want to display the value of another field, or use a disabled/read-only field. Props [@jamesgol](https://github.com/jamesgol) ([#674](https://github.com/CMB2/CMB2/pull/674), [#346](https://github.com/CMB2/CMB2/issues/346), [#500](https://github.com/CMB2/CMB2/issues/500)).
|
269 |
-
* Update docblocks for `CMB2_Field::save_field_from_data()` and `CMB2_Field::save_field()`. Props [@jamesgol](https://github.com/jamesgol) ([#675](https://github.com/CMB2/CMB2/pull/675)).
|
270 |
-
* More javascript events tied to the media modal actions (related to the `'file'` and '`file_list'` fields). `'cmb_media_modal_init'`, `'cmb_media_modal_open'`, and `'cmb_media_modal_select'`.
|
271 |
-
* All CMB2 JS events now also get the CMB2 JS object passed in the list of arguments.
|
272 |
-
* CMB2 JS object is now instantiated without stomping existing object, to enable extending.
|
273 |
-
* New field parameter for taxonomy fields, `'remove_default'` which allows disabling the default taxonomy metabox. Props [@c3mdigital](https://github.com/c3mdigital) ([#593](https://github.com/CMB2/CMB2/pull/593)).
|
274 |
-
* Change `'row_classes'` to just `'classes'`, to mirror the metabox `'classes'` property. Also now accepts a `'classes_cb'` parameter for specifying a callback which returns a string or array. The callback will receive `$field_args` as the first argument, and the CMB2_Field `$field` object as the second argument. (`'row_classes'` will continue to work, but is deprecated)
|
275 |
-
* Make wysiwyg editors work in the repeatable groups context. A standard repeatable (non-group) wysiwyg field is not supported (but will possibly be included in a future update). Props [@johnsonpaul1014](https://github.com/johnsonpaul1014) ([#26](https://github.com/CMB2/CMB2/pull/26), [#99](https://github.com/CMB2/CMB2/pull/99), [#260](https://github.com/CMB2/CMB2/pull/260), [#264](https://github.com/CMB2/CMB2/pull/264), [#356](https://github.com/CMB2/CMB2/pull/356), [#431](https://github.com/CMB2/CMB2/pull/431), [#462](https://github.com/CMB2/CMB2/pull/462), [#657](https://github.com/CMB2/CMB2/pull/657), [#693](https://github.com/CMB2/CMB2/pull/693)).
|
276 |
-
* Add an id to the heading tag in the title field. This allows linking to a particular title using the id.
|
277 |
-
* Internationalization improvements. Props [ramiy](https://github.com/ramiy) ([#696](https://github.com/CMB2/CMB2/pull/696)).
|
278 |
-
* Ensure that saving does not happen during a switch-to-blog session, as data would be saved to the wrong object. [See more](https://wordpress.org/support/topic/bug-in-lastest-version?replies=2).
|
279 |
-
* Add `'cmb2_group_wrap_attributes'` filter to modifying the group wrap div's attributes. Filter gets passed an array of attributes and expects the return to be an array. Props [jrfnl](https://github.com/jrfnl) ([#582](https://github.com/CMB2/CMB2/pull/582)).
|
280 |
-
* Update the unit-tests README and inline docs. Props [bobbingwide](https://github.com/bobbingwide) ([#714](https://github.com/CMB2/CMB2/pull/714), [#715](https://github.com/CMB2/CMB2/pull/715)).
|
281 |
-
* Minor update to make naming-conventions consistent. Props [ramiy](https://github.com/ramiy) ([#718](https://github.com/CMB2/CMB2/pull/718)).
|
282 |
-
* Update files to be compatible with PHP7 CodeSniffer standards. Props [ryanshoover](https://github.com/ryanshoover) ([#719](https://github.com/CMB2/CMB2/pull/719), [#720](https://github.com/CMB2/CMB2/pull/720)).
|
283 |
-
* Make exception message translatable. Props [ramiy](https://github.com/ramiy) ([#724](https://github.com/CMB2/CMB2/pull/724)).
|
284 |
-
* Portuguese translation provided by [@alvarogois](https://github.com/alvarogois) and [@pedro-mendonca](https://github.com/pedro-mendonca) - [#709](https://github.com/CMB2/CMB2/pull/709), [#727](https://github.com/CMB2/CMB2/pull/727).
|
285 |
-
* Stop using `$wp_version` global. Props [ramiy](https://github.com/ramiy) ([#731](https://github.com/CMB2/CMB2/pull/731)).
|
286 |
-
* Closures (anonymous functions) are now supported for any box/field `'*_cb'` parameters. E.g.
|
287 |
-
```php
|
288 |
-
...
|
289 |
-
'show_on_cb' => function( $cmb ) { return has_tag( 'cats', $cmb->object_id ); },
|
290 |
-
...
|
291 |
-
```
|
292 |
-
|
293 |
-
### Bug Fixes
|
294 |
-
|
295 |
-
* If custom field types use a method and the Type object has not been instantiated, Try to guess the Type object and instantiate.
|
296 |
-
* Normalize WordPress root path (`ABSPATH`) and theme rooth path (`get_theme_root()`). Props [@rianbotha](https://github.com/rianbotha) ([#677](https://github.com/CMB2/CMB2/pull/677), [#676](https://github.com/CMB2/CMB2/pull/676)).
|
297 |
-
* Fix issue with `'cmb2_remove_row'` Javascript callback for non-group row removal. Fixes [#729](https://github.com/CMB2/CMB2/pull/729)).
|
298 |
-
* Fix issue with missing assignment of variable (undefined variable). Props [@anhskohbo](https://github.com/anhskohbo) ([#779](https://github.com/CMB2/CMB2/pull/779)).
|
299 |
-
|
300 |
-
## 2.2.2.1 - 2016-06-27
|
301 |
-
|
302 |
-
### Bug Fixes
|
303 |
-
|
304 |
-
* Fix issue that kept CMB2 stylesheet from being enqueued when using the [options-page snippets](https://github.com/CMB2/CMB2-Snippet-Library/tree/master/options-and-settings-pages).
|
305 |
-
* Fix issue which caused the CMB2 column display styles to be enqueued in the wrong pages. Now only enqueues on admin pages with columns.
|
306 |
-
|
307 |
-
## 2.2.2 - 2016-06-27
|
308 |
-
|
309 |
-
### Enhancements
|
310 |
-
|
311 |
-
* You can now set admin post-listing columns with an extra field parameter, `'column' => true,`. If you want to dictate what position the column is, use `'column' => array( 'position' => 2 ),`. If you want to dictate the column title (instead of using the field `'name'` value), use `'column' => array( 'name' => 'My Column' ),`. If you need to specify the column display callback, set the `'display_cb'` parameter to [a callback function](https://github.com/CMB2/CMB2/wiki/Field-Parameters#render_row_cb). Columns work for post (all post-types), comment, user, and term object types.
|
312 |
-
* Updated Datepicker styles using JJJ's "jQuery UI Datepicker CSS for WordPress", so props Props [@stuttter](https://github.com/stuttter), [@johnjamesjacoby](https://github.com/johnjamesjacoby). Also cleaned up the timepicker styles (specifically the buttons) to more closely align with the datepicker and WordPress styles.
|
313 |
-
* CMB2 is now a lot more intelligent about where it is located in your installation. This update should solve almost all of the reasons to use the `'cmb2_meta_box_url'` filter (thought it will continue to work as expected). ([#27](https://github.com/CMB2/CMB2/issues/27), [#118](https://github.com/CMB2/CMB2/issues/118), [#432](https://github.com/CMB2/CMB2/issues/432), [related wiki item](https://github.com/CMB2/CMB2/wiki/Troubleshooting#cmb2-urls-issues))
|
314 |
-
* Implement CMB2_Ajax as a singleton. Props [jrfnl](https://github.com/jrfnl) ([#602](https://github.com/CMB2/CMB2/pull/602)).
|
315 |
-
* Add `classes` and `classes_cb` CMB2 box params which allows you to add additional classes to the cmb-wrap. The `classes` parameter can take a string or array, and the `classes_cb` takes a callback which returns a string or array. The callback will receive `$cmb` as an argument. These classes are also passed through a new filter, `'cmb2_wrap_classes'`, which receives the array of classes as the first argument, and the CMB2 object as the second. Reported/requested in [#364](https://github.com/CMB2/CMB2/issues/364#issuecomment-213223692).
|
316 |
-
* Make the `'title'` field type accept extra arguments. Props [@vladolaru](https://github.com/vladolaru), [@pixelgrade](https://github.com/pixelgrade) ([#656](https://github.com/CMB2/CMB2/pull/656)).
|
317 |
-
* Updated `cmb2_get_oembed()` function to NOT return the "remove" link, as it's intended for outputting the oembed only. **This is a backwards-compatibility concern.** If you were depending on the "remove" link, use `cmb2_ajax()->get_oembed( $args )` instead.
|
318 |
-
* New function, `cmb2_do_oembed()`', which is hooked to `'cmb2_do_oembed'`, so you can use `do_action( 'cmb2_do_oembed', $args )` in your themes without `function_exists()` checks.
|
319 |
-
* New method, `CMB2:set_prop( $property, $value )`, for setting a CMB2 metabox object property.
|
320 |
-
* The `CMB2_Field` object instances will now have a `cmb_id` property and a `get_cmb` method to enable access to the field's `CMB2` parent object's instance, in places like field callbacks and filters (e.g. `$cmb = $field->get_cmb();`).
|
321 |
-
* Add a `data-fieldtype` attribute to the field rows for simpler identification in Javascript.
|
322 |
-
* Moved each type in `CMB2_Types` to it's own class so that each field type can handle it's own field display, and added the infrastructure to maintainn back-compatibility.
|
323 |
-
* New `CMB2_Utils` methods, `notempty()` and `filter_empty()`, both of which consider `null`, `''` and `false` as empty, but allow `0` (for saving `0` as a field value).
|
324 |
-
* New `CMB2_Utils` public methods, `get_url_from_dir()`, `get_file_ext()`, `get_file_name_from_path()`, and `wp_at_least()`.
|
325 |
-
* Add a `cmb_pre_init` Javascript event to allow overriding CMB2 defaults via JS.
|
326 |
-
|
327 |
-
### Bug Fixes
|
328 |
-
* Fix issue with 'default' callback not being applied in all instances. Introduced new `CMB2_Field::get_default()` method, and `'default_cb'` field parameter. Using the `'default'` field parameter with a callback will be deprecated in the next few releases. ([#572](https://github.com/CMB2/CMB2/issues/572)).
|
329 |
-
* Be sure to call `CMB2_Field::row_classes()` for group field rows. Also, update CSS to use the "cmb-type-group" classname instead of "cmb-repeat-group-wrap".
|
330 |
-
* Introduce new `'text'` and `'text_cb'` field parameters for overriding CMB2 text strings instead of using the `'options'` array. ([#630](https://github.com/CMB2/CMB2/pull/630))
|
331 |
-
* Fix bug where the value of '0' could not be saved in group fields.
|
332 |
-
* Fix bug where a serialized empty array value in the database for a repeatable field would output as "Array".
|
333 |
-
* Allow for optional/empty money field. Props [@jrfnl](https://github.com/jrfnl) ([#577](https://github.com/CMB2/CMB2/pull/577)).
|
334 |
-
* The `CMB2::$updated` parameter (which contains field ids for all fields updated during a save) now also correctly adds group field ids to the array.
|
335 |
-
|
336 |
-
## 2.2.1 - 2016-02-29
|
337 |
-
|
338 |
-
### Bug Fixes
|
339 |
-
|
340 |
-
* Fixes back-compatibility issue which could allow multiple CMB2 instances to load (causing fatal errors). ([#520](https://github.com/CMB2/CMB2/pull/520))
|
341 |
-
|
342 |
-
## 2.2.0 - 2016-02-27
|
343 |
-
|
344 |
-
### Enhancements
|
345 |
-
|
346 |
-
* Term Meta! As of WordPress 4.4, [WordPress will have the ability to use term metadata](https://make.wordpress.org/core/2015/10/23/4-4-taxonomy-roundup/). CMB2 will work with term meta out of the box. To do so, see the example cmb registration in the `yourprefix_register_taxonomy_metabox` function in [example-functions.php](https://github.com/CMB2/CMB2/blob/master/example-functions.php).
|
347 |
-
* New hooks which hook in after save field action: `'cmb2_save_field'` and `"cmb2_save_field_{$field_id}"`. Props [wpsmith](https://github.com/wpsmith) ([#475](https://github.com/CMB2/CMB2/pull/475)).
|
348 |
-
* The "cmb2_sanitize_{$field_type}" hook now runs for every field type (not just custom types) so you can override the sanitization for all field types via a filter.
|
349 |
-
* `CMB2::show_form()` is now composed of 3 smaller methods, `CMB2::render_form_open()`, `CMB2::render_field()`, `CMB2::render_form_close()` ([#506](https://github.com/CMB2/CMB2/pull/506)).
|
350 |
-
* RTL Style generated. Props [@devinsays](https://github.com/devinsays) ([#510](https://github.com/CMB2/CMB2/pull/510)).
|
351 |
-
* Properly scope date/time-pickers styling by adding a class to only cmb2 picker instances. ([#527](https://github.com/CMB2/CMB2/pull/527))
|
352 |
-
* Allow per-field overrides for the date/time/color picker options (wiki documentation: [Modify Field Date, Time, or Color Picker options](https://github.com/CMB2/CMB2/wiki/Tips-&-Tricks#modify-field-date-time-or-color-picker-options))
|
353 |
-
* Fix some inline documentation issues. Props [@jrfnl](https://github.com/jrfnl) ([#579](https://github.com/CMB2/CMB2/pull/579)).
|
354 |
-
* Include `.gitattributes` file for excluding development resources when using Composer. Props [@benoitchantre](https://github.com/benoitchantre) ([#575](https://github.com/CMB2/CMB2/pull/575), [#53](https://github.com/CMB2/CMB2/pull/53)).
|
355 |
-
|
356 |
-
### Bug Fixes
|
357 |
-
|
358 |
-
* Fixed issue with `'taxonomy_select'` field type where a term which evaluated falsey would not be displayed properly. Props [adamcapriola](https://github.com/adamcapriola) ([#477](https://github.com/CMB2/CMB2/pull/477)).
|
359 |
-
* Fix issue with colorpickers not changing when sorting groups.
|
360 |
-
* `'show_option_none'` field parameter now works on taxonomy fields when explicitly setting to false.
|
361 |
-
* Fix so the date/time-picker javascript respects the `'date_format'` and `'time_format'` field parameters. Props [@yivi](https://github.com/yivi) ([#39](https://github.com/CMB2/CMB2/pull/39), [#282](https://github.com/CMB2/CMB2/pull/282), [#300](https://github.com/CMB2/CMB2/pull/300), [#318](https://github.com/CMB2/CMB2/pull/318), [#330](https://github.com/CMB2/CMB2/pull/330), [#446](https://github.com/CMB2/CMB2/pull/446), [#498](https://github.com/CMB2/CMB2/pull/498)).
|
362 |
-
* Fix a sometimes-broken unit test. Props [JPry](https://github.com/JPry) ([#539](https://github.com/CMB2/CMB2/pull/539)).
|
363 |
-
* Fix issue with oembed fields not working correctly on options pages. ([#542](https://github.com/CMB2/CMB2/pull/542)).
|
364 |
-
* Fix issue with repeatable field <button> elements stealing focus from "submit" button.
|
365 |
-
|
366 |
-
## 2.1.2 - 2015-10-01
|
367 |
-
|
368 |
-
### Bug Fixes
|
369 |
-
|
370 |
-
* Fixes back-compatibility issue when adding fields array to the metabox registration. ([#472](https://github.com/CMB2/CMB2/pull/472))
|
371 |
-
|
372 |
-
## 2.1.1 - 2015-09-30
|
373 |
-
|
374 |
-
### Enhancements
|
375 |
-
|
376 |
-
* Make all CMB2::save_fields arguments optional to fall-back to `$_POST` data. Props [JPry](https://github.com/JPry).
|
377 |
-
* New filter, `cmb2_non_repeatable_fields` for adding additional fields to the blacklist of repeatable field-types. Props [JPry](https://github.com/JPry) ([#430](https://github.com/CMB2/CMB2/pull/430)).
|
378 |
-
* New recommended hook for adding metaboxes, `cmb2_admin_init`. Most metabox registration only needs to happen if in wp-admin, so there is no reason to register them when loading the front-end (and increase the memory usage). `cmb2_init` still exists to register metaboxes that will be used on the front-end or used on both the front and back-end. Instances of `cmb2_init` in example-functions.php have been switched to `cmb2_admin_init`.
|
379 |
-
* Add `'render_row_cb'` field parameter for overriding the field render method.
|
380 |
-
* Add `'label_cb'` field parameter for overriding the field label render method.
|
381 |
-
* Allow `CMB2_Types::checkbox()` method to be more flexible for extending by taking an args array and an `$is_checked` second argument.
|
382 |
-
* More thorough unit tests. Props [pglewis](https://github.com/pglewis), ([#447](https://github.com/CMB2/CMB2/pull/447),[#448](https://github.com/CMB2/CMB2/pull/448)).
|
383 |
-
* Update `CMB2_Utils::image_id_from_url` to be more reliable. Props [wpscholar](https://github.com/wpscholar), ([#453](https://github.com/CMB2/CMB2/pull/453)).
|
384 |
-
* `cmb2_get_option` now takes a default fallback value as a third parameter.
|
385 |
-
|
386 |
-
### Bug Fixes
|
387 |
-
|
388 |
-
* Address issue where `'file'` and `'file_list'` field results were getting mixed. Props [augustuswm](https://github.com/augustuswm) ([#382](https://github.com/CMB2/CMB2/pull/382), [#250](https://github.com/CMB2/CMB2/pull/250), [#296](https://github.com/CMB2/CMB2/pull/296)).
|
389 |
-
* Fix long-standing issues with radio and multicheck fields in repeatable groups losing their values when new rows are added. ([#341](https://github.com/CMB2/CMB2/pull/341), [#304](https://github.com/CMB2/CMB2/pull/304), [#263](https://github.com/CMB2/CMB2/pull/263), [#246](https://github.com/CMB2/CMB2/pull/246), [#150](https://github.com/CMB2/CMB2/pull/150))
|
390 |
-
* Fixes issue where currently logged-in user's profile data would display in the "Add New User" screen fields. ([#427](https://github.com/CMB2/CMB2/pull/427))
|
391 |
-
* Fixes issue where radio values/selections would not always properly transfer when shifting rows (up/down). Props [jamiechong](https://github.com/jamiechong) ([#429](https://github.com/CMB2/CMB2/pull/429), [#152](https://github.com/CMB2/CMB2/pull/152)).
|
392 |
-
* Fixes issue where repeatable groups display "Array" as the field values if group is left completely empty. ([#332](https://github.com/CMB2/CMB2/pull/332),[#390](https://github.com/CMB2/CMB2/pull/390)).
|
393 |
-
* Fixes issue with `'file_list'` fields not saving properly when in repeatable groups display. Props [jamiechong](https://github.com/jamiechong) ([#433](https://github.com/CMB2/CMB2/pull/433),[#187](https://github.com/CMB2/CMB2/pull/187)).
|
394 |
-
* Update `'taxonomy_radio_inline'` and `'taxonomy_multicheck_inline'` fields sanitization method to use the same method as the non-inline versions. Props [superfreund](https://github.com/superfreund) ([#454](https://github.com/CMB2/CMB2/pull/454)).
|
395 |
-
|
396 |
-
## 2.1.0 - 2015-08-05
|
397 |
-
|
398 |
-
### Bug Fixes
|
399 |
-
|
400 |
-
* Fix user fields not saving. Props [achavez](https://github.com/achavez), ([#417](https://github.com/CMB2/CMB2/pull/417)).
|
401 |
-
|
402 |
-
## 2.0.9 - 2015-07-28
|
403 |
-
|
404 |
-
### Enhancements
|
405 |
-
|
406 |
-
* Updated/Added many translations. Props [fxbenard](https://github.com/fxbenard), ([#203](https://github.com/CMB2/CMB2/pull/344)) and [Mte90](https://github.com/Mte90) for the Italian translation.
|
407 |
-
* Updated `'file_list'` field type to have a more intuitive selection in the media library, and updated the 'Use file' text in the button. Props [SteveHoneyNZ](https://github.com/SteveHoneyNZ) ([#357](https://github.com/CMB2/CMB2/pull/357), [#358](https://github.com/CMB2/CMB2/pull/358)).
|
408 |
-
* `'closed'` group field option parameter introduced in order to set the groups as collapsed by default. Requested in [#391](https://github.com/CMB2/CMB2/issues/391).
|
409 |
-
* Added `"cmb2_{$object_type}_process_fields_{$cmb_id}"` hook for hooking in and modifying the metabox or fields before the fields are processed/sanitized for saving.
|
410 |
-
* Added Comment Metabox support. Props [GregLancaster71](https://github.com/GregLancaster71) ([#238](https://github.com/CMB2/CMB2/pull/238), [#244](https://github.com/CMB2/CMB2/pull/244)).
|
411 |
-
* New `"cmb2_{$field_id}_is_valid_img_ext"`` filter for determining if a field value has a valid image file-type extension.
|
412 |
-
|
413 |
-
### Bug Fixes
|
414 |
-
|
415 |
-
* `'multicheck_inline'`, `'taxonomy_radio_inline'`, and `'taxonomy_multicheck_inline'` field types were not outputting anything since it's value was not being returned. Props [ediamin](https://github.com/ediamin), ([#367](https://github.com/CMB2/CMB2/pull/367), ([#405](https://github.com/CMB2/CMB2/pull/405)).
|
416 |
-
* `'hidden'` type fields were not honoring the `'show_on_cb'` callback. Props [JPry](https://github.com/JPry), ([commits](https://github.com/CMB2/CMB2/compare/5a4146eec546089fbe1a1c859d680dfda3a86ee2...1ef5ef1e3b2260ab381090c4abe9dc7234cfa0a6)).
|
417 |
-
* Fixed: There was no minified cmb2-front.min.css file.
|
418 |
-
* Fallback for fatal error with invalid timezone. Props [ryanduff](https://github.com/ryanduff) ([#385](https://github.com/CMB2/CMB2/pull/385)).
|
419 |
-
* Fix issues with deleting a row from repeatable group. Props [yuks](https://github.com/yuks) ([#387](https://github.com/CMB2/CMB2/pull/387)).
|
420 |
-
* Ensure value passed to `strtotime` in `make_valid_time_stamp` is cast to a string. Props [vajrasar](https://github.com/vajrasar) ([#389](https://github.com/CMB2/CMB2/pull/389)).
|
421 |
-
* Fixed issue with Windows IIS and bundling CMB2 in the theme. Props [DevinWalker](https://github.com/DevinWalker), ([#400](https://github.com/CMB2/CMB2/pull/400), [#401](https://github.com/CMB2/CMB2/pull/401))
|
422 |
-
|
423 |
-
## 2.0.8 - 2015-06-01
|
424 |
-
|
425 |
-
### Bug Fixes
|
426 |
-
|
427 |
-
* Fix color-picker field not enqueueing the colorpicker script. ([#333](https://github.com/CMB2/CMB2/issues/333))
|
428 |
-
|
429 |
-
## 2.0.7 - 2015-05-28
|
430 |
-
|
431 |
-
### Enhancements
|
432 |
-
|
433 |
-
* Ability to use non-repeatable group fields by setting the `'repeatable'` field param to `false` when registering a group field type. Props [marcusbattle](https://github.com/marcusbattle), ([#159](https://github.com/CMB2/CMB2/pull/159)).
|
434 |
-
* Add and enqeueue a front-end specific CSS file which adds additional styles which are typically covered by wp-admin css. ([#311](https://github.com/CMB2/CMB2/issues/311))
|
435 |
-
* Better handling of the CMB2 javascript (and CSS) required dependencies array. Dependencies are now only added conditionally based on the field types that are actually visible. ([#136](https://github.com/CMB2/CMB2/issues/136))
|
436 |
-
* **THIS IS A BREAKING CHANGE:** The `group` field type's `'show_on_cb'` parameter now receives the `CMB2_Field` object instance as an argument instead of the `CMB2` instance. If you're using the `'show_on_cb'` parameter for a `group` field, please adjust accordingly. _note: you can still retrieve the `CMB2` instance via the `cmb2_get_metabox` helper function._
|
437 |
-
* New dynamic hook, `"cmb2_save_{$object_type}_fields_{$this->cmb_id}"`, to complement the existing `"cmb2_save_{$object_type}_fields"` hook.
|
438 |
-
* New CMB2 parameter, `enqueue_js`, to disable the enqueueing of the CMB2 Javascript.
|
439 |
-
* German translation provided by Friedhelm Jost.
|
440 |
-
|
441 |
-
### Bug Fixes
|
442 |
-
|
443 |
-
* Fix incorrect repeatable group title number. ([#310](https://github.com/CMB2/CMB2/pull/310))
|
444 |
-
* Fix obscure bug which prevented group field arguments from being passed to the sub-fields (like `show_names` and `context`).
|
445 |
-
* Fixed occasional issue when adding a group row, the previous row's content would be cloned. ([#257](https://github.com/CMB2/CMB2/pull/257))
|
446 |
-
|
447 |
-
## 2.0.6 - 2015-04-30
|
448 |
-
|
449 |
-
### Enhancements
|
450 |
-
|
451 |
-
* New metabox/form parameter, `show_on_cb`, allows you to conditionally display a cmb metabox/form via a callback. The `$cmb` object gets passed as a parameter to the callback. This complements the `'show_on_cb'` parameter that already exists for individual fields. Using this callback is similar to using the `'cmb2_show_on'` filter, but only applies to that specific metabox and it is recommended to use this callback instead as it minimizes th risk that your filter will affect other metaboxes.
|
452 |
-
* Taxonomy types no longer save a value. The value getting saved was causing confusion and is not meant to be used. To use the saved taxonomy data, you need to use the WordPress term api, `get_the_terms `, `get_the_term_list`, etc.
|
453 |
-
* Add `'multiple'` field parameter to store values in individual rows instead of serialized array. Will only work if field is not repeatable or a repeatable group. Props [JohnyGoerend](https://github.com/JohnyGoerend). ([#262](https://github.com/CMB2/CMB2/pull/262), [#206](https://github.com/CMB2/CMB2/issues/206), [#45](https://github.com/CMB2/CMB2/issues/45)).
|
454 |
-
* Portuguese (Brazil) translation provided by [@lucascdsilva](https://github.com/lucascdsilva) - [#293](https://github.com/CMB2/CMB2/pull/293).
|
455 |
-
* Spanish (Spain) translation updated by [@yivi](https://github.com/yivi) - [#272](https://github.com/CMB2/CMB2/pull/272).
|
456 |
-
* Added group field callback parameters, `'before_group'`, `'before_group_row'`, `'after_group_row'`, `'after_group'` to complement the `'before_row'`, `'before'`, `'after'`, `'after_row'` field parameters.
|
457 |
-
* Better styling for `title` fields and `title` descriptions on options pages.
|
458 |
-
* Add a `sanitization_cb` field parameter check for the `group` field type.
|
459 |
-
* Better function/file doc-blocks to provide better documentation for automated documentation tools. See: [cmb2.io/api](http://cmb2.io/api/).
|
460 |
-
* `cmb2_print_metabox_form`, `cmb2_metabox_form`, and `cmb2_get_metabox_form` helper functions now accept two new parameters:
|
461 |
-
* an `'object_type'` parameter to explictly set that in the `$cmb` object.
|
462 |
-
* an `'enqueue_js'` parameter to explicitly disable the CMB JS enqueue. This is handy if you're not planning on using any of the fields which require JS (like color/date pickers, wysiwyg, file, etc).
|
463 |
-
|
464 |
-
### Bug Fixes
|
465 |
-
|
466 |
-
* Fix issue with oembed fields in repeatable groups where changing video changed it for all fields in a group.
|
467 |
-
* Fix empty arrays (like in the group field) saving as a value.
|
468 |
-
* Move `'cmb2_override_meta_value'` and `"cmb2_override_{$field_id}_meta_value"` filters to the `CMB2_Field::get_data()` method so that the filters are applied every time the data is requested. **THIS IS A BREAKING CHANGE:** The parameters for those filters have changed a bit. Previously, the filters accepted 5 arguments, `$value`, `$object_id`, `$field_args`, `$object_type`, `$field`. They have changed to accept 4 arguments instead, `$value`, `$object_id`, `$args`, `$field`, where `$args` is an array that contains the following:
|
469 |
-
* @type string $type The current object type
|
470 |
-
* @type int $id The current object ID
|
471 |
-
* @type string $field_id The ID of the field being requested
|
472 |
-
* @type bool $repeat Whether current field is repeatable
|
473 |
-
* @type bool $single Whether current field is a single database row
|
474 |
-
|
475 |
-
|
476 |
-
## 2.0.5 - 2015-03-17
|
477 |
-
|
478 |
-
### Bug Fixes
|
479 |
-
|
480 |
-
* Fix grouped fields display (first field was being repeated), broken in 2.0.3.
|
481 |
-
|
482 |
-
## 2.0.4 - 2015-03-16
|
483 |
-
|
484 |
-
### Enhancements
|
485 |
-
|
486 |
-
* `select`, `radio`, `radio_inline` field types now all accept the `'show_option_none'` field parameter. This parameter allows you to set the text to display for showing a 'no selection' option. Default will be `false`, which means a 'none' option will not be added. Set to `true` to use the default text, 'None', or specify another value, i.e. 'No selection'.
|
487 |
-
|
488 |
-
### Bug Fixes
|
489 |
-
|
490 |
-
* Fix back-compatibility when adding group field sub-fields via old array method (vs using the `CMB2:add_group_field()` method). Thanks to [norcross](https://github.com/norcross) for reporting.
|
491 |
-
* Fix occasional jQuery issues with group-field indexes.
|
492 |
-
|
493 |
-
## 2.0.3 - 2015-03-15
|
494 |
-
|
495 |
-
### Enhancements
|
496 |
-
|
497 |
-
* New constant, `CMB2_DIR`, which stores the file-path to the CMB2 directory.
|
498 |
-
* `text_date`, `text_time`, `text_date_timestamp`, `text_datetime_timestamp`, and ` text_datetime_timestamp_timezone` field types now take an arguments array so they can be extended by custom field types.
|
499 |
-
* Removed auto-scroll when adding groups. To re-add the feature, use the [snippet/plugin here](https://github.com/CMB2/CMB2-Snippet-Library/blob/master/javascript/cmb2-auto-scroll-to-new-group.php). ([#205](https://github.com/CMB2/CMB2/issues/205))
|
500 |
-
* Updated Timepicker utilizing the [@trentrichardson](https://github.com/trentrichardson) jQuery Timepicker add-on (https://github.com/trentrichardson/jQuery-Timepicker-Addon), and updated Datepicker styles. Props [JonMasterson](https://github.com/JonMasterson). ([#204](https://github.com/CMB2/CMB2/issues/204), [#206](https://github.com/CMB2/CMB2/issues/206), [#45](https://github.com/CMB2/CMB2/issues/45)).
|
501 |
-
* Added a callback option for the field default value. The callback gets passed an array of all the field parameters as the first argument, and the field object as the second argument. (which means you can get the post id using `$field->object_id`). ([#233](https://github.com/CMB2/CMB2/issues/233)).
|
502 |
-
* New `CMB2::get_field()` method and `cmb2_get_field` helper function for retrieving a `CMB2_Field` object from the array of registered fields for a metabox.
|
503 |
-
* New `CMB2::get_sanitized_values()` method and `cmb2_get_metabox_sanitized_values` helper function for retrieving sanitized values from an array of values (usually `$_POST` data).
|
504 |
-
* New `'save_fields'` metabox parameter that can be used to disable (by setting `'save_fields' => false`) the automatic saving of the fields when the form is submitted. These can be useful when you want to handle the saving of the fields yourself, or want to use submitted data for other purposes like generating new posts, or sending emails, etc.
|
505 |
-
|
506 |
-
### Bug Fixes
|
507 |
-
|
508 |
-
* Fix commented out text_datetime_timestamp_timezone field registration example in `example-functions.php`. Props [cliffordp](https://github.com/cliffordp), ([#203](https://github.com/CMB2/CMB2/pull/203)).
|
509 |
-
* Fix sidebar styling for money fields and fields with textareas. ([#234](https://github.com/CMB2/CMB2/issues/234))
|
510 |
-
* Fix `CMB2_Sanitize` class to properly use the stripslashed value (which was added in [#162](https://github.com/CMB2/CMB2/pull/162) but never used). Props [dustyf](https://github.com/dustyf), ([#241](https://github.com/CMB2/CMB2/pull/241)).
|
511 |
-
|
512 |
-
## 2.0.2 - 2015-02-15
|
513 |
-
|
514 |
-
### Enhancements
|
515 |
-
|
516 |
-
* Use the more appropriate `add_meta_boxes` hook for hooking in metaboxes to post-edit screen. Thanks [@inspiraaz](https://github.com/inspiraaz) for reporting. ([#161](https://github.com/CMB2/CMB2/issues/161))
|
517 |
-
* Add a `row_classes` field param which allows you to add additional classes to the cmb-row wrap. This parameter can take a string, or array, or can take a callback that returns a string or array. The callback will receive `$field_args` as the first argument, and the CMB2_Field `$field` object as the second argument. Reported/requested in [#68](https://github.com/CMB2/CMB2/issues/68).
|
518 |
-
* New constant, `CMB2_LOADED`, which you can use to check if CMB2 is loaded for your plugins/themes with CMB2 dependency.
|
519 |
-
* New hooks, [`cmb2_init_before_hookup` and `cmb2_after_init`](https://github.com/CMB2/CMB2-Snippet-Library/blob/master/filters-and-actions).
|
520 |
-
* New API for adding metaboxes and fields, demonstrated in [`example-functions.php`](https://github.com/CMB2/CMB2/blob/master/example-functions.php). In keeping with backwards-compatibility, the `cmb2_meta_boxes` filter method will still work, but is not recommended. New API includes `new_cmb2_box` helper function to generate a new metabox, and returns a `$cmb` object to add new fields (via the `CMB2::add_field()` and `CMB2::add_group_field()` methods).
|
521 |
-
* New CMB2 method, [`CMB2::remove_field()`](https://github.com/CMB2/CMB2-Snippet-Library/blob/master/filters-and-actions/cmb2_init_%24cmb_id-remove-field.php).
|
522 |
-
* New CMB2_Boxes method, [`CMB2_Boxes::remove()`](https://github.com/CMB2/CMB2-Snippet-Library/blob/master/filters-and-actions/cmb2_init_before_hookup-remove-cmb2-metabox.php).
|
523 |
-
* When clicking on a file/image in the `file`, or `file_list` type, the media modal will open with that image selected. Props [johnsonpaul1014](https://github.com/johnsonpaul1014), ([#120](https://github.com/CMB2/CMB2/pull/120)).
|
524 |
-
|
525 |
-
|
526 |
-
## 2.0.1 - 2015-02-02
|
527 |
-
|
528 |
-
2.0.1 is the official version after beta, and includes all the changes from 2.0.0 (beta).
|
529 |
-
|
530 |
-
## 2.0.0(beta) - 2014-08-16
|
531 |
-
|
532 |
-
2.0.0 is the official version number for the transition to CMB2, and 2.0.1 is the official version after beta. It is a complete rewrite. Improvements and fixes are listed below. __Note: This release requires WordPress 3.8+__
|
533 |
-
|
534 |
-
### Enhancements
|
535 |
-
|
536 |
-
* Converted `<table>` markup to more generic `<div>` markup to be more extensible and allow easier styling.
|
537 |
-
* Much better handling and display of repeatable groups.
|
538 |
-
* Entirely translation-ready [with full translations](http://wp-translations.org/project/cmb2/) in Spanish, French (Props [@fredserva](https://github.com/fredserva) - [#127](https://github.com/CMB2/CMB2/pull/127)), Finnish (Props [@onnimonni](https://github.com/onnimonni) - [#108](https://github.com/CMB2/CMB2/pull/108)), Swedish (Props [@EyesX](https://github.com/EyesX) - [#141](https://github.com/CMB2/CMB2/pull/141)), and English.
|
539 |
-
* Add cmb fields to new user page. Props [GioSensation](https://github.com/GioSensation), ([#645](https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/pull/645)).
|
540 |
-
* Improved and additional [helper-functions](https://github.com/CMB2/CMB2/blob/master/includes/helper-functions.php).
|
541 |
-
* Added new features and translation for datepicker. Props [kalicki](https://github.com/kalicki), ([#657](https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/pull/657)).
|
542 |
-
* General code standards cleanup. Props [gregrickaby](https://github.com/gregrickaby), ([#17](https://github.com/CMB2/CMB2/pull/17) & others).
|
543 |
-
* Use SASS for development. Props [gregrickaby](https://github.com/gregrickaby), ([#18](https://github.com/CMB2/CMB2/pull/18)).
|
544 |
-
* New `hidden` field type.
|
545 |
-
* [Ability to override text strings in fields via field options parameter](https://github.com/CMB2/CMB2/wiki/Tips-&-Tricks#override-text-strings-in-field).
|
546 |
-
* Added composer.json. Props [nlemoine](https://github.com/nlemoine), ([#19](https://github.com/CMB2/CMB2/pull/19)).
|
547 |
-
* New field 'hooks' can take [static text/html](https://github.com/CMB2/CMB2/wiki/Tips-&-Tricks#inject-static-content-in-a-field) or a [callback](https://github.com/CMB2/CMB2/wiki/Tips-&-Tricks#inject-dynamic-content-in-a-field-via-a-callback).
|
548 |
-
* New `preview_size` parameter for `file` field type. Takes an array or named image size.
|
549 |
-
* Empty index.php file to all folders (for more security). Props [brunoramalho](https://github.com/brunoramalho), ([#41](https://github.com/CMB2/CMB2/pull/41)).
|
550 |
-
* Clean up styling. Props [brunoramalho](https://github.com/brunoramalho), ([#43](https://github.com/CMB2/CMB2/pull/43)) and [senicar](https://github.com/senicar).
|
551 |
-
* Collapsible field groups. Props [cluke009](https://github.com/cluke009), ([#59](https://github.com/CMB2/CMB2/pull/59)).
|
552 |
-
* Allow for override of update/remove for CMB2_Field. Props [sc0ttkclark](https://github.com/sc0ttkclark), ([#65](https://github.com/CMB2/CMB2/pull/65)).
|
553 |
-
* Use class button-disabled instead of disabled="disabled" for <a> buttons. Props [sc0ttkclark](https://github.com/sc0ttkclark), ([#66](https://github.com/CMB2/CMB2/pull/66)).
|
554 |
-
* [New before/after dynamic form hooks](https://github.com/CMB2/CMB2/wiki/Tips-&-Tricks#using-the-dynamic-beforeafter-form-hooks).
|
555 |
-
* Larger unit test coverage. Props to [@pmgarman](https://github.com/pmgarman) for assistance. ([#90](https://github.com/CMB2/CMB2/pull/90) and [#91](https://github.com/CMB2/CMB2/pull/91))
|
556 |
-
* Added helper function to update an option. Props [mAAdhaTTah](https://github.com/mAAdhaTTah), ([#110](https://github.com/CMB2/CMB2/pull/110)).
|
557 |
-
* More JS hooks during repeat group shifting. Props [AlchemyUnited](https://github.com/AlchemyUnited), ([#125](https://github.com/CMB2/CMB2/pull/125)).
|
558 |
-
* [New metabox config option for defaulting to closed](https://github.com/CMB2/CMB2/wiki/Tips-&-Tricks#setting-a-metabox-to-closed-by-default).
|
559 |
-
* New hooks, [`cmb2_init`](https://github.com/CMB2/CMB2/wiki/Tips-&-Tricks#using-cmb2-helper-functions-and-cmb2_init) and `cmb2_init_{$cmb_id}`.
|
560 |
-
|
561 |
-
### Bug Fixes
|
562 |
-
|
563 |
-
* New mechanism to ensure CMB2 only loads the most recent version of CMB2 in your system. This fixes the issue where another bundled version could conflict or take precendent over your up-to-date version.
|
564 |
-
* Fix issue with field labels being hidden. Props [mustardBees](https://github.com/mustardBees), ([#48](https://github.com/CMB2/CMB2/pull/48)).
|
565 |
-
* Address issues with autoloading before autoloader is setup. Props [JPry](https://github.com/JPry), ([#56](https://github.com/CMB2/CMB2/pull/56)).
|
566 |
-
* Fixed 'show_on_cb' for field groups. Props [marcusbattle](https://github.com/marcusbattle), ([#98](https://github.com/CMB2/CMB2/pull/98)).
|
567 |
-
* Make get_object_terms work with and without object caching. Props [joshlevinson](https://github.com/joshlevinson), ([#105](https://github.com/CMB2/CMB2/pull/105)).
|
568 |
-
* Don't use `__DIR__` in example-functions.php to ensure PHP 5.2 compatibility. Props [bryceadams](https://github.com/bryceadams), ([#129](https://github.com/CMB2/CMB2/pull/129)).
|
569 |
-
* Added support for radio input swapping in repeatable fields. Props [DevinWalker](https://github.com/DevinWalker), ([#138](https://github.com/CMB2/CMB2/pull/138), [#149](https://github.com/CMB2/CMB2/pull/149)).
|
570 |
-
* Fix metabox form not being returned to caller. Props [akshayagarwal](https://github.com/akshayagarwal), ([#145](https://github.com/CMB2/CMB2/pull/145)).
|
571 |
-
* Run stripslashes before saving data, since WordPress forces magic quotes. Props [clifgriffin](https://github.com/clifgriffin), ([#162](https://github.com/CMB2/CMB2/pull/162)).
|
572 |
-
|
573 |
-
## 1.3.0 - (never released, merged into CMB2)
|
574 |
-
|
575 |
-
### Enhancements
|
576 |
-
|
577 |
-
* Localize Date, Time, and Color picker defaults so that they can be overridden via the `cmb_localized_data` filter. ([#528](https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/issues/528))
|
578 |
-
* Change third parameter for 'cmb_metabox_form' to be an args array. Optional arguments include `echo`, `form_format`, and `save_button`.
|
579 |
-
* Add support for `show_option_none` argument for `taxonomy_select` and `taxonomy_radio` field types. Also adds the following filters: `cmb_all_or_nothing_types`, `cmb_taxonomy_select_default_value`, `cmb_taxonomy_select_{$this->_id()}_default_value`, `cmb_taxonomy_radio_{$this->_id()}_default_value`, `cmb_taxonomy_radio_default_value`. Props [@pmgarman](https://github.com/pmgarman), ([#569](https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/pull/569)).
|
580 |
-
* Make the list items in the `file_list` field type drag & drop sortable. Props [twoelevenjay](https://github.com/twoelevenjay), ([#603](https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/pull/603)).
|
581 |
-
|
582 |
-
### Bug Fixes
|
583 |
-
|
584 |
-
* Fixed typo in closing `</th>` tag. Props [@CivicImages](https://github.com/CivicImages). ([#616](https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/issues/616))
|
585 |
-
|
586 |
-
## 1.2.0 - 2014-05-03
|
587 |
-
|
588 |
-
### Enhancements
|
589 |
-
|
590 |
-
* Add support for custom date/time formats. Props [@Scrent](https://github.com/Scrent). ([#506](https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/pull/506))
|
591 |
-
* Simplify `wysiwyg` escaping and allow it to be overridden via the `escape_cb` parameter. ([#491](https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/pull/491))
|
592 |
-
* Add a 'Select/Deselect all' button for the `multicheck` field type.
|
593 |
-
* Add title option for [repeatable groups](https://github.com/CMB2/CMB2/wiki/Field-Types#group). Title field takes an optional replacement hash, "{#}" that will be replaced by the row number.
|
594 |
-
* New field parameter, `show_on_cb`, allows you to conditionally display a field via a callback. ([#47](https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/issues/47))
|
595 |
-
* Unit testing (the beginning). Props [@brichards](https://github.com/brichards) and [@camdensegal](https://github.com/camdensegal).
|
596 |
-
|
597 |
-
### Bug Fixes
|
598 |
-
|
599 |
-
* Fixed issue where remove file button wouldn't clear the url field. ([#514](https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/issues/514))
|
600 |
-
* `wysiwyg` fields now allow underscores. Fixes some wysiwyg display issues in WordPress 3.8. Props [@lswilson](https://github.com/lswilson). ([#491](https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/issues/491))
|
601 |
-
* Nonce field should only be added once per page. ([#521](https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/issues/521))
|
602 |
-
* Fix `in_array` issue when a post does not have any saved terms for a taxonomy multicheck. ([#527](https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/issues/527))
|
603 |
-
* Fixed error: 'Uninitialized string offset: 0 in cmb_Meta_Box_field.php...`. Props [@DevinWalker](https://github.com/DevinWalker). ([#539](https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/issues/539), [#549](https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/issues/549)))
|
604 |
-
* Fix missing `file` field description. ([#543](https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/issues/543), [#547](https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/issues/547))
|
605 |
-
|
606 |
-
|
607 |
-
|
608 |
-
## 1.1.3 - 2014-04-07
|
609 |
-
|
610 |
-
### Bug Fixes
|
611 |
-
|
612 |
-
* Update `cmb_get_field_value` function as it was passing the parameters to `cmb_get_field` in the wrong order.
|
613 |
-
* Fix repeating fields not working correctly if meta key or prefix contained an integer. ([#503](https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/issues/503))
|
614 |
-
|
615 |
-
## 1.1.2 - 2014-04-05
|
616 |
-
|
617 |
-
### Bug Fixes
|
618 |
-
|
619 |
-
* Fix issue with `cmb_Meta_Box_types.php` calling a missing method, `image_id_from_url`. ([#502](https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/pull/502))
|
620 |
-
|
621 |
-
|
622 |
-
## 1.1.1 - 2014-04-03
|
623 |
-
|
624 |
-
### Bug Fixes
|
625 |
-
|
626 |
-
* Radio button values were not showing saved value. ([#500](https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/issues/500))
|
627 |
-
|
628 |
-
## 1.1.0 - 2014-04-02
|
629 |
-
|
630 |
-
### Enhancements
|
631 |
-
|
632 |
-
* [Repeatable groups](https://github.com/CMB2/CMB2/wiki/Field-Types#group)
|
633 |
-
* Support for more fields to be repeatable, including oEmbed field, and date, time, and color picker fields, etc.
|
634 |
-
* Codebase has been revamped to be more modular and object-oriented.
|
635 |
-
* New filter, `"cmb_{$element}_attributes" ` for modifying an element's attributes.
|
636 |
-
* Every field now supports an `attributes` parameter that takes an array of attributes. [Read more](https://github.com/CMB2/CMB2/wiki/Field-Types#attributes).
|
637 |
-
* Removed `cmb_std_filter` in favor of `cmb_default_filter`. **THIS IS A BREAKING CHANGE**
|
638 |
-
* Better handling of labels in sidebar. They are now placed on top of the input rather than adjacent.
|
639 |
-
* Added i18n compatibility to text_money. props [@ArchCarrier](https://github.com/ArchCarrier), ([#485](https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/pull/485))
|
640 |
-
* New helper functions: `cmb_get_field` and `cmb_get_field_value` for getting access to CMB's field object and/or value.
|
641 |
-
* New JavaScript events, `cmb_add_row` and `cmb_remove_row` for hooking in and manipulating the new row's data.
|
642 |
-
* New filter, `cmb_localized_data`, for modifiying localized data passed to the CMB JS.
|
643 |
-
|
644 |
-
### Bug Fixes
|
645 |
-
* Resolved occasional issue where only the first character of the label/value was diplayed. props [@mustardBees](https://github.com/mustardBees), ([#486](https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/pull/486))
|
646 |
-
|
647 |
-
|
648 |
-
## 1.0.2 - 2014-03-03
|
649 |
-
|
650 |
-
### Enhancements
|
651 |
-
|
652 |
-
* Change the way the `'cmb_validate_{$field['type']}'` filter works.
|
653 |
-
It is now passed a null value vs saved value. If null is returned, default sanitization will follow. **THIS IS A BREAKING CHANGE**. If you're already using this filter, take note.
|
654 |
-
* All field types that take an option array have been simplified to take `key => value` pairs (vs `array( 'name' => 'value', 'value' => 'key', )`). This effects the 'select', 'radio', 'radio_inline' field types. The 'multicheck' field type was already using the `key => value` format. Backwards compatibility has been maintained for those using the older style.
|
655 |
-
* Added default value option for `taxonomy_select` field type. props [@darlantc](https://github.com/darlantc), ([#473](https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/pull/473))
|
656 |
-
* Added `preview_size` parameter for `file_list` field type. props [@IgorCode](https://github.com/IgorCode), ([#471](https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/pull/471))
|
657 |
-
* Updated `file_list` images to be displayed horizontally instead of vertically. props [@IgorCode](https://github.com/IgorCode), ([#467](https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/pull/467))
|
658 |
-
* Use `get_the_terms` where possible since the data is cached.
|
659 |
-
|
660 |
-
### Bug Fixes
|
661 |
-
|
662 |
-
* Fixed wysiwyg escaping slashes. props [@gregrickaby](https://github.com/gregrickaby), ([#465](https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/pull/465))
|
663 |
-
* Replaced `__DIR__`, as `dirname( __FILE__ )` is easier to maintain back-compatibility.
|
664 |
-
* Fixed missing table styling on new posts. props [@mustardBees](https://github.com/mustardBees), ([#438](https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/pull/438))
|
665 |
-
* Fix undeclared JS variable. [@veelen](https://github.com/veelen), ([#451](https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/pull/451))
|
666 |
-
* Fix `file_list` errors when removing all files and saving.
|
667 |
-
* Set correct `object_id` to be used later in `cmb_show_on` filter. [@lauravaq](https://github.com/lauravaq), ([#445](https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/pull/445))
|
668 |
-
* Fix sanitization recursion memeory issues.
|
669 |
-
|
670 |
-
## 1.0.1 - 2014-01-24
|
671 |
-
|
672 |
-
### Enhancements
|
673 |
-
|
674 |
-
* Now works with option pages and site settings. ([view example in wiki](https://github.com/CMB2/CMB2/wiki/Using-CMB-to-create-an-Admin-Theme-Options-Page))
|
675 |
-
* two filters to override the setting and getting of options, `cmb_override_option_get_$option_key` and `cmb_override_option_save_$option_key` respectively. Handy for using plugins like [WP Large Options](https://github.com/voceconnect/wp-large-options/) ([also here](http://vip.wordpress.com/plugins/wp-large-options/)).
|
676 |
-
* Improved styling on taxonomy (\*tease\*) and options pages and for new 3.8 admin UI.
|
677 |
-
* New sanitization class to sanitize data when saved.
|
678 |
-
* New callback field parameter, `sanitization_cb`, for performing your own sanitization.
|
679 |
-
* new `cmb_Meta_Box_types::esc()` method that handles escaping data for display.
|
680 |
-
* New callback field parameter, `escape_cb`, for performing your own data escaping, as well as a new filter, `'cmb_types_esc_'. $field['type']`.
|
681 |
-
|
682 |
-
### Bug Fixes
|
683 |
-
|
684 |
-
* Fixed wysiwyg editor button padding. props [@corvannoorloos](https://github.com/corvannoorloos), ([#391](https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/pull/391))
|
685 |
-
* A few php < 5.3 errors were addressed.
|
686 |
-
* Fields with quotation marks no longer break the input/textarea fields.
|
687 |
-
* metaboxes for Attachment pages now save correctly. Thanks [@nciske](https://github.com/nciske) for reporting. ([#412](https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/issues/412))
|
688 |
-
* Occasionally fields wouldn't save because of the admin show_on filter.
|
689 |
-
* Smaller images loaded to the file field type will no longer be blown up larger than their dimensions.
|
690 |
-
|
691 |
-
## 1.0.0 - 2013-11-30
|
692 |
-
|
693 |
-
* Added `text_datetime_timestamp_timezone` type, a datetime combo field with an additional timezone drop down, props [@dessibelle](https://github.com/dessibelle)
|
694 |
-
* Added `select_timezone` type, a standalone time zone select dropdown. The time zone select can be used with standalone `text_datetime_timestamp` if desired. Props [@dessibelle](https://github.com/dessibelle)
|
695 |
-
* Added `text_url` type, a basic url field. Props [@dessibelle](https://github.com/dessibelle)
|
696 |
-
* Added `text_email` type, a basic email field. Props [@dessibelle](https://github.com/dessibelle)
|
697 |
-
* Added ability to display metabox fields in frontend. Default is true, but can be overriden using the `cmb_allow_frontend filter`. If set to true, an entire metabox form can be output with the `cmb_metabox_form( $meta_box, $object_id, $echo )` function. Props [@dessibelle](https://github.com/dessibelle), [@messenlehner](https://github.com/messenlehner) & [@jtsternberg](https://github.com/jtsternberg).
|
698 |
-
* Added hook `cmb_after_table` after all metabox output. Props [@wpsmith](https://github.com/wpsmith)
|
699 |
-
* `file_list` now works like a repeatable field. Add as many files as you want. Props [@coreymcollins](https://github.com/coreymcollins)
|
700 |
-
* `text`, `text_small`, `text_medium`, `text_url`, `text_email`, & `text_money` fields now all have the option to be repeatable. Props [@jtsternberg](https://github.com/jtsternberg)
|
701 |
-
* Custom metaboxes can now be added for user meta. Add them on the user add/edit screen, or in a custom user profile edit page on the front-end. Props [@tw2113](https://github.com/tw2113), [@jtsternberg](https://github.com/jtsternberg)
|
702 |
-
|
703 |
-
## 0.9.4
|
704 |
-
|
705 |
-
* Added field "before" and "after" options for each field. Solves issue with '$' not being the desired text_money monetary symbol, props [@GaryJones](https://github.com/GaryJones)
|
706 |
-
* Added filter for 'std' default fallback value, props [@messenlehner](https://github.com/messenlehner)
|
707 |
-
* Ensure oEmbed videos fit in their respective metaboxes, props [@jtsternberg](https://github.com/jtsternberg)
|
708 |
-
* Fixed issue where an upload field with 'show_names' disabled wouldn't have the correct button label, props [@jtsternberg](https://github.com/jtsternberg)
|
709 |
-
* Better file-extension check for images, props [@GhostToast](https://github.com/GhostToast)
|
710 |
-
* New filter, `cmb_valid_img_types`, for whitelisted image file-extensions, props [@jtsternberg](https://github.com/jtsternberg)
|
711 |
-
|
712 |
-
## 0.9.3
|
713 |
-
* Added field type and field id classes to each cmb table row, props [@jtsternberg](https://github.com/jtsternberg)
|
714 |
-
|
715 |
-
## 0.9.2
|
716 |
-
* Added post type comparison to prevent storing null values for taxonomy selectors, props [@norcross](https://github.com/norcross)
|
717 |
-
|
718 |
-
## 0.9.1
|
719 |
-
* Added `oEmbed` field type with ajax display, props [@jtsternberg](https://github.com/jtsternberg)
|
720 |
-
|
721 |
-
## 0.9
|
722 |
-
* __Note: This release requires WordPress 3.3+__
|
723 |
-
* Cleaned up scripts being queued, props [@jaredatch](https://github.com/jaredatch)
|
724 |
-
* Cleaned up and reorganized jQuery, props [@GaryJones](https://github.com/GaryJones)
|
725 |
-
* Use $pagenow instead of custom $current_page, props [@jaredatch](https://github.com/jaredatch)
|
726 |
-
* Fixed CSS, removed inline styles, now all in style.css, props [@jaredatch](https://github.com/jaredatch)
|
727 |
-
* Fixed multicheck issues (issue #48), props [@jaredatch](https://github.com/jaredatch)
|
728 |
-
* Fixed jQuery UI datepicker CSS conflicting with WordPress UI elements, props [@jaredatch](https://github.com/jaredatch)
|
729 |
-
* Fixed zeros not saving in fields, props [@GaryJones](https://github.com/GaryJones)
|
730 |
-
* Fixed improper labels on radio and multicheck fields, props [@jaredatch](https://github.com/jaredatch)
|
731 |
-
* Fixed fields not rendering properly when in sidebar, props [@jaredatch](https://github.com/jaredatch)
|
732 |
-
* Fixed bug where datepicker triggers extra space after footer in Firefox (issue #14), props [@jaredatch](https://github.com/jaredatch)
|
733 |
-
* Added jQuery UI datepicker packaged with 3.3 core, props [@jaredatch](https://github.com/jaredatch)
|
734 |
-
* Added date time combo picker, props [@jaredatch](https://github.com/jaredatch)
|
735 |
-
* Added color picker, props [@jaredatch](https://github.com/jaredatch)
|
736 |
-
* Added readme.md markdown file, props [@jaredatch](https://github.com/jaredatch)
|
737 |
-
|
738 |
-
## 0.8 - 2012-01-19
|
739 |
-
* Added jQuery timepicker, props [@norcross](https://github.com/norcross)
|
740 |
-
* Added 'raw' textarea to convert special HTML entities back to characters, props [@norcross](https://github.com/norcross)
|
741 |
-
* Added missing examples on example-functions.php, props [@norcross](https://github.com/norcross)
|
742 |
-
|
743 |
-
## 0.7
|
744 |
-
* Added the new wp_editor() function for the WYSIWYG dialog box, props [@jcpry](https://github.com/jcpry)
|
745 |
-
* Created 'cmb_show_on' filter to define your own Show On Filters, props [@billerickson](https://github.com/billerickson)
|
746 |
-
* Added page template show_on filter, props [@billerickson](https://github.com/billerickson)
|
747 |
-
* Improvements to the 'file' field type, props [@randyhoyt](https://github.com/randyhoyt)
|
748 |
-
* Allow for default values on 'radio' and 'radio_inline' field types, props [@billerickson](https://github.com/billerickson)
|
749 |
-
|
750 |
-
## 0.6.1
|
751 |
-
* Enabled the ability to define your own custom field types (issue #28). props [@randyhoyt](https://github.com/randyhoyt)
|
752 |
-
|
753 |
-
## 0.6
|
754 |
-
* Added the ability to limit metaboxes to certain posts by id. props [@billerickson](https://github.com/billerickson)
|
755 |
-
|
756 |
-
## 0.5
|
757 |
-
* Fixed define to prevent notices. props [@destos](https://github.com/destos)
|
758 |
-
* Added text_date_timestap option. props [@andrewyno](https://github.com/andrewyno)
|
759 |
-
* Fixed WYSIWYG paragraph breaking/spacing bug. props [@wpsmith](https://github.com/wpsmith)
|
760 |
-
* Added taxonomy_radio and taxonomies_select options. props [@c3mdigital](https://github.com/c3mdigital)
|
761 |
-
* Fixed script causing the dashboard widgets to not be collapsible.
|
762 |
-
* Fixed various spacing and whitespace inconsistencies
|
763 |
-
|
764 |
-
## 0.4
|
765 |
-
* Think we have a release that is mostly working. We'll say the initial release :)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/composer/ClassLoader.php
CHANGED
@@ -60,7 +60,7 @@ class ClassLoader
|
|
60 |
public function getPrefixes()
|
61 |
{
|
62 |
if (!empty($this->prefixesPsr0)) {
|
63 |
-
return call_user_func_array('array_merge', $this->prefixesPsr0);
|
64 |
}
|
65 |
|
66 |
return array();
|
60 |
public function getPrefixes()
|
61 |
{
|
62 |
if (!empty($this->prefixesPsr0)) {
|
63 |
+
return call_user_func_array('array_merge', array_values($this->prefixesPsr0));
|
64 |
}
|
65 |
|
66 |
return array();
|
vendor/composer/autoload_classmap.php
CHANGED
@@ -6,307 +6,4 @@ $vendorDir = dirname(dirname(__FILE__));
|
|
6 |
$baseDir = dirname($vendorDir);
|
7 |
|
8 |
return array(
|
9 |
-
'Ctct\\Auth\\CtctDataStore' => $vendorDir . '/constantcontact/constantcontact/src/Ctct/Auth/CtctDataStore.php',
|
10 |
-
'Ctct\\Auth\\CtctOAuth2' => $vendorDir . '/constantcontact/constantcontact/src/Ctct/Auth/CtctOAuth2.php',
|
11 |
-
'Ctct\\Auth\\SessionDataStore' => $vendorDir . '/constantcontact/constantcontact/src/Ctct/Auth/SessionDataStore.php',
|
12 |
-
'Ctct\\Components\\Account\\AccountInfo' => $vendorDir . '/constantcontact/constantcontact/src/Ctct/Components/Account/AccountInfo.php',
|
13 |
-
'Ctct\\Components\\Account\\VerifiedEmailAddress' => $vendorDir . '/constantcontact/constantcontact/src/Ctct/Components/Account/VerifiedEmailAddress.php',
|
14 |
-
'Ctct\\Components\\Activities\\Activity' => $vendorDir . '/constantcontact/constantcontact/src/Ctct/Components/Activities/Activity.php',
|
15 |
-
'Ctct\\Components\\Activities\\ActivityError' => $vendorDir . '/constantcontact/constantcontact/src/Ctct/Components/Activities/ActivityError.php',
|
16 |
-
'Ctct\\Components\\Activities\\AddContacts' => $vendorDir . '/constantcontact/constantcontact/src/Ctct/Components/Activities/AddContacts.php',
|
17 |
-
'Ctct\\Components\\Activities\\AddContactsImportData' => $vendorDir . '/constantcontact/constantcontact/src/Ctct/Components/Activities/AddContactsImportData.php',
|
18 |
-
'Ctct\\Components\\Activities\\ExportContacts' => $vendorDir . '/constantcontact/constantcontact/src/Ctct/Components/Activities/ExportContacts.php',
|
19 |
-
'Ctct\\Components\\Component' => $vendorDir . '/constantcontact/constantcontact/src/Ctct/Components/Component.php',
|
20 |
-
'Ctct\\Components\\Contacts\\Address' => $vendorDir . '/constantcontact/constantcontact/src/Ctct/Components/Contacts/Address.php',
|
21 |
-
'Ctct\\Components\\Contacts\\Contact' => $vendorDir . '/constantcontact/constantcontact/src/Ctct/Components/Contacts/Contact.php',
|
22 |
-
'Ctct\\Components\\Contacts\\ContactList' => $vendorDir . '/constantcontact/constantcontact/src/Ctct/Components/Contacts/ContactList.php',
|
23 |
-
'Ctct\\Components\\Contacts\\CustomField' => $vendorDir . '/constantcontact/constantcontact/src/Ctct/Components/Contacts/CustomField.php',
|
24 |
-
'Ctct\\Components\\Contacts\\EmailAddress' => $vendorDir . '/constantcontact/constantcontact/src/Ctct/Components/Contacts/EmailAddress.php',
|
25 |
-
'Ctct\\Components\\Contacts\\Note' => $vendorDir . '/constantcontact/constantcontact/src/Ctct/Components/Contacts/Note.php',
|
26 |
-
'Ctct\\Components\\EmailMarketing\\Campaign' => $vendorDir . '/constantcontact/constantcontact/src/Ctct/Components/EmailMarketing/Campaign.php',
|
27 |
-
'Ctct\\Components\\EmailMarketing\\CampaignPreview' => $vendorDir . '/constantcontact/constantcontact/src/Ctct/Components/EmailMarketing/CampaignPreview.php',
|
28 |
-
'Ctct\\Components\\EmailMarketing\\ClickThroughDetails' => $vendorDir . '/constantcontact/constantcontact/src/Ctct/Components/EmailMarketing/ClickThroughDetails.php',
|
29 |
-
'Ctct\\Components\\EmailMarketing\\MessageFooter' => $vendorDir . '/constantcontact/constantcontact/src/Ctct/Components/EmailMarketing/MessageFooter.php',
|
30 |
-
'Ctct\\Components\\EmailMarketing\\Schedule' => $vendorDir . '/constantcontact/constantcontact/src/Ctct/Components/EmailMarketing/Schedule.php',
|
31 |
-
'Ctct\\Components\\EmailMarketing\\TestSend' => $vendorDir . '/constantcontact/constantcontact/src/Ctct/Components/EmailMarketing/TestSend.php',
|
32 |
-
'Ctct\\Components\\Library\\File' => $vendorDir . '/constantcontact/constantcontact/src/Ctct/Components/Library/File.php',
|
33 |
-
'Ctct\\Components\\Library\\FileUploadStatus' => $vendorDir . '/constantcontact/constantcontact/src/Ctct/Components/Library/FileUploadStatus.php',
|
34 |
-
'Ctct\\Components\\Library\\Folder' => $vendorDir . '/constantcontact/constantcontact/src/Ctct/Components/Library/Folder.php',
|
35 |
-
'Ctct\\Components\\Library\\Thumbnail' => $vendorDir . '/constantcontact/constantcontact/src/Ctct/Components/Library/Thumbnail.php',
|
36 |
-
'Ctct\\Components\\ResultSet' => $vendorDir . '/constantcontact/constantcontact/src/Ctct/Components/ResultSet.php',
|
37 |
-
'Ctct\\Components\\Tracking\\BounceActivity' => $vendorDir . '/constantcontact/constantcontact/src/Ctct/Components/Tracking/BounceActivity.php',
|
38 |
-
'Ctct\\Components\\Tracking\\ClickActivity' => $vendorDir . '/constantcontact/constantcontact/src/Ctct/Components/Tracking/ClickActivity.php',
|
39 |
-
'Ctct\\Components\\Tracking\\ForwardActivity' => $vendorDir . '/constantcontact/constantcontact/src/Ctct/Components/Tracking/ForwardActivity.php',
|
40 |
-
'Ctct\\Components\\Tracking\\OpenActivity' => $vendorDir . '/constantcontact/constantcontact/src/Ctct/Components/Tracking/OpenActivity.php',
|
41 |
-
'Ctct\\Components\\Tracking\\SendActivity' => $vendorDir . '/constantcontact/constantcontact/src/Ctct/Components/Tracking/SendActivity.php',
|
42 |
-
'Ctct\\Components\\Tracking\\TrackingActivity' => $vendorDir . '/constantcontact/constantcontact/src/Ctct/Components/Tracking/TrackingActivity.php',
|
43 |
-
'Ctct\\Components\\Tracking\\TrackingSummary' => $vendorDir . '/constantcontact/constantcontact/src/Ctct/Components/Tracking/TrackingSummary.php',
|
44 |
-
'Ctct\\Components\\Tracking\\UnsubscribeActivity' => $vendorDir . '/constantcontact/constantcontact/src/Ctct/Components/Tracking/UnsubscribeActivity.php',
|
45 |
-
'Ctct\\ConstantContact' => $vendorDir . '/constantcontact/constantcontact/src/Ctct/ConstantContact.php',
|
46 |
-
'Ctct\\Exceptions\\CtctException' => $vendorDir . '/constantcontact/constantcontact/src/Ctct/Exceptions/CtctException.php',
|
47 |
-
'Ctct\\Exceptions\\IllegalArgumentException' => $vendorDir . '/constantcontact/constantcontact/src/Ctct/Exceptions/IllegalArgumentException.php',
|
48 |
-
'Ctct\\Exceptions\\OAuth2Exception' => $vendorDir . '/constantcontact/constantcontact/src/Ctct/Exceptions/OAuth2Exception.php',
|
49 |
-
'Ctct\\Services\\AccountService' => $vendorDir . '/constantcontact/constantcontact/src/Ctct/Services/AccountService.php',
|
50 |
-
'Ctct\\Services\\ActivityService' => $vendorDir . '/constantcontact/constantcontact/src/Ctct/Services/ActivityService.php',
|
51 |
-
'Ctct\\Services\\BaseService' => $vendorDir . '/constantcontact/constantcontact/src/Ctct/Services/BaseService.php',
|
52 |
-
'Ctct\\Services\\CampaignScheduleService' => $vendorDir . '/constantcontact/constantcontact/src/Ctct/Services/CampaignScheduleService.php',
|
53 |
-
'Ctct\\Services\\CampaignTrackingService' => $vendorDir . '/constantcontact/constantcontact/src/Ctct/Services/CampaignTrackingService.php',
|
54 |
-
'Ctct\\Services\\ContactService' => $vendorDir . '/constantcontact/constantcontact/src/Ctct/Services/ContactService.php',
|
55 |
-
'Ctct\\Services\\ContactTrackingService' => $vendorDir . '/constantcontact/constantcontact/src/Ctct/Services/ContactTrackingService.php',
|
56 |
-
'Ctct\\Services\\EmailMarketingService' => $vendorDir . '/constantcontact/constantcontact/src/Ctct/Services/EmailMarketingService.php',
|
57 |
-
'Ctct\\Services\\LibraryService' => $vendorDir . '/constantcontact/constantcontact/src/Ctct/Services/LibraryService.php',
|
58 |
-
'Ctct\\Services\\ListService' => $vendorDir . '/constantcontact/constantcontact/src/Ctct/Services/ListService.php',
|
59 |
-
'Ctct\\SplClassLoader' => $vendorDir . '/constantcontact/constantcontact/src/Ctct/SplClassLoader.php',
|
60 |
-
'Ctct\\Util\\Config' => $vendorDir . '/constantcontact/constantcontact/src/Ctct/Util/Config.php',
|
61 |
-
'Ctct\\WebHooks\\CTCTWebhookUtil' => $vendorDir . '/constantcontact/constantcontact/src/Ctct/WebHooks/CTCTWebhookUtil.php',
|
62 |
-
'Defuse\\Crypto\\Core' => $vendorDir . '/defuse/php-encryption/src/Core.php',
|
63 |
-
'Defuse\\Crypto\\Crypto' => $vendorDir . '/defuse/php-encryption/src/Crypto.php',
|
64 |
-
'Defuse\\Crypto\\DerivedKeys' => $vendorDir . '/defuse/php-encryption/src/DerivedKeys.php',
|
65 |
-
'Defuse\\Crypto\\Encoding' => $vendorDir . '/defuse/php-encryption/src/Encoding.php',
|
66 |
-
'Defuse\\Crypto\\Exception\\BadFormatException' => $vendorDir . '/defuse/php-encryption/src/Exception/BadFormatException.php',
|
67 |
-
'Defuse\\Crypto\\Exception\\CryptoException' => $vendorDir . '/defuse/php-encryption/src/Exception/CryptoException.php',
|
68 |
-
'Defuse\\Crypto\\Exception\\EnvironmentIsBrokenException' => $vendorDir . '/defuse/php-encryption/src/Exception/EnvironmentIsBrokenException.php',
|
69 |
-
'Defuse\\Crypto\\Exception\\IOException' => $vendorDir . '/defuse/php-encryption/src/Exception/IOException.php',
|
70 |
-
'Defuse\\Crypto\\Exception\\WrongKeyOrModifiedCiphertextException' => $vendorDir . '/defuse/php-encryption/src/Exception/WrongKeyOrModifiedCiphertextException.php',
|
71 |
-
'Defuse\\Crypto\\File' => $vendorDir . '/defuse/php-encryption/src/File.php',
|
72 |
-
'Defuse\\Crypto\\Key' => $vendorDir . '/defuse/php-encryption/src/Key.php',
|
73 |
-
'Defuse\\Crypto\\KeyOrPassword' => $vendorDir . '/defuse/php-encryption/src/KeyOrPassword.php',
|
74 |
-
'Defuse\\Crypto\\KeyProtectedByPassword' => $vendorDir . '/defuse/php-encryption/src/KeyProtectedByPassword.php',
|
75 |
-
'Defuse\\Crypto\\RuntimeTests' => $vendorDir . '/defuse/php-encryption/src/RuntimeTests.php',
|
76 |
-
'GuzzleHttp\\BatchResults' => $vendorDir . '/guzzlehttp/guzzle/src/BatchResults.php',
|
77 |
-
'GuzzleHttp\\Client' => $vendorDir . '/guzzlehttp/guzzle/src/Client.php',
|
78 |
-
'GuzzleHttp\\ClientInterface' => $vendorDir . '/guzzlehttp/guzzle/src/ClientInterface.php',
|
79 |
-
'GuzzleHttp\\Collection' => $vendorDir . '/guzzlehttp/guzzle/src/Collection.php',
|
80 |
-
'GuzzleHttp\\Cookie\\CookieJar' => $vendorDir . '/guzzlehttp/guzzle/src/Cookie/CookieJar.php',
|
81 |
-
'GuzzleHttp\\Cookie\\CookieJarInterface' => $vendorDir . '/guzzlehttp/guzzle/src/Cookie/CookieJarInterface.php',
|
82 |
-
'GuzzleHttp\\Cookie\\FileCookieJar' => $vendorDir . '/guzzlehttp/guzzle/src/Cookie/FileCookieJar.php',
|
83 |
-
'GuzzleHttp\\Cookie\\SessionCookieJar' => $vendorDir . '/guzzlehttp/guzzle/src/Cookie/SessionCookieJar.php',
|
84 |
-
'GuzzleHttp\\Cookie\\SetCookie' => $vendorDir . '/guzzlehttp/guzzle/src/Cookie/SetCookie.php',
|
85 |
-
'GuzzleHttp\\Event\\AbstractEvent' => $vendorDir . '/guzzlehttp/guzzle/src/Event/AbstractEvent.php',
|
86 |
-
'GuzzleHttp\\Event\\AbstractRequestEvent' => $vendorDir . '/guzzlehttp/guzzle/src/Event/AbstractRequestEvent.php',
|
87 |
-
'GuzzleHttp\\Event\\AbstractRetryableEvent' => $vendorDir . '/guzzlehttp/guzzle/src/Event/AbstractRetryableEvent.php',
|
88 |
-
'GuzzleHttp\\Event\\AbstractTransferEvent' => $vendorDir . '/guzzlehttp/guzzle/src/Event/AbstractTransferEvent.php',
|
89 |
-
'GuzzleHttp\\Event\\BeforeEvent' => $vendorDir . '/guzzlehttp/guzzle/src/Event/BeforeEvent.php',
|
90 |
-
'GuzzleHttp\\Event\\CompleteEvent' => $vendorDir . '/guzzlehttp/guzzle/src/Event/CompleteEvent.php',
|
91 |
-
'GuzzleHttp\\Event\\Emitter' => $vendorDir . '/guzzlehttp/guzzle/src/Event/Emitter.php',
|
92 |
-
'GuzzleHttp\\Event\\EmitterInterface' => $vendorDir . '/guzzlehttp/guzzle/src/Event/EmitterInterface.php',
|
93 |
-
'GuzzleHttp\\Event\\EndEvent' => $vendorDir . '/guzzlehttp/guzzle/src/Event/EndEvent.php',
|
94 |
-
'GuzzleHttp\\Event\\ErrorEvent' => $vendorDir . '/guzzlehttp/guzzle/src/Event/ErrorEvent.php',
|
95 |
-
'GuzzleHttp\\Event\\EventInterface' => $vendorDir . '/guzzlehttp/guzzle/src/Event/EventInterface.php',
|
96 |
-
'GuzzleHttp\\Event\\HasEmitterInterface' => $vendorDir . '/guzzlehttp/guzzle/src/Event/HasEmitterInterface.php',
|
97 |
-
'GuzzleHttp\\Event\\HasEmitterTrait' => $vendorDir . '/guzzlehttp/guzzle/src/Event/HasEmitterTrait.php',
|
98 |
-
'GuzzleHttp\\Event\\ListenerAttacherTrait' => $vendorDir . '/guzzlehttp/guzzle/src/Event/ListenerAttacherTrait.php',
|
99 |
-
'GuzzleHttp\\Event\\ProgressEvent' => $vendorDir . '/guzzlehttp/guzzle/src/Event/ProgressEvent.php',
|
100 |
-
'GuzzleHttp\\Event\\RequestEvents' => $vendorDir . '/guzzlehttp/guzzle/src/Event/RequestEvents.php',
|
101 |
-
'GuzzleHttp\\Event\\SubscriberInterface' => $vendorDir . '/guzzlehttp/guzzle/src/Event/SubscriberInterface.php',
|
102 |
-
'GuzzleHttp\\Exception\\BadResponseException' => $vendorDir . '/guzzlehttp/guzzle/src/Exception/BadResponseException.php',
|
103 |
-
'GuzzleHttp\\Exception\\ClientException' => $vendorDir . '/guzzlehttp/guzzle/src/Exception/ClientException.php',
|
104 |
-
'GuzzleHttp\\Exception\\ConnectException' => $vendorDir . '/guzzlehttp/guzzle/src/Exception/ConnectException.php',
|
105 |
-
'GuzzleHttp\\Exception\\CouldNotRewindStreamException' => $vendorDir . '/guzzlehttp/guzzle/src/Exception/CouldNotRewindStreamException.php',
|
106 |
-
'GuzzleHttp\\Exception\\ParseException' => $vendorDir . '/guzzlehttp/guzzle/src/Exception/ParseException.php',
|
107 |
-
'GuzzleHttp\\Exception\\RequestException' => $vendorDir . '/guzzlehttp/guzzle/src/Exception/RequestException.php',
|
108 |
-
'GuzzleHttp\\Exception\\ServerException' => $vendorDir . '/guzzlehttp/guzzle/src/Exception/ServerException.php',
|
109 |
-
'GuzzleHttp\\Exception\\StateException' => $vendorDir . '/guzzlehttp/guzzle/src/Exception/StateException.php',
|
110 |
-
'GuzzleHttp\\Exception\\TooManyRedirectsException' => $vendorDir . '/guzzlehttp/guzzle/src/Exception/TooManyRedirectsException.php',
|
111 |
-
'GuzzleHttp\\Exception\\TransferException' => $vendorDir . '/guzzlehttp/guzzle/src/Exception/TransferException.php',
|
112 |
-
'GuzzleHttp\\Exception\\XmlParseException' => $vendorDir . '/guzzlehttp/guzzle/src/Exception/XmlParseException.php',
|
113 |
-
'GuzzleHttp\\HasDataTrait' => $vendorDir . '/guzzlehttp/guzzle/src/HasDataTrait.php',
|
114 |
-
'GuzzleHttp\\Message\\AbstractMessage' => $vendorDir . '/guzzlehttp/guzzle/src/Message/AbstractMessage.php',
|
115 |
-
'GuzzleHttp\\Message\\AppliesHeadersInterface' => $vendorDir . '/guzzlehttp/guzzle/src/Message/AppliesHeadersInterface.php',
|
116 |
-
'GuzzleHttp\\Message\\FutureResponse' => $vendorDir . '/guzzlehttp/guzzle/src/Message/FutureResponse.php',
|
117 |
-
'GuzzleHttp\\Message\\MessageFactory' => $vendorDir . '/guzzlehttp/guzzle/src/Message/MessageFactory.php',
|
118 |
-
'GuzzleHttp\\Message\\MessageFactoryInterface' => $vendorDir . '/guzzlehttp/guzzle/src/Message/MessageFactoryInterface.php',
|
119 |
-
'GuzzleHttp\\Message\\MessageInterface' => $vendorDir . '/guzzlehttp/guzzle/src/Message/MessageInterface.php',
|
120 |
-
'GuzzleHttp\\Message\\MessageParser' => $vendorDir . '/guzzlehttp/guzzle/src/Message/MessageParser.php',
|
121 |
-
'GuzzleHttp\\Message\\Request' => $vendorDir . '/guzzlehttp/guzzle/src/Message/Request.php',
|
122 |
-
'GuzzleHttp\\Message\\RequestInterface' => $vendorDir . '/guzzlehttp/guzzle/src/Message/RequestInterface.php',
|
123 |
-
'GuzzleHttp\\Message\\Response' => $vendorDir . '/guzzlehttp/guzzle/src/Message/Response.php',
|
124 |
-
'GuzzleHttp\\Message\\ResponseInterface' => $vendorDir . '/guzzlehttp/guzzle/src/Message/ResponseInterface.php',
|
125 |
-
'GuzzleHttp\\Mimetypes' => $vendorDir . '/guzzlehttp/guzzle/src/Mimetypes.php',
|
126 |
-
'GuzzleHttp\\Pool' => $vendorDir . '/guzzlehttp/guzzle/src/Pool.php',
|
127 |
-
'GuzzleHttp\\Post\\MultipartBody' => $vendorDir . '/guzzlehttp/guzzle/src/Post/MultipartBody.php',
|
128 |
-
'GuzzleHttp\\Post\\PostBody' => $vendorDir . '/guzzlehttp/guzzle/src/Post/PostBody.php',
|
129 |
-
'GuzzleHttp\\Post\\PostBodyInterface' => $vendorDir . '/guzzlehttp/guzzle/src/Post/PostBodyInterface.php',
|
130 |
-
'GuzzleHttp\\Post\\PostFile' => $vendorDir . '/guzzlehttp/guzzle/src/Post/PostFile.php',
|
131 |
-
'GuzzleHttp\\Post\\PostFileInterface' => $vendorDir . '/guzzlehttp/guzzle/src/Post/PostFileInterface.php',
|
132 |
-
'GuzzleHttp\\Query' => $vendorDir . '/guzzlehttp/guzzle/src/Query.php',
|
133 |
-
'GuzzleHttp\\QueryParser' => $vendorDir . '/guzzlehttp/guzzle/src/QueryParser.php',
|
134 |
-
'GuzzleHttp\\RequestFsm' => $vendorDir . '/guzzlehttp/guzzle/src/RequestFsm.php',
|
135 |
-
'GuzzleHttp\\RingBridge' => $vendorDir . '/guzzlehttp/guzzle/src/RingBridge.php',
|
136 |
-
'GuzzleHttp\\Ring\\Client\\ClientUtils' => $vendorDir . '/guzzlehttp/ringphp/src/Client/ClientUtils.php',
|
137 |
-
'GuzzleHttp\\Ring\\Client\\CurlFactory' => $vendorDir . '/guzzlehttp/ringphp/src/Client/CurlFactory.php',
|
138 |
-
'GuzzleHttp\\Ring\\Client\\CurlHandler' => $vendorDir . '/guzzlehttp/ringphp/src/Client/CurlHandler.php',
|
139 |
-
'GuzzleHttp\\Ring\\Client\\CurlMultiHandler' => $vendorDir . '/guzzlehttp/ringphp/src/Client/CurlMultiHandler.php',
|
140 |
-
'GuzzleHttp\\Ring\\Client\\Middleware' => $vendorDir . '/guzzlehttp/ringphp/src/Client/Middleware.php',
|
141 |
-
'GuzzleHttp\\Ring\\Client\\MockHandler' => $vendorDir . '/guzzlehttp/ringphp/src/Client/MockHandler.php',
|
142 |
-
'GuzzleHttp\\Ring\\Client\\StreamHandler' => $vendorDir . '/guzzlehttp/ringphp/src/Client/StreamHandler.php',
|
143 |
-
'GuzzleHttp\\Ring\\Core' => $vendorDir . '/guzzlehttp/ringphp/src/Core.php',
|
144 |
-
'GuzzleHttp\\Ring\\Exception\\CancelledException' => $vendorDir . '/guzzlehttp/ringphp/src/Exception/CancelledException.php',
|
145 |
-
'GuzzleHttp\\Ring\\Exception\\CancelledFutureAccessException' => $vendorDir . '/guzzlehttp/ringphp/src/Exception/CancelledFutureAccessException.php',
|
146 |
-
'GuzzleHttp\\Ring\\Exception\\ConnectException' => $vendorDir . '/guzzlehttp/ringphp/src/Exception/ConnectException.php',
|
147 |
-
'GuzzleHttp\\Ring\\Exception\\RingException' => $vendorDir . '/guzzlehttp/ringphp/src/Exception/RingException.php',
|
148 |
-
'GuzzleHttp\\Ring\\Future\\BaseFutureTrait' => $vendorDir . '/guzzlehttp/ringphp/src/Future/BaseFutureTrait.php',
|
149 |
-
'GuzzleHttp\\Ring\\Future\\CompletedFutureArray' => $vendorDir . '/guzzlehttp/ringphp/src/Future/CompletedFutureArray.php',
|
150 |
-
'GuzzleHttp\\Ring\\Future\\CompletedFutureValue' => $vendorDir . '/guzzlehttp/ringphp/src/Future/CompletedFutureValue.php',
|
151 |
-
'GuzzleHttp\\Ring\\Future\\FutureArray' => $vendorDir . '/guzzlehttp/ringphp/src/Future/FutureArray.php',
|
152 |
-
'GuzzleHttp\\Ring\\Future\\FutureArrayInterface' => $vendorDir . '/guzzlehttp/ringphp/src/Future/FutureArrayInterface.php',
|
153 |
-
'GuzzleHttp\\Ring\\Future\\FutureInterface' => $vendorDir . '/guzzlehttp/ringphp/src/Future/FutureInterface.php',
|
154 |
-
'GuzzleHttp\\Ring\\Future\\FutureValue' => $vendorDir . '/guzzlehttp/ringphp/src/Future/FutureValue.php',
|
155 |
-
'GuzzleHttp\\Ring\\Future\\MagicFutureTrait' => $vendorDir . '/guzzlehttp/ringphp/src/Future/MagicFutureTrait.php',
|
156 |
-
'GuzzleHttp\\Stream\\AppendStream' => $vendorDir . '/guzzlehttp/streams/src/AppendStream.php',
|
157 |
-
'GuzzleHttp\\Stream\\AsyncReadStream' => $vendorDir . '/guzzlehttp/streams/src/AsyncReadStream.php',
|
158 |
-
'GuzzleHttp\\Stream\\BufferStream' => $vendorDir . '/guzzlehttp/streams/src/BufferStream.php',
|
159 |
-
'GuzzleHttp\\Stream\\CachingStream' => $vendorDir . '/guzzlehttp/streams/src/CachingStream.php',
|
160 |
-
'GuzzleHttp\\Stream\\DroppingStream' => $vendorDir . '/guzzlehttp/streams/src/DroppingStream.php',
|
161 |
-
'GuzzleHttp\\Stream\\Exception\\CannotAttachException' => $vendorDir . '/guzzlehttp/streams/src/Exception/CannotAttachException.php',
|
162 |
-
'GuzzleHttp\\Stream\\Exception\\SeekException' => $vendorDir . '/guzzlehttp/streams/src/Exception/SeekException.php',
|
163 |
-
'GuzzleHttp\\Stream\\FnStream' => $vendorDir . '/guzzlehttp/streams/src/FnStream.php',
|
164 |
-
'GuzzleHttp\\Stream\\GuzzleStreamWrapper' => $vendorDir . '/guzzlehttp/streams/src/GuzzleStreamWrapper.php',
|
165 |
-
'GuzzleHttp\\Stream\\InflateStream' => $vendorDir . '/guzzlehttp/streams/src/InflateStream.php',
|
166 |
-
'GuzzleHttp\\Stream\\LazyOpenStream' => $vendorDir . '/guzzlehttp/streams/src/LazyOpenStream.php',
|
167 |
-
'GuzzleHttp\\Stream\\LimitStream' => $vendorDir . '/guzzlehttp/streams/src/LimitStream.php',
|
168 |
-
'GuzzleHttp\\Stream\\MetadataStreamInterface' => $vendorDir . '/guzzlehttp/streams/src/MetadataStreamInterface.php',
|
169 |
-
'GuzzleHttp\\Stream\\NoSeekStream' => $vendorDir . '/guzzlehttp/streams/src/NoSeekStream.php',
|
170 |
-
'GuzzleHttp\\Stream\\NullStream' => $vendorDir . '/guzzlehttp/streams/src/NullStream.php',
|
171 |
-
'GuzzleHttp\\Stream\\PumpStream' => $vendorDir . '/guzzlehttp/streams/src/PumpStream.php',
|
172 |
-
'GuzzleHttp\\Stream\\Stream' => $vendorDir . '/guzzlehttp/streams/src/Stream.php',
|
173 |
-
'GuzzleHttp\\Stream\\StreamDecoratorTrait' => $vendorDir . '/guzzlehttp/streams/src/StreamDecoratorTrait.php',
|
174 |
-
'GuzzleHttp\\Stream\\StreamInterface' => $vendorDir . '/guzzlehttp/streams/src/StreamInterface.php',
|
175 |
-
'GuzzleHttp\\Stream\\Utils' => $vendorDir . '/guzzlehttp/streams/src/Utils.php',
|
176 |
-
'GuzzleHttp\\Subscriber\\Cookie' => $vendorDir . '/guzzlehttp/guzzle/src/Subscriber/Cookie.php',
|
177 |
-
'GuzzleHttp\\Subscriber\\History' => $vendorDir . '/guzzlehttp/guzzle/src/Subscriber/History.php',
|
178 |
-
'GuzzleHttp\\Subscriber\\HttpError' => $vendorDir . '/guzzlehttp/guzzle/src/Subscriber/HttpError.php',
|
179 |
-
'GuzzleHttp\\Subscriber\\Mock' => $vendorDir . '/guzzlehttp/guzzle/src/Subscriber/Mock.php',
|
180 |
-
'GuzzleHttp\\Subscriber\\Prepare' => $vendorDir . '/guzzlehttp/guzzle/src/Subscriber/Prepare.php',
|
181 |
-
'GuzzleHttp\\Subscriber\\Redirect' => $vendorDir . '/guzzlehttp/guzzle/src/Subscriber/Redirect.php',
|
182 |
-
'GuzzleHttp\\ToArrayInterface' => $vendorDir . '/guzzlehttp/guzzle/src/ToArrayInterface.php',
|
183 |
-
'GuzzleHttp\\Transaction' => $vendorDir . '/guzzlehttp/guzzle/src/Transaction.php',
|
184 |
-
'GuzzleHttp\\UriTemplate' => $vendorDir . '/guzzlehttp/guzzle/src/UriTemplate.php',
|
185 |
-
'GuzzleHttp\\Url' => $vendorDir . '/guzzlehttp/guzzle/src/Url.php',
|
186 |
-
'GuzzleHttp\\Utils' => $vendorDir . '/guzzlehttp/guzzle/src/Utils.php',
|
187 |
-
'Monolog\\ErrorHandler' => $vendorDir . '/monolog/monolog/src/Monolog/ErrorHandler.php',
|
188 |
-
'Monolog\\Formatter\\ChromePHPFormatter' => $vendorDir . '/monolog/monolog/src/Monolog/Formatter/ChromePHPFormatter.php',
|
189 |
-
'Monolog\\Formatter\\ElasticaFormatter' => $vendorDir . '/monolog/monolog/src/Monolog/Formatter/ElasticaFormatter.php',
|
190 |
-
'Monolog\\Formatter\\FlowdockFormatter' => $vendorDir . '/monolog/monolog/src/Monolog/Formatter/FlowdockFormatter.php',
|
191 |
-
'Monolog\\Formatter\\FluentdFormatter' => $vendorDir . '/monolog/monolog/src/Monolog/Formatter/FluentdFormatter.php',
|
192 |
-
'Monolog\\Formatter\\FormatterInterface' => $vendorDir . '/monolog/monolog/src/Monolog/Formatter/FormatterInterface.php',
|
193 |
-
'Monolog\\Formatter\\GelfMessageFormatter' => $vendorDir . '/monolog/monolog/src/Monolog/Formatter/GelfMessageFormatter.php',
|
194 |
-
'Monolog\\Formatter\\HtmlFormatter' => $vendorDir . '/monolog/monolog/src/Monolog/Formatter/HtmlFormatter.php',
|
195 |
-
'Monolog\\Formatter\\JsonFormatter' => $vendorDir . '/monolog/monolog/src/Monolog/Formatter/JsonFormatter.php',
|
196 |
-
'Monolog\\Formatter\\LineFormatter' => $vendorDir . '/monolog/monolog/src/Monolog/Formatter/LineFormatter.php',
|
197 |
-
'Monolog\\Formatter\\LogglyFormatter' => $vendorDir . '/monolog/monolog/src/Monolog/Formatter/LogglyFormatter.php',
|
198 |
-
'Monolog\\Formatter\\LogstashFormatter' => $vendorDir . '/monolog/monolog/src/Monolog/Formatter/LogstashFormatter.php',
|
199 |
-
'Monolog\\Formatter\\MongoDBFormatter' => $vendorDir . '/monolog/monolog/src/Monolog/Formatter/MongoDBFormatter.php',
|
200 |
-
'Monolog\\Formatter\\NormalizerFormatter' => $vendorDir . '/monolog/monolog/src/Monolog/Formatter/NormalizerFormatter.php',
|
201 |
-
'Monolog\\Formatter\\ScalarFormatter' => $vendorDir . '/monolog/monolog/src/Monolog/Formatter/ScalarFormatter.php',
|
202 |
-
'Monolog\\Formatter\\WildfireFormatter' => $vendorDir . '/monolog/monolog/src/Monolog/Formatter/WildfireFormatter.php',
|
203 |
-
'Monolog\\Handler\\AbstractHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/AbstractHandler.php',
|
204 |
-
'Monolog\\Handler\\AbstractProcessingHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/AbstractProcessingHandler.php',
|
205 |
-
'Monolog\\Handler\\AbstractSyslogHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/AbstractSyslogHandler.php',
|
206 |
-
'Monolog\\Handler\\AmqpHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/AmqpHandler.php',
|
207 |
-
'Monolog\\Handler\\BrowserConsoleHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/BrowserConsoleHandler.php',
|
208 |
-
'Monolog\\Handler\\BufferHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/BufferHandler.php',
|
209 |
-
'Monolog\\Handler\\ChromePHPHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/ChromePHPHandler.php',
|
210 |
-
'Monolog\\Handler\\CouchDBHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/CouchDBHandler.php',
|
211 |
-
'Monolog\\Handler\\CubeHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/CubeHandler.php',
|
212 |
-
'Monolog\\Handler\\Curl\\Util' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/Curl/Util.php',
|
213 |
-
'Monolog\\Handler\\DeduplicationHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/DeduplicationHandler.php',
|
214 |
-
'Monolog\\Handler\\DoctrineCouchDBHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/DoctrineCouchDBHandler.php',
|
215 |
-
'Monolog\\Handler\\DynamoDbHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/DynamoDbHandler.php',
|
216 |
-
'Monolog\\Handler\\ElasticSearchHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/ElasticSearchHandler.php',
|
217 |
-
'Monolog\\Handler\\ErrorLogHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/ErrorLogHandler.php',
|
218 |
-
'Monolog\\Handler\\FilterHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/FilterHandler.php',
|
219 |
-
'Monolog\\Handler\\FingersCrossedHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/FingersCrossedHandler.php',
|
220 |
-
'Monolog\\Handler\\FingersCrossed\\ActivationStrategyInterface' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/FingersCrossed/ActivationStrategyInterface.php',
|
221 |
-
'Monolog\\Handler\\FingersCrossed\\ChannelLevelActivationStrategy' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/FingersCrossed/ChannelLevelActivationStrategy.php',
|
222 |
-
'Monolog\\Handler\\FingersCrossed\\ErrorLevelActivationStrategy' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/FingersCrossed/ErrorLevelActivationStrategy.php',
|
223 |
-
'Monolog\\Handler\\FirePHPHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/FirePHPHandler.php',
|
224 |
-
'Monolog\\Handler\\FleepHookHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/FleepHookHandler.php',
|
225 |
-
'Monolog\\Handler\\FlowdockHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/FlowdockHandler.php',
|
226 |
-
'Monolog\\Handler\\GelfHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/GelfHandler.php',
|
227 |
-
'Monolog\\Handler\\GroupHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/GroupHandler.php',
|
228 |
-
'Monolog\\Handler\\HandlerInterface' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/HandlerInterface.php',
|
229 |
-
'Monolog\\Handler\\HandlerWrapper' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/HandlerWrapper.php',
|
230 |
-
'Monolog\\Handler\\HipChatHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/HipChatHandler.php',
|
231 |
-
'Monolog\\Handler\\IFTTTHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/IFTTTHandler.php',
|
232 |
-
'Monolog\\Handler\\InsightOpsHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/InsightOpsHandler.php',
|
233 |
-
'Monolog\\Handler\\LogEntriesHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/LogEntriesHandler.php',
|
234 |
-
'Monolog\\Handler\\LogglyHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/LogglyHandler.php',
|
235 |
-
'Monolog\\Handler\\MailHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/MailHandler.php',
|
236 |
-
'Monolog\\Handler\\MandrillHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/MandrillHandler.php',
|
237 |
-
'Monolog\\Handler\\MissingExtensionException' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/MissingExtensionException.php',
|
238 |
-
'Monolog\\Handler\\MongoDBHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/MongoDBHandler.php',
|
239 |
-
'Monolog\\Handler\\NativeMailerHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/NativeMailerHandler.php',
|
240 |
-
'Monolog\\Handler\\NewRelicHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/NewRelicHandler.php',
|
241 |
-
'Monolog\\Handler\\NullHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/NullHandler.php',
|
242 |
-
'Monolog\\Handler\\PHPConsoleHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/PHPConsoleHandler.php',
|
243 |
-
'Monolog\\Handler\\PsrHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/PsrHandler.php',
|
244 |
-
'Monolog\\Handler\\PushoverHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/PushoverHandler.php',
|
245 |
-
'Monolog\\Handler\\RavenHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/RavenHandler.php',
|
246 |
-
'Monolog\\Handler\\RedisHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/RedisHandler.php',
|
247 |
-
'Monolog\\Handler\\RollbarHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/RollbarHandler.php',
|
248 |
-
'Monolog\\Handler\\RotatingFileHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/RotatingFileHandler.php',
|
249 |
-
'Monolog\\Handler\\SamplingHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/SamplingHandler.php',
|
250 |
-
'Monolog\\Handler\\SlackHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/SlackHandler.php',
|
251 |
-
'Monolog\\Handler\\SlackWebhookHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/SlackWebhookHandler.php',
|
252 |
-
'Monolog\\Handler\\Slack\\SlackRecord' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/Slack/SlackRecord.php',
|
253 |
-
'Monolog\\Handler\\SlackbotHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/SlackbotHandler.php',
|
254 |
-
'Monolog\\Handler\\SocketHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/SocketHandler.php',
|
255 |
-
'Monolog\\Handler\\StreamHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/StreamHandler.php',
|
256 |
-
'Monolog\\Handler\\SwiftMailerHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/SwiftMailerHandler.php',
|
257 |
-
'Monolog\\Handler\\SyslogHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/SyslogHandler.php',
|
258 |
-
'Monolog\\Handler\\SyslogUdpHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/SyslogUdpHandler.php',
|
259 |
-
'Monolog\\Handler\\SyslogUdp\\UdpSocket' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/SyslogUdp/UdpSocket.php',
|
260 |
-
'Monolog\\Handler\\TestHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/TestHandler.php',
|
261 |
-
'Monolog\\Handler\\WhatFailureGroupHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/WhatFailureGroupHandler.php',
|
262 |
-
'Monolog\\Handler\\ZendMonitorHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/ZendMonitorHandler.php',
|
263 |
-
'Monolog\\Logger' => $vendorDir . '/monolog/monolog/src/Monolog/Logger.php',
|
264 |
-
'Monolog\\Processor\\GitProcessor' => $vendorDir . '/monolog/monolog/src/Monolog/Processor/GitProcessor.php',
|
265 |
-
'Monolog\\Processor\\IntrospectionProcessor' => $vendorDir . '/monolog/monolog/src/Monolog/Processor/IntrospectionProcessor.php',
|
266 |
-
'Monolog\\Processor\\MemoryPeakUsageProcessor' => $vendorDir . '/monolog/monolog/src/Monolog/Processor/MemoryPeakUsageProcessor.php',
|
267 |
-
'Monolog\\Processor\\MemoryProcessor' => $vendorDir . '/monolog/monolog/src/Monolog/Processor/MemoryProcessor.php',
|
268 |
-
'Monolog\\Processor\\MemoryUsageProcessor' => $vendorDir . '/monolog/monolog/src/Monolog/Processor/MemoryUsageProcessor.php',
|
269 |
-
'Monolog\\Processor\\MercurialProcessor' => $vendorDir . '/monolog/monolog/src/Monolog/Processor/MercurialProcessor.php',
|
270 |
-
'Monolog\\Processor\\ProcessIdProcessor' => $vendorDir . '/monolog/monolog/src/Monolog/Processor/ProcessIdProcessor.php',
|
271 |
-
'Monolog\\Processor\\ProcessorInterface' => $vendorDir . '/monolog/monolog/src/Monolog/Processor/ProcessorInterface.php',
|
272 |
-
'Monolog\\Processor\\PsrLogMessageProcessor' => $vendorDir . '/monolog/monolog/src/Monolog/Processor/PsrLogMessageProcessor.php',
|
273 |
-
'Monolog\\Processor\\TagProcessor' => $vendorDir . '/monolog/monolog/src/Monolog/Processor/TagProcessor.php',
|
274 |
-
'Monolog\\Processor\\UidProcessor' => $vendorDir . '/monolog/monolog/src/Monolog/Processor/UidProcessor.php',
|
275 |
-
'Monolog\\Processor\\WebProcessor' => $vendorDir . '/monolog/monolog/src/Monolog/Processor/WebProcessor.php',
|
276 |
-
'Monolog\\Registry' => $vendorDir . '/monolog/monolog/src/Monolog/Registry.php',
|
277 |
-
'Monolog\\ResettableInterface' => $vendorDir . '/monolog/monolog/src/Monolog/ResettableInterface.php',
|
278 |
-
'Monolog\\SignalHandler' => $vendorDir . '/monolog/monolog/src/Monolog/SignalHandler.php',
|
279 |
-
'Monolog\\Utils' => $vendorDir . '/monolog/monolog/src/Monolog/Utils.php',
|
280 |
-
'Psr\\Log\\AbstractLogger' => $vendorDir . '/psr/log/Psr/Log/AbstractLogger.php',
|
281 |
-
'Psr\\Log\\InvalidArgumentException' => $vendorDir . '/psr/log/Psr/Log/InvalidArgumentException.php',
|
282 |
-
'Psr\\Log\\LogLevel' => $vendorDir . '/psr/log/Psr/Log/LogLevel.php',
|
283 |
-
'Psr\\Log\\LoggerAwareInterface' => $vendorDir . '/psr/log/Psr/Log/LoggerAwareInterface.php',
|
284 |
-
'Psr\\Log\\LoggerAwareTrait' => $vendorDir . '/psr/log/Psr/Log/LoggerAwareTrait.php',
|
285 |
-
'Psr\\Log\\LoggerInterface' => $vendorDir . '/psr/log/Psr/Log/LoggerInterface.php',
|
286 |
-
'Psr\\Log\\LoggerTrait' => $vendorDir . '/psr/log/Psr/Log/LoggerTrait.php',
|
287 |
-
'Psr\\Log\\NullLogger' => $vendorDir . '/psr/log/Psr/Log/NullLogger.php',
|
288 |
-
'Psr\\Log\\Test\\DummyTest' => $vendorDir . '/psr/log/Psr/Log/Test/LoggerInterfaceTest.php',
|
289 |
-
'Psr\\Log\\Test\\LoggerInterfaceTest' => $vendorDir . '/psr/log/Psr/Log/Test/LoggerInterfaceTest.php',
|
290 |
-
'Psr\\Log\\Test\\TestLogger' => $vendorDir . '/psr/log/Psr/Log/Test/TestLogger.php',
|
291 |
-
'ReCaptcha\\ReCaptcha' => $vendorDir . '/google/recaptcha/src/ReCaptcha/ReCaptcha.php',
|
292 |
-
'ReCaptcha\\RequestMethod' => $vendorDir . '/google/recaptcha/src/ReCaptcha/RequestMethod.php',
|
293 |
-
'ReCaptcha\\RequestMethod\\Curl' => $vendorDir . '/google/recaptcha/src/ReCaptcha/RequestMethod/Curl.php',
|
294 |
-
'ReCaptcha\\RequestMethod\\CurlPost' => $vendorDir . '/google/recaptcha/src/ReCaptcha/RequestMethod/CurlPost.php',
|
295 |
-
'ReCaptcha\\RequestMethod\\Post' => $vendorDir . '/google/recaptcha/src/ReCaptcha/RequestMethod/Post.php',
|
296 |
-
'ReCaptcha\\RequestMethod\\Socket' => $vendorDir . '/google/recaptcha/src/ReCaptcha/RequestMethod/Socket.php',
|
297 |
-
'ReCaptcha\\RequestMethod\\SocketPost' => $vendorDir . '/google/recaptcha/src/ReCaptcha/RequestMethod/SocketPost.php',
|
298 |
-
'ReCaptcha\\RequestParameters' => $vendorDir . '/google/recaptcha/src/ReCaptcha/RequestParameters.php',
|
299 |
-
'ReCaptcha\\Response' => $vendorDir . '/google/recaptcha/src/ReCaptcha/Response.php',
|
300 |
-
'React\\Promise\\CancellablePromiseInterface' => $vendorDir . '/react/promise/src/CancellablePromiseInterface.php',
|
301 |
-
'React\\Promise\\CancellationQueue' => $vendorDir . '/react/promise/src/CancellationQueue.php',
|
302 |
-
'React\\Promise\\Deferred' => $vendorDir . '/react/promise/src/Deferred.php',
|
303 |
-
'React\\Promise\\Exception\\LengthException' => $vendorDir . '/react/promise/src/Exception/LengthException.php',
|
304 |
-
'React\\Promise\\ExtendedPromiseInterface' => $vendorDir . '/react/promise/src/ExtendedPromiseInterface.php',
|
305 |
-
'React\\Promise\\FulfilledPromise' => $vendorDir . '/react/promise/src/FulfilledPromise.php',
|
306 |
-
'React\\Promise\\LazyPromise' => $vendorDir . '/react/promise/src/LazyPromise.php',
|
307 |
-
'React\\Promise\\Promise' => $vendorDir . '/react/promise/src/Promise.php',
|
308 |
-
'React\\Promise\\PromiseInterface' => $vendorDir . '/react/promise/src/PromiseInterface.php',
|
309 |
-
'React\\Promise\\PromisorInterface' => $vendorDir . '/react/promise/src/PromisorInterface.php',
|
310 |
-
'React\\Promise\\RejectedPromise' => $vendorDir . '/react/promise/src/RejectedPromise.php',
|
311 |
-
'React\\Promise\\UnhandledRejectionException' => $vendorDir . '/react/promise/src/UnhandledRejectionException.php',
|
312 |
);
|
6 |
$baseDir = dirname($vendorDir);
|
7 |
|
8 |
return array(
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
9 |
);
|
vendor/composer/autoload_real.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
|
3 |
// autoload_real.php @generated by Composer
|
4 |
|
5 |
-
class
|
6 |
{
|
7 |
private static $loader;
|
8 |
|
@@ -22,39 +22,48 @@ class ComposerAutoloaderInitb96901d3471276ce8fb7d93b66af66b6
|
|
22 |
return self::$loader;
|
23 |
}
|
24 |
|
25 |
-
spl_autoload_register(array('
|
26 |
self::$loader = $loader = new \Composer\Autoload\ClassLoader();
|
27 |
-
spl_autoload_unregister(array('
|
28 |
|
29 |
$useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
|
30 |
if ($useStaticLoader) {
|
31 |
require_once __DIR__ . '/autoload_static.php';
|
32 |
|
33 |
-
call_user_func(\Composer\Autoload\
|
34 |
} else {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
35 |
$classMap = require __DIR__ . '/autoload_classmap.php';
|
36 |
if ($classMap) {
|
37 |
$loader->addClassMap($classMap);
|
38 |
}
|
39 |
}
|
40 |
|
41 |
-
$loader->setClassMapAuthoritative(true);
|
42 |
$loader->register(true);
|
43 |
|
44 |
if ($useStaticLoader) {
|
45 |
-
$includeFiles = Composer\Autoload\
|
46 |
} else {
|
47 |
$includeFiles = require __DIR__ . '/autoload_files.php';
|
48 |
}
|
49 |
foreach ($includeFiles as $fileIdentifier => $file) {
|
50 |
-
|
51 |
}
|
52 |
|
53 |
return $loader;
|
54 |
}
|
55 |
}
|
56 |
|
57 |
-
function
|
58 |
{
|
59 |
if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
|
60 |
require $file;
|
2 |
|
3 |
// autoload_real.php @generated by Composer
|
4 |
|
5 |
+
class ComposerAutoloaderInitf2903cb4a158f118c169e3c417a0d958
|
6 |
{
|
7 |
private static $loader;
|
8 |
|
22 |
return self::$loader;
|
23 |
}
|
24 |
|
25 |
+
spl_autoload_register(array('ComposerAutoloaderInitf2903cb4a158f118c169e3c417a0d958', 'loadClassLoader'), true, true);
|
26 |
self::$loader = $loader = new \Composer\Autoload\ClassLoader();
|
27 |
+
spl_autoload_unregister(array('ComposerAutoloaderInitf2903cb4a158f118c169e3c417a0d958', 'loadClassLoader'));
|
28 |
|
29 |
$useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
|
30 |
if ($useStaticLoader) {
|
31 |
require_once __DIR__ . '/autoload_static.php';
|
32 |
|
33 |
+
call_user_func(\Composer\Autoload\ComposerStaticInitf2903cb4a158f118c169e3c417a0d958::getInitializer($loader));
|
34 |
} else {
|
35 |
+
$map = require __DIR__ . '/autoload_namespaces.php';
|
36 |
+
foreach ($map as $namespace => $path) {
|
37 |
+
$loader->set($namespace, $path);
|
38 |
+
}
|
39 |
+
|
40 |
+
$map = require __DIR__ . '/autoload_psr4.php';
|
41 |
+
foreach ($map as $namespace => $path) {
|
42 |
+
$loader->setPsr4($namespace, $path);
|
43 |
+
}
|
44 |
+
|
45 |
$classMap = require __DIR__ . '/autoload_classmap.php';
|
46 |
if ($classMap) {
|
47 |
$loader->addClassMap($classMap);
|
48 |
}
|
49 |
}
|
50 |
|
|
|
51 |
$loader->register(true);
|
52 |
|
53 |
if ($useStaticLoader) {
|
54 |
+
$includeFiles = Composer\Autoload\ComposerStaticInitf2903cb4a158f118c169e3c417a0d958::$files;
|
55 |
} else {
|
56 |
$includeFiles = require __DIR__ . '/autoload_files.php';
|
57 |
}
|
58 |
foreach ($includeFiles as $fileIdentifier => $file) {
|
59 |
+
composerRequiref2903cb4a158f118c169e3c417a0d958($fileIdentifier, $file);
|
60 |
}
|
61 |
|
62 |
return $loader;
|
63 |
}
|
64 |
}
|
65 |
|
66 |
+
function composerRequiref2903cb4a158f118c169e3c417a0d958($fileIdentifier, $file)
|
67 |
{
|
68 |
if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
|
69 |
require $file;
|
vendor/composer/autoload_static.php
CHANGED
@@ -4,7 +4,7 @@
|
|
4 |
|
5 |
namespace Composer\Autoload;
|
6 |
|
7 |
-
class
|
8 |
{
|
9 |
public static $files = array (
|
10 |
'ad155f8f1cf0d418fe49e248db8c661b' => __DIR__ . '/..' . '/react/promise/src/functions_include.php',
|
@@ -81,319 +81,12 @@ class ComposerStaticInitb96901d3471276ce8fb7d93b66af66b6
|
|
81 |
),
|
82 |
);
|
83 |
|
84 |
-
public static $classMap = array (
|
85 |
-
'Ctct\\Auth\\CtctDataStore' => __DIR__ . '/..' . '/constantcontact/constantcontact/src/Ctct/Auth/CtctDataStore.php',
|
86 |
-
'Ctct\\Auth\\CtctOAuth2' => __DIR__ . '/..' . '/constantcontact/constantcontact/src/Ctct/Auth/CtctOAuth2.php',
|
87 |
-
'Ctct\\Auth\\SessionDataStore' => __DIR__ . '/..' . '/constantcontact/constantcontact/src/Ctct/Auth/SessionDataStore.php',
|
88 |
-
'Ctct\\Components\\Account\\AccountInfo' => __DIR__ . '/..' . '/constantcontact/constantcontact/src/Ctct/Components/Account/AccountInfo.php',
|
89 |
-
'Ctct\\Components\\Account\\VerifiedEmailAddress' => __DIR__ . '/..' . '/constantcontact/constantcontact/src/Ctct/Components/Account/VerifiedEmailAddress.php',
|
90 |
-
'Ctct\\Components\\Activities\\Activity' => __DIR__ . '/..' . '/constantcontact/constantcontact/src/Ctct/Components/Activities/Activity.php',
|
91 |
-
'Ctct\\Components\\Activities\\ActivityError' => __DIR__ . '/..' . '/constantcontact/constantcontact/src/Ctct/Components/Activities/ActivityError.php',
|
92 |
-
'Ctct\\Components\\Activities\\AddContacts' => __DIR__ . '/..' . '/constantcontact/constantcontact/src/Ctct/Components/Activities/AddContacts.php',
|
93 |
-
'Ctct\\Components\\Activities\\AddContactsImportData' => __DIR__ . '/..' . '/constantcontact/constantcontact/src/Ctct/Components/Activities/AddContactsImportData.php',
|
94 |
-
'Ctct\\Components\\Activities\\ExportContacts' => __DIR__ . '/..' . '/constantcontact/constantcontact/src/Ctct/Components/Activities/ExportContacts.php',
|
95 |
-
'Ctct\\Components\\Component' => __DIR__ . '/..' . '/constantcontact/constantcontact/src/Ctct/Components/Component.php',
|
96 |
-
'Ctct\\Components\\Contacts\\Address' => __DIR__ . '/..' . '/constantcontact/constantcontact/src/Ctct/Components/Contacts/Address.php',
|
97 |
-
'Ctct\\Components\\Contacts\\Contact' => __DIR__ . '/..' . '/constantcontact/constantcontact/src/Ctct/Components/Contacts/Contact.php',
|
98 |
-
'Ctct\\Components\\Contacts\\ContactList' => __DIR__ . '/..' . '/constantcontact/constantcontact/src/Ctct/Components/Contacts/ContactList.php',
|
99 |
-
'Ctct\\Components\\Contacts\\CustomField' => __DIR__ . '/..' . '/constantcontact/constantcontact/src/Ctct/Components/Contacts/CustomField.php',
|
100 |
-
'Ctct\\Components\\Contacts\\EmailAddress' => __DIR__ . '/..' . '/constantcontact/constantcontact/src/Ctct/Components/Contacts/EmailAddress.php',
|
101 |
-
'Ctct\\Components\\Contacts\\Note' => __DIR__ . '/..' . '/constantcontact/constantcontact/src/Ctct/Components/Contacts/Note.php',
|
102 |
-
'Ctct\\Components\\EmailMarketing\\Campaign' => __DIR__ . '/..' . '/constantcontact/constantcontact/src/Ctct/Components/EmailMarketing/Campaign.php',
|
103 |
-
'Ctct\\Components\\EmailMarketing\\CampaignPreview' => __DIR__ . '/..' . '/constantcontact/constantcontact/src/Ctct/Components/EmailMarketing/CampaignPreview.php',
|
104 |
-
'Ctct\\Components\\EmailMarketing\\ClickThroughDetails' => __DIR__ . '/..' . '/constantcontact/constantcontact/src/Ctct/Components/EmailMarketing/ClickThroughDetails.php',
|
105 |
-
'Ctct\\Components\\EmailMarketing\\MessageFooter' => __DIR__ . '/..' . '/constantcontact/constantcontact/src/Ctct/Components/EmailMarketing/MessageFooter.php',
|
106 |
-
'Ctct\\Components\\EmailMarketing\\Schedule' => __DIR__ . '/..' . '/constantcontact/constantcontact/src/Ctct/Components/EmailMarketing/Schedule.php',
|
107 |
-
'Ctct\\Components\\EmailMarketing\\TestSend' => __DIR__ . '/..' . '/constantcontact/constantcontact/src/Ctct/Components/EmailMarketing/TestSend.php',
|
108 |
-
'Ctct\\Components\\Library\\File' => __DIR__ . '/..' . '/constantcontact/constantcontact/src/Ctct/Components/Library/File.php',
|
109 |
-
'Ctct\\Components\\Library\\FileUploadStatus' => __DIR__ . '/..' . '/constantcontact/constantcontact/src/Ctct/Components/Library/FileUploadStatus.php',
|
110 |
-
'Ctct\\Components\\Library\\Folder' => __DIR__ . '/..' . '/constantcontact/constantcontact/src/Ctct/Components/Library/Folder.php',
|
111 |
-
'Ctct\\Components\\Library\\Thumbnail' => __DIR__ . '/..' . '/constantcontact/constantcontact/src/Ctct/Components/Library/Thumbnail.php',
|
112 |
-
'Ctct\\Components\\ResultSet' => __DIR__ . '/..' . '/constantcontact/constantcontact/src/Ctct/Components/ResultSet.php',
|
113 |
-
'Ctct\\Components\\Tracking\\BounceActivity' => __DIR__ . '/..' . '/constantcontact/constantcontact/src/Ctct/Components/Tracking/BounceActivity.php',
|
114 |
-
'Ctct\\Components\\Tracking\\ClickActivity' => __DIR__ . '/..' . '/constantcontact/constantcontact/src/Ctct/Components/Tracking/ClickActivity.php',
|
115 |
-
'Ctct\\Components\\Tracking\\ForwardActivity' => __DIR__ . '/..' . '/constantcontact/constantcontact/src/Ctct/Components/Tracking/ForwardActivity.php',
|
116 |
-
'Ctct\\Components\\Tracking\\OpenActivity' => __DIR__ . '/..' . '/constantcontact/constantcontact/src/Ctct/Components/Tracking/OpenActivity.php',
|
117 |
-
'Ctct\\Components\\Tracking\\SendActivity' => __DIR__ . '/..' . '/constantcontact/constantcontact/src/Ctct/Components/Tracking/SendActivity.php',
|
118 |
-
'Ctct\\Components\\Tracking\\TrackingActivity' => __DIR__ . '/..' . '/constantcontact/constantcontact/src/Ctct/Components/Tracking/TrackingActivity.php',
|
119 |
-
'Ctct\\Components\\Tracking\\TrackingSummary' => __DIR__ . '/..' . '/constantcontact/constantcontact/src/Ctct/Components/Tracking/TrackingSummary.php',
|
120 |
-
'Ctct\\Components\\Tracking\\UnsubscribeActivity' => __DIR__ . '/..' . '/constantcontact/constantcontact/src/Ctct/Components/Tracking/UnsubscribeActivity.php',
|
121 |
-
'Ctct\\ConstantContact' => __DIR__ . '/..' . '/constantcontact/constantcontact/src/Ctct/ConstantContact.php',
|
122 |
-
'Ctct\\Exceptions\\CtctException' => __DIR__ . '/..' . '/constantcontact/constantcontact/src/Ctct/Exceptions/CtctException.php',
|
123 |
-
'Ctct\\Exceptions\\IllegalArgumentException' => __DIR__ . '/..' . '/constantcontact/constantcontact/src/Ctct/Exceptions/IllegalArgumentException.php',
|
124 |
-
'Ctct\\Exceptions\\OAuth2Exception' => __DIR__ . '/..' . '/constantcontact/constantcontact/src/Ctct/Exceptions/OAuth2Exception.php',
|
125 |
-
'Ctct\\Services\\AccountService' => __DIR__ . '/..' . '/constantcontact/constantcontact/src/Ctct/Services/AccountService.php',
|
126 |
-
'Ctct\\Services\\ActivityService' => __DIR__ . '/..' . '/constantcontact/constantcontact/src/Ctct/Services/ActivityService.php',
|
127 |
-
'Ctct\\Services\\BaseService' => __DIR__ . '/..' . '/constantcontact/constantcontact/src/Ctct/Services/BaseService.php',
|
128 |
-
'Ctct\\Services\\CampaignScheduleService' => __DIR__ . '/..' . '/constantcontact/constantcontact/src/Ctct/Services/CampaignScheduleService.php',
|
129 |
-
'Ctct\\Services\\CampaignTrackingService' => __DIR__ . '/..' . '/constantcontact/constantcontact/src/Ctct/Services/CampaignTrackingService.php',
|
130 |
-
'Ctct\\Services\\ContactService' => __DIR__ . '/..' . '/constantcontact/constantcontact/src/Ctct/Services/ContactService.php',
|
131 |
-
'Ctct\\Services\\ContactTrackingService' => __DIR__ . '/..' . '/constantcontact/constantcontact/src/Ctct/Services/ContactTrackingService.php',
|
132 |
-
'Ctct\\Services\\EmailMarketingService' => __DIR__ . '/..' . '/constantcontact/constantcontact/src/Ctct/Services/EmailMarketingService.php',
|
133 |
-
'Ctct\\Services\\LibraryService' => __DIR__ . '/..' . '/constantcontact/constantcontact/src/Ctct/Services/LibraryService.php',
|
134 |
-
'Ctct\\Services\\ListService' => __DIR__ . '/..' . '/constantcontact/constantcontact/src/Ctct/Services/ListService.php',
|
135 |
-
'Ctct\\SplClassLoader' => __DIR__ . '/..' . '/constantcontact/constantcontact/src/Ctct/SplClassLoader.php',
|
136 |
-
'Ctct\\Util\\Config' => __DIR__ . '/..' . '/constantcontact/constantcontact/src/Ctct/Util/Config.php',
|
137 |
-
'Ctct\\WebHooks\\CTCTWebhookUtil' => __DIR__ . '/..' . '/constantcontact/constantcontact/src/Ctct/WebHooks/CTCTWebhookUtil.php',
|
138 |
-
'Defuse\\Crypto\\Core' => __DIR__ . '/..' . '/defuse/php-encryption/src/Core.php',
|
139 |
-
'Defuse\\Crypto\\Crypto' => __DIR__ . '/..' . '/defuse/php-encryption/src/Crypto.php',
|
140 |
-
'Defuse\\Crypto\\DerivedKeys' => __DIR__ . '/..' . '/defuse/php-encryption/src/DerivedKeys.php',
|
141 |
-
'Defuse\\Crypto\\Encoding' => __DIR__ . '/..' . '/defuse/php-encryption/src/Encoding.php',
|
142 |
-
'Defuse\\Crypto\\Exception\\BadFormatException' => __DIR__ . '/..' . '/defuse/php-encryption/src/Exception/BadFormatException.php',
|
143 |
-
'Defuse\\Crypto\\Exception\\CryptoException' => __DIR__ . '/..' . '/defuse/php-encryption/src/Exception/CryptoException.php',
|
144 |
-
'Defuse\\Crypto\\Exception\\EnvironmentIsBrokenException' => __DIR__ . '/..' . '/defuse/php-encryption/src/Exception/EnvironmentIsBrokenException.php',
|
145 |
-
'Defuse\\Crypto\\Exception\\IOException' => __DIR__ . '/..' . '/defuse/php-encryption/src/Exception/IOException.php',
|
146 |
-
'Defuse\\Crypto\\Exception\\WrongKeyOrModifiedCiphertextException' => __DIR__ . '/..' . '/defuse/php-encryption/src/Exception/WrongKeyOrModifiedCiphertextException.php',
|
147 |
-
'Defuse\\Crypto\\File' => __DIR__ . '/..' . '/defuse/php-encryption/src/File.php',
|
148 |
-
'Defuse\\Crypto\\Key' => __DIR__ . '/..' . '/defuse/php-encryption/src/Key.php',
|
149 |
-
'Defuse\\Crypto\\KeyOrPassword' => __DIR__ . '/..' . '/defuse/php-encryption/src/KeyOrPassword.php',
|
150 |
-
'Defuse\\Crypto\\KeyProtectedByPassword' => __DIR__ . '/..' . '/defuse/php-encryption/src/KeyProtectedByPassword.php',
|
151 |
-
'Defuse\\Crypto\\RuntimeTests' => __DIR__ . '/..' . '/defuse/php-encryption/src/RuntimeTests.php',
|
152 |
-
'GuzzleHttp\\BatchResults' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/BatchResults.php',
|
153 |
-
'GuzzleHttp\\Client' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Client.php',
|
154 |
-
'GuzzleHttp\\ClientInterface' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/ClientInterface.php',
|
155 |
-
'GuzzleHttp\\Collection' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Collection.php',
|
156 |
-
'GuzzleHttp\\Cookie\\CookieJar' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Cookie/CookieJar.php',
|
157 |
-
'GuzzleHttp\\Cookie\\CookieJarInterface' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Cookie/CookieJarInterface.php',
|
158 |
-
'GuzzleHttp\\Cookie\\FileCookieJar' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Cookie/FileCookieJar.php',
|
159 |
-
'GuzzleHttp\\Cookie\\SessionCookieJar' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Cookie/SessionCookieJar.php',
|
160 |
-
'GuzzleHttp\\Cookie\\SetCookie' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Cookie/SetCookie.php',
|
161 |
-
'GuzzleHttp\\Event\\AbstractEvent' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Event/AbstractEvent.php',
|
162 |
-
'GuzzleHttp\\Event\\AbstractRequestEvent' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Event/AbstractRequestEvent.php',
|
163 |
-
'GuzzleHttp\\Event\\AbstractRetryableEvent' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Event/AbstractRetryableEvent.php',
|
164 |
-
'GuzzleHttp\\Event\\AbstractTransferEvent' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Event/AbstractTransferEvent.php',
|
165 |
-
'GuzzleHttp\\Event\\BeforeEvent' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Event/BeforeEvent.php',
|
166 |
-
'GuzzleHttp\\Event\\CompleteEvent' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Event/CompleteEvent.php',
|
167 |
-
'GuzzleHttp\\Event\\Emitter' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Event/Emitter.php',
|
168 |
-
'GuzzleHttp\\Event\\EmitterInterface' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Event/EmitterInterface.php',
|
169 |
-
'GuzzleHttp\\Event\\EndEvent' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Event/EndEvent.php',
|
170 |
-
'GuzzleHttp\\Event\\ErrorEvent' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Event/ErrorEvent.php',
|
171 |
-
'GuzzleHttp\\Event\\EventInterface' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Event/EventInterface.php',
|
172 |
-
'GuzzleHttp\\Event\\HasEmitterInterface' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Event/HasEmitterInterface.php',
|
173 |
-
'GuzzleHttp\\Event\\HasEmitterTrait' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Event/HasEmitterTrait.php',
|
174 |
-
'GuzzleHttp\\Event\\ListenerAttacherTrait' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Event/ListenerAttacherTrait.php',
|
175 |
-
'GuzzleHttp\\Event\\ProgressEvent' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Event/ProgressEvent.php',
|
176 |
-
'GuzzleHttp\\Event\\RequestEvents' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Event/RequestEvents.php',
|
177 |
-
'GuzzleHttp\\Event\\SubscriberInterface' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Event/SubscriberInterface.php',
|
178 |
-
'GuzzleHttp\\Exception\\BadResponseException' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Exception/BadResponseException.php',
|
179 |
-
'GuzzleHttp\\Exception\\ClientException' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Exception/ClientException.php',
|
180 |
-
'GuzzleHttp\\Exception\\ConnectException' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Exception/ConnectException.php',
|
181 |
-
'GuzzleHttp\\Exception\\CouldNotRewindStreamException' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Exception/CouldNotRewindStreamException.php',
|
182 |
-
'GuzzleHttp\\Exception\\ParseException' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Exception/ParseException.php',
|
183 |
-
'GuzzleHttp\\Exception\\RequestException' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Exception/RequestException.php',
|
184 |
-
'GuzzleHttp\\Exception\\ServerException' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Exception/ServerException.php',
|
185 |
-
'GuzzleHttp\\Exception\\StateException' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Exception/StateException.php',
|
186 |
-
'GuzzleHttp\\Exception\\TooManyRedirectsException' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Exception/TooManyRedirectsException.php',
|
187 |
-
'GuzzleHttp\\Exception\\TransferException' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Exception/TransferException.php',
|
188 |
-
'GuzzleHttp\\Exception\\XmlParseException' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Exception/XmlParseException.php',
|
189 |
-
'GuzzleHttp\\HasDataTrait' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/HasDataTrait.php',
|
190 |
-
'GuzzleHttp\\Message\\AbstractMessage' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Message/AbstractMessage.php',
|
191 |
-
'GuzzleHttp\\Message\\AppliesHeadersInterface' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Message/AppliesHeadersInterface.php',
|
192 |
-
'GuzzleHttp\\Message\\FutureResponse' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Message/FutureResponse.php',
|
193 |
-
'GuzzleHttp\\Message\\MessageFactory' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Message/MessageFactory.php',
|
194 |
-
'GuzzleHttp\\Message\\MessageFactoryInterface' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Message/MessageFactoryInterface.php',
|
195 |
-
'GuzzleHttp\\Message\\MessageInterface' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Message/MessageInterface.php',
|
196 |
-
'GuzzleHttp\\Message\\MessageParser' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Message/MessageParser.php',
|
197 |
-
'GuzzleHttp\\Message\\Request' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Message/Request.php',
|
198 |
-
'GuzzleHttp\\Message\\RequestInterface' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Message/RequestInterface.php',
|
199 |
-
'GuzzleHttp\\Message\\Response' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Message/Response.php',
|
200 |
-
'GuzzleHttp\\Message\\ResponseInterface' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Message/ResponseInterface.php',
|
201 |
-
'GuzzleHttp\\Mimetypes' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Mimetypes.php',
|
202 |
-
'GuzzleHttp\\Pool' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Pool.php',
|
203 |
-
'GuzzleHttp\\Post\\MultipartBody' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Post/MultipartBody.php',
|
204 |
-
'GuzzleHttp\\Post\\PostBody' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Post/PostBody.php',
|
205 |
-
'GuzzleHttp\\Post\\PostBodyInterface' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Post/PostBodyInterface.php',
|
206 |
-
'GuzzleHttp\\Post\\PostFile' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Post/PostFile.php',
|
207 |
-
'GuzzleHttp\\Post\\PostFileInterface' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Post/PostFileInterface.php',
|
208 |
-
'GuzzleHttp\\Query' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Query.php',
|
209 |
-
'GuzzleHttp\\QueryParser' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/QueryParser.php',
|
210 |
-
'GuzzleHttp\\RequestFsm' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/RequestFsm.php',
|
211 |
-
'GuzzleHttp\\RingBridge' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/RingBridge.php',
|
212 |
-
'GuzzleHttp\\Ring\\Client\\ClientUtils' => __DIR__ . '/..' . '/guzzlehttp/ringphp/src/Client/ClientUtils.php',
|
213 |
-
'GuzzleHttp\\Ring\\Client\\CurlFactory' => __DIR__ . '/..' . '/guzzlehttp/ringphp/src/Client/CurlFactory.php',
|
214 |
-
'GuzzleHttp\\Ring\\Client\\CurlHandler' => __DIR__ . '/..' . '/guzzlehttp/ringphp/src/Client/CurlHandler.php',
|
215 |
-
'GuzzleHttp\\Ring\\Client\\CurlMultiHandler' => __DIR__ . '/..' . '/guzzlehttp/ringphp/src/Client/CurlMultiHandler.php',
|
216 |
-
'GuzzleHttp\\Ring\\Client\\Middleware' => __DIR__ . '/..' . '/guzzlehttp/ringphp/src/Client/Middleware.php',
|
217 |
-
'GuzzleHttp\\Ring\\Client\\MockHandler' => __DIR__ . '/..' . '/guzzlehttp/ringphp/src/Client/MockHandler.php',
|
218 |
-
'GuzzleHttp\\Ring\\Client\\StreamHandler' => __DIR__ . '/..' . '/guzzlehttp/ringphp/src/Client/StreamHandler.php',
|
219 |
-
'GuzzleHttp\\Ring\\Core' => __DIR__ . '/..' . '/guzzlehttp/ringphp/src/Core.php',
|
220 |
-
'GuzzleHttp\\Ring\\Exception\\CancelledException' => __DIR__ . '/..' . '/guzzlehttp/ringphp/src/Exception/CancelledException.php',
|
221 |
-
'GuzzleHttp\\Ring\\Exception\\CancelledFutureAccessException' => __DIR__ . '/..' . '/guzzlehttp/ringphp/src/Exception/CancelledFutureAccessException.php',
|
222 |
-
'GuzzleHttp\\Ring\\Exception\\ConnectException' => __DIR__ . '/..' . '/guzzlehttp/ringphp/src/Exception/ConnectException.php',
|
223 |
-
'GuzzleHttp\\Ring\\Exception\\RingException' => __DIR__ . '/..' . '/guzzlehttp/ringphp/src/Exception/RingException.php',
|
224 |
-
'GuzzleHttp\\Ring\\Future\\BaseFutureTrait' => __DIR__ . '/..' . '/guzzlehttp/ringphp/src/Future/BaseFutureTrait.php',
|
225 |
-
'GuzzleHttp\\Ring\\Future\\CompletedFutureArray' => __DIR__ . '/..' . '/guzzlehttp/ringphp/src/Future/CompletedFutureArray.php',
|
226 |
-
'GuzzleHttp\\Ring\\Future\\CompletedFutureValue' => __DIR__ . '/..' . '/guzzlehttp/ringphp/src/Future/CompletedFutureValue.php',
|
227 |
-
'GuzzleHttp\\Ring\\Future\\FutureArray' => __DIR__ . '/..' . '/guzzlehttp/ringphp/src/Future/FutureArray.php',
|
228 |
-
'GuzzleHttp\\Ring\\Future\\FutureArrayInterface' => __DIR__ . '/..' . '/guzzlehttp/ringphp/src/Future/FutureArrayInterface.php',
|
229 |
-
'GuzzleHttp\\Ring\\Future\\FutureInterface' => __DIR__ . '/..' . '/guzzlehttp/ringphp/src/Future/FutureInterface.php',
|
230 |
-
'GuzzleHttp\\Ring\\Future\\FutureValue' => __DIR__ . '/..' . '/guzzlehttp/ringphp/src/Future/FutureValue.php',
|
231 |
-
'GuzzleHttp\\Ring\\Future\\MagicFutureTrait' => __DIR__ . '/..' . '/guzzlehttp/ringphp/src/Future/MagicFutureTrait.php',
|
232 |
-
'GuzzleHttp\\Stream\\AppendStream' => __DIR__ . '/..' . '/guzzlehttp/streams/src/AppendStream.php',
|
233 |
-
'GuzzleHttp\\Stream\\AsyncReadStream' => __DIR__ . '/..' . '/guzzlehttp/streams/src/AsyncReadStream.php',
|
234 |
-
'GuzzleHttp\\Stream\\BufferStream' => __DIR__ . '/..' . '/guzzlehttp/streams/src/BufferStream.php',
|
235 |
-
'GuzzleHttp\\Stream\\CachingStream' => __DIR__ . '/..' . '/guzzlehttp/streams/src/CachingStream.php',
|
236 |
-
'GuzzleHttp\\Stream\\DroppingStream' => __DIR__ . '/..' . '/guzzlehttp/streams/src/DroppingStream.php',
|
237 |
-
'GuzzleHttp\\Stream\\Exception\\CannotAttachException' => __DIR__ . '/..' . '/guzzlehttp/streams/src/Exception/CannotAttachException.php',
|
238 |
-
'GuzzleHttp\\Stream\\Exception\\SeekException' => __DIR__ . '/..' . '/guzzlehttp/streams/src/Exception/SeekException.php',
|
239 |
-
'GuzzleHttp\\Stream\\FnStream' => __DIR__ . '/..' . '/guzzlehttp/streams/src/FnStream.php',
|
240 |
-
'GuzzleHttp\\Stream\\GuzzleStreamWrapper' => __DIR__ . '/..' . '/guzzlehttp/streams/src/GuzzleStreamWrapper.php',
|
241 |
-
'GuzzleHttp\\Stream\\InflateStream' => __DIR__ . '/..' . '/guzzlehttp/streams/src/InflateStream.php',
|
242 |
-
'GuzzleHttp\\Stream\\LazyOpenStream' => __DIR__ . '/..' . '/guzzlehttp/streams/src/LazyOpenStream.php',
|
243 |
-
'GuzzleHttp\\Stream\\LimitStream' => __DIR__ . '/..' . '/guzzlehttp/streams/src/LimitStream.php',
|
244 |
-
'GuzzleHttp\\Stream\\MetadataStreamInterface' => __DIR__ . '/..' . '/guzzlehttp/streams/src/MetadataStreamInterface.php',
|
245 |
-
'GuzzleHttp\\Stream\\NoSeekStream' => __DIR__ . '/..' . '/guzzlehttp/streams/src/NoSeekStream.php',
|
246 |
-
'GuzzleHttp\\Stream\\NullStream' => __DIR__ . '/..' . '/guzzlehttp/streams/src/NullStream.php',
|
247 |
-
'GuzzleHttp\\Stream\\PumpStream' => __DIR__ . '/..' . '/guzzlehttp/streams/src/PumpStream.php',
|
248 |
-
'GuzzleHttp\\Stream\\Stream' => __DIR__ . '/..' . '/guzzlehttp/streams/src/Stream.php',
|
249 |
-
'GuzzleHttp\\Stream\\StreamDecoratorTrait' => __DIR__ . '/..' . '/guzzlehttp/streams/src/StreamDecoratorTrait.php',
|
250 |
-
'GuzzleHttp\\Stream\\StreamInterface' => __DIR__ . '/..' . '/guzzlehttp/streams/src/StreamInterface.php',
|
251 |
-
'GuzzleHttp\\Stream\\Utils' => __DIR__ . '/..' . '/guzzlehttp/streams/src/Utils.php',
|
252 |
-
'GuzzleHttp\\Subscriber\\Cookie' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Subscriber/Cookie.php',
|
253 |
-
'GuzzleHttp\\Subscriber\\History' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Subscriber/History.php',
|
254 |
-
'GuzzleHttp\\Subscriber\\HttpError' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Subscriber/HttpError.php',
|
255 |
-
'GuzzleHttp\\Subscriber\\Mock' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Subscriber/Mock.php',
|
256 |
-
'GuzzleHttp\\Subscriber\\Prepare' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Subscriber/Prepare.php',
|
257 |
-
'GuzzleHttp\\Subscriber\\Redirect' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Subscriber/Redirect.php',
|
258 |
-
'GuzzleHttp\\ToArrayInterface' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/ToArrayInterface.php',
|
259 |
-
'GuzzleHttp\\Transaction' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Transaction.php',
|
260 |
-
'GuzzleHttp\\UriTemplate' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/UriTemplate.php',
|
261 |
-
'GuzzleHttp\\Url' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Url.php',
|
262 |
-
'GuzzleHttp\\Utils' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Utils.php',
|
263 |
-
'Monolog\\ErrorHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/ErrorHandler.php',
|
264 |
-
'Monolog\\Formatter\\ChromePHPFormatter' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Formatter/ChromePHPFormatter.php',
|
265 |
-
'Monolog\\Formatter\\ElasticaFormatter' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Formatter/ElasticaFormatter.php',
|
266 |
-
'Monolog\\Formatter\\FlowdockFormatter' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Formatter/FlowdockFormatter.php',
|
267 |
-
'Monolog\\Formatter\\FluentdFormatter' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Formatter/FluentdFormatter.php',
|
268 |
-
'Monolog\\Formatter\\FormatterInterface' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Formatter/FormatterInterface.php',
|
269 |
-
'Monolog\\Formatter\\GelfMessageFormatter' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Formatter/GelfMessageFormatter.php',
|
270 |
-
'Monolog\\Formatter\\HtmlFormatter' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Formatter/HtmlFormatter.php',
|
271 |
-
'Monolog\\Formatter\\JsonFormatter' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Formatter/JsonFormatter.php',
|
272 |
-
'Monolog\\Formatter\\LineFormatter' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Formatter/LineFormatter.php',
|
273 |
-
'Monolog\\Formatter\\LogglyFormatter' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Formatter/LogglyFormatter.php',
|
274 |
-
'Monolog\\Formatter\\LogstashFormatter' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Formatter/LogstashFormatter.php',
|
275 |
-
'Monolog\\Formatter\\MongoDBFormatter' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Formatter/MongoDBFormatter.php',
|
276 |
-
'Monolog\\Formatter\\NormalizerFormatter' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Formatter/NormalizerFormatter.php',
|
277 |
-
'Monolog\\Formatter\\ScalarFormatter' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Formatter/ScalarFormatter.php',
|
278 |
-
'Monolog\\Formatter\\WildfireFormatter' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Formatter/WildfireFormatter.php',
|
279 |
-
'Monolog\\Handler\\AbstractHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/AbstractHandler.php',
|
280 |
-
'Monolog\\Handler\\AbstractProcessingHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/AbstractProcessingHandler.php',
|
281 |
-
'Monolog\\Handler\\AbstractSyslogHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/AbstractSyslogHandler.php',
|
282 |
-
'Monolog\\Handler\\AmqpHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/AmqpHandler.php',
|
283 |
-
'Monolog\\Handler\\BrowserConsoleHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/BrowserConsoleHandler.php',
|
284 |
-
'Monolog\\Handler\\BufferHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/BufferHandler.php',
|
285 |
-
'Monolog\\Handler\\ChromePHPHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/ChromePHPHandler.php',
|
286 |
-
'Monolog\\Handler\\CouchDBHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/CouchDBHandler.php',
|
287 |
-
'Monolog\\Handler\\CubeHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/CubeHandler.php',
|
288 |
-
'Monolog\\Handler\\Curl\\Util' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/Curl/Util.php',
|
289 |
-
'Monolog\\Handler\\DeduplicationHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/DeduplicationHandler.php',
|
290 |
-
'Monolog\\Handler\\DoctrineCouchDBHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/DoctrineCouchDBHandler.php',
|
291 |
-
'Monolog\\Handler\\DynamoDbHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/DynamoDbHandler.php',
|
292 |
-
'Monolog\\Handler\\ElasticSearchHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/ElasticSearchHandler.php',
|
293 |
-
'Monolog\\Handler\\ErrorLogHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/ErrorLogHandler.php',
|
294 |
-
'Monolog\\Handler\\FilterHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/FilterHandler.php',
|
295 |
-
'Monolog\\Handler\\FingersCrossedHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/FingersCrossedHandler.php',
|
296 |
-
'Monolog\\Handler\\FingersCrossed\\ActivationStrategyInterface' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/FingersCrossed/ActivationStrategyInterface.php',
|
297 |
-
'Monolog\\Handler\\FingersCrossed\\ChannelLevelActivationStrategy' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/FingersCrossed/ChannelLevelActivationStrategy.php',
|
298 |
-
'Monolog\\Handler\\FingersCrossed\\ErrorLevelActivationStrategy' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/FingersCrossed/ErrorLevelActivationStrategy.php',
|
299 |
-
'Monolog\\Handler\\FirePHPHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/FirePHPHandler.php',
|
300 |
-
'Monolog\\Handler\\FleepHookHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/FleepHookHandler.php',
|
301 |
-
'Monolog\\Handler\\FlowdockHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/FlowdockHandler.php',
|
302 |
-
'Monolog\\Handler\\GelfHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/GelfHandler.php',
|
303 |
-
'Monolog\\Handler\\GroupHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/GroupHandler.php',
|
304 |
-
'Monolog\\Handler\\HandlerInterface' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/HandlerInterface.php',
|
305 |
-
'Monolog\\Handler\\HandlerWrapper' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/HandlerWrapper.php',
|
306 |
-
'Monolog\\Handler\\HipChatHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/HipChatHandler.php',
|
307 |
-
'Monolog\\Handler\\IFTTTHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/IFTTTHandler.php',
|
308 |
-
'Monolog\\Handler\\InsightOpsHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/InsightOpsHandler.php',
|
309 |
-
'Monolog\\Handler\\LogEntriesHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/LogEntriesHandler.php',
|
310 |
-
'Monolog\\Handler\\LogglyHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/LogglyHandler.php',
|
311 |
-
'Monolog\\Handler\\MailHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/MailHandler.php',
|
312 |
-
'Monolog\\Handler\\MandrillHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/MandrillHandler.php',
|
313 |
-
'Monolog\\Handler\\MissingExtensionException' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/MissingExtensionException.php',
|
314 |
-
'Monolog\\Handler\\MongoDBHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/MongoDBHandler.php',
|
315 |
-
'Monolog\\Handler\\NativeMailerHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/NativeMailerHandler.php',
|
316 |
-
'Monolog\\Handler\\NewRelicHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/NewRelicHandler.php',
|
317 |
-
'Monolog\\Handler\\NullHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/NullHandler.php',
|
318 |
-
'Monolog\\Handler\\PHPConsoleHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/PHPConsoleHandler.php',
|
319 |
-
'Monolog\\Handler\\PsrHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/PsrHandler.php',
|
320 |
-
'Monolog\\Handler\\PushoverHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/PushoverHandler.php',
|
321 |
-
'Monolog\\Handler\\RavenHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/RavenHandler.php',
|
322 |
-
'Monolog\\Handler\\RedisHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/RedisHandler.php',
|
323 |
-
'Monolog\\Handler\\RollbarHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/RollbarHandler.php',
|
324 |
-
'Monolog\\Handler\\RotatingFileHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/RotatingFileHandler.php',
|
325 |
-
'Monolog\\Handler\\SamplingHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/SamplingHandler.php',
|
326 |
-
'Monolog\\Handler\\SlackHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/SlackHandler.php',
|
327 |
-
'Monolog\\Handler\\SlackWebhookHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/SlackWebhookHandler.php',
|
328 |
-
'Monolog\\Handler\\Slack\\SlackRecord' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/Slack/SlackRecord.php',
|
329 |
-
'Monolog\\Handler\\SlackbotHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/SlackbotHandler.php',
|
330 |
-
'Monolog\\Handler\\SocketHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/SocketHandler.php',
|
331 |
-
'Monolog\\Handler\\StreamHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/StreamHandler.php',
|
332 |
-
'Monolog\\Handler\\SwiftMailerHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/SwiftMailerHandler.php',
|
333 |
-
'Monolog\\Handler\\SyslogHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/SyslogHandler.php',
|
334 |
-
'Monolog\\Handler\\SyslogUdpHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/SyslogUdpHandler.php',
|
335 |
-
'Monolog\\Handler\\SyslogUdp\\UdpSocket' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/SyslogUdp/UdpSocket.php',
|
336 |
-
'Monolog\\Handler\\TestHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/TestHandler.php',
|
337 |
-
'Monolog\\Handler\\WhatFailureGroupHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/WhatFailureGroupHandler.php',
|
338 |
-
'Monolog\\Handler\\ZendMonitorHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/ZendMonitorHandler.php',
|
339 |
-
'Monolog\\Logger' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Logger.php',
|
340 |
-
'Monolog\\Processor\\GitProcessor' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Processor/GitProcessor.php',
|
341 |
-
'Monolog\\Processor\\IntrospectionProcessor' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Processor/IntrospectionProcessor.php',
|
342 |
-
'Monolog\\Processor\\MemoryPeakUsageProcessor' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Processor/MemoryPeakUsageProcessor.php',
|
343 |
-
'Monolog\\Processor\\MemoryProcessor' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Processor/MemoryProcessor.php',
|
344 |
-
'Monolog\\Processor\\MemoryUsageProcessor' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Processor/MemoryUsageProcessor.php',
|
345 |
-
'Monolog\\Processor\\MercurialProcessor' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Processor/MercurialProcessor.php',
|
346 |
-
'Monolog\\Processor\\ProcessIdProcessor' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Processor/ProcessIdProcessor.php',
|
347 |
-
'Monolog\\Processor\\ProcessorInterface' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Processor/ProcessorInterface.php',
|
348 |
-
'Monolog\\Processor\\PsrLogMessageProcessor' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Processor/PsrLogMessageProcessor.php',
|
349 |
-
'Monolog\\Processor\\TagProcessor' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Processor/TagProcessor.php',
|
350 |
-
'Monolog\\Processor\\UidProcessor' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Processor/UidProcessor.php',
|
351 |
-
'Monolog\\Processor\\WebProcessor' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Processor/WebProcessor.php',
|
352 |
-
'Monolog\\Registry' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Registry.php',
|
353 |
-
'Monolog\\ResettableInterface' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/ResettableInterface.php',
|
354 |
-
'Monolog\\SignalHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/SignalHandler.php',
|
355 |
-
'Monolog\\Utils' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Utils.php',
|
356 |
-
'Psr\\Log\\AbstractLogger' => __DIR__ . '/..' . '/psr/log/Psr/Log/AbstractLogger.php',
|
357 |
-
'Psr\\Log\\InvalidArgumentException' => __DIR__ . '/..' . '/psr/log/Psr/Log/InvalidArgumentException.php',
|
358 |
-
'Psr\\Log\\LogLevel' => __DIR__ . '/..' . '/psr/log/Psr/Log/LogLevel.php',
|
359 |
-
'Psr\\Log\\LoggerAwareInterface' => __DIR__ . '/..' . '/psr/log/Psr/Log/LoggerAwareInterface.php',
|
360 |
-
'Psr\\Log\\LoggerAwareTrait' => __DIR__ . '/..' . '/psr/log/Psr/Log/LoggerAwareTrait.php',
|
361 |
-
'Psr\\Log\\LoggerInterface' => __DIR__ . '/..' . '/psr/log/Psr/Log/LoggerInterface.php',
|
362 |
-
'Psr\\Log\\LoggerTrait' => __DIR__ . '/..' . '/psr/log/Psr/Log/LoggerTrait.php',
|
363 |
-
'Psr\\Log\\NullLogger' => __DIR__ . '/..' . '/psr/log/Psr/Log/NullLogger.php',
|
364 |
-
'Psr\\Log\\Test\\DummyTest' => __DIR__ . '/..' . '/psr/log/Psr/Log/Test/LoggerInterfaceTest.php',
|
365 |
-
'Psr\\Log\\Test\\LoggerInterfaceTest' => __DIR__ . '/..' . '/psr/log/Psr/Log/Test/LoggerInterfaceTest.php',
|
366 |
-
'Psr\\Log\\Test\\TestLogger' => __DIR__ . '/..' . '/psr/log/Psr/Log/Test/TestLogger.php',
|
367 |
-
'ReCaptcha\\ReCaptcha' => __DIR__ . '/..' . '/google/recaptcha/src/ReCaptcha/ReCaptcha.php',
|
368 |
-
'ReCaptcha\\RequestMethod' => __DIR__ . '/..' . '/google/recaptcha/src/ReCaptcha/RequestMethod.php',
|
369 |
-
'ReCaptcha\\RequestMethod\\Curl' => __DIR__ . '/..' . '/google/recaptcha/src/ReCaptcha/RequestMethod/Curl.php',
|
370 |
-
'ReCaptcha\\RequestMethod\\CurlPost' => __DIR__ . '/..' . '/google/recaptcha/src/ReCaptcha/RequestMethod/CurlPost.php',
|
371 |
-
'ReCaptcha\\RequestMethod\\Post' => __DIR__ . '/..' . '/google/recaptcha/src/ReCaptcha/RequestMethod/Post.php',
|
372 |
-
'ReCaptcha\\RequestMethod\\Socket' => __DIR__ . '/..' . '/google/recaptcha/src/ReCaptcha/RequestMethod/Socket.php',
|
373 |
-
'ReCaptcha\\RequestMethod\\SocketPost' => __DIR__ . '/..' . '/google/recaptcha/src/ReCaptcha/RequestMethod/SocketPost.php',
|
374 |
-
'ReCaptcha\\RequestParameters' => __DIR__ . '/..' . '/google/recaptcha/src/ReCaptcha/RequestParameters.php',
|
375 |
-
'ReCaptcha\\Response' => __DIR__ . '/..' . '/google/recaptcha/src/ReCaptcha/Response.php',
|
376 |
-
'React\\Promise\\CancellablePromiseInterface' => __DIR__ . '/..' . '/react/promise/src/CancellablePromiseInterface.php',
|
377 |
-
'React\\Promise\\CancellationQueue' => __DIR__ . '/..' . '/react/promise/src/CancellationQueue.php',
|
378 |
-
'React\\Promise\\Deferred' => __DIR__ . '/..' . '/react/promise/src/Deferred.php',
|
379 |
-
'React\\Promise\\Exception\\LengthException' => __DIR__ . '/..' . '/react/promise/src/Exception/LengthException.php',
|
380 |
-
'React\\Promise\\ExtendedPromiseInterface' => __DIR__ . '/..' . '/react/promise/src/ExtendedPromiseInterface.php',
|
381 |
-
'React\\Promise\\FulfilledPromise' => __DIR__ . '/..' . '/react/promise/src/FulfilledPromise.php',
|
382 |
-
'React\\Promise\\LazyPromise' => __DIR__ . '/..' . '/react/promise/src/LazyPromise.php',
|
383 |
-
'React\\Promise\\Promise' => __DIR__ . '/..' . '/react/promise/src/Promise.php',
|
384 |
-
'React\\Promise\\PromiseInterface' => __DIR__ . '/..' . '/react/promise/src/PromiseInterface.php',
|
385 |
-
'React\\Promise\\PromisorInterface' => __DIR__ . '/..' . '/react/promise/src/PromisorInterface.php',
|
386 |
-
'React\\Promise\\RejectedPromise' => __DIR__ . '/..' . '/react/promise/src/RejectedPromise.php',
|
387 |
-
'React\\Promise\\UnhandledRejectionException' => __DIR__ . '/..' . '/react/promise/src/UnhandledRejectionException.php',
|
388 |
-
);
|
389 |
-
|
390 |
public static function getInitializer(ClassLoader $loader)
|
391 |
{
|
392 |
return \Closure::bind(function () use ($loader) {
|
393 |
-
$loader->prefixLengthsPsr4 =
|
394 |
-
$loader->prefixDirsPsr4 =
|
395 |
-
$loader->prefixesPsr0 =
|
396 |
-
$loader->classMap = ComposerStaticInitb96901d3471276ce8fb7d93b66af66b6::$classMap;
|
397 |
|
398 |
}, null, ClassLoader::class);
|
399 |
}
|
4 |
|
5 |
namespace Composer\Autoload;
|
6 |
|
7 |
+
class ComposerStaticInitf2903cb4a158f118c169e3c417a0d958
|
8 |
{
|
9 |
public static $files = array (
|
10 |
'ad155f8f1cf0d418fe49e248db8c661b' => __DIR__ . '/..' . '/react/promise/src/functions_include.php',
|
81 |
),
|
82 |
);
|
83 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
84 |
public static function getInitializer(ClassLoader $loader)
|
85 |
{
|
86 |
return \Closure::bind(function () use ($loader) {
|
87 |
+
$loader->prefixLengthsPsr4 = ComposerStaticInitf2903cb4a158f118c169e3c417a0d958::$prefixLengthsPsr4;
|
88 |
+
$loader->prefixDirsPsr4 = ComposerStaticInitf2903cb4a158f118c169e3c417a0d958::$prefixDirsPsr4;
|
89 |
+
$loader->prefixesPsr0 = ComposerStaticInitf2903cb4a158f118c169e3c417a0d958::$prefixesPsr0;
|
|
|
90 |
|
91 |
}, null, ClassLoader::class);
|
92 |
}
|
vendor/constantcontact/constantcontact/.travis.yml
DELETED
@@ -1,20 +0,0 @@
|
|
1 |
-
language: php
|
2 |
-
|
3 |
-
php:
|
4 |
-
- 5.4
|
5 |
-
- 5.5
|
6 |
-
- 5.6
|
7 |
-
- hhvm
|
8 |
-
|
9 |
-
env:
|
10 |
-
- GUZZLE_VERSION="5.1.0"
|
11 |
-
|
12 |
-
before_script: composer install
|
13 |
-
|
14 |
-
install:
|
15 |
-
- composer require guzzlehttp/guzzle:${GUZZLE_VERSION}
|
16 |
-
|
17 |
-
matrix:
|
18 |
-
allow_failures:
|
19 |
-
- php: hhvm
|
20 |
-
fast_finish: true
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/constantcontact/constantcontact/composer.json
DELETED
@@ -1,28 +0,0 @@
|
|
1 |
-
{
|
2 |
-
"name": "constantcontact/constantcontact",
|
3 |
-
"type": "library",
|
4 |
-
"description": "Constant Contact PHP SDK for v2",
|
5 |
-
"keywords": ["constantcontact", "ctct", "email marketing", "constant contact"],
|
6 |
-
"homepage": "http://developer.constantcontact.com",
|
7 |
-
"license": "MIT",
|
8 |
-
"require": {
|
9 |
-
"php": ">=5.4.0",
|
10 |
-
"ext-curl": "*",
|
11 |
-
"guzzlehttp/guzzle": "^5.1.0"
|
12 |
-
},
|
13 |
-
"require-dev": {
|
14 |
-
"phpunit/phpunit": "4.4.1"
|
15 |
-
},
|
16 |
-
"authors": [
|
17 |
-
{
|
18 |
-
"name": "Constant Contact Web Services",
|
19 |
-
"email": "webservices@constantcontact.com",
|
20 |
-
"homepage": "http://developer.constantcontact.com"
|
21 |
-
}
|
22 |
-
],
|
23 |
-
"autoload": {
|
24 |
-
"psr-0": {
|
25 |
-
"Ctct": "src"
|
26 |
-
}
|
27 |
-
}
|
28 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/defuse/php-encryption/composer.json
DELETED
@@ -1,35 +0,0 @@
|
|
1 |
-
{
|
2 |
-
"name": "defuse/php-encryption",
|
3 |
-
"description": "Secure PHP Encryption Library",
|
4 |
-
"license": "MIT",
|
5 |
-
"keywords": ["security", "encryption", "AES", "openssl", "cipher", "cryptography", "symmetric key cryptography", "crypto", "encrypt", "authenticated encryption"],
|
6 |
-
"authors": [
|
7 |
-
{
|
8 |
-
"name": "Taylor Hornby",
|
9 |
-
"email": "taylor@defuse.ca",
|
10 |
-
"homepage": "https://defuse.ca/"
|
11 |
-
},
|
12 |
-
{
|
13 |
-
"name": "Scott Arciszewski",
|
14 |
-
"email": "info@paragonie.com",
|
15 |
-
"homepage": "https://paragonie.com"
|
16 |
-
}
|
17 |
-
],
|
18 |
-
"autoload": {
|
19 |
-
"psr-4": {
|
20 |
-
"Defuse\\Crypto\\": "src"
|
21 |
-
}
|
22 |
-
},
|
23 |
-
"require": {
|
24 |
-
"paragonie/random_compat": ">= 2",
|
25 |
-
"ext-openssl": "*",
|
26 |
-
"php": ">=5.4.0"
|
27 |
-
},
|
28 |
-
"require-dev": {
|
29 |
-
"phpunit/phpunit": "^4|^5",
|
30 |
-
"nikic/php-parser": "^2.0|^3.0|^4.0"
|
31 |
-
},
|
32 |
-
"bin": [
|
33 |
-
"bin/generate-defuse-key"
|
34 |
-
]
|
35 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/google/recaptcha/.travis.yml
DELETED
@@ -1,33 +0,0 @@
|
|
1 |
-
dist: trusty
|
2 |
-
|
3 |
-
language: php
|
4 |
-
|
5 |
-
sudo: false
|
6 |
-
|
7 |
-
php:
|
8 |
-
- '5.5'
|
9 |
-
- '5.6'
|
10 |
-
- '7.0'
|
11 |
-
- '7.1'
|
12 |
-
- '7.2'
|
13 |
-
- '7.3'
|
14 |
-
|
15 |
-
before_script:
|
16 |
-
- composer install
|
17 |
-
- phpenv version-name | grep ^5.[34] && echo "extension=apc.so" >> ~/.phpenv/versions/$(phpenv version-name)/etc/php.ini ; true
|
18 |
-
- phpenv version-name | grep ^5.[34] && echo "apc.enable_cli=1" >> ~/.phpenv/versions/$(phpenv version-name)/etc/php.ini ; true
|
19 |
-
|
20 |
-
script:
|
21 |
-
- mkdir -p build/logs
|
22 |
-
- composer run-script lint
|
23 |
-
- composer run-script test
|
24 |
-
|
25 |
-
after_success:
|
26 |
-
- travis_retry php vendor/bin/php-coveralls
|
27 |
-
|
28 |
-
cache:
|
29 |
-
directories:
|
30 |
-
- "$HOME/.composer/cache/files"
|
31 |
-
|
32 |
-
git:
|
33 |
-
depth: 5
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/google/recaptcha/composer.json
DELETED
@@ -1,39 +0,0 @@
|
|
1 |
-
{
|
2 |
-
"name": "google/recaptcha",
|
3 |
-
"description": "Client library for reCAPTCHA, a free service that protects websites from spam and abuse.",
|
4 |
-
"type": "library",
|
5 |
-
"keywords": ["recaptcha", "captcha", "spam", "abuse"],
|
6 |
-
"homepage": "https://www.google.com/recaptcha/",
|
7 |
-
"license": "BSD-3-Clause",
|
8 |
-
"support": {
|
9 |
-
"forum": "https://groups.google.com/forum/#!forum/recaptcha",
|
10 |
-
"source": "https://github.com/google/recaptcha"
|
11 |
-
},
|
12 |
-
"require": {
|
13 |
-
"php": ">=5.5"
|
14 |
-
},
|
15 |
-
"require-dev": {
|
16 |
-
"phpunit/phpunit": "^4.8.36|^5.7.27|^6.59|^7.5.11",
|
17 |
-
"friendsofphp/php-cs-fixer": "^2.2.20|^2.15",
|
18 |
-
"php-coveralls/php-coveralls": "^2.1"
|
19 |
-
},
|
20 |
-
"autoload": {
|
21 |
-
"psr-4": {
|
22 |
-
"ReCaptcha\\": "src/ReCaptcha"
|
23 |
-
}
|
24 |
-
},
|
25 |
-
"extra": {
|
26 |
-
"branch-alias": {
|
27 |
-
"dev-master": "1.2.x-dev"
|
28 |
-
}
|
29 |
-
},
|
30 |
-
"scripts": {
|
31 |
-
"lint": "vendor/bin/php-cs-fixer -vvv fix --using-cache=no --dry-run .",
|
32 |
-
"lint-fix": "vendor/bin/php-cs-fixer -vvv fix --using-cache=no .",
|
33 |
-
"test": "vendor/bin/phpunit --colors=always",
|
34 |
-
"serve-examples": "@php -S localhost:8080 -t examples"
|
35 |
-
},
|
36 |
-
"config": {
|
37 |
-
"process-timeout": 0
|
38 |
-
}
|
39 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/google/recaptcha/phpunit.xml.dist
DELETED
@@ -1,20 +0,0 @@
|
|
1 |
-
<?xml version="1.0" encoding="UTF-8"?>
|
2 |
-
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
3 |
-
xsi:noNamespaceSchemaLocation="http://schema.phpunit.de/4.4/phpunit.xsd"
|
4 |
-
colors="true"
|
5 |
-
verbose="true"
|
6 |
-
bootstrap="src/autoload.php">
|
7 |
-
<testsuites>
|
8 |
-
<testsuite name="reCAPTCHA Test Suite">
|
9 |
-
<directory>tests/ReCaptcha/</directory>
|
10 |
-
</testsuite>
|
11 |
-
</testsuites>
|
12 |
-
<filter>
|
13 |
-
<whitelist>
|
14 |
-
<directory suffix=".php">src/ReCaptcha/</directory>
|
15 |
-
</whitelist>
|
16 |
-
</filter>
|
17 |
-
<logging>
|
18 |
-
<log type="coverage-clover" target="build/logs/clover.xml"/>
|
19 |
-
</logging>
|
20 |
-
</phpunit>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/guzzlehttp/guzzle/.travis.yml
DELETED
@@ -1,52 +0,0 @@
|
|
1 |
-
language: php
|
2 |
-
|
3 |
-
php:
|
4 |
-
- 5.4
|
5 |
-
- 5.5
|
6 |
-
- 5.6
|
7 |
-
- 7.0
|
8 |
-
- 7.1
|
9 |
-
- 7.2
|
10 |
-
- hhvm
|
11 |
-
- nightly
|
12 |
-
|
13 |
-
env:
|
14 |
-
global:
|
15 |
-
- TEST_COMMAND="composer test"
|
16 |
-
|
17 |
-
before_script:
|
18 |
-
- curl --version
|
19 |
-
- pear config-set php_ini ~/.phpenv/versions/`php -r 'echo phpversion();'`/etc/php.ini || echo 'Error modifying PEAR'
|
20 |
-
- pecl install uri_template || echo 'Error installing uri_template'
|
21 |
-
# To be removed when this issue will be resolved: https://github.com/composer/composer/issues/5355
|
22 |
-
- if [[ "$COMPOSER_FLAGS" == *"--prefer-lowest"* ]]; then travis_retry composer update --prefer-dist --no-interaction --prefer-stable --quiet; fi
|
23 |
-
- travis_retry composer update ${COMPOSER_FLAGS} --prefer-dist --no-interaction
|
24 |
-
- ~/.nvm/nvm.sh install v0.6.14
|
25 |
-
- ~/.nvm/nvm.sh run v0.6.14
|
26 |
-
|
27 |
-
script: $TEST_COMMAND
|
28 |
-
|
29 |
-
matrix:
|
30 |
-
allow_failures:
|
31 |
-
- php: hhvm
|
32 |
-
- php: nightly
|
33 |
-
fast_finish: true
|
34 |
-
include:
|
35 |
-
- php: 5.4
|
36 |
-
env: COMPOSER_FLAGS="--prefer-stable --prefer-lowest" COVERAGE=true TEST_COMMAND="composer test-ci"
|
37 |
-
|
38 |
-
before_deploy:
|
39 |
-
- make package
|
40 |
-
|
41 |
-
deploy:
|
42 |
-
provider: releases
|
43 |
-
api_key:
|
44 |
-
secure: UpypqlYgsU68QT/x40YzhHXvzWjFwCNo9d+G8KAdm7U9+blFfcWhV1aMdzugvPMl6woXgvJj7qHq5tAL4v6oswCORhpSBfLgOQVFaica5LiHsvWlAedOhxGmnJqMTwuepjBCxXhs3+I8Kof1n4oUL9gKytXjOVCX/f7XU1HiinU=
|
45 |
-
file:
|
46 |
-
- build/artifacts/guzzle.phar
|
47 |
-
- build/artifacts/guzzle.zip
|
48 |
-
on:
|
49 |
-
repo: guzzle/guzzle
|
50 |
-
tags: true
|
51 |
-
all_branches: true
|
52 |
-
php: 5.4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/guzzlehttp/guzzle/CHANGELOG.md
DELETED
@@ -1,1071 +0,0 @@
|
|
1 |
-
# CHANGELOG
|
2 |
-
|
3 |
-
## 5.3.3 - 2018-07-31
|
4 |
-
|
5 |
-
* Fix bug parsing 0 epoch expiry times
|
6 |
-
* Fix PHP 7.3 compatibility
|
7 |
-
|
8 |
-
## 5.3.2 - 2018-01-15
|
9 |
-
|
10 |
-
* Improve tests
|
11 |
-
* Fix react promise dependency
|
12 |
-
* Fix PHP 7 compatibility
|
13 |
-
|
14 |
-
## 5.3.1 - 2016-07-18
|
15 |
-
|
16 |
-
* Address HTTP_PROXY security vulnerability, CVE-2016-5385:
|
17 |
-
https://httpoxy.org/
|
18 |
-
* Event name fix: https://github.com/guzzle/guzzle/commit/fcae91ff31de41e312fe113ec3acbcda31b2622e
|
19 |
-
* Response header case sensitivity fix: https://github.com/guzzle/guzzle/commit/043eeadf20ee40ddc6712faee4d3957a91f2b041
|
20 |
-
|
21 |
-
## 5.3.0 - 2015-05-19
|
22 |
-
|
23 |
-
* Mock now supports `save_to`
|
24 |
-
* Marked `AbstractRequestEvent::getTransaction()` as public.
|
25 |
-
* Fixed a bug in which multiple headers using different casing would overwrite
|
26 |
-
previous headers in the associative array.
|
27 |
-
* Added `Utils::getDefaultHandler()`
|
28 |
-
* Marked `GuzzleHttp\Client::getDefaultUserAgent` as deprecated.
|
29 |
-
* URL scheme is now always lowercased.
|
30 |
-
|
31 |
-
## 5.2.0 - 2015-01-27
|
32 |
-
|
33 |
-
* Added `AppliesHeadersInterface` to make applying headers to a request based
|
34 |
-
on the body more generic and not specific to `PostBodyInterface`.
|
35 |
-
* Reduced the number of stack frames needed to send requests.
|
36 |
-
* Nested futures are now resolved in the client rather than the RequestFsm
|
37 |
-
* Finishing state transitions is now handled in the RequestFsm rather than the
|
38 |
-
RingBridge.
|
39 |
-
* Added a guard in the Pool class to not use recursion for request retries.
|
40 |
-
|
41 |
-
## 5.1.0 - 2014-12-19
|
42 |
-
|
43 |
-
* Pool class no longer uses recursion when a request is intercepted.
|
44 |
-
* The size of a Pool can now be dynamically adjusted using a callback.
|
45 |
-
See https://github.com/guzzle/guzzle/pull/943.
|
46 |
-
* Setting a request option to `null` when creating a request with a client will
|
47 |
-
ensure that the option is not set. This allows you to overwrite default
|
48 |
-
request options on a per-request basis.
|
49 |
-
See https://github.com/guzzle/guzzle/pull/937.
|
50 |
-
* Added the ability to limit which protocols are allowed for redirects by
|
51 |
-
specifying a `protocols` array in the `allow_redirects` request option.
|
52 |
-
* Nested futures due to retries are now resolved when waiting for synchronous
|
53 |
-
responses. See https://github.com/guzzle/guzzle/pull/947.
|
54 |
-
* `"0"` is now an allowed URI path. See
|
55 |
-
https://github.com/guzzle/guzzle/pull/935.
|
56 |
-
* `Query` no longer typehints on the `$query` argument in the constructor,
|
57 |
-
allowing for strings and arrays.
|
58 |
-
* Exceptions thrown in the `end` event are now correctly wrapped with Guzzle
|
59 |
-
specific exceptions if necessary.
|
60 |
-
|
61 |
-
## 5.0.3 - 2014-11-03
|
62 |
-
|
63 |
-
This change updates query strings so that they are treated as un-encoded values
|
64 |
-
by default where the value represents an un-encoded value to send over the
|
65 |
-
wire. A Query object then encodes the value before sending over the wire. This
|
66 |
-
means that even value query string values (e.g., ":") are url encoded. This
|
67 |
-
makes the Query class match PHP's http_build_query function. However, if you
|
68 |
-
want to send requests over the wire using valid query string characters that do
|
69 |
-
not need to be encoded, then you can provide a string to Url::setQuery() and
|
70 |
-
pass true as the second argument to specify that the query string is a raw
|
71 |
-
string that should not be parsed or encoded (unless a call to getQuery() is
|
72 |
-
subsequently made, forcing the query-string to be converted into a Query
|
73 |
-
object).
|
74 |
-
|
75 |
-
## 5.0.2 - 2014-10-30
|
76 |
-
|
77 |
-
* Added a trailing `\r\n` to multipart/form-data payloads. See
|
78 |
-
https://github.com/guzzle/guzzle/pull/871
|
79 |
-
* Added a `GuzzleHttp\Pool::send()` convenience method to match the docs.
|
80 |
-
* Status codes are now returned as integers. See
|
81 |
-
https://github.com/guzzle/guzzle/issues/881
|
82 |
-
* No longer overwriting an existing `application/x-www-form-urlencoded` header
|
83 |
-
when sending POST requests, allowing for customized headers. See
|
84 |
-
https://github.com/guzzle/guzzle/issues/877
|
85 |
-
* Improved path URL serialization.
|
86 |
-
|
87 |
-
* No longer double percent-encoding characters in the path or query string if
|
88 |
-
they are already encoded.
|
89 |
-
* Now properly encoding the supplied path to a URL object, instead of only
|
90 |
-
encoding ' ' and '?'.
|
91 |
-
* Note: This has been changed in 5.0.3 to now encode query string values by
|
92 |
-
default unless the `rawString` argument is provided when setting the query
|
93 |
-
string on a URL: Now allowing many more characters to be present in the
|
94 |
-
query string without being percent encoded. See http://tools.ietf.org/html/rfc3986#appendix-A
|
95 |
-
|
96 |
-
## 5.0.1 - 2014-10-16
|
97 |
-
|
98 |
-
Bugfix release.
|
99 |
-
|
100 |
-
* Fixed an issue where connection errors still returned response object in
|
101 |
-
error and end events event though the response is unusable. This has been
|
102 |
-
corrected so that a response is not returned in the `getResponse` method of
|
103 |
-
these events if the response did not complete. https://github.com/guzzle/guzzle/issues/867
|
104 |
-
* Fixed an issue where transfer statistics were not being populated in the
|
105 |
-
RingBridge. https://github.com/guzzle/guzzle/issues/866
|
106 |
-
|
107 |
-
## 5.0.0 - 2014-10-12
|
108 |
-
|
109 |
-
Adding support for non-blocking responses and some minor API cleanup.
|
110 |
-
|
111 |
-
### New Features
|
112 |
-
|
113 |
-
* Added support for non-blocking responses based on `guzzlehttp/guzzle-ring`.
|
114 |
-
* Added a public API for creating a default HTTP adapter.
|
115 |
-
* Updated the redirect plugin to be non-blocking so that redirects are sent
|
116 |
-
concurrently. Other plugins like this can now be updated to be non-blocking.
|
117 |
-
* Added a "progress" event so that you can get upload and download progress
|
118 |
-
events.
|
119 |
-
* Added `GuzzleHttp\Pool` which implements FutureInterface and transfers
|
120 |
-
requests concurrently using a capped pool size as efficiently as possible.
|
121 |
-
* Added `hasListeners()` to EmitterInterface.
|
122 |
-
* Removed `GuzzleHttp\ClientInterface::sendAll` and marked
|
123 |
-
`GuzzleHttp\Client::sendAll` as deprecated (it's still there, just not the
|
124 |
-
recommended way).
|
125 |
-
|
126 |
-
### Breaking changes
|
127 |
-
|
128 |
-
The breaking changes in this release are relatively minor. The biggest thing to
|
129 |
-
look out for is that request and response objects no longer implement fluent
|
130 |
-
interfaces.
|
131 |
-
|
132 |
-
* Removed the fluent interfaces (i.e., `return $this`) from requests,
|
133 |
-
responses, `GuzzleHttp\Collection`, `GuzzleHttp\Url`,
|
134 |
-
`GuzzleHttp\Query`, `GuzzleHttp\Post\PostBody`, and
|
135 |
-
`GuzzleHttp\Cookie\SetCookie`. This blog post provides a good outline of
|
136 |
-
why I did this: http://ocramius.github.io/blog/fluent-interfaces-are-evil/.
|
137 |
-
This also makes the Guzzle message interfaces compatible with the current
|
138 |
-
PSR-7 message proposal.
|
139 |
-
* Removed "functions.php", so that Guzzle is truly PSR-4 compliant. Except
|
140 |
-
for the HTTP request functions from function.php, these functions are now
|
141 |
-
implemented in `GuzzleHttp\Utils` using camelCase. `GuzzleHttp\json_decode`
|
142 |
-
moved to `GuzzleHttp\Utils::jsonDecode`. `GuzzleHttp\get_path` moved to
|
143 |
-
`GuzzleHttp\Utils::getPath`. `GuzzleHttp\set_path` moved to
|
144 |
-
`GuzzleHttp\Utils::setPath`. `GuzzleHttp\batch` should now be
|
145 |
-
`GuzzleHttp\Pool::batch`, which returns an `objectStorage`. Using functions.php
|
146 |
-
caused problems for many users: they aren't PSR-4 compliant, require an
|
147 |
-
explicit include, and needed an if-guard to ensure that the functions are not
|
148 |
-
declared multiple times.
|
149 |
-
* Rewrote adapter layer.
|
150 |
-
* Removing all classes from `GuzzleHttp\Adapter`, these are now
|
151 |
-
implemented as callables that are stored in `GuzzleHttp\Ring\Client`.
|
152 |
-
* Removed the concept of "parallel adapters". Sending requests serially or
|
153 |
-
concurrently is now handled using a single adapter.
|
154 |
-
* Moved `GuzzleHttp\Adapter\Transaction` to `GuzzleHttp\Transaction`. The
|
155 |
-
Transaction object now exposes the request, response, and client as public
|
156 |
-
properties. The getters and setters have been removed.
|
157 |
-
* Removed the "headers" event. This event was only useful for changing the
|
158 |
-
body a response once the headers of the response were known. You can implement
|
159 |
-
a similar behavior in a number of ways. One example might be to use a
|
160 |
-
FnStream that has access to the transaction being sent. For example, when the
|
161 |
-
first byte is written, you could check if the response headers match your
|
162 |
-
expectations, and if so, change the actual stream body that is being
|
163 |
-
written to.
|
164 |
-
* Removed the `asArray` parameter from
|
165 |
-
`GuzzleHttp\Message\MessageInterface::getHeader`. If you want to get a header
|
166 |
-
value as an array, then use the newly added `getHeaderAsArray()` method of
|
167 |
-
`MessageInterface`. This change makes the Guzzle interfaces compatible with
|
168 |
-
the PSR-7 interfaces.
|
169 |
-
* `GuzzleHttp\Message\MessageFactory` no longer allows subclasses to add
|
170 |
-
custom request options using double-dispatch (this was an implementation
|
171 |
-
detail). Instead, you should now provide an associative array to the
|
172 |
-
constructor which is a mapping of the request option name mapping to a
|
173 |
-
function that applies the option value to a request.
|
174 |
-
* Removed the concept of "throwImmediately" from exceptions and error events.
|
175 |
-
This control mechanism was used to stop a transfer of concurrent requests
|
176 |
-
from completing. This can now be handled by throwing the exception or by
|
177 |
-
cancelling a pool of requests or each outstanding future request individually.
|
178 |
-
* Updated to "GuzzleHttp\Streams" 3.0.
|
179 |
-
* `GuzzleHttp\Stream\StreamInterface::getContents()` no longer accepts a
|
180 |
-
`maxLen` parameter. This update makes the Guzzle streams project
|
181 |
-
compatible with the current PSR-7 proposal.
|
182 |
-
* `GuzzleHttp\Stream\Stream::__construct`,
|
183 |
-
`GuzzleHttp\Stream\Stream::factory`, and
|
184 |
-
`GuzzleHttp\Stream\Utils::create` no longer accept a size in the second
|
185 |
-
argument. They now accept an associative array of options, including the
|
186 |
-
"size" key and "metadata" key which can be used to provide custom metadata.
|
187 |
-
|
188 |
-
## 4.2.2 - 2014-09-08
|
189 |
-
|
190 |
-
* Fixed a memory leak in the CurlAdapter when reusing cURL handles.
|
191 |
-
* No longer using `request_fulluri` in stream adapter proxies.
|
192 |
-
* Relative redirects are now based on the last response, not the first response.
|
193 |
-
|
194 |
-
## 4.2.1 - 2014-08-19
|
195 |
-
|
196 |
-
* Ensuring that the StreamAdapter does not always add a Content-Type header
|
197 |
-
* Adding automated github releases with a phar and zip
|
198 |
-
|
199 |
-
## 4.2.0 - 2014-08-17
|
200 |
-
|
201 |
-
* Now merging in default options using a case-insensitive comparison.
|
202 |
-
Closes https://github.com/guzzle/guzzle/issues/767
|
203 |
-
* Added the ability to automatically decode `Content-Encoding` response bodies
|
204 |
-
using the `decode_content` request option. This is set to `true` by default
|
205 |
-
to decode the response body if it comes over the wire with a
|
206 |
-
`Content-Encoding`. Set this value to `false` to disable decoding the
|
207 |
-
response content, and pass a string to provide a request `Accept-Encoding`
|
208 |
-
header and turn on automatic response decoding. This feature now allows you
|
209 |
-
to pass an `Accept-Encoding` header in the headers of a request but still
|
210 |
-
disable automatic response decoding.
|
211 |
-
Closes https://github.com/guzzle/guzzle/issues/764
|
212 |
-
* Added the ability to throw an exception immediately when transferring
|
213 |
-
requests in parallel. Closes https://github.com/guzzle/guzzle/issues/760
|
214 |
-
* Updating guzzlehttp/streams dependency to ~2.1
|
215 |
-
* No longer utilizing the now deprecated namespaced methods from the stream
|
216 |
-
package.
|
217 |
-
|
218 |
-
## 4.1.8 - 2014-08-14
|
219 |
-
|
220 |
-
* Fixed an issue in the CurlFactory that caused setting the `stream=false`
|
221 |
-
request option to throw an exception.
|
222 |
-
See: https://github.com/guzzle/guzzle/issues/769
|
223 |
-
* TransactionIterator now calls rewind on the inner iterator.
|
224 |
-
See: https://github.com/guzzle/guzzle/pull/765
|
225 |
-
* You can now set the `Content-Type` header to `multipart/form-data`
|
226 |
-
when creating POST requests to force multipart bodies.
|
227 |
-
See https://github.com/guzzle/guzzle/issues/768
|
228 |
-
|
229 |
-
## 4.1.7 - 2014-08-07
|
230 |
-
|
231 |
-
* Fixed an error in the HistoryPlugin that caused the same request and response
|
232 |
-
to be logged multiple times when an HTTP protocol error occurs.
|
233 |
-
* Ensuring that cURL does not add a default Content-Type when no Content-Type
|
234 |
-
has been supplied by the user. This prevents the adapter layer from modifying
|
235 |
-
the request that is sent over the wire after any listeners may have already
|
236 |
-
put the request in a desired state (e.g., signed the request).
|
237 |
-
* Throwing an exception when you attempt to send requests that have the
|
238 |
-
"stream" set to true in parallel using the MultiAdapter.
|
239 |
-
* Only calling curl_multi_select when there are active cURL handles. This was
|
240 |
-
previously changed and caused performance problems on some systems due to PHP
|
241 |
-
always selecting until the maximum select timeout.
|
242 |
-
* Fixed a bug where multipart/form-data POST fields were not correctly
|
243 |
-
aggregated (e.g., values with "&").
|
244 |
-
|
245 |
-
## 4.1.6 - 2014-08-03
|
246 |
-
|
247 |
-
* Added helper methods to make it easier to represent messages as strings,
|
248 |
-
including getting the start line and getting headers as a string.
|
249 |
-
|
250 |
-
## 4.1.5 - 2014-08-02
|
251 |
-
|
252 |
-
* Automatically retrying cURL "Connection died, retrying a fresh connect"
|
253 |
-
errors when possible.
|
254 |
-
* cURL implementation cleanup
|
255 |
-
* Allowing multiple event subscriber listeners to be registered per event by
|
256 |
-
passing an array of arrays of listener configuration.
|
257 |
-
|
258 |
-
## 4.1.4 - 2014-07-22
|
259 |
-
|
260 |
-
* Fixed a bug that caused multi-part POST requests with more than one field to
|
261 |
-
serialize incorrectly.
|
262 |
-
* Paths can now be set to "0"
|
263 |
-
* `ResponseInterface::xml` now accepts a `libxml_options` option and added a
|
264 |
-
missing default argument that was required when parsing XML response bodies.
|
265 |
-
* A `save_to` stream is now created lazily, which means that files are not
|
266 |
-
created on disk unless a request succeeds.
|
267 |
-
|
268 |
-
## 4.1.3 - 2014-07-15
|
269 |
-
|
270 |
-
* Various fixes to multipart/form-data POST uploads
|
271 |
-
* Wrapping function.php in an if-statement to ensure Guzzle can be used
|
272 |
-
globally and in a Composer install
|
273 |
-
* Fixed an issue with generating and merging in events to an event array
|
274 |
-
* POST headers are only applied before sending a request to allow you to change
|
275 |
-
the query aggregator used before uploading
|
276 |
-
* Added much more robust query string parsing
|
277 |
-
* Fixed various parsing and normalization issues with URLs
|
278 |
-
* Fixing an issue where multi-valued headers were not being utilized correctly
|
279 |
-
in the StreamAdapter
|
280 |
-
|
281 |
-
## 4.1.2 - 2014-06-18
|
282 |
-
|
283 |
-
* Added support for sending payloads with GET requests
|
284 |
-
|
285 |
-
## 4.1.1 - 2014-06-08
|
286 |
-
|
287 |
-
* Fixed an issue related to using custom message factory options in subclasses
|
288 |
-
* Fixed an issue with nested form fields in a multi-part POST
|
289 |
-
* Fixed an issue with using the `json` request option for POST requests
|
290 |
-
* Added `ToArrayInterface` to `GuzzleHttp\Cookie\CookieJar`
|
291 |
-
|
292 |
-
## 4.1.0 - 2014-05-27
|
293 |
-
|
294 |
-
* Added a `json` request option to easily serialize JSON payloads.
|
295 |
-
* Added a `GuzzleHttp\json_decode()` wrapper to safely parse JSON.
|
296 |
-
* Added `setPort()` and `getPort()` to `GuzzleHttp\Message\RequestInterface`.
|
297 |
-
* Added the ability to provide an emitter to a client in the client constructor.
|
298 |
-
* Added the ability to persist a cookie session using $_SESSION.
|
299 |
-
* Added a trait that can be used to add event listeners to an iterator.
|
300 |
-
* Removed request method constants from RequestInterface.
|
301 |
-
* Fixed warning when invalid request start-lines are received.
|
302 |
-
* Updated MessageFactory to work with custom request option methods.
|
303 |
-
* Updated cacert bundle to latest build.
|
304 |
-
|
305 |
-
4.0.2 (2014-04-16)
|
306 |
-
------------------
|
307 |
-
|
308 |
-
* Proxy requests using the StreamAdapter now properly use request_fulluri (#632)
|
309 |
-
* Added the ability to set scalars as POST fields (#628)
|
310 |
-
|
311 |
-
## 4.0.1 - 2014-04-04
|
312 |
-
|
313 |
-
* The HTTP status code of a response is now set as the exception code of
|
314 |
-
RequestException objects.
|
315 |
-
* 303 redirects will now correctly switch from POST to GET requests.
|
316 |
-
* The default parallel adapter of a client now correctly uses the MultiAdapter.
|
317 |
-
* HasDataTrait now initializes the internal data array as an empty array so
|
318 |
-
that the toArray() method always returns an array.
|
319 |
-
|
320 |
-
## 4.0.0 - 2014-03-29
|
321 |
-
|
322 |
-
* For more information on the 4.0 transition, see:
|
323 |
-
http://mtdowling.com/blog/2014/03/15/guzzle-4-rc/
|
324 |
-
* For information on changes and upgrading, see:
|
325 |
-
https://github.com/guzzle/guzzle/blob/master/UPGRADING.md#3x-to-40
|
326 |
-
* Added `GuzzleHttp\batch()` as a convenience function for sending requests in
|
327 |
-
parallel without needing to write asynchronous code.
|
328 |
-
* Restructured how events are added to `GuzzleHttp\ClientInterface::sendAll()`.
|
329 |
-
You can now pass a callable or an array of associative arrays where each
|
330 |
-
associative array contains the "fn", "priority", and "once" keys.
|
331 |
-
|
332 |
-
## 4.0.0.rc-2 - 2014-03-25
|
333 |
-
|
334 |
-
* Removed `getConfig()` and `setConfig()` from clients to avoid confusion
|
335 |
-
around whether things like base_url, message_factory, etc. should be able to
|
336 |
-
be retrieved or modified.
|
337 |
-
* Added `getDefaultOption()` and `setDefaultOption()` to ClientInterface
|
338 |
-
* functions.php functions were renamed using snake_case to match PHP idioms
|
339 |
-
* Added support for `HTTP_PROXY`, `HTTPS_PROXY`, and
|
340 |
-
`GUZZLE_CURL_SELECT_TIMEOUT` environment variables
|
341 |
-
* Added the ability to specify custom `sendAll()` event priorities
|
342 |
-
* Added the ability to specify custom stream context options to the stream
|
343 |
-
adapter.
|
344 |
-
* Added a functions.php function for `get_path()` and `set_path()`
|
345 |
-
* CurlAdapter and MultiAdapter now use a callable to generate curl resources
|
346 |
-
* MockAdapter now properly reads a body and emits a `headers` event
|
347 |
-
* Updated Url class to check if a scheme and host are set before adding ":"
|
348 |
-
and "//". This allows empty Url (e.g., "") to be serialized as "".
|
349 |
-
* Parsing invalid XML no longer emits warnings
|
350 |
-
* Curl classes now properly throw AdapterExceptions
|
351 |
-
* Various performance optimizations
|
352 |
-
* Streams are created with the faster `Stream\create()` function
|
353 |
-
* Marked deprecation_proxy() as internal
|
354 |
-
* Test server is now a collection of static methods on a class
|
355 |
-
|
356 |
-
## 4.0.0-rc.1 - 2014-03-15
|
357 |
-
|
358 |
-
* See https://github.com/guzzle/guzzle/blob/master/UPGRADING.md#3x-to-40
|
359 |
-
|
360 |
-
## 3.8.1 - 2014-01-28
|
361 |
-
|
362 |
-
* Bug: Always using GET requests when redirecting from a 303 response
|
363 |
-
* Bug: CURLOPT_SSL_VERIFYHOST is now correctly set to false when setting `$certificateAuthority` to false in
|
364 |
-
`Guzzle\Http\ClientInterface::setSslVerification()`
|
365 |
-
* Bug: RedirectPlugin now uses strict RFC 3986 compliance when combining a base URL with a relative URL
|
366 |
-
* Bug: The body of a request can now be set to `"0"`
|
367 |
-
* Sending PHP stream requests no longer forces `HTTP/1.0`
|
368 |
-
* Adding more information to ExceptionCollection exceptions so that users have more context, including a stack trace of
|
369 |
-
each sub-exception
|
370 |
-
* Updated the `$ref` attribute in service descriptions to merge over any existing parameters of a schema (rather than
|
371 |
-
clobbering everything).
|
372 |
-
* Merging URLs will now use the query string object from the relative URL (thus allowing custom query aggregators)
|
373 |
-
* Query strings are now parsed in a way that they do no convert empty keys with no value to have a dangling `=`.
|
374 |
-
For example `foo&bar=baz` is now correctly parsed and recognized as `foo&bar=baz` rather than `foo=&bar=baz`.
|
375 |
-
* Now properly escaping the regular expression delimiter when matching Cookie domains.
|
376 |
-
* Network access is now disabled when loading XML documents
|
377 |
-
|
378 |
-
## 3.8.0 - 2013-12-05
|
379 |
-
|
380 |
-
* Added the ability to define a POST name for a file
|
381 |
-
* JSON response parsing now properly walks additionalProperties
|
382 |
-
* cURL error code 18 is now retried automatically in the BackoffPlugin
|
383 |
-
* Fixed a cURL error when URLs contain fragments
|
384 |
-
* Fixed an issue in the BackoffPlugin retry event where it was trying to access all exceptions as if they were
|
385 |
-
CurlExceptions
|
386 |
-
* CURLOPT_PROGRESS function fix for PHP 5.5 (69fcc1e)
|
387 |
-
* Added the ability for Guzzle to work with older versions of cURL that do not support `CURLOPT_TIMEOUT_MS`
|
388 |
-
* Fixed a bug that was encountered when parsing empty header parameters
|
389 |
-
* UriTemplate now has a `setRegex()` method to match the docs
|
390 |
-
* The `debug` request parameter now checks if it is truthy rather than if it exists
|
391 |
-
* Setting the `debug` request parameter to true shows verbose cURL output instead of using the LogPlugin
|
392 |
-
* Added the ability to combine URLs using strict RFC 3986 compliance
|
393 |
-
* Command objects can now return the validation errors encountered by the command
|
394 |
-
* Various fixes to cache revalidation (#437 and 29797e5)
|
395 |
-
* Various fixes to the AsyncPlugin
|
396 |
-
* Cleaned up build scripts
|
397 |
-
|
398 |
-
## 3.7.4 - 2013-10-02
|
399 |
-
|
400 |
-
* Bug fix: 0 is now an allowed value in a description parameter that has a default value (#430)
|
401 |
-
* Bug fix: SchemaFormatter now returns an integer when formatting to a Unix timestamp
|
402 |
-
(see https://github.com/aws/aws-sdk-php/issues/147)
|
403 |
-
* Bug fix: Cleaned up and fixed URL dot segment removal to properly resolve internal dots
|
404 |
-
* Minimum PHP version is now properly specified as 5.3.3 (up from 5.3.2) (#420)
|
405 |
-
* Updated the bundled cacert.pem (#419)
|
406 |
-
* OauthPlugin now supports adding authentication to headers or query string (#425)
|
407 |
-
|
408 |
-
## 3.7.3 - 2013-09-08
|
409 |
-
|
410 |
-
* Added the ability to get the exception associated with a request/command when using `MultiTransferException` and
|
411 |
-
`CommandTransferException`.
|
412 |
-
* Setting `additionalParameters` of a response to false is now honored when parsing responses with a service description
|
413 |
-
* Schemas are only injected into response models when explicitly configured.
|
414 |
-
* No longer guessing Content-Type based on the path of a request. Content-Type is now only guessed based on the path of
|
415 |
-
an EntityBody.
|
416 |
-
* Bug fix: ChunkedIterator can now properly chunk a \Traversable as well as an \Iterator.
|
417 |
-
* Bug fix: FilterIterator now relies on `\Iterator` instead of `\Traversable`.
|
418 |
-
* Bug fix: Gracefully handling malformed responses in RequestMediator::writeResponseBody()
|
419 |
-
* Bug fix: Replaced call to canCache with canCacheRequest in the CallbackCanCacheStrategy of the CachePlugin
|
420 |
-
* Bug fix: Visiting XML attributes first before visiting XML children when serializing requests
|
421 |
-
* Bug fix: Properly parsing headers that contain commas contained in quotes
|
422 |
-
* Bug fix: mimetype guessing based on a filename is now case-insensitive
|
423 |
-
|
424 |
-
## 3.7.2 - 2013-08-02
|
425 |
-
|
426 |
-
* Bug fix: Properly URL encoding paths when using the PHP-only version of the UriTemplate expander
|
427 |
-
See https://github.com/guzzle/guzzle/issues/371
|
428 |
-
* Bug fix: Cookie domains are now matched correctly according to RFC 6265
|
429 |
-
See https://github.com/guzzle/guzzle/issues/377
|
430 |
-
* Bug fix: GET parameters are now used when calculating an OAuth signature
|
431 |
-
* Bug fix: Fixed an issue with cache revalidation where the If-None-Match header was being double quoted
|
432 |
-
* `Guzzle\Common\AbstractHasDispatcher::dispatch()` now returns the event that was dispatched
|
433 |
-
* `Guzzle\Http\QueryString::factory()` now guesses the most appropriate query aggregator to used based on the input.
|
434 |
-
See https://github.com/guzzle/guzzle/issues/379
|
435 |
-
* Added a way to add custom domain objects to service description parsing using the `operation.parse_class` event. See
|
436 |
-
https://github.com/guzzle/guzzle/pull/380
|
437 |
-
* cURL multi cleanup and optimizations
|
438 |
-
|
439 |
-
## 3.7.1 - 2013-07-05
|
440 |
-
|
441 |
-
* Bug fix: Setting default options on a client now works
|
442 |
-
* Bug fix: Setting options on HEAD requests now works. See #352
|
443 |
-
* Bug fix: Moving stream factory before send event to before building the stream. See #353
|
444 |
-
* Bug fix: Cookies no longer match on IP addresses per RFC 6265
|
445 |
-
* Bug fix: Correctly parsing header parameters that are in `<>` and quotes
|
446 |
-
* Added `cert` and `ssl_key` as request options
|
447 |
-
* `Host` header can now diverge from the host part of a URL if the header is set manually
|
448 |
-
* `Guzzle\Service\Command\LocationVisitor\Request\XmlVisitor` was rewritten to change from using SimpleXML to XMLWriter
|
449 |
-
* OAuth parameters are only added via the plugin if they aren't already set
|
450 |
-
* Exceptions are now thrown when a URL cannot be parsed
|
451 |
-
* Returning `false` if `Guzzle\Http\EntityBody::getContentMd5()` fails
|
452 |
-
* Not setting a `Content-MD5` on a command if calculating the Content-MD5 fails via the CommandContentMd5Plugin
|
453 |
-
|
454 |
-
## 3.7.0 - 2013-06-10
|
455 |
-
|
456 |
-
* See UPGRADING.md for more information on how to upgrade.
|
457 |
-
* Requests now support the ability to specify an array of $options when creating a request to more easily modify a
|
458 |
-
request. You can pass a 'request.options' configuration setting to a client to apply default request options to
|
459 |
-
every request created by a client (e.g. default query string variables, headers, curl options, etc.).
|
460 |
-
* Added a static facade class that allows you to use Guzzle with static methods and mount the class to `\Guzzle`.
|
461 |
-
See `Guzzle\Http\StaticClient::mount`.
|
462 |
-
* Added `command.request_options` to `Guzzle\Service\Command\AbstractCommand` to pass request options to requests
|
463 |
-
created by a command (e.g. custom headers, query string variables, timeout settings, etc.).
|
464 |
-
* Stream size in `Guzzle\Stream\PhpStreamRequestFactory` will now be set if Content-Length is returned in the
|
465 |
-
headers of a response
|
466 |
-
* Added `Guzzle\Common\Collection::setPath($path, $value)` to set a value into an array using a nested key
|
467 |
-
(e.g. `$collection->setPath('foo/baz/bar', 'test'); echo $collection['foo']['bar']['bar'];`)
|
468 |
-
* ServiceBuilders now support storing and retrieving arbitrary data
|
469 |
-
* CachePlugin can now purge all resources for a given URI
|
470 |
-
* CachePlugin can automatically purge matching cached items when a non-idempotent request is sent to a resource
|
471 |
-
* CachePlugin now uses the Vary header to determine if a resource is a cache hit
|
472 |
-
* `Guzzle\Http\Message\Response` now implements `\Serializable`
|
473 |
-
* Added `Guzzle\Cache\CacheAdapterFactory::fromCache()` to more easily create cache adapters
|
474 |
-
* `Guzzle\Service\ClientInterface::execute()` now accepts an array, single command, or Traversable
|
475 |
-
* Fixed a bug in `Guzzle\Http\Message\Header\Link::addLink()`
|
476 |
-
* Better handling of calculating the size of a stream in `Guzzle\Stream\Stream` using fstat() and caching the size
|
477 |
-
* `Guzzle\Common\Exception\ExceptionCollection` now creates a more readable exception message
|
478 |
-
* Fixing BC break: Added back the MonologLogAdapter implementation rather than extending from PsrLog so that older
|
479 |
-
Symfony users can still use the old version of Monolog.
|
480 |
-
* Fixing BC break: Added the implementation back in for `Guzzle\Http\Message\AbstractMessage::getTokenizedHeader()`.
|
481 |
-
Now triggering an E_USER_DEPRECATED warning when used. Use `$message->getHeader()->parseParams()`.
|
482 |
-
* Several performance improvements to `Guzzle\Common\Collection`
|
483 |
-
* Added an `$options` argument to the end of the following methods of `Guzzle\Http\ClientInterface`:
|
484 |
-
createRequest, head, delete, put, patch, post, options, prepareRequest
|
485 |
-
* Added an `$options` argument to the end of `Guzzle\Http\Message\Request\RequestFactoryInterface::createRequest()`
|
486 |
-
* Added an `applyOptions()` method to `Guzzle\Http\Message\Request\RequestFactoryInterface`
|
487 |
-
* Changed `Guzzle\Http\ClientInterface::get($uri = null, $headers = null, $body = null)` to
|
488 |
-
`Guzzle\Http\ClientInterface::get($uri = null, $headers = null, $options = array())`. You can still pass in a
|
489 |
-
resource, string, or EntityBody into the $options parameter to specify the download location of the response.
|
490 |
-
* Changed `Guzzle\Common\Collection::__construct($data)` to no longer accepts a null value for `$data` but a
|
491 |
-
default `array()`
|
492 |
-
* Added `Guzzle\Stream\StreamInterface::isRepeatable`
|
493 |
-
* Removed `Guzzle\Http\ClientInterface::setDefaultHeaders(). Use
|
494 |
-
$client->getConfig()->setPath('request.options/headers/{header_name}', 'value')`. or
|
495 |
-
$client->getConfig()->setPath('request.options/headers', array('header_name' => 'value'))`.
|
496 |
-
* Removed `Guzzle\Http\ClientInterface::getDefaultHeaders(). Use $client->getConfig()->getPath('request.options/headers')`.
|
497 |
-
* Removed `Guzzle\Http\ClientInterface::expandTemplate()`
|
498 |
-
* Removed `Guzzle\Http\ClientInterface::setRequestFactory()`
|
499 |
-
* Removed `Guzzle\Http\ClientInterface::getCurlMulti()`
|
500 |
-
* Removed `Guzzle\Http\Message\RequestInterface::canCache`
|
501 |
-
* Removed `Guzzle\Http\Message\RequestInterface::setIsRedirect`
|
502 |
-
* Removed `Guzzle\Http\Message\RequestInterface::isRedirect`
|
503 |
-
* Made `Guzzle\Http\Client::expandTemplate` and `getUriTemplate` protected methods.
|
504 |
-
* You can now enable E_USER_DEPRECATED warnings to see if you are using a deprecated method by setting
|
505 |
-
`Guzzle\Common\Version::$emitWarnings` to true.
|
506 |
-
* Marked `Guzzle\Http\Message\Request::isResponseBodyRepeatable()` as deprecated. Use
|
507 |
-
`$request->getResponseBody()->isRepeatable()` instead.
|
508 |
-
* Marked `Guzzle\Http\Message\Request::canCache()` as deprecated. Use
|
509 |
-
`Guzzle\Plugin\Cache\DefaultCanCacheStrategy->canCacheRequest()` instead.
|
510 |
-
* Marked `Guzzle\Http\Message\Request::canCache()` as deprecated. Use
|
511 |
-
`Guzzle\Plugin\Cache\DefaultCanCacheStrategy->canCacheRequest()` instead.
|
512 |
-
* Marked `Guzzle\Http\Message\Request::setIsRedirect()` as deprecated. Use the HistoryPlugin instead.
|
513 |
-
* Marked `Guzzle\Http\Message\Request::isRedirect()` as deprecated. Use the HistoryPlugin instead.
|
514 |
-
* Marked `Guzzle\Cache\CacheAdapterFactory::factory()` as deprecated
|
515 |
-
* Marked 'command.headers', 'command.response_body' and 'command.on_complete' as deprecated for AbstractCommand.
|
516 |
-
These will work through Guzzle 4.0
|
517 |
-
* Marked 'request.params' for `Guzzle\Http\Client` as deprecated. Use [request.options][params].
|
518 |
-
* Marked `Guzzle\Service\Client::enableMagicMethods()` as deprecated. Magic methods can no longer be disabled on a Guzzle\Service\Client.
|
519 |
-
* Marked `Guzzle\Service\Client::getDefaultHeaders()` as deprecated. Use $client->getConfig()->getPath('request.options/headers')`.
|
520 |
-
* Marked `Guzzle\Service\Client::setDefaultHeaders()` as deprecated. Use $client->getConfig()->setPath('request.options/headers/{header_name}', 'value')`.
|
521 |
-
* Marked `Guzzle\Parser\Url\UrlParser` as deprecated. Just use PHP's `parse_url()` and percent encode your UTF-8.
|
522 |
-
* Marked `Guzzle\Common\Collection::inject()` as deprecated.
|
523 |
-
* Marked `Guzzle\Plugin\CurlAuth\CurlAuthPlugin` as deprecated. Use `$client->getConfig()->setPath('request.options/auth', array('user', 'pass', 'Basic|Digest');`
|
524 |
-
* CacheKeyProviderInterface and DefaultCacheKeyProvider are no longer used. All of this logic is handled in a
|
525 |
-
CacheStorageInterface. These two objects and interface will be removed in a future version.
|
526 |
-
* Always setting X-cache headers on cached responses
|
527 |
-
* Default cache TTLs are now handled by the CacheStorageInterface of a CachePlugin
|
528 |
-
* `CacheStorageInterface::cache($key, Response $response, $ttl = null)` has changed to `cache(RequestInterface
|
529 |
-
$request, Response $response);`
|
530 |
-
* `CacheStorageInterface::fetch($key)` has changed to `fetch(RequestInterface $request);`
|
531 |
-
* `CacheStorageInterface::delete($key)` has changed to `delete(RequestInterface $request);`
|
532 |
-
* Added `CacheStorageInterface::purge($url)`
|
533 |
-
* `DefaultRevalidation::__construct(CacheKeyProviderInterface $cacheKey, CacheStorageInterface $cache, CachePlugin
|
534 |
-
$plugin)` has changed to `DefaultRevalidation::__construct(CacheStorageInterface $cache,
|
535 |
-
CanCacheStrategyInterface $canCache = null)`
|
536 |
-
* Added `RevalidationInterface::shouldRevalidate(RequestInterface $request, Response $response)`
|
537 |
-
|
538 |
-
## 3.6.0 - 2013-05-29
|
539 |
-
|
540 |
-
* ServiceDescription now implements ToArrayInterface
|
541 |
-
* Added command.hidden_params to blacklist certain headers from being treated as additionalParameters
|
542 |
-
* Guzzle can now correctly parse incomplete URLs
|
543 |
-
* Mixed casing of headers are now forced to be a single consistent casing across all values for that header.
|
544 |
-
* Messages internally use a HeaderCollection object to delegate handling case-insensitive header resolution
|
545 |
-
* Removed the whole changedHeader() function system of messages because all header changes now go through addHeader().
|
546 |
-
* Specific header implementations can be created for complex headers. When a message creates a header, it uses a
|
547 |
-
HeaderFactory which can map specific headers to specific header classes. There is now a Link header and
|
548 |
-
CacheControl header implementation.
|
549 |
-
* Removed from interface: Guzzle\Http\ClientInterface::setUriTemplate
|
550 |
-
* Removed from interface: Guzzle\Http\ClientInterface::setCurlMulti()
|
551 |
-
* Removed Guzzle\Http\Message\Request::receivedRequestHeader() and implemented this functionality in
|
552 |
-
Guzzle\Http\Curl\RequestMediator
|
553 |
-
* Removed the optional $asString parameter from MessageInterface::getHeader(). Just cast the header to a string.
|
554 |
-
* Removed the optional $tryChunkedTransfer option from Guzzle\Http\Message\EntityEnclosingRequestInterface
|
555 |
-
* Removed the $asObjects argument from Guzzle\Http\Message\MessageInterface::getHeaders()
|
556 |
-
* Removed Guzzle\Parser\ParserRegister::get(). Use getParser()
|
557 |
-
* Removed Guzzle\Parser\ParserRegister::set(). Use registerParser().
|
558 |
-
* All response header helper functions return a string rather than mixing Header objects and strings inconsistently
|
559 |
-
* Removed cURL blacklist support. This is no longer necessary now that Expect, Accept, etc. are managed by Guzzle
|
560 |
-
directly via interfaces
|
561 |
-
* Removed the injecting of a request object onto a response object. The methods to get and set a request still exist
|
562 |
-
but are a no-op until removed.
|
563 |
-
* Most classes that used to require a `Guzzle\Service\Command\CommandInterface` typehint now request a
|
564 |
-
`Guzzle\Service\Command\ArrayCommandInterface`.
|
565 |
-
* Added `Guzzle\Http\Message\RequestInterface::startResponse()` to the RequestInterface to handle injecting a response
|
566 |
-
on a request while the request is still being transferred
|
567 |
-
* The ability to case-insensitively search for header values
|
568 |
-
* Guzzle\Http\Message\Header::hasExactHeader
|
569 |
-
* Guzzle\Http\Message\Header::raw. Use getAll()
|
570 |
-
* Deprecated cache control specific methods on Guzzle\Http\Message\AbstractMessage. Use the CacheControl header object
|
571 |
-
instead.
|
572 |
-
* `Guzzle\Service\Command\CommandInterface` now extends from ToArrayInterface and ArrayAccess
|
573 |
-
* Added the ability to cast Model objects to a string to view debug information.
|
574 |
-
|
575 |
-
## 3.5.0 - 2013-05-13
|
576 |
-
|
577 |
-
* Bug: Fixed a regression so that request responses are parsed only once per oncomplete event rather than multiple times
|
578 |
-
* Bug: Better cleanup of one-time events across the board (when an event is meant to fire once, it will now remove
|
579 |
-
itself from the EventDispatcher)
|
580 |
-
* Bug: `Guzzle\Log\MessageFormatter` now properly writes "total_time" and "connect_time" values
|
581 |
-
* Bug: Cloning an EntityEnclosingRequest now clones the EntityBody too
|
582 |
-
* Bug: Fixed an undefined index error when parsing nested JSON responses with a sentAs parameter that reference a
|
583 |
-
non-existent key
|
584 |
-
* Bug: All __call() method arguments are now required (helps with mocking frameworks)
|
585 |
-
* Deprecating Response::getRequest() and now using a shallow clone of a request object to remove a circular reference
|
586 |
-
to help with refcount based garbage collection of resources created by sending a request
|
587 |
-
* Deprecating ZF1 cache and log adapters. These will be removed in the next major version.
|
588 |
-
* Deprecating `Response::getPreviousResponse()` (method signature still exists, but it'sdeprecated). Use the
|
589 |
-
HistoryPlugin for a history.
|
590 |
-
* Added a `responseBody` alias for the `response_body` location
|
591 |
-
* Refactored internals to no longer rely on Response::getRequest()
|
592 |
-
* HistoryPlugin can now be cast to a string
|
593 |
-
* HistoryPlugin now logs transactions rather than requests and responses to more accurately keep track of the requests
|
594 |
-
and responses that are sent over the wire
|
595 |
-
* Added `getEffectiveUrl()` and `getRedirectCount()` to Response objects
|
596 |
-
|
597 |
-
## 3.4.3 - 2013-04-30
|
598 |
-
|
599 |
-
* Bug fix: Fixing bug introduced in 3.4.2 where redirect responses are duplicated on the final redirected response
|
600 |
-
* Added a check to re-extract the temp cacert bundle from the phar before sending each request
|
601 |
-
|
602 |
-
## 3.4.2 - 2013-04-29
|
603 |
-
|
604 |
-
* Bug fix: Stream objects now work correctly with "a" and "a+" modes
|
605 |
-
* Bug fix: Removing `Transfer-Encoding: chunked` header when a Content-Length is present
|
606 |
-
* Bug fix: AsyncPlugin no longer forces HEAD requests
|
607 |
-
* Bug fix: DateTime timezones are now properly handled when using the service description schema formatter
|
608 |
-
* Bug fix: CachePlugin now properly handles stale-if-error directives when a request to the origin server fails
|
609 |
-
* Setting a response on a request will write to the custom request body from the response body if one is specified
|
610 |
-
* LogPlugin now writes to php://output when STDERR is undefined
|
611 |
-
* Added the ability to set multiple POST files for the same key in a single call
|
612 |
-
* application/x-www-form-urlencoded POSTs now use the utf-8 charset by default
|
613 |
-
* Added the ability to queue CurlExceptions to the MockPlugin
|
614 |
-
* Cleaned up how manual responses are queued on requests (removed "queued_response" and now using request.before_send)
|
615 |
-
* Configuration loading now allows remote files
|
616 |
-
|
617 |
-
## 3.4.1 - 2013-04-16
|
618 |
-
|
619 |
-
* Large refactoring to how CurlMulti handles work. There is now a proxy that sits in front of a pool of CurlMulti
|
620 |
-
handles. This greatly simplifies the implementation, fixes a couple bugs, and provides a small performance boost.
|
621 |
-
* Exceptions are now properly grouped when sending requests in parallel
|
622 |
-
* Redirects are now properly aggregated when a multi transaction fails
|
623 |
-
* Redirects now set the response on the original object even in the event of a failure
|
624 |
-
* Bug fix: Model names are now properly set even when using $refs
|
625 |
-
* Added support for PHP 5.5's CurlFile to prevent warnings with the deprecated @ syntax
|
626 |
-
* Added support for oauth_callback in OAuth signatures
|
627 |
-
* Added support for oauth_verifier in OAuth signatures
|
628 |
-
* Added support to attempt to retrieve a command first literally, then ucfirst, the with inflection
|
629 |
-
|
630 |
-
## 3.4.0 - 2013-04-11
|
631 |
-
|
632 |
-
* Bug fix: URLs are now resolved correctly based on http://tools.ietf.org/html/rfc3986#section-5.2. #289
|
633 |
-
* Bug fix: Absolute URLs with a path in a service description will now properly override the base URL. #289
|
634 |
-
* Bug fix: Parsing a query string with a single PHP array value will now result in an array. #263
|
635 |
-
* Bug fix: Better normalization of the User-Agent header to prevent duplicate headers. #264.
|
636 |
-
* Bug fix: Added `number` type to service descriptions.
|
637 |
-
* Bug fix: empty parameters are removed from an OAuth signature
|
638 |
-
* Bug fix: Revalidating a cache entry prefers the Last-Modified over the Date header
|
639 |
-
* Bug fix: Fixed "array to string" error when validating a union of types in a service description
|
640 |
-
* Bug fix: Removed code that attempted to determine the size of a stream when data is written to the stream
|
641 |
-
* Bug fix: Not including an `oauth_token` if the value is null in the OauthPlugin.
|
642 |
-
* Bug fix: Now correctly aggregating successful requests and failed requests in CurlMulti when a redirect occurs.
|
643 |
-
* The new default CURLOPT_TIMEOUT setting has been increased to 150 seconds so that Guzzle works on poor connections.
|
644 |
-
* Added a feature to EntityEnclosingRequest::setBody() that will automatically set the Content-Type of the request if
|
645 |
-
the Content-Type can be determined based on the entity body or the path of the request.
|
646 |
-
* Added the ability to overwrite configuration settings in a client when grabbing a throwaway client from a builder.
|
647 |
-
* Added support for a PSR-3 LogAdapter.
|
648 |
-
* Added a `command.after_prepare` event
|
649 |
-
* Added `oauth_callback` parameter to the OauthPlugin
|
650 |
-
* Added the ability to create a custom stream class when using a stream factory
|
651 |
-
* Added a CachingEntityBody decorator
|
652 |
-
* Added support for `additionalParameters` in service descriptions to define how custom parameters are serialized.
|
653 |
-
* The bundled SSL certificate is now provided in the phar file and extracted when running Guzzle from a phar.
|
654 |
-
* You can now send any EntityEnclosingRequest with POST fields or POST files and cURL will handle creating bodies
|
655 |
-
* POST requests using a custom entity body are now treated exactly like PUT requests but with a custom cURL method. This
|
656 |
-
means that the redirect behavior of POST requests with custom bodies will not be the same as POST requests that use
|
657 |
-
POST fields or files (the latter is only used when emulating a form POST in the browser).
|
658 |
-
* Lots of cleanup to CurlHandle::factory and RequestFactory::createRequest
|
659 |
-
|
660 |
-
## 3.3.1 - 2013-03-10
|
661 |
-
|
662 |
-
* Added the ability to create PHP streaming responses from HTTP requests
|
663 |
-
* Bug fix: Running any filters when parsing response headers with service descriptions
|
664 |
-
* Bug fix: OauthPlugin fixes to allow for multi-dimensional array signing, and sorting parameters before signing
|
665 |
-
* Bug fix: Removed the adding of default empty arrays and false Booleans to responses in order to be consistent across
|
666 |
-
response location visitors.
|
667 |
-
* Bug fix: Removed the possibility of creating configuration files with circular dependencies
|
668 |
-
* RequestFactory::create() now uses the key of a POST file when setting the POST file name
|
669 |
-
* Added xmlAllowEmpty to serialize an XML body even if no XML specific parameters are set
|
670 |
-
|
671 |
-
## 3.3.0 - 2013-03-03
|
672 |
-
|
673 |
-
* A large number of performance optimizations have been made
|
674 |
-
* Bug fix: Added 'wb' as a valid write mode for streams
|
675 |
-
* Bug fix: `Guzzle\Http\Message\Response::json()` now allows scalar values to be returned
|
676 |
-
* Bug fix: Fixed bug in `Guzzle\Http\Message\Response` where wrapping quotes were stripped from `getEtag()`
|
677 |
-
* BC: Removed `Guzzle\Http\Utils` class
|
678 |
-
* BC: Setting a service description on a client will no longer modify the client's command factories.
|
679 |
-
* BC: Emitting IO events from a RequestMediator is now a parameter that must be set in a request's curl options using
|
680 |
-
the 'emit_io' key. This was previously set under a request's parameters using 'curl.emit_io'
|
681 |
-
* BC: `Guzzle\Stream\Stream::getWrapper()` and `Guzzle\Stream\Stream::getSteamType()` are no longer converted to
|
682 |
-
lowercase
|
683 |
-
* Operation parameter objects are now lazy loaded internally
|
684 |
-
* Added ErrorResponsePlugin that can throw errors for responses defined in service description operations' errorResponses
|
685 |
-
* Added support for instantiating responseType=class responseClass classes. Classes must implement
|
686 |
-
`Guzzle\Service\Command\ResponseClassInterface`
|
687 |
-
* Added support for additionalProperties for top-level parameters in responseType=model responseClasses. These
|
688 |
-
additional properties also support locations and can be used to parse JSON responses where the outermost part of the
|
689 |
-
JSON is an array
|
690 |
-
* Added support for nested renaming of JSON models (rename sentAs to name)
|
691 |
-
* CachePlugin
|
692 |
-
* Added support for stale-if-error so that the CachePlugin can now serve stale content from the cache on error
|
693 |
-
* Debug headers can now added to cached response in the CachePlugin
|
694 |
-
|
695 |
-
## 3.2.0 - 2013-02-14
|
696 |
-
|
697 |
-
* CurlMulti is no longer reused globally. A new multi object is created per-client. This helps to isolate clients.
|
698 |
-
* URLs with no path no longer contain a "/" by default
|
699 |
-
* Guzzle\Http\QueryString does no longer manages the leading "?". This is now handled in Guzzle\Http\Url.
|
700 |
-
* BadResponseException no longer includes the full request and response message
|
701 |
-
* Adding setData() to Guzzle\Service\Description\ServiceDescriptionInterface
|
702 |
-
* Adding getResponseBody() to Guzzle\Http\Message\RequestInterface
|
703 |
-
* Various updates to classes to use ServiceDescriptionInterface type hints rather than ServiceDescription
|
704 |
-
* Header values can now be normalized into distinct values when multiple headers are combined with a comma separated list
|
705 |
-
* xmlEncoding can now be customized for the XML declaration of a XML service description operation
|
706 |
-
* Guzzle\Http\QueryString now uses Guzzle\Http\QueryAggregator\QueryAggregatorInterface objects to add custom value
|
707 |
-
aggregation and no longer uses callbacks
|
708 |
-
* The URL encoding implementation of Guzzle\Http\QueryString can now be customized
|
709 |
-
* Bug fix: Filters were not always invoked for array service description parameters
|
710 |
-
* Bug fix: Redirects now use a target response body rather than a temporary response body
|
711 |
-
* Bug fix: The default exponential backoff BackoffPlugin was not giving when the request threshold was exceeded
|
712 |
-
* Bug fix: Guzzle now takes the first found value when grabbing Cache-Control directives
|
713 |
-
|
714 |
-
## 3.1.2 - 2013-01-27
|
715 |
-
|
716 |
-
* Refactored how operation responses are parsed. Visitors now include a before() method responsible for parsing the
|
717 |
-
response body. For example, the XmlVisitor now parses the XML response into an array in the before() method.
|
718 |
-
* Fixed an issue where cURL would not automatically decompress responses when the Accept-Encoding header was sent
|
719 |
-
* CURLOPT_SSL_VERIFYHOST is never set to 1 because it is deprecated (see 5e0ff2ef20f839e19d1eeb298f90ba3598784444)
|
720 |
-
* Fixed a bug where redirect responses were not chained correctly using getPreviousResponse()
|
721 |
-
* Setting default headers on a client after setting the user-agent will not erase the user-agent setting
|
722 |
-
|
723 |
-
## 3.1.1 - 2013-01-20
|
724 |
-
|
725 |
-
* Adding wildcard support to Guzzle\Common\Collection::getPath()
|
726 |
-
* Adding alias support to ServiceBuilder configs
|
727 |
-
* Adding Guzzle\Service\Resource\CompositeResourceIteratorFactory and cleaning up factory interface
|
728 |
-
|
729 |
-
## 3.1.0 - 2013-01-12
|
730 |
-
|
731 |
-
* BC: CurlException now extends from RequestException rather than BadResponseException
|
732 |
-
* BC: Renamed Guzzle\Plugin\Cache\CanCacheStrategyInterface::canCache() to canCacheRequest() and added CanCacheResponse()
|
733 |
-
* Added getData to ServiceDescriptionInterface
|
734 |
-
* Added context array to RequestInterface::setState()
|
735 |
-
* Bug: Removing hard dependency on the BackoffPlugin from Guzzle\Http
|
736 |
-
* Bug: Adding required content-type when JSON request visitor adds JSON to a command
|
737 |
-
* Bug: Fixing the serialization of a service description with custom data
|
738 |
-
* Made it easier to deal with exceptions thrown when transferring commands or requests in parallel by providing
|
739 |
-
an array of successful and failed responses
|
740 |
-
* Moved getPath from Guzzle\Service\Resource\Model to Guzzle\Common\Collection
|
741 |
-
* Added Guzzle\Http\IoEmittingEntityBody
|
742 |
-
* Moved command filtration from validators to location visitors
|
743 |
-
* Added `extends` attributes to service description parameters
|
744 |
-
* Added getModels to ServiceDescriptionInterface
|
745 |
-
|
746 |
-
## 3.0.7 - 2012-12-19
|
747 |
-
|
748 |
-
* Fixing phar detection when forcing a cacert to system if null or true
|
749 |
-
* Allowing filename to be passed to `Guzzle\Http\Message\Request::setResponseBody()`
|
750 |
-
* Cleaning up `Guzzle\Common\Collection::inject` method
|
751 |
-
* Adding a response_body location to service descriptions
|
752 |
-
|
753 |
-
## 3.0.6 - 2012-12-09
|
754 |
-
|
755 |
-
* CurlMulti performance improvements
|
756 |
-
* Adding setErrorResponses() to Operation
|
757 |
-
* composer.json tweaks
|
758 |
-
|
759 |
-
## 3.0.5 - 2012-11-18
|
760 |
-
|
761 |
-
* Bug: Fixing an infinite recursion bug caused from revalidating with the CachePlugin
|
762 |
-
* Bug: Response body can now be a string containing "0"
|
763 |
-
* Bug: Using Guzzle inside of a phar uses system by default but now allows for a custom cacert
|
764 |
-
* Bug: QueryString::fromString now properly parses query string parameters that contain equal signs
|
765 |
-
* Added support for XML attributes in service description responses
|
766 |
-
* DefaultRequestSerializer now supports array URI parameter values for URI template expansion
|
767 |
-
* Added better mimetype guessing to requests and post files
|
768 |
-
|
769 |
-
## 3.0.4 - 2012-11-11
|
770 |
-
|
771 |
-
* Bug: Fixed a bug when adding multiple cookies to a request to use the correct glue value
|
772 |
-
* Bug: Cookies can now be added that have a name, domain, or value set to "0"
|
773 |
-
* Bug: Using the system cacert bundle when using the Phar
|
774 |
-
* Added json and xml methods to Response to make it easier to parse JSON and XML response data into data structures
|
775 |
-
* Enhanced cookie jar de-duplication
|
776 |
-
* Added the ability to enable strict cookie jars that throw exceptions when invalid cookies are added
|
777 |
-
* Added setStream to StreamInterface to actually make it possible to implement custom rewind behavior for entity bodies
|
778 |
-
* Added the ability to create any sort of hash for a stream rather than just an MD5 hash
|
779 |
-
|
780 |
-
## 3.0.3 - 2012-11-04
|
781 |
-
|
782 |
-
* Implementing redirects in PHP rather than cURL
|
783 |
-
* Added PECL URI template extension and using as default parser if available
|
784 |
-
* Bug: Fixed Content-Length parsing of Response factory
|
785 |
-
* Adding rewind() method to entity bodies and streams. Allows for custom rewinding of non-repeatable streams.
|
786 |
-
* Adding ToArrayInterface throughout library
|
787 |
-
* Fixing OauthPlugin to create unique nonce values per request
|
788 |
-
|
789 |
-
## 3.0.2 - 2012-10-25
|
790 |
-
|
791 |
-
* Magic methods are enabled by default on clients
|
792 |
-
* Magic methods return the result of a command
|
793 |
-
* Service clients no longer require a base_url option in the factory
|
794 |
-
* Bug: Fixed an issue with URI templates where null template variables were being expanded
|
795 |
-
|
796 |
-
## 3.0.1 - 2012-10-22
|
797 |
-
|
798 |
-
* Models can now be used like regular collection objects by calling filter, map, etc.
|
799 |
-
* Models no longer require a Parameter structure or initial data in the constructor
|
800 |
-
* Added a custom AppendIterator to get around a PHP bug with the `\AppendIterator`
|
801 |
-
|
802 |
-
## 3.0.0 - 2012-10-15
|
803 |
-
|
804 |
-
* Rewrote service description format to be based on Swagger
|
805 |
-
* Now based on JSON schema
|
806 |
-
* Added nested input structures and nested response models
|
807 |
-
* Support for JSON and XML input and output models
|
808 |
-
* Renamed `commands` to `operations`
|
809 |
-
* Removed dot class notation
|
810 |
-
* Removed custom types
|
811 |
-
* Broke the project into smaller top-level namespaces to be more component friendly
|
812 |
-
* Removed support for XML configs and descriptions. Use arrays or JSON files.
|
813 |
-
* Removed the Validation component and Inspector
|
814 |
-
* Moved all cookie code to Guzzle\Plugin\Cookie
|
815 |
-
* Magic methods on a Guzzle\Service\Client now return the command un-executed.
|
816 |
-
* Calling getResult() or getResponse() on a command will lazily execute the command if needed.
|
817 |
-
* Now shipping with cURL's CA certs and using it by default
|
818 |
-
* Added previousResponse() method to response objects
|
819 |
-
* No longer sending Accept and Accept-Encoding headers on every request
|
820 |
-
* Only sending an Expect header by default when a payload is greater than 1MB
|
821 |
-
* Added/moved client options:
|
822 |
-
* curl.blacklist to curl.option.blacklist
|
823 |
-
* Added ssl.certificate_authority
|
824 |
-
* Added a Guzzle\Iterator component
|
825 |
-
* Moved plugins from Guzzle\Http\Plugin to Guzzle\Plugin
|
826 |
-
* Added a more robust backoff retry strategy (replaced the ExponentialBackoffPlugin)
|
827 |
-
* Added a more robust caching plugin
|
828 |
-
* Added setBody to response objects
|
829 |
-
* Updating LogPlugin to use a more flexible MessageFormatter
|
830 |
-
* Added a completely revamped build process
|
831 |
-
* Cleaning up Collection class and removing default values from the get method
|
832 |
-
* Fixed ZF2 cache adapters
|
833 |
-
|
834 |
-
## 2.8.8 - 2012-10-15
|
835 |
-
|
836 |
-
* Bug: Fixed a cookie issue that caused dot prefixed domains to not match where popular browsers did
|
837 |
-
|
838 |
-
## 2.8.7 - 2012-09-30
|
839 |
-
|
840 |
-
* Bug: Fixed config file aliases for JSON includes
|
841 |
-
* Bug: Fixed cookie bug on a request object by using CookieParser to parse cookies on requests
|
842 |
-
* Bug: Removing the path to a file when sending a Content-Disposition header on a POST upload
|
843 |
-
* Bug: Hardening request and response parsing to account for missing parts
|
844 |
-
* Bug: Fixed PEAR packaging
|
845 |
-
* Bug: Fixed Request::getInfo
|
846 |
-
* Bug: Fixed cases where CURLM_CALL_MULTI_PERFORM return codes were causing curl transactions to fail
|
847 |
-
* Adding the ability for the namespace Iterator factory to look in multiple directories
|
848 |
-
* Added more getters/setters/removers from service descriptions
|
849 |
-
* Added the ability to remove POST fields from OAuth signatures
|
850 |
-
* OAuth plugin now supports 2-legged OAuth
|
851 |
-
|
852 |
-
## 2.8.6 - 2012-09-05
|
853 |
-
|
854 |
-
* Added the ability to modify and build service descriptions
|
855 |
-
* Added the use of visitors to apply parameters to locations in service descriptions using the dynamic command
|
856 |
-
* Added a `json` parameter location
|
857 |
-
* Now allowing dot notation for classes in the CacheAdapterFactory
|
858 |
-
* Using the union of two arrays rather than an array_merge when extending service builder services and service params
|
859 |
-
* Ensuring that a service is a string before doing strpos() checks on it when substituting services for references
|
860 |
-
in service builder config files.
|
861 |
-
* Services defined in two different config files that include one another will by default replace the previously
|
862 |
-
defined service, but you can now create services that extend themselves and merge their settings over the previous
|
863 |
-
* The JsonLoader now supports aliasing filenames with different filenames. This allows you to alias something like
|
864 |
-
'_default' with a default JSON configuration file.
|
865 |
-
|
866 |
-
## 2.8.5 - 2012-08-29
|
867 |
-
|
868 |
-
* Bug: Suppressed empty arrays from URI templates
|
869 |
-
* Bug: Added the missing $options argument from ServiceDescription::factory to enable caching
|
870 |
-
* Added support for HTTP responses that do not contain a reason phrase in the start-line
|
871 |
-
* AbstractCommand commands are now invokable
|
872 |
-
* Added a way to get the data used when signing an Oauth request before a request is sent
|
873 |
-
|
874 |
-
## 2.8.4 - 2012-08-15
|
875 |
-
|
876 |
-
* Bug: Custom delay time calculations are no longer ignored in the ExponentialBackoffPlugin
|
877 |
-
* Added the ability to transfer entity bodies as a string rather than streamed. This gets around curl error 65. Set `body_as_string` in a request's curl options to enable.
|
878 |
-
* Added a StreamInterface, EntityBodyInterface, and added ftell() to Guzzle\Common\Stream
|
879 |
-
* Added an AbstractEntityBodyDecorator and a ReadLimitEntityBody decorator to transfer only a subset of a decorated stream
|
880 |
-
* Stream and EntityBody objects will now return the file position to the previous position after a read required operation (e.g. getContentMd5())
|
881 |
-
* Added additional response status codes
|
882 |
-
* Removed SSL information from the default User-Agent header
|
883 |
-
* DELETE requests can now send an entity body
|
884 |
-
* Added an EventDispatcher to the ExponentialBackoffPlugin and added an ExponentialBackoffLogger to log backoff retries
|
885 |
-
* Added the ability of the MockPlugin to consume mocked request bodies
|
886 |
-
* LogPlugin now exposes request and response objects in the extras array
|
887 |
-
|
888 |
-
## 2.8.3 - 2012-07-30
|
889 |
-
|
890 |
-
* Bug: Fixed a case where empty POST requests were sent as GET requests
|
891 |
-
* Bug: Fixed a bug in ExponentialBackoffPlugin that caused fatal errors when retrying an EntityEnclosingRequest that does not have a body
|
892 |
-
* Bug: Setting the response body of a request to null after completing a request, not when setting the state of a request to new
|
893 |
-
* Added multiple inheritance to service description commands
|
894 |
-
* Added an ApiCommandInterface and added `getParamNames()` and `hasParam()`
|
895 |
-
* Removed the default 2mb size cutoff from the Md5ValidatorPlugin so that it now defaults to validating everything
|
896 |
-
* Changed CurlMulti::perform to pass a smaller timeout to CurlMulti::executeHandles
|
897 |
-
|
898 |
-
## 2.8.2 - 2012-07-24
|
899 |
-
|
900 |
-
* Bug: Query string values set to 0 are no longer dropped from the query string
|
901 |
-
* Bug: A Collection object is no longer created each time a call is made to `Guzzle\Service\Command\AbstractCommand::getRequestHeaders()`
|
902 |
-
* Bug: `+` is now treated as an encoded space when parsing query strings
|
903 |
-
* QueryString and Collection performance improvements
|
904 |
-
* Allowing dot notation for class paths in filters attribute of a service descriptions
|
905 |
-
|
906 |
-
## 2.8.1 - 2012-07-16
|
907 |
-
|
908 |
-
* Loosening Event Dispatcher dependency
|
909 |
-
* POST redirects can now be customized using CURLOPT_POSTREDIR
|
910 |
-
|
911 |
-
## 2.8.0 - 2012-07-15
|
912 |
-
|
913 |
-
* BC: Guzzle\Http\Query
|
914 |
-
* Query strings with empty variables will always show an equal sign unless the variable is set to QueryString::BLANK (e.g. ?acl= vs ?acl)
|
915 |
-
* Changed isEncodingValues() and isEncodingFields() to isUrlEncoding()
|
916 |
-
* Changed setEncodeValues(bool) and setEncodeFields(bool) to useUrlEncoding(bool)
|
917 |
-
* Changed the aggregation functions of QueryString to be static methods
|
918 |
-
* Can now use fromString() with querystrings that have a leading ?
|
919 |
-
* cURL configuration values can be specified in service descriptions using `curl.` prefixed parameters
|
920 |
-
* Content-Length is set to 0 before emitting the request.before_send event when sending an empty request body
|
921 |
-
* Cookies are no longer URL decoded by default
|
922 |
-
* Bug: URI template variables set to null are no longer expanded
|
923 |
-
|
924 |
-
## 2.7.2 - 2012-07-02
|
925 |
-
|
926 |
-
* BC: Moving things to get ready for subtree splits. Moving Inflection into Common. Moving Guzzle\Http\Parser to Guzzle\Parser.
|
927 |
-
* BC: Removing Guzzle\Common\Batch\Batch::count() and replacing it with isEmpty()
|
928 |
-
* CachePlugin now allows for a custom request parameter function to check if a request can be cached
|
929 |
-
* Bug fix: CachePlugin now only caches GET and HEAD requests by default
|
930 |
-
* Bug fix: Using header glue when transferring headers over the wire
|
931 |
-
* Allowing deeply nested arrays for composite variables in URI templates
|
932 |
-
* Batch divisors can now return iterators or arrays
|
933 |
-
|
934 |
-
## 2.7.1 - 2012-06-26
|
935 |
-
|
936 |
-
* Minor patch to update version number in UA string
|
937 |
-
* Updating build process
|
938 |
-
|
939 |
-
## 2.7.0 - 2012-06-25
|
940 |
-
|
941 |
-
* BC: Inflection classes moved to Guzzle\Inflection. No longer static methods. Can now inject custom inflectors into classes.
|
942 |
-
* BC: Removed magic setX methods from commands
|
943 |
-
* BC: Magic methods mapped to service description commands are now inflected in the command factory rather than the client __call() method
|
944 |
-
* Verbose cURL options are no longer enabled by default. Set curl.debug to true on a client to enable.
|
945 |
-
* Bug: Now allowing colons in a response start-line (e.g. HTTP/1.1 503 Service Unavailable: Back-end server is at capacity)
|
946 |
-
* Guzzle\Service\Resource\ResourceIteratorApplyBatched now internally uses the Guzzle\Common\Batch namespace
|
947 |
-
* Added Guzzle\Service\Plugin namespace and a PluginCollectionPlugin
|
948 |
-
* Added the ability to set POST fields and files in a service description
|
949 |
-
* Guzzle\Http\EntityBody::factory() now accepts objects with a __toString() method
|
950 |
-
* Adding a command.before_prepare event to clients
|
951 |
-
* Added BatchClosureTransfer and BatchClosureDivisor
|
952 |
-
* BatchTransferException now includes references to the batch divisor and transfer strategies
|
953 |
-
* Fixed some tests so that they pass more reliably
|
954 |
-
* Added Guzzle\Common\Log\ArrayLogAdapter
|
955 |
-
|
956 |
-
## 2.6.6 - 2012-06-10
|
957 |
-
|
958 |
-
* BC: Removing Guzzle\Http\Plugin\BatchQueuePlugin
|
959 |
-
* BC: Removing Guzzle\Service\Command\CommandSet
|
960 |
-
* Adding generic batching system (replaces the batch queue plugin and command set)
|
961 |
-
* Updating ZF cache and log adapters and now using ZF's composer repository
|
962 |
-
* Bug: Setting the name of each ApiParam when creating through an ApiCommand
|
963 |
-
* Adding result_type, result_doc, deprecated, and doc_url to service descriptions
|
964 |
-
* Bug: Changed the default cookie header casing back to 'Cookie'
|
965 |
-
|
966 |
-
## 2.6.5 - 2012-06-03
|
967 |
-
|
968 |
-
* BC: Renaming Guzzle\Http\Message\RequestInterface::getResourceUri() to getResource()
|
969 |
-
* BC: Removing unused AUTH_BASIC and AUTH_DIGEST constants from
|
970 |
-
* BC: Guzzle\Http\Cookie is now used to manage Set-Cookie data, not Cookie data
|
971 |
-
* BC: Renaming methods in the CookieJarInterface
|
972 |
-
* Moving almost all cookie logic out of the CookiePlugin and into the Cookie or CookieJar implementations
|
973 |
-
* Making the default glue for HTTP headers ';' instead of ','
|
974 |
-
* Adding a removeValue to Guzzle\Http\Message\Header
|
975 |
-
* Adding getCookies() to request interface.
|
976 |
-
* Making it easier to add event subscribers to HasDispatcherInterface classes. Can now directly call addSubscriber()
|
977 |
-
|
978 |
-
## 2.6.4 - 2012-05-30
|
979 |
-
|
980 |
-
* BC: Cleaning up how POST files are stored in EntityEnclosingRequest objects. Adding PostFile class.
|
981 |
-
* BC: Moving ApiCommand specific functionality from the Inspector and on to the ApiCommand
|
982 |
-
* Bug: Fixing magic method command calls on clients
|
983 |
-
* Bug: Email constraint only validates strings
|
984 |
-
* Bug: Aggregate POST fields when POST files are present in curl handle
|
985 |
-
* Bug: Fixing default User-Agent header
|
986 |
-
* Bug: Only appending or prepending parameters in commands if they are specified
|
987 |
-
* Bug: Not requiring response reason phrases or status codes to match a predefined list of codes
|
988 |
-
* Allowing the use of dot notation for class namespaces when using instance_of constraint
|
989 |
-
* Added any_match validation constraint
|
990 |
-
* Added an AsyncPlugin
|
991 |
-
* Passing request object to the calculateWait method of the ExponentialBackoffPlugin
|
992 |
-
* Allowing the result of a command object to be changed
|
993 |
-
* Parsing location and type sub values when instantiating a service description rather than over and over at runtime
|
994 |
-
|
995 |
-
## 2.6.3 - 2012-05-23
|
996 |
-
|
997 |
-
* [BC] Guzzle\Common\FromConfigInterface no longer requires any config options.
|
998 |
-
* [BC] Refactoring how POST files are stored on an EntityEnclosingRequest. They are now separate from POST fields.
|
999 |
-
* You can now use an array of data when creating PUT request bodies in the request factory.
|
1000 |
-
* Removing the requirement that HTTPS requests needed a Cache-Control: public directive to be cacheable.
|
1001 |
-
* [Http] Adding support for Content-Type in multipart POST uploads per upload
|
1002 |
-
* [Http] Added support for uploading multiple files using the same name (foo[0], foo[1])
|
1003 |
-
* Adding more POST data operations for easier manipulation of POST data.
|
1004 |
-
* You can now set empty POST fields.
|
1005 |
-
* The body of a request is only shown on EntityEnclosingRequest objects that do not use POST files.
|
1006 |
-
* Split the Guzzle\Service\Inspector::validateConfig method into two methods. One to initialize when a command is created, and one to validate.
|
1007 |
-
* CS updates
|
1008 |
-
|
1009 |
-
## 2.6.2 - 2012-05-19
|
1010 |
-
|
1011 |
-
* [Http] Better handling of nested scope requests in CurlMulti. Requests are now always prepares in the send() method rather than the addRequest() method.
|
1012 |
-
|
1013 |
-
## 2.6.1 - 2012-05-19
|
1014 |
-
|
1015 |
-
* [BC] Removing 'path' support in service descriptions. Use 'uri'.
|
1016 |
-
* [BC] Guzzle\Service\Inspector::parseDocBlock is now protected. Adding getApiParamsForClass() with cache.
|
1017 |
-
* [BC] Removing Guzzle\Common\NullObject. Use https://github.com/mtdowling/NullObject if you need it.
|
1018 |
-
* [BC] Removing Guzzle\Common\XmlElement.
|
1019 |
-
* All commands, both dynamic and concrete, have ApiCommand objects.
|
1020 |
-
* Adding a fix for CurlMulti so that if all of the connections encounter some sort of curl error, then the loop exits.
|
1021 |
-
* Adding checks to EntityEnclosingRequest so that empty POST files and fields are ignored.
|
1022 |
-
* Making the method signature of Guzzle\Service\Builder\ServiceBuilder::factory more flexible.
|
1023 |
-
|
1024 |
-
## 2.6.0 - 2012-05-15
|
1025 |
-
|
1026 |
-
* [BC] Moving Guzzle\Service\Builder to Guzzle\Service\Builder\ServiceBuilder
|
1027 |
-
* [BC] Executing a Command returns the result of the command rather than the command
|
1028 |
-
* [BC] Moving all HTTP parsing logic to Guzzle\Http\Parsers. Allows for faster C implementations if needed.
|
1029 |
-
* [BC] Changing the Guzzle\Http\Message\Response::setProtocol() method to accept a protocol and version in separate args.
|
1030 |
-
* [BC] Moving ResourceIterator* to Guzzle\Service\Resource
|
1031 |
-
* [BC] Completely refactored ResourceIterators to iterate over a cloned command object
|
1032 |
-
* [BC] Moved Guzzle\Http\UriTemplate to Guzzle\Http\Parser\UriTemplate\UriTemplate
|
1033 |
-
* [BC] Guzzle\Guzzle is now deprecated
|
1034 |
-
* Moving Guzzle\Common\Guzzle::inject to Guzzle\Common\Collection::inject
|
1035 |
-
* Adding Guzzle\Version class to give version information about Guzzle
|
1036 |
-
* Adding Guzzle\Http\Utils class to provide getDefaultUserAgent() and getHttpDate()
|
1037 |
-
* Adding Guzzle\Curl\CurlVersion to manage caching curl_version() data
|
1038 |
-
* ServiceDescription and ServiceBuilder are now cacheable using similar configs
|
1039 |
-
* Changing the format of XML and JSON service builder configs. Backwards compatible.
|
1040 |
-
* Cleaned up Cookie parsing
|
1041 |
-
* Trimming the default Guzzle User-Agent header
|
1042 |
-
* Adding a setOnComplete() method to Commands that is called when a command completes
|
1043 |
-
* Keeping track of requests that were mocked in the MockPlugin
|
1044 |
-
* Fixed a caching bug in the CacheAdapterFactory
|
1045 |
-
* Inspector objects can be injected into a Command object
|
1046 |
-
* Refactoring a lot of code and tests to be case insensitive when dealing with headers
|
1047 |
-
* Adding Guzzle\Http\Message\HeaderComparison for easy comparison of HTTP headers using a DSL
|
1048 |
-
* Adding the ability to set global option overrides to service builder configs
|
1049 |
-
* Adding the ability to include other service builder config files from within XML and JSON files
|
1050 |
-
* Moving the parseQuery method out of Url and on to QueryString::fromString() as a static factory method.
|
1051 |
-
|
1052 |
-
## 2.5.0 - 2012-05-08
|
1053 |
-
|
1054 |
-
* Major performance improvements
|
1055 |
-
* [BC] Simplifying Guzzle\Common\Collection. Please check to see if you are using features that are now deprecated.
|
1056 |
-
* [BC] Using a custom validation system that allows a flyweight implementation for much faster validation. No longer using Symfony2 Validation component.
|
1057 |
-
* [BC] No longer supporting "{{ }}" for injecting into command or UriTemplates. Use "{}"
|
1058 |
-
* Added the ability to passed parameters to all requests created by a client
|
1059 |
-
* Added callback functionality to the ExponentialBackoffPlugin
|
1060 |
-
* Using microtime in ExponentialBackoffPlugin to allow more granular backoff strategies.
|
1061 |
-
* Rewinding request stream bodies when retrying requests
|
1062 |
-
* Exception is thrown when JSON response body cannot be decoded
|
1063 |
-
* Added configurable magic method calls to clients and commands. This is off by default.
|
1064 |
-
* Fixed a defect that added a hash to every parsed URL part
|
1065 |
-
* Fixed duplicate none generation for OauthPlugin.
|
1066 |
-
* Emitting an event each time a client is generated by a ServiceBuilder
|
1067 |
-
* Using an ApiParams object instead of a Collection for parameters of an ApiCommand
|
1068 |
-
* cache.* request parameters should be renamed to params.cache.*
|
1069 |
-
* Added the ability to set arbitrary curl options on requests (disable_wire, progress, etc.). See CurlHandle.
|
1070 |
-
* Added the ability to disable type validation of service descriptions
|
1071 |
-
* ServiceDescriptions and ServiceBuilders are now Serializable
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/guzzlehttp/guzzle/composer.json
DELETED
@@ -1,38 +0,0 @@
|
|
1 |
-
{
|
2 |
-
"name": "guzzlehttp/guzzle",
|
3 |
-
"type": "library",
|
4 |
-
"description": "Guzzle is a PHP HTTP client library and framework for building RESTful web service clients",
|
5 |
-
"keywords": ["framework", "http", "rest", "web service", "curl", "client", "HTTP client"],
|
6 |
-
"homepage": "http://guzzlephp.org/",
|
7 |
-
"license": "MIT",
|
8 |
-
"authors": [
|
9 |
-
{
|
10 |
-
"name": "Michael Dowling",
|
11 |
-
"email": "mtdowling@gmail.com",
|
12 |
-
"homepage": "https://github.com/mtdowling"
|
13 |
-
}
|
14 |
-
],
|
15 |
-
"require": {
|
16 |
-
"php": ">=5.4.0",
|
17 |
-
"guzzlehttp/ringphp": "^1.1",
|
18 |
-
"react/promise": "^2.2"
|
19 |
-
},
|
20 |
-
"require-dev": {
|
21 |
-
"ext-curl": "*",
|
22 |
-
"phpunit/phpunit": "^4.0"
|
23 |
-
},
|
24 |
-
"autoload": {
|
25 |
-
"psr-4": {
|
26 |
-
"GuzzleHttp\\": "src/"
|
27 |
-
}
|
28 |
-
},
|
29 |
-
"autoload-dev": {
|
30 |
-
"psr-4": {
|
31 |
-
"GuzzleHttp\\Tests\\": "tests/"
|
32 |
-
}
|
33 |
-
},
|
34 |
-
"scripts": {
|
35 |
-
"test": "make test",
|
36 |
-
"test-ci": "make coverage"
|
37 |
-
}
|
38 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/guzzlehttp/ringphp/.editorconfig
DELETED
@@ -1,12 +0,0 @@
|
|
1 |
-
root = true
|
2 |
-
|
3 |
-
[*]
|
4 |
-
charset = utf-8
|
5 |
-
end_of_line = lf
|
6 |
-
indent_size = 4
|
7 |
-
indent_style = space
|
8 |
-
insert_final_newline = true
|
9 |
-
trim_trailing_whitespace = true
|
10 |
-
|
11 |
-
[{Makefile,*.mk}]
|
12 |
-
indent_style = tab
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/guzzlehttp/ringphp/.travis.yml
DELETED
@@ -1,43 +0,0 @@
|
|
1 |
-
language: php
|
2 |
-
|
3 |
-
cache:
|
4 |
-
directories:
|
5 |
-
- $HOME/.composer/cache/files
|
6 |
-
|
7 |
-
php:
|
8 |
-
- 5.4
|
9 |
-
- 5.5
|
10 |
-
- 5.6
|
11 |
-
- 7.0
|
12 |
-
- 7.1
|
13 |
-
- 7.2
|
14 |
-
- hhvm
|
15 |
-
- nightly
|
16 |
-
|
17 |
-
env:
|
18 |
-
global:
|
19 |
-
- TEST_COMMAND="composer test"
|
20 |
-
|
21 |
-
matrix:
|
22 |
-
allow_failures:
|
23 |
-
- php: hhvm
|
24 |
-
- php: nightly
|
25 |
-
fast_finish: true
|
26 |
-
include:
|
27 |
-
- php: 5.4
|
28 |
-
env: COMPOSER_FLAGS="--prefer-stable --prefer-lowest"
|
29 |
-
|
30 |
-
before_install:
|
31 |
-
- if [[ $COVERAGE != true ]]; then phpenv config-rm xdebug.ini || true; fi
|
32 |
-
|
33 |
-
install:
|
34 |
-
# To be removed when this issue will be resolved: https://github.com/composer/composer/issues/5355
|
35 |
-
- if [[ "$COMPOSER_FLAGS" == *"--prefer-lowest"* ]]; then travis_retry composer update --prefer-dist --no-interaction --prefer-stable --quiet; fi
|
36 |
-
- travis_retry composer update ${COMPOSER_FLAGS} --prefer-dist --no-interaction
|
37 |
-
|
38 |
-
before_script:
|
39 |
-
- ~/.nvm/nvm.sh install v0.6.14
|
40 |
-
- ~/.nvm/nvm.sh run v0.6.14
|
41 |
-
|
42 |
-
script:
|
43 |
-
- $TEST_COMMAND
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/guzzlehttp/ringphp/CHANGELOG.md
DELETED
@@ -1,118 +0,0 @@
|
|
1 |
-
# Changelog
|
2 |
-
|
3 |
-
|
4 |
-
All notable changes to this project will be documented in this file.
|
5 |
-
|
6 |
-
The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
|
7 |
-
and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
|
8 |
-
|
9 |
-
|
10 |
-
## [Unreleased]
|
11 |
-
|
12 |
-
|
13 |
-
## [1.1.1] - 2018-07-31
|
14 |
-
|
15 |
-
### Fixed
|
16 |
-
|
17 |
-
- `continue` keyword usage on PHP 7.3
|
18 |
-
|
19 |
-
|
20 |
-
## [1.1.0] - 2015-05-19
|
21 |
-
|
22 |
-
### Added
|
23 |
-
|
24 |
-
- Added `CURL_HTTP_VERSION_2_0`
|
25 |
-
|
26 |
-
### Changed
|
27 |
-
|
28 |
-
- The PHP stream wrapper handler now sets `allow_self_signed` to `false` to
|
29 |
-
match the cURL handler when `verify` is set to `true` or a certificate file.
|
30 |
-
- Ensuring that a directory exists before using the `save_to` option.
|
31 |
-
- Response protocol version is now correctly extracted from a response.
|
32 |
-
|
33 |
-
### Fixed
|
34 |
-
|
35 |
-
- Fixed a bug in which the result of `CurlFactory::retryFailedRewind` did not
|
36 |
-
return an array.
|
37 |
-
|
38 |
-
|
39 |
-
## [1.0.7] - 2015-03-29
|
40 |
-
|
41 |
-
### Fixed
|
42 |
-
|
43 |
-
- PHP 7 fixes.
|
44 |
-
|
45 |
-
|
46 |
-
## [1.0.6] - 2015-02-26
|
47 |
-
|
48 |
-
### Changed
|
49 |
-
|
50 |
-
- The multi handle of the CurlMultiHandler is now created lazily.
|
51 |
-
|
52 |
-
### Fixed
|
53 |
-
|
54 |
-
- Bug fix: futures now extend from React's PromiseInterface to ensure that they
|
55 |
-
are properly forwarded down the promise chain.
|
56 |
-
|
57 |
-
|
58 |
-
## [1.0.5] - 2014-12-10
|
59 |
-
|
60 |
-
### Added
|
61 |
-
|
62 |
-
- Adding more error information to PHP stream wrapper exceptions.
|
63 |
-
- Added digest auth integration test support to test server.
|
64 |
-
|
65 |
-
|
66 |
-
## [1.0.4] - 2014-12-01
|
67 |
-
|
68 |
-
### Added
|
69 |
-
|
70 |
-
- Added support for older versions of cURL that do not have CURLOPT_TIMEOUT_MS.
|
71 |
-
- Added a fix to the StreamHandler to return a `FutureArrayInterface` when an
|
72 |
-
|
73 |
-
### Changed
|
74 |
-
|
75 |
-
- Setting debug to `false` does not enable debug output. error occurs.
|
76 |
-
|
77 |
-
|
78 |
-
## [1.0.3] - 2014-11-03
|
79 |
-
|
80 |
-
### Fixed
|
81 |
-
|
82 |
-
- Setting the `header` stream option as a string to be compatible with GAE.
|
83 |
-
- Header parsing now ensures that header order is maintained in the parsed
|
84 |
-
message.
|
85 |
-
|
86 |
-
|
87 |
-
## [1.0.2] - 2014-10-28
|
88 |
-
|
89 |
-
### Fixed
|
90 |
-
|
91 |
-
- Now correctly honoring a `version` option is supplied in a request.
|
92 |
-
See https://github.com/guzzle/RingPHP/pull/8
|
93 |
-
|
94 |
-
|
95 |
-
## [1.0.1] - 2014-10-26
|
96 |
-
|
97 |
-
### Fixed
|
98 |
-
|
99 |
-
- Fixed a header parsing issue with the `CurlHandler` and `CurlMultiHandler`
|
100 |
-
that caused cURL requests with multiple responses to merge repsonses together
|
101 |
-
(e.g., requests with digest authentication).
|
102 |
-
|
103 |
-
|
104 |
-
## 1.0.0 - 2014-10-12
|
105 |
-
|
106 |
-
- Initial release
|
107 |
-
|
108 |
-
|
109 |
-
[Unreleased]: https://github.com/guzzle/RingPHP/compare/1.1.1...HEAD
|
110 |
-
[1.1.1]: https://github.com/guzzle/RingPHP/compare/1.1.0...1.1.1
|
111 |
-
[1.1.0]: https://github.com/guzzle/RingPHP/compare/1.0.7...1.1.0
|
112 |
-
[1.0.7]: https://github.com/guzzle/RingPHP/compare/1.0.6...1.0.7
|
113 |
-
[1.0.6]: https://github.com/guzzle/RingPHP/compare/1.0.5...1.0.6
|
114 |
-
[1.0.5]: https://github.com/guzzle/RingPHP/compare/1.0.4...1.0.5
|
115 |
-
[1.0.4]: https://github.com/guzzle/RingPHP/compare/1.0.3...1.0.4
|
116 |
-
[1.0.3]: https://github.com/guzzle/RingPHP/compare/1.0.2...1.0.3
|
117 |
-
[1.0.2]: https://github.com/guzzle/RingPHP/compare/1.0.1...1.0.2
|
118 |
-
[1.0.1]: https://github.com/guzzle/RingPHP/compare/1.0.0...1.0.1
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/guzzlehttp/ringphp/composer.json
DELETED
@@ -1,43 +0,0 @@
|
|
1 |
-
{
|
2 |
-
"name": "guzzlehttp/ringphp",
|
3 |
-
"description": "Provides a simple API and specification that abstracts away the details of HTTP into a single PHP function.",
|
4 |
-
"license": "MIT",
|
5 |
-
"authors": [
|
6 |
-
{
|
7 |
-
"name": "Michael Dowling",
|
8 |
-
"email": "mtdowling@gmail.com",
|
9 |
-
"homepage": "https://github.com/mtdowling"
|
10 |
-
}
|
11 |
-
],
|
12 |
-
"require": {
|
13 |
-
"php": ">=5.4.0",
|
14 |
-
"guzzlehttp/streams": "~3.0",
|
15 |
-
"react/promise": "~2.0"
|
16 |
-
},
|
17 |
-
"require-dev": {
|
18 |
-
"ext-curl": "*",
|
19 |
-
"phpunit/phpunit": "~4.0"
|
20 |
-
},
|
21 |
-
"suggest": {
|
22 |
-
"ext-curl": "Guzzle will use specific adapters if cURL is present"
|
23 |
-
},
|
24 |
-
"autoload": {
|
25 |
-
"psr-4": {
|
26 |
-
"GuzzleHttp\\Ring\\": "src/"
|
27 |
-
}
|
28 |
-
},
|
29 |
-
"autoload-dev": {
|
30 |
-
"psr-4": {
|
31 |
-
"GuzzleHttp\\Tests\\Ring\\": "tests/"
|
32 |
-
}
|
33 |
-
},
|
34 |
-
"scripts": {
|
35 |
-
"test": "make test",
|
36 |
-
"test-ci": "make coverage"
|
37 |
-
},
|
38 |
-
"extra": {
|
39 |
-
"branch-alias": {
|
40 |
-
"dev-master": "1.1-dev"
|
41 |
-
}
|
42 |
-
}
|
43 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/guzzlehttp/ringphp/phpunit.xml.dist
DELETED
@@ -1,14 +0,0 @@
|
|
1 |
-
<?xml version="1.0" encoding="UTF-8"?>
|
2 |
-
<phpunit bootstrap="./tests/bootstrap.php"
|
3 |
-
colors="true">
|
4 |
-
<testsuites>
|
5 |
-
<testsuite>
|
6 |
-
<directory>tests</directory>
|
7 |
-
</testsuite>
|
8 |
-
</testsuites>
|
9 |
-
<filter>
|
10 |
-
<whitelist>
|
11 |
-
<directory suffix=".php">src</directory>
|
12 |
-
</whitelist>
|
13 |
-
</filter>
|
14 |
-
</phpunit>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/guzzlehttp/streams/.travis.yml
DELETED
@@ -1,17 +0,0 @@
|
|
1 |
-
language: php
|
2 |
-
|
3 |
-
php:
|
4 |
-
- 5.4
|
5 |
-
- 5.5
|
6 |
-
- 5.6
|
7 |
-
- hhvm
|
8 |
-
|
9 |
-
before_script:
|
10 |
-
- composer self-update
|
11 |
-
- composer install --no-interaction --prefer-source --dev
|
12 |
-
|
13 |
-
script: vendor/bin/phpunit
|
14 |
-
|
15 |
-
matrix:
|
16 |
-
allow_failures:
|
17 |
-
- php: hhvm
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/guzzlehttp/streams/composer.json
DELETED
@@ -1,28 +0,0 @@
|
|
1 |
-
{
|
2 |
-
"name": "guzzlehttp/streams",
|
3 |
-
"description": "Provides a simple abstraction over streams of data",
|
4 |
-
"homepage": "http://guzzlephp.org/",
|
5 |
-
"keywords": ["stream", "guzzle"],
|
6 |
-
"license": "MIT",
|
7 |
-
"authors": [
|
8 |
-
{
|
9 |
-
"name": "Michael Dowling",
|
10 |
-
"email": "mtdowling@gmail.com",
|
11 |
-
"homepage": "https://github.com/mtdowling"
|
12 |
-
}
|
13 |
-
],
|
14 |
-
"require": {
|
15 |
-
"php": ">=5.4.0"
|
16 |
-
},
|
17 |
-
"require-dev": {
|
18 |
-
"phpunit/phpunit": "~4.0"
|
19 |
-
},
|
20 |
-
"autoload": {
|
21 |
-
"psr-4": { "GuzzleHttp\\Stream\\": "src/" }
|
22 |
-
},
|
23 |
-
"extra": {
|
24 |
-
"branch-alias": {
|
25 |
-
"dev-master": "3.0-dev"
|
26 |
-
}
|
27 |
-
}
|
28 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/guzzlehttp/streams/phpunit.xml.dist
DELETED
@@ -1,17 +0,0 @@
|
|
1 |
-
<?xml version="1.0" encoding="UTF-8"?>
|
2 |
-
<phpunit bootstrap="./vendor/autoload.php"
|
3 |
-
colors="true">
|
4 |
-
<testsuites>
|
5 |
-
<testsuite>
|
6 |
-
<directory>tests</directory>
|
7 |
-
</testsuite>
|
8 |
-
</testsuites>
|
9 |
-
<filter>
|
10 |
-
<whitelist>
|
11 |
-
<directory suffix=".php">src</directory>
|
12 |
-
<exclude>
|
13 |
-
<file>src/functions.php</file>
|
14 |
-
</exclude>
|
15 |
-
</whitelist>
|
16 |
-
</filter>
|
17 |
-
</phpunit>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/monolog/monolog/CHANGELOG.md
DELETED
@@ -1,370 +0,0 @@
|
|
1 |
-
### 1.24.0 (2018-11-05)
|
2 |
-
|
3 |
-
* Added a `ResettableInterface` in order to reset/reset/clear/flush handlers and processors
|
4 |
-
* Added a `ProcessorInterface` as an optional way to label a class as being a processor (mostly useful for autowiring dependency containers)
|
5 |
-
* Added a way to log signals being received using Monolog\SignalHandler
|
6 |
-
* Added ability to customize error handling at the Logger level using Logger::setExceptionHandler
|
7 |
-
* Added InsightOpsHandler to migrate users of the LogEntriesHandler
|
8 |
-
* Added protection to NormalizerHandler against circular and very deep structures, it now stops normalizing at a depth of 9
|
9 |
-
* Added capture of stack traces to ErrorHandler when logging PHP errors
|
10 |
-
* Added RavenHandler support for a `contexts` context or extra key to forward that to Sentry's contexts
|
11 |
-
* Added forwarding of context info to FluentdFormatter
|
12 |
-
* Added SocketHandler::setChunkSize to override the default chunk size in case you must send large log lines to rsyslog for example
|
13 |
-
* Added ability to extend/override BrowserConsoleHandler
|
14 |
-
* Added SlackWebhookHandler::getWebhookUrl and SlackHandler::getToken to enable class extensibility
|
15 |
-
* Added SwiftMailerHandler::getSubjectFormatter to enable class extensibility
|
16 |
-
* Dropped official support for HHVM in test builds
|
17 |
-
* Fixed normalization of exception traces when call_user_func is used to avoid serializing objects and the data they contain
|
18 |
-
* Fixed naming of fields in Slack handler, all field names are now capitalized in all cases
|
19 |
-
* Fixed HipChatHandler bug where slack dropped messages randomly
|
20 |
-
* Fixed normalization of objects in Slack handlers
|
21 |
-
* Fixed support for PHP7's Throwable in NewRelicHandler
|
22 |
-
* Fixed race bug when StreamHandler sometimes incorrectly reported it failed to create a directory
|
23 |
-
* Fixed table row styling issues in HtmlFormatter
|
24 |
-
* Fixed RavenHandler dropping the message when logging exception
|
25 |
-
* Fixed WhatFailureGroupHandler skipping processors when using handleBatch
|
26 |
-
and implement it where possible
|
27 |
-
* Fixed display of anonymous class names
|
28 |
-
|
29 |
-
### 1.23.0 (2017-06-19)
|
30 |
-
|
31 |
-
* Improved SyslogUdpHandler's support for RFC5424 and added optional `$ident` argument
|
32 |
-
* Fixed GelfHandler truncation to be per field and not per message
|
33 |
-
* Fixed compatibility issue with PHP <5.3.6
|
34 |
-
* Fixed support for headless Chrome in ChromePHPHandler
|
35 |
-
* Fixed support for latest Aws SDK in DynamoDbHandler
|
36 |
-
* Fixed support for SwiftMailer 6.0+ in SwiftMailerHandler
|
37 |
-
|
38 |
-
### 1.22.1 (2017-03-13)
|
39 |
-
|
40 |
-
* Fixed lots of minor issues in the new Slack integrations
|
41 |
-
* Fixed support for allowInlineLineBreaks in LineFormatter when formatting exception backtraces
|
42 |
-
|
43 |
-
### 1.22.0 (2016-11-26)
|
44 |
-
|
45 |
-
* Added SlackbotHandler and SlackWebhookHandler to set up Slack integration more easily
|
46 |
-
* Added MercurialProcessor to add mercurial revision and branch names to log records
|
47 |
-
* Added support for AWS SDK v3 in DynamoDbHandler
|
48 |
-
* Fixed fatal errors occuring when normalizing generators that have been fully consumed
|
49 |
-
* Fixed RollbarHandler to include a level (rollbar level), monolog_level (original name), channel and datetime (unix)
|
50 |
-
* Fixed RollbarHandler not flushing records automatically, calling close() explicitly is not necessary anymore
|
51 |
-
* Fixed SyslogUdpHandler to avoid sending empty frames
|
52 |
-
* Fixed a few PHP 7.0 and 7.1 compatibility issues
|
53 |
-
|
54 |
-
### 1.21.0 (2016-07-29)
|
55 |
-
|
56 |
-
* Break: Reverted the addition of $context when the ErrorHandler handles regular php errors from 1.20.0 as it was causing issues
|
57 |
-
* Added support for more formats in RotatingFileHandler::setFilenameFormat as long as they have Y, m and d in order
|
58 |
-
* Added ability to format the main line of text the SlackHandler sends by explictly setting a formatter on the handler
|
59 |
-
* Added information about SoapFault instances in NormalizerFormatter
|
60 |
-
* Added $handleOnlyReportedErrors option on ErrorHandler::registerErrorHandler (default true) to allow logging of all errors no matter the error_reporting level
|
61 |
-
|
62 |
-
### 1.20.0 (2016-07-02)
|
63 |
-
|
64 |
-
* Added FingersCrossedHandler::activate() to manually trigger the handler regardless of the activation policy
|
65 |
-
* Added StreamHandler::getUrl to retrieve the stream's URL
|
66 |
-
* Added ability to override addRow/addTitle in HtmlFormatter
|
67 |
-
* Added the $context to context information when the ErrorHandler handles a regular php error
|
68 |
-
* Deprecated RotatingFileHandler::setFilenameFormat to only support 3 formats: Y, Y-m and Y-m-d
|
69 |
-
* Fixed WhatFailureGroupHandler to work with PHP7 throwables
|
70 |
-
* Fixed a few minor bugs
|
71 |
-
|
72 |
-
### 1.19.0 (2016-04-12)
|
73 |
-
|
74 |
-
* Break: StreamHandler will not close streams automatically that it does not own. If you pass in a stream (not a path/url), then it will not close it for you. You can retrieve those using getStream() if needed
|
75 |
-
* Added DeduplicationHandler to remove duplicate records from notifications across multiple requests, useful for email or other notifications on errors
|
76 |
-
* Added ability to use `%message%` and other LineFormatter replacements in the subject line of emails sent with NativeMailHandler and SwiftMailerHandler
|
77 |
-
* Fixed HipChatHandler handling of long messages
|
78 |
-
|
79 |
-
### 1.18.2 (2016-04-02)
|
80 |
-
|
81 |
-
* Fixed ElasticaFormatter to use more precise dates
|
82 |
-
* Fixed GelfMessageFormatter sending too long messages
|
83 |
-
|
84 |
-
### 1.18.1 (2016-03-13)
|
85 |
-
|
86 |
-
* Fixed SlackHandler bug where slack dropped messages randomly
|
87 |
-
* Fixed RedisHandler issue when using with the PHPRedis extension
|
88 |
-
* Fixed AmqpHandler content-type being incorrectly set when using with the AMQP extension
|
89 |
-
* Fixed BrowserConsoleHandler regression
|
90 |
-
|
91 |
-
### 1.18.0 (2016-03-01)
|
92 |
-
|
93 |
-
* Added optional reduction of timestamp precision via `Logger->useMicrosecondTimestamps(false)`, disabling it gets you a bit of performance boost but reduces the precision to the second instead of microsecond
|
94 |
-
* Added possibility to skip some extra stack frames in IntrospectionProcessor if you have some library wrapping Monolog that is always adding frames
|
95 |
-
* Added `Logger->withName` to clone a logger (keeping all handlers) with a new name
|
96 |
-
* Added FluentdFormatter for the Fluentd unix socket protocol
|
97 |
-
* Added HandlerWrapper base class to ease the creation of handler wrappers, just extend it and override as needed
|
98 |
-
* Added support for replacing context sub-keys using `%context.*%` in LineFormatter
|
99 |
-
* Added support for `payload` context value in RollbarHandler
|
100 |
-
* Added setRelease to RavenHandler to describe the application version, sent with every log
|
101 |
-
* Added support for `fingerprint` context value in RavenHandler
|
102 |
-
* Fixed JSON encoding errors that would gobble up the whole log record, we now handle those more gracefully by dropping chars as needed
|
103 |
-
* Fixed write timeouts in SocketHandler and derivatives, set to 10sec by default, lower it with `setWritingTimeout()`
|
104 |
-
* Fixed PHP7 compatibility with regard to Exception/Throwable handling in a few places
|
105 |
-
|
106 |
-
### 1.17.2 (2015-10-14)
|
107 |
-
|
108 |
-
* Fixed ErrorHandler compatibility with non-Monolog PSR-3 loggers
|
109 |
-
* Fixed SlackHandler handling to use slack functionalities better
|
110 |
-
* Fixed SwiftMailerHandler bug when sending multiple emails they all had the same id
|
111 |
-
* Fixed 5.3 compatibility regression
|
112 |
-
|
113 |
-
### 1.17.1 (2015-08-31)
|
114 |
-
|
115 |
-
* Fixed RollbarHandler triggering PHP notices
|
116 |
-
|
117 |
-
### 1.17.0 (2015-08-30)
|
118 |
-
|
119 |
-
* Added support for `checksum` and `release` context/extra values in RavenHandler
|
120 |
-
* Added better support for exceptions in RollbarHandler
|
121 |
-
* Added UidProcessor::getUid
|
122 |
-
* Added support for showing the resource type in NormalizedFormatter
|
123 |
-
* Fixed IntrospectionProcessor triggering PHP notices
|
124 |
-
|
125 |
-
### 1.16.0 (2015-08-09)
|
126 |
-
|
127 |
-
* Added IFTTTHandler to notify ifttt.com triggers
|
128 |
-
* Added Logger::setHandlers() to allow setting/replacing all handlers
|
129 |
-
* Added $capSize in RedisHandler to cap the log size
|
130 |
-
* Fixed StreamHandler creation of directory to only trigger when the first log write happens
|
131 |
-
* Fixed bug in the handling of curl failures
|
132 |
-
* Fixed duplicate logging of fatal errors when both error and fatal error handlers are registered in monolog's ErrorHandler
|
133 |
-
* Fixed missing fatal errors records with handlers that need to be closed to flush log records
|
134 |
-
* Fixed TagProcessor::addTags support for associative arrays
|
135 |
-
|
136 |
-
### 1.15.0 (2015-07-12)
|
137 |
-
|
138 |
-
* Added addTags and setTags methods to change a TagProcessor
|
139 |
-
* Added automatic creation of directories if they are missing for a StreamHandler to open a log file
|
140 |
-
* Added retry functionality to Loggly, Cube and Mandrill handlers so they retry up to 5 times in case of network failure
|
141 |
-
* Fixed process exit code being incorrectly reset to 0 if ErrorHandler::registerExceptionHandler was used
|
142 |
-
* Fixed HTML/JS escaping in BrowserConsoleHandler
|
143 |
-
* Fixed JSON encoding errors being silently suppressed (PHP 5.5+ only)
|
144 |
-
|
145 |
-
### 1.14.0 (2015-06-19)
|
146 |
-
|
147 |
-
* Added PHPConsoleHandler to send record to Chrome's PHP Console extension and library
|
148 |
-
* Added support for objects implementing __toString in the NormalizerFormatter
|
149 |
-
* Added support for HipChat's v2 API in HipChatHandler
|
150 |
-
* Added Logger::setTimezone() to initialize the timezone monolog should use in case date.timezone isn't correct for your app
|
151 |
-
* Added an option to send formatted message instead of the raw record on PushoverHandler via ->useFormattedMessage(true)
|
152 |
-
* Fixed curl errors being silently suppressed
|
153 |
-
|
154 |
-
### 1.13.1 (2015-03-09)
|
155 |
-
|
156 |
-
* Fixed regression in HipChat requiring a new token to be created
|
157 |
-
|
158 |
-
### 1.13.0 (2015-03-05)
|
159 |
-
|
160 |
-
* Added Registry::hasLogger to check for the presence of a logger instance
|
161 |
-
* Added context.user support to RavenHandler
|
162 |
-
* Added HipChat API v2 support in the HipChatHandler
|
163 |
-
* Added NativeMailerHandler::addParameter to pass params to the mail() process
|
164 |
-
* Added context data to SlackHandler when $includeContextAndExtra is true
|
165 |
-
* Added ability to customize the Swift_Message per-email in SwiftMailerHandler
|
166 |
-
* Fixed SwiftMailerHandler to lazily create message instances if a callback is provided
|
167 |
-
* Fixed serialization of INF and NaN values in Normalizer and LineFormatter
|
168 |
-
|
169 |
-
### 1.12.0 (2014-12-29)
|
170 |
-
|
171 |
-
* Break: HandlerInterface::isHandling now receives a partial record containing only a level key. This was always the intent and does not break any Monolog handler but is strictly speaking a BC break and you should check if you relied on any other field in your own handlers.
|
172 |
-
* Added PsrHandler to forward records to another PSR-3 logger
|
173 |
-
* Added SamplingHandler to wrap around a handler and include only every Nth record
|
174 |
-
* Added MongoDBFormatter to support better storage with MongoDBHandler (it must be enabled manually for now)
|
175 |
-
* Added exception codes in the output of most formatters
|
176 |
-
* Added LineFormatter::includeStacktraces to enable exception stack traces in logs (uses more than one line)
|
177 |
-
* Added $useShortAttachment to SlackHandler to minify attachment size and $includeExtra to append extra data
|
178 |
-
* Added $host to HipChatHandler for users of private instances
|
179 |
-
* Added $transactionName to NewRelicHandler and support for a transaction_name context value
|
180 |
-
* Fixed MandrillHandler to avoid outputing API call responses
|
181 |
-
* Fixed some non-standard behaviors in SyslogUdpHandler
|
182 |
-
|
183 |
-
### 1.11.0 (2014-09-30)
|
184 |
-
|
185 |
-
* Break: The NewRelicHandler extra and context data are now prefixed with extra_ and context_ to avoid clashes. Watch out if you have scripts reading those from the API and rely on names
|
186 |
-
* Added WhatFailureGroupHandler to suppress any exception coming from the wrapped handlers and avoid chain failures if a logging service fails
|
187 |
-
* Added MandrillHandler to send emails via the Mandrillapp.com API
|
188 |
-
* Added SlackHandler to log records to a Slack.com account
|
189 |
-
* Added FleepHookHandler to log records to a Fleep.io account
|
190 |
-
* Added LogglyHandler::addTag to allow adding tags to an existing handler
|
191 |
-
* Added $ignoreEmptyContextAndExtra to LineFormatter to avoid empty [] at the end
|
192 |
-
* Added $useLocking to StreamHandler and RotatingFileHandler to enable flock() while writing
|
193 |
-
* Added support for PhpAmqpLib in the AmqpHandler
|
194 |
-
* Added FingersCrossedHandler::clear and BufferHandler::clear to reset them between batches in long running jobs
|
195 |
-
* Added support for adding extra fields from $_SERVER in the WebProcessor
|
196 |
-
* Fixed support for non-string values in PrsLogMessageProcessor
|
197 |
-
* Fixed SwiftMailer messages being sent with the wrong date in long running scripts
|
198 |
-
* Fixed minor PHP 5.6 compatibility issues
|
199 |
-
* Fixed BufferHandler::close being called twice
|
200 |
-
|
201 |
-
### 1.10.0 (2014-06-04)
|
202 |
-
|
203 |
-
* Added Logger::getHandlers() and Logger::getProcessors() methods
|
204 |
-
* Added $passthruLevel argument to FingersCrossedHandler to let it always pass some records through even if the trigger level is not reached
|
205 |
-
* Added support for extra data in NewRelicHandler
|
206 |
-
* Added $expandNewlines flag to the ErrorLogHandler to create multiple log entries when a message has multiple lines
|
207 |
-
|
208 |
-
### 1.9.1 (2014-04-24)
|
209 |
-
|
210 |
-
* Fixed regression in RotatingFileHandler file permissions
|
211 |
-
* Fixed initialization of the BufferHandler to make sure it gets flushed after receiving records
|
212 |
-
* Fixed ChromePHPHandler and FirePHPHandler's activation strategies to be more conservative
|
213 |
-
|
214 |
-
### 1.9.0 (2014-04-20)
|
215 |
-
|
216 |
-
* Added LogEntriesHandler to send logs to a LogEntries account
|
217 |
-
* Added $filePermissions to tweak file mode on StreamHandler and RotatingFileHandler
|
218 |
-
* Added $useFormatting flag to MemoryProcessor to make it send raw data in bytes
|
219 |
-
* Added support for table formatting in FirePHPHandler via the table context key
|
220 |
-
* Added a TagProcessor to add tags to records, and support for tags in RavenHandler
|
221 |
-
* Added $appendNewline flag to the JsonFormatter to enable using it when logging to files
|
222 |
-
* Added sound support to the PushoverHandler
|
223 |
-
* Fixed multi-threading support in StreamHandler
|
224 |
-
* Fixed empty headers issue when ChromePHPHandler received no records
|
225 |
-
* Fixed default format of the ErrorLogHandler
|
226 |
-
|
227 |
-
### 1.8.0 (2014-03-23)
|
228 |
-
|
229 |
-
* Break: the LineFormatter now strips newlines by default because this was a bug, set $allowInlineLineBreaks to true if you need them
|
230 |
-
* Added BrowserConsoleHandler to send logs to any browser's console via console.log() injection in the output
|
231 |
-
* Added FilterHandler to filter records and only allow those of a given list of levels through to the wrapped handler
|
232 |
-
* Added FlowdockHandler to send logs to a Flowdock account
|
233 |
-
* Added RollbarHandler to send logs to a Rollbar account
|
234 |
-
* Added HtmlFormatter to send prettier log emails with colors for each log level
|
235 |
-
* Added GitProcessor to add the current branch/commit to extra record data
|
236 |
-
* Added a Monolog\Registry class to allow easier global access to pre-configured loggers
|
237 |
-
* Added support for the new official graylog2/gelf-php lib for GelfHandler, upgrade if you can by replacing the mlehner/gelf-php requirement
|
238 |
-
* Added support for HHVM
|
239 |
-
* Added support for Loggly batch uploads
|
240 |
-
* Added support for tweaking the content type and encoding in NativeMailerHandler
|
241 |
-
* Added $skipClassesPartials to tweak the ignored classes in the IntrospectionProcessor
|
242 |
-
* Fixed batch request support in GelfHandler
|
243 |
-
|
244 |
-
### 1.7.0 (2013-11-14)
|
245 |
-
|
246 |
-
* Added ElasticSearchHandler to send logs to an Elastic Search server
|
247 |
-
* Added DynamoDbHandler and ScalarFormatter to send logs to Amazon's Dynamo DB
|
248 |
-
* Added SyslogUdpHandler to send logs to a remote syslogd server
|
249 |
-
* Added LogglyHandler to send logs to a Loggly account
|
250 |
-
* Added $level to IntrospectionProcessor so it only adds backtraces when needed
|
251 |
-
* Added $version to LogstashFormatter to allow using the new v1 Logstash format
|
252 |
-
* Added $appName to NewRelicHandler
|
253 |
-
* Added configuration of Pushover notification retries/expiry
|
254 |
-
* Added $maxColumnWidth to NativeMailerHandler to change the 70 chars default
|
255 |
-
* Added chainability to most setters for all handlers
|
256 |
-
* Fixed RavenHandler batch processing so it takes the message from the record with highest priority
|
257 |
-
* Fixed HipChatHandler batch processing so it sends all messages at once
|
258 |
-
* Fixed issues with eAccelerator
|
259 |
-
* Fixed and improved many small things
|
260 |
-
|
261 |
-
### 1.6.0 (2013-07-29)
|
262 |
-
|
263 |
-
* Added HipChatHandler to send logs to a HipChat chat room
|
264 |
-
* Added ErrorLogHandler to send logs to PHP's error_log function
|
265 |
-
* Added NewRelicHandler to send logs to NewRelic's service
|
266 |
-
* Added Monolog\ErrorHandler helper class to register a Logger as exception/error/fatal handler
|
267 |
-
* Added ChannelLevelActivationStrategy for the FingersCrossedHandler to customize levels by channel
|
268 |
-
* Added stack traces output when normalizing exceptions (json output & co)
|
269 |
-
* Added Monolog\Logger::API constant (currently 1)
|
270 |
-
* Added support for ChromePHP's v4.0 extension
|
271 |
-
* Added support for message priorities in PushoverHandler, see $highPriorityLevel and $emergencyLevel
|
272 |
-
* Added support for sending messages to multiple users at once with the PushoverHandler
|
273 |
-
* Fixed RavenHandler's support for batch sending of messages (when behind a Buffer or FingersCrossedHandler)
|
274 |
-
* Fixed normalization of Traversables with very large data sets, only the first 1000 items are shown now
|
275 |
-
* Fixed issue in RotatingFileHandler when an open_basedir restriction is active
|
276 |
-
* Fixed minor issues in RavenHandler and bumped the API to Raven 0.5.0
|
277 |
-
* Fixed SyslogHandler issue when many were used concurrently with different facilities
|
278 |
-
|
279 |
-
### 1.5.0 (2013-04-23)
|
280 |
-
|
281 |
-
* Added ProcessIdProcessor to inject the PID in log records
|
282 |
-
* Added UidProcessor to inject a unique identifier to all log records of one request/run
|
283 |
-
* Added support for previous exceptions in the LineFormatter exception serialization
|
284 |
-
* Added Monolog\Logger::getLevels() to get all available levels
|
285 |
-
* Fixed ChromePHPHandler so it avoids sending headers larger than Chrome can handle
|
286 |
-
|
287 |
-
### 1.4.1 (2013-04-01)
|
288 |
-
|
289 |
-
* Fixed exception formatting in the LineFormatter to be more minimalistic
|
290 |
-
* Fixed RavenHandler's handling of context/extra data, requires Raven client >0.1.0
|
291 |
-
* Fixed log rotation in RotatingFileHandler to work with long running scripts spanning multiple days
|
292 |
-
* Fixed WebProcessor array access so it checks for data presence
|
293 |
-
* Fixed Buffer, Group and FingersCrossed handlers to make use of their processors
|
294 |
-
|
295 |
-
### 1.4.0 (2013-02-13)
|
296 |
-
|
297 |
-
* Added RedisHandler to log to Redis via the Predis library or the phpredis extension
|
298 |
-
* Added ZendMonitorHandler to log to the Zend Server monitor
|
299 |
-
* Added the possibility to pass arrays of handlers and processors directly in the Logger constructor
|
300 |
-
* Added `$useSSL` option to the PushoverHandler which is enabled by default
|
301 |
-
* Fixed ChromePHPHandler and FirePHPHandler issue when multiple instances are used simultaneously
|
302 |
-
* Fixed header injection capability in the NativeMailHandler
|
303 |
-
|
304 |
-
### 1.3.1 (2013-01-11)
|
305 |
-
|
306 |
-
* Fixed LogstashFormatter to be usable with stream handlers
|
307 |
-
* Fixed GelfMessageFormatter levels on Windows
|
308 |
-
|
309 |
-
### 1.3.0 (2013-01-08)
|
310 |
-
|
311 |
-
* Added PSR-3 compliance, the `Monolog\Logger` class is now an instance of `Psr\Log\LoggerInterface`
|
312 |
-
* Added PsrLogMessageProcessor that you can selectively enable for full PSR-3 compliance
|
313 |
-
* Added LogstashFormatter (combine with SocketHandler or StreamHandler to send logs to Logstash)
|
314 |
-
* Added PushoverHandler to send mobile notifications
|
315 |
-
* Added CouchDBHandler and DoctrineCouchDBHandler
|
316 |
-
* Added RavenHandler to send data to Sentry servers
|
317 |
-
* Added support for the new MongoClient class in MongoDBHandler
|
318 |
-
* Added microsecond precision to log records' timestamps
|
319 |
-
* Added `$flushOnOverflow` param to BufferHandler to flush by batches instead of losing
|
320 |
-
the oldest entries
|
321 |
-
* Fixed normalization of objects with cyclic references
|
322 |
-
|
323 |
-
### 1.2.1 (2012-08-29)
|
324 |
-
|
325 |
-
* Added new $logopts arg to SyslogHandler to provide custom openlog options
|
326 |
-
* Fixed fatal error in SyslogHandler
|
327 |
-
|
328 |
-
### 1.2.0 (2012-08-18)
|
329 |
-
|
330 |
-
* Added AmqpHandler (for use with AMQP servers)
|
331 |
-
* Added CubeHandler
|
332 |
-
* Added NativeMailerHandler::addHeader() to send custom headers in mails
|
333 |
-
* Added the possibility to specify more than one recipient in NativeMailerHandler
|
334 |
-
* Added the possibility to specify float timeouts in SocketHandler
|
335 |
-
* Added NOTICE and EMERGENCY levels to conform with RFC 5424
|
336 |
-
* Fixed the log records to use the php default timezone instead of UTC
|
337 |
-
* Fixed BufferHandler not being flushed properly on PHP fatal errors
|
338 |
-
* Fixed normalization of exotic resource types
|
339 |
-
* Fixed the default format of the SyslogHandler to avoid duplicating datetimes in syslog
|
340 |
-
|
341 |
-
### 1.1.0 (2012-04-23)
|
342 |
-
|
343 |
-
* Added Monolog\Logger::isHandling() to check if a handler will
|
344 |
-
handle the given log level
|
345 |
-
* Added ChromePHPHandler
|
346 |
-
* Added MongoDBHandler
|
347 |
-
* Added GelfHandler (for use with Graylog2 servers)
|
348 |
-
* Added SocketHandler (for use with syslog-ng for example)
|
349 |
-
* Added NormalizerFormatter
|
350 |
-
* Added the possibility to change the activation strategy of the FingersCrossedHandler
|
351 |
-
* Added possibility to show microseconds in logs
|
352 |
-
* Added `server` and `referer` to WebProcessor output
|
353 |
-
|
354 |
-
### 1.0.2 (2011-10-24)
|
355 |
-
|
356 |
-
* Fixed bug in IE with large response headers and FirePHPHandler
|
357 |
-
|
358 |
-
### 1.0.1 (2011-08-25)
|
359 |
-
|
360 |
-
* Added MemoryPeakUsageProcessor and MemoryUsageProcessor
|
361 |
-
* Added Monolog\Logger::getName() to get a logger's channel name
|
362 |
-
|
363 |
-
### 1.0.0 (2011-07-06)
|
364 |
-
|
365 |
-
* Added IntrospectionProcessor to get info from where the logger was called
|
366 |
-
* Fixed WebProcessor in CLI
|
367 |
-
|
368 |
-
### 1.0.0-RC1 (2011-07-01)
|
369 |
-
|
370 |
-
* Initial release
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/monolog/monolog/composer.json
DELETED
@@ -1,66 +0,0 @@
|
|
1 |
-
{
|
2 |
-
"name": "monolog/monolog",
|
3 |
-
"description": "Sends your logs to files, sockets, inboxes, databases and various web services",
|
4 |
-
"keywords": ["log", "logging", "psr-3"],
|
5 |
-
"homepage": "http://github.com/Seldaek/monolog",
|
6 |
-
"type": "library",
|
7 |
-
"license": "MIT",
|
8 |
-
"authors": [
|
9 |
-
{
|
10 |
-
"name": "Jordi Boggiano",
|
11 |
-
"email": "j.boggiano@seld.be",
|
12 |
-
"homepage": "http://seld.be"
|
13 |
-
}
|
14 |
-
],
|
15 |
-
"require": {
|
16 |
-
"php": ">=5.3.0",
|
17 |
-
"psr/log": "~1.0"
|
18 |
-
},
|
19 |
-
"require-dev": {
|
20 |
-
"phpunit/phpunit": "~4.5",
|
21 |
-
"graylog2/gelf-php": "~1.0",
|
22 |
-
"sentry/sentry": "^0.13",
|
23 |
-
"ruflin/elastica": ">=0.90 <3.0",
|
24 |
-
"doctrine/couchdb": "~1.0@dev",
|
25 |
-
"aws/aws-sdk-php": "^2.4.9 || ^3.0",
|
26 |
-
"php-amqplib/php-amqplib": "~2.4",
|
27 |
-
"swiftmailer/swiftmailer": "^5.3|^6.0",
|
28 |
-
"php-console/php-console": "^3.1.3",
|
29 |
-
"phpunit/phpunit-mock-objects": "2.3.0",
|
30 |
-
"jakub-onderka/php-parallel-lint": "0.9"
|
31 |
-
},
|
32 |
-
"_": "phpunit/phpunit-mock-objects required in 2.3.0 due to https://github.com/sebastianbergmann/phpunit-mock-objects/issues/223 - needs hhvm 3.8+ on travis",
|
33 |
-
"suggest": {
|
34 |
-
"graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server",
|
35 |
-
"sentry/sentry": "Allow sending log messages to a Sentry server",
|
36 |
-
"doctrine/couchdb": "Allow sending log messages to a CouchDB server",
|
37 |
-
"ruflin/elastica": "Allow sending log messages to an Elastic Search server",
|
38 |
-
"php-amqplib/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib",
|
39 |
-
"ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)",
|
40 |
-
"ext-mongo": "Allow sending log messages to a MongoDB server",
|
41 |
-
"mongodb/mongodb": "Allow sending log messages to a MongoDB server via PHP Driver",
|
42 |
-
"aws/aws-sdk-php": "Allow sending log messages to AWS services like DynamoDB",
|
43 |
-
"rollbar/rollbar": "Allow sending log messages to Rollbar",
|
44 |
-
"php-console/php-console": "Allow sending log messages to Google Chrome"
|
45 |
-
},
|
46 |
-
"autoload": {
|
47 |
-
"psr-4": {"Monolog\\": "src/Monolog"}
|
48 |
-
},
|
49 |
-
"autoload-dev": {
|
50 |
-
"psr-4": {"Monolog\\": "tests/Monolog"}
|
51 |
-
},
|
52 |
-
"provide": {
|
53 |
-
"psr/log-implementation": "1.0.0"
|
54 |
-
},
|
55 |
-
"extra": {
|
56 |
-
"branch-alias": {
|
57 |
-
"dev-master": "2.0.x-dev"
|
58 |
-
}
|
59 |
-
},
|
60 |
-
"scripts": {
|
61 |
-
"test": [
|
62 |
-
"parallel-lint . --exclude vendor",
|
63 |
-
"phpunit"
|
64 |
-
]
|
65 |
-
}
|
66 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/monolog/monolog/phpunit.xml.dist
DELETED
@@ -1,19 +0,0 @@
|
|
1 |
-
<?xml version="1.0" encoding="UTF-8"?>
|
2 |
-
|
3 |
-
<phpunit bootstrap="vendor/autoload.php" colors="true">
|
4 |
-
<testsuites>
|
5 |
-
<testsuite name="Monolog Test Suite">
|
6 |
-
<directory>tests/Monolog/</directory>
|
7 |
-
</testsuite>
|
8 |
-
</testsuites>
|
9 |
-
|
10 |
-
<filter>
|
11 |
-
<whitelist>
|
12 |
-
<directory suffix=".php">src/Monolog/</directory>
|
13 |
-
</whitelist>
|
14 |
-
</filter>
|
15 |
-
|
16 |
-
<php>
|
17 |
-
<ini name="date.timezone" value="UTC"/>
|
18 |
-
</php>
|
19 |
-
</phpunit>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/paragonie/random_compat/composer.json
DELETED
@@ -1,34 +0,0 @@
|
|
1 |
-
{
|
2 |
-
"name": "paragonie/random_compat",
|
3 |
-
"description": "PHP 5.x polyfill for random_bytes() and random_int() from PHP 7",
|
4 |
-
"keywords": [
|
5 |
-
"csprng",
|
6 |
-
"random",
|
7 |
-
"polyfill",
|
8 |
-
"pseudorandom"
|
9 |
-
],
|
10 |
-
"license": "MIT",
|
11 |
-
"type": "library",
|
12 |
-
"authors": [
|
13 |
-
{
|
14 |
-
"name": "Paragon Initiative Enterprises",
|
15 |
-
"email": "security@paragonie.com",
|
16 |
-
"homepage": "https://paragonie.com"
|
17 |
-
}
|
18 |
-
],
|
19 |
-
"support": {
|
20 |
-
"issues": "https://github.com/paragonie/random_compat/issues",
|
21 |
-
"email": "info@paragonie.com",
|
22 |
-
"source": "https://github.com/paragonie/random_compat"
|
23 |
-
},
|
24 |
-
"require": {
|
25 |
-
"php": "^7"
|
26 |
-
},
|
27 |
-
"require-dev": {
|
28 |
-
"vimeo/psalm": "^1",
|
29 |
-
"phpunit/phpunit": "4.*|5.*"
|
30 |
-
},
|
31 |
-
"suggest": {
|
32 |
-
"ext-libsodium": "Provides a modern crypto API that can be used to generate random bytes."
|
33 |
-
}
|
34 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/paragonie/random_compat/lib/random.php
ADDED
@@ -0,0 +1,32 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Random_* Compatibility Library
|
4 |
+
* for using the new PHP 7 random_* API in PHP 5 projects
|
5 |
+
*
|
6 |
+
* @version 2.99.99
|
7 |
+
* @released 2018-06-06
|
8 |
+
*
|
9 |
+
* The MIT License (MIT)
|
10 |
+
*
|
11 |
+
* Copyright (c) 2015 - 2018 Paragon Initiative Enterprises
|
12 |
+
*
|
13 |
+
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
14 |
+
* of this software and associated documentation files (the "Software"), to deal
|
15 |
+
* in the Software without restriction, including without limitation the rights
|
16 |
+
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
17 |
+
* copies of the Software, and to permit persons to whom the Software is
|
18 |
+
* furnished to do so, subject to the following conditions:
|
19 |
+
*
|
20 |
+
* The above copyright notice and this permission notice shall be included in
|
21 |
+
* all copies or substantial portions of the Software.
|
22 |
+
*
|
23 |
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
24 |
+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
25 |
+
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
26 |
+
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
27 |
+
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
28 |
+
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
29 |
+
* SOFTWARE.
|
30 |
+
*/
|
31 |
+
|
32 |
+
// NOP
|
vendor/psr/log/composer.json
DELETED
@@ -1,26 +0,0 @@
|
|
1 |
-
{
|
2 |
-
"name": "psr/log",
|
3 |
-
"description": "Common interface for logging libraries",
|
4 |
-
"keywords": ["psr", "psr-3", "log"],
|
5 |
-
"homepage": "https://github.com/php-fig/log",
|
6 |
-
"license": "MIT",
|
7 |
-
"authors": [
|
8 |
-
{
|
9 |
-
"name": "PHP-FIG",
|
10 |
-
"homepage": "http://www.php-fig.org/"
|
11 |
-
}
|
12 |
-
],
|
13 |
-
"require": {
|
14 |
-
"php": ">=5.3.0"
|
15 |
-
},
|
16 |
-
"autoload": {
|
17 |
-
"psr-4": {
|
18 |
-
"Psr\\Log\\": "Psr/Log/"
|
19 |
-
}
|
20 |
-
},
|
21 |
-
"extra": {
|
22 |
-
"branch-alias": {
|
23 |
-
"dev-master": "1.0.x-dev"
|
24 |
-
}
|
25 |
-
}
|
26 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/react/promise/.travis.yml
DELETED
@@ -1,28 +0,0 @@
|
|
1 |
-
language: php
|
2 |
-
|
3 |
-
php:
|
4 |
-
- 5.4
|
5 |
-
- 5.5
|
6 |
-
- 5.6
|
7 |
-
- 7.0
|
8 |
-
- 7.1
|
9 |
-
- nightly # ignore errors, see below
|
10 |
-
- hhvm # ignore errors, see below
|
11 |
-
|
12 |
-
# lock distro so new future defaults will not break the build
|
13 |
-
dist: trusty
|
14 |
-
|
15 |
-
matrix:
|
16 |
-
allow_failures:
|
17 |
-
- php: hhvm
|
18 |
-
- php: nightly
|
19 |
-
|
20 |
-
install:
|
21 |
-
- composer install
|
22 |
-
|
23 |
-
script:
|
24 |
-
- ./vendor/bin/phpunit -v --coverage-text --coverage-clover=./build/logs/clover.xml
|
25 |
-
|
26 |
-
after_script:
|
27 |
-
- if [ -f ./build/logs/clover.xml ]; then travis_retry composer require satooshi/php-coveralls --no-interaction --update-with-dependencies; fi
|
28 |
-
- if [ -f ./build/logs/clover.xml ]; then php vendor/bin/coveralls -v; fi
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/react/promise/CHANGELOG.md
DELETED
@@ -1,135 +0,0 @@
|
|
1 |
-
CHANGELOG for 2.x
|
2 |
-
=================
|
3 |
-
|
4 |
-
* 2.7.1 (2018-01-07)
|
5 |
-
|
6 |
-
* Fix: file_exists warning when resolving with long strings.
|
7 |
-
(#130 by @sbesselsen)
|
8 |
-
* Improve performance by prefixing all global functions calls with \ to skip the look up and resolve process and go straight to the global function.
|
9 |
-
(#133 by @WyriHaximus)
|
10 |
-
|
11 |
-
* 2.7.0 (2018-06-13)
|
12 |
-
|
13 |
-
* Feature: Improve memory consumption for pending promises by using static internal callbacks without binding to self.
|
14 |
-
(#124 by @clue)
|
15 |
-
|
16 |
-
* 2.6.0 (2018-06-11)
|
17 |
-
|
18 |
-
* Feature: Significantly improve memory consumption and performance by only passing resolver args
|
19 |
-
to resolver and canceller if callback requires them. Also use static callbacks without
|
20 |
-
binding to promise, clean up canceller function reference when they are no longer
|
21 |
-
needed and hide resolver and canceller references from call stack on PHP 7+.
|
22 |
-
(#113, #115, #116, #117, #118, #119 and #123 by @clue)
|
23 |
-
|
24 |
-
These changes combined mean that rejecting promises with an `Exception` should
|
25 |
-
no longer cause any internal circular references which could cause some unexpected
|
26 |
-
memory growth in previous versions. By explicitly avoiding and explicitly
|
27 |
-
cleaning up said references, we can avoid relying on PHP's circular garbage collector
|
28 |
-
to kick in which significantly improves performance when rejecting many promises.
|
29 |
-
|
30 |
-
* Mark legacy progress support / notification API as deprecated
|
31 |
-
(#112 by @clue)
|
32 |
-
|
33 |
-
* Recommend rejecting promises by throwing an exception
|
34 |
-
(#114 by @jsor)
|
35 |
-
|
36 |
-
* Improve documentation to properly instantiate LazyPromise
|
37 |
-
(#121 by @holtkamp)
|
38 |
-
|
39 |
-
* Follower cancellation propagation was originally planned for this release
|
40 |
-
but has been reverted for now and is planned for a future release.
|
41 |
-
(#99 by @jsor and #122 by @clue)
|
42 |
-
|
43 |
-
* 2.5.1 (2017-03-25)
|
44 |
-
|
45 |
-
* Fix circular references when resolving with a promise which follows
|
46 |
-
itself (#94).
|
47 |
-
|
48 |
-
* 2.5.0 (2016-12-22)
|
49 |
-
|
50 |
-
* Revert automatic cancellation of pending collection promises once the
|
51 |
-
output promise resolves. This was introduced in 42d86b7 (PR #36, released
|
52 |
-
in [v2.3.0](https://github.com/reactphp/promise/releases/tag/v2.3.0)) and
|
53 |
-
was both unintended and backward incompatible.
|
54 |
-
|
55 |
-
If you need automatic cancellation, you can use something like:
|
56 |
-
|
57 |
-
```php
|
58 |
-
function allAndCancel(array $promises)
|
59 |
-
{
|
60 |
-
return \React\Promise\all($promises)
|
61 |
-
->always(function() use ($promises) {
|
62 |
-
foreach ($promises as $promise) {
|
63 |
-
if ($promise instanceof \React\Promise\CancellablePromiseInterface) {
|
64 |
-
$promise->cancel();
|
65 |
-
}
|
66 |
-
}
|
67 |
-
});
|
68 |
-
}
|
69 |
-
```
|
70 |
-
* `all()` and `map()` functions now preserve the order of the array (#77).
|
71 |
-
* Fix circular references when resolving a promise with itself (#71).
|
72 |
-
|
73 |
-
* 2.4.1 (2016-05-03)
|
74 |
-
|
75 |
-
* Fix `some()` not cancelling pending promises when too much input promises
|
76 |
-
reject (16ff799).
|
77 |
-
|
78 |
-
* 2.4.0 (2016-03-31)
|
79 |
-
|
80 |
-
* Support foreign thenables in `resolve()`.
|
81 |
-
Any object that provides a `then()` method is now assimilated to a trusted
|
82 |
-
promise that follows the state of this thenable (#52).
|
83 |
-
* Fix `some()` and `any()` for input arrays containing not enough items
|
84 |
-
(#34).
|
85 |
-
|
86 |
-
* 2.3.0 (2016-03-24)
|
87 |
-
|
88 |
-
* Allow cancellation of promises returned by functions working on promise
|
89 |
-
collections (#36).
|
90 |
-
* Handle `\Throwable` in the same way as `\Exception` (#51 by @joshdifabio).
|
91 |
-
|
92 |
-
* 2.2.2 (2016-02-26)
|
93 |
-
|
94 |
-
* Fix cancellation handlers called multiple times (#47 by @clue).
|
95 |
-
|
96 |
-
* 2.2.1 (2015-07-03)
|
97 |
-
|
98 |
-
* Fix stack error when resolving a promise in its own fulfillment or
|
99 |
-
rejection handlers.
|
100 |
-
|
101 |
-
* 2.2.0 (2014-12-30)
|
102 |
-
|
103 |
-
* Introduce new `ExtendedPromiseInterface` implemented by all promises.
|
104 |
-
* Add new `done()` method (part of the `ExtendedPromiseInterface`).
|
105 |
-
* Add new `otherwise()` method (part of the `ExtendedPromiseInterface`).
|
106 |
-
* Add new `always()` method (part of the `ExtendedPromiseInterface`).
|
107 |
-
* Add new `progress()` method (part of the `ExtendedPromiseInterface`).
|
108 |
-
* Rename `Deferred::progress` to `Deferred::notify` to avoid confusion with
|
109 |
-
`ExtendedPromiseInterface::progress` (a `Deferred::progress` alias is
|
110 |
-
still available for backward compatibility)
|
111 |
-
* `resolve()` now always returns a `ExtendedPromiseInterface`.
|
112 |
-
|
113 |
-
* 2.1.0 (2014-10-15)
|
114 |
-
|
115 |
-
* Introduce new `CancellablePromiseInterface` implemented by all promises.
|
116 |
-
* Add new `cancel()` method (part of the `CancellablePromiseInterface`).
|
117 |
-
|
118 |
-
* 2.0.0 (2013-12-10)
|
119 |
-
|
120 |
-
New major release. The goal is to streamline the API and to make it more
|
121 |
-
compliant with other promise libraries and especially with the new upcoming
|
122 |
-
[ES6 promises specification](https://github.com/domenic/promises-unwrapping/).
|
123 |
-
|
124 |
-
* Add standalone Promise class.
|
125 |
-
* Add new `race()` function.
|
126 |
-
* BC break: Bump minimum PHP version to PHP 5.4.
|
127 |
-
* BC break: Remove `ResolverInterface` and `PromiseInterface` from
|
128 |
-
`Deferred`.
|
129 |
-
* BC break: Change signature of `PromiseInterface`.
|
130 |
-
* BC break: Remove `When` and `Util` classes and move static methods to
|
131 |
-
functions.
|
132 |
-
* BC break: `FulfilledPromise` and `RejectedPromise` now throw an exception
|
133 |
-
when initialized with a promise instead of a value/reason.
|
134 |
-
* BC break: `Deferred::resolve()` and `Deferred::reject()` no longer return
|
135 |
-
a promise.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/react/promise/composer.json
DELETED
@@ -1,29 +0,0 @@
|
|
1 |
-
{
|
2 |
-
"name": "react/promise",
|
3 |
-
"description": "A lightweight implementation of CommonJS Promises/A for PHP",
|
4 |
-
"license": "MIT",
|
5 |
-
"authors": [
|
6 |
-
{"name": "Jan Sorgalla", "email": "jsorgalla@gmail.com"}
|
7 |
-
],
|
8 |
-
"require": {
|
9 |
-
"php": ">=5.4.0"
|
10 |
-
},
|
11 |
-
"require-dev": {
|
12 |
-
"phpunit/phpunit": "~4.8"
|
13 |
-
},
|
14 |
-
"autoload": {
|
15 |
-
"psr-4": {
|
16 |
-
"React\\Promise\\": "src/"
|
17 |
-
},
|
18 |
-
"files": ["src/functions_include.php"]
|
19 |
-
},
|
20 |
-
"autoload-dev": {
|
21 |
-
"psr-4": {
|
22 |
-
"React\\Promise\\": "tests/fixtures"
|
23 |
-
}
|
24 |
-
},
|
25 |
-
"keywords": [
|
26 |
-
"promise",
|
27 |
-
"promises"
|
28 |
-
]
|
29 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/react/promise/phpunit.xml.dist
DELETED
@@ -1,28 +0,0 @@
|
|
1 |
-
<?xml version="1.0" encoding="UTF-8"?>
|
2 |
-
|
3 |
-
<phpunit backupGlobals="false"
|
4 |
-
backupStaticAttributes="false"
|
5 |
-
colors="true"
|
6 |
-
convertErrorsToExceptions="true"
|
7 |
-
convertNoticesToExceptions="true"
|
8 |
-
convertWarningsToExceptions="true"
|
9 |
-
processIsolation="false"
|
10 |
-
stopOnFailure="false"
|
11 |
-
syntaxCheck="false"
|
12 |
-
bootstrap="tests/bootstrap.php"
|
13 |
-
>
|
14 |
-
<testsuites>
|
15 |
-
<testsuite name="Promise Test Suite">
|
16 |
-
<directory>./tests/</directory>
|
17 |
-
</testsuite>
|
18 |
-
</testsuites>
|
19 |
-
|
20 |
-
<filter>
|
21 |
-
<whitelist>
|
22 |
-
<directory>./src/</directory>
|
23 |
-
<exclude>
|
24 |
-
<file>./src/functions_include.php</file>
|
25 |
-
</exclude>
|
26 |
-
</whitelist>
|
27 |
-
</filter>
|
28 |
-
</phpunit>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|