1 | <?php
|
---|
2 |
|
---|
3 | class WPCF7_ContactForm {
|
---|
4 |
|
---|
5 | var $initial = false;
|
---|
6 |
|
---|
7 | var $id;
|
---|
8 | var $title;
|
---|
9 | var $form;
|
---|
10 | var $mail;
|
---|
11 | var $mail_2;
|
---|
12 | var $messages;
|
---|
13 | var $additional_settings;
|
---|
14 |
|
---|
15 | var $unit_tag;
|
---|
16 |
|
---|
17 | var $responses_count = 0;
|
---|
18 | var $scanned_form_tags;
|
---|
19 |
|
---|
20 | var $posted_data;
|
---|
21 | var $uploaded_files;
|
---|
22 |
|
---|
23 | // Return true if this form is the same one as currently POSTed.
|
---|
24 | function is_posted() {
|
---|
25 | if ( ! isset( $_POST['_wpcf7_unit_tag'] ) || empty( $_POST['_wpcf7_unit_tag'] ) )
|
---|
26 | return false;
|
---|
27 |
|
---|
28 | if ( $this->unit_tag == $_POST['_wpcf7_unit_tag'] )
|
---|
29 | return true;
|
---|
30 |
|
---|
31 | return false;
|
---|
32 | }
|
---|
33 |
|
---|
34 | /* Generating Form HTML */
|
---|
35 |
|
---|
36 | function form_html() {
|
---|
37 | $form = '<div class="wpcf7" id="' . $this->unit_tag . '">';
|
---|
38 |
|
---|
39 | $url = parse_url( $_SERVER['REQUEST_URI'] );
|
---|
40 | $url = $url['path'] . ( empty( $url['query'] ) ? '' : '?' . $url['query'] ) . '#' . $this->unit_tag;
|
---|
41 |
|
---|
42 | $enctype = apply_filters( 'wpcf7_form_enctype', '' );
|
---|
43 |
|
---|
44 | $form .= '<form action="' . $url . '" method="post" class="wpcf7-form"' . $enctype . '>';
|
---|
45 | $form .= '<div style="display: none;">';
|
---|
46 | $form .= '<input type="hidden" name="_wpcf7" value="' . $this->id . '" />';
|
---|
47 | $form .= '<input type="hidden" name="_wpcf7_version" value="' . WPCF7_VERSION . '" />';
|
---|
48 | $form .= '<input type="hidden" name="_wpcf7_unit_tag" value="' . $this->unit_tag . '" />';
|
---|
49 | $form .= '</div>';
|
---|
50 | $form .= $this->form_elements();
|
---|
51 |
|
---|
52 | if ( ! $this->responses_count )
|
---|
53 | $form .= $this->form_response_output();
|
---|
54 |
|
---|
55 | $form .= '</form>';
|
---|
56 |
|
---|
57 | $form .= '</div>';
|
---|
58 |
|
---|
59 | return $form;
|
---|
60 | }
|
---|
61 |
|
---|
62 | function form_response_output() {
|
---|
63 | $class = 'wpcf7-response-output';
|
---|
64 |
|
---|
65 | if ( $this->is_posted() ) { // Post response output for non-AJAX
|
---|
66 | if ( isset( $_POST['_wpcf7_mail_sent'] ) && $_POST['_wpcf7_mail_sent']['id'] == $this->id ) {
|
---|
67 | if ( $_POST['_wpcf7_mail_sent']['ok'] ) {
|
---|
68 | $class .= ' wpcf7-mail-sent-ok';
|
---|
69 | $content = $_POST['_wpcf7_mail_sent']['message'];
|
---|
70 | } else {
|
---|
71 | $class .= ' wpcf7-mail-sent-ng';
|
---|
72 | if ( $_POST['_wpcf7_mail_sent']['spam'] )
|
---|
73 | $class .= ' wpcf7-spam-blocked';
|
---|
74 | $content = $_POST['_wpcf7_mail_sent']['message'];
|
---|
75 | }
|
---|
76 | } elseif ( isset( $_POST['_wpcf7_validation_errors'] ) && $_POST['_wpcf7_validation_errors']['id'] == $this->id ) {
|
---|
77 | $class .= ' wpcf7-validation-errors';
|
---|
78 | $content = $this->message( 'validation_error' );
|
---|
79 | }
|
---|
80 | } else {
|
---|
81 | $class .= ' wpcf7-display-none';
|
---|
82 | }
|
---|
83 |
|
---|
84 | $class = ' class="' . $class . '"';
|
---|
85 |
|
---|
86 | return '<div' . $class . '>' . $content . '</div>';
|
---|
87 | }
|
---|
88 |
|
---|
89 | function validation_error( $name ) {
|
---|
90 | if ( $this->is_posted() && $ve = $_POST['_wpcf7_validation_errors']['messages'][$name] )
|
---|
91 | return '<span class="wpcf7-not-valid-tip-no-ajax">' . esc_html( $ve ) . '</span>';
|
---|
92 |
|
---|
93 | return '';
|
---|
94 | }
|
---|
95 |
|
---|
96 | /* Form Elements */
|
---|
97 |
|
---|
98 | function form_do_shortcode() {
|
---|
99 | global $wpcf7_shortcode_manager;
|
---|
100 |
|
---|
101 | $form = $this->form;
|
---|
102 |
|
---|
103 | $form = $wpcf7_shortcode_manager->do_shortcode( $form );
|
---|
104 | $this->scanned_form_tags = $wpcf7_shortcode_manager->scanned_tags;
|
---|
105 |
|
---|
106 | if ( WPCF7_AUTOP )
|
---|
107 | $form = wpcf7_autop( $form );
|
---|
108 |
|
---|
109 | return $form;
|
---|
110 | }
|
---|
111 |
|
---|
112 | function form_scan_shortcode( $cond = null ) {
|
---|
113 | global $wpcf7_shortcode_manager;
|
---|
114 |
|
---|
115 | if ( ! empty( $this->scanned_form_tags ) ) {
|
---|
116 | $scanned = $this->scanned_form_tags;
|
---|
117 | } else {
|
---|
118 | $scanned = $wpcf7_shortcode_manager->scan_shortcode( $this->form );
|
---|
119 | $this->scanned_form_tags = $scanned;
|
---|
120 | }
|
---|
121 |
|
---|
122 | if ( empty( $scanned ) )
|
---|
123 | return null;
|
---|
124 |
|
---|
125 | if ( ! is_array( $cond ) || empty( $cond ) )
|
---|
126 | return $scanned;
|
---|
127 |
|
---|
128 | for ( $i = 0, $size = count( $scanned ); $i < $size; $i++ ) {
|
---|
129 |
|
---|
130 | if ( is_string( $cond['type'] ) && ! empty( $cond['type'] ) ) {
|
---|
131 | if ( $scanned[$i]['type'] != $cond['type'] ) {
|
---|
132 | unset( $scanned[$i] );
|
---|
133 | continue;
|
---|
134 | }
|
---|
135 | } elseif ( is_array( $cond['type'] ) ) {
|
---|
136 | if ( ! in_array( $scanned[$i]['type'], $cond['type'] ) ) {
|
---|
137 | unset( $scanned[$i] );
|
---|
138 | continue;
|
---|
139 | }
|
---|
140 | }
|
---|
141 |
|
---|
142 | if ( is_string( $cond['name'] ) && ! empty( $cond['name'] ) ) {
|
---|
143 | if ( $scanned[$i]['name'] != $cond['name'] ) {
|
---|
144 | unset ( $scanned[$i] );
|
---|
145 | continue;
|
---|
146 | }
|
---|
147 | } elseif ( is_array( $cond['name'] ) ) {
|
---|
148 | if ( ! in_array( $scanned[$i]['name'], $cond['name'] ) ) {
|
---|
149 | unset( $scanned[$i] );
|
---|
150 | continue;
|
---|
151 | }
|
---|
152 | }
|
---|
153 | }
|
---|
154 |
|
---|
155 | return array_values( $scanned );
|
---|
156 | }
|
---|
157 |
|
---|
158 | function form_elements() {
|
---|
159 | $form = $this->form_do_shortcode();
|
---|
160 |
|
---|
161 | // Response output
|
---|
162 | $response_regex = '%\[\s*response\s*\]%';
|
---|
163 | $form = preg_replace_callback( $response_regex,
|
---|
164 | array( &$this, 'response_replace_callback' ), $form );
|
---|
165 |
|
---|
166 | return $form;
|
---|
167 | }
|
---|
168 |
|
---|
169 | function response_replace_callback( $matches ) {
|
---|
170 | $this->responses_count += 1;
|
---|
171 | return $this->form_response_output();
|
---|
172 | }
|
---|
173 |
|
---|
174 | /* Validate */
|
---|
175 |
|
---|
176 | function validate() {
|
---|
177 | $fes = $this->form_scan_shortcode();
|
---|
178 |
|
---|
179 | $result = array( 'valid' => true, 'reason' => array() );
|
---|
180 |
|
---|
181 | foreach ( $fes as $fe ) {
|
---|
182 | $type = $fe['type'];
|
---|
183 | $name = $fe['name'];
|
---|
184 |
|
---|
185 | if ( empty( $name ) )
|
---|
186 | continue;
|
---|
187 |
|
---|
188 | $result = apply_filters( 'wpcf7_validate_' . $type, $result, $fe );
|
---|
189 | }
|
---|
190 |
|
---|
191 | return $result;
|
---|
192 | }
|
---|
193 |
|
---|
194 | /* Acceptance */
|
---|
195 |
|
---|
196 | function accepted() {
|
---|
197 | $accepted = true;
|
---|
198 |
|
---|
199 | return apply_filters( 'wpcf7_acceptance', $accepted );
|
---|
200 | }
|
---|
201 |
|
---|
202 | /* Akismet */
|
---|
203 |
|
---|
204 | function akismet() {
|
---|
205 | global $akismet_api_host, $akismet_api_port;
|
---|
206 |
|
---|
207 | if ( ! function_exists( 'akismet_http_post' ) ||
|
---|
208 | ! ( get_option( 'wordpress_api_key' ) || $wpcom_api_key ) )
|
---|
209 | return false;
|
---|
210 |
|
---|
211 | $akismet_ready = false;
|
---|
212 | $author = $author_email = $author_url = $content = '';
|
---|
213 | $fes = $this->form_scan_shortcode();
|
---|
214 |
|
---|
215 | foreach ( $fes as $fe ) {
|
---|
216 | if ( ! is_array( $fe['options'] ) ) continue;
|
---|
217 |
|
---|
218 | if ( preg_grep( '%^akismet:author$%', $fe['options'] ) && '' == $author ) {
|
---|
219 | $author = $_POST[$fe['name']];
|
---|
220 | $akismet_ready = true;
|
---|
221 | }
|
---|
222 |
|
---|
223 | if ( preg_grep( '%^akismet:author_email$%', $fe['options'] ) && '' == $author_email ) {
|
---|
224 | $author_email = $_POST[$fe['name']];
|
---|
225 | $akismet_ready = true;
|
---|
226 | }
|
---|
227 |
|
---|
228 | if ( preg_grep( '%^akismet:author_url$%', $fe['options'] ) && '' == $author_url ) {
|
---|
229 | $author_url = $_POST[$fe['name']];
|
---|
230 | $akismet_ready = true;
|
---|
231 | }
|
---|
232 |
|
---|
233 | if ( '' != $content )
|
---|
234 | $content .= "\n\n";
|
---|
235 |
|
---|
236 | $content .= $_POST[$fe['name']];
|
---|
237 | }
|
---|
238 |
|
---|
239 | if ( ! $akismet_ready )
|
---|
240 | return false;
|
---|
241 |
|
---|
242 | $c['blog'] = get_option( 'home' );
|
---|
243 | $c['user_ip'] = preg_replace( '/[^0-9., ]/', '', $_SERVER['REMOTE_ADDR'] );
|
---|
244 | $c['user_agent'] = $_SERVER['HTTP_USER_AGENT'];
|
---|
245 | $c['referrer'] = $_SERVER['HTTP_REFERER'];
|
---|
246 | $c['comment_type'] = 'contactform7';
|
---|
247 | if ( $permalink = get_permalink() )
|
---|
248 | $c['permalink'] = $permalink;
|
---|
249 | if ( '' != $author )
|
---|
250 | $c['comment_author'] = $author;
|
---|
251 | if ( '' != $author_email )
|
---|
252 | $c['comment_author_email'] = $author_email;
|
---|
253 | if ( '' != $author_url )
|
---|
254 | $c['comment_author_url'] = $author_url;
|
---|
255 | if ( '' != $content )
|
---|
256 | $c['comment_content'] = $content;
|
---|
257 |
|
---|
258 | $ignore = array( 'HTTP_COOKIE' );
|
---|
259 |
|
---|
260 | foreach ( $_SERVER as $key => $value )
|
---|
261 | if ( ! in_array( $key, (array) $ignore ) )
|
---|
262 | $c["$key"] = $value;
|
---|
263 |
|
---|
264 | $query_string = '';
|
---|
265 | foreach ( $c as $key => $data )
|
---|
266 | $query_string .= $key . '=' . urlencode( stripslashes( $data ) ) . '&';
|
---|
267 |
|
---|
268 | $response = akismet_http_post( $query_string, $akismet_api_host,
|
---|
269 | '/1.1/comment-check', $akismet_api_port );
|
---|
270 | if ( 'true' == $response[1] )
|
---|
271 | return true;
|
---|
272 | else
|
---|
273 | return false;
|
---|
274 | }
|
---|
275 |
|
---|
276 | /* Mail */
|
---|
277 |
|
---|
278 | function mail() {
|
---|
279 | $fes = $this->form_scan_shortcode();
|
---|
280 |
|
---|
281 | foreach ( $fes as $fe ) {
|
---|
282 | $name = $fe['name'];
|
---|
283 | $pipes = $fe['pipes'];
|
---|
284 |
|
---|
285 | if ( empty( $name ) )
|
---|
286 | continue;
|
---|
287 |
|
---|
288 | $value = $_POST[$name];
|
---|
289 |
|
---|
290 | if ( WPCF7_USE_PIPE && is_a( $pipes, 'WPCF7_Pipes' ) && ! $pipes->zero() ) {
|
---|
291 | if ( is_array( $value) ) {
|
---|
292 | $new_value = array();
|
---|
293 | foreach ( $value as $v ) {
|
---|
294 | $new_value[] = $pipes->do_pipe( $v );
|
---|
295 | }
|
---|
296 | $value = $new_value;
|
---|
297 | } else {
|
---|
298 | $value = $pipes->do_pipe( $value );
|
---|
299 | }
|
---|
300 | }
|
---|
301 |
|
---|
302 | $this->posted_data[$name] = $value;
|
---|
303 | }
|
---|
304 |
|
---|
305 | if ( $this->compose_and_send_mail( $this->mail ) ) {
|
---|
306 | if ( $this->mail_2['active'] )
|
---|
307 | $this->compose_and_send_mail( $this->mail_2 );
|
---|
308 |
|
---|
309 | return true;
|
---|
310 | }
|
---|
311 |
|
---|
312 | return false;
|
---|
313 | }
|
---|
314 |
|
---|
315 | function compose_and_send_mail( $mail_template ) {
|
---|
316 | $regex = '/\[\s*([a-zA-Z][0-9a-zA-Z:._-]*)\s*\]/';
|
---|
317 | $callback = array( &$this, 'mail_callback' );
|
---|
318 |
|
---|
319 | $mail_subject = preg_replace_callback( $regex, $callback, $mail_template['subject'] );
|
---|
320 | $mail_sender = preg_replace_callback( $regex, $callback, $mail_template['sender'] );
|
---|
321 | $mail_body = preg_replace_callback( $regex, $callback, $mail_template['body'] );
|
---|
322 | $mail_recipient = preg_replace_callback( $regex, $callback, $mail_template['recipient'] );
|
---|
323 |
|
---|
324 | $mail_headers = "From: $mail_sender\n";
|
---|
325 |
|
---|
326 | if ( $mail_template['use_html'] )
|
---|
327 | $mail_headers .= "Content-Type: text/html\n";
|
---|
328 |
|
---|
329 | $mail_additional_headers = preg_replace_callback( $regex, $callback,
|
---|
330 | $mail_template['additional_headers'] );
|
---|
331 | $mail_headers .= trim( $mail_additional_headers ) . "\n";
|
---|
332 |
|
---|
333 | if ( $this->uploaded_files ) {
|
---|
334 | $for_this_mail = array();
|
---|
335 | foreach ( $this->uploaded_files as $name => $path ) {
|
---|
336 | if ( false === strpos( $mail_template['attachments'], "[${name}]" ) )
|
---|
337 | continue;
|
---|
338 | $for_this_mail[] = $path;
|
---|
339 | }
|
---|
340 |
|
---|
341 | return @wp_mail( $mail_recipient, $mail_subject, $mail_body, $mail_headers,
|
---|
342 | $for_this_mail );
|
---|
343 | } else {
|
---|
344 | return @wp_mail( $mail_recipient, $mail_subject, $mail_body, $mail_headers );
|
---|
345 | }
|
---|
346 | }
|
---|
347 |
|
---|
348 | function mail_callback( $matches ) {
|
---|
349 | if ( isset( $this->posted_data[$matches[1]] ) ) {
|
---|
350 | $submitted = $this->posted_data[$matches[1]];
|
---|
351 |
|
---|
352 | if ( is_array( $submitted ) )
|
---|
353 | $submitted = join( ', ', $submitted );
|
---|
354 |
|
---|
355 | return stripslashes( $submitted );
|
---|
356 |
|
---|
357 | } else {
|
---|
358 | // Special [wpcf7.remote_ip] tag
|
---|
359 | if ( 'wpcf7.remote_ip' == $matches[1] )
|
---|
360 | return preg_replace( '/[^0-9a-f.:, ]/', '', $_SERVER['REMOTE_ADDR'] );
|
---|
361 |
|
---|
362 | return $matches[0];
|
---|
363 | }
|
---|
364 | }
|
---|
365 |
|
---|
366 | /* Message */
|
---|
367 |
|
---|
368 | function message( $status ) {
|
---|
369 | $messages = $this->messages;
|
---|
370 | $message = '';
|
---|
371 |
|
---|
372 | if ( ! is_array( $messages ) || ! isset( $messages[$status] ) )
|
---|
373 | $message = wpcf7_default_message( $status );
|
---|
374 | else
|
---|
375 | $message = $messages[$status];
|
---|
376 |
|
---|
377 | return apply_filters( 'wpcf7_display_message', $message );
|
---|
378 | }
|
---|
379 |
|
---|
380 | /* Additional settings */
|
---|
381 |
|
---|
382 | function additional_setting( $name, $max = 1 ) {
|
---|
383 | $tmp_settings = (array) explode( "\n", $this->additional_settings );
|
---|
384 |
|
---|
385 | $count = 0;
|
---|
386 | $values = array();
|
---|
387 |
|
---|
388 | foreach ( $tmp_settings as $setting ) {
|
---|
389 | if ( preg_match('/^([a-zA-Z0-9_]+)\s*:(.*)$/', $setting, $matches ) ) {
|
---|
390 | if ( $matches[1] != $name )
|
---|
391 | continue;
|
---|
392 |
|
---|
393 | if ( ! $max || $count < (int) $max ) {
|
---|
394 | $values[] = trim( $matches[2] );
|
---|
395 | $count += 1;
|
---|
396 | }
|
---|
397 | }
|
---|
398 | }
|
---|
399 |
|
---|
400 | return $values;
|
---|
401 | }
|
---|
402 |
|
---|
403 | /* Upgrade */
|
---|
404 |
|
---|
405 | function upgrade() {
|
---|
406 | if ( ! isset( $this->mail['recipient'] ) )
|
---|
407 | $this->mail['recipient'] = get_option( 'admin_email' );
|
---|
408 |
|
---|
409 |
|
---|
410 | if ( ! is_array( $this->messages ) )
|
---|
411 | $this->messages = array();
|
---|
412 |
|
---|
413 | $messages = array(
|
---|
414 | 'mail_sent_ok', 'mail_sent_ng', 'akismet_says_spam', 'validation_error', 'accept_terms',
|
---|
415 | 'invalid_email', 'invalid_required', 'captcha_not_match', 'upload_failed',
|
---|
416 | 'upload_file_type_invalid', 'upload_file_too_large', 'upload_failed_php_error',
|
---|
417 | 'quiz_answer_not_correct' );
|
---|
418 |
|
---|
419 | foreach ($messages as $message) {
|
---|
420 | if ( ! isset( $this->messages[$message] ) )
|
---|
421 | $this->messages[$message] = wpcf7_default_message( $message );
|
---|
422 | }
|
---|
423 | }
|
---|
424 |
|
---|
425 | /* Save */
|
---|
426 |
|
---|
427 | function save() {
|
---|
428 | global $wpdb;
|
---|
429 |
|
---|
430 | $table_name = wpcf7_table_name();
|
---|
431 |
|
---|
432 | if ( $this->initial ) {
|
---|
433 | $result = $wpdb->insert( $table_name, array(
|
---|
434 | 'title' => $this->title,
|
---|
435 | 'form' => maybe_serialize( $this->form ),
|
---|
436 | 'mail' => maybe_serialize( $this->mail ),
|
---|
437 | 'mail_2' => maybe_serialize ( $this->mail_2 ),
|
---|
438 | 'messages' => maybe_serialize( $this->messages ),
|
---|
439 | 'additional_settings' => maybe_serialize( $this->additional_settings ) ) );
|
---|
440 |
|
---|
441 | if ( $result ) {
|
---|
442 | $this->initial = false;
|
---|
443 | $this->id = $wpdb->insert_id;
|
---|
444 |
|
---|
445 | do_action_ref_array( 'wpcf7_after_create', array( &$this ) );
|
---|
446 | } else {
|
---|
447 | return false; // Failed to save
|
---|
448 | }
|
---|
449 |
|
---|
450 | } else { // Update
|
---|
451 | if ( ! (int) $this->id )
|
---|
452 | return false; // Missing ID
|
---|
453 |
|
---|
454 | $result = $wpdb->update( $table_name, array(
|
---|
455 | 'title' => $this->title,
|
---|
456 | 'form' => maybe_serialize( $this->form ),
|
---|
457 | 'mail' => maybe_serialize( $this->mail ),
|
---|
458 | 'mail_2' => maybe_serialize ( $this->mail_2 ),
|
---|
459 | 'messages' => maybe_serialize( $this->messages ),
|
---|
460 | 'additional_settings' => maybe_serialize( $this->additional_settings )
|
---|
461 | ), array( 'cf7_unit_id' => absint( $this->id) ) );
|
---|
462 |
|
---|
463 | if ( false !== $result ) {
|
---|
464 | do_action_ref_array( 'wpcf7_after_update', array( &$this ) );
|
---|
465 | } else {
|
---|
466 | return false; // Failed to save
|
---|
467 | }
|
---|
468 | }
|
---|
469 |
|
---|
470 | do_action_ref_array( 'wpcf7_after_save', array( &$this ) );
|
---|
471 | return true; // Succeeded to save
|
---|
472 | }
|
---|
473 |
|
---|
474 | function copy() {
|
---|
475 | $new = new WPCF7_ContactForm();
|
---|
476 | $new->initial = true;
|
---|
477 |
|
---|
478 | $new->title = $this->title . '_copy';
|
---|
479 | $new->form = $this->form;
|
---|
480 | $new->mail = $this->mail;
|
---|
481 | $new->mail_2 = $this->mail_2;
|
---|
482 | $new->messages = $this->messages;
|
---|
483 | $new->additional_settings = $this->additional_settings;
|
---|
484 |
|
---|
485 | return $new;
|
---|
486 | }
|
---|
487 |
|
---|
488 | function delete() {
|
---|
489 | global $wpdb;
|
---|
490 |
|
---|
491 | if ( $this->initial )
|
---|
492 | return;
|
---|
493 |
|
---|
494 | $table_name = wpcf7_table_name();
|
---|
495 |
|
---|
496 | $query = $wpdb->prepare(
|
---|
497 | "DELETE FROM $table_name WHERE cf7_unit_id = %d LIMIT 1",
|
---|
498 | absint( $this->id ) );
|
---|
499 |
|
---|
500 | $wpdb->query( $query );
|
---|
501 |
|
---|
502 | $this->initial = true;
|
---|
503 | $this->id = null;
|
---|
504 | }
|
---|
505 | }
|
---|
506 |
|
---|
507 | function wpcf7_contact_form( $id ) {
|
---|
508 | global $wpdb;
|
---|
509 |
|
---|
510 | $table_name = wpcf7_table_name();
|
---|
511 |
|
---|
512 | $id = (int) $id;
|
---|
513 |
|
---|
514 | $query = $wpdb->prepare( "SELECT * FROM $table_name WHERE cf7_unit_id = %d", $id );
|
---|
515 |
|
---|
516 | if ( ! $row = $wpdb->get_row( $query ) )
|
---|
517 | return false; // No data
|
---|
518 |
|
---|
519 | $contact_form = new WPCF7_ContactForm();
|
---|
520 | $contact_form->id = $row->cf7_unit_id;
|
---|
521 | $contact_form->title = stripslashes_deep( $row->title );
|
---|
522 | $contact_form->form = stripslashes_deep( maybe_unserialize( $row->form ) );
|
---|
523 | $contact_form->mail = stripslashes_deep( maybe_unserialize( $row->mail ) );
|
---|
524 | $contact_form->mail_2 = stripslashes_deep( maybe_unserialize( $row->mail_2 ) );
|
---|
525 | $contact_form->messages = stripslashes_deep( maybe_unserialize( $row->messages ) );
|
---|
526 | $contact_form->additional_settings = stripslashes_deep( maybe_unserialize( $row->additional_settings ) );
|
---|
527 |
|
---|
528 | $contact_form->upgrade();
|
---|
529 |
|
---|
530 | return $contact_form;
|
---|
531 | }
|
---|
532 |
|
---|
533 | function wpcf7_contact_form_default_pack() {
|
---|
534 | $contact_form = new WPCF7_ContactForm();
|
---|
535 | $contact_form->initial = true;
|
---|
536 |
|
---|
537 | $contact_form->title = __( 'Untitled', 'wpcf7' );
|
---|
538 | $contact_form->form = wpcf7_default_form_template();
|
---|
539 | $contact_form->mail = wpcf7_default_mail_template();
|
---|
540 | $contact_form->mail_2 = wpcf7_default_mail_2_template();
|
---|
541 | $contact_form->messages = wpcf7_default_messages_template();
|
---|
542 |
|
---|
543 | return $contact_form;
|
---|
544 | }
|
---|
545 |
|
---|
546 | ?> |
---|