Version Description
- Added: Forced email notifications to admin when Constant Contact API request fails on attempted form submission.
- Fixed: Addressed issues with plugin error logging and addressed false-positive error messaging.
- Fixed: Cleaned up style minification task to allow for unminified version of stylesheet.
- Updated: Updated support error messaging in admin to reference tab structure of plugin settings.
Download this release
Release Info
Developer | constantcontact |
Plugin | Constant Contact Forms |
Version | 1.8.5 |
Comparing to | |
See all releases |
Code changes from version 1.8.4 to 1.8.5
- assets/css/style.css +182 -2
- assets/css/style.min.css +1 -1
- assets/images/check_circle.svg +0 -0
- assets/images/error.svg +0 -0
- constant-contact-forms.php +20 -2
- includes/class-logging.php +39 -30
- includes/class-mail.php +5 -0
- includes/class-notification-content.php +4 -4
- includes/class-notifications.php +2 -2
- includes/class-process-form.php +14 -1
- includes/class-settings.php +13 -15
- includes/class-uninstall.php +1 -1
- includes/helper-functions.php +7 -11
- languages/constant-contact-forms.pot +18 -14
- readme.txt +11 -91
- vendor/autoload.php +1 -1
- vendor/composer/autoload_real.php +7 -7
- vendor/composer/autoload_static.php +5 -5
- vendor/composer/installed.json +4 -2
- vendor/constantcontact/constantcontact/.gitignore +25 -0
- vendor/defuse/php-encryption/.gitignore +11 -0
- vendor/google/recaptcha/.gitignore +7 -0
- vendor/guzzlehttp/ringphp/.gitignore +4 -0
- vendor/guzzlehttp/streams/.gitignore +6 -0
- vendor/psr/log/.gitignore +1 -0
- vendor/react/promise/.gitignore +5 -0
assets/css/style.css
CHANGED
@@ -1,2 +1,182 @@
|
|
1 |
-
.ctct-form-wrapper .ctct-button
|
2 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
.ctct-form-wrapper .ctct-button {
|
2 |
+
font-size: 0.9rem;
|
3 |
+
}
|
4 |
+
|
5 |
+
.ctct-form-wrapper .ctct-message {
|
6 |
+
border: 1px solid;
|
7 |
+
padding: 1em;
|
8 |
+
}
|
9 |
+
|
10 |
+
.ctct-form-wrapper .ctct-message.ctct-error {
|
11 |
+
background-color: rgba(255, 65, 54, 0.02);
|
12 |
+
border-color: #ff4136;
|
13 |
+
color: #cf0b00;
|
14 |
+
}
|
15 |
+
|
16 |
+
.ctct-form-wrapper .ctct-message.ctct-success {
|
17 |
+
background-color: rgba(46, 204, 64, 0.02);
|
18 |
+
border-color: #2ecc40;
|
19 |
+
color: #1b7926;
|
20 |
+
}
|
21 |
+
|
22 |
+
.ctct-form-wrapper .ctct-form-field {
|
23 |
+
margin: 0 0 1rem;
|
24 |
+
}
|
25 |
+
|
26 |
+
.ctct-form-wrapper .ctct-field-inline {
|
27 |
+
display: inline-block;
|
28 |
+
}
|
29 |
+
|
30 |
+
.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 {
|
31 |
+
background-image: url("../images/check_circle.svg");
|
32 |
+
background-position: 8px 50%;
|
33 |
+
background-repeat: no-repeat;
|
34 |
+
background-size: 18px;
|
35 |
+
border-color: #2ecc40;
|
36 |
+
padding-left: 32px;
|
37 |
+
}
|
38 |
+
|
39 |
+
.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 {
|
40 |
+
background: #fff url("../images/error.svg") no-repeat;
|
41 |
+
background-color: rgba(255, 65, 54, 0.02);
|
42 |
+
background-position: 8px 50%;
|
43 |
+
background-size: 24px;
|
44 |
+
border-color: #ff4136;
|
45 |
+
padding-left: 40px;
|
46 |
+
}
|
47 |
+
|
48 |
+
.ctct-form-wrapper .ctct-field-error {
|
49 |
+
font-size: 0.85rem;
|
50 |
+
font-style: italic;
|
51 |
+
}
|
52 |
+
|
53 |
+
.ctct-form-wrapper input.ctct-invalid {
|
54 |
+
background: #fff url("../images/error.svg") no-repeat;
|
55 |
+
background-color: rgba(255, 65, 54, 0.02);
|
56 |
+
background-position: 8px 50%;
|
57 |
+
background-size: 24px;
|
58 |
+
border-color: #ff4136;
|
59 |
+
padding-left: 40px;
|
60 |
+
}
|
61 |
+
|
62 |
+
.ctct-form-wrapper input.ctct-label-left,
|
63 |
+
.ctct-form-wrapper textarea.ctct-label-left {
|
64 |
+
display: inline-block;
|
65 |
+
width: 75%;
|
66 |
+
}
|
67 |
+
|
68 |
+
.ctct-form-wrapper span.ctct-label-left {
|
69 |
+
display: inline-block;
|
70 |
+
margin-right: 5%;
|
71 |
+
width: 20%;
|
72 |
+
}
|
73 |
+
|
74 |
+
.ctct-form-wrapper input.ctct-label-right,
|
75 |
+
.ctct-form-wrapper textarea.ctct-label-right {
|
76 |
+
display: inline-block;
|
77 |
+
margin-right: 5%;
|
78 |
+
width: 75%;
|
79 |
+
}
|
80 |
+
|
81 |
+
.ctct-form-wrapper span.ctct-label-right {
|
82 |
+
display: inline-block;
|
83 |
+
width: 20%;
|
84 |
+
}
|
85 |
+
|
86 |
+
.ctct-form-wrapper span.ctct-label-hidden {
|
87 |
+
left: -9999px !important;
|
88 |
+
position: absolute !important;
|
89 |
+
top: -9999px !important;
|
90 |
+
}
|
91 |
+
|
92 |
+
.ctct-form-wrapper #ctct_usage {
|
93 |
+
border: 0 none;
|
94 |
+
clip: rect(0, 0, 0, 0);
|
95 |
+
height: 1px;
|
96 |
+
margin: -1px;
|
97 |
+
overflow: hidden;
|
98 |
+
padding: 0;
|
99 |
+
position: absolute;
|
100 |
+
width: 1px;
|
101 |
+
}
|
102 |
+
|
103 |
+
.ctct-form-wrapper .no-recaptcha #ctct-submitted:disabled {
|
104 |
+
background-image: url("../images/oval.min.svg");
|
105 |
+
background-position: center;
|
106 |
+
background-repeat: no-repeat;
|
107 |
+
color: transparent;
|
108 |
+
cursor: wait;
|
109 |
+
opacity: 0.3;
|
110 |
+
}
|
111 |
+
|
112 |
+
.ctct-form-wrapper .has-recaptcha #ctct-submitted:disabled {
|
113 |
+
cursor: not-allowed;
|
114 |
+
}
|
115 |
+
|
116 |
+
.ctct-form-wrapper .ctct-form::after {
|
117 |
+
clear: both;
|
118 |
+
content: '';
|
119 |
+
display: table;
|
120 |
+
}
|
121 |
+
|
122 |
+
.ctct-form-wrapper .ctct-form .ctct-label-top label,
|
123 |
+
.ctct-form-wrapper .ctct-form .ctct-label-bottom label {
|
124 |
+
display: block;
|
125 |
+
}
|
126 |
+
|
127 |
+
.ctct-form-wrapper .ctct-form .ctct-label-left label,
|
128 |
+
.ctct-form-wrapper .ctct-form .ctct-label-right label {
|
129 |
+
display: inline-block;
|
130 |
+
}
|
131 |
+
|
132 |
+
.ctct-form-wrapper .ctct-form abbr {
|
133 |
+
border: none;
|
134 |
+
color: #ff4136;
|
135 |
+
font-size: 0.9rem;
|
136 |
+
}
|
137 |
+
|
138 |
+
.ctct-form-wrapper .ctct-input-container label {
|
139 |
+
color: #aaa;
|
140 |
+
font-size: 0.8rem;
|
141 |
+
}
|
142 |
+
|
143 |
+
.ctct-form-wrapper .ctct-field-error {
|
144 |
+
color: #ff4136;
|
145 |
+
}
|
146 |
+
|
147 |
+
.ctct-form-wrapper .ctct-submit {
|
148 |
+
cursor: pointer;
|
149 |
+
}
|
150 |
+
|
151 |
+
.ctct-twentyfourteen .ctct-form-field input {
|
152 |
+
width: 100%;
|
153 |
+
}
|
154 |
+
|
155 |
+
@media (min-width: 992px) {
|
156 |
+
.ctct-form-wrapper .ctct-field-half {
|
157 |
+
float: left;
|
158 |
+
margin-right: 2%;
|
159 |
+
width: 48%;
|
160 |
+
}
|
161 |
+
.ctct-form-wrapper .ctct-field-half:last-of-type {
|
162 |
+
margin-right: 0;
|
163 |
+
}
|
164 |
+
.ctct-form-wrapper .ctct-field-third {
|
165 |
+
float: left;
|
166 |
+
margin-right: 2%;
|
167 |
+
width: 32%;
|
168 |
+
}
|
169 |
+
.ctct-form-wrapper .ctct-field-third:last-of-type {
|
170 |
+
margin-right: 0;
|
171 |
+
}
|
172 |
+
.ctct-form-wrapper .ctct-field-fourth {
|
173 |
+
float: left;
|
174 |
+
margin-right: 2%;
|
175 |
+
width: 24%;
|
176 |
+
}
|
177 |
+
.ctct-form-wrapper .ctct-field-fourth:last-of-type {
|
178 |
+
margin-right: 0;
|
179 |
+
}
|
180 |
+
}
|
181 |
+
|
182 |
+
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0eWxlLmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLGlCQUFpQjtBQUNuQjs7QUFFQTtFQUNFLGlCQUFpQjtFQUNqQixZQUFZO0FBQ2Q7O0FBRUE7RUFDRSx5Q0FBeUM7RUFDekMscUJBQXFCO0VBQ3JCLGNBQWM7QUFDaEI7O0FBRUE7RUFDRSx5Q0FBeUM7RUFDekMscUJBQXFCO0VBQ3JCLGNBQWM7QUFDaEI7O0FBRUE7RUFDRSxnQkFBZ0I7QUFDbEI7O0FBRUE7RUFDRSxxQkFBcUI7QUFDdkI7O0FBbUNBO0VBQ0UsbURBQW1EO0VBQ25ELDRCQUE0QjtFQUM1Qiw0QkFBNEI7RUFDNUIscUJBQXFCO0VBQ3JCLHFCQUFxQjtFQUNyQixrQkFBa0I7QUFDcEI7O0FBRUE7RUFDRSxxREFBcUQ7RUFDckQseUNBQXlDO0VBQ3pDLDRCQUE0QjtFQUM1QixxQkFBcUI7RUFDckIscUJBQXFCO0VBQ3JCLGtCQUFrQjtBQUNwQjs7QUFFQTtFQUNFLGtCQUFrQjtFQUNsQixrQkFBa0I7QUFDcEI7O0FBRUE7RUFDRSxxREFBcUQ7RUFDckQseUNBQXlDO0VBQ3pDLDRCQUE0QjtFQUM1QixxQkFBcUI7RUFDckIscUJBQXFCO0VBQ3JCLGtCQUFrQjtBQUNwQjs7QUFFQTs7RUFFRSxxQkFBcUI7RUFDckIsVUFBVTtBQUNaOztBQUVBO0VBQ0UscUJBQXFCO0VBQ3JCLGdCQUFnQjtFQUNoQixVQUFVO0FBQ1o7O0FBRUE7O0VBRUUscUJBQXFCO0VBQ3JCLGdCQUFnQjtFQUNoQixVQUFVO0FBQ1o7O0FBRUE7RUFDRSxxQkFBcUI7RUFDckIsVUFBVTtBQUNaOztBQUVBO0VBQ0Usd0JBQXdCO0VBQ3hCLDZCQUE2QjtFQUM3Qix1QkFBdUI7QUFDekI7O0FBRUE7RUFDRSxjQUFjO0VBQ2Qsc0JBQXNCO0VBQ3RCLFdBQVc7RUFDWCxZQUFZO0VBQ1osZ0JBQWdCO0VBQ2hCLFVBQVU7RUFDVixrQkFBa0I7RUFDbEIsVUFBVTtBQUNaOztBQUVBO0VBQ0UsK0NBQStDO0VBQy9DLDJCQUEyQjtFQUMzQiw0QkFBNEI7RUFDNUIsa0JBQWtCO0VBQ2xCLFlBQVk7RUFDWixZQUFZO0FBQ2Q7O0FBRUE7RUFDRSxtQkFBbUI7QUFDckI7O0FBRUE7RUFDRSxXQUFXO0VBQ1gsV0FBVztFQUNYLGNBQWM7QUFDaEI7O0FBRUE7O0VBRUUsY0FBYztBQUNoQjs7QUFFQTs7RUFFRSxxQkFBcUI7QUFDdkI7O0FBRUE7RUFDRSxZQUFZO0VBQ1osY0FBYztFQUNkLGlCQUFpQjtBQUNuQjs7QUFFQTtFQUNFLFdBQVc7RUFDWCxpQkFBaUI7QUFDbkI7O0FBRUE7RUFDRSxjQUFjO0FBQ2hCOztBQUVBO0VBQ0UsZUFBZTtBQUNqQjs7QUFFQTtFQUNFLFdBQVc7QUFDYjs7QUE1SkE7RUFDRTtJQUNFLFdBQVc7SUFDWCxnQkFBZ0I7SUFDaEIsVUFBVTtFQUNaO0VBQ0E7SUFDRSxlQUFlO0VBQ2pCO0VBSUE7SUFDRSxXQUFXO0lBQ1gsZ0JBQWdCO0lBQ2hCLFVBQVU7RUFDWjtFQUNBO0lBQ0UsZUFBZTtFQUNqQjtFQUlBO0lBQ0UsV0FBVztJQUNYLGdCQUFnQjtJQUNoQixVQUFVO0VBQ1o7RUFDQTtJQUNFLGVBQWU7RUFDakI7QUFyQkYiLCJmaWxlIjoic3R5bGUuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmN0Y3QtZm9ybS13cmFwcGVyIC5jdGN0LWJ1dHRvbiB7XG4gIGZvbnQtc2l6ZTogMC45cmVtO1xufVxuXG4uY3RjdC1mb3JtLXdyYXBwZXIgLmN0Y3QtbWVzc2FnZSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkO1xuICBwYWRkaW5nOiAxZW07XG59XG5cbi5jdGN0LWZvcm0td3JhcHBlciAuY3RjdC1tZXNzYWdlLmN0Y3QtZXJyb3Ige1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgNjUsIDU0LCAwLjAyKTtcbiAgYm9yZGVyLWNvbG9yOiAjZmY0MTM2O1xuICBjb2xvcjogI2NmMGIwMDtcbn1cblxuLmN0Y3QtZm9ybS13cmFwcGVyIC5jdGN0LW1lc3NhZ2UuY3RjdC1zdWNjZXNzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg0NiwgMjA0LCA2NCwgMC4wMik7XG4gIGJvcmRlci1jb2xvcjogIzJlY2M0MDtcbiAgY29sb3I6ICMxYjc5MjY7XG59XG5cbi5jdGN0LWZvcm0td3JhcHBlciAuY3RjdC1mb3JtLWZpZWxkIHtcbiAgbWFyZ2luOiAwIDAgMXJlbTtcbn1cblxuLmN0Y3QtZm9ybS13cmFwcGVyIC5jdGN0LWZpZWxkLWlubGluZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5jdGN0LWZvcm0td3JhcHBlciAuY3RjdC1maWVsZC1oYWxmIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tcmlnaHQ6IDIlO1xuICAgIHdpZHRoOiA0OCU7XG4gIH1cbiAgLmN0Y3QtZm9ybS13cmFwcGVyIC5jdGN0LWZpZWxkLWhhbGY6bGFzdC1vZi10eXBlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5jdGN0LWZvcm0td3JhcHBlciAuY3RjdC1maWVsZC10aGlyZCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAyJTtcbiAgICB3aWR0aDogMzIlO1xuICB9XG4gIC5jdGN0LWZvcm0td3JhcHBlciAuY3RjdC1maWVsZC10aGlyZDpsYXN0LW9mLXR5cGUge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmN0Y3QtZm9ybS13cmFwcGVyIC5jdGN0LWZpZWxkLWZvdXJ0aCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAyJTtcbiAgICB3aWR0aDogMjQlO1xuICB9XG4gIC5jdGN0LWZvcm0td3JhcHBlciAuY3RjdC1maWVsZC1mb3VydGg6bGFzdC1vZi10eXBlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbn1cblxuLmN0Y3QtZm9ybS13cmFwcGVyIGlucHV0W3R5cGU9J3RleHQnXTpyZXF1aXJlZDp2YWxpZCwgLmN0Y3QtZm9ybS13cmFwcGVyIGlucHV0W3R5cGU9J2VtYWlsJ106cmVxdWlyZWQ6dmFsaWQsIC5jdGN0LWZvcm0td3JhcHBlciBpbnB1dFt0eXBlPSdwYXNzd29yZCddOnJlcXVpcmVkOnZhbGlkLCAuY3RjdC1mb3JtLXdyYXBwZXIgaW5wdXRbdHlwZT0ndGVsJ106cmVxdWlyZWQ6dmFsaWQsIC5jdGN0LWZvcm0td3JhcHBlciBpbnB1dFt0eXBlPSdudW1iZXInXTpyZXF1aXJlZDp2YWxpZCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9jaGVja19jaXJjbGUuc3ZnXCIpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA4cHggNTAlO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDE4cHg7XG4gIGJvcmRlci1jb2xvcjogIzJlY2M0MDtcbiAgcGFkZGluZy1sZWZ0OiAzMnB4O1xufVxuXG4uY3RjdC1mb3JtLXdyYXBwZXIgaW5wdXRbdHlwZT0ndGV4dCddOnJlcXVpcmVkLmN0Y3QtaW52YWxpZCwgLmN0Y3QtZm9ybS13cmFwcGVyIGlucHV0W3R5cGU9J3RleHQnXS5jdGN0LWludmFsaWQsIC5jdGN0LWZvcm0td3JhcHBlciBpbnB1dFt0eXBlPSdlbWFpbCddOnJlcXVpcmVkLmN0Y3QtaW52YWxpZCwgLmN0Y3QtZm9ybS13cmFwcGVyIGlucHV0W3R5cGU9J2VtYWlsJ10uY3RjdC1pbnZhbGlkLCAuY3RjdC1mb3JtLXdyYXBwZXIgaW5wdXRbdHlwZT0ncGFzc3dvcmQnXTpyZXF1aXJlZC5jdGN0LWludmFsaWQsIC5jdGN0LWZvcm0td3JhcHBlciBpbnB1dFt0eXBlPSdwYXNzd29yZCddLmN0Y3QtaW52YWxpZCwgLmN0Y3QtZm9ybS13cmFwcGVyIGlucHV0W3R5cGU9J3RlbCddOnJlcXVpcmVkLmN0Y3QtaW52YWxpZCwgLmN0Y3QtZm9ybS13cmFwcGVyIGlucHV0W3R5cGU9J3RlbCddLmN0Y3QtaW52YWxpZCwgLmN0Y3QtZm9ybS13cmFwcGVyIGlucHV0W3R5cGU9J251bWJlciddOnJlcXVpcmVkLmN0Y3QtaW52YWxpZCwgLmN0Y3QtZm9ybS13cmFwcGVyIGlucHV0W3R5cGU9J251bWJlciddLmN0Y3QtaW52YWxpZCB7XG4gIGJhY2tncm91bmQ6ICNmZmYgdXJsKFwiLi4vaW1hZ2VzL2Vycm9yLnN2Z1wiKSBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCA2NSwgNTQsIDAuMDIpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA4cHggNTAlO1xuICBiYWNrZ3JvdW5kLXNpemU6IDI0cHg7XG4gIGJvcmRlci1jb2xvcjogI2ZmNDEzNjtcbiAgcGFkZGluZy1sZWZ0OiA0MHB4O1xufVxuXG4uY3RjdC1mb3JtLXdyYXBwZXIgLmN0Y3QtZmllbGQtZXJyb3Ige1xuICBmb250LXNpemU6IDAuODVyZW07XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLmN0Y3QtZm9ybS13cmFwcGVyIGlucHV0LmN0Y3QtaW52YWxpZCB7XG4gIGJhY2tncm91bmQ6ICNmZmYgdXJsKFwiLi4vaW1hZ2VzL2Vycm9yLnN2Z1wiKSBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCA2NSwgNTQsIDAuMDIpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA4cHggNTAlO1xuICBiYWNrZ3JvdW5kLXNpemU6IDI0cHg7XG4gIGJvcmRlci1jb2xvcjogI2ZmNDEzNjtcbiAgcGFkZGluZy1sZWZ0OiA0MHB4O1xufVxuXG4uY3RjdC1mb3JtLXdyYXBwZXIgaW5wdXQuY3RjdC1sYWJlbC1sZWZ0LFxuLmN0Y3QtZm9ybS13cmFwcGVyIHRleHRhcmVhLmN0Y3QtbGFiZWwtbGVmdCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDc1JTtcbn1cblxuLmN0Y3QtZm9ybS13cmFwcGVyIHNwYW4uY3RjdC1sYWJlbC1sZWZ0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tcmlnaHQ6IDUlO1xuICB3aWR0aDogMjAlO1xufVxuXG4uY3RjdC1mb3JtLXdyYXBwZXIgaW5wdXQuY3RjdC1sYWJlbC1yaWdodCxcbi5jdGN0LWZvcm0td3JhcHBlciB0ZXh0YXJlYS5jdGN0LWxhYmVsLXJpZ2h0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tcmlnaHQ6IDUlO1xuICB3aWR0aDogNzUlO1xufVxuXG4uY3RjdC1mb3JtLXdyYXBwZXIgc3Bhbi5jdGN0LWxhYmVsLXJpZ2h0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMjAlO1xufVxuXG4uY3RjdC1mb3JtLXdyYXBwZXIgc3Bhbi5jdGN0LWxhYmVsLWhpZGRlbiB7XG4gIGxlZnQ6IC05OTk5cHggIWltcG9ydGFudDtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHRvcDogLTk5OTlweCAhaW1wb3J0YW50O1xufVxuXG4uY3RjdC1mb3JtLXdyYXBwZXIgI2N0Y3RfdXNhZ2Uge1xuICBib3JkZXI6IDAgbm9uZTtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgaGVpZ2h0OiAxcHg7XG4gIG1hcmdpbjogLTFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4O1xufVxuXG4uY3RjdC1mb3JtLXdyYXBwZXIgLm5vLXJlY2FwdGNoYSAjY3RjdC1zdWJtaXR0ZWQ6ZGlzYWJsZWQge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvb3ZhbC5taW4uc3ZnXCIpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY3Vyc29yOiB3YWl0O1xuICBvcGFjaXR5OiAwLjM7XG59XG5cbi5jdGN0LWZvcm0td3JhcHBlciAuaGFzLXJlY2FwdGNoYSAjY3RjdC1zdWJtaXR0ZWQ6ZGlzYWJsZWQge1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG4uY3RjdC1mb3JtLXdyYXBwZXIgLmN0Y3QtZm9ybTo6YWZ0ZXIge1xuICBjbGVhcjogYm90aDtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IHRhYmxlO1xufVxuXG4uY3RjdC1mb3JtLXdyYXBwZXIgLmN0Y3QtZm9ybSAuY3RjdC1sYWJlbC10b3AgbGFiZWwsXG4uY3RjdC1mb3JtLXdyYXBwZXIgLmN0Y3QtZm9ybSAuY3RjdC1sYWJlbC1ib3R0b20gbGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmN0Y3QtZm9ybS13cmFwcGVyIC5jdGN0LWZvcm0gLmN0Y3QtbGFiZWwtbGVmdCBsYWJlbCxcbi5jdGN0LWZvcm0td3JhcHBlciAuY3RjdC1mb3JtIC5jdGN0LWxhYmVsLXJpZ2h0IGxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4uY3RjdC1mb3JtLXdyYXBwZXIgLmN0Y3QtZm9ybSBhYmJyIHtcbiAgYm9yZGVyOiBub25lO1xuICBjb2xvcjogI2ZmNDEzNjtcbiAgZm9udC1zaXplOiAwLjlyZW07XG59XG5cbi5jdGN0LWZvcm0td3JhcHBlciAuY3RjdC1pbnB1dC1jb250YWluZXIgbGFiZWwge1xuICBjb2xvcjogI2FhYTtcbiAgZm9udC1zaXplOiAwLjhyZW07XG59XG5cbi5jdGN0LWZvcm0td3JhcHBlciAuY3RjdC1maWVsZC1lcnJvciB7XG4gIGNvbG9yOiAjZmY0MTM2O1xufVxuXG4uY3RjdC1mb3JtLXdyYXBwZXIgLmN0Y3Qtc3VibWl0IHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uY3RjdC10d2VudHlmb3VydGVlbiAuY3RjdC1mb3JtLWZpZWxkIGlucHV0IHtcbiAgd2lkdGg6IDEwMCU7XG59XG4iXX0= */
|
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-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 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-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,
|
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-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 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-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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0eWxlLmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxnQ0FDRSxlQUNGLENBRUEsaUNBQ0UsZ0JBQWlCLENBQ2pCLFdBQ0YsQ0FFQSw0Q0FDRSxvQ0FBeUMsQ0FDekMsb0JBQXFCLENBQ3JCLGFBQ0YsQ0FFQSw4Q0FDRSxvQ0FBeUMsQ0FDekMsb0JBQXFCLENBQ3JCLGFBQ0YsQ0FFQSxvQ0FDRSxlQUNGLENBRUEsc0NBQ0Usb0JBQ0YsQ0FtQ0EscVFBQ0UsZ0RBQW1ELENBQ25ELDJCQUE0QixDQUM1QiwyQkFBNEIsQ0FDNUIsb0JBQXFCLENBQ3JCLG9CQUFxQixDQUNyQixpQkFDRixDQUVBLG1pQkFDRSxrREFBcUQsQ0FDckQsb0NBQXlDLENBQ3pDLDJCQUE0QixDQUM1QixvQkFBcUIsQ0FDckIsb0JBQXFCLENBQ3JCLGlCQUNGLENBRUEscUNBQ0UsZ0JBQWtCLENBQ2xCLGlCQUNGLENBRUEsc0NBQ0Usa0RBQXFELENBQ3JELG9DQUF5QyxDQUN6QywyQkFBNEIsQ0FDNUIsb0JBQXFCLENBQ3JCLG9CQUFxQixDQUNyQixpQkFDRixDQUVBLHFGQUVFLG9CQUFxQixDQUNyQixTQUNGLENBRUEsd0NBQ0Usb0JBQXFCLENBQ3JCLGVBQWdCLENBQ2hCLFNBQ0YsQ0FFQSx1RkFFRSxvQkFBcUIsQ0FDckIsZUFBZ0IsQ0FDaEIsU0FDRixDQUVBLHlDQUNFLG9CQUFxQixDQUNyQixTQUNGLENBRUEsMENBQ0Usc0JBQXdCLENBQ3hCLDJCQUE2QixDQUM3QixxQkFDRixDQUVBLCtCQUNFLFFBQWMsQ0FDZCxrQkFBc0IsQ0FDdEIsVUFBVyxDQUNYLFdBQVksQ0FDWixlQUFnQixDQUNoQixTQUFVLENBQ1YsaUJBQWtCLENBQ2xCLFNBQ0YsQ0FFQSwwREFDRSw0Q0FBK0MsQ0FDL0MsdUJBQTJCLENBQzNCLDJCQUE0QixDQUM1QixpQkFBa0IsQ0FDbEIsV0FBWSxDQUNaLFVBQ0YsQ0FFQSwyREFDRSxrQkFDRixDQUVBLG9DQUNFLFVBQVcsQ0FDWCxVQUFXLENBQ1gsYUFDRixDQUVBLDJHQUVFLGFBQ0YsQ0FFQSwyR0FFRSxvQkFDRixDQUVBLG1DQUNFLFdBQVksQ0FDWixhQUFjLENBQ2QsZUFDRixDQUVBLCtDQUNFLFVBQVcsQ0FDWCxlQUNGLENBRUEscUNBQ0UsYUFDRixDQUVBLGdDQUNFLGNBQ0YsQ0FFQSw0Q0FDRSxVQUNGLENBNUpBLHlCQUNFLG9DQUNFLFVBQVcsQ0FDWCxlQUFnQixDQUNoQixTQUNGLENBQ0EsaURBQ0UsY0FDRixDQUlBLHFDQUNFLFVBQVcsQ0FDWCxlQUFnQixDQUNoQixTQUNGLENBQ0Esa0RBQ0UsY0FDRixDQUlBLHNDQUNFLFVBQVcsQ0FDWCxlQUFnQixDQUNoQixTQUNGLENBQ0EsbURBQ0UsY0FDRixDQXJCRiIsImZpbGUiOiJzdHlsZS5taW4uY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmN0Y3QtZm9ybS13cmFwcGVyIC5jdGN0LWJ1dHRvbiB7XG4gIGZvbnQtc2l6ZTogMC45cmVtO1xufVxuXG4uY3RjdC1mb3JtLXdyYXBwZXIgLmN0Y3QtbWVzc2FnZSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkO1xuICBwYWRkaW5nOiAxZW07XG59XG5cbi5jdGN0LWZvcm0td3JhcHBlciAuY3RjdC1tZXNzYWdlLmN0Y3QtZXJyb3Ige1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgNjUsIDU0LCAwLjAyKTtcbiAgYm9yZGVyLWNvbG9yOiAjZmY0MTM2O1xuICBjb2xvcjogI2NmMGIwMDtcbn1cblxuLmN0Y3QtZm9ybS13cmFwcGVyIC5jdGN0LW1lc3NhZ2UuY3RjdC1zdWNjZXNzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg0NiwgMjA0LCA2NCwgMC4wMik7XG4gIGJvcmRlci1jb2xvcjogIzJlY2M0MDtcbiAgY29sb3I6ICMxYjc5MjY7XG59XG5cbi5jdGN0LWZvcm0td3JhcHBlciAuY3RjdC1mb3JtLWZpZWxkIHtcbiAgbWFyZ2luOiAwIDAgMXJlbTtcbn1cblxuLmN0Y3QtZm9ybS13cmFwcGVyIC5jdGN0LWZpZWxkLWlubGluZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5jdGN0LWZvcm0td3JhcHBlciAuY3RjdC1maWVsZC1oYWxmIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tcmlnaHQ6IDIlO1xuICAgIHdpZHRoOiA0OCU7XG4gIH1cbiAgLmN0Y3QtZm9ybS13cmFwcGVyIC5jdGN0LWZpZWxkLWhhbGY6bGFzdC1vZi10eXBlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5jdGN0LWZvcm0td3JhcHBlciAuY3RjdC1maWVsZC10aGlyZCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAyJTtcbiAgICB3aWR0aDogMzIlO1xuICB9XG4gIC5jdGN0LWZvcm0td3JhcHBlciAuY3RjdC1maWVsZC10aGlyZDpsYXN0LW9mLXR5cGUge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmN0Y3QtZm9ybS13cmFwcGVyIC5jdGN0LWZpZWxkLWZvdXJ0aCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAyJTtcbiAgICB3aWR0aDogMjQlO1xuICB9XG4gIC5jdGN0LWZvcm0td3JhcHBlciAuY3RjdC1maWVsZC1mb3VydGg6bGFzdC1vZi10eXBlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbn1cblxuLmN0Y3QtZm9ybS13cmFwcGVyIGlucHV0W3R5cGU9J3RleHQnXTpyZXF1aXJlZDp2YWxpZCwgLmN0Y3QtZm9ybS13cmFwcGVyIGlucHV0W3R5cGU9J2VtYWlsJ106cmVxdWlyZWQ6dmFsaWQsIC5jdGN0LWZvcm0td3JhcHBlciBpbnB1dFt0eXBlPSdwYXNzd29yZCddOnJlcXVpcmVkOnZhbGlkLCAuY3RjdC1mb3JtLXdyYXBwZXIgaW5wdXRbdHlwZT0ndGVsJ106cmVxdWlyZWQ6dmFsaWQsIC5jdGN0LWZvcm0td3JhcHBlciBpbnB1dFt0eXBlPSdudW1iZXInXTpyZXF1aXJlZDp2YWxpZCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9jaGVja19jaXJjbGUuc3ZnXCIpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA4cHggNTAlO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDE4cHg7XG4gIGJvcmRlci1jb2xvcjogIzJlY2M0MDtcbiAgcGFkZGluZy1sZWZ0OiAzMnB4O1xufVxuXG4uY3RjdC1mb3JtLXdyYXBwZXIgaW5wdXRbdHlwZT0ndGV4dCddOnJlcXVpcmVkLmN0Y3QtaW52YWxpZCwgLmN0Y3QtZm9ybS13cmFwcGVyIGlucHV0W3R5cGU9J3RleHQnXS5jdGN0LWludmFsaWQsIC5jdGN0LWZvcm0td3JhcHBlciBpbnB1dFt0eXBlPSdlbWFpbCddOnJlcXVpcmVkLmN0Y3QtaW52YWxpZCwgLmN0Y3QtZm9ybS13cmFwcGVyIGlucHV0W3R5cGU9J2VtYWlsJ10uY3RjdC1pbnZhbGlkLCAuY3RjdC1mb3JtLXdyYXBwZXIgaW5wdXRbdHlwZT0ncGFzc3dvcmQnXTpyZXF1aXJlZC5jdGN0LWludmFsaWQsIC5jdGN0LWZvcm0td3JhcHBlciBpbnB1dFt0eXBlPSdwYXNzd29yZCddLmN0Y3QtaW52YWxpZCwgLmN0Y3QtZm9ybS13cmFwcGVyIGlucHV0W3R5cGU9J3RlbCddOnJlcXVpcmVkLmN0Y3QtaW52YWxpZCwgLmN0Y3QtZm9ybS13cmFwcGVyIGlucHV0W3R5cGU9J3RlbCddLmN0Y3QtaW52YWxpZCwgLmN0Y3QtZm9ybS13cmFwcGVyIGlucHV0W3R5cGU9J251bWJlciddOnJlcXVpcmVkLmN0Y3QtaW52YWxpZCwgLmN0Y3QtZm9ybS13cmFwcGVyIGlucHV0W3R5cGU9J251bWJlciddLmN0Y3QtaW52YWxpZCB7XG4gIGJhY2tncm91bmQ6ICNmZmYgdXJsKFwiLi4vaW1hZ2VzL2Vycm9yLnN2Z1wiKSBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCA2NSwgNTQsIDAuMDIpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA4cHggNTAlO1xuICBiYWNrZ3JvdW5kLXNpemU6IDI0cHg7XG4gIGJvcmRlci1jb2xvcjogI2ZmNDEzNjtcbiAgcGFkZGluZy1sZWZ0OiA0MHB4O1xufVxuXG4uY3RjdC1mb3JtLXdyYXBwZXIgLmN0Y3QtZmllbGQtZXJyb3Ige1xuICBmb250LXNpemU6IDAuODVyZW07XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLmN0Y3QtZm9ybS13cmFwcGVyIGlucHV0LmN0Y3QtaW52YWxpZCB7XG4gIGJhY2tncm91bmQ6ICNmZmYgdXJsKFwiLi4vaW1hZ2VzL2Vycm9yLnN2Z1wiKSBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCA2NSwgNTQsIDAuMDIpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA4cHggNTAlO1xuICBiYWNrZ3JvdW5kLXNpemU6IDI0cHg7XG4gIGJvcmRlci1jb2xvcjogI2ZmNDEzNjtcbiAgcGFkZGluZy1sZWZ0OiA0MHB4O1xufVxuXG4uY3RjdC1mb3JtLXdyYXBwZXIgaW5wdXQuY3RjdC1sYWJlbC1sZWZ0LFxuLmN0Y3QtZm9ybS13cmFwcGVyIHRleHRhcmVhLmN0Y3QtbGFiZWwtbGVmdCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDc1JTtcbn1cblxuLmN0Y3QtZm9ybS13cmFwcGVyIHNwYW4uY3RjdC1sYWJlbC1sZWZ0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tcmlnaHQ6IDUlO1xuICB3aWR0aDogMjAlO1xufVxuXG4uY3RjdC1mb3JtLXdyYXBwZXIgaW5wdXQuY3RjdC1sYWJlbC1yaWdodCxcbi5jdGN0LWZvcm0td3JhcHBlciB0ZXh0YXJlYS5jdGN0LWxhYmVsLXJpZ2h0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tcmlnaHQ6IDUlO1xuICB3aWR0aDogNzUlO1xufVxuXG4uY3RjdC1mb3JtLXdyYXBwZXIgc3Bhbi5jdGN0LWxhYmVsLXJpZ2h0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMjAlO1xufVxuXG4uY3RjdC1mb3JtLXdyYXBwZXIgc3Bhbi5jdGN0LWxhYmVsLWhpZGRlbiB7XG4gIGxlZnQ6IC05OTk5cHggIWltcG9ydGFudDtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHRvcDogLTk5OTlweCAhaW1wb3J0YW50O1xufVxuXG4uY3RjdC1mb3JtLXdyYXBwZXIgI2N0Y3RfdXNhZ2Uge1xuICBib3JkZXI6IDAgbm9uZTtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgaGVpZ2h0OiAxcHg7XG4gIG1hcmdpbjogLTFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4O1xufVxuXG4uY3RjdC1mb3JtLXdyYXBwZXIgLm5vLXJlY2FwdGNoYSAjY3RjdC1zdWJtaXR0ZWQ6ZGlzYWJsZWQge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvb3ZhbC5taW4uc3ZnXCIpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY3Vyc29yOiB3YWl0O1xuICBvcGFjaXR5OiAwLjM7XG59XG5cbi5jdGN0LWZvcm0td3JhcHBlciAuaGFzLXJlY2FwdGNoYSAjY3RjdC1zdWJtaXR0ZWQ6ZGlzYWJsZWQge1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG4uY3RjdC1mb3JtLXdyYXBwZXIgLmN0Y3QtZm9ybTo6YWZ0ZXIge1xuICBjbGVhcjogYm90aDtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IHRhYmxlO1xufVxuXG4uY3RjdC1mb3JtLXdyYXBwZXIgLmN0Y3QtZm9ybSAuY3RjdC1sYWJlbC10b3AgbGFiZWwsXG4uY3RjdC1mb3JtLXdyYXBwZXIgLmN0Y3QtZm9ybSAuY3RjdC1sYWJlbC1ib3R0b20gbGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmN0Y3QtZm9ybS13cmFwcGVyIC5jdGN0LWZvcm0gLmN0Y3QtbGFiZWwtbGVmdCBsYWJlbCxcbi5jdGN0LWZvcm0td3JhcHBlciAuY3RjdC1mb3JtIC5jdGN0LWxhYmVsLXJpZ2h0IGxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4uY3RjdC1mb3JtLXdyYXBwZXIgLmN0Y3QtZm9ybSBhYmJyIHtcbiAgYm9yZGVyOiBub25lO1xuICBjb2xvcjogI2ZmNDEzNjtcbiAgZm9udC1zaXplOiAwLjlyZW07XG59XG5cbi5jdGN0LWZvcm0td3JhcHBlciAuY3RjdC1pbnB1dC1jb250YWluZXIgbGFiZWwge1xuICBjb2xvcjogI2FhYTtcbiAgZm9udC1zaXplOiAwLjhyZW07XG59XG5cbi5jdGN0LWZvcm0td3JhcHBlciAuY3RjdC1maWVsZC1lcnJvciB7XG4gIGNvbG9yOiAjZmY0MTM2O1xufVxuXG4uY3RjdC1mb3JtLXdyYXBwZXIgLmN0Y3Qtc3VibWl0IHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uY3RjdC10d2VudHlmb3VydGVlbiAuY3RjdC1mb3JtLWZpZWxkIGlucHV0IHtcbiAgd2lkdGg6IDEwMCU7XG59XG4iXX0= */
|
assets/images/check_circle.svg
CHANGED
File without changes
|
assets/images/error.svg
CHANGED
File without changes
|
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.8.
|
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.8.
|
76 |
|
77 |
/**
|
78 |
* URL of plugin directory.
|
@@ -532,6 +532,24 @@ class Constant_Contact {
|
|
532 |
*/
|
533 |
public function init() {
|
534 |
load_plugin_textdomain( 'constant-contact-forms', false, dirname( $this->basename ) . '/languages/' );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
535 |
}
|
536 |
|
537 |
/**
|
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.8.5
|
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.8.5';
|
76 |
|
77 |
/**
|
78 |
* URL of plugin directory.
|
532 |
*/
|
533 |
public function init() {
|
534 |
load_plugin_textdomain( 'constant-contact-forms', false, dirname( $this->basename ) . '/languages/' );
|
535 |
+
$this->init_debug_log();
|
536 |
+
}
|
537 |
+
|
538 |
+
/**
|
539 |
+
* Initialize debug log on init.
|
540 |
+
*
|
541 |
+
* @since 1.8.5
|
542 |
+
*
|
543 |
+
* @return void
|
544 |
+
*/
|
545 |
+
protected function init_debug_log() {
|
546 |
+
|
547 |
+
if ( ! constant_contact_debugging_enabled() ) {
|
548 |
+
return;
|
549 |
+
}
|
550 |
+
|
551 |
+
// Create logging file and directory.
|
552 |
+
$this->logging->initialize_logging();
|
553 |
}
|
554 |
|
555 |
/**
|
includes/class-logging.php
CHANGED
@@ -86,7 +86,7 @@ class ConstantContact_Logging {
|
|
86 |
/**
|
87 |
* The logging directory name.
|
88 |
*
|
89 |
-
* @since
|
90 |
* @var string
|
91 |
*/
|
92 |
protected $log_file_dir = 'ctct-logs';
|
@@ -210,47 +210,45 @@ class ConstantContact_Logging {
|
|
210 |
<img class="ctct-logo" src="<?php echo esc_url( constant_contact()->url . 'assets/images/constant-contact-logo.png' ); ?>" alt="<?php echo esc_attr_x( 'Constant Contact logo', 'img alt text', 'constant-contact-forms' ); ?>">
|
211 |
<div class="ctct-body">
|
212 |
<?php
|
213 |
-
$contents = '';
|
214 |
-
$log_location = $this->log_location_url;
|
215 |
|
216 |
-
|
217 |
|
218 |
-
|
219 |
-
|
220 |
-
|
221 |
-
|
222 |
-
|
223 |
-
);
|
224 |
-
} else {
|
225 |
-
$contents .= esc_html__( 'No error log exists', 'constant-contact-forms' );
|
226 |
-
}
|
227 |
-
} elseif ( ! is_writable( constant_contact()->logger_location ) ) {
|
228 |
$contents .= sprintf(
|
229 |
/* Translators: placeholder holds the log location. */
|
230 |
esc_html__( 'We are not able to write to the %s file.', 'constant-contact-forms' ),
|
231 |
constant_contact()->logger_location
|
232 |
);
|
233 |
-
} else {
|
234 |
-
$contents .= $this->get_log_contents();
|
235 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
236 |
?>
|
237 |
<p><?php esc_html_e( 'Error log below can be used with support requests to help identify issues with Constant Contact Forms.', 'constant-contact-forms' ); ?></p>
|
238 |
<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>
|
239 |
<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>
|
240 |
<?php
|
241 |
|
242 |
-
if (
|
243 |
-
|
244 |
-
|
245 |
-
|
246 |
-
|
247 |
-
|
|
|
248 |
?>
|
249 |
<p>
|
250 |
<?php
|
251 |
printf(
|
252 |
'<p><a href="%s" download>%s</a></p><p><a href="%s" id="deletelog">%s</a></p>',
|
253 |
-
esc_attr( $
|
254 |
esc_html__( 'Download logs', 'constant-contact-forms' ),
|
255 |
esc_attr(
|
256 |
wp_nonce_url(
|
@@ -304,7 +302,7 @@ class ConstantContact_Logging {
|
|
304 |
$this->create_log_file();
|
305 |
}
|
306 |
|
307 |
-
|
308 |
exit();
|
309 |
}
|
310 |
|
@@ -360,8 +358,7 @@ class ConstantContact_Logging {
|
|
360 |
* @since 1.5.0
|
361 |
*/
|
362 |
public function create_log_folder() {
|
363 |
-
|
364 |
-
chmod( $this->log_location_dir, 0755 );
|
365 |
}
|
366 |
|
367 |
/**
|
@@ -404,7 +401,7 @@ class ConstantContact_Logging {
|
|
404 |
* Retrieve logging file location.
|
405 |
*
|
406 |
* @author Rebekah Van Epps <rebekah.vanepps@webdevstudios.com>
|
407 |
-
* @since
|
408 |
*
|
409 |
* @return string Logging file location.
|
410 |
*/
|
@@ -416,7 +413,7 @@ class ConstantContact_Logging {
|
|
416 |
* Remove old logging directory and files for older plugin versions (<= 1.8.1).
|
417 |
*
|
418 |
* @author Rebekah Van Epps <rebekah.vanepps@webdevstudios.com>
|
419 |
-
* @since
|
420 |
*
|
421 |
* @return void
|
422 |
*/
|
@@ -432,7 +429,7 @@ class ConstantContact_Logging {
|
|
432 |
* Remove current logging directory and files.
|
433 |
*
|
434 |
* @author Rebekah Van Epps <rebekah.vanepps@webdevstudios.com>
|
435 |
-
* @since
|
436 |
*/
|
437 |
public function delete_current_log_dir() {
|
438 |
$this->delete_log_dir( $this->log_location_dir );
|
@@ -442,7 +439,7 @@ class ConstantContact_Logging {
|
|
442 |
* Helper function to remove logging directory.
|
443 |
*
|
444 |
* @author Rebekah Van Epps <rebekah.vanepps@webdevstudios.com>
|
445 |
-
* @since
|
446 |
*
|
447 |
* @return void
|
448 |
*/
|
@@ -459,4 +456,16 @@ class ConstantContact_Logging {
|
|
459 |
array_map( 'unlink', glob( "{$dir}/*" ) );
|
460 |
rmdir( $dir );
|
461 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
462 |
}
|
86 |
/**
|
87 |
* The logging directory name.
|
88 |
*
|
89 |
+
* @since 1.8.2
|
90 |
* @var string
|
91 |
*/
|
92 |
protected $log_file_dir = 'ctct-logs';
|
210 |
<img class="ctct-logo" src="<?php echo esc_url( constant_contact()->url . 'assets/images/constant-contact-logo.png' ); ?>" alt="<?php echo esc_attr_x( 'Constant Contact logo', 'img alt text', 'constant-contact-forms' ); ?>">
|
211 |
<div class="ctct-body">
|
212 |
<?php
|
|
|
|
|
213 |
|
214 |
+
$contents = '';
|
215 |
|
216 |
+
if ( ! file_exists( $this->log_location_file ) ) {
|
217 |
+
$contents .= esc_html__( 'No error log exists', 'constant-contact-forms' );
|
218 |
+
}
|
219 |
+
|
220 |
+
if ( ! is_writable( $this->log_location_file ) ) {
|
|
|
|
|
|
|
|
|
|
|
221 |
$contents .= sprintf(
|
222 |
/* Translators: placeholder holds the log location. */
|
223 |
esc_html__( 'We are not able to write to the %s file.', 'constant-contact-forms' ),
|
224 |
constant_contact()->logger_location
|
225 |
);
|
|
|
|
|
226 |
}
|
227 |
+
|
228 |
+
if ( is_file( $this->log_location_file ) && is_readable( $this->log_location_file ) ) {
|
229 |
+
// phpcs:ignore -- Not reading over network, it's on the filesystem.
|
230 |
+
$contents .= file_get_contents( $this->log_location_file );
|
231 |
+
}
|
232 |
+
|
233 |
?>
|
234 |
<p><?php esc_html_e( 'Error log below can be used with support requests to help identify issues with Constant Contact Forms.', 'constant-contact-forms' ); ?></p>
|
235 |
<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>
|
236 |
<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>
|
237 |
<?php
|
238 |
|
239 |
+
if ( is_file( $this->log_location_file ) && ! is_readable( $this->log_location_file ) ) {
|
240 |
+
?>
|
241 |
+
<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>
|
242 |
+
<?php
|
243 |
+
}
|
244 |
+
|
245 |
+
if ( file_exists( $this->log_location_file ) ) {
|
246 |
?>
|
247 |
<p>
|
248 |
<?php
|
249 |
printf(
|
250 |
'<p><a href="%s" download>%s</a></p><p><a href="%s" id="deletelog">%s</a></p>',
|
251 |
+
esc_attr( $this->log_location_url ),
|
252 |
esc_html__( 'Download logs', 'constant-contact-forms' ),
|
253 |
esc_attr(
|
254 |
wp_nonce_url(
|
302 |
$this->create_log_file();
|
303 |
}
|
304 |
|
305 |
+
wp_safe_redirect( $this->options_url );
|
306 |
exit();
|
307 |
}
|
308 |
|
358 |
* @since 1.5.0
|
359 |
*/
|
360 |
public function create_log_folder() {
|
361 |
+
wp_mkdir_p( $this->log_location_dir );
|
|
|
362 |
}
|
363 |
|
364 |
/**
|
401 |
* Retrieve logging file location.
|
402 |
*
|
403 |
* @author Rebekah Van Epps <rebekah.vanepps@webdevstudios.com>
|
404 |
+
* @since 1.8.2
|
405 |
*
|
406 |
* @return string Logging file location.
|
407 |
*/
|
413 |
* Remove old logging directory and files for older plugin versions (<= 1.8.1).
|
414 |
*
|
415 |
* @author Rebekah Van Epps <rebekah.vanepps@webdevstudios.com>
|
416 |
+
* @since 1.8.2
|
417 |
*
|
418 |
* @return void
|
419 |
*/
|
429 |
* Remove current logging directory and files.
|
430 |
*
|
431 |
* @author Rebekah Van Epps <rebekah.vanepps@webdevstudios.com>
|
432 |
+
* @since 1.8.2
|
433 |
*/
|
434 |
public function delete_current_log_dir() {
|
435 |
$this->delete_log_dir( $this->log_location_dir );
|
439 |
* Helper function to remove logging directory.
|
440 |
*
|
441 |
* @author Rebekah Van Epps <rebekah.vanepps@webdevstudios.com>
|
442 |
+
* @since 1.8.2
|
443 |
*
|
444 |
* @return void
|
445 |
*/
|
456 |
array_map( 'unlink', glob( "{$dir}/*" ) );
|
457 |
rmdir( $dir );
|
458 |
}
|
459 |
+
|
460 |
+
/**
|
461 |
+
* Initialize Logging directories and files.
|
462 |
+
*
|
463 |
+
* @author Richard Aber <richard.aber@webdevstudios.com>
|
464 |
+
* @since 1.8.5
|
465 |
+
*/
|
466 |
+
public function initialize_logging() {
|
467 |
+
$this->create_log_folder();
|
468 |
+
$this->create_log_index_file();
|
469 |
+
$this->create_log_file();
|
470 |
+
}
|
471 |
}
|
includes/class-mail.php
CHANGED
@@ -486,6 +486,11 @@ class ConstantContact_Mail {
|
|
486 |
esc_html__( 'NO (User did not select the Email Opt-in checkbox)', 'constant-contact-forms' ) . '<br/>' . esc_html__( "You can disable this under Form options. Email Opt-in isn't required to add subscribers into your account", 'constant-contact-forms' )
|
487 |
);
|
488 |
}
|
|
|
|
|
|
|
|
|
|
|
489 |
}
|
490 |
|
491 |
return $content_notice;
|
486 |
esc_html__( 'NO (User did not select the Email Opt-in checkbox)', 'constant-contact-forms' ) . '<br/>' . esc_html__( "You can disable this under Form options. Email Opt-in isn't required to add subscribers into your account", 'constant-contact-forms' )
|
487 |
);
|
488 |
}
|
489 |
+
} elseif ( isset( $submission_details['custom-reason'] ) && ! empty( $submission_details['custom-reason'] ) ) {
|
490 |
+
$content_notice .= sprintf(
|
491 |
+
$template,
|
492 |
+
esc_html( $submission_details['custom-reason'] )
|
493 |
+
);
|
494 |
}
|
495 |
|
496 |
return $content_notice;
|
includes/class-notification-content.php
CHANGED
@@ -179,7 +179,7 @@ class ConstantContact_Notification_Content {
|
|
179 |
public static function exceptions() {
|
180 |
return sprintf(
|
181 |
/* Translators: placeholders will be html `<a>` links. */
|
182 |
-
esc_html__( 'Constant Contact Forms has experienced issues that may need addressed and functionality may be missing. Please enable the "Support" checkbox
|
183 |
sprintf( '<a href="%s">', esc_url( admin_url( 'edit.php?post_type=ctct_forms&page=ctct_options_settings' ) ) ),
|
184 |
'</a>',
|
185 |
sprintf( '<a href="%s" target="_blank">', esc_url( 'https://wordpress.org/support/topic/constant-contact-forms-has-experienced-issues-that-need-addressed-admin-notice/' ) ),
|
@@ -190,7 +190,7 @@ class ConstantContact_Notification_Content {
|
|
190 |
/**
|
191 |
* Admin notice regarding deleted forms.
|
192 |
*
|
193 |
-
* @since
|
194 |
*
|
195 |
* @return string Deleted forms notice HTML.
|
196 |
*/
|
@@ -214,7 +214,7 @@ class ConstantContact_Notification_Content {
|
|
214 |
/**
|
215 |
* Display deleted form references HTML.
|
216 |
*
|
217 |
-
* @since
|
218 |
*
|
219 |
* @param int $form_id Current form ID.
|
220 |
* @param array $references Current form references.
|
@@ -341,7 +341,7 @@ add_filter( 'constant_contact_notifications', 'constant_contact_exceptions_throw
|
|
341 |
/**
|
342 |
* Add notification on form deletion if instances of that form appear as shortcodes or widgets.
|
343 |
*
|
344 |
-
* @since
|
345 |
*
|
346 |
* @param array $notifications Array of notifications to be shown.
|
347 |
* @return array Array of notifications to be shown.
|
179 |
public static function exceptions() {
|
180 |
return sprintf(
|
181 |
/* Translators: placeholders will be html `<a>` links. */
|
182 |
+
esc_html__( 'Constant Contact Forms has experienced issues that may need addressed and functionality may be missing. Please enable the "Support" checkbox under the Support tab in %1$sConstant Contact settings%2$s and start a %3$sforum support thread%4$s. Our support team will aid with further steps.', 'constant-contact-forms' ),
|
183 |
sprintf( '<a href="%s">', esc_url( admin_url( 'edit.php?post_type=ctct_forms&page=ctct_options_settings' ) ) ),
|
184 |
'</a>',
|
185 |
sprintf( '<a href="%s" target="_blank">', esc_url( 'https://wordpress.org/support/topic/constant-contact-forms-has-experienced-issues-that-need-addressed-admin-notice/' ) ),
|
190 |
/**
|
191 |
* Admin notice regarding deleted forms.
|
192 |
*
|
193 |
+
* @since 1.8.0
|
194 |
*
|
195 |
* @return string Deleted forms notice HTML.
|
196 |
*/
|
214 |
/**
|
215 |
* Display deleted form references HTML.
|
216 |
*
|
217 |
+
* @since 1.8.0
|
218 |
*
|
219 |
* @param int $form_id Current form ID.
|
220 |
* @param array $references Current form references.
|
341 |
/**
|
342 |
* Add notification on form deletion if instances of that form appear as shortcodes or widgets.
|
343 |
*
|
344 |
+
* @since 1.8.0
|
345 |
*
|
346 |
* @param array $notifications Array of notifications to be shown.
|
347 |
* @return array Array of notifications to be shown.
|
includes/class-notifications.php
CHANGED
@@ -55,7 +55,7 @@ class ConstantContact_Notifications {
|
|
55 |
/**
|
56 |
* Option name for deleted forms, containing IDs for post and widget instances of forms.
|
57 |
*
|
58 |
-
* @since
|
59 |
*
|
60 |
* @var string
|
61 |
*/
|
@@ -438,7 +438,7 @@ class ConstantContact_Notifications {
|
|
438 |
*
|
439 |
* Redirect to current page with dismissal query args removal to avoid potentially re-dismissing notices unintentionally.
|
440 |
*
|
441 |
-
* @since
|
442 |
*
|
443 |
* @param string $key Notice option key.
|
444 |
*/
|
55 |
/**
|
56 |
* Option name for deleted forms, containing IDs for post and widget instances of forms.
|
57 |
*
|
58 |
+
* @since 1.8.0
|
59 |
*
|
60 |
* @var string
|
61 |
*/
|
438 |
*
|
439 |
* Redirect to current page with dismissal query args removal to avoid potentially re-dismissing notices unintentionally.
|
440 |
*
|
441 |
+
* @since 1.8.0
|
442 |
*
|
443 |
* @param string $key Notice option key.
|
444 |
*/
|
includes/class-process-form.php
CHANGED
@@ -335,7 +335,20 @@ class ConstantContact_Process_Form {
|
|
335 |
|
336 |
if ( constant_contact()->api->is_connected() && 'on' === $maybe_bypass ) {
|
337 |
constant_contact()->mail->submit_form_values( $return['values'] ); // Emails but doesn't schedule cron.
|
338 |
-
constant_contact()->mail->opt_in_user( $this->clean_values( $return['values'] ) );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
339 |
} else {
|
340 |
constant_contact()->mail->submit_form_values( $return['values'], true );
|
341 |
}
|
335 |
|
336 |
if ( constant_contact()->api->is_connected() && 'on' === $maybe_bypass ) {
|
337 |
constant_contact()->mail->submit_form_values( $return['values'] ); // Emails but doesn't schedule cron.
|
338 |
+
$api_result = constant_contact()->mail->opt_in_user( $this->clean_values( $return['values'] ) );
|
339 |
+
|
340 |
+
// Send email if API request fails.
|
341 |
+
if ( false === $api_result ) {
|
342 |
+
$clean_values = constant_contact()->process_form->clean_values( $return['values'] );
|
343 |
+
$pretty_values = constant_contact()->process_form->pretty_values( $clean_values );
|
344 |
+
$email_values = constant_contact()->mail->format_values_for_email( $pretty_values, $orig_form_id );
|
345 |
+
|
346 |
+
constant_contact()->mail->mail( constant_contact()->mail->get_email( $orig_form_id ), $email_values, [
|
347 |
+
'form_id' => $orig_form_id,
|
348 |
+
'submitted_email' => constant_contact()->mail->get_user_email_from_submission( $clean_values ),
|
349 |
+
'custom-reason' => __( 'An error occurred while attempting Constant Contact API request.', 'constant-contact-forms' ),
|
350 |
+
], true );
|
351 |
+
}
|
352 |
} else {
|
353 |
constant_contact()->mail->submit_form_values( $return['values'], true );
|
354 |
}
|
includes/class-settings.php
CHANGED
@@ -36,7 +36,7 @@ class ConstantContact_Settings {
|
|
36 |
/**
|
37 |
* Settings page metabox titles by id.
|
38 |
*
|
39 |
-
* @since
|
40 |
* @var array|null
|
41 |
*/
|
42 |
private $metabox_titles;
|
@@ -93,7 +93,7 @@ class ConstantContact_Settings {
|
|
93 |
* Add CMB2 hook overrides specific to individual metaboxes.
|
94 |
*
|
95 |
* @author Rebekah Van Epps <rebekah.vanepps@webdevstudios.com>
|
96 |
-
* @since
|
97 |
*
|
98 |
* @return void
|
99 |
*/
|
@@ -189,7 +189,7 @@ class ConstantContact_Settings {
|
|
189 |
* Remove secondary settings page menu items.
|
190 |
*
|
191 |
* @author Rebekah Van Epps <rebekah.vanepps@webdevstudios.com>
|
192 |
-
* @since
|
193 |
*/
|
194 |
public function remove_extra_menu_items() {
|
195 |
foreach ( array_keys( $this->metabox_titles ) as $cmb_key ) {
|
@@ -207,7 +207,7 @@ class ConstantContact_Settings {
|
|
207 |
* Override $plugin_page global to ensure "general" menu item active for other settings pages.
|
208 |
*
|
209 |
* @author Rebekah Van Epps <rebekah.vanepps@webdevstudios.com>
|
210 |
-
* @since
|
211 |
*
|
212 |
* @param string $file The parent file.
|
213 |
* @return string The parent file.
|
@@ -224,7 +224,7 @@ class ConstantContact_Settings {
|
|
224 |
* Display options page with CMB2 tabs.
|
225 |
*
|
226 |
* @author Rebekah Van Epps <rebekah.vanepps@webdevstudios.com>
|
227 |
-
* @since
|
228 |
*
|
229 |
* @param CMB2_Options_Hookup $cmb_options The CMB2_Options_Hookup object.
|
230 |
*/
|
@@ -255,7 +255,7 @@ class ConstantContact_Settings {
|
|
255 |
* Get all option tabs for navigation on CMB2 settings page.
|
256 |
*
|
257 |
* @author Rebekah Van Epps <rebekah.vanepps@webdevstudios.com>
|
258 |
-
* @since
|
259 |
*
|
260 |
* @param CMB2_Options_Hookup $cmb_options The CMB2_Options_Hookup object.
|
261 |
* @return array Array of option tabs.
|
@@ -286,7 +286,7 @@ class ConstantContact_Settings {
|
|
286 |
* Get currently selected tab.
|
287 |
*
|
288 |
* @author Rebekah Van Epps <rebekah.vanepps@webdevstudios.com>
|
289 |
-
* @since
|
290 |
*
|
291 |
* @return string Current tab.
|
292 |
*/
|
@@ -300,7 +300,7 @@ class ConstantContact_Settings {
|
|
300 |
* Get link to CMB tab.
|
301 |
*
|
302 |
* @author Rebekah Van Epps <rebekah.vanepps@webdevstudios.com>
|
303 |
-
* @since
|
304 |
*
|
305 |
* @param string $option_key CMB tab key.
|
306 |
* @return string URL to CMB tab.
|
@@ -313,7 +313,7 @@ class ConstantContact_Settings {
|
|
313 |
* Get args for current CMB.
|
314 |
*
|
315 |
* @author Rebekah Van Epps <rebekah.vanepps@webdevstudios.com>
|
316 |
-
* @since
|
317 |
*
|
318 |
* @param string $cmb_id Current CMB ID.
|
319 |
* @return array CMB args.
|
@@ -336,7 +336,7 @@ class ConstantContact_Settings {
|
|
336 |
* Register 'General' settings tab fields.
|
337 |
*
|
338 |
* @author Rebekah Van Epps <rebekah.vanepps@webdevstudios.com>
|
339 |
-
* @since
|
340 |
*/
|
341 |
protected function register_fields_general() {
|
342 |
$cmb = new_cmb2_box( $this->get_cmb_args( 'general' ) );
|
@@ -480,7 +480,7 @@ class ConstantContact_Settings {
|
|
480 |
* Register 'Spam Control' (incl. Google reCAPTCHA) settings tab fields.
|
481 |
*
|
482 |
* @author Rebekah Van Epps <rebekah.vanepps@webdevstudios.com>
|
483 |
-
* @since
|
484 |
*/
|
485 |
protected function register_fields_spam() {
|
486 |
$cmb = new_cmb2_box( $this->get_cmb_args( 'spam' ) );
|
@@ -556,7 +556,7 @@ class ConstantContact_Settings {
|
|
556 |
* Register 'Support' settings tab fields.
|
557 |
*
|
558 |
* @author Rebekah Van Epps <rebekah.vanepps@webdevstudios.com>
|
559 |
-
* @since
|
560 |
*/
|
561 |
protected function register_fields_support() {
|
562 |
$cmb = new_cmb2_box( $this->get_cmb_args( 'support' ) );
|
@@ -927,9 +927,7 @@ class ConstantContact_Settings {
|
|
927 |
return;
|
928 |
}
|
929 |
|
930 |
-
$this->plugin->logging->
|
931 |
-
$this->plugin->logging->create_log_index_file();
|
932 |
-
$this->plugin->logging->create_log_file();
|
933 |
}
|
934 |
|
935 |
/**
|
36 |
/**
|
37 |
* Settings page metabox titles by id.
|
38 |
*
|
39 |
+
* @since 1.8.0
|
40 |
* @var array|null
|
41 |
*/
|
42 |
private $metabox_titles;
|
93 |
* Add CMB2 hook overrides specific to individual metaboxes.
|
94 |
*
|
95 |
* @author Rebekah Van Epps <rebekah.vanepps@webdevstudios.com>
|
96 |
+
* @since 1.8.0
|
97 |
*
|
98 |
* @return void
|
99 |
*/
|
189 |
* Remove secondary settings page menu items.
|
190 |
*
|
191 |
* @author Rebekah Van Epps <rebekah.vanepps@webdevstudios.com>
|
192 |
+
* @since 1.8.0
|
193 |
*/
|
194 |
public function remove_extra_menu_items() {
|
195 |
foreach ( array_keys( $this->metabox_titles ) as $cmb_key ) {
|
207 |
* Override $plugin_page global to ensure "general" menu item active for other settings pages.
|
208 |
*
|
209 |
* @author Rebekah Van Epps <rebekah.vanepps@webdevstudios.com>
|
210 |
+
* @since 1.8.0
|
211 |
*
|
212 |
* @param string $file The parent file.
|
213 |
* @return string The parent file.
|
224 |
* Display options page with CMB2 tabs.
|
225 |
*
|
226 |
* @author Rebekah Van Epps <rebekah.vanepps@webdevstudios.com>
|
227 |
+
* @since 1.8.0
|
228 |
*
|
229 |
* @param CMB2_Options_Hookup $cmb_options The CMB2_Options_Hookup object.
|
230 |
*/
|
255 |
* Get all option tabs for navigation on CMB2 settings page.
|
256 |
*
|
257 |
* @author Rebekah Van Epps <rebekah.vanepps@webdevstudios.com>
|
258 |
+
* @since 1.8.0
|
259 |
*
|
260 |
* @param CMB2_Options_Hookup $cmb_options The CMB2_Options_Hookup object.
|
261 |
* @return array Array of option tabs.
|
286 |
* Get currently selected tab.
|
287 |
*
|
288 |
* @author Rebekah Van Epps <rebekah.vanepps@webdevstudios.com>
|
289 |
+
* @since 1.8.0
|
290 |
*
|
291 |
* @return string Current tab.
|
292 |
*/
|
300 |
* Get link to CMB tab.
|
301 |
*
|
302 |
* @author Rebekah Van Epps <rebekah.vanepps@webdevstudios.com>
|
303 |
+
* @since 1.8.0
|
304 |
*
|
305 |
* @param string $option_key CMB tab key.
|
306 |
* @return string URL to CMB tab.
|
313 |
* Get args for current CMB.
|
314 |
*
|
315 |
* @author Rebekah Van Epps <rebekah.vanepps@webdevstudios.com>
|
316 |
+
* @since 1.8.0
|
317 |
*
|
318 |
* @param string $cmb_id Current CMB ID.
|
319 |
* @return array CMB args.
|
336 |
* Register 'General' settings tab fields.
|
337 |
*
|
338 |
* @author Rebekah Van Epps <rebekah.vanepps@webdevstudios.com>
|
339 |
+
* @since 1.8.0
|
340 |
*/
|
341 |
protected function register_fields_general() {
|
342 |
$cmb = new_cmb2_box( $this->get_cmb_args( 'general' ) );
|
480 |
* Register 'Spam Control' (incl. Google reCAPTCHA) settings tab fields.
|
481 |
*
|
482 |
* @author Rebekah Van Epps <rebekah.vanepps@webdevstudios.com>
|
483 |
+
* @since 1.8.0
|
484 |
*/
|
485 |
protected function register_fields_spam() {
|
486 |
$cmb = new_cmb2_box( $this->get_cmb_args( 'spam' ) );
|
556 |
* Register 'Support' settings tab fields.
|
557 |
*
|
558 |
* @author Rebekah Van Epps <rebekah.vanepps@webdevstudios.com>
|
559 |
+
* @since 1.8.0
|
560 |
*/
|
561 |
protected function register_fields_support() {
|
562 |
$cmb = new_cmb2_box( $this->get_cmb_args( 'support' ) );
|
927 |
return;
|
928 |
}
|
929 |
|
930 |
+
$this->plugin->logging->initialize_logging();
|
|
|
|
|
931 |
}
|
932 |
|
933 |
/**
|
includes/class-uninstall.php
CHANGED
@@ -178,7 +178,7 @@ class ConstantContact_Uninstall {
|
|
178 |
* Delete logging directory.
|
179 |
*
|
180 |
* @author Rebekah Van Epps <rebekah.vanepps@webdevstudios.com>
|
181 |
-
* @since
|
182 |
*/
|
183 |
private function delete_log_dir() {
|
184 |
constant_contact()->logging->delete_current_log_dir();
|
178 |
* Delete logging directory.
|
179 |
*
|
180 |
* @author Rebekah Van Epps <rebekah.vanepps@webdevstudios.com>
|
181 |
+
* @since 1.8.2
|
182 |
*/
|
183 |
private function delete_log_dir() {
|
184 |
constant_contact()->logging->delete_current_log_dir();
|
includes/helper-functions.php
CHANGED
@@ -415,11 +415,7 @@ function constant_contact_maybe_log_it( $log_name, $error, $extra_data = '' ) {
|
|
415 |
$logging_file = constant_contact()->logger_location;
|
416 |
|
417 |
// Create logging file and directory if they don't exist.
|
418 |
-
|
419 |
-
constant_contact()->logging->create_log_folder();
|
420 |
-
constant_contact()->logging->create_log_index_file();
|
421 |
-
constant_contact()->logging->create_log_file();
|
422 |
-
}
|
423 |
|
424 |
if ( ! is_writable( $logging_file ) ) {
|
425 |
return;
|
@@ -690,7 +686,7 @@ function constant_contact_location_and_line( $location = '', $line = '' ) {
|
|
690 |
/**
|
691 |
* Get posts containing specified form ID.
|
692 |
*
|
693 |
-
* @since
|
694 |
*
|
695 |
* @param int $form_id Form ID.
|
696 |
* @return array Array of posts containing the form ID.
|
@@ -723,7 +719,7 @@ function constant_contact_get_posts_by_form( $form_id ) {
|
|
723 |
/**
|
724 |
* Get links and info on widgets containing specified form ID.
|
725 |
*
|
726 |
-
* @since
|
727 |
*
|
728 |
* @param int $form_id Form ID.
|
729 |
* @return array Array of widgets containing the form ID.
|
@@ -758,7 +754,7 @@ function constant_contact_get_widgets_by_form( $form_id ) {
|
|
758 |
* Walker callback for widget references of deleted forms.
|
759 |
*
|
760 |
* @author Rebekah Van Epps <rebekah.vanepps@webdevstudios.com>
|
761 |
-
* @since
|
762 |
*
|
763 |
* @param array $value Array of current widget settings.
|
764 |
* @param string $key Current widget key.
|
@@ -784,7 +780,7 @@ function constant_contact_walk_widget_references( array &$value, $key, $type ) {
|
|
784 |
/**
|
785 |
* Check for affected posts and widgets for the newly trashed form post type.
|
786 |
*
|
787 |
-
* @since
|
788 |
*
|
789 |
* @param int $form_id Form ID being trashed.
|
790 |
* @return void
|
@@ -807,7 +803,7 @@ add_action( 'trash_ctct_forms', 'constant_contact_check_for_affected_forms_on_tr
|
|
807 |
/**
|
808 |
* Remove saved references to deleted form if restored from trash.
|
809 |
*
|
810 |
-
* @since
|
811 |
*
|
812 |
* @param int $post_id Post ID being restored.
|
813 |
* @return void
|
@@ -828,7 +824,7 @@ add_action( 'untrashed_post', 'constant_contact_remove_form_references_on_restor
|
|
828 |
/**
|
829 |
* Determine whether to display the deleted forms notice in admin.
|
830 |
*
|
831 |
-
* @since
|
832 |
*
|
833 |
* @return bool Whether to display the deleted forms notice.
|
834 |
*/
|
415 |
$logging_file = constant_contact()->logger_location;
|
416 |
|
417 |
// Create logging file and directory if they don't exist.
|
418 |
+
constant_contact()->logging->initialize_logging();
|
|
|
|
|
|
|
|
|
419 |
|
420 |
if ( ! is_writable( $logging_file ) ) {
|
421 |
return;
|
686 |
/**
|
687 |
* Get posts containing specified form ID.
|
688 |
*
|
689 |
+
* @since 1.8.0
|
690 |
*
|
691 |
* @param int $form_id Form ID.
|
692 |
* @return array Array of posts containing the form ID.
|
719 |
/**
|
720 |
* Get links and info on widgets containing specified form ID.
|
721 |
*
|
722 |
+
* @since 1.8.0
|
723 |
*
|
724 |
* @param int $form_id Form ID.
|
725 |
* @return array Array of widgets containing the form ID.
|
754 |
* Walker callback for widget references of deleted forms.
|
755 |
*
|
756 |
* @author Rebekah Van Epps <rebekah.vanepps@webdevstudios.com>
|
757 |
+
* @since 1.8.0
|
758 |
*
|
759 |
* @param array $value Array of current widget settings.
|
760 |
* @param string $key Current widget key.
|
780 |
/**
|
781 |
* Check for affected posts and widgets for the newly trashed form post type.
|
782 |
*
|
783 |
+
* @since 1.8.0
|
784 |
*
|
785 |
* @param int $form_id Form ID being trashed.
|
786 |
* @return void
|
803 |
/**
|
804 |
* Remove saved references to deleted form if restored from trash.
|
805 |
*
|
806 |
+
* @since 1.8.0
|
807 |
*
|
808 |
* @param int $post_id Post ID being restored.
|
809 |
* @return void
|
824 |
/**
|
825 |
* Determine whether to display the deleted forms notice in admin.
|
826 |
*
|
827 |
+
* @since 1.8.0
|
828 |
*
|
829 |
* @return bool Whether to display the deleted forms notice.
|
830 |
*/
|
languages/constant-contact-forms.pot
CHANGED
@@ -21,7 +21,7 @@ msgstr ""
|
|
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 |
|
@@ -1181,33 +1181,37 @@ msgstr ""
|
|
1181 |
msgid "Debug logs"
|
1182 |
msgstr ""
|
1183 |
|
|
|
|
|
|
|
|
|
1184 |
#. translators: placeholder holds the log location.
|
1185 |
-
#: includes/class-logging.php:
|
1186 |
msgid "We are not able to write to the %s file."
|
1187 |
msgstr ""
|
1188 |
|
1189 |
-
#: includes/class-logging.php:
|
1190 |
msgid "Error log below can be used with support requests to help identify issues with Constant Contact Forms."
|
1191 |
msgstr ""
|
1192 |
|
1193 |
-
#: includes/class-logging.php:
|
1194 |
msgid "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."
|
1195 |
msgstr ""
|
1196 |
|
1197 |
-
#: includes/class-logging.php:
|
1198 |
msgid "Error log may still have content, even if an error is shown above. Please use the download link below."
|
1199 |
msgstr ""
|
1200 |
|
1201 |
-
#: includes/class-logging.php:
|
1202 |
msgid "Download logs"
|
1203 |
msgstr ""
|
1204 |
|
1205 |
-
#: includes/class-logging.php:
|
1206 |
msgid "Delete logs"
|
1207 |
msgstr ""
|
1208 |
|
1209 |
#. translators: placeholder wil have error message.
|
1210 |
-
#: includes/class-logging.php:
|
1211 |
msgid "Log display error: %s"
|
1212 |
msgstr ""
|
1213 |
|
@@ -1296,7 +1300,7 @@ msgstr ""
|
|
1296 |
|
1297 |
#. translators: placeholders will be html `<a>` links.
|
1298 |
#: includes/class-notification-content.php:182
|
1299 |
-
msgid "Constant Contact Forms has experienced issues that may need addressed and functionality may be missing. Please enable the \"Support\" checkbox
|
1300 |
msgstr ""
|
1301 |
|
1302 |
#: includes/class-notification-content.php:203
|
@@ -1320,15 +1324,15 @@ msgstr ""
|
|
1320 |
msgid "Disagree"
|
1321 |
msgstr ""
|
1322 |
|
1323 |
-
#: includes/class-process-form.php:104, includes/class-process-form.php:
|
1324 |
msgid "There was an error sending your form."
|
1325 |
msgstr ""
|
1326 |
|
1327 |
-
#: includes/class-process-form.php:115, includes/class-process-form.php:
|
1328 |
msgid "Your information has been submitted."
|
1329 |
msgstr ""
|
1330 |
|
1331 |
-
#: includes/class-process-form.php:130, includes/class-process-form.php:
|
1332 |
msgid "We had trouble processing your submission. Please review your entries and try again."
|
1333 |
msgstr ""
|
1334 |
|
@@ -1356,7 +1360,7 @@ msgstr ""
|
|
1356 |
msgid "We had trouble processing your submission. Make sure you haven't changed the required Form ID and try again."
|
1357 |
msgstr ""
|
1358 |
|
1359 |
-
#: includes/class-process-form.php:
|
1360 |
msgid "We do no think you are human"
|
1361 |
msgstr ""
|
1362 |
|
@@ -1506,6 +1510,6 @@ msgstr ""
|
|
1506 |
msgid "Add a checkbox to the WordPress user registration page"
|
1507 |
msgstr ""
|
1508 |
|
1509 |
-
#: includes/class-settings.php:
|
1510 |
msgid "We do not think you are human"
|
1511 |
msgstr ""
|
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:712
|
25 |
msgid "Error loading license."
|
26 |
msgstr ""
|
27 |
|
1181 |
msgid "Debug logs"
|
1182 |
msgstr ""
|
1183 |
|
1184 |
+
#: includes/class-logging.php:217
|
1185 |
+
msgid "No error log exists"
|
1186 |
+
msgstr ""
|
1187 |
+
|
1188 |
#. translators: placeholder holds the log location.
|
1189 |
+
#: includes/class-logging.php:223
|
1190 |
msgid "We are not able to write to the %s file."
|
1191 |
msgstr ""
|
1192 |
|
1193 |
+
#: includes/class-logging.php:234
|
1194 |
msgid "Error log below can be used with support requests to help identify issues with Constant Contact Forms."
|
1195 |
msgstr ""
|
1196 |
|
1197 |
+
#: includes/class-logging.php:235
|
1198 |
msgid "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."
|
1199 |
msgstr ""
|
1200 |
|
1201 |
+
#: includes/class-logging.php:241
|
1202 |
msgid "Error log may still have content, even if an error is shown above. Please use the download link below."
|
1203 |
msgstr ""
|
1204 |
|
1205 |
+
#: includes/class-logging.php:252
|
1206 |
msgid "Download logs"
|
1207 |
msgstr ""
|
1208 |
|
1209 |
+
#: includes/class-logging.php:260
|
1210 |
msgid "Delete logs"
|
1211 |
msgstr ""
|
1212 |
|
1213 |
#. translators: placeholder wil have error message.
|
1214 |
+
#: includes/class-logging.php:321
|
1215 |
msgid "Log display error: %s"
|
1216 |
msgstr ""
|
1217 |
|
1300 |
|
1301 |
#. translators: placeholders will be html `<a>` links.
|
1302 |
#: includes/class-notification-content.php:182
|
1303 |
+
msgid "Constant Contact Forms has experienced issues that may need addressed and functionality may be missing. Please enable the \"Support\" checkbox under the Support tab in %1$sConstant Contact settings%2$s and start a %3$sforum support thread%4$s. Our support team will aid with further steps."
|
1304 |
msgstr ""
|
1305 |
|
1306 |
#: includes/class-notification-content.php:203
|
1324 |
msgid "Disagree"
|
1325 |
msgstr ""
|
1326 |
|
1327 |
+
#: includes/class-process-form.php:104, includes/class-process-form.php:637
|
1328 |
msgid "There was an error sending your form."
|
1329 |
msgstr ""
|
1330 |
|
1331 |
+
#: includes/class-process-form.php:115, includes/class-process-form.php:655
|
1332 |
msgid "Your information has been submitted."
|
1333 |
msgstr ""
|
1334 |
|
1335 |
+
#: includes/class-process-form.php:130, includes/class-process-form.php:669
|
1336 |
msgid "We had trouble processing your submission. Please review your entries and try again."
|
1337 |
msgstr ""
|
1338 |
|
1360 |
msgid "We had trouble processing your submission. Make sure you haven't changed the required Form ID and try again."
|
1361 |
msgstr ""
|
1362 |
|
1363 |
+
#: includes/class-process-form.php:734
|
1364 |
msgid "We do no think you are human"
|
1365 |
msgstr ""
|
1366 |
|
1510 |
msgid "Add a checkbox to the WordPress user registration page"
|
1511 |
msgstr ""
|
1512 |
|
1513 |
+
#: includes/class-settings.php:985
|
1514 |
msgid "We do not think you are human"
|
1515 |
msgstr ""
|
readme.txt
CHANGED
@@ -3,7 +3,7 @@ Contributors: constantcontact, webdevstudios, tw2113, znowebdev, ggwicz, ra
|
|
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.4.1
|
6 |
-
Stable tag: 1.8.
|
7 |
License: GPLv3
|
8 |
License URI: http://www.gnu.org/licenses/gpl-3.0.html
|
9 |
Requires PHP: 5.6
|
@@ -24,7 +24,7 @@ https://www.youtube.com/watch?v=MhxtAlpZzJw
|
|
24 |
|
25 |
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](http://www.constantcontact.com/index?pn=miwordpress) right from the plugin.
|
26 |
|
27 |
-
**Constant Contact Forms** requires a PHP version of 5.
|
28 |
|
29 |
== Screenshots ==
|
30 |
1. Adding a New form when connected to Constant Contact account.
|
@@ -35,6 +35,12 @@ BONUS: If you have a Constant Contact account, all new email addresses that you
|
|
35 |
|
36 |
== Changelog ==
|
37 |
|
|
|
|
|
|
|
|
|
|
|
|
|
38 |
= 1.8.4 =
|
39 |
* Fixed: Compatibility issue with PHP 5.6.
|
40 |
|
@@ -60,95 +66,6 @@ BONUS: If you have a Constant Contact account, all new email addresses that you
|
|
60 |
* Updated: Reduced frequency of admin notifications for potentially momentary issues.
|
61 |
* Updated: Clarified details regarding "Redirect URL" setting.
|
62 |
|
63 |
-
= 1.7.0 =
|
64 |
-
* New - Added support for Google reCAPTCHA version 3
|
65 |
-
* Fix - Fixed with debug log deletion and dialog closing
|
66 |
-
* Fix - Updated a number of PHP and JavaScript dependencies
|
67 |
-
|
68 |
-
= 1.6.1 =
|
69 |
-
* Fixed: Issue with selecting forms in the widget.
|
70 |
-
* Fixed: Compatibility with other page builders and our Gutenberg integration.
|
71 |
-
* Updated: Revised wording and links for admin notice about potential issues.
|
72 |
-
|
73 |
-
= 1.6.0 =
|
74 |
-
* Addded: Uninstall routine to remove various options saved from use of the plugin, when uninstalling.
|
75 |
-
* Updated: Improved handling of potential fatal errors that caused sites to become unusable.
|
76 |
-
* Updated: Completely removed TinyMCE support in favor of Gutenberg block and copy/pasting existing shortcode output.
|
77 |
-
* Updated: Reviewed and improved on overall plugin accessibility.
|
78 |
-
* Updated: Hardened up sanitization around Google reCAPTCHA settings.
|
79 |
-
* Fixed: Inability to remove admin notices in some cases.
|
80 |
-
* Fixed: Addressed admin notice meant to show at a later time that showed right away.
|
81 |
-
* Fixed: Submission issues when multiple forms are on the same page and "no-refresh" option is used.
|
82 |
-
* Fixed: Add "show_title" attribute to List Column shortcode output.
|
83 |
-
|
84 |
-
= 1.5.3 =
|
85 |
-
* Fixed: Removed TGMPA library files that were causing some conflicts with premium themes or other plugins.
|
86 |
-
* Fixed: tweaked shortcode assets URL reference in bundled library for better compatibility with various hosting environments.
|
87 |
-
|
88 |
-
= 1.5.2 =
|
89 |
-
* Fixed: Javascript conflicts with Lodash and Underscores in conjunction with 1.5.0's Gutenberg support.
|
90 |
-
|
91 |
-
= 1.5.1 =
|
92 |
-
* Fixed: Issues with editor screen when no forms have been created yet.
|
93 |
-
* Fixed: Missed endpoint change for wp-json details with Contant Contact Gutenberg integration.
|
94 |
-
|
95 |
-
= 1.5.0 =
|
96 |
-
* Added: Gutenberg block. Easier to get a form set up on a Gutenberg powered post or page.
|
97 |
-
* Added: Ability to customize "We do not think you are human" spam messaging.
|
98 |
-
* Added: Ability to conditionally output a reCAPTCHA field for each form.
|
99 |
-
* Added: Better compatibility with WP-SpamShield plugin.
|
100 |
-
* Added: Quick button to reset a form's style customization selections.
|
101 |
-
* Added: Option to display form title with Constant Contact Forms output.
|
102 |
-
* Fixed: Added missing label placement options in settings page and per-form dropdown options.
|
103 |
-
* Updated: Ensure we have valid URLs when taking custom redirect values.
|
104 |
-
* Updated: Append custom textarea content to existing notes for updated contacts.
|
105 |
-
* Updated: Added some "alert" roles for better accessibility.
|
106 |
-
* Updated: Added logging of API request parameters before the request is made.
|
107 |
-
* Updated: Added logging around valid requests verifications when submitting a form.
|
108 |
-
|
109 |
-
= 1.4.5 =
|
110 |
-
* Fixed: Conflicts with custom textareas and notes inside of Constant Contact account when updating an existing contact.
|
111 |
-
* Fixed: Potential issues around reading Constant Contact Forms error logs when log file is potentially not readable.
|
112 |
-
|
113 |
-
= 1.4.4 =
|
114 |
-
* Fixed: Hardened reCAPTCHA and form processing from possible AJAX bypass.
|
115 |
-
|
116 |
-
= 1.4.3 =
|
117 |
-
* Fixed: Persistent spinner on Constant Contact Forms submit button when Google reCAPTCHA is anywhere on the page.
|
118 |
-
* Fixed: Better messaging around debug logging when unable to write to the intended log file.
|
119 |
-
* Updated: Changed the modal popup content for when we need to display Endurance Privacy Policy information.
|
120 |
-
|
121 |
-
= 1.4.2 =
|
122 |
-
* Fixed: Issue with mismatched meta key for per-form destination email address.
|
123 |
-
* Fixed: Ability to successfully submit a form with Google reCAPTCHA enabled, but when not validated, with a custom redirect URL is set.
|
124 |
-
* Fixed: Prevent errors if Debug Log location is not writeable by the plugin.
|
125 |
-
|
126 |
-
= 1.4.1 =
|
127 |
-
* Fixed: Issue with generic CSS selector causing other WordPress admin UI to be revealed unintentionally.
|
128 |
-
* Fixed: Issue with emails losing submitted information due to newly mismatched md5 hash values for each field.
|
129 |
-
* Updated: Re-added outlines styles in a couple of places in admin area for accessibility sake.
|
130 |
-
* Updated: Made form ID optional during contact addition method for site owners using plugin for comment/login page signups.
|
131 |
-
|
132 |
-
= 1.4.0 =
|
133 |
-
* Added: Various styling options during the form building process.
|
134 |
-
* Added: Initial Akismet integration to help aid with spam submissions.
|
135 |
-
* Added: Clear form fields after successful AJAX-based form submissions.
|
136 |
-
* Added: Clear success/error message after small delay, for AJAX-based form submissions.
|
137 |
-
* Added: WordPress action hooks before and after form output. Useful to add your own output for a given form.
|
138 |
-
* Added: Compatibility with "Call To Action" plugin.
|
139 |
-
* Added: Include custom field labels in email notifications.
|
140 |
-
* Added: Ability to customize who receives email notifications, per form.
|
141 |
-
* Added: Frontend form submit button disabled if hidden honeypot field has changed.
|
142 |
-
* Fixed: Consistently applied ctct_process_form_success filter to AJAX form submission success messages.
|
143 |
-
* Fixed: Prevent errors with Constant Contact social links and array_merge issues.
|
144 |
-
* Fixed: Prevent errors with array_key_exists() and the ctct_get_settings_option function.
|
145 |
-
* Fixed: Wording around associated lists for a form, in the WordPress admin.
|
146 |
-
* Fixed: Removed .gitignore files from /vendor folders.
|
147 |
-
* Fixed: Prevent potential PHP warnings and notices in various areas.
|
148 |
-
* Updated: Better support for emailing notifications to multiple recipiants.
|
149 |
-
* Updated: Better disabling of submit button during AJAX-based submissions.
|
150 |
-
* Updated: Tightened up form builder screen to not use so much space.
|
151 |
-
|
152 |
== Frequently Asked Questions ==
|
153 |
|
154 |
#### Installation and Setup
|
@@ -171,3 +88,6 @@ BONUS: If you have a Constant Contact account, all new email addresses that you
|
|
171 |
|
172 |
#### How do I include which custom fields labels are which custom field values in my Constant Contact Account?
|
173 |
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.
|
|
|
|
|
|
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.4.1
|
6 |
+
Stable tag: 1.8.5
|
7 |
License: GPLv3
|
8 |
License URI: http://www.gnu.org/licenses/gpl-3.0.html
|
9 |
Requires PHP: 5.6
|
24 |
|
25 |
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](http://www.constantcontact.com/index?pn=miwordpress) right from the plugin.
|
26 |
|
27 |
+
**Constant Contact Forms** requires a PHP version of 5.6 or higher. You will not be able to use if on a lower version. Talk to your system administrator or hosting company if you are not sure what version you are on.
|
28 |
|
29 |
== Screenshots ==
|
30 |
1. Adding a New form when connected to Constant Contact account.
|
35 |
|
36 |
== Changelog ==
|
37 |
|
38 |
+
= 1.8.5 =
|
39 |
+
* Added: Forced email notifications to admin when Constant Contact API request fails on attempted form submission.
|
40 |
+
* Fixed: Addressed issues with plugin error logging and addressed false-positive error messaging.
|
41 |
+
* Fixed: Cleaned up style minification task to allow for unminified version of stylesheet.
|
42 |
+
* Updated: Updated support error messaging in admin to reference tab structure of plugin settings.
|
43 |
+
|
44 |
= 1.8.4 =
|
45 |
* Fixed: Compatibility issue with PHP 5.6.
|
46 |
|
66 |
* Updated: Reduced frequency of admin notifications for potentially momentary issues.
|
67 |
* Updated: Clarified details regarding "Redirect URL" setting.
|
68 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
69 |
== Frequently Asked Questions ==
|
70 |
|
71 |
#### Installation and Setup
|
88 |
|
89 |
#### How do I include which custom fields labels are which custom field values in my Constant Contact Account?
|
90 |
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.
|
91 |
+
|
92 |
+
#### Which account level access is needed to connect my WordPress account to Constant Contact?
|
93 |
+
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.
|
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 ComposerAutoloaderInitb6eb9765b6ca2bd55b4483dd58709ee0::getLoader();
|
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 |
|
@@ -19,15 +19,15 @@ class ComposerAutoloaderInitbc7095f218e2f3cf2c42021190c00a4b
|
|
19 |
return self::$loader;
|
20 |
}
|
21 |
|
22 |
-
spl_autoload_register(array('
|
23 |
self::$loader = $loader = new \Composer\Autoload\ClassLoader();
|
24 |
-
spl_autoload_unregister(array('
|
25 |
|
26 |
$useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
|
27 |
if ($useStaticLoader) {
|
28 |
require_once __DIR__ . '/autoload_static.php';
|
29 |
|
30 |
-
call_user_func(\Composer\Autoload\
|
31 |
} else {
|
32 |
$classMap = require __DIR__ . '/autoload_classmap.php';
|
33 |
if ($classMap) {
|
@@ -39,19 +39,19 @@ class ComposerAutoloaderInitbc7095f218e2f3cf2c42021190c00a4b
|
|
39 |
$loader->register(true);
|
40 |
|
41 |
if ($useStaticLoader) {
|
42 |
-
$includeFiles = Composer\Autoload\
|
43 |
} else {
|
44 |
$includeFiles = require __DIR__ . '/autoload_files.php';
|
45 |
}
|
46 |
foreach ($includeFiles as $fileIdentifier => $file) {
|
47 |
-
|
48 |
}
|
49 |
|
50 |
return $loader;
|
51 |
}
|
52 |
}
|
53 |
|
54 |
-
function
|
55 |
{
|
56 |
if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
|
57 |
require $file;
|
2 |
|
3 |
// autoload_real.php @generated by Composer
|
4 |
|
5 |
+
class ComposerAutoloaderInitb6eb9765b6ca2bd55b4483dd58709ee0
|
6 |
{
|
7 |
private static $loader;
|
8 |
|
19 |
return self::$loader;
|
20 |
}
|
21 |
|
22 |
+
spl_autoload_register(array('ComposerAutoloaderInitb6eb9765b6ca2bd55b4483dd58709ee0', 'loadClassLoader'), true, true);
|
23 |
self::$loader = $loader = new \Composer\Autoload\ClassLoader();
|
24 |
+
spl_autoload_unregister(array('ComposerAutoloaderInitb6eb9765b6ca2bd55b4483dd58709ee0', 'loadClassLoader'));
|
25 |
|
26 |
$useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
|
27 |
if ($useStaticLoader) {
|
28 |
require_once __DIR__ . '/autoload_static.php';
|
29 |
|
30 |
+
call_user_func(\Composer\Autoload\ComposerStaticInitb6eb9765b6ca2bd55b4483dd58709ee0::getInitializer($loader));
|
31 |
} else {
|
32 |
$classMap = require __DIR__ . '/autoload_classmap.php';
|
33 |
if ($classMap) {
|
39 |
$loader->register(true);
|
40 |
|
41 |
if ($useStaticLoader) {
|
42 |
+
$includeFiles = Composer\Autoload\ComposerStaticInitb6eb9765b6ca2bd55b4483dd58709ee0::$files;
|
43 |
} else {
|
44 |
$includeFiles = require __DIR__ . '/autoload_files.php';
|
45 |
}
|
46 |
foreach ($includeFiles as $fileIdentifier => $file) {
|
47 |
+
composerRequireb6eb9765b6ca2bd55b4483dd58709ee0($fileIdentifier, $file);
|
48 |
}
|
49 |
|
50 |
return $loader;
|
51 |
}
|
52 |
}
|
53 |
|
54 |
+
function composerRequireb6eb9765b6ca2bd55b4483dd58709ee0($fileIdentifier, $file)
|
55 |
{
|
56 |
if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
|
57 |
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',
|
@@ -390,10 +390,10 @@ class ComposerStaticInitbc7095f218e2f3cf2c42021190c00a4b
|
|
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 =
|
397 |
|
398 |
}, null, ClassLoader::class);
|
399 |
}
|
4 |
|
5 |
namespace Composer\Autoload;
|
6 |
|
7 |
+
class ComposerStaticInitb6eb9765b6ca2bd55b4483dd58709ee0
|
8 |
{
|
9 |
public static $files = array (
|
10 |
'ad155f8f1cf0d418fe49e248db8c661b' => __DIR__ . '/..' . '/react/promise/src/functions_include.php',
|
390 |
public static function getInitializer(ClassLoader $loader)
|
391 |
{
|
392 |
return \Closure::bind(function () use ($loader) {
|
393 |
+
$loader->prefixLengthsPsr4 = ComposerStaticInitb6eb9765b6ca2bd55b4483dd58709ee0::$prefixLengthsPsr4;
|
394 |
+
$loader->prefixDirsPsr4 = ComposerStaticInitb6eb9765b6ca2bd55b4483dd58709ee0::$prefixDirsPsr4;
|
395 |
+
$loader->prefixesPsr0 = ComposerStaticInitb6eb9765b6ca2bd55b4483dd58709ee0::$prefixesPsr0;
|
396 |
+
$loader->classMap = ComposerStaticInitb6eb9765b6ca2bd55b4483dd58709ee0::$classMap;
|
397 |
|
398 |
}, null, ClassLoader::class);
|
399 |
}
|
vendor/composer/installed.json
CHANGED
@@ -323,7 +323,8 @@
|
|
323 |
"homepage": "https://github.com/mtdowling"
|
324 |
}
|
325 |
],
|
326 |
-
"description": "Provides a simple API and specification that abstracts away the details of HTTP into a single PHP function."
|
|
|
327 |
},
|
328 |
{
|
329 |
"name": "guzzlehttp/streams",
|
@@ -375,7 +376,8 @@
|
|
375 |
"keywords": [
|
376 |
"Guzzle",
|
377 |
"stream"
|
378 |
-
]
|
|
|
379 |
},
|
380 |
{
|
381 |
"name": "monolog/monolog",
|
323 |
"homepage": "https://github.com/mtdowling"
|
324 |
}
|
325 |
],
|
326 |
+
"description": "Provides a simple API and specification that abstracts away the details of HTTP into a single PHP function.",
|
327 |
+
"abandoned": true
|
328 |
},
|
329 |
{
|
330 |
"name": "guzzlehttp/streams",
|
376 |
"keywords": [
|
377 |
"Guzzle",
|
378 |
"stream"
|
379 |
+
],
|
380 |
+
"abandoned": true
|
381 |
},
|
382 |
{
|
383 |
"name": "monolog/monolog",
|
vendor/constantcontact/constantcontact/.gitignore
ADDED
@@ -0,0 +1,25 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# Created by .gitignore support plugin (hsz.mobi)
|
2 |
+
|
3 |
+
## Directory-based project format
|
4 |
+
.idea/
|
5 |
+
/*.iml
|
6 |
+
|
7 |
+
## File-based project format
|
8 |
+
*.ipr
|
9 |
+
*.iws
|
10 |
+
|
11 |
+
## Additional for IntelliJ
|
12 |
+
out/
|
13 |
+
|
14 |
+
# generated by mpeltonen/sbt-idea plugin
|
15 |
+
.idea_modules/
|
16 |
+
|
17 |
+
# generated by JIRA plugin
|
18 |
+
atlassian-ide-plugin.xml
|
19 |
+
|
20 |
+
### Composer template
|
21 |
+
composer.lock
|
22 |
+
composer.phar
|
23 |
+
vendor/
|
24 |
+
|
25 |
+
devFile.php
|
vendor/defuse/php-encryption/.gitignore
ADDED
@@ -0,0 +1,11 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
*~
|
2 |
+
/test/unit/File/big-generated-file
|
3 |
+
/composer.lock
|
4 |
+
/vendor
|
5 |
+
defuse-crypto.phar
|
6 |
+
defuse-crypto.phar.sig
|
7 |
+
composer.phar
|
8 |
+
box.phar
|
9 |
+
phpunit.phar
|
10 |
+
phpunit.phar.asc
|
11 |
+
test/unit/File/tmp
|
vendor/google/recaptcha/.gitignore
ADDED
@@ -0,0 +1,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/.php_cs.cache
|
2 |
+
/.phpunit.result.cache
|
3 |
+
/build
|
4 |
+
/composer.lock
|
5 |
+
/examples/config.php
|
6 |
+
/nbproject/private/
|
7 |
+
/vendor/
|
vendor/guzzlehttp/ringphp/.gitignore
ADDED
@@ -0,0 +1,4 @@
|
|
|
|
|
|
|
|
|
1 |
+
vendor
|
2 |
+
build/artifacts/
|
3 |
+
composer.lock
|
4 |
+
docs/_build/
|
vendor/guzzlehttp/streams/.gitignore
ADDED
@@ -0,0 +1,6 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
.idea
|
2 |
+
.DS_STORE
|
3 |
+
coverage
|
4 |
+
phpunit.xml
|
5 |
+
composer.lock
|
6 |
+
vendor/
|
vendor/psr/log/.gitignore
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
vendor
|
vendor/react/promise/.gitignore
ADDED
@@ -0,0 +1,5 @@
|
|
|
|
|
|
|
|
|
|
|
1 |
+
composer.lock
|
2 |
+
composer.phar
|
3 |
+
phpunit.xml
|
4 |
+
build/
|
5 |
+
vendor/
|