Version Description
Download this release
Release Info
Developer | takayukister |
Plugin | Contact Form 7 |
Version | 2.0-beta |
Comparing to | |
See all releases |
Code changes from version 1.10.1 to 2.0-beta
- README.txt +5 -5
- admin/admin-panel.php +6 -17
- admin/admin.php +95 -116
- includes/acceptance.php +0 -21
- includes/akismet.php +0 -73
- includes/classes.php +348 -401
- includes/formatting.php +13 -10
- includes/functions.php +91 -0
- includes/mail.php +0 -70
- includes/pipe.php +45 -51
- includes/quiz.php +0 -34
- includes/shortcodes.php +146 -0
- includes/upload.php +0 -148
- languages/wpcf7-el.mo +0 -0
- languages/wpcf7-el.po +468 -0
- languages/wpcf7-el_EL.mo +0 -0
- languages/wpcf7-el_EL.po +0 -288
- languages/wpcf7-ja.mo +0 -0
- languages/wpcf7-ja.po +146 -141
- languages/wpcf7-nl_NL.mo +0 -0
- languages/wpcf7-nl_NL.po +469 -168
- languages/wpcf7-zh_TW.mo +0 -0
- languages/wpcf7-zh_TW.po +247 -202
- languages/wpcf7.pot +142 -139
- modules/acceptance.php +88 -0
- {includes → modules}/captcha.php +344 -189
- modules/checkbox.php +162 -0
- modules/file.php +217 -0
- modules/icl.php +217 -0
- modules/quiz.php +154 -0
- modules/select.php +137 -0
- modules/submit.php +49 -0
- modules/text.php +123 -0
- modules/textarea.php +112 -0
- wp-contact-form-7.php +116 -181
README.txt
CHANGED
@@ -2,8 +2,8 @@
|
|
2 |
Contributors: takayukister
|
3 |
Donate link: http://pledgie.com/campaigns/3117
|
4 |
Tags: contact, contact form, email, ajax, captcha, akismet
|
5 |
-
Requires at least: 2.
|
6 |
-
Tested up to: 2.
|
7 |
Stable tag: 1.10.1
|
8 |
|
9 |
Just another contact form plugin. Simple but flexible.
|
@@ -29,13 +29,13 @@ Since being published in August 2007, Contact Form 7 has been translated into a
|
|
29 |
* Croatian (hr) - [tolingo Translation Services](http://www.tolingo.com)
|
30 |
* Czech (cs_CZ) - Korry
|
31 |
* Danish (da_DK) - [Jens Griebel](http://www.kompas-it.dk/) (updated by [Georg S. Adamsen](http://wordpress.blogos.dk/))
|
32 |
-
* Dutch (nl_NL) - [Chris Devriese](http://www.100it.be/)
|
33 |
* Estonian (et) - [Peeter Rahuvarm](http://www.kraabus.ee)
|
34 |
* Finnish (fi) - [Miika Turunen](http://www.webwork.fi/)
|
35 |
* French (fr_FR) - [Jillij](http://www.jillij.com/)
|
36 |
* Georgian (ka_GE) - [Nodar Davituri](http://omedia.ge/)
|
37 |
* German (de_DE) - [Marcel Spitau](http://blog.spitau.de) (updated by [Ivan Graf](http://blog.bildergallery.com/))
|
38 |
-
* Greek (
|
39 |
* Hebrew (he_IL) - [Yaron Ofer](http://www.gadgetguru.co.il/)
|
40 |
* Hindi (hi_IN) - [Tarun Joshi](http://www.readers-cafe.net/)
|
41 |
* Hungarian (hu_HU) - [Andras Hirschler](http://hia.itblog.hu/)
|
@@ -67,7 +67,7 @@ If you have created your own language pack, or have an update of an existing one
|
|
67 |
1. Upload the entire `contact-form-7` folder to the `/wp-content/plugins/` directory.
|
68 |
1. Activate the plugin through the 'Plugins' menu in WordPress.
|
69 |
|
70 |
-
|
71 |
|
72 |
For basic usage, you can also have a look at the [plugin homepage](http://ideasilo.wordpress.com/2007/04/30/contact-form-7/) and [FAQ](http://ideasilo.wordpress.com/2008/03/29/contact-form-7-faq/).
|
73 |
|
2 |
Contributors: takayukister
|
3 |
Donate link: http://pledgie.com/campaigns/3117
|
4 |
Tags: contact, contact form, email, ajax, captcha, akismet
|
5 |
+
Requires at least: 2.7
|
6 |
+
Tested up to: 2.9-rare
|
7 |
Stable tag: 1.10.1
|
8 |
|
9 |
Just another contact form plugin. Simple but flexible.
|
29 |
* Croatian (hr) - [tolingo Translation Services](http://www.tolingo.com)
|
30 |
* Czech (cs_CZ) - Korry
|
31 |
* Danish (da_DK) - [Jens Griebel](http://www.kompas-it.dk/) (updated by [Georg S. Adamsen](http://wordpress.blogos.dk/))
|
32 |
+
* Dutch (nl_NL) - [Chris Devriese](http://www.100it.be/) (updated by [Martin Hein](http://www.split-a-pixel.nl/))
|
33 |
* Estonian (et) - [Peeter Rahuvarm](http://www.kraabus.ee)
|
34 |
* Finnish (fi) - [Miika Turunen](http://www.webwork.fi/)
|
35 |
* French (fr_FR) - [Jillij](http://www.jillij.com/)
|
36 |
* Georgian (ka_GE) - [Nodar Davituri](http://omedia.ge/)
|
37 |
* German (de_DE) - [Marcel Spitau](http://blog.spitau.de) (updated by [Ivan Graf](http://blog.bildergallery.com/))
|
38 |
+
* Greek (el) - [Nick Mouratidis](http://www.kepik.gr/) (updated by [Pr. friedlich](http://friedlich.wordpress.com/))
|
39 |
* Hebrew (he_IL) - [Yaron Ofer](http://www.gadgetguru.co.il/)
|
40 |
* Hindi (hi_IN) - [Tarun Joshi](http://www.readers-cafe.net/)
|
41 |
* Hungarian (hu_HU) - [Andras Hirschler](http://hia.itblog.hu/)
|
67 |
1. Upload the entire `contact-form-7` folder to the `/wp-content/plugins/` directory.
|
68 |
1. Activate the plugin through the 'Plugins' menu in WordPress.
|
69 |
|
70 |
+
You will find 'Contact Form 7' menu in your WordPress admin panel.
|
71 |
|
72 |
For basic usage, you can also have a look at the [plugin homepage](http://ideasilo.wordpress.com/2007/04/30/contact-form-7/) and [FAQ](http://ideasilo.wordpress.com/2008/03/29/contact-form-7-faq/).
|
73 |
|
admin/admin-panel.php
CHANGED
@@ -1,18 +1,15 @@
|
|
1 |
-
<?php if ( ! version_compare( $wp_version, '2.7', '>=' ) && isset( $updated_message ) ) : ?>
|
2 |
-
<div id="message" class="updated fade"><p><strong><?php echo $updated_message; ?></strong></p></div>
|
3 |
-
<?php endif; ?>
|
4 |
<div class="wrap wpcf7">
|
5 |
-
<?php
|
6 |
<h2><?php _e( 'Contact Form 7', 'wpcf7' ); ?></h2>
|
7 |
<?php wpcf7_donation_link(); ?>
|
8 |
-
<?php if (
|
9 |
-
<div id="message" class="updated fade"><p
|
10 |
<?php endif; ?>
|
11 |
|
12 |
<ul class="subsubsub">
|
13 |
-
<?php foreach ( $contact_forms as $
|
14 |
-
<li><a href="<?php echo $base_url . '?page=' . $page . '&contactform=' . $
|
15 |
-
<?php echo $v
|
16 |
<?php endforeach; ?>
|
17 |
|
18 |
<?php if ( wpcf7_admin_has_edit_cap() ) : ?>
|
@@ -120,9 +117,6 @@
|
|
120 |
</div>
|
121 |
<div class="mail-field">
|
122 |
<label for="wpcf7-mail-attachments"><?php _e( 'File attachments:', 'wpcf7' ); ?></label>
|
123 |
-
<?php if ( version_compare( $wp_version, '2.7', '<' ) ) : ?>
|
124 |
-
<span style="color: #ff3300; margin-left: 0.5em;"><?php _e( '(You need WordPress 2.7 or greater to use this feature)', 'wpcf7' ); ?></span>
|
125 |
-
<?php endif; ?>
|
126 |
<br />
|
127 |
<input type="text" id="wpcf7-mail-attachments" name="wpcf7-mail-attachments" class="wide" size="70" value="<?php echo htmlspecialchars( $cf->mail['attachments'] ); ?>" />
|
128 |
</div>
|
@@ -176,9 +170,6 @@
|
|
176 |
</div>
|
177 |
<div class="mail-field">
|
178 |
<label for="wpcf7-mail-2-attachments"><?php _e( 'File attachments:', 'wpcf7' ); ?></label>
|
179 |
-
<?php if ( version_compare( $wp_version, '2.7', '<' ) ) : ?>
|
180 |
-
<span style="color: #ff3300; margin-left: 0.5em;"><?php _e( '(You need WordPress 2.7 or greater to use this feature)', 'wpcf7' ); ?></span>
|
181 |
-
<?php endif; ?>
|
182 |
<br />
|
183 |
<input type="text" id="wpcf7-mail-2-attachments" name="wpcf7-mail-2-attachments" class="wide" size="70" value="<?php echo htmlspecialchars( $cf->mail_2['attachments'] ); ?>" />
|
184 |
</div>
|
@@ -280,8 +271,6 @@
|
|
280 |
</tbody>
|
281 |
</table>
|
282 |
|
283 |
-
<input type="hidden" id="wpcf7-options-recipient" name="wpcf7-options-recipient" value="<?php echo htmlspecialchars( $cf->options['recipient'] ); ?>" />
|
284 |
-
|
285 |
<table class="widefat" style="margin-top: 1em;">
|
286 |
<tbody>
|
287 |
<tr>
|
|
|
|
|
|
|
1 |
<div class="wrap wpcf7">
|
2 |
+
<?php screen_icon( 'tools' ); ?>
|
3 |
<h2><?php _e( 'Contact Form 7', 'wpcf7' ); ?></h2>
|
4 |
<?php wpcf7_donation_link(); ?>
|
5 |
+
<?php if ( isset( $updated_message ) ) : ?>
|
6 |
+
<div id="message" class="updated fade"><p><?php echo $updated_message; ?></p></div>
|
7 |
<?php endif; ?>
|
8 |
|
9 |
<ul class="subsubsub">
|
10 |
+
<?php foreach ( $contact_forms as $v ) : ?>
|
11 |
+
<li><a href="<?php echo $base_url . '?page=' . $page . '&contactform=' . $v->id ?>"<?php if ( $v->id == $current ) echo ' class="current"'; ?>>
|
12 |
+
<?php echo $v->title; ?></a> |</li>
|
13 |
<?php endforeach; ?>
|
14 |
|
15 |
<?php if ( wpcf7_admin_has_edit_cap() ) : ?>
|
117 |
</div>
|
118 |
<div class="mail-field">
|
119 |
<label for="wpcf7-mail-attachments"><?php _e( 'File attachments:', 'wpcf7' ); ?></label>
|
|
|
|
|
|
|
120 |
<br />
|
121 |
<input type="text" id="wpcf7-mail-attachments" name="wpcf7-mail-attachments" class="wide" size="70" value="<?php echo htmlspecialchars( $cf->mail['attachments'] ); ?>" />
|
122 |
</div>
|
170 |
</div>
|
171 |
<div class="mail-field">
|
172 |
<label for="wpcf7-mail-2-attachments"><?php _e( 'File attachments:', 'wpcf7' ); ?></label>
|
|
|
|
|
|
|
173 |
<br />
|
174 |
<input type="text" id="wpcf7-mail-2-attachments" name="wpcf7-mail-2-attachments" class="wide" size="70" value="<?php echo htmlspecialchars( $cf->mail_2['attachments'] ); ?>" />
|
175 |
</div>
|
271 |
</tbody>
|
272 |
</table>
|
273 |
|
|
|
|
|
274 |
<table class="widefat" style="margin-top: 1em;">
|
275 |
<tbody>
|
276 |
<tr>
|
admin/admin.php
CHANGED
@@ -1,31 +1,23 @@
|
|
1 |
<?php
|
2 |
|
3 |
-
function wpcf7_admin_menu_parent() {
|
4 |
-
global $wp_version;
|
5 |
-
if ( version_compare( $wp_version, '2.7', '>=' ) )
|
6 |
-
return 'tools.php';
|
7 |
-
else
|
8 |
-
return 'edit.php';
|
9 |
-
}
|
10 |
-
|
11 |
function wpcf7_admin_has_edit_cap() {
|
12 |
return current_user_can( WPCF7_ADMIN_READ_WRITE_CAPABILITY );
|
13 |
}
|
14 |
|
15 |
function wpcf7_admin_add_pages() {
|
16 |
-
|
17 |
-
$base_url = admin_url( wpcf7_admin_menu_parent() );
|
18 |
-
} else {
|
19 |
-
$base_url = get_option( 'siteurl' ) . '/wp-admin/' . wpcf7_admin_menu_parent();
|
20 |
-
}
|
21 |
|
22 |
-
$page =
|
23 |
-
$contact_forms = wpcf7_contact_forms();
|
24 |
|
25 |
if ( isset( $_POST['wpcf7-save'] ) && wpcf7_admin_has_edit_cap() ) {
|
26 |
$id = $_POST['wpcf7-id'];
|
27 |
check_admin_referer( 'wpcf7-save_' . $id );
|
28 |
|
|
|
|
|
|
|
|
|
|
|
29 |
$title = trim( $_POST['wpcf7-title'] );
|
30 |
$form = trim( $_POST['wpcf7-form'] );
|
31 |
$mail = array(
|
@@ -62,22 +54,20 @@ function wpcf7_admin_add_pages() {
|
|
62 |
'upload_file_too_large' => trim( $_POST['wpcf7-message-upload-file-too-large'] )
|
63 |
);
|
64 |
$additional_settings = trim( $_POST['wpcf7-additional-settings'] );
|
65 |
-
$options = array(
|
66 |
-
'recipient' => trim( $_POST['wpcf7-options-recipient'] ) // For backward compatibility.
|
67 |
-
);
|
68 |
|
69 |
-
$
|
|
|
70 |
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
|
77 |
-
$redirect_to = $base_url . '?page=' . $page . '&contactform=' . $key . '&message=created';
|
78 |
-
}
|
79 |
|
80 |
-
|
|
|
|
|
81 |
|
82 |
wp_redirect( $redirect_to );
|
83 |
exit();
|
@@ -85,14 +75,15 @@ function wpcf7_admin_add_pages() {
|
|
85 |
$id = $_POST['wpcf7-id'];
|
86 |
check_admin_referer( 'wpcf7-copy_' . $id );
|
87 |
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
$
|
92 |
-
|
93 |
-
|
|
|
94 |
} else {
|
95 |
-
$redirect_to
|
96 |
}
|
97 |
|
98 |
wp_redirect( $redirect_to );
|
@@ -101,14 +92,18 @@ function wpcf7_admin_add_pages() {
|
|
101 |
$id = $_POST['wpcf7-id'];
|
102 |
check_admin_referer( 'wpcf7-delete_' . $id );
|
103 |
|
104 |
-
|
105 |
-
|
106 |
|
107 |
wp_redirect( $base_url . '?page=' . $page . '&message=deleted' );
|
108 |
exit();
|
109 |
}
|
110 |
|
111 |
-
|
|
|
|
|
|
|
|
|
112 |
}
|
113 |
|
114 |
add_action( 'admin_menu', 'wpcf7_admin_add_pages' );
|
@@ -146,7 +141,7 @@ function wpcf7_admin_load_js() {
|
|
146 |
if ( ! is_admin() )
|
147 |
return;
|
148 |
|
149 |
-
if (
|
150 |
return;
|
151 |
|
152 |
if ( false === strpos( $_GET['page'], 'contact-form-7' ) )
|
@@ -210,11 +205,7 @@ add_action( 'wp_print_scripts', 'wpcf7_admin_load_js' );
|
|
210 |
function wpcf7_admin_management_page() {
|
211 |
global $wp_version;
|
212 |
|
213 |
-
|
214 |
-
$base_url = admin_url( wpcf7_admin_menu_parent() );
|
215 |
-
} else {
|
216 |
-
$base_url = get_option( 'siteurl' ) . '/wp-admin/' . wpcf7_admin_menu_parent();
|
217 |
-
}
|
218 |
|
219 |
$page = plugin_basename( __FILE__ );
|
220 |
|
@@ -237,97 +228,85 @@ function wpcf7_admin_management_page() {
|
|
237 |
if ( 'new' == $_GET['contactform'] ) {
|
238 |
$unsaved = true;
|
239 |
$current = -1;
|
240 |
-
$cf =
|
241 |
-
} elseif (
|
242 |
$current = (int) $_GET['contactform'];
|
243 |
-
$cf = wpcf7_contact_form( $contact_forms[$current] );
|
244 |
} else {
|
245 |
-
$
|
246 |
-
$
|
|
|
247 |
}
|
248 |
|
249 |
require_once WPCF7_PLUGIN_DIR . '/admin/admin-panel.php';
|
250 |
}
|
251 |
|
252 |
-
|
253 |
-
$template .= '<p>' . __( 'Your Name', 'wpcf7' ) . ' ' . __( '(required)', 'wpcf7' ) . '<br />' . "\n";
|
254 |
-
$template .= ' [text* your-name] </p>' . "\n\n";
|
255 |
-
$template .= '<p>' . __( 'Your Email', 'wpcf7' ) . ' ' . __( '(required)', 'wpcf7' ) . '<br />' . "\n";
|
256 |
-
$template .= ' [email* your-email] </p>' . "\n\n";
|
257 |
-
$template .= '<p>' . __( 'Subject', 'wpcf7' ) . '<br />' . "\n";
|
258 |
-
$template .= ' [text your-subject] </p>' . "\n\n";
|
259 |
-
$template .= '<p>' . __( 'Your Message', 'wpcf7' ) . '<br />' . "\n";
|
260 |
-
$template .= ' [textarea your-message] </p>' . "\n\n";
|
261 |
-
$template .= '<p>[submit "' . __( 'Send', 'wpcf7' ) . '"]</p>';
|
262 |
-
return $template;
|
263 |
-
}
|
264 |
-
|
265 |
-
function wpcf7_default_mail_template() {
|
266 |
-
$subject = '[your-subject]';
|
267 |
-
$sender = '[your-name] <[your-email]>';
|
268 |
-
$body = '[your-message]';
|
269 |
-
$recipient = get_option( 'admin_email' );
|
270 |
-
return compact( 'subject', 'sender', 'body', 'recipient' );
|
271 |
-
}
|
272 |
|
273 |
-
function
|
274 |
-
$
|
275 |
-
$subject = '[your-subject]';
|
276 |
-
$sender = '[your-name] <[your-email]>';
|
277 |
-
$body = '[your-message]';
|
278 |
-
$recipient = '[your-email]';
|
279 |
-
return compact( 'active', 'subject', 'sender', 'body', 'recipient' );
|
280 |
-
}
|
281 |
|
282 |
-
|
283 |
-
$mail_sent_ok = wpcf7_default_message( 'mail_sent_ok' );
|
284 |
-
$mail_sent_ng = wpcf7_default_message( 'mail_sent_ng' );
|
285 |
-
$akismet_says_spam = wpcf7_default_message( 'akismet_says_spam' );
|
286 |
-
$validation_error = wpcf7_default_message( 'validation_error' );
|
287 |
-
$accept_terms = wpcf7_default_message( 'accept_terms' );
|
288 |
-
$invalid_email = wpcf7_default_message( 'invalid_email' );
|
289 |
-
$invalid_required = wpcf7_default_message( 'invalid_required' );
|
290 |
-
$quiz_answer_not_correct = wpcf7_default_message( 'quiz_answer_not_correct' );
|
291 |
-
$captcha_not_match = wpcf7_default_message( 'captcha_not_match' );
|
292 |
-
$upload_failed = wpcf7_default_message( 'upload_failed' );
|
293 |
-
$upload_file_type_invalid = wpcf7_default_message( 'upload_file_type_invalid' );
|
294 |
-
$upload_file_too_large = wpcf7_default_message( 'upload_file_too_large' );
|
295 |
-
|
296 |
-
return compact( 'mail_sent_ok', 'mail_sent_ng', 'akismet_says_spam',
|
297 |
-
'validation_error', 'accept_terms', 'invalid_email', 'invalid_required', 'quiz_answer_not_correct',
|
298 |
-
'captcha_not_match', 'upload_failed', 'upload_file_type_invalid', 'upload_file_too_large' );
|
299 |
-
}
|
300 |
|
301 |
-
|
302 |
-
|
303 |
-
return compact( 'recipient' );
|
304 |
-
}
|
305 |
|
306 |
-
|
307 |
-
$
|
308 |
-
|
309 |
-
|
310 |
-
|
311 |
-
|
312 |
-
|
313 |
-
'options' => wpcf7_default_options_template()
|
314 |
-
);
|
315 |
|
316 |
-
|
317 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
318 |
|
319 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
320 |
}
|
321 |
|
|
|
|
|
|
|
|
|
322 |
function wpcf7_plugin_action_links( $links, $file ) {
|
323 |
if ( $file != WPCF7_PLUGIN_BASENAME )
|
324 |
return $links;
|
325 |
|
326 |
-
|
327 |
-
$base_url = admin_url( wpcf7_admin_menu_parent() );
|
328 |
-
} else {
|
329 |
-
$base_url = get_option( 'siteurl' ) . '/wp-admin/' . wpcf7_admin_menu_parent();
|
330 |
-
}
|
331 |
|
332 |
$url = $base_url . '?page=' . plugin_basename( __FILE__ );
|
333 |
|
1 |
<?php
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3 |
function wpcf7_admin_has_edit_cap() {
|
4 |
return current_user_can( WPCF7_ADMIN_READ_WRITE_CAPABILITY );
|
5 |
}
|
6 |
|
7 |
function wpcf7_admin_add_pages() {
|
8 |
+
$base_url = admin_url( 'admin.php' );
|
|
|
|
|
|
|
|
|
9 |
|
10 |
+
$page = plugin_basename( __FILE__ );
|
|
|
11 |
|
12 |
if ( isset( $_POST['wpcf7-save'] ) && wpcf7_admin_has_edit_cap() ) {
|
13 |
$id = $_POST['wpcf7-id'];
|
14 |
check_admin_referer( 'wpcf7-save_' . $id );
|
15 |
|
16 |
+
if ( ! $contact_form = wpcf7_contact_form( $id ) ) {
|
17 |
+
$contact_form = new WPCF7_ContactForm();
|
18 |
+
$contact_form->initial = true;
|
19 |
+
}
|
20 |
+
|
21 |
$title = trim( $_POST['wpcf7-title'] );
|
22 |
$form = trim( $_POST['wpcf7-form'] );
|
23 |
$mail = array(
|
54 |
'upload_file_too_large' => trim( $_POST['wpcf7-message-upload-file-too-large'] )
|
55 |
);
|
56 |
$additional_settings = trim( $_POST['wpcf7-additional-settings'] );
|
|
|
|
|
|
|
57 |
|
58 |
+
$redirect_to = $base_url . '?page=' . $page;
|
59 |
+
$redirect_to .= ( $contact_form->initial ) ? '&message=created' : '&message=saved';
|
60 |
|
61 |
+
$contact_form->title = $title;
|
62 |
+
$contact_form->form = $form;
|
63 |
+
$contact_form->mail = $mail;
|
64 |
+
$contact_form->mail_2 = $mail_2;
|
65 |
+
$contact_form->messages = $messages;
|
66 |
+
$contact_form->additional_settings = $additional_settings;
|
|
|
|
|
67 |
|
68 |
+
$contact_form->save();
|
69 |
+
|
70 |
+
$redirect_to .= '&contactform=' . $contact_form->id;
|
71 |
|
72 |
wp_redirect( $redirect_to );
|
73 |
exit();
|
75 |
$id = $_POST['wpcf7-id'];
|
76 |
check_admin_referer( 'wpcf7-copy_' . $id );
|
77 |
|
78 |
+
$redirect_to = $base_url . '?page=' . $page;
|
79 |
+
|
80 |
+
if ( $contact_form = wpcf7_contact_form( $id ) ) {
|
81 |
+
$new_contact_form = $contact_form->copy();
|
82 |
+
$new_contact_form->save();
|
83 |
+
|
84 |
+
$redirect_to .= '&contactform=' . $new_contact_form->id . '&message=created';
|
85 |
} else {
|
86 |
+
$redirect_to .= '&contactform=' . $contact_form->id;
|
87 |
}
|
88 |
|
89 |
wp_redirect( $redirect_to );
|
92 |
$id = $_POST['wpcf7-id'];
|
93 |
check_admin_referer( 'wpcf7-delete_' . $id );
|
94 |
|
95 |
+
if ( $contact_form = wpcf7_contact_form( $id ) )
|
96 |
+
$contact_form->delete();
|
97 |
|
98 |
wp_redirect( $base_url . '?page=' . $page . '&message=deleted' );
|
99 |
exit();
|
100 |
}
|
101 |
|
102 |
+
add_menu_page( __( 'Contact Form 7', 'wpcf7' ), __( 'Contact Form 7', 'wpcf7' ),
|
103 |
+
WPCF7_ADMIN_READ_CAPABILITY, __FILE__, 'wpcf7_admin_management_page' );
|
104 |
+
|
105 |
+
add_submenu_page( __FILE__, __( 'Edit Contact Forms', 'wpcf7' ), __( 'Edit', 'wpcf7' ),
|
106 |
+
WPCF7_ADMIN_READ_CAPABILITY, __FILE__, 'wpcf7_admin_management_page' );
|
107 |
}
|
108 |
|
109 |
add_action( 'admin_menu', 'wpcf7_admin_add_pages' );
|
141 |
if ( ! is_admin() )
|
142 |
return;
|
143 |
|
144 |
+
if ( 'admin.php' != $pagenow )
|
145 |
return;
|
146 |
|
147 |
if ( false === strpos( $_GET['page'], 'contact-form-7' ) )
|
205 |
function wpcf7_admin_management_page() {
|
206 |
global $wp_version;
|
207 |
|
208 |
+
$base_url = admin_url( 'admin.php' );
|
|
|
|
|
|
|
|
|
209 |
|
210 |
$page = plugin_basename( __FILE__ );
|
211 |
|
228 |
if ( 'new' == $_GET['contactform'] ) {
|
229 |
$unsaved = true;
|
230 |
$current = -1;
|
231 |
+
$cf = wpcf7_contact_form_default_pack();
|
232 |
+
} elseif ( $cf = wpcf7_contact_form( $_GET['contactform'] ) ) {
|
233 |
$current = (int) $_GET['contactform'];
|
|
|
234 |
} else {
|
235 |
+
$first = reset( $contact_forms ); // Returns first item
|
236 |
+
$current = $first->id;
|
237 |
+
$cf = wpcf7_contact_form( $current );
|
238 |
}
|
239 |
|
240 |
require_once WPCF7_PLUGIN_DIR . '/admin/admin-panel.php';
|
241 |
}
|
242 |
|
243 |
+
/* Install and default settings */
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
244 |
|
245 |
+
function wpcf7_install() {
|
246 |
+
global $wpdb;
|
|
|
|
|
|
|
|
|
|
|
|
|
247 |
|
248 |
+
$table_name = wpcf7_table_name();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
249 |
|
250 |
+
if ( $wpdb->get_var( "SHOW TABLES LIKE '$table_name'" ) == $table_name )
|
251 |
+
return; // Exists already
|
|
|
|
|
252 |
|
253 |
+
$charset_collate = '';
|
254 |
+
if ( $wpdb->has_cap( 'collation' ) ) {
|
255 |
+
if ( ! empty( $wpdb->charset ) )
|
256 |
+
$charset_collate = "DEFAULT CHARACTER SET $wpdb->charset";
|
257 |
+
if ( ! empty( $wpdb->collate ) )
|
258 |
+
$charset_collate .= " COLLATE $wpdb->collate";
|
259 |
+
}
|
|
|
|
|
260 |
|
261 |
+
$wpdb->query( "CREATE TABLE IF NOT EXISTS $table_name (
|
262 |
+
cf7_unit_id bigint(20) unsigned NOT NULL auto_increment,
|
263 |
+
title varchar(200) NOT NULL default '',
|
264 |
+
form text NOT NULL,
|
265 |
+
mail text NOT NULL,
|
266 |
+
mail_2 text NOT NULL,
|
267 |
+
messages text NOT NULL,
|
268 |
+
additional_settings text NOT NULL,
|
269 |
+
PRIMARY KEY (cf7_unit_id)) $charset_collate;" );
|
270 |
+
|
271 |
+
if ( $wpdb->get_var( "SHOW TABLES LIKE '$table_name'" ) != $table_name )
|
272 |
+
return false; // Failed to create
|
273 |
+
|
274 |
+
$legacy_data = get_option( 'wpcf7' );
|
275 |
+
if ( is_array( $legacy_data ) ) {
|
276 |
+
foreach ( $legacy_data['contact_forms'] as $key => $value ) {
|
277 |
+
$wpdb->insert( $table_name, array(
|
278 |
+
'cf7_unit_id' => $key,
|
279 |
+
'title' => $value['title'],
|
280 |
+
'form' => maybe_serialize( $value['form'] ),
|
281 |
+
'mail' => maybe_serialize( $value['mail'] ),
|
282 |
+
'mail_2' => maybe_serialize( $value['mail_2'] ),
|
283 |
+
'messages' => maybe_serialize( $value['messages'] ),
|
284 |
+
'additional_settings' => maybe_serialize( $value['additional_settings'] )
|
285 |
+
), array( '%d', '%s', '%s', '%s', '%s', '%s', '%s' ) );
|
286 |
+
}
|
287 |
|
288 |
+
delete_option( 'wpcf7' );
|
289 |
+
} else {
|
290 |
+
wpcf7_load_plugin_textdomain();
|
291 |
+
|
292 |
+
$wpdb->insert( $table_name, array(
|
293 |
+
'title' => __( 'Contact form', 'wpcf7' ) . ' 1',
|
294 |
+
'form' => maybe_serialize( wpcf7_default_form_template() ),
|
295 |
+
'mail' => maybe_serialize( wpcf7_default_mail_template() ),
|
296 |
+
'mail_2' => maybe_serialize ( wpcf7_default_mail_2_template() ),
|
297 |
+
'messages' => maybe_serialize( wpcf7_default_messages_template() ) ) );
|
298 |
+
}
|
299 |
}
|
300 |
|
301 |
+
add_action( 'activate_' . WPCF7_PLUGIN_BASENAME, 'wpcf7_install' );
|
302 |
+
|
303 |
+
/* Misc */
|
304 |
+
|
305 |
function wpcf7_plugin_action_links( $links, $file ) {
|
306 |
if ( $file != WPCF7_PLUGIN_BASENAME )
|
307 |
return $links;
|
308 |
|
309 |
+
$base_url = admin_url( 'admin.php' );
|
|
|
|
|
|
|
|
|
310 |
|
311 |
$url = $base_url . '?page=' . plugin_basename( __FILE__ );
|
312 |
|
includes/acceptance.php
DELETED
@@ -1,21 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
function wpcf7_acceptance( $contact_form ) {
|
4 |
-
$fes = $contact_form->form_elements( false );
|
5 |
-
|
6 |
-
$accepted = true;
|
7 |
-
|
8 |
-
foreach ( $fes as $fe ) {
|
9 |
-
if ( 'acceptance' != $fe['type'] )
|
10 |
-
continue;
|
11 |
-
|
12 |
-
$invert = (bool) preg_grep( '%^invert$%', $fe['options'] );
|
13 |
-
|
14 |
-
if ( $invert && $_POST[$fe['name']] || ! $invert && ! $_POST[$fe['name']] )
|
15 |
-
$accepted = false;
|
16 |
-
}
|
17 |
-
|
18 |
-
return $accepted;
|
19 |
-
}
|
20 |
-
|
21 |
-
?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/akismet.php
DELETED
@@ -1,73 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
function wpcf7_akismet( $contact_form ) {
|
4 |
-
global $akismet_api_host, $akismet_api_port;
|
5 |
-
|
6 |
-
if ( ! function_exists( 'akismet_http_post' ) || ! ( get_option( 'wordpress_api_key' ) || $wpcom_api_key ) )
|
7 |
-
return false;
|
8 |
-
|
9 |
-
$akismet_ready = false;
|
10 |
-
$author = $author_email = $author_url = $content = '';
|
11 |
-
$fes = $contact_form->form_elements( false );
|
12 |
-
|
13 |
-
foreach ( $fes as $fe ) {
|
14 |
-
if ( ! is_array( $fe['options'] ) ) continue;
|
15 |
-
|
16 |
-
if ( preg_grep( '%^akismet:author$%', $fe['options'] ) && '' == $author ) {
|
17 |
-
$author = $_POST[$fe['name']];
|
18 |
-
$akismet_ready = true;
|
19 |
-
}
|
20 |
-
|
21 |
-
if ( preg_grep( '%^akismet:author_email$%', $fe['options'] ) && '' == $author_email ) {
|
22 |
-
$author_email = $_POST[$fe['name']];
|
23 |
-
$akismet_ready = true;
|
24 |
-
}
|
25 |
-
|
26 |
-
if ( preg_grep( '%^akismet:author_url$%', $fe['options'] ) && '' == $author_url ) {
|
27 |
-
$author_url = $_POST[$fe['name']];
|
28 |
-
$akismet_ready = true;
|
29 |
-
}
|
30 |
-
|
31 |
-
if ( '' != $content )
|
32 |
-
$content .= "\n\n";
|
33 |
-
|
34 |
-
$content .= $_POST[$fe['name']];
|
35 |
-
}
|
36 |
-
|
37 |
-
if ( ! $akismet_ready )
|
38 |
-
return false;
|
39 |
-
|
40 |
-
$c['blog'] = get_option( 'home' );
|
41 |
-
$c['user_ip'] = preg_replace( '/[^0-9., ]/', '', $_SERVER['REMOTE_ADDR'] );
|
42 |
-
$c['user_agent'] = $_SERVER['HTTP_USER_AGENT'];
|
43 |
-
$c['referrer'] = $_SERVER['HTTP_REFERER'];
|
44 |
-
$c['comment_type'] = 'contactform7';
|
45 |
-
if ( $permalink = get_permalink() )
|
46 |
-
$c['permalink'] = $permalink;
|
47 |
-
if ( '' != $author )
|
48 |
-
$c['comment_author'] = $author;
|
49 |
-
if ( '' != $author_email )
|
50 |
-
$c['comment_author_email'] = $author_email;
|
51 |
-
if ( '' != $author_url )
|
52 |
-
$c['comment_author_url'] = $author_url;
|
53 |
-
if ( '' != $content )
|
54 |
-
$c['comment_content'] = $content;
|
55 |
-
|
56 |
-
$ignore = array( 'HTTP_COOKIE' );
|
57 |
-
|
58 |
-
foreach ( $_SERVER as $key => $value )
|
59 |
-
if ( ! in_array( $key, (array) $ignore ) )
|
60 |
-
$c["$key"] = $value;
|
61 |
-
|
62 |
-
$query_string = '';
|
63 |
-
foreach ( $c as $key => $data )
|
64 |
-
$query_string .= $key . '=' . urlencode( stripslashes( $data ) ) . '&';
|
65 |
-
|
66 |
-
$response = akismet_http_post( $query_string, $akismet_api_host, '/1.1/comment-check', $akismet_api_port );
|
67 |
-
if ( 'true' == $response[1] )
|
68 |
-
return true;
|
69 |
-
else
|
70 |
-
return false;
|
71 |
-
}
|
72 |
-
|
73 |
-
?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/classes.php
CHANGED
@@ -2,19 +2,23 @@
|
|
2 |
|
3 |
class WPCF7_ContactForm {
|
4 |
|
5 |
-
var $
|
6 |
|
|
|
7 |
var $title;
|
8 |
var $form;
|
9 |
var $mail;
|
10 |
var $mail_2;
|
11 |
var $messages;
|
12 |
var $additional_settings;
|
13 |
-
var $options;
|
14 |
|
15 |
var $unit_tag;
|
16 |
|
17 |
var $responses_count = 0;
|
|
|
|
|
|
|
|
|
18 |
|
19 |
// Return true if this form is the same one as currently POSTed.
|
20 |
function is_posted() {
|
@@ -35,17 +39,7 @@ class WPCF7_ContactForm {
|
|
35 |
$url = parse_url( $_SERVER['REQUEST_URI'] );
|
36 |
$url = $url['path'] . ( empty( $url['query'] ) ? '' : '?' . $url['query'] ) . '#' . $this->unit_tag;
|
37 |
|
38 |
-
$
|
39 |
-
$multipart = false;
|
40 |
-
|
41 |
-
foreach ( $form_elements as $form_element ) {
|
42 |
-
if ( preg_match( '/^file[*]?$/', $form_element['type'] ) ) {
|
43 |
-
$multipart = true;
|
44 |
-
break;
|
45 |
-
}
|
46 |
-
}
|
47 |
-
|
48 |
-
$enctype = $multipart ? ' enctype="multipart/form-data"' : '';
|
49 |
|
50 |
$form .= '<form action="' . $url . '" method="post" class="wpcf7-form"' . $enctype . '>';
|
51 |
$form .= '<div style="display: none;">';
|
@@ -62,9 +56,6 @@ class WPCF7_ContactForm {
|
|
62 |
|
63 |
$form .= '</div>';
|
64 |
|
65 |
-
if ( WPCF7_AUTOP )
|
66 |
-
$form = wpcf7_wpautop_substitute( $form );
|
67 |
-
|
68 |
return $form;
|
69 |
}
|
70 |
|
@@ -95,458 +86,295 @@ class WPCF7_ContactForm {
|
|
95 |
return '<div' . $class . '>' . $content . '</div>';
|
96 |
}
|
97 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
98 |
/* Form Elements */
|
99 |
|
100 |
-
function
|
|
|
|
|
101 |
$form = $this->form;
|
102 |
|
103 |
-
$
|
104 |
-
$
|
105 |
-
$submit_regex = '%\[\s*submit(\s[-0-9a-zA-Z:#_/\s]*)?(\s+(?:"[^"]*"|\'[^\']*\'))?\s*\]%';
|
106 |
-
$response_regex = '%\[\s*response\s*\]%';
|
107 |
-
if ( $replace ) {
|
108 |
-
$form = preg_replace_callback( $regex, array( &$this, 'form_element_replace_callback' ), $form );
|
109 |
-
// Submit button
|
110 |
-
$form = preg_replace_callback( $submit_regex, array( &$this, 'submit_replace_callback' ), $form );
|
111 |
-
// Response output
|
112 |
-
$form = preg_replace_callback( $response_regex, array( &$this, 'response_replace_callback' ), $form );
|
113 |
-
return $form;
|
114 |
-
} else {
|
115 |
-
$results = array();
|
116 |
-
preg_match_all( $regex, $form, $matches, PREG_SET_ORDER );
|
117 |
-
foreach ( $matches as $match ) {
|
118 |
-
$results[] = (array) $this->form_element_parse( $match );
|
119 |
-
}
|
120 |
-
return $results;
|
121 |
-
}
|
122 |
-
}
|
123 |
|
124 |
-
|
125 |
-
|
126 |
|
127 |
-
|
|
|
|
|
|
|
|
|
128 |
|
129 |
-
if ( $this->
|
130 |
-
$
|
131 |
-
$validation_error = $validation_error ? '<span class="wpcf7-not-valid-tip-no-ajax">' . esc_html( $validation_error ) . '</span>' : '';
|
132 |
} else {
|
133 |
-
$
|
|
|
134 |
}
|
135 |
|
136 |
-
$
|
137 |
-
|
138 |
|
139 |
-
$
|
140 |
-
|
141 |
-
|
142 |
-
|
143 |
-
|
144 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
145 |
|
146 |
-
|
147 |
-
|
148 |
-
|
149 |
-
|
150 |
-
|
151 |
-
|
|
|
|
|
|
|
|
|
|
|
152 |
}
|
153 |
|
154 |
-
|
155 |
-
|
156 |
-
if ( preg_match( '/[*]$/', $type ) )
|
157 |
-
$class_att .= ' wpcf7-validates-as-required';
|
158 |
|
159 |
-
|
160 |
-
|
161 |
|
162 |
-
|
163 |
-
|
|
|
|
|
164 |
|
165 |
-
|
166 |
-
|
167 |
|
168 |
-
|
169 |
-
|
170 |
-
|
171 |
-
|
172 |
-
}
|
173 |
|
174 |
-
|
175 |
-
$atts .= ' class="' . trim( $class_att ) . '"';
|
176 |
-
|
177 |
-
// Value.
|
178 |
-
if ( $this->is_posted() ) {
|
179 |
-
if ( isset( $_POST['_wpcf7_mail_sent'] ) && $_POST['_wpcf7_mail_sent']['ok'] )
|
180 |
-
$value = '';
|
181 |
-
elseif ( 'captchar' == $type )
|
182 |
-
$value = '';
|
183 |
-
else
|
184 |
-
$value = $_POST[$name];
|
185 |
-
} else {
|
186 |
-
$value = $values[0];
|
187 |
-
}
|
188 |
|
189 |
-
|
190 |
-
|
191 |
-
$scr_defaults = array_values( preg_grep( '/^default:/', $options ) );
|
192 |
-
preg_match( '/^default:([0-9_]+)$/', $scr_defaults[0], $scr_default_matches );
|
193 |
-
$scr_default = explode( '_', $scr_default_matches[1] );
|
194 |
-
}
|
195 |
|
196 |
-
|
197 |
-
case 'text':
|
198 |
-
case 'text*':
|
199 |
-
case 'email':
|
200 |
-
case 'email*':
|
201 |
-
case 'captchar':
|
202 |
-
if ( is_array( $options ) ) {
|
203 |
-
$size_maxlength_array = preg_grep( '%^[0-9]*[/x][0-9]*$%', $options );
|
204 |
-
if ( $size_maxlength = array_shift( $size_maxlength_array ) ) {
|
205 |
-
preg_match( '%^([0-9]*)[/x]([0-9]*)$%', $size_maxlength, $sm_matches );
|
206 |
-
if ( $size = (int) $sm_matches[1] )
|
207 |
-
$atts .= ' size="' . $size . '"';
|
208 |
-
else
|
209 |
-
$atts .= ' size="40"';
|
210 |
-
if ( $maxlength = (int) $sm_matches[2] )
|
211 |
-
$atts .= ' maxlength="' . $maxlength . '"';
|
212 |
-
} else {
|
213 |
-
$atts .= ' size="40"';
|
214 |
-
}
|
215 |
-
}
|
216 |
-
$html = '<input type="text" name="' . $name . '" value="' . esc_attr( $value ) . '"' . $atts . ' />';
|
217 |
-
$html = '<span class="wpcf7-form-control-wrap ' . $name . '">' . $html . $validation_error . '</span>';
|
218 |
-
return $html;
|
219 |
-
break;
|
220 |
-
case 'textarea':
|
221 |
-
case 'textarea*':
|
222 |
-
if ( is_array( $options ) ) {
|
223 |
-
$cols_rows_array = preg_grep( '%^[0-9]*[x/][0-9]*$%', $options );
|
224 |
-
if ( $cols_rows = array_shift( $cols_rows_array ) ) {
|
225 |
-
preg_match( '%^([0-9]*)[x/]([0-9]*)$%', $cols_rows, $cr_matches );
|
226 |
-
if ( $cols = (int) $cr_matches[1] )
|
227 |
-
$atts .= ' cols="' . $cols . '"';
|
228 |
-
else
|
229 |
-
$atts .= ' cols="40"';
|
230 |
-
if ( $rows = (int) $cr_matches[2] )
|
231 |
-
$atts .= ' rows="' . $rows . '"';
|
232 |
-
else
|
233 |
-
$atts .= ' rows="10"';
|
234 |
-
} else {
|
235 |
-
$atts .= ' cols="40" rows="10"';
|
236 |
-
}
|
237 |
-
}
|
238 |
-
$html = '<textarea name="' . $name . '"' . $atts . '>' . esc_html( $value ) . '</textarea>';
|
239 |
-
$html = '<span class="wpcf7-form-control-wrap ' . $name . '">' . $html . $validation_error . '</span>';
|
240 |
-
return $html;
|
241 |
-
break;
|
242 |
-
case 'select':
|
243 |
-
case 'select*':
|
244 |
-
$multiple = ( preg_grep( '%^multiple$%', $options ) ) ? true : false;
|
245 |
-
$include_blank = preg_grep( '%^include_blank$%', $options );
|
246 |
-
|
247 |
-
if ( $empty_select = empty( $values ) || $include_blank )
|
248 |
-
array_unshift( $values, '---' );
|
249 |
-
|
250 |
-
$html = '';
|
251 |
-
foreach ( $values as $key => $value ) {
|
252 |
-
$selected = '';
|
253 |
-
if ( ! $empty_select && in_array( $key + 1, (array) $scr_default ) )
|
254 |
-
$selected = ' selected="selected"';
|
255 |
-
if ( $this->is_posted() && (
|
256 |
-
$multiple && in_array( $wpdb->escape( $value ), (array) $_POST[$name] ) ||
|
257 |
-
! $multiple && $_POST[$name] == $wpdb->escape( $value ) ) )
|
258 |
-
$selected = ' selected="selected"';
|
259 |
-
$html .= '<option value="' . esc_attr( $value ) . '"' . $selected . '>' . esc_html( $value ) . '</option>';
|
260 |
-
}
|
261 |
|
262 |
-
|
263 |
-
|
264 |
-
|
265 |
-
$html = '<select name="' . $name . ( $multiple ? '[]' : '' ) . '"' . $atts . '>' . $html . '</select>';
|
266 |
-
$html = '<span class="wpcf7-form-control-wrap ' . $name . '">' . $html . $validation_error . '</span>';
|
267 |
-
return $html;
|
268 |
-
break;
|
269 |
-
case 'checkbox':
|
270 |
-
case 'checkbox*':
|
271 |
-
case 'radio':
|
272 |
-
$multiple = ( preg_match( '/^checkbox[*]?$/', $type ) && ! preg_grep( '%^exclusive$%', $options ) ) ? true : false;
|
273 |
-
$html = '';
|
274 |
-
|
275 |
-
if ( preg_match( '/^checkbox[*]?$/', $type ) && ! $multiple )
|
276 |
-
$onclick = ' onclick="wpcf7ExclusiveCheckbox(this);"';
|
277 |
-
|
278 |
-
$input_type = rtrim( $type, '*' );
|
279 |
-
|
280 |
-
foreach ( $values as $key => $value ) {
|
281 |
-
$checked = '';
|
282 |
-
if ( in_array( $key + 1, (array) $scr_default ) )
|
283 |
-
$checked = ' checked="checked"';
|
284 |
-
if ( $this->is_posted() && (
|
285 |
-
$multiple && in_array( $wpdb->escape( $value ), (array) $_POST[$name] ) ||
|
286 |
-
! $multiple && $_POST[$name] == $wpdb->escape( $value ) ) )
|
287 |
-
$checked = ' checked="checked"';
|
288 |
-
if ( preg_grep( '%^label[_-]?first$%', $options ) ) { // put label first, input last
|
289 |
-
$item = '<span class="wpcf7-list-item-label">' . $value . '</span> ';
|
290 |
-
$item .= '<input type="' . $input_type . '" name="' . $name . ( $multiple ? '[]' : '' ) . '" value="' . esc_attr( $value ) . '"' . $checked . $onclick . ' />';
|
291 |
-
} else {
|
292 |
-
$item = '<input type="' . $input_type . '" name="' . $name . ( $multiple ? '[]' : '' ) . '" value="' . esc_attr( $value ) . '"' . $checked . $onclick . ' />';
|
293 |
-
$item .= ' <span class="wpcf7-list-item-label">' . $value . '</span>';
|
294 |
-
}
|
295 |
|
296 |
-
|
297 |
-
|
298 |
|
299 |
-
|
300 |
-
|
301 |
-
}
|
302 |
|
303 |
-
|
304 |
-
|
305 |
-
return $html;
|
306 |
-
break;
|
307 |
-
case 'quiz':
|
308 |
-
if ( count( $raw_values ) == 0 && count( $values ) == 0 ) { // default quiz
|
309 |
-
$raw_values[] = '1+1=?|2';
|
310 |
-
$values[] = '1+1=?';
|
311 |
-
}
|
312 |
|
313 |
-
|
314 |
|
315 |
-
|
316 |
-
|
317 |
-
} elseif ( count( $values ) == 1 ) {
|
318 |
-
$value = $values[0];
|
319 |
-
} else {
|
320 |
-
$value = $values[array_rand( $values )];
|
321 |
-
}
|
322 |
|
323 |
-
|
324 |
-
|
325 |
-
|
326 |
-
if ( is_array( $options ) ) {
|
327 |
-
$size_maxlength_array = preg_grep( '%^[0-9]*[/x][0-9]*$%', $options );
|
328 |
-
if ( $size_maxlength = array_shift( $size_maxlength_array ) ) {
|
329 |
-
preg_match( '%^([0-9]*)[/x]([0-9]*)$%', $size_maxlength, $sm_matches );
|
330 |
-
if ( $size = (int) $sm_matches[1] )
|
331 |
-
$atts .= ' size="' . $size . '"';
|
332 |
-
else
|
333 |
-
$atts .= ' size="40"';
|
334 |
-
if ( $maxlength = (int) $sm_matches[2] )
|
335 |
-
$atts .= ' maxlength="' . $maxlength . '"';
|
336 |
-
} else {
|
337 |
-
$atts .= ' size="40"';
|
338 |
-
}
|
339 |
-
}
|
340 |
-
|
341 |
-
$html = '<span class="wpcf7-quiz-label">' . esc_html( $value ) . '</span> ';
|
342 |
-
$html .= '<input type="text" name="' . $name . '"' . $atts . ' />';
|
343 |
-
$html .= '<input type="hidden" name="_wpcf7_quiz_answer_' . $name . '" value="' . wp_hash( $answer, 'wpcf7_quiz' ) . '" />';
|
344 |
-
$html = '<span class="wpcf7-form-control-wrap ' . $name . '">' . $html . $validation_error . '</span>';
|
345 |
-
return $html;
|
346 |
-
break;
|
347 |
-
case 'acceptance':
|
348 |
-
$invert = (bool) preg_grep( '%^invert$%', $options );
|
349 |
-
$default = (bool) preg_grep( '%^default:on$%', $options );
|
350 |
-
|
351 |
-
$onclick = ' onclick="wpcf7ToggleSubmit(this.form);"';
|
352 |
-
$checked = $default ? ' checked="checked"' : '';
|
353 |
-
$html = '<input type="checkbox" name="' . $name . '" value="1"' . $atts . $onclick . $checked . ' />';
|
354 |
-
return $html;
|
355 |
-
break;
|
356 |
-
case 'captchac':
|
357 |
-
if ( ! class_exists( 'ReallySimpleCaptcha' ) ) {
|
358 |
-
return '<em>' . __( 'To use CAPTCHA, you need <a href="http://wordpress.org/extend/plugins/really-simple-captcha/">Really Simple CAPTCHA</a> plugin installed.', 'wpcf7' ) . '</em>';
|
359 |
-
break;
|
360 |
-
}
|
361 |
|
362 |
-
|
363 |
-
// Default
|
364 |
-
$op['img_size'] = array( 72, 24 );
|
365 |
-
$op['base'] = array( 6, 18 );
|
366 |
-
$op['font_size'] = 14;
|
367 |
-
$op['font_char_width'] = 15;
|
368 |
|
369 |
-
|
|
|
370 |
|
371 |
-
|
372 |
-
|
373 |
-
|
374 |
-
}
|
375 |
-
if ( is_array( $op['img_size'] ) )
|
376 |
-
$atts .= ' width="' . $op['img_size'][0] . '" height="' . $op['img_size'][1] . '"';
|
377 |
-
$captcha_url = trailingslashit( wpcf7_captcha_tmp_url() ) . $filename;
|
378 |
-
$html = '<img alt="captcha" src="' . $captcha_url . '"' . $atts . ' />';
|
379 |
-
$ref = substr( $filename, 0, strrpos( $filename, '.' ) );
|
380 |
-
$html = '<input type="hidden" name="_wpcf7_captcha_challenge_' . $name . '" value="' . $ref . '" />' . $html;
|
381 |
-
return $html;
|
382 |
-
break;
|
383 |
-
case 'file':
|
384 |
-
case 'file*':
|
385 |
-
$html = '<input type="file" name="' . $name . '"' . $atts . ' value="1" />';
|
386 |
-
$html = '<span class="wpcf7-form-control-wrap ' . $name . '">' . $html . $validation_error . '</span>';
|
387 |
-
return $html;
|
388 |
-
break;
|
389 |
-
}
|
390 |
-
}
|
391 |
|
392 |
-
|
393 |
-
$
|
394 |
-
$
|
395 |
|
396 |
-
|
397 |
-
|
398 |
-
preg_match( '%^id:([-0-9a-zA-Z_]+)$%', $id, $id_matches );
|
399 |
-
if ( $id = $id_matches[1] )
|
400 |
-
$atts .= ' id="' . $id . '"';
|
401 |
-
}
|
402 |
|
403 |
-
|
404 |
-
|
405 |
-
|
406 |
-
|
407 |
-
if ( $class = $class_matches[1] )
|
408 |
-
$class_att .= ' ' . $class;
|
409 |
-
}
|
410 |
-
|
411 |
-
if ( $class_att )
|
412 |
-
$atts .= ' class="' . trim( $class_att ) . '"';
|
413 |
-
|
414 |
-
if ( $matches[2] )
|
415 |
-
$value = wpcf7_strip_quote( $matches[2] );
|
416 |
-
if ( empty( $value ) )
|
417 |
-
$value = __( 'Send', 'wpcf7' );
|
418 |
-
$ajax_loader_image_url = wpcf7_plugin_url( 'images/ajax-loader.gif' );
|
419 |
-
|
420 |
-
$html = '<input type="submit" value="' . esc_attr( $value ) . '"' . $atts . ' />';
|
421 |
-
$html .= ' <img class="ajax-loader" style="visibility: hidden;" alt="ajax loader" src="' . $ajax_loader_image_url . '" />';
|
422 |
-
return $html;
|
423 |
-
}
|
424 |
|
425 |
-
|
426 |
-
|
427 |
-
|
428 |
-
|
429 |
|
430 |
-
|
431 |
-
|
432 |
-
|
433 |
-
|
434 |
|
435 |
-
|
436 |
-
|
437 |
|
438 |
-
|
439 |
-
$pipes = wpcf7_get_pipes( $raw_values );
|
440 |
-
$values = wpcf7_get_pipe_ins( $pipes );
|
441 |
-
} else {
|
442 |
-
$values =& $raw_values;
|
443 |
}
|
444 |
|
445 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
446 |
}
|
447 |
|
448 |
-
/*
|
449 |
|
450 |
-
function
|
451 |
-
$fes = $this->
|
452 |
-
$valid = true;
|
453 |
-
$reason = array();
|
454 |
|
455 |
foreach ( $fes as $fe ) {
|
456 |
-
$type = $fe['type'];
|
457 |
$name = $fe['name'];
|
458 |
-
$
|
459 |
-
|
460 |
-
|
461 |
-
|
462 |
-
|
463 |
-
|
464 |
-
|
465 |
-
if (
|
466 |
-
|
467 |
-
|
468 |
-
|
469 |
-
|
470 |
-
foreach ( $_POST[$name] as $key => $value ) {
|
471 |
-
$value = stripslashes( $value );
|
472 |
-
if ( ! in_array( $value, (array) $values ) ) // Not in given choices.
|
473 |
-
unset( $_POST[$name][$key] );
|
474 |
}
|
|
|
475 |
} else {
|
476 |
-
$value =
|
477 |
-
if ( ! in_array( $value, (array) $values ) ) // Not in given choices.
|
478 |
-
$_POST[$name] = '';
|
479 |
}
|
480 |
}
|
481 |
|
482 |
-
|
483 |
-
|
484 |
|
485 |
-
|
486 |
-
if (
|
487 |
-
|
488 |
-
$valid = false;
|
489 |
-
$reason[$name] = $this->message( 'invalid_required' );
|
490 |
-
}
|
491 |
-
}
|
492 |
|
493 |
-
|
494 |
-
|
495 |
-
$valid = false;
|
496 |
-
$reason[$name] = $this->message( 'invalid_required' );
|
497 |
-
}
|
498 |
-
}
|
499 |
|
500 |
-
|
501 |
-
|
502 |
-
! is_array( $_POST[$name] ) && '---' == $_POST[$name] ||
|
503 |
-
is_array( $_POST[$name] ) && 1 == count( $_POST[$name] ) && '---' == $_POST[$name][0] ) {
|
504 |
-
$valid = false;
|
505 |
-
$reason[$name] = $this->message( 'invalid_required' );
|
506 |
-
}
|
507 |
-
}
|
508 |
|
509 |
-
|
510 |
-
|
511 |
-
|
512 |
-
$reason[$name] = $this->message( 'invalid_required' );
|
513 |
-
} elseif ( isset( $_POST[$name] ) && '' != $_POST[$name] && ! is_email( $_POST[$name] ) ) {
|
514 |
-
$valid = false;
|
515 |
-
$reason[$name] = $this->message( 'invalid_email' );
|
516 |
-
}
|
517 |
-
}
|
518 |
|
519 |
-
|
520 |
-
|
521 |
-
|
522 |
-
|
523 |
-
$reason[$name] = $this->message( 'captcha_not_match' );
|
524 |
-
}
|
525 |
-
wpcf7_remove_captcha( $_POST[$captchac] );
|
526 |
-
}
|
527 |
|
528 |
-
|
529 |
-
|
530 |
-
|
531 |
-
|
532 |
-
|
533 |
-
|
534 |
-
|
535 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
536 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
537 |
}
|
538 |
-
return compact( 'valid', 'reason' );
|
539 |
}
|
540 |
|
541 |
/* Message */
|
542 |
|
543 |
function message( $status ) {
|
544 |
$messages = $this->messages;
|
|
|
545 |
|
546 |
if ( ! is_array( $messages ) || ! isset( $messages[$status] ) )
|
547 |
-
|
|
|
|
|
548 |
|
549 |
-
return $
|
550 |
}
|
551 |
|
552 |
/* Additional settings */
|
@@ -576,7 +404,7 @@ class WPCF7_ContactForm {
|
|
576 |
|
577 |
function upgrade() {
|
578 |
if ( ! isset( $this->mail['recipient'] ) )
|
579 |
-
$this->mail['recipient'] =
|
580 |
|
581 |
|
582 |
if ( ! is_array( $this->messages ) )
|
@@ -593,6 +421,125 @@ class WPCF7_ContactForm {
|
|
593 |
}
|
594 |
}
|
595 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
596 |
}
|
597 |
|
598 |
?>
|
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() {
|
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;">';
|
56 |
|
57 |
$form .= '</div>';
|
58 |
|
|
|
|
|
|
|
59 |
return $form;
|
60 |
}
|
61 |
|
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 */
|
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 ) )
|
421 |
}
|
422 |
}
|
423 |
|
424 |
+
/* Save */
|
425 |
+
|
426 |
+
function save() {
|
427 |
+
global $wpdb;
|
428 |
+
|
429 |
+
$table_name = wpcf7_table_name();
|
430 |
+
|
431 |
+
if ( $this->initial ) {
|
432 |
+
$result = $wpdb->insert( $table_name, array(
|
433 |
+
'title' => $this->title,
|
434 |
+
'form' => maybe_serialize( $this->form ),
|
435 |
+
'mail' => maybe_serialize( $this->mail ),
|
436 |
+
'mail_2' => maybe_serialize ( $this->mail_2 ),
|
437 |
+
'messages' => maybe_serialize( $this->messages ),
|
438 |
+
'additional_settings' => maybe_serialize( $this->additional_settings ) ) );
|
439 |
+
|
440 |
+
if ( $result ) {
|
441 |
+
$this->initial = false;
|
442 |
+
$this->id = $wpdb->insert_id;
|
443 |
+
|
444 |
+
do_action_ref_array( 'wpcf7_after_create', array( &$this ) );
|
445 |
+
} else {
|
446 |
+
return false; // Failed to save
|
447 |
+
}
|
448 |
+
|
449 |
+
} else { // Update
|
450 |
+
if ( ! (int) $this->id )
|
451 |
+
return false; // Missing ID
|
452 |
+
|
453 |
+
$result = $wpdb->update( $table_name, array(
|
454 |
+
'title' => $this->title,
|
455 |
+
'form' => maybe_serialize( $this->form ),
|
456 |
+
'mail' => maybe_serialize( $this->mail ),
|
457 |
+
'mail_2' => maybe_serialize ( $this->mail_2 ),
|
458 |
+
'messages' => maybe_serialize( $this->messages ),
|
459 |
+
'additional_settings' => maybe_serialize( $this->additional_settings )
|
460 |
+
), array( 'cf7_unit_id' => absint( $this->id) ) );
|
461 |
+
|
462 |
+
if ( false !== $result ) {
|
463 |
+
do_action_ref_array( 'wpcf7_after_update', array( &$this ) );
|
464 |
+
} else {
|
465 |
+
return false; // Failed to save
|
466 |
+
}
|
467 |
+
}
|
468 |
+
|
469 |
+
do_action_ref_array( 'wpcf7_after_save', array( &$this ) );
|
470 |
+
return true; // Succeeded to save
|
471 |
+
}
|
472 |
+
|
473 |
+
function copy() {
|
474 |
+
$new = new WPCF7_ContactForm();
|
475 |
+
$new->initial = true;
|
476 |
+
|
477 |
+
$new->title = $this->title . '_copy';
|
478 |
+
$new->form = $this->form;
|
479 |
+
$new->mail = $this->mail;
|
480 |
+
$new->mail_2 = $this->mail_2;
|
481 |
+
$new->messages = $this->messages;
|
482 |
+
$new->additional_settings = $this->additional_settings;
|
483 |
+
|
484 |
+
return $new;
|
485 |
+
}
|
486 |
+
|
487 |
+
function delete() {
|
488 |
+
global $wpdb;
|
489 |
+
|
490 |
+
if ( $this->initial )
|
491 |
+
return;
|
492 |
+
|
493 |
+
$table_name = wpcf7_table_name();
|
494 |
+
|
495 |
+
$query = $wpdb->prepare(
|
496 |
+
"DELETE FROM $table_name WHERE cf7_unit_id = %d LIMIT 1",
|
497 |
+
absint( $this->id ) );
|
498 |
+
|
499 |
+
$wpdb->query( $query );
|
500 |
+
|
501 |
+
$this->initial = true;
|
502 |
+
$this->id = null;
|
503 |
+
}
|
504 |
+
}
|
505 |
+
|
506 |
+
function wpcf7_contact_form( $id ) {
|
507 |
+
global $wpdb;
|
508 |
+
|
509 |
+
$table_name = wpcf7_table_name();
|
510 |
+
|
511 |
+
$id = (int) $id;
|
512 |
+
|
513 |
+
$query = $wpdb->prepare( "SELECT * FROM $table_name WHERE cf7_unit_id = %d", $id );
|
514 |
+
|
515 |
+
if ( ! $row = $wpdb->get_row( $query ) )
|
516 |
+
return false; // No data
|
517 |
+
|
518 |
+
$contact_form = new WPCF7_ContactForm();
|
519 |
+
$contact_form->id = $row->cf7_unit_id;
|
520 |
+
$contact_form->title = stripslashes_deep( $row->title );
|
521 |
+
$contact_form->form = stripslashes_deep( maybe_unserialize( $row->form ) );
|
522 |
+
$contact_form->mail = stripslashes_deep( maybe_unserialize( $row->mail ) );
|
523 |
+
$contact_form->mail_2 = stripslashes_deep( maybe_unserialize( $row->mail_2 ) );
|
524 |
+
$contact_form->messages = stripslashes_deep( maybe_unserialize( $row->messages ) );
|
525 |
+
$contact_form->additional_settings = stripslashes_deep( maybe_unserialize( $row->additional_settings ) );
|
526 |
+
|
527 |
+
$contact_form->upgrade();
|
528 |
+
|
529 |
+
return $contact_form;
|
530 |
+
}
|
531 |
+
|
532 |
+
function wpcf7_contact_form_default_pack() {
|
533 |
+
$contact_form = new WPCF7_ContactForm();
|
534 |
+
$contact_form->initial = true;
|
535 |
+
|
536 |
+
$contact_form->title = __( 'Untitled', 'wpcf7' );
|
537 |
+
$contact_form->form = wpcf7_default_form_template();
|
538 |
+
$contact_form->mail = wpcf7_default_mail_template();
|
539 |
+
$contact_form->mail_2 = wpcf7_default_mail_2_template();
|
540 |
+
$contact_form->messages = wpcf7_default_messages_template();
|
541 |
+
|
542 |
+
return $contact_form;
|
543 |
}
|
544 |
|
545 |
?>
|
includes/formatting.php
CHANGED
@@ -1,10 +1,13 @@
|
|
1 |
<?php
|
2 |
|
3 |
-
function
|
|
|
|
|
4 |
$pee = $pee . "\n"; // just to make things a little easier, pad the end
|
5 |
$pee = preg_replace( '|<br />\s*<br />|', "\n\n", $pee );
|
6 |
// Space things out a little
|
7 |
-
|
|
|
8 |
$pee = preg_replace( '!(<' . $allblocks . '[^>]*>)!', "\n$1", $pee );
|
9 |
$pee = preg_replace( '!(</' . $allblocks . '>)!', "$1\n\n", $pee );
|
10 |
$pee = str_replace( array( "\r\n", "\r" ), "\n", $pee ); // cross-platform newlines
|
@@ -18,9 +21,8 @@ function wpcf7_wpautop_substitute( $pee, $br = 1 ) {
|
|
18 |
$pee = '';
|
19 |
foreach ( $pees as $tinkle )
|
20 |
$pee .= '<p>' . trim( $tinkle, "\n" ) . "</p>\n";
|
21 |
-
$pee = preg_replace( '|<p>\s
|
22 |
-
$pee = preg_replace( '!<p>([^<]+)
|
23 |
-
$pee = preg_replace( '|<p>|', "$1<p>", $pee );
|
24 |
$pee = preg_replace( '!<p>\s*(</?' . $allblocks . '[^>]*>)\s*</p>!', "$1", $pee ); // don't pee all over a tag
|
25 |
$pee = preg_replace( "|<p>(<li.+?)</p>|", "$1", $pee ); // problem with nested lists
|
26 |
$pee = preg_replace( '|<p><blockquote([^>]*)>|i', "<blockquote$1><p>", $pee );
|
@@ -28,18 +30,19 @@ function wpcf7_wpautop_substitute( $pee, $br = 1 ) {
|
|
28 |
$pee = preg_replace( '!<p>\s*(</?' . $allblocks . '[^>]*>)!', "$1", $pee );
|
29 |
$pee = preg_replace( '!(</?' . $allblocks . '[^>]*>)\s*</p>!', "$1", $pee );
|
30 |
if ( $br ) {
|
31 |
-
|
|
|
32 |
$pee = preg_replace( '|(?<!<br />)\s*\n|', "<br />\n", $pee ); // optionally make line breaks
|
33 |
$pee = str_replace( '<WPPreserveNewline />', "\n", $pee );
|
34 |
}
|
35 |
$pee = preg_replace( '!(</?' . $allblocks . '[^>]*>)\s*<br />!', "$1", $pee );
|
36 |
$pee = preg_replace( '!<br />(\s*</?(?:p|li|div|dl|dd|dt|th|pre|td|ul|ol)[^>]*>)!', '$1', $pee );
|
37 |
if ( strpos( $pee, '<pre' ) !== false )
|
38 |
-
$pee = preg_replace_callback( '!(<pre
|
39 |
$pee = preg_replace( "|\n</p>$|", '</p>', $pee );
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
|
44 |
return $pee;
|
45 |
}
|
1 |
<?php
|
2 |
|
3 |
+
function wpcf7_autop( $pee, $br = 1 ) {
|
4 |
+
if ( trim($pee) === '' )
|
5 |
+
return '';
|
6 |
$pee = $pee . "\n"; // just to make things a little easier, pad the end
|
7 |
$pee = preg_replace( '|<br />\s*<br />|', "\n\n", $pee );
|
8 |
// Space things out a little
|
9 |
+
/* wpcf7: removed select and input */
|
10 |
+
$allblocks = '(?:table|thead|tfoot|caption|col|colgroup|tbody|tr|td|th|div|dl|dd|dt|ul|ol|li|pre|form|map|area|blockquote|address|math|style|p|h[1-6]|hr)';
|
11 |
$pee = preg_replace( '!(<' . $allblocks . '[^>]*>)!', "\n$1", $pee );
|
12 |
$pee = preg_replace( '!(</' . $allblocks . '>)!', "$1\n\n", $pee );
|
13 |
$pee = str_replace( array( "\r\n", "\r" ), "\n", $pee ); // cross-platform newlines
|
21 |
$pee = '';
|
22 |
foreach ( $pees as $tinkle )
|
23 |
$pee .= '<p>' . trim( $tinkle, "\n" ) . "</p>\n";
|
24 |
+
$pee = preg_replace( '|<p>\s*</p>|', '', $pee ); // under certain strange conditions it could create a P of entirely whitespace
|
25 |
+
$pee = preg_replace( '!<p>([^<]+)</(div|address|form)>!', "<p>$1</p></$2>", $pee );
|
|
|
26 |
$pee = preg_replace( '!<p>\s*(</?' . $allblocks . '[^>]*>)\s*</p>!', "$1", $pee ); // don't pee all over a tag
|
27 |
$pee = preg_replace( "|<p>(<li.+?)</p>|", "$1", $pee ); // problem with nested lists
|
28 |
$pee = preg_replace( '|<p><blockquote([^>]*)>|i', "<blockquote$1><p>", $pee );
|
30 |
$pee = preg_replace( '!<p>\s*(</?' . $allblocks . '[^>]*>)!', "$1", $pee );
|
31 |
$pee = preg_replace( '!(</?' . $allblocks . '[^>]*>)\s*</p>!', "$1", $pee );
|
32 |
if ( $br ) {
|
33 |
+
/* wpcf7: add textarea */
|
34 |
+
$pee = preg_replace_callback( '/<(script|style|textarea).*?<\/\\1>/s', create_function( '$matches', 'return str_replace("\n", "<WPPreserveNewline />", $matches[0]);' ), $pee );
|
35 |
$pee = preg_replace( '|(?<!<br />)\s*\n|', "<br />\n", $pee ); // optionally make line breaks
|
36 |
$pee = str_replace( '<WPPreserveNewline />', "\n", $pee );
|
37 |
}
|
38 |
$pee = preg_replace( '!(</?' . $allblocks . '[^>]*>)\s*<br />!', "$1", $pee );
|
39 |
$pee = preg_replace( '!<br />(\s*</?(?:p|li|div|dl|dd|dt|th|pre|td|ul|ol)[^>]*>)!', '$1', $pee );
|
40 |
if ( strpos( $pee, '<pre' ) !== false )
|
41 |
+
$pee = preg_replace_callback( '!(<pre[^>]*>)(.*?)</pre>!is', 'clean_pre', $pee );
|
42 |
$pee = preg_replace( "|\n</p>$|", '</p>', $pee );
|
43 |
+
/* wpcf7: replaced to wpcf7_get_shortcode_regex ( -> comment out) */
|
44 |
+
// don't auto-p wrap shortcodes that stand alone
|
45 |
+
// $pee = preg_replace( '/<p>\s*?(' . wpcf7_get_shortcode_regex() . ')\s*<\/p>/s', '$1', $pee );
|
46 |
|
47 |
return $pee;
|
48 |
}
|
includes/functions.php
CHANGED
@@ -29,6 +29,55 @@ function wpcf7_default_message( $status ) {
|
|
29 |
}
|
30 |
}
|
31 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
32 |
function wpcf7_upload_dir( $type = false ) {
|
33 |
$siteurl = get_option( 'siteurl' );
|
34 |
$upload_path = trim( get_option( 'upload_path' ) );
|
@@ -79,4 +128,46 @@ function wpcf7_upload_tmp_dir() {
|
|
79 |
return wpcf7_upload_dir( 'dir' ) . '/wpcf7_uploads';
|
80 |
}
|
81 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
82 |
?>
|
29 |
}
|
30 |
}
|
31 |
|
32 |
+
function wpcf7_default_form_template() {
|
33 |
+
$template .= '<p>' . __( 'Your Name', 'wpcf7' ) . ' ' . __( '(required)', 'wpcf7' ) . '<br />' . "\n";
|
34 |
+
$template .= ' [text* your-name] </p>' . "\n\n";
|
35 |
+
$template .= '<p>' . __( 'Your Email', 'wpcf7' ) . ' ' . __( '(required)', 'wpcf7' ) . '<br />' . "\n";
|
36 |
+
$template .= ' [email* your-email] </p>' . "\n\n";
|
37 |
+
$template .= '<p>' . __( 'Subject', 'wpcf7' ) . '<br />' . "\n";
|
38 |
+
$template .= ' [text your-subject] </p>' . "\n\n";
|
39 |
+
$template .= '<p>' . __( 'Your Message', 'wpcf7' ) . '<br />' . "\n";
|
40 |
+
$template .= ' [textarea your-message] </p>' . "\n\n";
|
41 |
+
$template .= '<p>[submit "' . __( 'Send', 'wpcf7' ) . '"]</p>';
|
42 |
+
return $template;
|
43 |
+
}
|
44 |
+
|
45 |
+
function wpcf7_default_mail_template() {
|
46 |
+
$subject = '[your-subject]';
|
47 |
+
$sender = '[your-name] <[your-email]>';
|
48 |
+
$body = '[your-message]';
|
49 |
+
$recipient = get_option( 'admin_email' );
|
50 |
+
return compact( 'subject', 'sender', 'body', 'recipient' );
|
51 |
+
}
|
52 |
+
|
53 |
+
function wpcf7_default_mail_2_template() {
|
54 |
+
$active = false;
|
55 |
+
$subject = '[your-subject]';
|
56 |
+
$sender = '[your-name] <[your-email]>';
|
57 |
+
$body = '[your-message]';
|
58 |
+
$recipient = '[your-email]';
|
59 |
+
return compact( 'active', 'subject', 'sender', 'body', 'recipient' );
|
60 |
+
}
|
61 |
+
|
62 |
+
function wpcf7_default_messages_template() {
|
63 |
+
$mail_sent_ok = wpcf7_default_message( 'mail_sent_ok' );
|
64 |
+
$mail_sent_ng = wpcf7_default_message( 'mail_sent_ng' );
|
65 |
+
$akismet_says_spam = wpcf7_default_message( 'akismet_says_spam' );
|
66 |
+
$validation_error = wpcf7_default_message( 'validation_error' );
|
67 |
+
$accept_terms = wpcf7_default_message( 'accept_terms' );
|
68 |
+
$invalid_email = wpcf7_default_message( 'invalid_email' );
|
69 |
+
$invalid_required = wpcf7_default_message( 'invalid_required' );
|
70 |
+
$quiz_answer_not_correct = wpcf7_default_message( 'quiz_answer_not_correct' );
|
71 |
+
$captcha_not_match = wpcf7_default_message( 'captcha_not_match' );
|
72 |
+
$upload_failed = wpcf7_default_message( 'upload_failed' );
|
73 |
+
$upload_file_type_invalid = wpcf7_default_message( 'upload_file_type_invalid' );
|
74 |
+
$upload_file_too_large = wpcf7_default_message( 'upload_file_too_large' );
|
75 |
+
|
76 |
+
return compact( 'mail_sent_ok', 'mail_sent_ng', 'akismet_says_spam',
|
77 |
+
'validation_error', 'accept_terms', 'invalid_email', 'invalid_required', 'quiz_answer_not_correct',
|
78 |
+
'captcha_not_match', 'upload_failed', 'upload_file_type_invalid', 'upload_file_too_large' );
|
79 |
+
}
|
80 |
+
|
81 |
function wpcf7_upload_dir( $type = false ) {
|
82 |
$siteurl = get_option( 'siteurl' );
|
83 |
$upload_path = trim( get_option( 'upload_path' ) );
|
128 |
return wpcf7_upload_dir( 'dir' ) . '/wpcf7_uploads';
|
129 |
}
|
130 |
|
131 |
+
function wpcf7_json( $items ) {
|
132 |
+
if ( is_array( $items ) ) {
|
133 |
+
if ( empty( $items ) )
|
134 |
+
return 'null';
|
135 |
+
|
136 |
+
$keys = array_keys( $items );
|
137 |
+
$all_int = true;
|
138 |
+
foreach ( $keys as $key ) {
|
139 |
+
if ( ! is_int( $key ) ) {
|
140 |
+
$all_int = false;
|
141 |
+
break;
|
142 |
+
}
|
143 |
+
}
|
144 |
+
|
145 |
+
if ( $all_int ) {
|
146 |
+
$children = array();
|
147 |
+
foreach ( $items as $item ) {
|
148 |
+
$children[] = wpcf7_json( $item );
|
149 |
+
}
|
150 |
+
return '[' . join( ', ', $children ) . ']';
|
151 |
+
} else { // Object
|
152 |
+
$children = array();
|
153 |
+
foreach ( $items as $key => $item ) {
|
154 |
+
$key = esc_js( (string) $key );
|
155 |
+
if ( preg_match( '/[^a-zA-Z]/', $key ) )
|
156 |
+
$key = '"' . $key . '"';
|
157 |
+
|
158 |
+
$children[] = $key . ': ' . wpcf7_json( $item );
|
159 |
+
}
|
160 |
+
return '{ ' . join( ', ', $children ) . ' }';
|
161 |
+
}
|
162 |
+
} elseif ( is_numeric( $items ) ) {
|
163 |
+
return (string) $items;
|
164 |
+
} elseif ( is_bool( $items ) ) {
|
165 |
+
return $items ? '1' : '0';
|
166 |
+
} elseif ( is_null( $items ) ) {
|
167 |
+
return 'null';
|
168 |
+
} else {
|
169 |
+
return '"' . esc_js( (string) $items ) . '"';
|
170 |
+
}
|
171 |
+
}
|
172 |
+
|
173 |
?>
|
includes/mail.php
DELETED
@@ -1,70 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
function wpcf7_mail( $contact_form, $files = array() ) {
|
4 |
-
global $wpcf7_posted_data;
|
5 |
-
|
6 |
-
$wpcf7_posted_data = $_POST;
|
7 |
-
|
8 |
-
if ( WPCF7_USE_PIPE ) {
|
9 |
-
wpcf7_pipe_all_posted( $contact_form );
|
10 |
-
}
|
11 |
-
|
12 |
-
if ( wpcf7_compose_and_send_mail( $contact_form->mail, $files ) ) {
|
13 |
-
if ( $contact_form->mail_2['active'] )
|
14 |
-
wpcf7_compose_and_send_mail( $contact_form->mail_2, $files );
|
15 |
-
|
16 |
-
return true;
|
17 |
-
}
|
18 |
-
|
19 |
-
return false;
|
20 |
-
}
|
21 |
-
|
22 |
-
function wpcf7_compose_and_send_mail( $mail_template, $attachments = array() ) {
|
23 |
-
$regex = '/\[\s*([a-zA-Z][0-9a-zA-Z:._-]*)\s*\]/';
|
24 |
-
$callback = 'wpcf7_mail_callback';
|
25 |
-
$mail_subject = preg_replace_callback( $regex, $callback, $mail_template['subject'] );
|
26 |
-
$mail_sender = preg_replace_callback( $regex, $callback, $mail_template['sender'] );
|
27 |
-
$mail_body = preg_replace_callback( $regex, $callback, $mail_template['body'] );
|
28 |
-
$mail_recipient = preg_replace_callback( $regex, $callback, $mail_template['recipient'] );
|
29 |
-
|
30 |
-
$mail_headers = "From: $mail_sender\n";
|
31 |
-
|
32 |
-
if ( $mail_template['use_html'] )
|
33 |
-
$mail_headers .= "Content-Type: text/html\n";
|
34 |
-
|
35 |
-
$mail_additional_headers = preg_replace_callback( $regex, $callback, $mail_template['additional_headers'] );
|
36 |
-
$mail_headers .= trim($mail_additional_headers) . "\n";
|
37 |
-
|
38 |
-
if ( $attachments ) {
|
39 |
-
$for_this_mail = array();
|
40 |
-
foreach ( $attachments as $name => $path ) {
|
41 |
-
if ( false === strpos( $mail_template['attachments'], "[${name}]" ) )
|
42 |
-
continue;
|
43 |
-
$for_this_mail[] = $path;
|
44 |
-
}
|
45 |
-
return @wp_mail( $mail_recipient, $mail_subject, $mail_body, $mail_headers, $for_this_mail );
|
46 |
-
} else {
|
47 |
-
return @wp_mail( $mail_recipient, $mail_subject, $mail_body, $mail_headers );
|
48 |
-
}
|
49 |
-
}
|
50 |
-
|
51 |
-
function wpcf7_mail_callback( $matches ) {
|
52 |
-
global $wpcf7_posted_data;
|
53 |
-
|
54 |
-
if ( isset( $wpcf7_posted_data[$matches[1]] ) ) {
|
55 |
-
$submitted = $wpcf7_posted_data[$matches[1]];
|
56 |
-
|
57 |
-
if ( is_array( $submitted ) )
|
58 |
-
$submitted = join( ', ', $submitted );
|
59 |
-
return stripslashes( $submitted );
|
60 |
-
} else {
|
61 |
-
|
62 |
-
// Special [wpcf7.remote_ip] tag
|
63 |
-
if ( 'wpcf7.remote_ip' == $matches[1] )
|
64 |
-
return preg_replace( '/[^0-9a-f.:, ]/', '', $_SERVER['REMOTE_ADDR'] );
|
65 |
-
|
66 |
-
return $matches[0];
|
67 |
-
}
|
68 |
-
}
|
69 |
-
|
70 |
-
?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/pipe.php
CHANGED
@@ -1,72 +1,66 @@
|
|
1 |
<?php
|
2 |
|
3 |
-
|
4 |
-
if ( is_array( $value ) ) {
|
5 |
-
$results = array();
|
6 |
-
foreach ( $value as $k => $v ) {
|
7 |
-
$results[$k] = wpcf7_pipe( $pipes, $v );
|
8 |
-
}
|
9 |
-
return $results;
|
10 |
-
}
|
11 |
-
|
12 |
-
foreach ( $pipes as $p ) {
|
13 |
-
if ( $p[0] == $value )
|
14 |
-
return $p[1];
|
15 |
-
}
|
16 |
|
17 |
-
|
18 |
-
|
19 |
|
20 |
-
function
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
$
|
|
|
|
|
26 |
}
|
27 |
-
return $ins;
|
28 |
}
|
29 |
|
30 |
-
|
31 |
-
$pipes = array();
|
32 |
|
33 |
-
|
34 |
-
$pipe_pos = strpos( $value, '|' );
|
35 |
-
if ( false === $pipe_pos ) {
|
36 |
-
$before = $after = $value;
|
37 |
-
} else {
|
38 |
-
$before = substr( $value, 0, $pipe_pos );
|
39 |
-
$after = substr( $value, $pipe_pos + 1 );
|
40 |
-
}
|
41 |
|
42 |
-
|
43 |
-
|
|
|
44 |
|
45 |
-
|
46 |
-
|
|
|
|
|
47 |
|
48 |
-
function
|
49 |
-
|
|
|
|
|
50 |
|
51 |
-
$
|
|
|
|
|
|
|
|
|
|
|
|
|
52 |
|
53 |
-
|
54 |
-
|
55 |
-
$type = $fe['type'];
|
56 |
-
$name = $fe['name'];
|
57 |
-
$raw_values = $fe['raw_values'];
|
58 |
|
59 |
-
|
60 |
-
|
|
|
61 |
|
62 |
-
|
|
|
63 |
|
64 |
-
|
|
|
65 |
}
|
66 |
|
67 |
-
|
68 |
-
if (
|
69 |
-
|
|
|
|
|
70 |
}
|
71 |
}
|
72 |
|
1 |
<?php
|
2 |
|
3 |
+
class WPCF7_Pipe {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4 |
|
5 |
+
var $before = '';
|
6 |
+
var $after = '';
|
7 |
|
8 |
+
function WPCF7_Pipe( $text ) {
|
9 |
+
$pipe_pos = strpos( $text, '|' );
|
10 |
+
if ( false === $pipe_pos ) {
|
11 |
+
$this->before = $this->after = $text;
|
12 |
+
} else {
|
13 |
+
$this->before = substr( $text, 0, $pipe_pos );
|
14 |
+
$this->after = substr( $text, $pipe_pos + 1 );
|
15 |
+
}
|
16 |
}
|
|
|
17 |
}
|
18 |
|
19 |
+
class WPCF7_Pipes {
|
|
|
20 |
|
21 |
+
var $pipes = array();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
22 |
|
23 |
+
function WPCF7_Pipes( $texts ) {
|
24 |
+
if ( ! is_array( $texts ) )
|
25 |
+
return;
|
26 |
|
27 |
+
foreach ( $texts as $text ) {
|
28 |
+
$this->add_pipe( $text );
|
29 |
+
}
|
30 |
+
}
|
31 |
|
32 |
+
function add_pipe( $text ) {
|
33 |
+
$pipe = new WPCF7_Pipe( $text );
|
34 |
+
$this->pipes[] = $pipe;
|
35 |
+
}
|
36 |
|
37 |
+
function do_pipe( $before ) {
|
38 |
+
foreach ( $this->pipes as $pipe ) {
|
39 |
+
if ( $pipe->before == $before )
|
40 |
+
return $pipe->after;
|
41 |
+
}
|
42 |
+
return $before;
|
43 |
+
}
|
44 |
|
45 |
+
function collect_befores() {
|
46 |
+
$befores = array();
|
|
|
|
|
|
|
47 |
|
48 |
+
foreach ( $this->pipes as $pipe ) {
|
49 |
+
$befores[] = $pipe->before;
|
50 |
+
}
|
51 |
|
52 |
+
return $befores;
|
53 |
+
}
|
54 |
|
55 |
+
function zero() {
|
56 |
+
return empty( $this->pipes );
|
57 |
}
|
58 |
|
59 |
+
function random_pipe() {
|
60 |
+
if ( $this->zero() )
|
61 |
+
return null;
|
62 |
+
|
63 |
+
return $this->pipes[array_rand( $this->pipes )];
|
64 |
}
|
65 |
}
|
66 |
|
includes/quiz.php
DELETED
@@ -1,34 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
function wpcf7_refill_quiz( $contact_form ) {
|
4 |
-
$fes = $contact_form->form_elements( false );
|
5 |
-
$refill = array();
|
6 |
-
|
7 |
-
foreach ( $fes as $fe ) {
|
8 |
-
$type = $fe['type'];
|
9 |
-
$name = $fe['name'];
|
10 |
-
$values = $fe['values'];
|
11 |
-
$raw_values = $fe['raw_values'];
|
12 |
-
|
13 |
-
if ( 'quiz' != $type )
|
14 |
-
continue;
|
15 |
-
|
16 |
-
if ( count( $values ) == 0 )
|
17 |
-
continue;
|
18 |
-
|
19 |
-
if ( count( $values ) == 1 )
|
20 |
-
$question = $values[0];
|
21 |
-
else
|
22 |
-
$question = $values[array_rand( $values )];
|
23 |
-
|
24 |
-
$pipes = wpcf7_get_pipes( $raw_values );
|
25 |
-
$answer = wpcf7_pipe( $pipes, $question );
|
26 |
-
$answer = wpcf7_canonicalize( $answer );
|
27 |
-
|
28 |
-
$refill[$name] = array( $question, wp_hash( $answer, 'wpcf7_quiz' ) );
|
29 |
-
}
|
30 |
-
|
31 |
-
return $refill;
|
32 |
-
}
|
33 |
-
|
34 |
-
?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/shortcodes.php
ADDED
@@ -0,0 +1,146 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class WPCF7_ShortcodeManager {
|
4 |
+
|
5 |
+
var $shortcode_tags = array();
|
6 |
+
|
7 |
+
// Taggs scanned at the last time of do_shortcode()
|
8 |
+
var $scanned_tags = null;
|
9 |
+
|
10 |
+
// Executing shortcodes (true) or just scanning (false)
|
11 |
+
var $exec = true;
|
12 |
+
|
13 |
+
function add_shortcode( $tag, $func, $has_name = false ) {
|
14 |
+
if ( is_callable( $func ) )
|
15 |
+
$this->shortcode_tags[$tag] = array(
|
16 |
+
'function' => $func,
|
17 |
+
'has_name' => (boolean) $has_name );
|
18 |
+
}
|
19 |
+
|
20 |
+
function remove_shortcode( $tag ) {
|
21 |
+
unset( $this->shortcode_tags[$tag] );
|
22 |
+
}
|
23 |
+
|
24 |
+
function do_shortcode( $content, $exec = true ) {
|
25 |
+
$this->exec = (bool) $exec;
|
26 |
+
$this->scanned_tags = array();
|
27 |
+
|
28 |
+
if ( empty( $this->shortcode_tags ) || ! is_array( $this->shortcode_tags) )
|
29 |
+
return $content;
|
30 |
+
|
31 |
+
$pattern = $this->get_shortcode_regex();
|
32 |
+
return preg_replace_callback( '/' . $pattern . '/s',
|
33 |
+
array(&$this, 'do_shortcode_tag'), $content );
|
34 |
+
}
|
35 |
+
|
36 |
+
function scan_shortcode( $content ) {
|
37 |
+
$this->do_shortcode( $content, false );
|
38 |
+
return $this->scanned_tags;
|
39 |
+
}
|
40 |
+
|
41 |
+
function get_shortcode_regex() {
|
42 |
+
$tagnames = array_keys( $this->shortcode_tags );
|
43 |
+
$tagregexp = join( '|', array_map( 'preg_quote', $tagnames ) );
|
44 |
+
|
45 |
+
return '(.?)\[(' . $tagregexp . ')(?:\s(.*?))?(?:(\/))?\](?:(.+?)\[\/\2\])?(.?)';
|
46 |
+
}
|
47 |
+
|
48 |
+
function do_shortcode_tag( $m ) {
|
49 |
+
// allow [[foo]] syntax for escaping a tag
|
50 |
+
if ( $m[1] == '[' && $m[6] == ']' ) {
|
51 |
+
return substr( $m[0], 1, -1 );
|
52 |
+
}
|
53 |
+
|
54 |
+
$tag = $m[2];
|
55 |
+
$attr = $this->shortcode_parse_atts( $m[3] );
|
56 |
+
|
57 |
+
$scanned_tag = array();
|
58 |
+
$scanned_tag['type'] = $tag;
|
59 |
+
|
60 |
+
if ( is_array( $attr ) ) {
|
61 |
+
if ( is_array( $attr['options'] ) && ! empty( $attr['options'] ) ) {
|
62 |
+
if ( $this->shortcode_tags[$tag]['has_name'] )
|
63 |
+
$scanned_tag['name'] = array_shift( $attr['options'] );
|
64 |
+
$scanned_tag['options'] = $attr['options'];
|
65 |
+
}
|
66 |
+
$scanned_tag['raw_values'] = (array) $attr['values'];
|
67 |
+
|
68 |
+
if ( WPCF7_USE_PIPE ) {
|
69 |
+
$pipes = new WPCF7_Pipes( $scanned_tag['raw_values'] );
|
70 |
+
$scanned_tag['values'] = $pipes->collect_befores();
|
71 |
+
$scanned_tag['pipes'] = $pipes;
|
72 |
+
} else {
|
73 |
+
$scanned_tag['values'] = $scanned_tag['raw_values'];
|
74 |
+
}
|
75 |
+
|
76 |
+
} else {
|
77 |
+
$scanned_tag['attr'] = $attr;
|
78 |
+
}
|
79 |
+
|
80 |
+
$content = trim( $m[5] );
|
81 |
+
$content = preg_replace( "/<br\s*\/?>$/m", '', $content );
|
82 |
+
$scanned_tag['content'] = $content;
|
83 |
+
|
84 |
+
$this->scanned_tags[] = $scanned_tag;
|
85 |
+
|
86 |
+
$func = $this->shortcode_tags[$tag]['function'];
|
87 |
+
|
88 |
+
if ( $this->exec ) {
|
89 |
+
$scanned_tag = apply_filters( 'wpcf7_form_tag', $scanned_tag );
|
90 |
+
return $m[1] . call_user_func( $func, $scanned_tag ) . $m[6];
|
91 |
+
} else {
|
92 |
+
return $m[0];
|
93 |
+
}
|
94 |
+
}
|
95 |
+
|
96 |
+
function shortcode_parse_atts( $text ) {
|
97 |
+
$atts = array();
|
98 |
+
$text = preg_replace( "/[\x{00a0}\x{200b}]+/u", " ", $text );
|
99 |
+
$text = stripcslashes( trim( $text ) );
|
100 |
+
|
101 |
+
$pattern = '%^([-0-9a-zA-Z:.#_/|\s]*?)((?:\s*"[^"]*"|\s*\'[^\']*\')*)$%';
|
102 |
+
|
103 |
+
if ( preg_match( $pattern, $text, $match ) ) {
|
104 |
+
if ( ! empty( $match[1] ) ) {
|
105 |
+
$atts['options'] = preg_split( '/[\s]+/', trim( $match[1] ) );
|
106 |
+
}
|
107 |
+
if ( ! empty( $match[2] ) ) {
|
108 |
+
preg_match_all( '/"[^"]*"|\'[^\']*\'/', $match[2], $matched_values );
|
109 |
+
$atts['values'] = wpcf7_strip_quote_deep( $matched_values[0] );
|
110 |
+
}
|
111 |
+
} else {
|
112 |
+
$atts = $text;
|
113 |
+
}
|
114 |
+
|
115 |
+
return $atts;
|
116 |
+
}
|
117 |
+
|
118 |
+
}
|
119 |
+
|
120 |
+
$wpcf7_shortcode_manager = new WPCF7_ShortcodeManager();
|
121 |
+
|
122 |
+
function wpcf7_add_shortcode( $tag, $func, $has_name = false ) {
|
123 |
+
global $wpcf7_shortcode_manager;
|
124 |
+
|
125 |
+
return $wpcf7_shortcode_manager->add_shortcode( $tag, $func, $has_name );
|
126 |
+
}
|
127 |
+
|
128 |
+
function wpcf7_remove_shortcode( $tag ) {
|
129 |
+
global $wpcf7_shortcode_manager;
|
130 |
+
|
131 |
+
return $wpcf7_shortcode_manager->remove_shortcode( $tag );
|
132 |
+
}
|
133 |
+
|
134 |
+
function wpcf7_do_shortcode( $content ) {
|
135 |
+
global $wpcf7_shortcode_manager;
|
136 |
+
|
137 |
+
return $wpcf7_shortcode_manager->do_shortcode( $content );
|
138 |
+
}
|
139 |
+
|
140 |
+
function wpcf7_get_shortcode_regex() {
|
141 |
+
global $wpcf7_shortcode_manager;
|
142 |
+
|
143 |
+
return $wpcf7_shortcode_manager->get_shortcode_regex();
|
144 |
+
}
|
145 |
+
|
146 |
+
?>
|
includes/upload.php
DELETED
@@ -1,148 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
function wpcf7_handle_uploads( $contact_form ) {
|
4 |
-
$files = array();
|
5 |
-
$valid = true;
|
6 |
-
$reason = array();
|
7 |
-
|
8 |
-
$uploads_dir = null;
|
9 |
-
|
10 |
-
$fes = $contact_form->form_elements( false );
|
11 |
-
|
12 |
-
foreach ( $fes as $fe ) {
|
13 |
-
if ( 'file' != $fe['type'] && 'file*' != $fe['type'] )
|
14 |
-
continue;
|
15 |
-
|
16 |
-
$name = $fe['name'];
|
17 |
-
$options = (array) $fe['options'];
|
18 |
-
|
19 |
-
$file = $_FILES[$name];
|
20 |
-
|
21 |
-
if ( empty( $file['tmp_name'] ) && 'file*' == $fe['type'] ) {
|
22 |
-
$valid = false;
|
23 |
-
$reason[$name] = $contact_form->message( 'invalid_required' );
|
24 |
-
continue;
|
25 |
-
}
|
26 |
-
|
27 |
-
if ( ! is_uploaded_file( $file['tmp_name'] ) )
|
28 |
-
continue;
|
29 |
-
|
30 |
-
/* File type validation */
|
31 |
-
|
32 |
-
$pattern = '';
|
33 |
-
if ( $allowed_types_options = preg_grep( '%^filetypes:%', $options ) ) {
|
34 |
-
foreach ( $allowed_types_options as $allowed_types_option ) {
|
35 |
-
if ( preg_match( '%^filetypes:(.+)$%', $allowed_types_option, $matches ) ) {
|
36 |
-
$file_types = explode( '|', $matches[1] );
|
37 |
-
foreach ( $file_types as $file_type ) {
|
38 |
-
$file_type = trim( $file_type, '.' );
|
39 |
-
$file_type = str_replace( array( '.', '+', '*', '?' ), array( '\.', '\+', '\*', '\?' ), $file_type );
|
40 |
-
$pattern .= '|' . $file_type;
|
41 |
-
}
|
42 |
-
}
|
43 |
-
}
|
44 |
-
}
|
45 |
-
|
46 |
-
// Default file-type restriction
|
47 |
-
if ( '' == $pattern )
|
48 |
-
$pattern = 'jpg|jpeg|png|gif|pdf|doc|docx|ppt|pptx|odt|avi|ogg|m4a|mov|mp3|mp4|mpg|wav|wmv';
|
49 |
-
|
50 |
-
$pattern = trim( $pattern, '|' );
|
51 |
-
$pattern = '(' . $pattern . ')';
|
52 |
-
$pattern = '/\.' . $pattern . '$/i';
|
53 |
-
if ( ! preg_match( $pattern, $file['name'] ) ) {
|
54 |
-
$valid = false;
|
55 |
-
$reason[$name] = $contact_form->message( 'upload_file_type_invalid' );
|
56 |
-
continue;
|
57 |
-
}
|
58 |
-
|
59 |
-
/* File size validation */
|
60 |
-
|
61 |
-
$allowed_size = 1048576; // default size 1 MB
|
62 |
-
if ( $allowed_size_options = preg_grep( '%^limit:%', $options ) ) {
|
63 |
-
$allowed_size_option = array_shift( $allowed_size_options );
|
64 |
-
preg_match( '/^limit:([1-9][0-9]*)([kKmM]?[bB])?$/', $allowed_size_option, $matches );
|
65 |
-
$allowed_size = (int) $matches[1];
|
66 |
-
|
67 |
-
$kbmb = strtolower( $matches[2] );
|
68 |
-
if ( 'kb' == $kbmb ) {
|
69 |
-
$allowed_size *= 1024;
|
70 |
-
} elseif ( 'mb' == $kbmb ) {
|
71 |
-
$allowed_size *= 1024 * 1024;
|
72 |
-
}
|
73 |
-
}
|
74 |
-
|
75 |
-
if ( $file['size'] > $allowed_size ) {
|
76 |
-
$valid = false;
|
77 |
-
$reason[$name] = $contact_form->message( 'upload_file_too_large' );
|
78 |
-
continue;
|
79 |
-
}
|
80 |
-
|
81 |
-
if ( ! $uploads_dir ) {
|
82 |
-
$uploads_dir = wpcf7_upload_tmp_dir();
|
83 |
-
wpcf7_init_uploads(); // Confirm upload dir
|
84 |
-
}
|
85 |
-
|
86 |
-
$filename = wp_unique_filename( $uploads_dir, $file['name'] );
|
87 |
-
|
88 |
-
// If you get script file, it's a danger. Make it TXT file.
|
89 |
-
if ( preg_match( '/\.(php|pl|py|rb|cgi)\d?$/', $filename ) )
|
90 |
-
$filename .= '.txt';
|
91 |
-
|
92 |
-
$new_file = trailingslashit( $uploads_dir ) . $filename;
|
93 |
-
if ( false === @move_uploaded_file( $file['tmp_name'], $new_file ) ) {
|
94 |
-
$valid = false;
|
95 |
-
$reason[$name] = $contact_form->message( 'upload_failed' );
|
96 |
-
continue;
|
97 |
-
}
|
98 |
-
|
99 |
-
// Make sure the uploaded file is only readable for the owner process
|
100 |
-
@chmod( $new_file, 0400 );
|
101 |
-
|
102 |
-
$files[$name] = $new_file;
|
103 |
-
}
|
104 |
-
|
105 |
-
$validation = compact( 'valid', 'reason' );
|
106 |
-
|
107 |
-
return compact( 'files', 'validation' );
|
108 |
-
}
|
109 |
-
|
110 |
-
function wpcf7_init_uploads() {
|
111 |
-
$dir = wpcf7_upload_tmp_dir();
|
112 |
-
wp_mkdir_p( trailingslashit( $dir ) );
|
113 |
-
@chmod( $dir, 0733 );
|
114 |
-
|
115 |
-
$htaccess_file = trailingslashit( $dir ) . '.htaccess';
|
116 |
-
if ( file_exists( $htaccess_file ) )
|
117 |
-
return;
|
118 |
-
|
119 |
-
if ( $handle = @fopen( $htaccess_file, 'w' ) ) {
|
120 |
-
fwrite( $handle, "Deny from all\n" );
|
121 |
-
fclose( $handle );
|
122 |
-
}
|
123 |
-
}
|
124 |
-
|
125 |
-
function wpcf7_cleanup_upload_files() {
|
126 |
-
$dir = trailingslashit( wpcf7_upload_tmp_dir() );
|
127 |
-
|
128 |
-
if ( ! is_dir( $dir ) )
|
129 |
-
return false;
|
130 |
-
if ( ! is_readable( $dir ) )
|
131 |
-
return false;
|
132 |
-
if ( ! is_writable( $dir ) )
|
133 |
-
return false;
|
134 |
-
|
135 |
-
if ( $handle = @opendir( $dir ) ) {
|
136 |
-
while ( false !== ( $file = readdir( $handle ) ) ) {
|
137 |
-
if ( $file == "." || $file == ".." || $file == ".htaccess" )
|
138 |
-
continue;
|
139 |
-
|
140 |
-
$stat = stat( $dir . $file );
|
141 |
-
if ( $stat['mtime'] + 60 < time() ) // 60 secs
|
142 |
-
@unlink( $dir . $file );
|
143 |
-
}
|
144 |
-
closedir( $handle );
|
145 |
-
}
|
146 |
-
}
|
147 |
-
|
148 |
-
?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
languages/wpcf7-el.mo
ADDED
Binary file
|
languages/wpcf7-el.po
ADDED
@@ -0,0 +1,468 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
msgid ""
|
2 |
+
msgstr ""
|
3 |
+
"Project-Id-Version: wpcf7-el\n"
|
4 |
+
"Report-Msgid-Bugs-To: \n"
|
5 |
+
"POT-Creation-Date: 2009-05-31 23:05+0900\n"
|
6 |
+
"PO-Revision-Date: \n"
|
7 |
+
"Last-Translator: Πρόδρομος Τσαλικίδης <pr.tsalikidis@gmail.com>\n"
|
8 |
+
"Language-Team: <http://friedlich.wordpress.com>\n"
|
9 |
+
"MIME-Version: 1.0\n"
|
10 |
+
"Content-Type: text/plain; charset=UTF-8\n"
|
11 |
+
"Content-Transfer-Encoding: 8bit\n"
|
12 |
+
"X-Poedit-Language: Greek\n"
|
13 |
+
"X-Poedit-Country: GREECE/ CYPRUS\n"
|
14 |
+
"X-Poedit-SourceCharset: utf-8\n"
|
15 |
+
|
16 |
+
#: contact-form-7/wp-contact-form-7.php:373
|
17 |
+
msgid "Contact form"
|
18 |
+
msgstr "Φόρμα επικοινωνίας"
|
19 |
+
|
20 |
+
#: contact-form-7/admin/admin-panel.php:6
|
21 |
+
#: contact-form-7/admin/admin.php:111
|
22 |
+
msgid "Contact Form 7"
|
23 |
+
msgstr "Contact Form 7"
|
24 |
+
|
25 |
+
#: contact-form-7/admin/admin-panel.php:21
|
26 |
+
msgid "Add new"
|
27 |
+
msgstr "Προσθήκη νέας"
|
28 |
+
|
29 |
+
#: contact-form-7/admin/admin-panel.php:43
|
30 |
+
msgid "Copy this code and paste it into your post, page or text widget content."
|
31 |
+
msgstr "Αντιγράψτε αυτόν τον κώδικα και επικολλήστε τον στο περιεχόμενο του άρθρου ή της σελίδας σας ή μιας μονάδας κειμένου."
|
32 |
+
|
33 |
+
#: contact-form-7/admin/admin-panel.php:50
|
34 |
+
#: contact-form-7/admin/admin-panel.php:290
|
35 |
+
msgid "Save"
|
36 |
+
msgstr "Αποθήκευση"
|
37 |
+
|
38 |
+
#: contact-form-7/admin/admin-panel.php:57
|
39 |
+
msgid "Copy"
|
40 |
+
msgstr "Αντιγραφή"
|
41 |
+
|
42 |
+
#: contact-form-7/admin/admin-panel.php:61
|
43 |
+
msgid "Delete"
|
44 |
+
msgstr "Διαγραφή"
|
45 |
+
|
46 |
+
#: contact-form-7/admin/admin-panel.php:63
|
47 |
+
msgid ""
|
48 |
+
"You are about to delete this contact form.\n"
|
49 |
+
" 'Cancel' to stop, 'OK' to delete."
|
50 |
+
msgstr ""
|
51 |
+
"Είστε έτοιμος να διαγράψετε αυτή τη φόρμα επικοινωνίας.\n"
|
52 |
+
" 'ΟΚ' για διαγραφή."
|
53 |
+
|
54 |
+
#: contact-form-7/admin/admin-panel.php:78
|
55 |
+
msgid "Form"
|
56 |
+
msgstr "Φόρμα"
|
57 |
+
|
58 |
+
#: contact-form-7/admin/admin-panel.php:98
|
59 |
+
msgid "Mail"
|
60 |
+
msgstr "Mail"
|
61 |
+
|
62 |
+
#: contact-form-7/admin/admin-panel.php:105
|
63 |
+
#: contact-form-7/admin/admin-panel.php:161
|
64 |
+
msgid "To:"
|
65 |
+
msgstr "Προς:"
|
66 |
+
|
67 |
+
#: contact-form-7/admin/admin-panel.php:109
|
68 |
+
#: contact-form-7/admin/admin-panel.php:165
|
69 |
+
msgid "From:"
|
70 |
+
msgstr "Από:"
|
71 |
+
|
72 |
+
#: contact-form-7/admin/admin-panel.php:113
|
73 |
+
#: contact-form-7/admin/admin-panel.php:169
|
74 |
+
msgid "Subject:"
|
75 |
+
msgstr "Θέμα:"
|
76 |
+
|
77 |
+
#: contact-form-7/admin/admin-panel.php:118
|
78 |
+
#: contact-form-7/admin/admin-panel.php:174
|
79 |
+
msgid "Additional headers:"
|
80 |
+
msgstr "Επιπρόσθετα headers:"
|
81 |
+
|
82 |
+
#: contact-form-7/admin/admin-panel.php:122
|
83 |
+
#: contact-form-7/admin/admin-panel.php:178
|
84 |
+
msgid "File attachments:"
|
85 |
+
msgstr "Συνημμένα αρχεία:"
|
86 |
+
|
87 |
+
#: contact-form-7/admin/admin-panel.php:124
|
88 |
+
#: contact-form-7/admin/admin-panel.php:180
|
89 |
+
msgid "(You need WordPress 2.7 or greater to use this feature)"
|
90 |
+
msgstr "(Χρειάζεστε το WordPress 2.7 ή μεταγενέστερο για να χρησιμοποιήσετε αυτό το χαρακτηριστικό.)"
|
91 |
+
|
92 |
+
#: contact-form-7/admin/admin-panel.php:132
|
93 |
+
#: contact-form-7/admin/admin-panel.php:188
|
94 |
+
msgid "Use HTML content type"
|
95 |
+
msgstr "Αποστολή σε μορφή HTML"
|
96 |
+
|
97 |
+
#: contact-form-7/admin/admin-panel.php:137
|
98 |
+
#: contact-form-7/admin/admin-panel.php:193
|
99 |
+
msgid "Message body:"
|
100 |
+
msgstr "Σώμα μηνύματος:"
|
101 |
+
|
102 |
+
#: contact-form-7/admin/admin-panel.php:148
|
103 |
+
msgid "Mail (2)"
|
104 |
+
msgstr "Mail (2)"
|
105 |
+
|
106 |
+
#: contact-form-7/admin/admin-panel.php:155
|
107 |
+
msgid "Use mail (2)"
|
108 |
+
msgstr "Χρήση mail (2)"
|
109 |
+
|
110 |
+
#: contact-form-7/admin/admin-panel.php:204
|
111 |
+
msgid "Messages"
|
112 |
+
msgstr "Μηνύματα"
|
113 |
+
|
114 |
+
#: contact-form-7/admin/admin-panel.php:212
|
115 |
+
msgid "Sender's message was sent successfully"
|
116 |
+
msgstr "Το μήνυμα του αποστολέα στάλθηκε επιτυχώς."
|
117 |
+
|
118 |
+
#: contact-form-7/admin/admin-panel.php:216
|
119 |
+
msgid "Sender's message was failed to send"
|
120 |
+
msgstr "Το μήνυμα του αποστολέα απέτυχε να σταλεί."
|
121 |
+
|
122 |
+
#: contact-form-7/admin/admin-panel.php:220
|
123 |
+
msgid "Akismet judged the sending activity as spamming"
|
124 |
+
msgstr "Το Akismet θεώρησε την ενέργεια αποστολής ανεπιθύμητη."
|
125 |
+
|
126 |
+
#: contact-form-7/admin/admin-panel.php:224
|
127 |
+
msgid "Validation errors occurred"
|
128 |
+
msgstr "Συνέβησαν σφάλματα εγκυρότητας."
|
129 |
+
|
130 |
+
#: contact-form-7/admin/admin-panel.php:228
|
131 |
+
msgid "There is a field that sender is needed to fill in"
|
132 |
+
msgstr "Υπάρχει πεδίο που ο αποστολέας πρέπει να συμπληρώσει."
|
133 |
+
|
134 |
+
#: contact-form-7/admin/admin-panel.php:232
|
135 |
+
msgid "Email address that sender entered is invalid"
|
136 |
+
msgstr "Η διεύθυνση email που εισήγαγε ο αποστολέας είναι άκυρη."
|
137 |
+
|
138 |
+
#: contact-form-7/admin/admin-panel.php:236
|
139 |
+
msgid "There is a field of term that sender is needed to accept"
|
140 |
+
msgstr "Υπάρχει πεδίο όρων που ο αποστολέας πρέπει να αποδεχθεί."
|
141 |
+
|
142 |
+
#: contact-form-7/admin/admin-panel.php:240
|
143 |
+
msgid "Sender doesn't enter the correct answer to the quiz"
|
144 |
+
msgstr "Ο αποστολέας δεν εισάγει την σωστή απάντηση στο κουΐζ."
|
145 |
+
|
146 |
+
#: contact-form-7/admin/admin-panel.php:244
|
147 |
+
msgid "The code that sender entered does not match the CAPTCHA"
|
148 |
+
msgstr "Ο κώδικας που εισήγαγε ο αποστολέας δεν ταιριάζει με το CAPTCHA."
|
149 |
+
|
150 |
+
#: contact-form-7/admin/admin-panel.php:248
|
151 |
+
msgid "Uploading a file fails for any reason"
|
152 |
+
msgstr "Αποτυχία μεταφοράς αρχείου για οποιονδήποτε λόγο."
|
153 |
+
|
154 |
+
#: contact-form-7/admin/admin-panel.php:252
|
155 |
+
msgid "Uploaded file is not allowed file type"
|
156 |
+
msgstr "Ο τύπος αρχείου που μεταφέρθηκε δεν είναι επιτρεπτός."
|
157 |
+
|
158 |
+
#: contact-form-7/admin/admin-panel.php:256
|
159 |
+
msgid "Uploaded file is too large"
|
160 |
+
msgstr "Το αρχείο που μεταφέρθηκε είναι πολύ μεγάλο."
|
161 |
+
|
162 |
+
#: contact-form-7/admin/admin-panel.php:269
|
163 |
+
msgid "Additional Settings"
|
164 |
+
msgstr "Επιπρόσθετες ρυθμίσεις"
|
165 |
+
|
166 |
+
#: contact-form-7/admin/admin.php:157
|
167 |
+
msgid "optional"
|
168 |
+
msgstr "προαιρετικό"
|
169 |
+
|
170 |
+
#: contact-form-7/admin/admin.php:158
|
171 |
+
msgid "Generate Tag"
|
172 |
+
msgstr "Δημιουργία ετικέτας"
|
173 |
+
|
174 |
+
#: contact-form-7/admin/admin.php:159
|
175 |
+
msgid "Text field"
|
176 |
+
msgstr "Πεδίο κειμένου"
|
177 |
+
|
178 |
+
#: contact-form-7/admin/admin.php:160
|
179 |
+
msgid "Email field"
|
180 |
+
msgstr "Πεδίο email"
|
181 |
+
|
182 |
+
#: contact-form-7/admin/admin.php:161
|
183 |
+
msgid "Text area"
|
184 |
+
msgstr "Περιοχή κειμένου"
|
185 |
+
|
186 |
+
#: contact-form-7/admin/admin.php:162
|
187 |
+
msgid "Drop-down menu"
|
188 |
+
msgstr "Αναδιπλούμενο μενού"
|
189 |
+
|
190 |
+
#: contact-form-7/admin/admin.php:163
|
191 |
+
msgid "Checkboxes"
|
192 |
+
msgstr "Checkboxes"
|
193 |
+
|
194 |
+
#: contact-form-7/admin/admin.php:164
|
195 |
+
msgid "Radio buttons"
|
196 |
+
msgstr "Radio buttons"
|
197 |
+
|
198 |
+
#: contact-form-7/admin/admin.php:165
|
199 |
+
msgid "Acceptance"
|
200 |
+
msgstr "Αποδοχή"
|
201 |
+
|
202 |
+
#: contact-form-7/admin/admin.php:166
|
203 |
+
msgid "Make this checkbox checked by default?"
|
204 |
+
msgstr "Το checkbox να είναι σημειωμένο εκ προεπιλογής;"
|
205 |
+
|
206 |
+
#: contact-form-7/admin/admin.php:167
|
207 |
+
msgid "Make this checkbox work inversely?"
|
208 |
+
msgstr "Αντίστροφη λειτουργία του checkbox;"
|
209 |
+
|
210 |
+
#: contact-form-7/admin/admin.php:168
|
211 |
+
msgid "* That means visitor who accepts the term unchecks it."
|
212 |
+
msgstr "* Αυτό σημαίνει ότι ο επισκέπτης που αποδέχεται τους όρους το αποσημειώνει."
|
213 |
+
|
214 |
+
#: contact-form-7/admin/admin.php:169
|
215 |
+
msgid "CAPTCHA"
|
216 |
+
msgstr "CAPTCHA"
|
217 |
+
|
218 |
+
#: contact-form-7/admin/admin.php:170
|
219 |
+
msgid "Quiz"
|
220 |
+
msgstr "Κουΐζ"
|
221 |
+
|
222 |
+
#: contact-form-7/admin/admin.php:171
|
223 |
+
msgid "Quizzes"
|
224 |
+
msgstr "Κουΐζ"
|
225 |
+
|
226 |
+
#: contact-form-7/admin/admin.php:172
|
227 |
+
msgid "* quiz|answer (e.g. 1+1=?|2)"
|
228 |
+
msgstr "* κουΐζ|απάντηση (πχ. 1+1=?|2)"
|
229 |
+
|
230 |
+
#: contact-form-7/admin/admin.php:173
|
231 |
+
msgid "File upload"
|
232 |
+
msgstr "Μεταφορά αρχείου"
|
233 |
+
|
234 |
+
#: contact-form-7/admin/admin.php:174
|
235 |
+
msgid "bytes"
|
236 |
+
msgstr "bytes"
|
237 |
+
|
238 |
+
#: contact-form-7/admin/admin.php:175
|
239 |
+
msgid "Submit button"
|
240 |
+
msgstr "Πλήκτρο υποβολής"
|
241 |
+
|
242 |
+
#: contact-form-7/admin/admin.php:176
|
243 |
+
msgid "Name"
|
244 |
+
msgstr "Όνομα"
|
245 |
+
|
246 |
+
#: contact-form-7/admin/admin.php:177
|
247 |
+
msgid "Required field?"
|
248 |
+
msgstr "Υποχρεωτικό πεδίο;"
|
249 |
+
|
250 |
+
#: contact-form-7/admin/admin.php:178
|
251 |
+
msgid "Allow multiple selections?"
|
252 |
+
msgstr "Επιτρέπονται πολλαπλές επιλογές;"
|
253 |
+
|
254 |
+
#: contact-form-7/admin/admin.php:179
|
255 |
+
msgid "Insert a blank item as the first option?"
|
256 |
+
msgstr "Εισαγωγή ενός κενού αντικειμένου ως πρώτη επιλογή;"
|
257 |
+
|
258 |
+
#: contact-form-7/admin/admin.php:180
|
259 |
+
msgid "Make checkboxes exclusive?"
|
260 |
+
msgstr "Τα checkboxes να είναι μονής επιλογής;"
|
261 |
+
|
262 |
+
#: contact-form-7/admin/admin.php:181
|
263 |
+
msgid "Choices"
|
264 |
+
msgstr "Επιλογές"
|
265 |
+
|
266 |
+
#: contact-form-7/admin/admin.php:182
|
267 |
+
msgid "Label"
|
268 |
+
msgstr "Κείμενο πλήκτρου"
|
269 |
+
|
270 |
+
#: contact-form-7/admin/admin.php:183
|
271 |
+
msgid "Default value"
|
272 |
+
msgstr "Προεπιλεγμένη τιμή"
|
273 |
+
|
274 |
+
#: contact-form-7/admin/admin.php:184
|
275 |
+
msgid "Akismet"
|
276 |
+
msgstr "Akismet"
|
277 |
+
|
278 |
+
#: contact-form-7/admin/admin.php:185
|
279 |
+
msgid "This field requires author's name"
|
280 |
+
msgstr "Αυτό το πεδίο απαιτεί το όνομα του συντάκτη."
|
281 |
+
|
282 |
+
#: contact-form-7/admin/admin.php:186
|
283 |
+
msgid "This field requires author's URL"
|
284 |
+
msgstr "Αυτό το πεδίο απαιτεί το URL του συντάκτη."
|
285 |
+
|
286 |
+
#: contact-form-7/admin/admin.php:187
|
287 |
+
msgid "This field requires author's email address"
|
288 |
+
msgstr "Αυτό το πεδίο απαιτεί τη διεύθυνση email του συντάκτη."
|
289 |
+
|
290 |
+
#: contact-form-7/admin/admin.php:188
|
291 |
+
msgid "Copy this code and paste it into the form left."
|
292 |
+
msgstr "Αντιγράψτε τον κώδικα και επικολλήστε τον στη φόρμα αριστερά."
|
293 |
+
|
294 |
+
#: contact-form-7/admin/admin.php:189
|
295 |
+
msgid "Foreground color"
|
296 |
+
msgstr "Χρώμα προσκηνίου"
|
297 |
+
|
298 |
+
#: contact-form-7/admin/admin.php:190
|
299 |
+
msgid "Background color"
|
300 |
+
msgstr "Χρώμα φόντου"
|
301 |
+
|
302 |
+
#: contact-form-7/admin/admin.php:191
|
303 |
+
msgid "Image size"
|
304 |
+
msgstr "Μέγεθος εικόνας"
|
305 |
+
|
306 |
+
#: contact-form-7/admin/admin.php:192
|
307 |
+
msgid "Small"
|
308 |
+
msgstr "Μικρό"
|
309 |
+
|
310 |
+
#: contact-form-7/admin/admin.php:193
|
311 |
+
msgid "Medium"
|
312 |
+
msgstr "Μεσαίο"
|
313 |
+
|
314 |
+
#: contact-form-7/admin/admin.php:194
|
315 |
+
msgid "Large"
|
316 |
+
msgstr "Μεγάλο"
|
317 |
+
|
318 |
+
#: contact-form-7/admin/admin.php:195
|
319 |
+
msgid "Image settings"
|
320 |
+
msgstr "Ρυθμίσεις εικόνας"
|
321 |
+
|
322 |
+
#: contact-form-7/admin/admin.php:196
|
323 |
+
msgid "Input field settings"
|
324 |
+
msgstr "Ρυθμίσεις πεδίου εισαγωγής"
|
325 |
+
|
326 |
+
#: contact-form-7/admin/admin.php:197
|
327 |
+
msgid "For image"
|
328 |
+
msgstr "Για την εικόνα"
|
329 |
+
|
330 |
+
#: contact-form-7/admin/admin.php:198
|
331 |
+
msgid "For input field"
|
332 |
+
msgstr "Για το πεδίο εισαγωγής"
|
333 |
+
|
334 |
+
#: contact-form-7/admin/admin.php:199
|
335 |
+
msgid "* One choice per line."
|
336 |
+
msgstr "* Μία επιλογή ανά γραμμή."
|
337 |
+
|
338 |
+
#: contact-form-7/admin/admin.php:200
|
339 |
+
msgid "Show"
|
340 |
+
msgstr "Εμφάνιση"
|
341 |
+
|
342 |
+
#: contact-form-7/admin/admin.php:201
|
343 |
+
msgid "Hide"
|
344 |
+
msgstr "Απόκρυψη"
|
345 |
+
|
346 |
+
#: contact-form-7/admin/admin.php:202
|
347 |
+
msgid "File size limit"
|
348 |
+
msgstr "Όριο μεγέθους αρχείου"
|
349 |
+
|
350 |
+
#: contact-form-7/admin/admin.php:203
|
351 |
+
msgid "Acceptable file types"
|
352 |
+
msgstr "Επιτρεπόμενοι τύποι αρχείων"
|
353 |
+
|
354 |
+
#: contact-form-7/admin/admin.php:204
|
355 |
+
msgid "Note: To use CAPTCHA, you need Really Simple CAPTCHA plugin installed."
|
356 |
+
msgstr "Σημείωση: Για να χρησιμοποιήσετε το CAPTCHA, πρέπει να έχετε εγκατεστημένο το πρόσθετο Really Simple CAPTCHA."
|
357 |
+
|
358 |
+
#: contact-form-7/admin/admin.php:223
|
359 |
+
msgid "Contact form created."
|
360 |
+
msgstr "Η φόρμα επικοινωνίας δημιουργήθηκε."
|
361 |
+
|
362 |
+
#: contact-form-7/admin/admin.php:226
|
363 |
+
msgid "Contact form saved."
|
364 |
+
msgstr "Η φόρμα επικοινωνίας αποθηκεύτηκε."
|
365 |
+
|
366 |
+
#: contact-form-7/admin/admin.php:229
|
367 |
+
msgid "Contact form deleted."
|
368 |
+
msgstr "Η φόρμα επικοινωνίας διαγράφηκε."
|
369 |
+
|
370 |
+
#: contact-form-7/admin/admin.php:240
|
371 |
+
msgid "Untitled"
|
372 |
+
msgstr "Χωρίς τίτλο"
|
373 |
+
|
374 |
+
#: contact-form-7/admin/admin.php:253
|
375 |
+
msgid "Your Name"
|
376 |
+
msgstr "Το όνομά σας"
|
377 |
+
|
378 |
+
#: contact-form-7/admin/admin.php:253
|
379 |
+
#: contact-form-7/admin/admin.php:255
|
380 |
+
msgid "(required)"
|
381 |
+
msgstr "(απαραίτητο)"
|
382 |
+
|
383 |
+
#: contact-form-7/admin/admin.php:255
|
384 |
+
msgid "Your Email"
|
385 |
+
msgstr "Το email σας"
|
386 |
+
|
387 |
+
#: contact-form-7/admin/admin.php:257
|
388 |
+
msgid "Subject"
|
389 |
+
msgstr "Θέμα"
|
390 |
+
|
391 |
+
#: contact-form-7/admin/admin.php:259
|
392 |
+
msgid "Your Message"
|
393 |
+
msgstr "Το μήνυμά σας"
|
394 |
+
|
395 |
+
#: contact-form-7/admin/admin.php:261
|
396 |
+
#: contact-form-7/includes/classes.php:411
|
397 |
+
msgid "Send"
|
398 |
+
msgstr "Αποστολή"
|
399 |
+
|
400 |
+
#: contact-form-7/admin/admin.php:334
|
401 |
+
msgid "Settings"
|
402 |
+
msgstr "Ρυθμίσεις"
|
403 |
+
|
404 |
+
#: contact-form-7/admin/admin.php:355
|
405 |
+
msgid "Contact Form 7 needs your support. Please donate today."
|
406 |
+
msgstr "Contact Form 7 needs your support. Please donate today."
|
407 |
+
|
408 |
+
#: contact-form-7/admin/admin.php:356
|
409 |
+
msgid "Is this plugin useful for you? If you like it, please help the developer."
|
410 |
+
msgstr "Is this plugin useful for you? If you like it, please help the developer."
|
411 |
+
|
412 |
+
#: contact-form-7/admin/admin.php:357
|
413 |
+
msgid "Your contribution is needed for making this plugin better."
|
414 |
+
msgstr "Your contribution is needed for making this plugin better."
|
415 |
+
|
416 |
+
#: contact-form-7/admin/admin.php:358
|
417 |
+
msgid "Developing a plugin and providing user support is really hard work. Please help."
|
418 |
+
msgstr "Developing a plugin and providing user support is really hard work. Please help."
|
419 |
+
|
420 |
+
#: contact-form-7/includes/classes.php:352
|
421 |
+
msgid "To use CAPTCHA, you need <a href=\"http://wordpress.org/extend/plugins/really-simple-captcha/\">Really Simple CAPTCHA</a> plugin installed."
|
422 |
+
msgstr "Για να χρησιμοποιήσετε CAPTCHA, χρειάζεται να έχετε εγκατεστημένο το πρόσθετο <a href=\"http://wordpress.org/extend/plugins/really-simple-captcha/\">Really Simple CAPTCHA</a>."
|
423 |
+
|
424 |
+
#: contact-form-7/includes/functions.php:6
|
425 |
+
msgid "Your message was sent successfully. Thanks."
|
426 |
+
msgstr "Το μήνυμά σας στάλθηκε επιτυχώς. Ευχαριστούμε."
|
427 |
+
|
428 |
+
#: contact-form-7/includes/functions.php:8
|
429 |
+
#: contact-form-7/includes/functions.php:10
|
430 |
+
msgid "Failed to send your message. Please try later or contact administrator by other way."
|
431 |
+
msgstr "Αποτυχία κατά την αποστολή του μηνύματός σας. Παρακαλώ δοκιμάστε αργότερα ή επικοινωνήστε με το διαχειριστή με άλλον τρόπο."
|
432 |
+
|
433 |
+
#: contact-form-7/includes/functions.php:12
|
434 |
+
msgid "Validation errors occurred. Please confirm the fields and submit it again."
|
435 |
+
msgstr "Συνέβησαν σφάλματα εγκυρότητας. Παρακαλώ ελέγξτε τα πεδία και υποβάλλετε το μήνυμα ξανά."
|
436 |
+
|
437 |
+
#: contact-form-7/includes/functions.php:14
|
438 |
+
msgid "Please accept the terms to proceed."
|
439 |
+
msgstr "Παρακαλώ αποδεχθείτε τους όρους για να συνεχίσετε."
|
440 |
+
|
441 |
+
#: contact-form-7/includes/functions.php:16
|
442 |
+
msgid "Email address seems invalid."
|
443 |
+
msgstr "Η διεύθυνση email δείχνει άκυρη."
|
444 |
+
|
445 |
+
#: contact-form-7/includes/functions.php:18
|
446 |
+
msgid "Please fill the required field."
|
447 |
+
msgstr "Παρακαλώ συμπληρώστε τα απαραίτητα πεδία."
|
448 |
+
|
449 |
+
#: contact-form-7/includes/functions.php:20
|
450 |
+
msgid "Your entered code is incorrect."
|
451 |
+
msgstr "Ο κωδικός που εισάγατε δεν είναι σωστός."
|
452 |
+
|
453 |
+
#: contact-form-7/includes/functions.php:22
|
454 |
+
msgid "Your answer is not correct."
|
455 |
+
msgstr "Η απάντησή σας δεν είναι σωστή."
|
456 |
+
|
457 |
+
#: contact-form-7/includes/functions.php:24
|
458 |
+
msgid "Failed to upload file."
|
459 |
+
msgstr "Αποτυχία κατά τη μεταφορά του αρχείου."
|
460 |
+
|
461 |
+
#: contact-form-7/includes/functions.php:26
|
462 |
+
msgid "This file type is not allowed."
|
463 |
+
msgstr "Αυτός ο τύπος αρχείου δεν είναι επιτρεπτός."
|
464 |
+
|
465 |
+
#: contact-form-7/includes/functions.php:28
|
466 |
+
msgid "This file is too large."
|
467 |
+
msgstr "Το αρχείο είναι πολύ μεγάλο."
|
468 |
+
|
languages/wpcf7-el_EL.mo
DELETED
Binary file
|
languages/wpcf7-el_EL.po
DELETED
@@ -1,288 +0,0 @@
|
|
1 |
-
msgid ""
|
2 |
-
msgstr ""
|
3 |
-
"Project-Id-Version: Contact Form 7 Greek translation\n"
|
4 |
-
"POT-Creation-Date: 2007-10-24 13:47+0900\n"
|
5 |
-
"PO-Revision-Date: 2008-10-13 16:03+0200\n"
|
6 |
-
"Last-Translator: Mouratidis Nick <mouridis@freemail.gr>\n"
|
7 |
-
"Language-Team: Mouratidis Nick <mouridis@freemail.gr>\n"
|
8 |
-
"MIME-Version: 1.0\n"
|
9 |
-
"Content-Type: text/plain; charset=utf-8\n"
|
10 |
-
"Content-Transfer-Encoding: 8bit\n"
|
11 |
-
"X-Poedit-SourceCharset: utf-8\n"
|
12 |
-
"X-Poedit-KeywordsList: __;_e;__ngettext:1,2;_c\n"
|
13 |
-
"X-Poedit-Basepath: ../..\n"
|
14 |
-
"X-Poedit-Language: Greek\n"
|
15 |
-
"X-Poedit-Country: GREECE\n"
|
16 |
-
"X-Poedit-SearchPath-0: contact-form-7\n"
|
17 |
-
|
18 |
-
#: contact-form-7/wp-contact-form-7.php:251
|
19 |
-
msgid "Contact form"
|
20 |
-
msgstr "Φόρμα επικοινωνίας"
|
21 |
-
|
22 |
-
#: contact-form-7/wp-contact-form-7.php:336
|
23 |
-
#: contact-form-7/includes/admin-panel.php:5
|
24 |
-
msgid "Contact Form 7"
|
25 |
-
msgstr "Contact Form 7"
|
26 |
-
|
27 |
-
#: contact-form-7/wp-contact-form-7.php:352
|
28 |
-
msgid "optional"
|
29 |
-
msgstr "προαιρετικό"
|
30 |
-
|
31 |
-
#: contact-form-7/wp-contact-form-7.php:353
|
32 |
-
msgid "Generate Tag"
|
33 |
-
msgstr "Δημιουργία Tag"
|
34 |
-
|
35 |
-
#: contact-form-7/wp-contact-form-7.php:354
|
36 |
-
msgid "Text field"
|
37 |
-
msgstr "Πεδίο κειμένου"
|
38 |
-
|
39 |
-
#: contact-form-7/wp-contact-form-7.php:355
|
40 |
-
msgid "Email field"
|
41 |
-
msgstr "Πεδίο email"
|
42 |
-
|
43 |
-
#: contact-form-7/wp-contact-form-7.php:356
|
44 |
-
msgid "Text area"
|
45 |
-
msgstr "Περιοχή κειμένου"
|
46 |
-
|
47 |
-
#: contact-form-7/wp-contact-form-7.php:357
|
48 |
-
msgid "Drop-down menu"
|
49 |
-
msgstr "Αναδιπλούμενο μενού"
|
50 |
-
|
51 |
-
#: contact-form-7/wp-contact-form-7.php:358
|
52 |
-
msgid "Checkboxes"
|
53 |
-
msgstr "Checkboxes"
|
54 |
-
|
55 |
-
#: contact-form-7/wp-contact-form-7.php:359
|
56 |
-
msgid "Radio buttons"
|
57 |
-
msgstr "Radio buttons"
|
58 |
-
|
59 |
-
#: contact-form-7/wp-contact-form-7.php:360
|
60 |
-
msgid "CAPTCHA"
|
61 |
-
msgstr "CAPTCHA"
|
62 |
-
|
63 |
-
#: contact-form-7/wp-contact-form-7.php:361
|
64 |
-
msgid "Submit button"
|
65 |
-
msgstr "Κουμπί υποβολής"
|
66 |
-
|
67 |
-
#: contact-form-7/wp-contact-form-7.php:362
|
68 |
-
msgid "Name"
|
69 |
-
msgstr "Όνομα"
|
70 |
-
|
71 |
-
#: contact-form-7/wp-contact-form-7.php:363
|
72 |
-
msgid "Required field?"
|
73 |
-
msgstr "Υποχρεωτικό πεδίο;"
|
74 |
-
|
75 |
-
#: contact-form-7/wp-contact-form-7.php:364
|
76 |
-
msgid "Allow multiple selections?"
|
77 |
-
msgstr "Να επιτρέπεται η πολλαπλή επιλογή;"
|
78 |
-
|
79 |
-
#: contact-form-7/wp-contact-form-7.php:365
|
80 |
-
msgid "Insert a blank item as the first option?"
|
81 |
-
msgstr "Εισαγωγή κενού αντικειμένου ως πρώτη επιλογή;"
|
82 |
-
|
83 |
-
#: contact-form-7/wp-contact-form-7.php:366
|
84 |
-
msgid "Make checkboxes exclusive?"
|
85 |
-
msgstr "Μετατροπή των checkboxes σε μονής επιλογής;"
|
86 |
-
|
87 |
-
#: contact-form-7/wp-contact-form-7.php:367
|
88 |
-
msgid "Choices"
|
89 |
-
msgstr "Επιλογές"
|
90 |
-
|
91 |
-
#: contact-form-7/wp-contact-form-7.php:368
|
92 |
-
msgid "Label"
|
93 |
-
msgstr "Ετικέτα"
|
94 |
-
|
95 |
-
#: contact-form-7/wp-contact-form-7.php:369
|
96 |
-
msgid "Default value"
|
97 |
-
msgstr "Προεπιλεγμένη τιμή"
|
98 |
-
|
99 |
-
#: contact-form-7/wp-contact-form-7.php:370
|
100 |
-
msgid "Akismet"
|
101 |
-
msgstr "Akismet"
|
102 |
-
|
103 |
-
#: contact-form-7/wp-contact-form-7.php:371
|
104 |
-
msgid "This field requires author's name"
|
105 |
-
msgstr "Αυτό το πεδίο απαιτεί το όνομα του συντάκτη"
|
106 |
-
|
107 |
-
#: contact-form-7/wp-contact-form-7.php:372
|
108 |
-
msgid "This field requires author's URL"
|
109 |
-
msgstr "Αυτό το πεδίο απαιτεί το URL του συντάκτη"
|
110 |
-
|
111 |
-
#: contact-form-7/wp-contact-form-7.php:373
|
112 |
-
msgid "This field requires author's email address"
|
113 |
-
msgstr "Αυτό το πεδίο απαιτεί το email του συντάκτη"
|
114 |
-
|
115 |
-
#: contact-form-7/wp-contact-form-7.php:374
|
116 |
-
msgid "Copy and paste this code into the form"
|
117 |
-
msgstr "Αντιγράψτε και επικολλήστε αυτόν τον κώδικα στην φόρμα"
|
118 |
-
|
119 |
-
#: contact-form-7/wp-contact-form-7.php:375
|
120 |
-
msgid "Foreground color"
|
121 |
-
msgstr "Χρώμα στο προσκήνιο"
|
122 |
-
|
123 |
-
#: contact-form-7/wp-contact-form-7.php:376
|
124 |
-
msgid "Background color"
|
125 |
-
msgstr "Χρώμα στο φόντο"
|
126 |
-
|
127 |
-
#: contact-form-7/wp-contact-form-7.php:377
|
128 |
-
msgid "Image size"
|
129 |
-
msgstr "Μέγεθος εικόνας"
|
130 |
-
|
131 |
-
#: contact-form-7/wp-contact-form-7.php:378
|
132 |
-
msgid "Small"
|
133 |
-
msgstr "Μικρό"
|
134 |
-
|
135 |
-
#: contact-form-7/wp-contact-form-7.php:379
|
136 |
-
msgid "Medium"
|
137 |
-
msgstr "Μέτριο"
|
138 |
-
|
139 |
-
#: contact-form-7/wp-contact-form-7.php:380
|
140 |
-
msgid "Large"
|
141 |
-
msgstr "Μεγάλο"
|
142 |
-
|
143 |
-
#: contact-form-7/wp-contact-form-7.php:381
|
144 |
-
msgid "Image settings"
|
145 |
-
msgstr "Ρυθμίσεις εικόνας"
|
146 |
-
|
147 |
-
#: contact-form-7/wp-contact-form-7.php:382
|
148 |
-
msgid "Input field settings"
|
149 |
-
msgstr "Ρυθμίσεις πεδίου εισαγωγής"
|
150 |
-
|
151 |
-
#: contact-form-7/wp-contact-form-7.php:383
|
152 |
-
msgid "For image"
|
153 |
-
msgstr "Για την εικόνα"
|
154 |
-
|
155 |
-
#: contact-form-7/wp-contact-form-7.php:384
|
156 |
-
msgid "For input field"
|
157 |
-
msgstr "Για το πεδίο εισαγωγής"
|
158 |
-
|
159 |
-
#: contact-form-7/wp-contact-form-7.php:385
|
160 |
-
msgid "* One choice per line."
|
161 |
-
msgstr "* Μια επιλογή ανα γραμμή."
|
162 |
-
|
163 |
-
#: contact-form-7/wp-contact-form-7.php:404
|
164 |
-
msgid "Contact form created."
|
165 |
-
msgstr "Η φόρμα επικοινωνίας δημιουργήθηκε."
|
166 |
-
|
167 |
-
#: contact-form-7/wp-contact-form-7.php:407
|
168 |
-
msgid "Contact form saved."
|
169 |
-
msgstr "Η φόρμα επικοινωνίας αποθηκεύτηκε."
|
170 |
-
|
171 |
-
#: contact-form-7/wp-contact-form-7.php:410
|
172 |
-
msgid "Contact form deleted."
|
173 |
-
msgstr "Η φόρμα επικοινωνίας διαγράφηκε."
|
174 |
-
|
175 |
-
#: contact-form-7/wp-contact-form-7.php:417
|
176 |
-
msgid "Untitled"
|
177 |
-
msgstr "Χωρίς όνομα"
|
178 |
-
|
179 |
-
#: contact-form-7/wp-contact-form-7.php:441
|
180 |
-
msgid "Your Name"
|
181 |
-
msgstr "Το Όνομά σας"
|
182 |
-
|
183 |
-
#: contact-form-7/wp-contact-form-7.php:441
|
184 |
-
#: contact-form-7/wp-contact-form-7.php:443
|
185 |
-
msgid "(required)"
|
186 |
-
msgstr "(υποχρεωτικό)"
|
187 |
-
|
188 |
-
#: contact-form-7/wp-contact-form-7.php:443
|
189 |
-
msgid "Your Email"
|
190 |
-
msgstr "Το Email σας"
|
191 |
-
|
192 |
-
#: contact-form-7/wp-contact-form-7.php:445
|
193 |
-
msgid "Subject"
|
194 |
-
msgstr "Θέμα"
|
195 |
-
|
196 |
-
#: contact-form-7/wp-contact-form-7.php:447
|
197 |
-
msgid "Your Message"
|
198 |
-
msgstr "Το Μήνυμά σας"
|
199 |
-
|
200 |
-
#: contact-form-7/wp-contact-form-7.php:449
|
201 |
-
#: contact-form-7/wp-contact-form-7.php:893
|
202 |
-
msgid "Send"
|
203 |
-
msgstr "Αποστολή"
|
204 |
-
|
205 |
-
#: contact-form-7/wp-contact-form-7.php:478
|
206 |
-
msgid "Your message was sent successfully. Thanks."
|
207 |
-
msgstr "Το μήνυμά σας στάλθηκε με επιτυχία. Ευχαριστούμε."
|
208 |
-
|
209 |
-
#: contact-form-7/wp-contact-form-7.php:480
|
210 |
-
msgid "Failed to send your message. Please try later or contact administrator by other way."
|
211 |
-
msgstr "Η αποστολή του μηνύματος απέτυχε. Δοκιμάστε αργότερα ή επικοινωνήστε με τον διαχειριστή με κάποιον άλλο τρόπο."
|
212 |
-
|
213 |
-
#: contact-form-7/wp-contact-form-7.php:482
|
214 |
-
msgid "Validation errors occurred. Please confirm the fields and submit it again."
|
215 |
-
msgstr "Παρουσιάστηκαν σφάλματα επαλήθευσης. Επιβεβαιώστε την σωστή συμπλήρωση των πεδίων και δοκιμάστε ξανά."
|
216 |
-
|
217 |
-
#: contact-form-7/wp-contact-form-7.php:484
|
218 |
-
msgid "Email address seems invalid."
|
219 |
-
msgstr "Η διεύθυνση email δεν είναι έγκυρη."
|
220 |
-
|
221 |
-
#: contact-form-7/wp-contact-form-7.php:486
|
222 |
-
msgid "Please fill the required field."
|
223 |
-
msgstr "Παρακαλώ συμπληρώστε το υποχρεωτικό πεδίο"
|
224 |
-
|
225 |
-
#: contact-form-7/wp-contact-form-7.php:488
|
226 |
-
msgid "Your entered code is incorrect."
|
227 |
-
msgstr "Ο κωδικός που πληκτρολογήσατε δεν είναι σωστός."
|
228 |
-
|
229 |
-
#: contact-form-7/includes/admin-panel.php:15
|
230 |
-
msgid "Add new"
|
231 |
-
msgstr "Προσθήκη νέας"
|
232 |
-
|
233 |
-
#: contact-form-7/includes/admin-panel.php:28
|
234 |
-
msgid "Copy and paste this code into your post content."
|
235 |
-
msgstr "Αντιγράψτε και επικολλήστε αυτόν τον κώδικα στο περιεχόμενο της δημοσίευσής σας"
|
236 |
-
|
237 |
-
#: contact-form-7/includes/admin-panel.php:33
|
238 |
-
msgid "Form"
|
239 |
-
msgstr "Φόρμα"
|
240 |
-
|
241 |
-
#: contact-form-7/includes/admin-panel.php:37
|
242 |
-
msgid "Mail"
|
243 |
-
msgstr "Μήνυμα"
|
244 |
-
|
245 |
-
#: contact-form-7/includes/admin-panel.php:39
|
246 |
-
#: contact-form-7/includes/admin-panel.php:60
|
247 |
-
msgid "To:"
|
248 |
-
msgstr "Προς:"
|
249 |
-
|
250 |
-
#: contact-form-7/includes/admin-panel.php:43
|
251 |
-
#: contact-form-7/includes/admin-panel.php:64
|
252 |
-
msgid "From:"
|
253 |
-
msgstr "Από:"
|
254 |
-
|
255 |
-
#: contact-form-7/includes/admin-panel.php:47
|
256 |
-
#: contact-form-7/includes/admin-panel.php:68
|
257 |
-
msgid "Subject:"
|
258 |
-
msgstr "Θέμα:"
|
259 |
-
|
260 |
-
#: contact-form-7/includes/admin-panel.php:51
|
261 |
-
#: contact-form-7/includes/admin-panel.php:72
|
262 |
-
msgid "Message body:"
|
263 |
-
msgstr "Σώμα μηνύματος:"
|
264 |
-
|
265 |
-
#: contact-form-7/includes/admin-panel.php:56
|
266 |
-
msgid "Mail (2)"
|
267 |
-
msgstr "Δεύτερο μήνυμα"
|
268 |
-
|
269 |
-
#: contact-form-7/includes/admin-panel.php:58
|
270 |
-
msgid "Use mail (2)"
|
271 |
-
msgstr "Χρήση δεύτερου μηνύματος"
|
272 |
-
|
273 |
-
#: contact-form-7/includes/admin-panel.php:80
|
274 |
-
msgid "Save"
|
275 |
-
msgstr "Αποθήκευση"
|
276 |
-
|
277 |
-
#: contact-form-7/includes/admin-panel.php:86
|
278 |
-
msgid "Delete this contact form"
|
279 |
-
msgstr "Διαγραφή αυτής της φόρμας επικοινωνίας"
|
280 |
-
|
281 |
-
#: contact-form-7/includes/admin-panel.php:87
|
282 |
-
msgid ""
|
283 |
-
"You are about to delete this contact form.\n"
|
284 |
-
" 'Cancel' to stop, 'OK' to delete."
|
285 |
-
msgstr ""
|
286 |
-
"Αυτή η φόρμα επικοινωνίας θα διαγραφεί.\n"
|
287 |
-
" 'Cancel' για ακύρωση, 'OK' για διαγραφή."
|
288 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
languages/wpcf7-ja.mo
CHANGED
Binary file
|
languages/wpcf7-ja.po
CHANGED
@@ -2,9 +2,9 @@ msgid ""
|
|
2 |
msgstr ""
|
3 |
"Project-Id-Version: Contact Form 7\n"
|
4 |
"Report-Msgid-Bugs-To: \n"
|
5 |
-
"POT-Creation-Date: 2009-
|
6 |
-
"PO-Revision-Date: 2009-
|
7 |
-
"Last-Translator:
|
8 |
"Language-Team: Takayuki Miyoshi <takayukister@gmail.com>\n"
|
9 |
"MIME-Version: 1.0\n"
|
10 |
"Content-Type: text/plain; charset=UTF-8\n"
|
@@ -17,37 +17,33 @@ msgstr ""
|
|
17 |
"Plural-Forms: nplurals=1; plural=0;\n"
|
18 |
"X-Poedit-SearchPath-0: contact-form-7\n"
|
19 |
|
20 |
-
#: contact-form-7/
|
21 |
-
|
22 |
-
msgstr "コンタクトフォーム"
|
23 |
-
|
24 |
-
#: contact-form-7/admin/admin-panel.php:6
|
25 |
-
#: contact-form-7/admin/admin.php:111
|
26 |
msgid "Contact Form 7"
|
27 |
msgstr "Contact Form 7"
|
28 |
|
29 |
-
#: contact-form-7/admin/admin-panel.php:
|
30 |
msgid "Add new"
|
31 |
msgstr "新規追加"
|
32 |
|
33 |
-
#: contact-form-7/admin/admin-panel.php:
|
34 |
msgid "Copy this code and paste it into your post, page or text widget content."
|
35 |
msgstr "このコードをコピーして、投稿、ページ、またはテキストウィジェットの本文内にペーストしてください。"
|
36 |
|
37 |
-
#: contact-form-7/admin/admin-panel.php:
|
38 |
-
#: contact-form-7/admin/admin-panel.php:
|
39 |
msgid "Save"
|
40 |
msgstr "保存"
|
41 |
|
42 |
-
#: contact-form-7/admin/admin-panel.php:
|
43 |
msgid "Copy"
|
44 |
msgstr "複製"
|
45 |
|
46 |
-
#: contact-form-7/admin/admin-panel.php:
|
47 |
msgid "Delete"
|
48 |
msgstr "削除 "
|
49 |
|
50 |
-
#: contact-form-7/admin/admin-panel.php:
|
51 |
msgid ""
|
52 |
"You are about to delete this contact form.\n"
|
53 |
" 'Cancel' to stop, 'OK' to delete."
|
@@ -55,375 +51,352 @@ msgstr ""
|
|
55 |
"このコンタクトフォームを削除しようとしています。\n"
|
56 |
" 'キャンセル' で中止、 'OK' で削除します。"
|
57 |
|
58 |
-
#: contact-form-7/admin/admin-panel.php:
|
59 |
msgid "Form"
|
60 |
msgstr "フォーム"
|
61 |
|
62 |
-
#: contact-form-7/admin/admin-panel.php:
|
63 |
msgid "Mail"
|
64 |
msgstr "メール"
|
65 |
|
66 |
-
#: contact-form-7/admin/admin-panel.php:
|
67 |
-
#: contact-form-7/admin/admin-panel.php:
|
68 |
msgid "To:"
|
69 |
msgstr "宛先:"
|
70 |
|
71 |
-
#: contact-form-7/admin/admin-panel.php:
|
72 |
-
#: contact-form-7/admin/admin-panel.php:
|
73 |
msgid "From:"
|
74 |
msgstr "差出人:"
|
75 |
|
76 |
-
#: contact-form-7/admin/admin-panel.php:
|
77 |
-
#: contact-form-7/admin/admin-panel.php:
|
78 |
msgid "Subject:"
|
79 |
msgstr "件名:"
|
80 |
|
81 |
-
#: contact-form-7/admin/admin-panel.php:
|
82 |
-
#: contact-form-7/admin/admin-panel.php:
|
83 |
msgid "Additional headers:"
|
84 |
msgstr "追加ヘッダー:"
|
85 |
|
86 |
-
#: contact-form-7/admin/admin-panel.php:
|
87 |
-
#: contact-form-7/admin/admin-panel.php:
|
88 |
msgid "File attachments:"
|
89 |
msgstr "ファイル添付:"
|
90 |
|
91 |
-
#: contact-form-7/admin/admin-panel.php:
|
92 |
-
#: contact-form-7/admin/admin-panel.php:
|
93 |
-
msgid "(You need WordPress 2.7 or greater to use this feature)"
|
94 |
-
msgstr "(この機能を使うためには WordPress 2.7 以上が必要です)"
|
95 |
-
|
96 |
-
#: contact-form-7/admin/admin-panel.php:132
|
97 |
-
#: contact-form-7/admin/admin-panel.php:188
|
98 |
msgid "Use HTML content type"
|
99 |
msgstr "HTML 形式のメールを使用する"
|
100 |
|
101 |
-
#: contact-form-7/admin/admin-panel.php:
|
102 |
-
#: contact-form-7/admin/admin-panel.php:
|
103 |
msgid "Message body:"
|
104 |
msgstr "メッセージ本文:"
|
105 |
|
106 |
-
#: contact-form-7/admin/admin-panel.php:
|
107 |
msgid "Mail (2)"
|
108 |
msgstr "メール (2)"
|
109 |
|
110 |
-
#: contact-form-7/admin/admin-panel.php:
|
111 |
msgid "Use mail (2)"
|
112 |
msgstr "メール (2) を使う"
|
113 |
|
114 |
-
#: contact-form-7/admin/admin-panel.php:
|
115 |
msgid "Messages"
|
116 |
msgstr "メッセージ"
|
117 |
|
118 |
-
#: contact-form-7/admin/admin-panel.php:
|
119 |
msgid "Sender's message was sent successfully"
|
120 |
msgstr "メッセージが正常に送信された"
|
121 |
|
122 |
-
#: contact-form-7/admin/admin-panel.php:
|
123 |
msgid "Sender's message was failed to send"
|
124 |
msgstr "メッセージの送信に失敗した"
|
125 |
|
126 |
-
#: contact-form-7/admin/admin-panel.php:
|
127 |
msgid "Akismet judged the sending activity as spamming"
|
128 |
msgstr "Akismet によりスパム行為と判定された"
|
129 |
|
130 |
-
#: contact-form-7/admin/admin-panel.php:
|
131 |
msgid "Validation errors occurred"
|
132 |
msgstr "入力内容に不備が見つかった"
|
133 |
|
134 |
-
#: contact-form-7/admin/admin-panel.php:
|
135 |
msgid "There is a field that sender is needed to fill in"
|
136 |
msgstr "入力必須の項目が入力されていない"
|
137 |
|
138 |
-
#: contact-form-7/admin/admin-panel.php:
|
139 |
msgid "Email address that sender entered is invalid"
|
140 |
msgstr "入力されたメールアドレスの形式が正しくない"
|
141 |
|
142 |
-
#: contact-form-7/admin/admin-panel.php:
|
143 |
msgid "There is a field of term that sender is needed to accept"
|
144 |
msgstr "承諾が必要な項目が承諾されていない"
|
145 |
|
146 |
-
#: contact-form-7/admin/admin-panel.php:
|
147 |
msgid "Sender doesn't enter the correct answer to the quiz"
|
148 |
msgstr "クイズに対する正しい答えが入力されなかった"
|
149 |
|
150 |
-
#: contact-form-7/admin/admin-panel.php:
|
151 |
msgid "The code that sender entered does not match the CAPTCHA"
|
152 |
msgstr "入力されたコードが CAPTCHA に適合していない"
|
153 |
|
154 |
-
#: contact-form-7/admin/admin-panel.php:
|
155 |
msgid "Uploading a file fails for any reason"
|
156 |
msgstr "ファイルのアップロードが何らかの理由により失敗している"
|
157 |
|
158 |
-
#: contact-form-7/admin/admin-panel.php:
|
159 |
msgid "Uploaded file is not allowed file type"
|
160 |
msgstr "アップロードされたファイルが許可されたファイル形式に適合しない"
|
161 |
|
162 |
-
#: contact-form-7/admin/admin-panel.php:
|
163 |
msgid "Uploaded file is too large"
|
164 |
msgstr "アップロードされたファイルが大きすぎる"
|
165 |
|
166 |
-
#: contact-form-7/admin/admin-panel.php:
|
167 |
msgid "Additional Settings"
|
168 |
msgstr "その他の設定"
|
169 |
|
170 |
-
#: contact-form-7/admin/admin.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
171 |
msgid "optional"
|
172 |
msgstr "オプション"
|
173 |
|
174 |
-
#: contact-form-7/admin/admin.php:
|
175 |
msgid "Generate Tag"
|
176 |
msgstr "タグの作成"
|
177 |
|
178 |
-
#: contact-form-7/admin/admin.php:
|
179 |
msgid "Text field"
|
180 |
msgstr "テキスト項目"
|
181 |
|
182 |
-
#: contact-form-7/admin/admin.php:
|
183 |
msgid "Email field"
|
184 |
msgstr "メールアドレス項目"
|
185 |
|
186 |
-
#: contact-form-7/admin/admin.php:
|
187 |
msgid "Text area"
|
188 |
msgstr "テキストエリア"
|
189 |
|
190 |
-
#: contact-form-7/admin/admin.php:
|
191 |
msgid "Drop-down menu"
|
192 |
msgstr "ドロップダウン・メニュー"
|
193 |
|
194 |
-
#: contact-form-7/admin/admin.php:
|
195 |
msgid "Checkboxes"
|
196 |
msgstr "チェックボックス"
|
197 |
|
198 |
-
#: contact-form-7/admin/admin.php:
|
199 |
msgid "Radio buttons"
|
200 |
msgstr "ラジオボタン"
|
201 |
|
202 |
-
#: contact-form-7/admin/admin.php:
|
203 |
msgid "Acceptance"
|
204 |
msgstr "承諾の確認"
|
205 |
|
206 |
-
#: contact-form-7/admin/admin.php:
|
207 |
msgid "Make this checkbox checked by default?"
|
208 |
msgstr "初期状態でチェックボックスにチェックを入れますか?"
|
209 |
|
210 |
-
#: contact-form-7/admin/admin.php:
|
211 |
msgid "Make this checkbox work inversely?"
|
212 |
msgstr "チェックボックスを反転させますか?"
|
213 |
|
214 |
-
#: contact-form-7/admin/admin.php:
|
215 |
msgid "* That means visitor who accepts the term unchecks it."
|
216 |
msgstr "* つまり、利用者には条項に承諾する場合にチェックボックスのチェックをはずしてもらいます。"
|
217 |
|
218 |
-
#: contact-form-7/admin/admin.php:
|
219 |
msgid "CAPTCHA"
|
220 |
msgstr "CAPTCHA"
|
221 |
|
222 |
-
#: contact-form-7/admin/admin.php:
|
223 |
msgid "Quiz"
|
224 |
msgstr "クイズ"
|
225 |
|
226 |
-
#: contact-form-7/admin/admin.php:
|
227 |
msgid "Quizzes"
|
228 |
msgstr "質問と答え"
|
229 |
|
230 |
-
#: contact-form-7/admin/admin.php:
|
231 |
msgid "* quiz|answer (e.g. 1+1=?|2)"
|
232 |
msgstr "* 質問|答え (例: 1+1=?|2)"
|
233 |
|
234 |
-
#: contact-form-7/admin/admin.php:
|
235 |
msgid "File upload"
|
236 |
msgstr "ファイルのアップロード"
|
237 |
|
238 |
-
#: contact-form-7/admin/admin.php:
|
239 |
msgid "bytes"
|
240 |
msgstr "バイト"
|
241 |
|
242 |
-
#: contact-form-7/admin/admin.php:
|
243 |
msgid "Submit button"
|
244 |
msgstr "送信ボタン"
|
245 |
|
246 |
-
#: contact-form-7/admin/admin.php:
|
247 |
msgid "Name"
|
248 |
msgstr "名前"
|
249 |
|
250 |
-
#: contact-form-7/admin/admin.php:
|
251 |
msgid "Required field?"
|
252 |
msgstr "必須入力の項目ですか?"
|
253 |
|
254 |
-
#: contact-form-7/admin/admin.php:
|
255 |
msgid "Allow multiple selections?"
|
256 |
msgstr "複数選択を可能にしますか?"
|
257 |
|
258 |
-
#: contact-form-7/admin/admin.php:
|
259 |
msgid "Insert a blank item as the first option?"
|
260 |
msgstr "先頭に空の項目を挿入しますか?"
|
261 |
|
262 |
-
#: contact-form-7/admin/admin.php:
|
263 |
msgid "Make checkboxes exclusive?"
|
264 |
msgstr "チェックボックスを排他化しますか?"
|
265 |
|
266 |
-
#: contact-form-7/admin/admin.php:
|
267 |
msgid "Choices"
|
268 |
msgstr "選択項目"
|
269 |
|
270 |
-
#: contact-form-7/admin/admin.php:
|
271 |
msgid "Label"
|
272 |
msgstr "ラベル"
|
273 |
|
274 |
-
#: contact-form-7/admin/admin.php:
|
275 |
msgid "Default value"
|
276 |
msgstr "デフォルト値"
|
277 |
|
278 |
-
#: contact-form-7/admin/admin.php:
|
279 |
msgid "Akismet"
|
280 |
msgstr "Akismet"
|
281 |
|
282 |
-
#: contact-form-7/admin/admin.php:
|
283 |
msgid "This field requires author's name"
|
284 |
msgstr "送信者の名前の入力を要求する項目"
|
285 |
|
286 |
-
#: contact-form-7/admin/admin.php:
|
287 |
msgid "This field requires author's URL"
|
288 |
msgstr "送信者の URL の入力を要求する項目"
|
289 |
|
290 |
-
#: contact-form-7/admin/admin.php:
|
291 |
msgid "This field requires author's email address"
|
292 |
msgstr "送信者のメールアドレスの入力を要求する項目"
|
293 |
|
294 |
-
#: contact-form-7/admin/admin.php:
|
295 |
msgid "Copy this code and paste it into the form left."
|
296 |
msgstr "このコードをコピーして、左のフォーム内にペーストしてください。"
|
297 |
|
298 |
-
#: contact-form-7/admin/admin.php:
|
299 |
msgid "Foreground color"
|
300 |
msgstr "文字色"
|
301 |
|
302 |
-
#: contact-form-7/admin/admin.php:
|
303 |
msgid "Background color"
|
304 |
msgstr "背景色"
|
305 |
|
306 |
-
#: contact-form-7/admin/admin.php:
|
307 |
msgid "Image size"
|
308 |
msgstr "画像サイズ"
|
309 |
|
310 |
-
#: contact-form-7/admin/admin.php:
|
311 |
msgid "Small"
|
312 |
msgstr "小"
|
313 |
|
314 |
-
#: contact-form-7/admin/admin.php:
|
315 |
msgid "Medium"
|
316 |
msgstr "中"
|
317 |
|
318 |
-
#: contact-form-7/admin/admin.php:
|
319 |
msgid "Large"
|
320 |
msgstr "大"
|
321 |
|
322 |
-
#: contact-form-7/admin/admin.php:
|
323 |
msgid "Image settings"
|
324 |
msgstr "画像の設定"
|
325 |
|
326 |
-
#: contact-form-7/admin/admin.php:
|
327 |
msgid "Input field settings"
|
328 |
msgstr "入力項目の設定"
|
329 |
|
330 |
-
#: contact-form-7/admin/admin.php:
|
331 |
msgid "For image"
|
332 |
msgstr "画像"
|
333 |
|
334 |
-
#: contact-form-7/admin/admin.php:
|
335 |
msgid "For input field"
|
336 |
msgstr "入力項目"
|
337 |
|
338 |
-
#: contact-form-7/admin/admin.php:
|
339 |
msgid "* One choice per line."
|
340 |
msgstr "* 1行ごとに分けて入力してください。"
|
341 |
|
342 |
-
#: contact-form-7/admin/admin.php:
|
343 |
msgid "Show"
|
344 |
msgstr "表示"
|
345 |
|
346 |
-
#: contact-form-7/admin/admin.php:
|
347 |
msgid "Hide"
|
348 |
msgstr "非表示"
|
349 |
|
350 |
-
#: contact-form-7/admin/admin.php:
|
351 |
msgid "File size limit"
|
352 |
msgstr "ファイルサイズの上限"
|
353 |
|
354 |
-
#: contact-form-7/admin/admin.php:
|
355 |
msgid "Acceptable file types"
|
356 |
msgstr "受け入れ可能なファイル形式"
|
357 |
|
358 |
-
#: contact-form-7/admin/admin.php:
|
359 |
msgid "Note: To use CAPTCHA, you need Really Simple CAPTCHA plugin installed."
|
360 |
msgstr "お知らせ: CAPTCHA を使うには Really Simple CAPTCHA プラグインのインストールが必要です。"
|
361 |
|
362 |
-
#: contact-form-7/admin/admin.php:
|
363 |
msgid "Contact form created."
|
364 |
msgstr "コンタクトフォームが作成されました。"
|
365 |
|
366 |
-
#: contact-form-7/admin/admin.php:
|
367 |
msgid "Contact form saved."
|
368 |
msgstr "コンタクトフォームが保存されました。"
|
369 |
|
370 |
-
#: contact-form-7/admin/admin.php:
|
371 |
msgid "Contact form deleted."
|
372 |
msgstr "コンタクトフォームが削除されました。"
|
373 |
|
374 |
-
#: contact-form-7/admin/admin.php:
|
375 |
-
msgid "
|
376 |
-
msgstr "
|
377 |
-
|
378 |
-
#: contact-form-7/admin/admin.php:253
|
379 |
-
msgid "Your Name"
|
380 |
-
msgstr "お名前"
|
381 |
-
|
382 |
-
#: contact-form-7/admin/admin.php:253
|
383 |
-
#: contact-form-7/admin/admin.php:255
|
384 |
-
msgid "(required)"
|
385 |
-
msgstr "(必須)"
|
386 |
-
|
387 |
-
#: contact-form-7/admin/admin.php:255
|
388 |
-
msgid "Your Email"
|
389 |
-
msgstr "メールアドレス"
|
390 |
-
|
391 |
-
#: contact-form-7/admin/admin.php:257
|
392 |
-
msgid "Subject"
|
393 |
-
msgstr "題名"
|
394 |
-
|
395 |
-
#: contact-form-7/admin/admin.php:259
|
396 |
-
msgid "Your Message"
|
397 |
-
msgstr "メッセージ本文"
|
398 |
-
|
399 |
-
#: contact-form-7/admin/admin.php:261
|
400 |
-
#: contact-form-7/includes/classes.php:411
|
401 |
-
msgid "Send"
|
402 |
-
msgstr "送信"
|
403 |
|
404 |
-
#: contact-form-7/admin/admin.php:
|
405 |
msgid "Settings"
|
406 |
msgstr "設定"
|
407 |
|
408 |
-
#: contact-form-7/admin/admin.php:
|
409 |
msgid "Contact Form 7 needs your support. Please donate today."
|
410 |
msgstr "Contact Form 7 はあなたの支援を必要としています。寄付をお願いします。"
|
411 |
|
412 |
-
#: contact-form-7/admin/admin.php:
|
413 |
msgid "Is this plugin useful for you? If you like it, please help the developer."
|
414 |
msgstr "このプラグインは役に立っていますか? プラグインの開発を続けるためにあなたの支援が必要です。"
|
415 |
|
416 |
-
#: contact-form-7/admin/admin.php:
|
417 |
msgid "Your contribution is needed for making this plugin better."
|
418 |
msgstr "あなたの貢献があればこのプラグインをもっと良くすることができます。"
|
419 |
|
420 |
-
#: contact-form-7/admin/admin.php:
|
421 |
msgid "Developing a plugin and providing user support is really hard work. Please help."
|
422 |
msgstr "プラグインを開発してユーザーサポートを提供するというのはとても大変な仕事です。ちょっとでいいから助けてください。"
|
423 |
|
424 |
-
#: contact-form-7/includes/classes.php:
|
425 |
-
msgid "
|
426 |
-
msgstr "
|
427 |
|
428 |
#: contact-form-7/includes/functions.php:6
|
429 |
msgid "Your message was sent successfully. Thanks."
|
@@ -470,6 +443,38 @@ msgstr "許可されていないファイル形式です。"
|
|
470 |
msgid "This file is too large."
|
471 |
msgstr "ファイルが大きすぎます。"
|
472 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
473 |
#~ msgid "Delete this contact form"
|
474 |
#~ msgstr "このコンタクトフォームを削除"
|
475 |
|
2 |
msgstr ""
|
3 |
"Project-Id-Version: Contact Form 7\n"
|
4 |
"Report-Msgid-Bugs-To: \n"
|
5 |
+
"POT-Creation-Date: 2009-07-16 00:33+0900\n"
|
6 |
+
"PO-Revision-Date: 2009-07-16 00:40+0900\n"
|
7 |
+
"Last-Translator: \n"
|
8 |
"Language-Team: Takayuki Miyoshi <takayukister@gmail.com>\n"
|
9 |
"MIME-Version: 1.0\n"
|
10 |
"Content-Type: text/plain; charset=UTF-8\n"
|
17 |
"Plural-Forms: nplurals=1; plural=0;\n"
|
18 |
"X-Poedit-SearchPath-0: contact-form-7\n"
|
19 |
|
20 |
+
#: contact-form-7/admin/admin-panel.php:3
|
21 |
+
#: contact-form-7/admin/admin.php:102
|
|
|
|
|
|
|
|
|
22 |
msgid "Contact Form 7"
|
23 |
msgstr "Contact Form 7"
|
24 |
|
25 |
+
#: contact-form-7/admin/admin-panel.php:18
|
26 |
msgid "Add new"
|
27 |
msgstr "新規追加"
|
28 |
|
29 |
+
#: contact-form-7/admin/admin-panel.php:40
|
30 |
msgid "Copy this code and paste it into your post, page or text widget content."
|
31 |
msgstr "このコードをコピーして、投稿、ページ、またはテキストウィジェットの本文内にペーストしてください。"
|
32 |
|
33 |
+
#: contact-form-7/admin/admin-panel.php:47
|
34 |
+
#: contact-form-7/admin/admin-panel.php:279
|
35 |
msgid "Save"
|
36 |
msgstr "保存"
|
37 |
|
38 |
+
#: contact-form-7/admin/admin-panel.php:54
|
39 |
msgid "Copy"
|
40 |
msgstr "複製"
|
41 |
|
42 |
+
#: contact-form-7/admin/admin-panel.php:58
|
43 |
msgid "Delete"
|
44 |
msgstr "削除 "
|
45 |
|
46 |
+
#: contact-form-7/admin/admin-panel.php:60
|
47 |
msgid ""
|
48 |
"You are about to delete this contact form.\n"
|
49 |
" 'Cancel' to stop, 'OK' to delete."
|
51 |
"このコンタクトフォームを削除しようとしています。\n"
|
52 |
" 'キャンセル' で中止、 'OK' で削除します。"
|
53 |
|
54 |
+
#: contact-form-7/admin/admin-panel.php:75
|
55 |
msgid "Form"
|
56 |
msgstr "フォーム"
|
57 |
|
58 |
+
#: contact-form-7/admin/admin-panel.php:95
|
59 |
msgid "Mail"
|
60 |
msgstr "メール"
|
61 |
|
62 |
+
#: contact-form-7/admin/admin-panel.php:102
|
63 |
+
#: contact-form-7/admin/admin-panel.php:155
|
64 |
msgid "To:"
|
65 |
msgstr "宛先:"
|
66 |
|
67 |
+
#: contact-form-7/admin/admin-panel.php:106
|
68 |
+
#: contact-form-7/admin/admin-panel.php:159
|
69 |
msgid "From:"
|
70 |
msgstr "差出人:"
|
71 |
|
72 |
+
#: contact-form-7/admin/admin-panel.php:110
|
73 |
+
#: contact-form-7/admin/admin-panel.php:163
|
74 |
msgid "Subject:"
|
75 |
msgstr "件名:"
|
76 |
|
77 |
+
#: contact-form-7/admin/admin-panel.php:115
|
78 |
+
#: contact-form-7/admin/admin-panel.php:168
|
79 |
msgid "Additional headers:"
|
80 |
msgstr "追加ヘッダー:"
|
81 |
|
82 |
+
#: contact-form-7/admin/admin-panel.php:119
|
83 |
+
#: contact-form-7/admin/admin-panel.php:172
|
84 |
msgid "File attachments:"
|
85 |
msgstr "ファイル添付:"
|
86 |
|
87 |
+
#: contact-form-7/admin/admin-panel.php:126
|
88 |
+
#: contact-form-7/admin/admin-panel.php:179
|
|
|
|
|
|
|
|
|
|
|
89 |
msgid "Use HTML content type"
|
90 |
msgstr "HTML 形式のメールを使用する"
|
91 |
|
92 |
+
#: contact-form-7/admin/admin-panel.php:131
|
93 |
+
#: contact-form-7/admin/admin-panel.php:184
|
94 |
msgid "Message body:"
|
95 |
msgstr "メッセージ本文:"
|
96 |
|
97 |
+
#: contact-form-7/admin/admin-panel.php:142
|
98 |
msgid "Mail (2)"
|
99 |
msgstr "メール (2)"
|
100 |
|
101 |
+
#: contact-form-7/admin/admin-panel.php:149
|
102 |
msgid "Use mail (2)"
|
103 |
msgstr "メール (2) を使う"
|
104 |
|
105 |
+
#: contact-form-7/admin/admin-panel.php:195
|
106 |
msgid "Messages"
|
107 |
msgstr "メッセージ"
|
108 |
|
109 |
+
#: contact-form-7/admin/admin-panel.php:203
|
110 |
msgid "Sender's message was sent successfully"
|
111 |
msgstr "メッセージが正常に送信された"
|
112 |
|
113 |
+
#: contact-form-7/admin/admin-panel.php:207
|
114 |
msgid "Sender's message was failed to send"
|
115 |
msgstr "メッセージの送信に失敗した"
|
116 |
|
117 |
+
#: contact-form-7/admin/admin-panel.php:211
|
118 |
msgid "Akismet judged the sending activity as spamming"
|
119 |
msgstr "Akismet によりスパム行為と判定された"
|
120 |
|
121 |
+
#: contact-form-7/admin/admin-panel.php:215
|
122 |
msgid "Validation errors occurred"
|
123 |
msgstr "入力内容に不備が見つかった"
|
124 |
|
125 |
+
#: contact-form-7/admin/admin-panel.php:219
|
126 |
msgid "There is a field that sender is needed to fill in"
|
127 |
msgstr "入力必須の項目が入力されていない"
|
128 |
|
129 |
+
#: contact-form-7/admin/admin-panel.php:223
|
130 |
msgid "Email address that sender entered is invalid"
|
131 |
msgstr "入力されたメールアドレスの形式が正しくない"
|
132 |
|
133 |
+
#: contact-form-7/admin/admin-panel.php:227
|
134 |
msgid "There is a field of term that sender is needed to accept"
|
135 |
msgstr "承諾が必要な項目が承諾されていない"
|
136 |
|
137 |
+
#: contact-form-7/admin/admin-panel.php:231
|
138 |
msgid "Sender doesn't enter the correct answer to the quiz"
|
139 |
msgstr "クイズに対する正しい答えが入力されなかった"
|
140 |
|
141 |
+
#: contact-form-7/admin/admin-panel.php:235
|
142 |
msgid "The code that sender entered does not match the CAPTCHA"
|
143 |
msgstr "入力されたコードが CAPTCHA に適合していない"
|
144 |
|
145 |
+
#: contact-form-7/admin/admin-panel.php:239
|
146 |
msgid "Uploading a file fails for any reason"
|
147 |
msgstr "ファイルのアップロードが何らかの理由により失敗している"
|
148 |
|
149 |
+
#: contact-form-7/admin/admin-panel.php:243
|
150 |
msgid "Uploaded file is not allowed file type"
|
151 |
msgstr "アップロードされたファイルが許可されたファイル形式に適合しない"
|
152 |
|
153 |
+
#: contact-form-7/admin/admin-panel.php:247
|
154 |
msgid "Uploaded file is too large"
|
155 |
msgstr "アップロードされたファイルが大きすぎる"
|
156 |
|
157 |
+
#: contact-form-7/admin/admin-panel.php:260
|
158 |
msgid "Additional Settings"
|
159 |
msgstr "その他の設定"
|
160 |
|
161 |
+
#: contact-form-7/admin/admin.php:105
|
162 |
+
msgid "Edit Contact Forms"
|
163 |
+
msgstr "コンタクトフォームの編集"
|
164 |
+
|
165 |
+
#: contact-form-7/admin/admin.php:105
|
166 |
+
msgid "Edit"
|
167 |
+
msgstr "編集"
|
168 |
+
|
169 |
+
#: contact-form-7/admin/admin.php:152
|
170 |
msgid "optional"
|
171 |
msgstr "オプション"
|
172 |
|
173 |
+
#: contact-form-7/admin/admin.php:153
|
174 |
msgid "Generate Tag"
|
175 |
msgstr "タグの作成"
|
176 |
|
177 |
+
#: contact-form-7/admin/admin.php:154
|
178 |
msgid "Text field"
|
179 |
msgstr "テキスト項目"
|
180 |
|
181 |
+
#: contact-form-7/admin/admin.php:155
|
182 |
msgid "Email field"
|
183 |
msgstr "メールアドレス項目"
|
184 |
|
185 |
+
#: contact-form-7/admin/admin.php:156
|
186 |
msgid "Text area"
|
187 |
msgstr "テキストエリア"
|
188 |
|
189 |
+
#: contact-form-7/admin/admin.php:157
|
190 |
msgid "Drop-down menu"
|
191 |
msgstr "ドロップダウン・メニュー"
|
192 |
|
193 |
+
#: contact-form-7/admin/admin.php:158
|
194 |
msgid "Checkboxes"
|
195 |
msgstr "チェックボックス"
|
196 |
|
197 |
+
#: contact-form-7/admin/admin.php:159
|
198 |
msgid "Radio buttons"
|
199 |
msgstr "ラジオボタン"
|
200 |
|
201 |
+
#: contact-form-7/admin/admin.php:160
|
202 |
msgid "Acceptance"
|
203 |
msgstr "承諾の確認"
|
204 |
|
205 |
+
#: contact-form-7/admin/admin.php:161
|
206 |
msgid "Make this checkbox checked by default?"
|
207 |
msgstr "初期状態でチェックボックスにチェックを入れますか?"
|
208 |
|
209 |
+
#: contact-form-7/admin/admin.php:162
|
210 |
msgid "Make this checkbox work inversely?"
|
211 |
msgstr "チェックボックスを反転させますか?"
|
212 |
|
213 |
+
#: contact-form-7/admin/admin.php:163
|
214 |
msgid "* That means visitor who accepts the term unchecks it."
|
215 |
msgstr "* つまり、利用者には条項に承諾する場合にチェックボックスのチェックをはずしてもらいます。"
|
216 |
|
217 |
+
#: contact-form-7/admin/admin.php:164
|
218 |
msgid "CAPTCHA"
|
219 |
msgstr "CAPTCHA"
|
220 |
|
221 |
+
#: contact-form-7/admin/admin.php:165
|
222 |
msgid "Quiz"
|
223 |
msgstr "クイズ"
|
224 |
|
225 |
+
#: contact-form-7/admin/admin.php:166
|
226 |
msgid "Quizzes"
|
227 |
msgstr "質問と答え"
|
228 |
|
229 |
+
#: contact-form-7/admin/admin.php:167
|
230 |
msgid "* quiz|answer (e.g. 1+1=?|2)"
|
231 |
msgstr "* 質問|答え (例: 1+1=?|2)"
|
232 |
|
233 |
+
#: contact-form-7/admin/admin.php:168
|
234 |
msgid "File upload"
|
235 |
msgstr "ファイルのアップロード"
|
236 |
|
237 |
+
#: contact-form-7/admin/admin.php:169
|
238 |
msgid "bytes"
|
239 |
msgstr "バイト"
|
240 |
|
241 |
+
#: contact-form-7/admin/admin.php:170
|
242 |
msgid "Submit button"
|
243 |
msgstr "送信ボタン"
|
244 |
|
245 |
+
#: contact-form-7/admin/admin.php:171
|
246 |
msgid "Name"
|
247 |
msgstr "名前"
|
248 |
|
249 |
+
#: contact-form-7/admin/admin.php:172
|
250 |
msgid "Required field?"
|
251 |
msgstr "必須入力の項目ですか?"
|
252 |
|
253 |
+
#: contact-form-7/admin/admin.php:173
|
254 |
msgid "Allow multiple selections?"
|
255 |
msgstr "複数選択を可能にしますか?"
|
256 |
|
257 |
+
#: contact-form-7/admin/admin.php:174
|
258 |
msgid "Insert a blank item as the first option?"
|
259 |
msgstr "先頭に空の項目を挿入しますか?"
|
260 |
|
261 |
+
#: contact-form-7/admin/admin.php:175
|
262 |
msgid "Make checkboxes exclusive?"
|
263 |
msgstr "チェックボックスを排他化しますか?"
|
264 |
|
265 |
+
#: contact-form-7/admin/admin.php:176
|
266 |
msgid "Choices"
|
267 |
msgstr "選択項目"
|
268 |
|
269 |
+
#: contact-form-7/admin/admin.php:177
|
270 |
msgid "Label"
|
271 |
msgstr "ラベル"
|
272 |
|
273 |
+
#: contact-form-7/admin/admin.php:178
|
274 |
msgid "Default value"
|
275 |
msgstr "デフォルト値"
|
276 |
|
277 |
+
#: contact-form-7/admin/admin.php:179
|
278 |
msgid "Akismet"
|
279 |
msgstr "Akismet"
|
280 |
|
281 |
+
#: contact-form-7/admin/admin.php:180
|
282 |
msgid "This field requires author's name"
|
283 |
msgstr "送信者の名前の入力を要求する項目"
|
284 |
|
285 |
+
#: contact-form-7/admin/admin.php:181
|
286 |
msgid "This field requires author's URL"
|
287 |
msgstr "送信者の URL の入力を要求する項目"
|
288 |
|
289 |
+
#: contact-form-7/admin/admin.php:182
|
290 |
msgid "This field requires author's email address"
|
291 |
msgstr "送信者のメールアドレスの入力を要求する項目"
|
292 |
|
293 |
+
#: contact-form-7/admin/admin.php:183
|
294 |
msgid "Copy this code and paste it into the form left."
|
295 |
msgstr "このコードをコピーして、左のフォーム内にペーストしてください。"
|
296 |
|
297 |
+
#: contact-form-7/admin/admin.php:184
|
298 |
msgid "Foreground color"
|
299 |
msgstr "文字色"
|
300 |
|
301 |
+
#: contact-form-7/admin/admin.php:185
|
302 |
msgid "Background color"
|
303 |
msgstr "背景色"
|
304 |
|
305 |
+
#: contact-form-7/admin/admin.php:186
|
306 |
msgid "Image size"
|
307 |
msgstr "画像サイズ"
|
308 |
|
309 |
+
#: contact-form-7/admin/admin.php:187
|
310 |
msgid "Small"
|
311 |
msgstr "小"
|
312 |
|
313 |
+
#: contact-form-7/admin/admin.php:188
|
314 |
msgid "Medium"
|
315 |
msgstr "中"
|
316 |
|
317 |
+
#: contact-form-7/admin/admin.php:189
|
318 |
msgid "Large"
|
319 |
msgstr "大"
|
320 |
|
321 |
+
#: contact-form-7/admin/admin.php:190
|
322 |
msgid "Image settings"
|
323 |
msgstr "画像の設定"
|
324 |
|
325 |
+
#: contact-form-7/admin/admin.php:191
|
326 |
msgid "Input field settings"
|
327 |
msgstr "入力項目の設定"
|
328 |
|
329 |
+
#: contact-form-7/admin/admin.php:192
|
330 |
msgid "For image"
|
331 |
msgstr "画像"
|
332 |
|
333 |
+
#: contact-form-7/admin/admin.php:193
|
334 |
msgid "For input field"
|
335 |
msgstr "入力項目"
|
336 |
|
337 |
+
#: contact-form-7/admin/admin.php:194
|
338 |
msgid "* One choice per line."
|
339 |
msgstr "* 1行ごとに分けて入力してください。"
|
340 |
|
341 |
+
#: contact-form-7/admin/admin.php:195
|
342 |
msgid "Show"
|
343 |
msgstr "表示"
|
344 |
|
345 |
+
#: contact-form-7/admin/admin.php:196
|
346 |
msgid "Hide"
|
347 |
msgstr "非表示"
|
348 |
|
349 |
+
#: contact-form-7/admin/admin.php:197
|
350 |
msgid "File size limit"
|
351 |
msgstr "ファイルサイズの上限"
|
352 |
|
353 |
+
#: contact-form-7/admin/admin.php:198
|
354 |
msgid "Acceptable file types"
|
355 |
msgstr "受け入れ可能なファイル形式"
|
356 |
|
357 |
+
#: contact-form-7/admin/admin.php:199
|
358 |
msgid "Note: To use CAPTCHA, you need Really Simple CAPTCHA plugin installed."
|
359 |
msgstr "お知らせ: CAPTCHA を使うには Really Simple CAPTCHA プラグインのインストールが必要です。"
|
360 |
|
361 |
+
#: contact-form-7/admin/admin.php:214
|
362 |
msgid "Contact form created."
|
363 |
msgstr "コンタクトフォームが作成されました。"
|
364 |
|
365 |
+
#: contact-form-7/admin/admin.php:217
|
366 |
msgid "Contact form saved."
|
367 |
msgstr "コンタクトフォームが保存されました。"
|
368 |
|
369 |
+
#: contact-form-7/admin/admin.php:220
|
370 |
msgid "Contact form deleted."
|
371 |
msgstr "コンタクトフォームが削除されました。"
|
372 |
|
373 |
+
#: contact-form-7/admin/admin.php:293
|
374 |
+
msgid "Contact form"
|
375 |
+
msgstr "コンタクトフォーム"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
376 |
|
377 |
+
#: contact-form-7/admin/admin.php:313
|
378 |
msgid "Settings"
|
379 |
msgstr "設定"
|
380 |
|
381 |
+
#: contact-form-7/admin/admin.php:334
|
382 |
msgid "Contact Form 7 needs your support. Please donate today."
|
383 |
msgstr "Contact Form 7 はあなたの支援を必要としています。寄付をお願いします。"
|
384 |
|
385 |
+
#: contact-form-7/admin/admin.php:335
|
386 |
msgid "Is this plugin useful for you? If you like it, please help the developer."
|
387 |
msgstr "このプラグインは役に立っていますか? プラグインの開発を続けるためにあなたの支援が必要です。"
|
388 |
|
389 |
+
#: contact-form-7/admin/admin.php:336
|
390 |
msgid "Your contribution is needed for making this plugin better."
|
391 |
msgstr "あなたの貢献があればこのプラグインをもっと良くすることができます。"
|
392 |
|
393 |
+
#: contact-form-7/admin/admin.php:337
|
394 |
msgid "Developing a plugin and providing user support is really hard work. Please help."
|
395 |
msgstr "プラグインを開発してユーザーサポートを提供するというのはとても大変な仕事です。ちょっとでいいから助けてください。"
|
396 |
|
397 |
+
#: contact-form-7/includes/classes.php:536
|
398 |
+
msgid "Untitled"
|
399 |
+
msgstr "無題"
|
400 |
|
401 |
#: contact-form-7/includes/functions.php:6
|
402 |
msgid "Your message was sent successfully. Thanks."
|
443 |
msgid "This file is too large."
|
444 |
msgstr "ファイルが大きすぎます。"
|
445 |
|
446 |
+
#: contact-form-7/includes/functions.php:33
|
447 |
+
msgid "Your Name"
|
448 |
+
msgstr "お名前"
|
449 |
+
|
450 |
+
#: contact-form-7/includes/functions.php:33
|
451 |
+
#: contact-form-7/includes/functions.php:35
|
452 |
+
msgid "(required)"
|
453 |
+
msgstr "(必須)"
|
454 |
+
|
455 |
+
#: contact-form-7/includes/functions.php:35
|
456 |
+
msgid "Your Email"
|
457 |
+
msgstr "メールアドレス"
|
458 |
+
|
459 |
+
#: contact-form-7/includes/functions.php:37
|
460 |
+
msgid "Subject"
|
461 |
+
msgstr "題名"
|
462 |
+
|
463 |
+
#: contact-form-7/includes/functions.php:39
|
464 |
+
msgid "Your Message"
|
465 |
+
msgstr "メッセージ本文"
|
466 |
+
|
467 |
+
#: contact-form-7/includes/functions.php:41
|
468 |
+
#: contact-form-7/modules/submit.php:37
|
469 |
+
msgid "Send"
|
470 |
+
msgstr "送信"
|
471 |
+
|
472 |
+
#: contact-form-7/modules/captcha.php:62
|
473 |
+
msgid "To use CAPTCHA, you need <a href=\"http://wordpress.org/extend/plugins/really-simple-captcha/\">Really Simple CAPTCHA</a> plugin installed."
|
474 |
+
msgstr "CAPTCHA を使うには <a href=\"http://wordpress.org/extend/plugins/really-simple-captcha/\">Really Simple CAPTCHA</a> プラグインのインストールが必要です。"
|
475 |
+
|
476 |
+
#~ msgid "(You need WordPress 2.7 or greater to use this feature)"
|
477 |
+
#~ msgstr "(この機能を使うためには WordPress 2.7 以上が必要です)"
|
478 |
#~ msgid "Delete this contact form"
|
479 |
#~ msgstr "このコンタクトフォームを削除"
|
480 |
|
languages/wpcf7-nl_NL.mo
CHANGED
Binary file
|
languages/wpcf7-nl_NL.po
CHANGED
@@ -1,168 +1,469 @@
|
|
1 |
-
|
2 |
-
|
3 |
-
|
4 |
-
|
5 |
-
"
|
6 |
-
"
|
7 |
-
"
|
8 |
-
"
|
9 |
-
"
|
10 |
-
"
|
11 |
-
"Content-
|
12 |
-
"
|
13 |
-
"X-Poedit-
|
14 |
-
"X-Poedit-
|
15 |
-
"X-Poedit-
|
16 |
-
|
17 |
-
|
18 |
-
"
|
19 |
-
|
20 |
-
|
21 |
-
#: contact-form-7/
|
22 |
-
#: contact-form-7/
|
23 |
-
msgid "Contact
|
24 |
-
msgstr "
|
25 |
-
|
26 |
-
#: contact-form-7/
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
#: contact-form-7/
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
-
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
|
94 |
-
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
-
|
101 |
-
|
102 |
-
|
103 |
-
|
104 |
-
|
105 |
-
|
106 |
-
|
107 |
-
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
|
112 |
-
|
113 |
-
|
114 |
-
|
115 |
-
|
116 |
-
|
117 |
-
|
118 |
-
|
119 |
-
|
120 |
-
|
121 |
-
|
122 |
-
|
123 |
-
|
124 |
-
|
125 |
-
|
126 |
-
|
127 |
-
|
128 |
-
|
129 |
-
|
130 |
-
|
131 |
-
|
132 |
-
|
133 |
-
|
134 |
-
|
135 |
-
|
136 |
-
|
137 |
-
|
138 |
-
|
139 |
-
|
140 |
-
|
141 |
-
|
142 |
-
|
143 |
-
|
144 |
-
|
145 |
-
"
|
146 |
-
|
147 |
-
|
148 |
-
|
149 |
-
|
150 |
-
|
151 |
-
|
152 |
-
|
153 |
-
|
154 |
-
|
155 |
-
|
156 |
-
|
157 |
-
|
158 |
-
|
159 |
-
|
160 |
-
|
161 |
-
|
162 |
-
|
163 |
-
|
164 |
-
|
165 |
-
|
166 |
-
|
167 |
-
|
168 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
msgid ""
|
2 |
+
msgstr ""
|
3 |
+
"Project-Id-Version: Contact Form 7 Nederlandse vertaling\n"
|
4 |
+
"Report-Msgid-Bugs-To: \n"
|
5 |
+
"POT-Creation-Date: 2009-05-31 23:05+0900\n"
|
6 |
+
"PO-Revision-Date: \n"
|
7 |
+
"Last-Translator: Martin Hein <martin@split-a-pixel.nl>\n"
|
8 |
+
"Language-Team: Martin Hein <martin@split-a-pixel.nl>\n"
|
9 |
+
"MIME-Version: 1.0\n"
|
10 |
+
"Content-Type: text/plain; charset=UTF-8\n"
|
11 |
+
"Content-Transfer-Encoding: 8bit\n"
|
12 |
+
"X-Poedit-Language: Dutch\n"
|
13 |
+
"X-Poedit-Country: Netherlands\n"
|
14 |
+
"X-Poedit-SourceCharset: utf-8\n"
|
15 |
+
"X-Poedit-KeywordsList: __\n"
|
16 |
+
|
17 |
+
#: contact-form-7/wp-contact-form-7.php:373
|
18 |
+
msgid "Contact form"
|
19 |
+
msgstr "Contactformulier"
|
20 |
+
|
21 |
+
#: contact-form-7/admin/admin-panel.php:6
|
22 |
+
#: contact-form-7/admin/admin.php:111
|
23 |
+
msgid "Contact Form 7"
|
24 |
+
msgstr "Contact Form 7"
|
25 |
+
|
26 |
+
#: contact-form-7/admin/admin-panel.php:21
|
27 |
+
msgid "Add new"
|
28 |
+
msgstr "Nieuwe toevoegen"
|
29 |
+
|
30 |
+
#: contact-form-7/admin/admin-panel.php:43
|
31 |
+
msgid "Copy this code and paste it into your post, page or text widget content."
|
32 |
+
msgstr "Kopieer deze code en plak hem in de inhoud van je bericht, pagina of widget."
|
33 |
+
|
34 |
+
#: contact-form-7/admin/admin-panel.php:50
|
35 |
+
#: contact-form-7/admin/admin-panel.php:290
|
36 |
+
msgid "Save"
|
37 |
+
msgstr "Opslaan"
|
38 |
+
|
39 |
+
#: contact-form-7/admin/admin-panel.php:57
|
40 |
+
msgid "Copy"
|
41 |
+
msgstr "Kopieren"
|
42 |
+
|
43 |
+
#: contact-form-7/admin/admin-panel.php:61
|
44 |
+
msgid "Delete"
|
45 |
+
msgstr "Verwijderen"
|
46 |
+
|
47 |
+
#: contact-form-7/admin/admin-panel.php:63
|
48 |
+
msgid ""
|
49 |
+
"You are about to delete this contact form.\n"
|
50 |
+
" 'Cancel' to stop, 'OK' to delete."
|
51 |
+
msgstr ""
|
52 |
+
"Je staat op het punt dit contactformulier te verwijderen.\n"
|
53 |
+
" 'Cancel' om te stoppen, 'OK' om te verwijderen."
|
54 |
+
|
55 |
+
#: contact-form-7/admin/admin-panel.php:78
|
56 |
+
msgid "Form"
|
57 |
+
msgstr "Formulier"
|
58 |
+
|
59 |
+
#: contact-form-7/admin/admin-panel.php:98
|
60 |
+
msgid "Mail"
|
61 |
+
msgstr "Mail"
|
62 |
+
|
63 |
+
#: contact-form-7/admin/admin-panel.php:105
|
64 |
+
#: contact-form-7/admin/admin-panel.php:161
|
65 |
+
msgid "To:"
|
66 |
+
msgstr "Aan:"
|
67 |
+
|
68 |
+
#: contact-form-7/admin/admin-panel.php:109
|
69 |
+
#: contact-form-7/admin/admin-panel.php:165
|
70 |
+
msgid "From:"
|
71 |
+
msgstr "Van:"
|
72 |
+
|
73 |
+
#: contact-form-7/admin/admin-panel.php:113
|
74 |
+
#: contact-form-7/admin/admin-panel.php:169
|
75 |
+
msgid "Subject:"
|
76 |
+
msgstr "Onderwerp:"
|
77 |
+
|
78 |
+
#: contact-form-7/admin/admin-panel.php:118
|
79 |
+
#: contact-form-7/admin/admin-panel.php:174
|
80 |
+
msgid "Additional headers:"
|
81 |
+
msgstr "Aanvullende headers:"
|
82 |
+
|
83 |
+
#: contact-form-7/admin/admin-panel.php:122
|
84 |
+
#: contact-form-7/admin/admin-panel.php:178
|
85 |
+
msgid "File attachments:"
|
86 |
+
msgstr "Bestandsbijlages:"
|
87 |
+
|
88 |
+
#: contact-form-7/admin/admin-panel.php:124
|
89 |
+
#: contact-form-7/admin/admin-panel.php:180
|
90 |
+
msgid "(You need WordPress 2.7 or greater to use this feature)"
|
91 |
+
msgstr "(Je hebt Wordpress 2.7 of nieuwer nodig om dit gereedschap te gebruiken)"
|
92 |
+
|
93 |
+
#: contact-form-7/admin/admin-panel.php:132
|
94 |
+
#: contact-form-7/admin/admin-panel.php:188
|
95 |
+
msgid "Use HTML content type"
|
96 |
+
msgstr "HTML indeling gebruiken"
|
97 |
+
|
98 |
+
#: contact-form-7/admin/admin-panel.php:137
|
99 |
+
#: contact-form-7/admin/admin-panel.php:193
|
100 |
+
msgid "Message body:"
|
101 |
+
msgstr "Berichttekst:"
|
102 |
+
|
103 |
+
#: contact-form-7/admin/admin-panel.php:148
|
104 |
+
msgid "Mail (2)"
|
105 |
+
msgstr "Mail (2)"
|
106 |
+
|
107 |
+
#: contact-form-7/admin/admin-panel.php:155
|
108 |
+
msgid "Use mail (2)"
|
109 |
+
msgstr "Mail gebruiken (2)"
|
110 |
+
|
111 |
+
#: contact-form-7/admin/admin-panel.php:204
|
112 |
+
msgid "Messages"
|
113 |
+
msgstr "Berichten"
|
114 |
+
|
115 |
+
#: contact-form-7/admin/admin-panel.php:212
|
116 |
+
msgid "Sender's message was sent successfully"
|
117 |
+
msgstr "Het te zenden bericht werd succesvol verstuurd"
|
118 |
+
|
119 |
+
#: contact-form-7/admin/admin-panel.php:216
|
120 |
+
msgid "Sender's message was failed to send"
|
121 |
+
msgstr "Het bericht kon niet worden verstuurd"
|
122 |
+
|
123 |
+
#: contact-form-7/admin/admin-panel.php:220
|
124 |
+
msgid "Akismet judged the sending activity as spamming"
|
125 |
+
msgstr "Aksimet heeft de verzendactiviteit als spam beoordeeld"
|
126 |
+
|
127 |
+
#: contact-form-7/admin/admin-panel.php:224
|
128 |
+
msgid "Validation errors occurred"
|
129 |
+
msgstr "Validatiefout opgetreden"
|
130 |
+
|
131 |
+
#: contact-form-7/admin/admin-panel.php:228
|
132 |
+
msgid "There is a field that sender is needed to fill in"
|
133 |
+
msgstr "Er is een veld dat door de verzender moet worden ingevuld"
|
134 |
+
|
135 |
+
#: contact-form-7/admin/admin-panel.php:232
|
136 |
+
msgid "Email address that sender entered is invalid"
|
137 |
+
msgstr "Het ingevulde email adres is ongeldig"
|
138 |
+
|
139 |
+
#: contact-form-7/admin/admin-panel.php:236
|
140 |
+
msgid "There is a field of term that sender is needed to accept"
|
141 |
+
msgstr "Er is een voorwaardenveld dat moet worden geaccepteerd"
|
142 |
+
|
143 |
+
#: contact-form-7/admin/admin-panel.php:240
|
144 |
+
msgid "Sender doesn't enter the correct answer to the quiz"
|
145 |
+
msgstr "Er is geen juist antwoord voor de quiz ingevuld"
|
146 |
+
|
147 |
+
#: contact-form-7/admin/admin-panel.php:244
|
148 |
+
msgid "The code that sender entered does not match the CAPTCHA"
|
149 |
+
msgstr "De ingevulde verificatiecode komt niet overeen met de CAPTCHA"
|
150 |
+
|
151 |
+
#: contact-form-7/admin/admin-panel.php:248
|
152 |
+
msgid "Uploading a file fails for any reason"
|
153 |
+
msgstr "Het uploaden van het bestand is mislukt"
|
154 |
+
|
155 |
+
#: contact-form-7/admin/admin-panel.php:252
|
156 |
+
msgid "Uploaded file is not allowed file type"
|
157 |
+
msgstr "Het up te loaden bestand heeft een ongeldige extensie"
|
158 |
+
|
159 |
+
#: contact-form-7/admin/admin-panel.php:256
|
160 |
+
msgid "Uploaded file is too large"
|
161 |
+
msgstr "Het up te loaden bestand is te groot"
|
162 |
+
|
163 |
+
#: contact-form-7/admin/admin-panel.php:269
|
164 |
+
msgid "Additional Settings"
|
165 |
+
msgstr "Aanvullende instellingen"
|
166 |
+
|
167 |
+
#: contact-form-7/admin/admin.php:157
|
168 |
+
msgid "optional"
|
169 |
+
msgstr "optioneel"
|
170 |
+
|
171 |
+
#: contact-form-7/admin/admin.php:158
|
172 |
+
msgid "Generate Tag"
|
173 |
+
msgstr "Tag aanmaken"
|
174 |
+
|
175 |
+
#: contact-form-7/admin/admin.php:159
|
176 |
+
msgid "Text field"
|
177 |
+
msgstr "Tekstveld"
|
178 |
+
|
179 |
+
#: contact-form-7/admin/admin.php:160
|
180 |
+
msgid "Email field"
|
181 |
+
msgstr "Email veld"
|
182 |
+
|
183 |
+
#: contact-form-7/admin/admin.php:161
|
184 |
+
msgid "Text area"
|
185 |
+
msgstr "Tekstgebied"
|
186 |
+
|
187 |
+
#: contact-form-7/admin/admin.php:162
|
188 |
+
msgid "Drop-down menu"
|
189 |
+
msgstr "Keuzemenu"
|
190 |
+
|
191 |
+
#: contact-form-7/admin/admin.php:163
|
192 |
+
msgid "Checkboxes"
|
193 |
+
msgstr "Keuzevakjes"
|
194 |
+
|
195 |
+
#: contact-form-7/admin/admin.php:164
|
196 |
+
msgid "Radio buttons"
|
197 |
+
msgstr "Keuzerondjes"
|
198 |
+
|
199 |
+
#: contact-form-7/admin/admin.php:165
|
200 |
+
msgid "Acceptance"
|
201 |
+
msgstr "Acceptatie"
|
202 |
+
|
203 |
+
#: contact-form-7/admin/admin.php:166
|
204 |
+
msgid "Make this checkbox checked by default?"
|
205 |
+
msgstr "Aanvinkvakje standaard aanvinken?"
|
206 |
+
|
207 |
+
#: contact-form-7/admin/admin.php:167
|
208 |
+
msgid "Make this checkbox work inversely?"
|
209 |
+
msgstr "Aanvinkvakje omgekeerd laten werken?"
|
210 |
+
|
211 |
+
#: contact-form-7/admin/admin.php:168
|
212 |
+
msgid "* That means visitor who accepts the term unchecks it."
|
213 |
+
msgstr "* Dit betekent dat de bezoeker het vakje moet uitvinken om de voorwaarden te accepteren."
|
214 |
+
|
215 |
+
#: contact-form-7/admin/admin.php:169
|
216 |
+
msgid "CAPTCHA"
|
217 |
+
msgstr "CAPTCHA"
|
218 |
+
|
219 |
+
#: contact-form-7/admin/admin.php:170
|
220 |
+
msgid "Quiz"
|
221 |
+
msgstr "Kwis"
|
222 |
+
|
223 |
+
#: contact-form-7/admin/admin.php:171
|
224 |
+
msgid "Quizzes"
|
225 |
+
msgstr "Kwissen"
|
226 |
+
|
227 |
+
#: contact-form-7/admin/admin.php:172
|
228 |
+
msgid "* quiz|answer (e.g. 1+1=?|2)"
|
229 |
+
msgstr "* quiz|antwoord (bijv. 1+1=?|2)"
|
230 |
+
|
231 |
+
#: contact-form-7/admin/admin.php:173
|
232 |
+
msgid "File upload"
|
233 |
+
msgstr "Upload bestand"
|
234 |
+
|
235 |
+
#: contact-form-7/admin/admin.php:174
|
236 |
+
msgid "bytes"
|
237 |
+
msgstr "bytes"
|
238 |
+
|
239 |
+
#: contact-form-7/admin/admin.php:175
|
240 |
+
msgid "Submit button"
|
241 |
+
msgstr "Verzendknop"
|
242 |
+
|
243 |
+
#: contact-form-7/admin/admin.php:176
|
244 |
+
msgid "Name"
|
245 |
+
msgstr "Naam"
|
246 |
+
|
247 |
+
#: contact-form-7/admin/admin.php:177
|
248 |
+
msgid "Required field?"
|
249 |
+
msgstr "Verplicht veld?"
|
250 |
+
|
251 |
+
#: contact-form-7/admin/admin.php:178
|
252 |
+
msgid "Allow multiple selections?"
|
253 |
+
msgstr "Meerdere selecties toestaan?"
|
254 |
+
|
255 |
+
#: contact-form-7/admin/admin.php:179
|
256 |
+
msgid "Insert a blank item as the first option?"
|
257 |
+
msgstr "Een leeg item als eerste optie invoegen?"
|
258 |
+
|
259 |
+
#: contact-form-7/admin/admin.php:180
|
260 |
+
msgid "Make checkboxes exclusive?"
|
261 |
+
msgstr "Keuzevakjes exclusief maken?"
|
262 |
+
|
263 |
+
#: contact-form-7/admin/admin.php:181
|
264 |
+
msgid "Choices"
|
265 |
+
msgstr "Keuzes"
|
266 |
+
|
267 |
+
#: contact-form-7/admin/admin.php:182
|
268 |
+
msgid "Label"
|
269 |
+
msgstr "Label"
|
270 |
+
|
271 |
+
#: contact-form-7/admin/admin.php:183
|
272 |
+
msgid "Default value"
|
273 |
+
msgstr "Standaard waarde"
|
274 |
+
|
275 |
+
#: contact-form-7/admin/admin.php:184
|
276 |
+
msgid "Akismet"
|
277 |
+
msgstr "Akismet"
|
278 |
+
|
279 |
+
#: contact-form-7/admin/admin.php:185
|
280 |
+
msgid "This field requires author's name"
|
281 |
+
msgstr "Dti veld vereist de naam van de auteur"
|
282 |
+
|
283 |
+
#: contact-form-7/admin/admin.php:186
|
284 |
+
msgid "This field requires author's URL"
|
285 |
+
msgstr "Dit veld vereist de URL van de auteur"
|
286 |
+
|
287 |
+
#: contact-form-7/admin/admin.php:187
|
288 |
+
msgid "This field requires author's email address"
|
289 |
+
msgstr "Voor dit veld is het email adres vereist"
|
290 |
+
|
291 |
+
#: contact-form-7/admin/admin.php:188
|
292 |
+
msgid "Copy this code and paste it into the form left."
|
293 |
+
msgstr "Kopieer deze code en plak hem in het formulier aan de linkerzijde."
|
294 |
+
|
295 |
+
#: contact-form-7/admin/admin.php:189
|
296 |
+
msgid "Foreground color"
|
297 |
+
msgstr "Voorgrond kleur"
|
298 |
+
|
299 |
+
#: contact-form-7/admin/admin.php:190
|
300 |
+
msgid "Background color"
|
301 |
+
msgstr "Achtergrondkleur"
|
302 |
+
|
303 |
+
#: contact-form-7/admin/admin.php:191
|
304 |
+
msgid "Image size"
|
305 |
+
msgstr "Grootte afbeelding"
|
306 |
+
|
307 |
+
#: contact-form-7/admin/admin.php:192
|
308 |
+
msgid "Small"
|
309 |
+
msgstr "Klein"
|
310 |
+
|
311 |
+
#: contact-form-7/admin/admin.php:193
|
312 |
+
msgid "Medium"
|
313 |
+
msgstr "Gemiddeld"
|
314 |
+
|
315 |
+
#: contact-form-7/admin/admin.php:194
|
316 |
+
msgid "Large"
|
317 |
+
msgstr "Groot"
|
318 |
+
|
319 |
+
#: contact-form-7/admin/admin.php:195
|
320 |
+
msgid "Image settings"
|
321 |
+
msgstr "Instellingen afbeelding"
|
322 |
+
|
323 |
+
#: contact-form-7/admin/admin.php:196
|
324 |
+
msgid "Input field settings"
|
325 |
+
msgstr "Instellingen invulveld"
|
326 |
+
|
327 |
+
#: contact-form-7/admin/admin.php:197
|
328 |
+
msgid "For image"
|
329 |
+
msgstr "Voor afbeelding"
|
330 |
+
|
331 |
+
#: contact-form-7/admin/admin.php:198
|
332 |
+
msgid "For input field"
|
333 |
+
msgstr "Voor invulveld"
|
334 |
+
|
335 |
+
#: contact-form-7/admin/admin.php:199
|
336 |
+
msgid "* One choice per line."
|
337 |
+
msgstr "* Eén keuze per regel"
|
338 |
+
|
339 |
+
#: contact-form-7/admin/admin.php:200
|
340 |
+
msgid "Show"
|
341 |
+
msgstr "Laten zien"
|
342 |
+
|
343 |
+
#: contact-form-7/admin/admin.php:201
|
344 |
+
msgid "Hide"
|
345 |
+
msgstr "Verbergen"
|
346 |
+
|
347 |
+
#: contact-form-7/admin/admin.php:202
|
348 |
+
msgid "File size limit"
|
349 |
+
msgstr "Maximale bestandsgrootte"
|
350 |
+
|
351 |
+
#: contact-form-7/admin/admin.php:203
|
352 |
+
msgid "Acceptable file types"
|
353 |
+
msgstr "Toegelaten bestandstypes"
|
354 |
+
|
355 |
+
#: contact-form-7/admin/admin.php:204
|
356 |
+
msgid "Note: To use CAPTCHA, you need Really Simple CAPTCHA plugin installed."
|
357 |
+
msgstr "Let op: Om CAPTCHA te gebruiken moet de Really Simple CAPTCHA plugin geinstalleerd zijn."
|
358 |
+
|
359 |
+
#: contact-form-7/admin/admin.php:223
|
360 |
+
msgid "Contact form created."
|
361 |
+
msgstr "Contactformulier aangemaakt."
|
362 |
+
|
363 |
+
#: contact-form-7/admin/admin.php:226
|
364 |
+
msgid "Contact form saved."
|
365 |
+
msgstr "Contactformulier opgeslagen."
|
366 |
+
|
367 |
+
#: contact-form-7/admin/admin.php:229
|
368 |
+
msgid "Contact form deleted."
|
369 |
+
msgstr "Contactformulier verwijderd."
|
370 |
+
|
371 |
+
#: contact-form-7/admin/admin.php:240
|
372 |
+
msgid "Untitled"
|
373 |
+
msgstr "Zonder titel."
|
374 |
+
|
375 |
+
#: contact-form-7/admin/admin.php:253
|
376 |
+
msgid "Your Name"
|
377 |
+
msgstr "Uw naam"
|
378 |
+
|
379 |
+
#: contact-form-7/admin/admin.php:253
|
380 |
+
#: contact-form-7/admin/admin.php:255
|
381 |
+
msgid "(required)"
|
382 |
+
msgstr "(verplicht)"
|
383 |
+
|
384 |
+
#: contact-form-7/admin/admin.php:255
|
385 |
+
msgid "Your Email"
|
386 |
+
msgstr "Uw email"
|
387 |
+
|
388 |
+
#: contact-form-7/admin/admin.php:257
|
389 |
+
msgid "Subject"
|
390 |
+
msgstr "Onderwerp"
|
391 |
+
|
392 |
+
#: contact-form-7/admin/admin.php:259
|
393 |
+
msgid "Your Message"
|
394 |
+
msgstr "Uw bericht"
|
395 |
+
|
396 |
+
#: contact-form-7/admin/admin.php:261
|
397 |
+
#: contact-form-7/includes/classes.php:411
|
398 |
+
msgid "Send"
|
399 |
+
msgstr "Verzenden"
|
400 |
+
|
401 |
+
#: contact-form-7/admin/admin.php:334
|
402 |
+
msgid "Settings"
|
403 |
+
msgstr "Instellingen"
|
404 |
+
|
405 |
+
#: contact-form-7/admin/admin.php:355
|
406 |
+
msgid "Contact Form 7 needs your support. Please donate today."
|
407 |
+
msgstr "Contact Form 7 heeft jouw steun nodig. Doneer vandaag nog."
|
408 |
+
|
409 |
+
#: contact-form-7/admin/admin.php:356
|
410 |
+
msgid "Is this plugin useful for you? If you like it, please help the developer."
|
411 |
+
msgstr "Komt deze plugin jou van pas? Help de ontwikkelaar."
|
412 |
+
|
413 |
+
#: contact-form-7/admin/admin.php:357
|
414 |
+
msgid "Your contribution is needed for making this plugin better."
|
415 |
+
msgstr "Jouw bijdrage is nodig voor het verbeteren van deze plugin."
|
416 |
+
|
417 |
+
#: contact-form-7/admin/admin.php:358
|
418 |
+
msgid "Developing a plugin and providing user support is really hard work. Please help."
|
419 |
+
msgstr "Het ontwikkelen van een plugin en leveren van ondersteuning is veel werk. Help mee."
|
420 |
+
|
421 |
+
#: contact-form-7/includes/classes.php:352
|
422 |
+
msgid "To use CAPTCHA, you need <a href=\"http://wordpress.org/extend/plugins/really-simple-captcha/\">Really Simple CAPTCHA</a> plugin installed."
|
423 |
+
msgstr "Om CAPTCHA te gebruiken moet je de <a href=\"http://wordpress.org/extend/plugins/really-simple-captcha/\">Really Simple CAPTCHA</a> plugin geinstalleerd hebben."
|
424 |
+
|
425 |
+
#: contact-form-7/includes/functions.php:6
|
426 |
+
msgid "Your message was sent successfully. Thanks."
|
427 |
+
msgstr "Uw bericht werd succesvol verzonden."
|
428 |
+
|
429 |
+
#: contact-form-7/includes/functions.php:8
|
430 |
+
#: contact-form-7/includes/functions.php:10
|
431 |
+
msgid "Failed to send your message. Please try later or contact administrator by other way."
|
432 |
+
msgstr "Het is niet gelukt uw bericht te verzenden. Probeer het later nog een keer of neem op een andere manier contact op."
|
433 |
+
|
434 |
+
#: contact-form-7/includes/functions.php:12
|
435 |
+
msgid "Validation errors occurred. Please confirm the fields and submit it again."
|
436 |
+
msgstr "Validatiefouten opgetreden. Controleer de velden en druk nogmaals op verzend."
|
437 |
+
|
438 |
+
#: contact-form-7/includes/functions.php:14
|
439 |
+
msgid "Please accept the terms to proceed."
|
440 |
+
msgstr "Aanvaard de voorwaarden om door te gaan."
|
441 |
+
|
442 |
+
#: contact-form-7/includes/functions.php:16
|
443 |
+
msgid "Email address seems invalid."
|
444 |
+
msgstr "Het email adres lijkt ongeldig te zijn."
|
445 |
+
|
446 |
+
#: contact-form-7/includes/functions.php:18
|
447 |
+
msgid "Please fill the required field."
|
448 |
+
msgstr "Vul aub het verplichte veld in."
|
449 |
+
|
450 |
+
#: contact-form-7/includes/functions.php:20
|
451 |
+
msgid "Your entered code is incorrect."
|
452 |
+
msgstr "De ingevulde code is onjuist."
|
453 |
+
|
454 |
+
#: contact-form-7/includes/functions.php:22
|
455 |
+
msgid "Your answer is not correct."
|
456 |
+
msgstr "Uw antwoord is niet juist."
|
457 |
+
|
458 |
+
#: contact-form-7/includes/functions.php:24
|
459 |
+
msgid "Failed to upload file."
|
460 |
+
msgstr "Uploaden van het bestand mislukt"
|
461 |
+
|
462 |
+
#: contact-form-7/includes/functions.php:26
|
463 |
+
msgid "This file type is not allowed."
|
464 |
+
msgstr "Dit bestandstype is niet toegestaan"
|
465 |
+
|
466 |
+
#: contact-form-7/includes/functions.php:28
|
467 |
+
msgid "This file is too large."
|
468 |
+
msgstr "Dit bestand is te groot"
|
469 |
+
|
languages/wpcf7-zh_TW.mo
CHANGED
Binary file
|
languages/wpcf7-zh_TW.po
CHANGED
@@ -2,7 +2,7 @@ msgid ""
|
|
2 |
msgstr ""
|
3 |
"Project-Id-Version: Contact Form 1.9.2.2 正體中文語系檔\n"
|
4 |
"Report-Msgid-Bugs-To: \n"
|
5 |
-
"POT-Creation-Date: 2009-
|
6 |
"PO-Revision-Date: \n"
|
7 |
"Last-Translator: James Wu <admin@jameswublog.com>\n"
|
8 |
"Language-Team: http://jameswublog.com <phptech@gmail.com>\n"
|
@@ -14,415 +14,460 @@ msgstr ""
|
|
14 |
"X-Poedit-Country: TAIWAN\n"
|
15 |
"X-Poedit-SourceCharset: utf-8\n"
|
16 |
|
17 |
-
#: contact-form-7/wp-contact-form-7.php:
|
18 |
msgid "Contact form"
|
19 |
msgstr "聯絡表單"
|
20 |
|
21 |
-
#: contact-form-7/
|
22 |
-
#: contact-form-7/
|
23 |
msgid "Contact Form 7"
|
24 |
msgstr "Contact Form 7"
|
25 |
|
26 |
-
#: contact-form-7/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
27 |
msgid "optional"
|
28 |
msgstr "可不填"
|
29 |
|
30 |
-
#: contact-form-7/
|
31 |
msgid "Generate Tag"
|
32 |
msgstr "標籤產生器"
|
33 |
|
34 |
-
#: contact-form-7/
|
35 |
msgid "Text field"
|
36 |
msgstr "文字欄位"
|
37 |
|
38 |
-
#: contact-form-7/
|
39 |
msgid "Email field"
|
40 |
msgstr "電子郵件欄位"
|
41 |
|
42 |
-
#: contact-form-7/
|
43 |
msgid "Text area"
|
44 |
msgstr "文字區塊"
|
45 |
|
46 |
-
#: contact-form-7/
|
47 |
msgid "Drop-down menu"
|
48 |
msgstr "下拉式選單"
|
49 |
|
50 |
-
#: contact-form-7/
|
51 |
msgid "Checkboxes"
|
52 |
msgstr "核選方塊"
|
53 |
|
54 |
-
#: contact-form-7/
|
55 |
msgid "Radio buttons"
|
56 |
msgstr "選項按鈕"
|
57 |
|
58 |
-
#: contact-form-7/
|
59 |
msgid "Acceptance"
|
60 |
msgstr "接受使用條款"
|
61 |
|
62 |
-
#: contact-form-7/
|
63 |
msgid "Make this checkbox checked by default?"
|
64 |
msgstr "預設核選方塊為核取(已勾選)?"
|
65 |
|
66 |
-
#: contact-form-7/
|
67 |
msgid "Make this checkbox work inversely?"
|
68 |
msgstr "設定核取方塊被選取的狀態相反?"
|
69 |
|
70 |
-
#: contact-form-7/
|
71 |
msgid "* That means visitor who accepts the term unchecks it."
|
72 |
msgstr "*意思是如果使用者如果接受服務條款,則不需勾選核取方塊。"
|
73 |
|
74 |
-
#: contact-form-7/
|
75 |
msgid "CAPTCHA"
|
76 |
msgstr "圖片驗證"
|
77 |
|
78 |
-
#: contact-form-7/
|
79 |
msgid "Quiz"
|
80 |
msgstr "測驗題目驗證"
|
81 |
|
82 |
-
#: contact-form-7/
|
83 |
msgid "Quizzes"
|
84 |
msgstr "測驗題庫"
|
85 |
|
86 |
-
#: contact-form-7/
|
87 |
msgid "* quiz|answer (e.g. 1+1=?|2)"
|
88 |
msgstr "* 測驗題目|答案 (例如 1+1=?|2)"
|
89 |
|
90 |
-
#: contact-form-7/
|
91 |
msgid "File upload"
|
92 |
msgstr "檔案上傳"
|
93 |
|
94 |
-
#: contact-form-7/
|
95 |
msgid "bytes"
|
96 |
msgstr "位元組"
|
97 |
|
98 |
-
#: contact-form-7/
|
99 |
msgid "Submit button"
|
100 |
msgstr "提交按鈕"
|
101 |
|
102 |
-
#: contact-form-7/
|
103 |
msgid "Name"
|
104 |
msgstr "物件名稱"
|
105 |
|
106 |
-
#: contact-form-7/
|
107 |
msgid "Required field?"
|
108 |
msgstr "設定為必要欄位?"
|
109 |
|
110 |
-
#: contact-form-7/
|
111 |
msgid "Allow multiple selections?"
|
112 |
msgstr "允許在下拉式選單中,可以選擇一個以上的選項?"
|
113 |
|
114 |
-
#: contact-form-7/
|
115 |
msgid "Insert a blank item as the first option?"
|
116 |
msgstr "要插入一個空白資料欄位,作為第一個選項?"
|
117 |
|
118 |
-
#: contact-form-7/
|
119 |
msgid "Make checkboxes exclusive?"
|
120 |
msgstr "設定核取方塊,為不允許修改(唯讀)?"
|
121 |
|
122 |
-
#: contact-form-7/
|
123 |
msgid "Choices"
|
124 |
msgstr "選項"
|
125 |
|
126 |
-
#: contact-form-7/
|
127 |
msgid "Label"
|
128 |
msgstr "標籤"
|
129 |
|
130 |
-
#: contact-form-7/
|
131 |
msgid "Default value"
|
132 |
msgstr "預設值"
|
133 |
|
134 |
-
#: contact-form-7/
|
135 |
msgid "Akismet"
|
136 |
msgstr "Akismet(防止垃圾郵件的插件)"
|
137 |
|
138 |
-
#: contact-form-7/
|
139 |
msgid "This field requires author's name"
|
140 |
msgstr "這個欄位需要填寫作者的姓名"
|
141 |
|
142 |
-
#: contact-form-7/
|
143 |
msgid "This field requires author's URL"
|
144 |
msgstr "這個欄位需要填寫作者的網址"
|
145 |
|
146 |
-
#: contact-form-7/
|
147 |
msgid "This field requires author's email address"
|
148 |
msgstr "這個欄位需要填寫作者的電子郵件信箱"
|
149 |
|
150 |
-
#: contact-form-7/
|
151 |
msgid "Copy this code and paste it into the form left."
|
152 |
msgstr "把這段代碼複製後,貼到左方的表格"
|
153 |
|
154 |
-
#: contact-form-7/
|
155 |
msgid "Foreground color"
|
156 |
msgstr "前景顏色"
|
157 |
|
158 |
-
#: contact-form-7/
|
159 |
msgid "Background color"
|
160 |
msgstr "背景顏色"
|
161 |
|
162 |
-
#: contact-form-7/
|
163 |
msgid "Image size"
|
164 |
msgstr "圖片尺寸"
|
165 |
|
166 |
-
#: contact-form-7/
|
167 |
msgid "Small"
|
168 |
msgstr "小"
|
169 |
|
170 |
-
#: contact-form-7/
|
171 |
msgid "Medium"
|
172 |
msgstr "中"
|
173 |
|
174 |
-
#: contact-form-7/
|
175 |
msgid "Large"
|
176 |
msgstr "大"
|
177 |
|
178 |
-
#: contact-form-7/
|
179 |
msgid "Image settings"
|
180 |
msgstr "圖片設定"
|
181 |
|
182 |
-
#: contact-form-7/
|
183 |
msgid "Input field settings"
|
184 |
msgstr "設定輸入欄位"
|
185 |
|
186 |
-
#: contact-form-7/
|
187 |
msgid "For image"
|
188 |
msgstr "圖片使用"
|
189 |
|
190 |
-
#: contact-form-7/
|
191 |
msgid "For input field"
|
192 |
msgstr "輸入欄位使用"
|
193 |
|
194 |
-
#: contact-form-7/
|
195 |
msgid "* One choice per line."
|
196 |
msgstr "*每行只能有一個選項。"
|
197 |
|
198 |
-
#: contact-form-7/
|
199 |
msgid "Show"
|
200 |
msgstr "顯示"
|
201 |
|
202 |
-
#: contact-form-7/
|
203 |
msgid "Hide"
|
204 |
msgstr "隱藏"
|
205 |
|
206 |
-
#: contact-form-7/
|
207 |
msgid "File size limit"
|
208 |
msgstr "檔案大小限制"
|
209 |
|
210 |
-
#: contact-form-7/
|
211 |
msgid "Acceptable file types"
|
212 |
msgstr "可接受上傳檔案的種類"
|
213 |
|
214 |
-
#: contact-form-7/
|
|
|
|
|
|
|
|
|
215 |
msgid "Contact form created."
|
216 |
msgstr "已新增聯絡表單。"
|
217 |
|
218 |
-
#: contact-form-7/
|
219 |
msgid "Contact form saved."
|
220 |
msgstr "已儲存聯絡表單。"
|
221 |
|
222 |
-
#: contact-form-7/
|
223 |
msgid "Contact form deleted."
|
224 |
msgstr "已刪除聯絡表單。"
|
225 |
|
226 |
-
#: contact-form-7/
|
227 |
msgid "Untitled"
|
228 |
msgstr "無標題"
|
229 |
|
230 |
-
#: contact-form-7/
|
231 |
msgid "Your Name"
|
232 |
msgstr "您的姓名"
|
233 |
|
234 |
-
#: contact-form-7/
|
235 |
-
#: contact-form-7/
|
236 |
msgid "(required)"
|
237 |
msgstr "〈需填寫〉"
|
238 |
|
239 |
-
#: contact-form-7/
|
240 |
msgid "Your Email"
|
241 |
msgstr "您的電子郵件信箱"
|
242 |
|
243 |
-
#: contact-form-7/
|
244 |
msgid "Subject"
|
245 |
msgstr "主旨"
|
246 |
|
247 |
-
#: contact-form-7/
|
248 |
msgid "Your Message"
|
249 |
msgstr "您的信件內容"
|
250 |
|
251 |
-
#: contact-form-7/
|
252 |
-
#: contact-form-7/
|
253 |
msgid "Send"
|
254 |
msgstr "傳送"
|
255 |
|
256 |
-
#: contact-form-7/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
257 |
msgid "Your message was sent successfully. Thanks."
|
258 |
msgstr "您的信件已成功寄出,感謝。"
|
259 |
|
260 |
-
#: contact-form-7/
|
261 |
-
#: contact-form-7/
|
262 |
msgid "Failed to send your message. Please try later or contact administrator by other way."
|
263 |
msgstr "信件傳送失敗。請稍後再試或以其他方式與站管人員聯絡。"
|
264 |
|
265 |
-
#: contact-form-7/
|
266 |
msgid "Validation errors occurred. Please confirm the fields and submit it again."
|
267 |
msgstr "認證發生錯誤。請確認各項欄位資料是否正確後,再行提交。"
|
268 |
|
269 |
-
#: contact-form-7/
|
270 |
msgid "Please accept the terms to proceed."
|
271 |
msgstr "請接受本服務條款再繼續進行。"
|
272 |
|
273 |
-
#: contact-form-7/
|
274 |
msgid "Email address seems invalid."
|
275 |
msgstr "電子郵件格式不符。"
|
276 |
|
277 |
-
#: contact-form-7/
|
278 |
msgid "Please fill the required field."
|
279 |
msgstr "請填寫必要欄位。"
|
280 |
|
281 |
-
#: contact-form-7/
|
282 |
msgid "Your entered code is incorrect."
|
283 |
msgstr "您輸入的認證代碼錯誤。 "
|
284 |
|
285 |
-
#: contact-form-7/
|
286 |
msgid "Your answer is not correct."
|
287 |
msgstr "您的答案不正確。"
|
288 |
|
289 |
-
#: contact-form-7/
|
290 |
msgid "Failed to upload file."
|
291 |
msgstr "上傳檔案失敗。"
|
292 |
|
293 |
-
#: contact-form-7/
|
294 |
msgid "This file type is not allowed."
|
295 |
msgstr "上傳的檔案不是允許的檔案種類。"
|
296 |
|
297 |
-
#: contact-form-7/
|
298 |
msgid "This file is too large."
|
299 |
msgstr "上傳檔案過大。"
|
300 |
|
301 |
-
|
302 |
-
|
303 |
-
msgstr "建立新聯絡表單"
|
304 |
-
|
305 |
-
#: contact-form-7/includes/admin-panel.php:42
|
306 |
-
msgid "Copy this code and paste it into your post, page or text widget content."
|
307 |
-
msgstr "您可以把這段代碼複製到您的網誌文章、分頁或文字小工具(Text Widget)的內容中。"
|
308 |
-
|
309 |
-
#: contact-form-7/includes/admin-panel.php:49
|
310 |
-
#: contact-form-7/includes/admin-panel.php:257
|
311 |
-
msgid "Save"
|
312 |
-
msgstr "儲存"
|
313 |
-
|
314 |
-
#: contact-form-7/includes/admin-panel.php:55
|
315 |
-
msgid "Delete this contact form"
|
316 |
-
msgstr "刪除這個聯絡表單"
|
317 |
-
|
318 |
-
#: contact-form-7/includes/admin-panel.php:56
|
319 |
-
msgid ""
|
320 |
-
"You are about to delete this contact form.\n"
|
321 |
-
" 'Cancel' to stop, 'OK' to delete."
|
322 |
-
msgstr ""
|
323 |
-
"您即將刪除這個聯絡表單。\n"
|
324 |
-
"按「確定」刪除表單,或按「取消」取消刪除表單的動作。"
|
325 |
-
|
326 |
-
#: contact-form-7/includes/admin-panel.php:70
|
327 |
-
msgid "Form"
|
328 |
-
msgstr "表單"
|
329 |
-
|
330 |
-
#: contact-form-7/includes/admin-panel.php:90
|
331 |
-
msgid "Mail"
|
332 |
-
msgstr "郵件"
|
333 |
-
|
334 |
-
#: contact-form-7/includes/admin-panel.php:97
|
335 |
-
#: contact-form-7/includes/admin-panel.php:149
|
336 |
-
msgid "To:"
|
337 |
-
msgstr "收件人:"
|
338 |
-
|
339 |
-
#: contact-form-7/includes/admin-panel.php:101
|
340 |
-
#: contact-form-7/includes/admin-panel.php:153
|
341 |
-
msgid "From:"
|
342 |
-
msgstr "寄件人:"
|
343 |
-
|
344 |
-
#: contact-form-7/includes/admin-panel.php:105
|
345 |
-
#: contact-form-7/includes/admin-panel.php:157
|
346 |
-
msgid "Subject:"
|
347 |
-
msgstr "主旨:"
|
348 |
-
|
349 |
-
#: contact-form-7/includes/admin-panel.php:110
|
350 |
-
#: contact-form-7/includes/admin-panel.php:162
|
351 |
-
msgid "File attachments:"
|
352 |
-
msgstr "附加檔案:"
|
353 |
-
|
354 |
-
#: contact-form-7/includes/admin-panel.php:112
|
355 |
-
#: contact-form-7/includes/admin-panel.php:164
|
356 |
-
msgid "(You need WordPress 2.7 or greater to use this feature)"
|
357 |
-
msgstr "您必需使用WordPress 2.7或以上版本,才能使用這個功能。"
|
358 |
-
|
359 |
-
#: contact-form-7/includes/admin-panel.php:120
|
360 |
-
#: contact-form-7/includes/admin-panel.php:172
|
361 |
-
msgid "Use HTML content type"
|
362 |
-
msgstr "使用HTML內文格式"
|
363 |
-
|
364 |
-
#: contact-form-7/includes/admin-panel.php:125
|
365 |
-
#: contact-form-7/includes/admin-panel.php:177
|
366 |
-
msgid "Message body:"
|
367 |
-
msgstr "郵件內容:"
|
368 |
-
|
369 |
-
#: contact-form-7/includes/admin-panel.php:136
|
370 |
-
msgid "Mail (2)"
|
371 |
-
msgstr "郵件(2)"
|
372 |
-
|
373 |
-
#: contact-form-7/includes/admin-panel.php:143
|
374 |
-
msgid "Use mail (2)"
|
375 |
-
msgstr "使用郵件(2)"
|
376 |
-
|
377 |
-
#: contact-form-7/includes/admin-panel.php:188
|
378 |
-
msgid "Messages"
|
379 |
-
msgstr "郵件內容"
|
380 |
-
|
381 |
-
#: contact-form-7/includes/admin-panel.php:196
|
382 |
-
msgid "Sender's message was sent successfully"
|
383 |
-
msgstr "寄件者的信件已經成功寄出"
|
384 |
-
|
385 |
-
#: contact-form-7/includes/admin-panel.php:200
|
386 |
-
msgid "Sender's message was failed to send"
|
387 |
-
msgstr "寄件者的信件傳送失敗"
|
388 |
-
|
389 |
-
#: contact-form-7/includes/admin-panel.php:204
|
390 |
-
msgid "Akismet judged the sending activity as spamming"
|
391 |
-
msgstr "經Akismet機制判斷,這個寄信的動作為濫發廣告信"
|
392 |
-
|
393 |
-
#: contact-form-7/includes/admin-panel.php:208
|
394 |
-
msgid "Validation errors occurred"
|
395 |
-
msgstr "發生認證錯誤"
|
396 |
-
|
397 |
-
#: contact-form-7/includes/admin-panel.php:212
|
398 |
-
msgid "There is a field that sender is needed to fill in"
|
399 |
-
msgstr " 有一個必需填寫的欄位不允許空白,請寄信者再確認。"
|
400 |
-
|
401 |
-
#: contact-form-7/includes/admin-panel.php:216
|
402 |
-
msgid "Email address that sender entered is invalid"
|
403 |
-
msgstr " 電子郵件格式不符,請寄信者再確認。"
|
404 |
-
|
405 |
-
#: contact-form-7/includes/admin-panel.php:220
|
406 |
-
msgid "There is a field of term that sender is needed to accept"
|
407 |
-
msgstr "寄信者必需接受使用者條款"
|
408 |
-
|
409 |
-
#: contact-form-7/includes/admin-panel.php:224
|
410 |
-
msgid "Sender doesn't enter the correct answer to the quiz"
|
411 |
-
msgstr "寄信者沒有輸入測驗題目的正確答案"
|
412 |
-
|
413 |
-
#: contact-form-7/includes/admin-panel.php:228
|
414 |
-
msgid "The code that sender entered does not match the CAPTCHA"
|
415 |
-
msgstr "寄信者所輸入的圖片認證碼錯誤"
|
416 |
-
|
417 |
-
#: contact-form-7/includes/admin-panel.php:232
|
418 |
-
msgid "Uploading a file fails for any reason"
|
419 |
-
msgstr "檔案上傳的過程中,因不明原因導致上傳失敗。"
|
420 |
-
|
421 |
-
#: contact-form-7/includes/admin-panel.php:236
|
422 |
-
msgid "Uploaded file is not allowed file type"
|
423 |
-
msgstr "所上傳的檔案是不被允許的檔案種類"
|
424 |
-
|
425 |
-
#: contact-form-7/includes/admin-panel.php:240
|
426 |
-
msgid "Uploaded file is too large"
|
427 |
-
msgstr "上傳擋案過大"
|
428 |
|
2 |
msgstr ""
|
3 |
"Project-Id-Version: Contact Form 1.9.2.2 正體中文語系檔\n"
|
4 |
"Report-Msgid-Bugs-To: \n"
|
5 |
+
"POT-Creation-Date: 2009-05-31 23:05+0900\n"
|
6 |
"PO-Revision-Date: \n"
|
7 |
"Last-Translator: James Wu <admin@jameswublog.com>\n"
|
8 |
"Language-Team: http://jameswublog.com <phptech@gmail.com>\n"
|
14 |
"X-Poedit-Country: TAIWAN\n"
|
15 |
"X-Poedit-SourceCharset: utf-8\n"
|
16 |
|
17 |
+
#: contact-form-7/wp-contact-form-7.php:373
|
18 |
msgid "Contact form"
|
19 |
msgstr "聯絡表單"
|
20 |
|
21 |
+
#: contact-form-7/admin/admin-panel.php:6
|
22 |
+
#: contact-form-7/admin/admin.php:111
|
23 |
msgid "Contact Form 7"
|
24 |
msgstr "Contact Form 7"
|
25 |
|
26 |
+
#: contact-form-7/admin/admin-panel.php:21
|
27 |
+
msgid "Add new"
|
28 |
+
msgstr "建立新聯絡表單"
|
29 |
+
|
30 |
+
#: contact-form-7/admin/admin-panel.php:43
|
31 |
+
msgid "Copy this code and paste it into your post, page or text widget content."
|
32 |
+
msgstr "您可以把這段代碼複製到您的網誌文章、分頁或文字小工具(Text Widget)的內容中。"
|
33 |
+
|
34 |
+
#: contact-form-7/admin/admin-panel.php:50
|
35 |
+
#: contact-form-7/admin/admin-panel.php:290
|
36 |
+
msgid "Save"
|
37 |
+
msgstr "儲存"
|
38 |
+
|
39 |
+
#: contact-form-7/admin/admin-panel.php:57
|
40 |
+
msgid "Copy"
|
41 |
+
msgstr "複製"
|
42 |
+
|
43 |
+
#: contact-form-7/admin/admin-panel.php:61
|
44 |
+
msgid "Delete"
|
45 |
+
msgstr "刪除"
|
46 |
+
|
47 |
+
#: contact-form-7/admin/admin-panel.php:63
|
48 |
+
msgid ""
|
49 |
+
"You are about to delete this contact form.\n"
|
50 |
+
" 'Cancel' to stop, 'OK' to delete."
|
51 |
+
msgstr ""
|
52 |
+
"您即將刪除這個聯絡表單。\n"
|
53 |
+
"按「確定」刪除表單,或按「取消」取消刪除表單的動作。"
|
54 |
+
|
55 |
+
#: contact-form-7/admin/admin-panel.php:78
|
56 |
+
msgid "Form"
|
57 |
+
msgstr "表單"
|
58 |
+
|
59 |
+
#: contact-form-7/admin/admin-panel.php:98
|
60 |
+
msgid "Mail"
|
61 |
+
msgstr "郵件"
|
62 |
+
|
63 |
+
#: contact-form-7/admin/admin-panel.php:105
|
64 |
+
#: contact-form-7/admin/admin-panel.php:161
|
65 |
+
msgid "To:"
|
66 |
+
msgstr "收件人:"
|
67 |
+
|
68 |
+
#: contact-form-7/admin/admin-panel.php:109
|
69 |
+
#: contact-form-7/admin/admin-panel.php:165
|
70 |
+
msgid "From:"
|
71 |
+
msgstr "寄件人:"
|
72 |
+
|
73 |
+
#: contact-form-7/admin/admin-panel.php:113
|
74 |
+
#: contact-form-7/admin/admin-panel.php:169
|
75 |
+
msgid "Subject:"
|
76 |
+
msgstr "主旨:"
|
77 |
+
|
78 |
+
#: contact-form-7/admin/admin-panel.php:118
|
79 |
+
#: contact-form-7/admin/admin-panel.php:174
|
80 |
+
msgid "Additional headers:"
|
81 |
+
msgstr "額外的標頭(header) "
|
82 |
+
|
83 |
+
#: contact-form-7/admin/admin-panel.php:122
|
84 |
+
#: contact-form-7/admin/admin-panel.php:178
|
85 |
+
msgid "File attachments:"
|
86 |
+
msgstr "附加檔案:"
|
87 |
+
|
88 |
+
#: contact-form-7/admin/admin-panel.php:124
|
89 |
+
#: contact-form-7/admin/admin-panel.php:180
|
90 |
+
msgid "(You need WordPress 2.7 or greater to use this feature)"
|
91 |
+
msgstr "您必需使用WordPress 2.7或以上版本,才能使用這個功能。"
|
92 |
+
|
93 |
+
#: contact-form-7/admin/admin-panel.php:132
|
94 |
+
#: contact-form-7/admin/admin-panel.php:188
|
95 |
+
msgid "Use HTML content type"
|
96 |
+
msgstr "使用HTML內文格式"
|
97 |
+
|
98 |
+
#: contact-form-7/admin/admin-panel.php:137
|
99 |
+
#: contact-form-7/admin/admin-panel.php:193
|
100 |
+
msgid "Message body:"
|
101 |
+
msgstr "郵件內容:"
|
102 |
+
|
103 |
+
#: contact-form-7/admin/admin-panel.php:148
|
104 |
+
msgid "Mail (2)"
|
105 |
+
msgstr "郵件(2)"
|
106 |
+
|
107 |
+
#: contact-form-7/admin/admin-panel.php:155
|
108 |
+
msgid "Use mail (2)"
|
109 |
+
msgstr "使用郵件(2)"
|
110 |
+
|
111 |
+
#: contact-form-7/admin/admin-panel.php:204
|
112 |
+
msgid "Messages"
|
113 |
+
msgstr "郵件內容"
|
114 |
+
|
115 |
+
#: contact-form-7/admin/admin-panel.php:212
|
116 |
+
msgid "Sender's message was sent successfully"
|
117 |
+
msgstr "寄件者的信件已經成功寄出"
|
118 |
+
|
119 |
+
#: contact-form-7/admin/admin-panel.php:216
|
120 |
+
msgid "Sender's message was failed to send"
|
121 |
+
msgstr "寄件者的信件傳送失敗"
|
122 |
+
|
123 |
+
#: contact-form-7/admin/admin-panel.php:220
|
124 |
+
msgid "Akismet judged the sending activity as spamming"
|
125 |
+
msgstr "經Akismet機制判斷,這個寄信的動作為濫發廣告信"
|
126 |
+
|
127 |
+
#: contact-form-7/admin/admin-panel.php:224
|
128 |
+
msgid "Validation errors occurred"
|
129 |
+
msgstr "發生認證錯誤"
|
130 |
+
|
131 |
+
#: contact-form-7/admin/admin-panel.php:228
|
132 |
+
msgid "There is a field that sender is needed to fill in"
|
133 |
+
msgstr " 有一個必需填寫的欄位不允許空白,請寄信者再確認。"
|
134 |
+
|
135 |
+
#: contact-form-7/admin/admin-panel.php:232
|
136 |
+
msgid "Email address that sender entered is invalid"
|
137 |
+
msgstr " 電子郵件格式不符,請寄信者再確認。"
|
138 |
+
|
139 |
+
#: contact-form-7/admin/admin-panel.php:236
|
140 |
+
msgid "There is a field of term that sender is needed to accept"
|
141 |
+
msgstr "寄信者必需接受使用者條款"
|
142 |
+
|
143 |
+
#: contact-form-7/admin/admin-panel.php:240
|
144 |
+
msgid "Sender doesn't enter the correct answer to the quiz"
|
145 |
+
msgstr "寄信者沒有輸入測驗題目的正確答案"
|
146 |
+
|
147 |
+
#: contact-form-7/admin/admin-panel.php:244
|
148 |
+
msgid "The code that sender entered does not match the CAPTCHA"
|
149 |
+
msgstr "寄信者所輸入的圖片認證碼錯誤"
|
150 |
+
|
151 |
+
#: contact-form-7/admin/admin-panel.php:248
|
152 |
+
msgid "Uploading a file fails for any reason"
|
153 |
+
msgstr "檔案上傳的過程中,因不明原因導致上傳失敗。"
|
154 |
+
|
155 |
+
#: contact-form-7/admin/admin-panel.php:252
|
156 |
+
msgid "Uploaded file is not allowed file type"
|
157 |
+
msgstr "所上傳的檔案是不被允許的檔案種類"
|
158 |
+
|
159 |
+
#: contact-form-7/admin/admin-panel.php:256
|
160 |
+
msgid "Uploaded file is too large"
|
161 |
+
msgstr "上傳擋案過大"
|
162 |
+
|
163 |
+
#: contact-form-7/admin/admin-panel.php:269
|
164 |
+
msgid "Additional Settings"
|
165 |
+
msgstr "額外的設定"
|
166 |
+
|
167 |
+
#: contact-form-7/admin/admin.php:157
|
168 |
msgid "optional"
|
169 |
msgstr "可不填"
|
170 |
|
171 |
+
#: contact-form-7/admin/admin.php:158
|
172 |
msgid "Generate Tag"
|
173 |
msgstr "標籤產生器"
|
174 |
|
175 |
+
#: contact-form-7/admin/admin.php:159
|
176 |
msgid "Text field"
|
177 |
msgstr "文字欄位"
|
178 |
|
179 |
+
#: contact-form-7/admin/admin.php:160
|
180 |
msgid "Email field"
|
181 |
msgstr "電子郵件欄位"
|
182 |
|
183 |
+
#: contact-form-7/admin/admin.php:161
|
184 |
msgid "Text area"
|
185 |
msgstr "文字區塊"
|
186 |
|
187 |
+
#: contact-form-7/admin/admin.php:162
|
188 |
msgid "Drop-down menu"
|
189 |
msgstr "下拉式選單"
|
190 |
|
191 |
+
#: contact-form-7/admin/admin.php:163
|
192 |
msgid "Checkboxes"
|
193 |
msgstr "核選方塊"
|
194 |
|
195 |
+
#: contact-form-7/admin/admin.php:164
|
196 |
msgid "Radio buttons"
|
197 |
msgstr "選項按鈕"
|
198 |
|
199 |
+
#: contact-form-7/admin/admin.php:165
|
200 |
msgid "Acceptance"
|
201 |
msgstr "接受使用條款"
|
202 |
|
203 |
+
#: contact-form-7/admin/admin.php:166
|
204 |
msgid "Make this checkbox checked by default?"
|
205 |
msgstr "預設核選方塊為核取(已勾選)?"
|
206 |
|
207 |
+
#: contact-form-7/admin/admin.php:167
|
208 |
msgid "Make this checkbox work inversely?"
|
209 |
msgstr "設定核取方塊被選取的狀態相反?"
|
210 |
|
211 |
+
#: contact-form-7/admin/admin.php:168
|
212 |
msgid "* That means visitor who accepts the term unchecks it."
|
213 |
msgstr "*意思是如果使用者如果接受服務條款,則不需勾選核取方塊。"
|
214 |
|
215 |
+
#: contact-form-7/admin/admin.php:169
|
216 |
msgid "CAPTCHA"
|
217 |
msgstr "圖片驗證"
|
218 |
|
219 |
+
#: contact-form-7/admin/admin.php:170
|
220 |
msgid "Quiz"
|
221 |
msgstr "測驗題目驗證"
|
222 |
|
223 |
+
#: contact-form-7/admin/admin.php:171
|
224 |
msgid "Quizzes"
|
225 |
msgstr "測驗題庫"
|
226 |
|
227 |
+
#: contact-form-7/admin/admin.php:172
|
228 |
msgid "* quiz|answer (e.g. 1+1=?|2)"
|
229 |
msgstr "* 測驗題目|答案 (例如 1+1=?|2)"
|
230 |
|
231 |
+
#: contact-form-7/admin/admin.php:173
|
232 |
msgid "File upload"
|
233 |
msgstr "檔案上傳"
|
234 |
|
235 |
+
#: contact-form-7/admin/admin.php:174
|
236 |
msgid "bytes"
|
237 |
msgstr "位元組"
|
238 |
|
239 |
+
#: contact-form-7/admin/admin.php:175
|
240 |
msgid "Submit button"
|
241 |
msgstr "提交按鈕"
|
242 |
|
243 |
+
#: contact-form-7/admin/admin.php:176
|
244 |
msgid "Name"
|
245 |
msgstr "物件名稱"
|
246 |
|
247 |
+
#: contact-form-7/admin/admin.php:177
|
248 |
msgid "Required field?"
|
249 |
msgstr "設定為必要欄位?"
|
250 |
|
251 |
+
#: contact-form-7/admin/admin.php:178
|
252 |
msgid "Allow multiple selections?"
|
253 |
msgstr "允許在下拉式選單中,可以選擇一個以上的選項?"
|
254 |
|
255 |
+
#: contact-form-7/admin/admin.php:179
|
256 |
msgid "Insert a blank item as the first option?"
|
257 |
msgstr "要插入一個空白資料欄位,作為第一個選項?"
|
258 |
|
259 |
+
#: contact-form-7/admin/admin.php:180
|
260 |
msgid "Make checkboxes exclusive?"
|
261 |
msgstr "設定核取方塊,為不允許修改(唯讀)?"
|
262 |
|
263 |
+
#: contact-form-7/admin/admin.php:181
|
264 |
msgid "Choices"
|
265 |
msgstr "選項"
|
266 |
|
267 |
+
#: contact-form-7/admin/admin.php:182
|
268 |
msgid "Label"
|
269 |
msgstr "標籤"
|
270 |
|
271 |
+
#: contact-form-7/admin/admin.php:183
|
272 |
msgid "Default value"
|
273 |
msgstr "預設值"
|
274 |
|
275 |
+
#: contact-form-7/admin/admin.php:184
|
276 |
msgid "Akismet"
|
277 |
msgstr "Akismet(防止垃圾郵件的插件)"
|
278 |
|
279 |
+
#: contact-form-7/admin/admin.php:185
|
280 |
msgid "This field requires author's name"
|
281 |
msgstr "這個欄位需要填寫作者的姓名"
|
282 |
|
283 |
+
#: contact-form-7/admin/admin.php:186
|
284 |
msgid "This field requires author's URL"
|
285 |
msgstr "這個欄位需要填寫作者的網址"
|
286 |
|
287 |
+
#: contact-form-7/admin/admin.php:187
|
288 |
msgid "This field requires author's email address"
|
289 |
msgstr "這個欄位需要填寫作者的電子郵件信箱"
|
290 |
|
291 |
+
#: contact-form-7/admin/admin.php:188
|
292 |
msgid "Copy this code and paste it into the form left."
|
293 |
msgstr "把這段代碼複製後,貼到左方的表格"
|
294 |
|
295 |
+
#: contact-form-7/admin/admin.php:189
|
296 |
msgid "Foreground color"
|
297 |
msgstr "前景顏色"
|
298 |
|
299 |
+
#: contact-form-7/admin/admin.php:190
|
300 |
msgid "Background color"
|
301 |
msgstr "背景顏色"
|
302 |
|
303 |
+
#: contact-form-7/admin/admin.php:191
|
304 |
msgid "Image size"
|
305 |
msgstr "圖片尺寸"
|
306 |
|
307 |
+
#: contact-form-7/admin/admin.php:192
|
308 |
msgid "Small"
|
309 |
msgstr "小"
|
310 |
|
311 |
+
#: contact-form-7/admin/admin.php:193
|
312 |
msgid "Medium"
|
313 |
msgstr "中"
|
314 |
|
315 |
+
#: contact-form-7/admin/admin.php:194
|
316 |
msgid "Large"
|
317 |
msgstr "大"
|
318 |
|
319 |
+
#: contact-form-7/admin/admin.php:195
|
320 |
msgid "Image settings"
|
321 |
msgstr "圖片設定"
|
322 |
|
323 |
+
#: contact-form-7/admin/admin.php:196
|
324 |
msgid "Input field settings"
|
325 |
msgstr "設定輸入欄位"
|
326 |
|
327 |
+
#: contact-form-7/admin/admin.php:197
|
328 |
msgid "For image"
|
329 |
msgstr "圖片使用"
|
330 |
|
331 |
+
#: contact-form-7/admin/admin.php:198
|
332 |
msgid "For input field"
|
333 |
msgstr "輸入欄位使用"
|
334 |
|
335 |
+
#: contact-form-7/admin/admin.php:199
|
336 |
msgid "* One choice per line."
|
337 |
msgstr "*每行只能有一個選項。"
|
338 |
|
339 |
+
#: contact-form-7/admin/admin.php:200
|
340 |
msgid "Show"
|
341 |
msgstr "顯示"
|
342 |
|
343 |
+
#: contact-form-7/admin/admin.php:201
|
344 |
msgid "Hide"
|
345 |
msgstr "隱藏"
|
346 |
|
347 |
+
#: contact-form-7/admin/admin.php:202
|
348 |
msgid "File size limit"
|
349 |
msgstr "檔案大小限制"
|
350 |
|
351 |
+
#: contact-form-7/admin/admin.php:203
|
352 |
msgid "Acceptable file types"
|
353 |
msgstr "可接受上傳檔案的種類"
|
354 |
|
355 |
+
#: contact-form-7/admin/admin.php:204
|
356 |
+
msgid "Note: To use CAPTCHA, you need Really Simple CAPTCHA plugin installed."
|
357 |
+
msgstr "作者註:使用圖片驗證(CAPTCHA)的功能前,您必需先安裝\"Really Simple CAPTCHA\"這個外掛。"
|
358 |
+
|
359 |
+
#: contact-form-7/admin/admin.php:223
|
360 |
msgid "Contact form created."
|
361 |
msgstr "已新增聯絡表單。"
|
362 |
|
363 |
+
#: contact-form-7/admin/admin.php:226
|
364 |
msgid "Contact form saved."
|
365 |
msgstr "已儲存聯絡表單。"
|
366 |
|
367 |
+
#: contact-form-7/admin/admin.php:229
|
368 |
msgid "Contact form deleted."
|
369 |
msgstr "已刪除聯絡表單。"
|
370 |
|
371 |
+
#: contact-form-7/admin/admin.php:240
|
372 |
msgid "Untitled"
|
373 |
msgstr "無標題"
|
374 |
|
375 |
+
#: contact-form-7/admin/admin.php:253
|
376 |
msgid "Your Name"
|
377 |
msgstr "您的姓名"
|
378 |
|
379 |
+
#: contact-form-7/admin/admin.php:253
|
380 |
+
#: contact-form-7/admin/admin.php:255
|
381 |
msgid "(required)"
|
382 |
msgstr "〈需填寫〉"
|
383 |
|
384 |
+
#: contact-form-7/admin/admin.php:255
|
385 |
msgid "Your Email"
|
386 |
msgstr "您的電子郵件信箱"
|
387 |
|
388 |
+
#: contact-form-7/admin/admin.php:257
|
389 |
msgid "Subject"
|
390 |
msgstr "主旨"
|
391 |
|
392 |
+
#: contact-form-7/admin/admin.php:259
|
393 |
msgid "Your Message"
|
394 |
msgstr "您的信件內容"
|
395 |
|
396 |
+
#: contact-form-7/admin/admin.php:261
|
397 |
+
#: contact-form-7/includes/classes.php:411
|
398 |
msgid "Send"
|
399 |
msgstr "傳送"
|
400 |
|
401 |
+
#: contact-form-7/admin/admin.php:334
|
402 |
+
#, fuzzy
|
403 |
+
msgid "Settings"
|
404 |
+
msgstr "圖片設定"
|
405 |
+
|
406 |
+
#: contact-form-7/admin/admin.php:355
|
407 |
+
msgid "Contact Form 7 needs your support. Please donate today."
|
408 |
+
msgstr "Contact Form 7 需要您的支持,請今天就慷慨解囊。"
|
409 |
+
|
410 |
+
#: contact-form-7/admin/admin.php:356
|
411 |
+
msgid "Is this plugin useful for you? If you like it, please help the developer."
|
412 |
+
msgstr "您覺得本外掛實用嗎? 如果您喜歡這個外掛,請捐款支持本外掛的作者。"
|
413 |
+
|
414 |
+
#: contact-form-7/admin/admin.php:357
|
415 |
+
msgid "Your contribution is needed for making this plugin better."
|
416 |
+
msgstr "為了讓這個外掛更好用,我們需要您的捐款。"
|
417 |
+
|
418 |
+
#: contact-form-7/admin/admin.php:358
|
419 |
+
msgid "Developing a plugin and providing user support is really hard work. Please help."
|
420 |
+
msgstr "外掛程式的製作和幫助使用者解決技術上的問題,是很辛苦的工作。請捐款支持。"
|
421 |
+
|
422 |
+
#: contact-form-7/includes/classes.php:352
|
423 |
+
msgid "To use CAPTCHA, you need <a href=\"http://wordpress.org/extend/plugins/really-simple-captcha/\">Really Simple CAPTCHA</a> plugin installed."
|
424 |
+
msgstr "使用圖片驗證(CAPTCHA)的功能前,您必需先安裝 <a href=\"http://wordpress.org/extend/plugins/really-simple-captcha/\">Really Simple CAPTCHA</a>這個外掛。"
|
425 |
+
|
426 |
+
#: contact-form-7/includes/functions.php:6
|
427 |
msgid "Your message was sent successfully. Thanks."
|
428 |
msgstr "您的信件已成功寄出,感謝。"
|
429 |
|
430 |
+
#: contact-form-7/includes/functions.php:8
|
431 |
+
#: contact-form-7/includes/functions.php:10
|
432 |
msgid "Failed to send your message. Please try later or contact administrator by other way."
|
433 |
msgstr "信件傳送失敗。請稍後再試或以其他方式與站管人員聯絡。"
|
434 |
|
435 |
+
#: contact-form-7/includes/functions.php:12
|
436 |
msgid "Validation errors occurred. Please confirm the fields and submit it again."
|
437 |
msgstr "認證發生錯誤。請確認各項欄位資料是否正確後,再行提交。"
|
438 |
|
439 |
+
#: contact-form-7/includes/functions.php:14
|
440 |
msgid "Please accept the terms to proceed."
|
441 |
msgstr "請接受本服務條款再繼續進行。"
|
442 |
|
443 |
+
#: contact-form-7/includes/functions.php:16
|
444 |
msgid "Email address seems invalid."
|
445 |
msgstr "電子郵件格式不符。"
|
446 |
|
447 |
+
#: contact-form-7/includes/functions.php:18
|
448 |
msgid "Please fill the required field."
|
449 |
msgstr "請填寫必要欄位。"
|
450 |
|
451 |
+
#: contact-form-7/includes/functions.php:20
|
452 |
msgid "Your entered code is incorrect."
|
453 |
msgstr "您輸入的認證代碼錯誤。 "
|
454 |
|
455 |
+
#: contact-form-7/includes/functions.php:22
|
456 |
msgid "Your answer is not correct."
|
457 |
msgstr "您的答案不正確。"
|
458 |
|
459 |
+
#: contact-form-7/includes/functions.php:24
|
460 |
msgid "Failed to upload file."
|
461 |
msgstr "上傳檔案失敗。"
|
462 |
|
463 |
+
#: contact-form-7/includes/functions.php:26
|
464 |
msgid "This file type is not allowed."
|
465 |
msgstr "上傳的檔案不是允許的檔案種類。"
|
466 |
|
467 |
+
#: contact-form-7/includes/functions.php:28
|
468 |
msgid "This file is too large."
|
469 |
msgstr "上傳檔案過大。"
|
470 |
|
471 |
+
#~ msgid "Delete this contact form"
|
472 |
+
#~ msgstr "刪除這個聯絡表單"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
473 |
|
languages/wpcf7.pot
CHANGED
@@ -2,9 +2,9 @@ msgid ""
|
|
2 |
msgstr ""
|
3 |
"Project-Id-Version: Contact Form 7\n"
|
4 |
"Report-Msgid-Bugs-To: \n"
|
5 |
-
"POT-Creation-Date: 2009-
|
6 |
-
"PO-Revision-Date: 2009-
|
7 |
-
"Last-Translator:
|
8 |
"Language-Team: \n"
|
9 |
"MIME-Version: 1.0\n"
|
10 |
"Content-Type: text/plain; charset=UTF-8\n"
|
@@ -15,410 +15,383 @@ msgstr ""
|
|
15 |
"Plural-Forms: nplurals=1; plural=0;\n"
|
16 |
"X-Poedit-SearchPath-0: contact-form-7\n"
|
17 |
|
18 |
-
#: contact-form-7/
|
19 |
-
|
20 |
-
msgstr ""
|
21 |
-
|
22 |
-
#: contact-form-7/admin/admin-panel.php:6
|
23 |
-
#: contact-form-7/admin/admin.php:111
|
24 |
msgid "Contact Form 7"
|
25 |
msgstr ""
|
26 |
|
27 |
-
#: contact-form-7/admin/admin-panel.php:
|
28 |
msgid "Add new"
|
29 |
msgstr ""
|
30 |
|
31 |
-
#: contact-form-7/admin/admin-panel.php:
|
32 |
msgid "Copy this code and paste it into your post, page or text widget content."
|
33 |
msgstr ""
|
34 |
|
35 |
-
#: contact-form-7/admin/admin-panel.php:
|
36 |
-
#: contact-form-7/admin/admin-panel.php:
|
37 |
msgid "Save"
|
38 |
msgstr ""
|
39 |
|
40 |
-
#: contact-form-7/admin/admin-panel.php:
|
41 |
msgid "Copy"
|
42 |
msgstr ""
|
43 |
|
44 |
-
#: contact-form-7/admin/admin-panel.php:
|
45 |
msgid "Delete"
|
46 |
msgstr ""
|
47 |
|
48 |
-
#: contact-form-7/admin/admin-panel.php:
|
49 |
msgid ""
|
50 |
"You are about to delete this contact form.\n"
|
51 |
" 'Cancel' to stop, 'OK' to delete."
|
52 |
msgstr ""
|
53 |
|
54 |
-
#: contact-form-7/admin/admin-panel.php:
|
55 |
msgid "Form"
|
56 |
msgstr ""
|
57 |
|
58 |
-
#: contact-form-7/admin/admin-panel.php:
|
59 |
msgid "Mail"
|
60 |
msgstr ""
|
61 |
|
62 |
-
#: contact-form-7/admin/admin-panel.php:
|
63 |
-
#: contact-form-7/admin/admin-panel.php:
|
64 |
msgid "To:"
|
65 |
msgstr ""
|
66 |
|
67 |
-
#: contact-form-7/admin/admin-panel.php:
|
68 |
-
#: contact-form-7/admin/admin-panel.php:
|
69 |
msgid "From:"
|
70 |
msgstr ""
|
71 |
|
72 |
-
#: contact-form-7/admin/admin-panel.php:
|
73 |
-
#: contact-form-7/admin/admin-panel.php:
|
74 |
msgid "Subject:"
|
75 |
msgstr ""
|
76 |
|
77 |
-
#: contact-form-7/admin/admin-panel.php:
|
78 |
-
#: contact-form-7/admin/admin-panel.php:
|
79 |
msgid "Additional headers:"
|
80 |
msgstr ""
|
81 |
|
82 |
-
#: contact-form-7/admin/admin-panel.php:
|
83 |
-
#: contact-form-7/admin/admin-panel.php:
|
84 |
msgid "File attachments:"
|
85 |
msgstr ""
|
86 |
|
87 |
-
#: contact-form-7/admin/admin-panel.php:
|
88 |
-
#: contact-form-7/admin/admin-panel.php:
|
89 |
-
msgid "(You need WordPress 2.7 or greater to use this feature)"
|
90 |
-
msgstr ""
|
91 |
-
|
92 |
-
#: contact-form-7/admin/admin-panel.php:132
|
93 |
-
#: contact-form-7/admin/admin-panel.php:188
|
94 |
msgid "Use HTML content type"
|
95 |
msgstr ""
|
96 |
|
97 |
-
#: contact-form-7/admin/admin-panel.php:
|
98 |
-
#: contact-form-7/admin/admin-panel.php:
|
99 |
msgid "Message body:"
|
100 |
msgstr ""
|
101 |
|
102 |
-
#: contact-form-7/admin/admin-panel.php:
|
103 |
msgid "Mail (2)"
|
104 |
msgstr ""
|
105 |
|
106 |
-
#: contact-form-7/admin/admin-panel.php:
|
107 |
msgid "Use mail (2)"
|
108 |
msgstr ""
|
109 |
|
110 |
-
#: contact-form-7/admin/admin-panel.php:
|
111 |
msgid "Messages"
|
112 |
msgstr ""
|
113 |
|
114 |
-
#: contact-form-7/admin/admin-panel.php:
|
115 |
msgid "Sender's message was sent successfully"
|
116 |
msgstr ""
|
117 |
|
118 |
-
#: contact-form-7/admin/admin-panel.php:
|
119 |
msgid "Sender's message was failed to send"
|
120 |
msgstr ""
|
121 |
|
122 |
-
#: contact-form-7/admin/admin-panel.php:
|
123 |
msgid "Akismet judged the sending activity as spamming"
|
124 |
msgstr ""
|
125 |
|
126 |
-
#: contact-form-7/admin/admin-panel.php:
|
127 |
msgid "Validation errors occurred"
|
128 |
msgstr ""
|
129 |
|
130 |
-
#: contact-form-7/admin/admin-panel.php:
|
131 |
msgid "There is a field that sender is needed to fill in"
|
132 |
msgstr ""
|
133 |
|
134 |
-
#: contact-form-7/admin/admin-panel.php:
|
135 |
msgid "Email address that sender entered is invalid"
|
136 |
msgstr ""
|
137 |
|
138 |
-
#: contact-form-7/admin/admin-panel.php:
|
139 |
msgid "There is a field of term that sender is needed to accept"
|
140 |
msgstr ""
|
141 |
|
142 |
-
#: contact-form-7/admin/admin-panel.php:
|
143 |
msgid "Sender doesn't enter the correct answer to the quiz"
|
144 |
msgstr ""
|
145 |
|
146 |
-
#: contact-form-7/admin/admin-panel.php:
|
147 |
msgid "The code that sender entered does not match the CAPTCHA"
|
148 |
msgstr ""
|
149 |
|
150 |
-
#: contact-form-7/admin/admin-panel.php:
|
151 |
msgid "Uploading a file fails for any reason"
|
152 |
msgstr ""
|
153 |
|
154 |
-
#: contact-form-7/admin/admin-panel.php:
|
155 |
msgid "Uploaded file is not allowed file type"
|
156 |
msgstr ""
|
157 |
|
158 |
-
#: contact-form-7/admin/admin-panel.php:
|
159 |
msgid "Uploaded file is too large"
|
160 |
msgstr ""
|
161 |
|
162 |
-
#: contact-form-7/admin/admin-panel.php:
|
163 |
msgid "Additional Settings"
|
164 |
msgstr ""
|
165 |
|
166 |
-
#: contact-form-7/admin/admin.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
167 |
msgid "optional"
|
168 |
msgstr ""
|
169 |
|
170 |
-
#: contact-form-7/admin/admin.php:
|
171 |
msgid "Generate Tag"
|
172 |
msgstr ""
|
173 |
|
174 |
-
#: contact-form-7/admin/admin.php:
|
175 |
msgid "Text field"
|
176 |
msgstr ""
|
177 |
|
178 |
-
#: contact-form-7/admin/admin.php:
|
179 |
msgid "Email field"
|
180 |
msgstr ""
|
181 |
|
182 |
-
#: contact-form-7/admin/admin.php:
|
183 |
msgid "Text area"
|
184 |
msgstr ""
|
185 |
|
186 |
-
#: contact-form-7/admin/admin.php:
|
187 |
msgid "Drop-down menu"
|
188 |
msgstr ""
|
189 |
|
190 |
-
#: contact-form-7/admin/admin.php:
|
191 |
msgid "Checkboxes"
|
192 |
msgstr ""
|
193 |
|
194 |
-
#: contact-form-7/admin/admin.php:
|
195 |
msgid "Radio buttons"
|
196 |
msgstr ""
|
197 |
|
198 |
-
#: contact-form-7/admin/admin.php:
|
199 |
msgid "Acceptance"
|
200 |
msgstr ""
|
201 |
|
202 |
-
#: contact-form-7/admin/admin.php:
|
203 |
msgid "Make this checkbox checked by default?"
|
204 |
msgstr ""
|
205 |
|
206 |
-
#: contact-form-7/admin/admin.php:
|
207 |
msgid "Make this checkbox work inversely?"
|
208 |
msgstr ""
|
209 |
|
210 |
-
#: contact-form-7/admin/admin.php:
|
211 |
msgid "* That means visitor who accepts the term unchecks it."
|
212 |
msgstr ""
|
213 |
|
214 |
-
#: contact-form-7/admin/admin.php:
|
215 |
msgid "CAPTCHA"
|
216 |
msgstr ""
|
217 |
|
218 |
-
#: contact-form-7/admin/admin.php:
|
219 |
msgid "Quiz"
|
220 |
msgstr ""
|
221 |
|
222 |
-
#: contact-form-7/admin/admin.php:
|
223 |
msgid "Quizzes"
|
224 |
msgstr ""
|
225 |
|
226 |
-
#: contact-form-7/admin/admin.php:
|
227 |
msgid "* quiz|answer (e.g. 1+1=?|2)"
|
228 |
msgstr ""
|
229 |
|
230 |
-
#: contact-form-7/admin/admin.php:
|
231 |
msgid "File upload"
|
232 |
msgstr ""
|
233 |
|
234 |
-
#: contact-form-7/admin/admin.php:
|
235 |
msgid "bytes"
|
236 |
msgstr ""
|
237 |
|
238 |
-
#: contact-form-7/admin/admin.php:
|
239 |
msgid "Submit button"
|
240 |
msgstr ""
|
241 |
|
242 |
-
#: contact-form-7/admin/admin.php:
|
243 |
msgid "Name"
|
244 |
msgstr ""
|
245 |
|
246 |
-
#: contact-form-7/admin/admin.php:
|
247 |
msgid "Required field?"
|
248 |
msgstr ""
|
249 |
|
250 |
-
#: contact-form-7/admin/admin.php:
|
251 |
msgid "Allow multiple selections?"
|
252 |
msgstr ""
|
253 |
|
254 |
-
#: contact-form-7/admin/admin.php:
|
255 |
msgid "Insert a blank item as the first option?"
|
256 |
msgstr ""
|
257 |
|
258 |
-
#: contact-form-7/admin/admin.php:
|
259 |
msgid "Make checkboxes exclusive?"
|
260 |
msgstr ""
|
261 |
|
262 |
-
#: contact-form-7/admin/admin.php:
|
263 |
msgid "Choices"
|
264 |
msgstr ""
|
265 |
|
266 |
-
#: contact-form-7/admin/admin.php:
|
267 |
msgid "Label"
|
268 |
msgstr ""
|
269 |
|
270 |
-
#: contact-form-7/admin/admin.php:
|
271 |
msgid "Default value"
|
272 |
msgstr ""
|
273 |
|
274 |
-
#: contact-form-7/admin/admin.php:
|
275 |
msgid "Akismet"
|
276 |
msgstr ""
|
277 |
|
278 |
-
#: contact-form-7/admin/admin.php:
|
279 |
msgid "This field requires author's name"
|
280 |
msgstr ""
|
281 |
|
282 |
-
#: contact-form-7/admin/admin.php:
|
283 |
msgid "This field requires author's URL"
|
284 |
msgstr ""
|
285 |
|
286 |
-
#: contact-form-7/admin/admin.php:
|
287 |
msgid "This field requires author's email address"
|
288 |
msgstr ""
|
289 |
|
290 |
-
#: contact-form-7/admin/admin.php:
|
291 |
msgid "Copy this code and paste it into the form left."
|
292 |
msgstr ""
|
293 |
|
294 |
-
#: contact-form-7/admin/admin.php:
|
295 |
msgid "Foreground color"
|
296 |
msgstr ""
|
297 |
|
298 |
-
#: contact-form-7/admin/admin.php:
|
299 |
msgid "Background color"
|
300 |
msgstr ""
|
301 |
|
302 |
-
#: contact-form-7/admin/admin.php:
|
303 |
msgid "Image size"
|
304 |
msgstr ""
|
305 |
|
306 |
-
#: contact-form-7/admin/admin.php:
|
307 |
msgid "Small"
|
308 |
msgstr ""
|
309 |
|
310 |
-
#: contact-form-7/admin/admin.php:
|
311 |
msgid "Medium"
|
312 |
msgstr ""
|
313 |
|
314 |
-
#: contact-form-7/admin/admin.php:
|
315 |
msgid "Large"
|
316 |
msgstr ""
|
317 |
|
318 |
-
#: contact-form-7/admin/admin.php:
|
319 |
msgid "Image settings"
|
320 |
msgstr ""
|
321 |
|
322 |
-
#: contact-form-7/admin/admin.php:
|
323 |
msgid "Input field settings"
|
324 |
msgstr ""
|
325 |
|
326 |
-
#: contact-form-7/admin/admin.php:
|
327 |
msgid "For image"
|
328 |
msgstr ""
|
329 |
|
330 |
-
#: contact-form-7/admin/admin.php:
|
331 |
msgid "For input field"
|
332 |
msgstr ""
|
333 |
|
334 |
-
#: contact-form-7/admin/admin.php:
|
335 |
msgid "* One choice per line."
|
336 |
msgstr ""
|
337 |
|
338 |
-
#: contact-form-7/admin/admin.php:
|
339 |
msgid "Show"
|
340 |
msgstr ""
|
341 |
|
342 |
-
#: contact-form-7/admin/admin.php:
|
343 |
msgid "Hide"
|
344 |
msgstr ""
|
345 |
|
346 |
-
#: contact-form-7/admin/admin.php:
|
347 |
msgid "File size limit"
|
348 |
msgstr ""
|
349 |
|
350 |
-
#: contact-form-7/admin/admin.php:
|
351 |
msgid "Acceptable file types"
|
352 |
msgstr ""
|
353 |
|
354 |
-
#: contact-form-7/admin/admin.php:
|
355 |
msgid "Note: To use CAPTCHA, you need Really Simple CAPTCHA plugin installed."
|
356 |
msgstr ""
|
357 |
|
358 |
-
#: contact-form-7/admin/admin.php:
|
359 |
msgid "Contact form created."
|
360 |
msgstr ""
|
361 |
|
362 |
-
#: contact-form-7/admin/admin.php:
|
363 |
msgid "Contact form saved."
|
364 |
msgstr ""
|
365 |
|
366 |
-
#: contact-form-7/admin/admin.php:
|
367 |
msgid "Contact form deleted."
|
368 |
msgstr ""
|
369 |
|
370 |
-
#: contact-form-7/admin/admin.php:
|
371 |
-
msgid "
|
372 |
-
msgstr ""
|
373 |
-
|
374 |
-
#: contact-form-7/admin/admin.php:253
|
375 |
-
msgid "Your Name"
|
376 |
-
msgstr ""
|
377 |
-
|
378 |
-
#: contact-form-7/admin/admin.php:253
|
379 |
-
#: contact-form-7/admin/admin.php:255
|
380 |
-
msgid "(required)"
|
381 |
-
msgstr ""
|
382 |
-
|
383 |
-
#: contact-form-7/admin/admin.php:255
|
384 |
-
msgid "Your Email"
|
385 |
-
msgstr ""
|
386 |
-
|
387 |
-
#: contact-form-7/admin/admin.php:257
|
388 |
-
msgid "Subject"
|
389 |
-
msgstr ""
|
390 |
-
|
391 |
-
#: contact-form-7/admin/admin.php:259
|
392 |
-
msgid "Your Message"
|
393 |
-
msgstr ""
|
394 |
-
|
395 |
-
#: contact-form-7/admin/admin.php:261
|
396 |
-
#: contact-form-7/includes/classes.php:411
|
397 |
-
msgid "Send"
|
398 |
msgstr ""
|
399 |
|
400 |
-
#: contact-form-7/admin/admin.php:
|
401 |
msgid "Settings"
|
402 |
msgstr ""
|
403 |
|
404 |
-
#: contact-form-7/admin/admin.php:
|
405 |
msgid "Contact Form 7 needs your support. Please donate today."
|
406 |
msgstr ""
|
407 |
|
408 |
-
#: contact-form-7/admin/admin.php:
|
409 |
msgid "Is this plugin useful for you? If you like it, please help the developer."
|
410 |
msgstr ""
|
411 |
|
412 |
-
#: contact-form-7/admin/admin.php:
|
413 |
msgid "Your contribution is needed for making this plugin better."
|
414 |
msgstr ""
|
415 |
|
416 |
-
#: contact-form-7/admin/admin.php:
|
417 |
msgid "Developing a plugin and providing user support is really hard work. Please help."
|
418 |
msgstr ""
|
419 |
|
420 |
-
#: contact-form-7/includes/classes.php:
|
421 |
-
msgid "
|
422 |
msgstr ""
|
423 |
|
424 |
#: contact-form-7/includes/functions.php:6
|
@@ -466,3 +439,33 @@ msgstr ""
|
|
466 |
msgid "This file is too large."
|
467 |
msgstr ""
|
468 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
msgstr ""
|
3 |
"Project-Id-Version: Contact Form 7\n"
|
4 |
"Report-Msgid-Bugs-To: \n"
|
5 |
+
"POT-Creation-Date: 2009-07-16 00:33+0900\n"
|
6 |
+
"PO-Revision-Date: 2009-07-16 00:33+0900\n"
|
7 |
+
"Last-Translator: \n"
|
8 |
"Language-Team: \n"
|
9 |
"MIME-Version: 1.0\n"
|
10 |
"Content-Type: text/plain; charset=UTF-8\n"
|
15 |
"Plural-Forms: nplurals=1; plural=0;\n"
|
16 |
"X-Poedit-SearchPath-0: contact-form-7\n"
|
17 |
|
18 |
+
#: contact-form-7/admin/admin-panel.php:3
|
19 |
+
#: contact-form-7/admin/admin.php:102
|
|
|
|
|
|
|
|
|
20 |
msgid "Contact Form 7"
|
21 |
msgstr ""
|
22 |
|
23 |
+
#: contact-form-7/admin/admin-panel.php:18
|
24 |
msgid "Add new"
|
25 |
msgstr ""
|
26 |
|
27 |
+
#: contact-form-7/admin/admin-panel.php:40
|
28 |
msgid "Copy this code and paste it into your post, page or text widget content."
|
29 |
msgstr ""
|
30 |
|
31 |
+
#: contact-form-7/admin/admin-panel.php:47
|
32 |
+
#: contact-form-7/admin/admin-panel.php:279
|
33 |
msgid "Save"
|
34 |
msgstr ""
|
35 |
|
36 |
+
#: contact-form-7/admin/admin-panel.php:54
|
37 |
msgid "Copy"
|
38 |
msgstr ""
|
39 |
|
40 |
+
#: contact-form-7/admin/admin-panel.php:58
|
41 |
msgid "Delete"
|
42 |
msgstr ""
|
43 |
|
44 |
+
#: contact-form-7/admin/admin-panel.php:60
|
45 |
msgid ""
|
46 |
"You are about to delete this contact form.\n"
|
47 |
" 'Cancel' to stop, 'OK' to delete."
|
48 |
msgstr ""
|
49 |
|
50 |
+
#: contact-form-7/admin/admin-panel.php:75
|
51 |
msgid "Form"
|
52 |
msgstr ""
|
53 |
|
54 |
+
#: contact-form-7/admin/admin-panel.php:95
|
55 |
msgid "Mail"
|
56 |
msgstr ""
|
57 |
|
58 |
+
#: contact-form-7/admin/admin-panel.php:102
|
59 |
+
#: contact-form-7/admin/admin-panel.php:155
|
60 |
msgid "To:"
|
61 |
msgstr ""
|
62 |
|
63 |
+
#: contact-form-7/admin/admin-panel.php:106
|
64 |
+
#: contact-form-7/admin/admin-panel.php:159
|
65 |
msgid "From:"
|
66 |
msgstr ""
|
67 |
|
68 |
+
#: contact-form-7/admin/admin-panel.php:110
|
69 |
+
#: contact-form-7/admin/admin-panel.php:163
|
70 |
msgid "Subject:"
|
71 |
msgstr ""
|
72 |
|
73 |
+
#: contact-form-7/admin/admin-panel.php:115
|
74 |
+
#: contact-form-7/admin/admin-panel.php:168
|
75 |
msgid "Additional headers:"
|
76 |
msgstr ""
|
77 |
|
78 |
+
#: contact-form-7/admin/admin-panel.php:119
|
79 |
+
#: contact-form-7/admin/admin-panel.php:172
|
80 |
msgid "File attachments:"
|
81 |
msgstr ""
|
82 |
|
83 |
+
#: contact-form-7/admin/admin-panel.php:126
|
84 |
+
#: contact-form-7/admin/admin-panel.php:179
|
|
|
|
|
|
|
|
|
|
|
85 |
msgid "Use HTML content type"
|
86 |
msgstr ""
|
87 |
|
88 |
+
#: contact-form-7/admin/admin-panel.php:131
|
89 |
+
#: contact-form-7/admin/admin-panel.php:184
|
90 |
msgid "Message body:"
|
91 |
msgstr ""
|
92 |
|
93 |
+
#: contact-form-7/admin/admin-panel.php:142
|
94 |
msgid "Mail (2)"
|
95 |
msgstr ""
|
96 |
|
97 |
+
#: contact-form-7/admin/admin-panel.php:149
|
98 |
msgid "Use mail (2)"
|
99 |
msgstr ""
|
100 |
|
101 |
+
#: contact-form-7/admin/admin-panel.php:195
|
102 |
msgid "Messages"
|
103 |
msgstr ""
|
104 |
|
105 |
+
#: contact-form-7/admin/admin-panel.php:203
|
106 |
msgid "Sender's message was sent successfully"
|
107 |
msgstr ""
|
108 |
|
109 |
+
#: contact-form-7/admin/admin-panel.php:207
|
110 |
msgid "Sender's message was failed to send"
|
111 |
msgstr ""
|
112 |
|
113 |
+
#: contact-form-7/admin/admin-panel.php:211
|
114 |
msgid "Akismet judged the sending activity as spamming"
|
115 |
msgstr ""
|
116 |
|
117 |
+
#: contact-form-7/admin/admin-panel.php:215
|
118 |
msgid "Validation errors occurred"
|
119 |
msgstr ""
|
120 |
|
121 |
+
#: contact-form-7/admin/admin-panel.php:219
|
122 |
msgid "There is a field that sender is needed to fill in"
|
123 |
msgstr ""
|
124 |
|
125 |
+
#: contact-form-7/admin/admin-panel.php:223
|
126 |
msgid "Email address that sender entered is invalid"
|
127 |
msgstr ""
|
128 |
|
129 |
+
#: contact-form-7/admin/admin-panel.php:227
|
130 |
msgid "There is a field of term that sender is needed to accept"
|
131 |
msgstr ""
|
132 |
|
133 |
+
#: contact-form-7/admin/admin-panel.php:231
|
134 |
msgid "Sender doesn't enter the correct answer to the quiz"
|
135 |
msgstr ""
|
136 |
|
137 |
+
#: contact-form-7/admin/admin-panel.php:235
|
138 |
msgid "The code that sender entered does not match the CAPTCHA"
|
139 |
msgstr ""
|
140 |
|
141 |
+
#: contact-form-7/admin/admin-panel.php:239
|
142 |
msgid "Uploading a file fails for any reason"
|
143 |
msgstr ""
|
144 |
|
145 |
+
#: contact-form-7/admin/admin-panel.php:243
|
146 |
msgid "Uploaded file is not allowed file type"
|
147 |
msgstr ""
|
148 |
|
149 |
+
#: contact-form-7/admin/admin-panel.php:247
|
150 |
msgid "Uploaded file is too large"
|
151 |
msgstr ""
|
152 |
|
153 |
+
#: contact-form-7/admin/admin-panel.php:260
|
154 |
msgid "Additional Settings"
|
155 |
msgstr ""
|
156 |
|
157 |
+
#: contact-form-7/admin/admin.php:105
|
158 |
+
msgid "Edit Contact Forms"
|
159 |
+
msgstr ""
|
160 |
+
|
161 |
+
#: contact-form-7/admin/admin.php:105
|
162 |
+
msgid "Edit"
|
163 |
+
msgstr ""
|
164 |
+
|
165 |
+
#: contact-form-7/admin/admin.php:152
|
166 |
msgid "optional"
|
167 |
msgstr ""
|
168 |
|
169 |
+
#: contact-form-7/admin/admin.php:153
|
170 |
msgid "Generate Tag"
|
171 |
msgstr ""
|
172 |
|
173 |
+
#: contact-form-7/admin/admin.php:154
|
174 |
msgid "Text field"
|
175 |
msgstr ""
|
176 |
|
177 |
+
#: contact-form-7/admin/admin.php:155
|
178 |
msgid "Email field"
|
179 |
msgstr ""
|
180 |
|
181 |
+
#: contact-form-7/admin/admin.php:156
|
182 |
msgid "Text area"
|
183 |
msgstr ""
|
184 |
|
185 |
+
#: contact-form-7/admin/admin.php:157
|
186 |
msgid "Drop-down menu"
|
187 |
msgstr ""
|
188 |
|
189 |
+
#: contact-form-7/admin/admin.php:158
|
190 |
msgid "Checkboxes"
|
191 |
msgstr ""
|
192 |
|
193 |
+
#: contact-form-7/admin/admin.php:159
|
194 |
msgid "Radio buttons"
|
195 |
msgstr ""
|
196 |
|
197 |
+
#: contact-form-7/admin/admin.php:160
|
198 |
msgid "Acceptance"
|
199 |
msgstr ""
|
200 |
|
201 |
+
#: contact-form-7/admin/admin.php:161
|
202 |
msgid "Make this checkbox checked by default?"
|
203 |
msgstr ""
|
204 |
|
205 |
+
#: contact-form-7/admin/admin.php:162
|
206 |
msgid "Make this checkbox work inversely?"
|
207 |
msgstr ""
|
208 |
|
209 |
+
#: contact-form-7/admin/admin.php:163
|
210 |
msgid "* That means visitor who accepts the term unchecks it."
|
211 |
msgstr ""
|
212 |
|
213 |
+
#: contact-form-7/admin/admin.php:164
|
214 |
msgid "CAPTCHA"
|
215 |
msgstr ""
|
216 |
|
217 |
+
#: contact-form-7/admin/admin.php:165
|
218 |
msgid "Quiz"
|
219 |
msgstr ""
|
220 |
|
221 |
+
#: contact-form-7/admin/admin.php:166
|
222 |
msgid "Quizzes"
|
223 |
msgstr ""
|
224 |
|
225 |
+
#: contact-form-7/admin/admin.php:167
|
226 |
msgid "* quiz|answer (e.g. 1+1=?|2)"
|
227 |
msgstr ""
|
228 |
|
229 |
+
#: contact-form-7/admin/admin.php:168
|
230 |
msgid "File upload"
|
231 |
msgstr ""
|
232 |
|
233 |
+
#: contact-form-7/admin/admin.php:169
|
234 |
msgid "bytes"
|
235 |
msgstr ""
|
236 |
|
237 |
+
#: contact-form-7/admin/admin.php:170
|
238 |
msgid "Submit button"
|
239 |
msgstr ""
|
240 |
|
241 |
+
#: contact-form-7/admin/admin.php:171
|
242 |
msgid "Name"
|
243 |
msgstr ""
|
244 |
|
245 |
+
#: contact-form-7/admin/admin.php:172
|
246 |
msgid "Required field?"
|
247 |
msgstr ""
|
248 |
|
249 |
+
#: contact-form-7/admin/admin.php:173
|
250 |
msgid "Allow multiple selections?"
|
251 |
msgstr ""
|
252 |
|
253 |
+
#: contact-form-7/admin/admin.php:174
|
254 |
msgid "Insert a blank item as the first option?"
|
255 |
msgstr ""
|
256 |
|
257 |
+
#: contact-form-7/admin/admin.php:175
|
258 |
msgid "Make checkboxes exclusive?"
|
259 |
msgstr ""
|
260 |
|
261 |
+
#: contact-form-7/admin/admin.php:176
|
262 |
msgid "Choices"
|
263 |
msgstr ""
|
264 |
|
265 |
+
#: contact-form-7/admin/admin.php:177
|
266 |
msgid "Label"
|
267 |
msgstr ""
|
268 |
|
269 |
+
#: contact-form-7/admin/admin.php:178
|
270 |
msgid "Default value"
|
271 |
msgstr ""
|
272 |
|
273 |
+
#: contact-form-7/admin/admin.php:179
|
274 |
msgid "Akismet"
|
275 |
msgstr ""
|
276 |
|
277 |
+
#: contact-form-7/admin/admin.php:180
|
278 |
msgid "This field requires author's name"
|
279 |
msgstr ""
|
280 |
|
281 |
+
#: contact-form-7/admin/admin.php:181
|
282 |
msgid "This field requires author's URL"
|
283 |
msgstr ""
|
284 |
|
285 |
+
#: contact-form-7/admin/admin.php:182
|
286 |
msgid "This field requires author's email address"
|
287 |
msgstr ""
|
288 |
|
289 |
+
#: contact-form-7/admin/admin.php:183
|
290 |
msgid "Copy this code and paste it into the form left."
|
291 |
msgstr ""
|
292 |
|
293 |
+
#: contact-form-7/admin/admin.php:184
|
294 |
msgid "Foreground color"
|
295 |
msgstr ""
|
296 |
|
297 |
+
#: contact-form-7/admin/admin.php:185
|
298 |
msgid "Background color"
|
299 |
msgstr ""
|
300 |
|
301 |
+
#: contact-form-7/admin/admin.php:186
|
302 |
msgid "Image size"
|
303 |
msgstr ""
|
304 |
|
305 |
+
#: contact-form-7/admin/admin.php:187
|
306 |
msgid "Small"
|
307 |
msgstr ""
|
308 |
|
309 |
+
#: contact-form-7/admin/admin.php:188
|
310 |
msgid "Medium"
|
311 |
msgstr ""
|
312 |
|
313 |
+
#: contact-form-7/admin/admin.php:189
|
314 |
msgid "Large"
|
315 |
msgstr ""
|
316 |
|
317 |
+
#: contact-form-7/admin/admin.php:190
|
318 |
msgid "Image settings"
|
319 |
msgstr ""
|
320 |
|
321 |
+
#: contact-form-7/admin/admin.php:191
|
322 |
msgid "Input field settings"
|
323 |
msgstr ""
|
324 |
|
325 |
+
#: contact-form-7/admin/admin.php:192
|
326 |
msgid "For image"
|
327 |
msgstr ""
|
328 |
|
329 |
+
#: contact-form-7/admin/admin.php:193
|
330 |
msgid "For input field"
|
331 |
msgstr ""
|
332 |
|
333 |
+
#: contact-form-7/admin/admin.php:194
|
334 |
msgid "* One choice per line."
|
335 |
msgstr ""
|
336 |
|
337 |
+
#: contact-form-7/admin/admin.php:195
|
338 |
msgid "Show"
|
339 |
msgstr ""
|
340 |
|
341 |
+
#: contact-form-7/admin/admin.php:196
|
342 |
msgid "Hide"
|
343 |
msgstr ""
|
344 |
|
345 |
+
#: contact-form-7/admin/admin.php:197
|
346 |
msgid "File size limit"
|
347 |
msgstr ""
|
348 |
|
349 |
+
#: contact-form-7/admin/admin.php:198
|
350 |
msgid "Acceptable file types"
|
351 |
msgstr ""
|
352 |
|
353 |
+
#: contact-form-7/admin/admin.php:199
|
354 |
msgid "Note: To use CAPTCHA, you need Really Simple CAPTCHA plugin installed."
|
355 |
msgstr ""
|
356 |
|
357 |
+
#: contact-form-7/admin/admin.php:214
|
358 |
msgid "Contact form created."
|
359 |
msgstr ""
|
360 |
|
361 |
+
#: contact-form-7/admin/admin.php:217
|
362 |
msgid "Contact form saved."
|
363 |
msgstr ""
|
364 |
|
365 |
+
#: contact-form-7/admin/admin.php:220
|
366 |
msgid "Contact form deleted."
|
367 |
msgstr ""
|
368 |
|
369 |
+
#: contact-form-7/admin/admin.php:293
|
370 |
+
msgid "Contact form"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
371 |
msgstr ""
|
372 |
|
373 |
+
#: contact-form-7/admin/admin.php:313
|
374 |
msgid "Settings"
|
375 |
msgstr ""
|
376 |
|
377 |
+
#: contact-form-7/admin/admin.php:334
|
378 |
msgid "Contact Form 7 needs your support. Please donate today."
|
379 |
msgstr ""
|
380 |
|
381 |
+
#: contact-form-7/admin/admin.php:335
|
382 |
msgid "Is this plugin useful for you? If you like it, please help the developer."
|
383 |
msgstr ""
|
384 |
|
385 |
+
#: contact-form-7/admin/admin.php:336
|
386 |
msgid "Your contribution is needed for making this plugin better."
|
387 |
msgstr ""
|
388 |
|
389 |
+
#: contact-form-7/admin/admin.php:337
|
390 |
msgid "Developing a plugin and providing user support is really hard work. Please help."
|
391 |
msgstr ""
|
392 |
|
393 |
+
#: contact-form-7/includes/classes.php:536
|
394 |
+
msgid "Untitled"
|
395 |
msgstr ""
|
396 |
|
397 |
#: contact-form-7/includes/functions.php:6
|
439 |
msgid "This file is too large."
|
440 |
msgstr ""
|
441 |
|
442 |
+
#: contact-form-7/includes/functions.php:33
|
443 |
+
msgid "Your Name"
|
444 |
+
msgstr ""
|
445 |
+
|
446 |
+
#: contact-form-7/includes/functions.php:33
|
447 |
+
#: contact-form-7/includes/functions.php:35
|
448 |
+
msgid "(required)"
|
449 |
+
msgstr ""
|
450 |
+
|
451 |
+
#: contact-form-7/includes/functions.php:35
|
452 |
+
msgid "Your Email"
|
453 |
+
msgstr ""
|
454 |
+
|
455 |
+
#: contact-form-7/includes/functions.php:37
|
456 |
+
msgid "Subject"
|
457 |
+
msgstr ""
|
458 |
+
|
459 |
+
#: contact-form-7/includes/functions.php:39
|
460 |
+
msgid "Your Message"
|
461 |
+
msgstr ""
|
462 |
+
|
463 |
+
#: contact-form-7/includes/functions.php:41
|
464 |
+
#: contact-form-7/modules/submit.php:37
|
465 |
+
msgid "Send"
|
466 |
+
msgstr ""
|
467 |
+
|
468 |
+
#: contact-form-7/modules/captcha.php:62
|
469 |
+
msgid "To use CAPTCHA, you need <a href=\"http://wordpress.org/extend/plugins/really-simple-captcha/\">Really Simple CAPTCHA</a> plugin installed."
|
470 |
+
msgstr ""
|
471 |
+
|
modules/acceptance.php
ADDED
@@ -0,0 +1,88 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
** A base module for [acceptance]
|
4 |
+
**/
|
5 |
+
|
6 |
+
/* Shortcode handler */
|
7 |
+
|
8 |
+
function wpcf7_acceptance_shortcode_handler( $tag ) {
|
9 |
+
global $wpcf7_contact_form;
|
10 |
+
|
11 |
+
if ( ! is_array( $tag ) )
|
12 |
+
return '';
|
13 |
+
|
14 |
+
$type = $tag['type'];
|
15 |
+
$name = $tag['name'];
|
16 |
+
$options = (array) $tag['options'];
|
17 |
+
$values = (array) $tag['values'];
|
18 |
+
|
19 |
+
if ( empty( $name ) )
|
20 |
+
return '';
|
21 |
+
|
22 |
+
$atts = '';
|
23 |
+
$id_att = '';
|
24 |
+
$class_att = '';
|
25 |
+
|
26 |
+
$class_att .= ' wpcf7-acceptance';
|
27 |
+
|
28 |
+
foreach ( $options as $option ) {
|
29 |
+
if ( preg_match( '%^id:([-0-9a-zA-Z_]+)$%', $option, $matches ) ) {
|
30 |
+
$id_att = $matches[1];
|
31 |
+
|
32 |
+
} elseif ( preg_match( '%^class:([-0-9a-zA-Z_]+)$%', $option, $matches ) ) {
|
33 |
+
$class_att .= ' ' . $matches[1];
|
34 |
+
|
35 |
+
} elseif ( 'invert' == $option ) {
|
36 |
+
$class_att .= ' wpcf7-invert';
|
37 |
+
}
|
38 |
+
}
|
39 |
+
|
40 |
+
if ( $id_att )
|
41 |
+
$atts .= ' id="' . trim( $id_att ) . '"';
|
42 |
+
|
43 |
+
if ( $class_att )
|
44 |
+
$atts .= ' class="' . trim( $class_att ) . '"';
|
45 |
+
|
46 |
+
$default_on = (bool) preg_grep( '/^default:on$/i', $options );
|
47 |
+
|
48 |
+
if ( WPCF7_LOAD_JS )
|
49 |
+
$onclick = ' onclick="wpcf7ToggleSubmit(this.form);"';
|
50 |
+
|
51 |
+
$checked = $default_on ? ' checked="checked"' : '';
|
52 |
+
|
53 |
+
$html = '<input type="checkbox" name="' . $name . '" value="1"' . $atts . $onclick . $checked . ' />';
|
54 |
+
|
55 |
+
return $html;
|
56 |
+
}
|
57 |
+
|
58 |
+
wpcf7_add_shortcode( 'acceptance', 'wpcf7_acceptance_shortcode_handler', true );
|
59 |
+
|
60 |
+
|
61 |
+
/* Acceptance filter */
|
62 |
+
|
63 |
+
function wpcf7_acceptance_filter( $accepted ) {
|
64 |
+
global $wpcf7_contact_form;
|
65 |
+
|
66 |
+
$fes = $wpcf7_contact_form->form_scan_shortcode( array( 'type' => 'acceptance' ) );
|
67 |
+
|
68 |
+
foreach ( $fes as $fe ) {
|
69 |
+
$name = $fe['name'];
|
70 |
+
$options = (array) $fe['options'];
|
71 |
+
|
72 |
+
if ( empty( $name ) )
|
73 |
+
continue;
|
74 |
+
|
75 |
+
$value = $_POST[$name] ? 1 : 0;
|
76 |
+
|
77 |
+
$invert = (bool) preg_grep( '%^invert$%', $options );
|
78 |
+
|
79 |
+
if ( $invert && $value || ! $invert && ! $value )
|
80 |
+
$accepted = false;
|
81 |
+
}
|
82 |
+
|
83 |
+
return $accepted;
|
84 |
+
}
|
85 |
+
|
86 |
+
add_filter( 'wpcf7_acceptance', 'wpcf7_acceptance_filter' );
|
87 |
+
|
88 |
+
?>
|
{includes → modules}/captcha.php
RENAMED
@@ -1,190 +1,345 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
|
4 |
-
|
5 |
-
|
6 |
-
|
7 |
-
|
8 |
-
|
9 |
-
|
10 |
-
|
11 |
-
if ( !
|
12 |
-
|
13 |
-
|
14 |
-
|
15 |
-
$
|
16 |
-
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
if (
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
$
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
$
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
$
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
-
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
|
94 |
-
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
-
}
|
101 |
-
}
|
102 |
-
|
103 |
-
|
104 |
-
|
105 |
-
|
106 |
-
|
107 |
-
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
|
112 |
-
|
113 |
-
|
114 |
-
|
115 |
-
|
116 |
-
|
117 |
-
|
118 |
-
|
119 |
-
|
120 |
-
|
121 |
-
|
122 |
-
|
123 |
-
|
124 |
-
|
125 |
-
|
126 |
-
|
127 |
-
|
128 |
-
|
129 |
-
|
130 |
-
|
131 |
-
|
132 |
-
|
133 |
-
|
134 |
-
|
135 |
-
|
136 |
-
|
137 |
-
|
138 |
-
|
139 |
-
|
140 |
-
|
141 |
-
|
142 |
-
|
143 |
-
|
144 |
-
|
145 |
-
|
146 |
-
|
147 |
-
|
148 |
-
|
149 |
-
|
150 |
-
|
151 |
-
|
152 |
-
|
153 |
-
|
154 |
-
|
155 |
-
|
156 |
-
|
157 |
-
|
158 |
-
|
159 |
-
|
160 |
-
$
|
161 |
-
$
|
162 |
-
|
163 |
-
|
164 |
-
|
165 |
-
|
166 |
-
|
167 |
-
|
168 |
-
|
169 |
-
|
170 |
-
|
171 |
-
|
172 |
-
|
173 |
-
|
174 |
-
|
175 |
-
|
176 |
-
|
177 |
-
|
178 |
-
|
179 |
-
|
180 |
-
|
181 |
-
|
182 |
-
|
183 |
-
|
184 |
-
|
185 |
-
|
186 |
-
|
187 |
-
|
188 |
-
|
189 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
190 |
?>
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
** A base module for [captchac] and [captchar]
|
4 |
+
**/
|
5 |
+
|
6 |
+
/* Shortcode handler */
|
7 |
+
|
8 |
+
function wpcf7_captcha_shortcode_handler( $tag ) {
|
9 |
+
global $wpcf7_contact_form;
|
10 |
+
|
11 |
+
if ( ! is_array( $tag ) )
|
12 |
+
return '';
|
13 |
+
|
14 |
+
$type = $tag['type'];
|
15 |
+
$name = $tag['name'];
|
16 |
+
$options = (array) $tag['options'];
|
17 |
+
$values = (array) $tag['values'];
|
18 |
+
|
19 |
+
if ( empty( $name ) )
|
20 |
+
return '';
|
21 |
+
|
22 |
+
$validation_error = '';
|
23 |
+
if ( is_a( $wpcf7_contact_form, 'WPCF7_ContactForm' ) )
|
24 |
+
$validation_error = $wpcf7_contact_form->validation_error( $name );
|
25 |
+
|
26 |
+
$atts = '';
|
27 |
+
$id_att = '';
|
28 |
+
$class_att = '';
|
29 |
+
$size_att = '';
|
30 |
+
$maxlength_att = '';
|
31 |
+
|
32 |
+
if ( 'captchac' == $type )
|
33 |
+
$class_att .= ' wpcf7-captcha-' . $name;
|
34 |
+
|
35 |
+
foreach ( $options as $option ) {
|
36 |
+
if ( preg_match( '%^id:([-0-9a-zA-Z_]+)$%', $option, $matches ) ) {
|
37 |
+
$id_att = $matches[1];
|
38 |
+
|
39 |
+
} elseif ( preg_match( '%^class:([-0-9a-zA-Z_]+)$%', $option, $matches ) ) {
|
40 |
+
$class_att .= ' ' . $matches[1];
|
41 |
+
|
42 |
+
} elseif ( preg_match( '%^([0-9]*)[/x]([0-9]*)$%', $option, $matches ) ) {
|
43 |
+
$size_att = (int) $matches[1];
|
44 |
+
$maxlength_att = (int) $matches[2];
|
45 |
+
}
|
46 |
+
}
|
47 |
+
|
48 |
+
if ( $id_att )
|
49 |
+
$atts .= ' id="' . trim( $id_att ) . '"';
|
50 |
+
|
51 |
+
if ( $class_att )
|
52 |
+
$atts .= ' class="' . trim( $class_att ) . '"';
|
53 |
+
|
54 |
+
// Value.
|
55 |
+
if ( is_a( $wpcf7_contact_form, 'WPCF7_ContactForm' ) && $wpcf7_contact_form->is_posted() )
|
56 |
+
$value = '';
|
57 |
+
else
|
58 |
+
$value = $values[0];
|
59 |
+
|
60 |
+
if ( 'captchac' == $type ) {
|
61 |
+
if ( ! class_exists( 'ReallySimpleCaptcha' ) ) {
|
62 |
+
return '<em>' . __( 'To use CAPTCHA, you need <a href="http://wordpress.org/extend/plugins/really-simple-captcha/">Really Simple CAPTCHA</a> plugin installed.', 'wpcf7' ) . '</em>';
|
63 |
+
}
|
64 |
+
|
65 |
+
$op = array();
|
66 |
+
// Default
|
67 |
+
$op['img_size'] = array( 72, 24 );
|
68 |
+
$op['base'] = array( 6, 18 );
|
69 |
+
$op['font_size'] = 14;
|
70 |
+
$op['font_char_width'] = 15;
|
71 |
+
|
72 |
+
$op = array_merge( $op, wpcf7_captchac_options( $options ) );
|
73 |
+
|
74 |
+
if ( ! $filename = wpcf7_generate_captcha( $op ) )
|
75 |
+
return '';
|
76 |
+
|
77 |
+
if ( is_array( $op['img_size'] ) )
|
78 |
+
$atts .= ' width="' . $op['img_size'][0] . '" height="' . $op['img_size'][1] . '"';
|
79 |
+
|
80 |
+
$captcha_url = trailingslashit( wpcf7_captcha_tmp_url() ) . $filename;
|
81 |
+
$html = '<img alt="captcha" src="' . $captcha_url . '"' . $atts . ' />';
|
82 |
+
$ref = substr( $filename, 0, strrpos( $filename, '.' ) );
|
83 |
+
$html = '<input type="hidden" name="_wpcf7_captcha_challenge_' . $name . '" value="' . $ref . '" />' . $html;
|
84 |
+
|
85 |
+
return $html;
|
86 |
+
|
87 |
+
} elseif ( 'captchar' == $type ) {
|
88 |
+
if ( $size_att )
|
89 |
+
$atts .= ' size="' . $size_att . '"';
|
90 |
+
else
|
91 |
+
$atts .= ' size="40"'; // default size
|
92 |
+
|
93 |
+
if ( $maxlength_att )
|
94 |
+
$atts .= ' maxlength="' . $maxlength_att . '"';
|
95 |
+
|
96 |
+
$html = '<input type="text" name="' . $name . '" value="' . esc_attr( $value ) . '"' . $atts . ' />';
|
97 |
+
$html = '<span class="wpcf7-form-control-wrap ' . $name . '">' . $html . $validation_error . '</span>';
|
98 |
+
|
99 |
+
return $html;
|
100 |
+
}
|
101 |
+
}
|
102 |
+
|
103 |
+
wpcf7_add_shortcode( 'captchac', 'wpcf7_captcha_shortcode_handler', true );
|
104 |
+
wpcf7_add_shortcode( 'captchar', 'wpcf7_captcha_shortcode_handler', true );
|
105 |
+
|
106 |
+
|
107 |
+
/* Validation filter */
|
108 |
+
|
109 |
+
function wpcf7_captcha_validation_filter( $result, $tag ) {
|
110 |
+
global $wpcf7_contact_form;
|
111 |
+
|
112 |
+
$type = $tag['type'];
|
113 |
+
$name = $tag['name'];
|
114 |
+
|
115 |
+
$_POST[$name] = (string) $_POST[$name];
|
116 |
+
|
117 |
+
$captchac = '_wpcf7_captcha_challenge_' . $name;
|
118 |
+
|
119 |
+
if ( ! wpcf7_check_captcha( $_POST[$captchac], $_POST[$name] ) ) {
|
120 |
+
$result['valid'] = false;
|
121 |
+
$result['reason'][$name] = $wpcf7_contact_form->message( 'captcha_not_match' );
|
122 |
+
}
|
123 |
+
|
124 |
+
wpcf7_remove_captcha( $_POST[$captchac] );
|
125 |
+
|
126 |
+
return $result;
|
127 |
+
}
|
128 |
+
|
129 |
+
add_filter( 'wpcf7_validate_captchar', 'wpcf7_captcha_validation_filter', 10, 2 );
|
130 |
+
|
131 |
+
|
132 |
+
/* Ajax echo filter */
|
133 |
+
|
134 |
+
function wpcf7_captcha_ajax_echo_filter( $items ) {
|
135 |
+
global $wpcf7_contact_form;
|
136 |
+
|
137 |
+
if ( ! is_a( $wpcf7_contact_form, 'WPCF7_ContactForm' ) )
|
138 |
+
return $items;
|
139 |
+
|
140 |
+
if ( ! is_array( $items ) )
|
141 |
+
return $items;
|
142 |
+
|
143 |
+
$fes = $wpcf7_contact_form->form_scan_shortcode(
|
144 |
+
array( 'type' => 'captchac' ) );
|
145 |
+
|
146 |
+
if ( empty( $fes ) )
|
147 |
+
return $items;
|
148 |
+
|
149 |
+
$refill = array();
|
150 |
+
|
151 |
+
foreach ( $fes as $fe ) {
|
152 |
+
$name = $fe['name'];
|
153 |
+
$options = $fe['options'];
|
154 |
+
|
155 |
+
if ( empty( $name ) )
|
156 |
+
continue;
|
157 |
+
|
158 |
+
$op = wpcf7_captchac_options( $options );
|
159 |
+
if ( $filename = wpcf7_generate_captcha( $op ) ) {
|
160 |
+
$captcha_url = trailingslashit( wpcf7_captcha_tmp_url() ) . $filename;
|
161 |
+
$refill[$name] = $captcha_url;
|
162 |
+
}
|
163 |
+
}
|
164 |
+
|
165 |
+
if ( ! empty( $refill ) )
|
166 |
+
$items['captcha'] = $refill;
|
167 |
+
|
168 |
+
return $items;
|
169 |
+
}
|
170 |
+
|
171 |
+
add_filter( 'wpcf7_ajax_json_echo', 'wpcf7_captcha_ajax_echo_filter' );
|
172 |
+
|
173 |
+
|
174 |
+
/* CAPTCHA functions */
|
175 |
+
|
176 |
+
function wpcf7_init_captcha() {
|
177 |
+
global $wpcf7_captcha;
|
178 |
+
|
179 |
+
if ( ! class_exists( 'ReallySimpleCaptcha' ) )
|
180 |
+
return false;
|
181 |
+
|
182 |
+
if ( ! is_object( $wpcf7_captcha ) )
|
183 |
+
$wpcf7_captcha = new ReallySimpleCaptcha();
|
184 |
+
$captcha =& $wpcf7_captcha;
|
185 |
+
|
186 |
+
$captcha->tmp_dir = trailingslashit( wpcf7_captcha_tmp_dir() );
|
187 |
+
wp_mkdir_p( $captcha->tmp_dir );
|
188 |
+
return true;
|
189 |
+
}
|
190 |
+
|
191 |
+
function wpcf7_generate_captcha( $options = null ) {
|
192 |
+
global $wpcf7_captcha;
|
193 |
+
|
194 |
+
if ( ! wpcf7_init_captcha() )
|
195 |
+
return false;
|
196 |
+
$captcha =& $wpcf7_captcha;
|
197 |
+
|
198 |
+
if ( ! is_dir( $captcha->tmp_dir ) || ! is_writable( $captcha->tmp_dir ) )
|
199 |
+
return false;
|
200 |
+
|
201 |
+
$img_type = imagetypes();
|
202 |
+
if ( $img_type & IMG_PNG )
|
203 |
+
$captcha->img_type = 'png';
|
204 |
+
elseif ( $img_type & IMG_GIF )
|
205 |
+
$captcha->img_type = 'gif';
|
206 |
+
elseif ( $img_type & IMG_JPG )
|
207 |
+
$captcha->img_type = 'jpeg';
|
208 |
+
else
|
209 |
+
return false;
|
210 |
+
|
211 |
+
if ( is_array( $options ) ) {
|
212 |
+
if ( isset( $options['img_size'] ) )
|
213 |
+
$captcha->img_size = $options['img_size'];
|
214 |
+
if ( isset( $options['base'] ) )
|
215 |
+
$captcha->base = $options['base'];
|
216 |
+
if ( isset( $options['font_size'] ) )
|
217 |
+
$captcha->font_size = $options['font_size'];
|
218 |
+
if ( isset( $options['font_char_width'] ) )
|
219 |
+
$captcha->font_char_width = $options['font_char_width'];
|
220 |
+
if ( isset( $options['fg'] ) )
|
221 |
+
$captcha->fg = $options['fg'];
|
222 |
+
if ( isset( $options['bg'] ) )
|
223 |
+
$captcha->bg = $options['bg'];
|
224 |
+
}
|
225 |
+
|
226 |
+
$prefix = mt_rand();
|
227 |
+
$captcha_word = $captcha->generate_random_word();
|
228 |
+
return $captcha->generate_image( $prefix, $captcha_word );
|
229 |
+
}
|
230 |
+
|
231 |
+
function wpcf7_check_captcha( $prefix, $response ) {
|
232 |
+
global $wpcf7_captcha;
|
233 |
+
|
234 |
+
if ( ! wpcf7_init_captcha() )
|
235 |
+
return false;
|
236 |
+
$captcha =& $wpcf7_captcha;
|
237 |
+
|
238 |
+
return $captcha->check( $prefix, $response );
|
239 |
+
}
|
240 |
+
|
241 |
+
function wpcf7_remove_captcha( $prefix ) {
|
242 |
+
global $wpcf7_captcha;
|
243 |
+
|
244 |
+
if ( ! wpcf7_init_captcha() )
|
245 |
+
return false;
|
246 |
+
$captcha =& $wpcf7_captcha;
|
247 |
+
|
248 |
+
$captcha->remove( $prefix );
|
249 |
+
}
|
250 |
+
|
251 |
+
function wpcf7_cleanup_captcha_files() {
|
252 |
+
$dir = trailingslashit( wpcf7_captcha_tmp_dir() );
|
253 |
+
|
254 |
+
if ( ! is_dir( $dir ) )
|
255 |
+
return false;
|
256 |
+
if ( ! is_readable( $dir ) )
|
257 |
+
return false;
|
258 |
+
if ( ! is_writable( $dir ) )
|
259 |
+
return false;
|
260 |
+
|
261 |
+
if ( $handle = @opendir( $dir ) ) {
|
262 |
+
while ( false !== ( $file = readdir( $handle ) ) ) {
|
263 |
+
if ( ! preg_match( '/^[0-9]+\.(php|png|gif|jpeg)$/', $file ) )
|
264 |
+
continue;
|
265 |
+
|
266 |
+
$stat = stat( $dir . $file );
|
267 |
+
if ( $stat['mtime'] + 21600 < time() ) // 21600 secs == 6 hours
|
268 |
+
@unlink( $dir . $file );
|
269 |
+
}
|
270 |
+
closedir( $handle );
|
271 |
+
}
|
272 |
+
}
|
273 |
+
|
274 |
+
if ( ! is_admin() && 'GET' == $_SERVER['REQUEST_METHOD'] )
|
275 |
+
wpcf7_cleanup_captcha_files();
|
276 |
+
|
277 |
+
function wpcf7_captchac_options( $options ) {
|
278 |
+
if ( ! is_array( $options ) )
|
279 |
+
return array();
|
280 |
+
|
281 |
+
$op = array();
|
282 |
+
$image_size_array = preg_grep( '%^size:[smlSML]$%', $options );
|
283 |
+
|
284 |
+
if ( $image_size = array_shift( $image_size_array ) ) {
|
285 |
+
preg_match( '%^size:([smlSML])$%', $image_size, $is_matches );
|
286 |
+
switch ( strtolower( $is_matches[1] ) ) {
|
287 |
+
case 's':
|
288 |
+
$op['img_size'] = array( 60, 20 );
|
289 |
+
$op['base'] = array( 6, 15 );
|
290 |
+
$op['font_size'] = 11;
|
291 |
+
$op['font_char_width'] = 13;
|
292 |
+
break;
|
293 |
+
case 'l':
|
294 |
+
$op['img_size'] = array( 84, 28 );
|
295 |
+
$op['base'] = array( 6, 20 );
|
296 |
+
$op['font_size'] = 17;
|
297 |
+
$op['font_char_width'] = 19;
|
298 |
+
break;
|
299 |
+
case 'm':
|
300 |
+
default:
|
301 |
+
$op['img_size'] = array( 72, 24 );
|
302 |
+
$op['base'] = array( 6, 18 );
|
303 |
+
$op['font_size'] = 14;
|
304 |
+
$op['font_char_width'] = 15;
|
305 |
+
}
|
306 |
+
}
|
307 |
+
|
308 |
+
$fg_color_array = preg_grep( '%^fg:#([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$%', $options );
|
309 |
+
if ( $fg_color = array_shift( $fg_color_array ) ) {
|
310 |
+
preg_match( '%^fg:#([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$%', $fg_color, $fc_matches );
|
311 |
+
if ( 3 == strlen( $fc_matches[1] ) ) {
|
312 |
+
$r = substr( $fc_matches[1], 0, 1 );
|
313 |
+
$g = substr( $fc_matches[1], 1, 1 );
|
314 |
+
$b = substr( $fc_matches[1], 2, 1 );
|
315 |
+
$op['fg'] = array( hexdec( $r . $r ), hexdec( $g . $g ), hexdec( $b . $b ) );
|
316 |
+
} elseif ( 6 == strlen( $fc_matches[1] ) ) {
|
317 |
+
$r = substr( $fc_matches[1], 0, 2 );
|
318 |
+
$g = substr( $fc_matches[1], 2, 2 );
|
319 |
+
$b = substr( $fc_matches[1], 4, 2 );
|
320 |
+
$op['fg'] = array( hexdec( $r ), hexdec( $g ), hexdec( $b ) );
|
321 |
+
}
|
322 |
+
}
|
323 |
+
|
324 |
+
$bg_color_array = preg_grep( '%^bg:#([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$%', $options );
|
325 |
+
if ( $bg_color = array_shift( $bg_color_array ) ) {
|
326 |
+
preg_match( '%^bg:#([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$%', $bg_color, $bc_matches );
|
327 |
+
if ( 3 == strlen( $bc_matches[1] ) ) {
|
328 |
+
$r = substr( $bc_matches[1], 0, 1 );
|
329 |
+
$g = substr( $bc_matches[1], 1, 1 );
|
330 |
+
$b = substr( $bc_matches[1], 2, 1 );
|
331 |
+
$op['bg'] = array( hexdec( $r . $r ), hexdec( $g . $g ), hexdec( $b . $b ) );
|
332 |
+
} elseif ( 6 == strlen( $bc_matches[1] ) ) {
|
333 |
+
$r = substr( $bc_matches[1], 0, 2 );
|
334 |
+
$g = substr( $bc_matches[1], 2, 2 );
|
335 |
+
$b = substr( $bc_matches[1], 4, 2 );
|
336 |
+
$op['bg'] = array( hexdec( $r ), hexdec( $g ), hexdec( $b ) );
|
337 |
+
}
|
338 |
+
}
|
339 |
+
|
340 |
+
return $op;
|
341 |
+
}
|
342 |
+
|
343 |
+
$wpcf7_captcha = null;
|
344 |
+
|
345 |
?>
|
modules/checkbox.php
ADDED
@@ -0,0 +1,162 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
** A base module for [checkbox], [checkbox*], and [radio]
|
4 |
+
**/
|
5 |
+
|
6 |
+
/* Shortcode handler */
|
7 |
+
|
8 |
+
function wpcf7_checkbox_shortcode_handler( $tag ) {
|
9 |
+
global $wpcf7_contact_form;
|
10 |
+
|
11 |
+
if ( ! is_array( $tag ) )
|
12 |
+
return '';
|
13 |
+
|
14 |
+
$type = $tag['type'];
|
15 |
+
$name = $tag['name'];
|
16 |
+
$options = (array) $tag['options'];
|
17 |
+
$values = (array) $tag['values'];
|
18 |
+
|
19 |
+
if ( empty( $name ) )
|
20 |
+
return '';
|
21 |
+
|
22 |
+
$atts = '';
|
23 |
+
$id_att = '';
|
24 |
+
$class_att = '';
|
25 |
+
|
26 |
+
$defaults = array();
|
27 |
+
|
28 |
+
$label_first = false;
|
29 |
+
$use_label_element = false;
|
30 |
+
|
31 |
+
if ( 'checkbox*' == $type )
|
32 |
+
$class_att .= ' wpcf7-validates-as-required';
|
33 |
+
|
34 |
+
if ( 'checkbox' == $type || 'checkbox*' == $type )
|
35 |
+
$class_att .= ' wpcf7-checkbox';
|
36 |
+
|
37 |
+
if ( 'radio' == $type )
|
38 |
+
$class_att .= ' wpcf7-radio';
|
39 |
+
|
40 |
+
foreach ( $options as $option ) {
|
41 |
+
if ( preg_match( '%^id:([-0-9a-zA-Z_]+)$%', $option, $matches ) ) {
|
42 |
+
$id_att = $matches[1];
|
43 |
+
|
44 |
+
} elseif ( preg_match( '%^class:([-0-9a-zA-Z_]+)$%', $option, $matches ) ) {
|
45 |
+
$class_att .= ' ' . $matches[1];
|
46 |
+
|
47 |
+
} elseif ( preg_match( '/^default:([0-9_]+)$/', $option, $matches ) ) {
|
48 |
+
$defaults = explode( '_', $matches[1] );
|
49 |
+
|
50 |
+
} elseif ( preg_match( '%^label[_-]?first$%', $option ) ) {
|
51 |
+
$label_first = true;
|
52 |
+
|
53 |
+
} elseif ( preg_match( '%^use[_-]?label[_-]?element$%', $option ) ) {
|
54 |
+
$use_label_element = true;
|
55 |
+
|
56 |
+
}
|
57 |
+
}
|
58 |
+
|
59 |
+
if ( $id_att )
|
60 |
+
$atts .= ' id="' . trim( $id_att ) . '"';
|
61 |
+
|
62 |
+
if ( $class_att )
|
63 |
+
$atts .= ' class="' . trim( $class_att ) . '"';
|
64 |
+
|
65 |
+
$multiple = preg_match( '/^checkbox[*]?$/', $type ) && ! preg_grep( '%^exclusive$%', $options );
|
66 |
+
|
67 |
+
$html = '';
|
68 |
+
|
69 |
+
if ( preg_match( '/^checkbox[*]?$/', $type ) && ! $multiple && WPCF7_LOAD_JS )
|
70 |
+
$onclick = ' onclick="wpcf7ExclusiveCheckbox(this);"';
|
71 |
+
|
72 |
+
$input_type = rtrim( $type, '*' );
|
73 |
+
|
74 |
+
$posted = is_a( $wpcf7_contact_form, 'WPCF7_ContactForm' ) && $wpcf7_contact_form->is_posted();
|
75 |
+
|
76 |
+
foreach ( $values as $key => $value ) {
|
77 |
+
$checked = false;
|
78 |
+
|
79 |
+
if ( in_array( $key + 1, (array) $defaults ) )
|
80 |
+
$checked = true;
|
81 |
+
|
82 |
+
if ( $posted) {
|
83 |
+
if ( $multiple && in_array( esc_sql( $value ), (array) $_POST[$name] ) )
|
84 |
+
$checked = true;
|
85 |
+
if ( ! $multiple && $_POST[$name] == esc_sql( $value ) )
|
86 |
+
$checked = true;
|
87 |
+
}
|
88 |
+
|
89 |
+
$checked = $checked ? ' checked="checked"' : '';
|
90 |
+
|
91 |
+
if ( is_array( $tag['labels'] ) && isset( $tag['labels'][$key] ) )
|
92 |
+
$label = $tag['labels'][$key];
|
93 |
+
else
|
94 |
+
$label = $value;
|
95 |
+
|
96 |
+
if ( $label_first ) { // put label first, input last
|
97 |
+
$item = '<span class="wpcf7-list-item-label">' . esc_html( $label ) . '</span> ';
|
98 |
+
$item .= '<input type="' . $input_type . '" name="' . $name . ( $multiple ? '[]' : '' ) . '" value="' . esc_attr( $value ) . '"' . $checked . $onclick . ' />';
|
99 |
+
} else {
|
100 |
+
$item = '<input type="' . $input_type . '" name="' . $name . ( $multiple ? '[]' : '' ) . '" value="' . esc_attr( $value ) . '"' . $checked . $onclick . ' />';
|
101 |
+
$item .= ' <span class="wpcf7-list-item-label">' . esc_html( $label ) . '</span>';
|
102 |
+
}
|
103 |
+
|
104 |
+
if ( $use_label_element )
|
105 |
+
$item = '<label>' . $item . '</label>';
|
106 |
+
|
107 |
+
$item = '<span class="wpcf7-list-item">' . $item . '</span>';
|
108 |
+
$html .= $item;
|
109 |
+
}
|
110 |
+
|
111 |
+
$html = '<span' . $atts . '>' . $html . '</span>';
|
112 |
+
|
113 |
+
$validation_error = '';
|
114 |
+
if ( is_a( $wpcf7_contact_form, 'WPCF7_ContactForm' ) )
|
115 |
+
$validation_error = $wpcf7_contact_form->validation_error( $name );
|
116 |
+
|
117 |
+
$html = '<span class="wpcf7-form-control-wrap ' . $name . '">' . $html . $validation_error . '</span>';
|
118 |
+
|
119 |
+
return $html;
|
120 |
+
}
|
121 |
+
|
122 |
+
wpcf7_add_shortcode( 'checkbox', 'wpcf7_checkbox_shortcode_handler', true );
|
123 |
+
wpcf7_add_shortcode( 'checkbox*', 'wpcf7_checkbox_shortcode_handler', true );
|
124 |
+
wpcf7_add_shortcode( 'radio', 'wpcf7_checkbox_shortcode_handler', true );
|
125 |
+
|
126 |
+
|
127 |
+
/* Validation filter */
|
128 |
+
|
129 |
+
function wpcf7_checkbox_validation_filter( $result, $tag ) {
|
130 |
+
global $wpcf7_contact_form;
|
131 |
+
|
132 |
+
$type = $tag['type'];
|
133 |
+
$name = $tag['name'];
|
134 |
+
$values = $tag['values'];
|
135 |
+
|
136 |
+
if ( is_array( $_POST[$name] ) ) {
|
137 |
+
foreach ( $_POST[$name] as $key => $value ) {
|
138 |
+
$value = stripslashes( $value );
|
139 |
+
if ( ! in_array( $value, (array) $values ) ) // Not in given choices.
|
140 |
+
unset( $_POST[$name][$key] );
|
141 |
+
}
|
142 |
+
} else {
|
143 |
+
$value = stripslashes( $_POST[$name] );
|
144 |
+
if ( ! in_array( $value, (array) $values ) ) // Not in given choices.
|
145 |
+
$_POST[$name] = '';
|
146 |
+
}
|
147 |
+
|
148 |
+
if ( 'checkbox*' == $type ) {
|
149 |
+
if ( empty( $_POST[$name] ) ) {
|
150 |
+
$result['valid'] = false;
|
151 |
+
$result['reason'][$name] = $wpcf7_contact_form->message( 'invalid_required' );
|
152 |
+
}
|
153 |
+
}
|
154 |
+
|
155 |
+
return $result;
|
156 |
+
}
|
157 |
+
|
158 |
+
add_filter( 'wpcf7_validate_checkbox', 'wpcf7_checkbox_validation_filter', 10, 2 );
|
159 |
+
add_filter( 'wpcf7_validate_checkbox*', 'wpcf7_checkbox_validation_filter', 10, 2 );
|
160 |
+
add_filter( 'wpcf7_validate_radio', 'wpcf7_checkbox_validation_filter', 10, 2 );
|
161 |
+
|
162 |
+
?>
|
modules/file.php
ADDED
@@ -0,0 +1,217 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
** A base module for [file] and [file*]
|
4 |
+
**/
|
5 |
+
|
6 |
+
function wpcf7_file_shortcode_handler( $tag ) {
|
7 |
+
global $wpcf7_contact_form;
|
8 |
+
|
9 |
+
if ( ! is_array( $tag ) )
|
10 |
+
return '';
|
11 |
+
|
12 |
+
$type = $tag['type'];
|
13 |
+
$name = $tag['name'];
|
14 |
+
$options = (array) $tag['options'];
|
15 |
+
$values = (array) $tag['values'];
|
16 |
+
|
17 |
+
if ( empty( $name ) )
|
18 |
+
return '';
|
19 |
+
|
20 |
+
$atts = '';
|
21 |
+
$id_att = '';
|
22 |
+
$class_att = '';
|
23 |
+
|
24 |
+
if ( 'file*' == $type )
|
25 |
+
$class_att .= ' wpcf7-validates-as-required';
|
26 |
+
|
27 |
+
foreach ( $options as $option ) {
|
28 |
+
if ( preg_match( '%^id:([-0-9a-zA-Z_]+)$%', $option, $matches ) ) {
|
29 |
+
$id_att = $matches[1];
|
30 |
+
|
31 |
+
} elseif ( preg_match( '%^class:([-0-9a-zA-Z_]+)$%', $option, $matches ) ) {
|
32 |
+
$class_att .= ' ' . $matches[1];
|
33 |
+
|
34 |
+
}
|
35 |
+
}
|
36 |
+
|
37 |
+
if ( $id_att )
|
38 |
+
$atts .= ' id="' . trim( $id_att ) . '"';
|
39 |
+
|
40 |
+
if ( $class_att )
|
41 |
+
$atts .= ' class="' . trim( $class_att ) . '"';
|
42 |
+
|
43 |
+
$html = '<input type="file" name="' . $name . '"' . $atts . ' value="1" />';
|
44 |
+
|
45 |
+
$validation_error = '';
|
46 |
+
if ( is_a( $wpcf7_contact_form, 'WPCF7_ContactForm' ) )
|
47 |
+
$validation_error = $wpcf7_contact_form->validation_error( $name );
|
48 |
+
|
49 |
+
$html = '<span class="wpcf7-form-control-wrap ' . $name . '">' . $html . $validation_error . '</span>';
|
50 |
+
|
51 |
+
return $html;
|
52 |
+
}
|
53 |
+
|
54 |
+
wpcf7_add_shortcode( 'file', 'wpcf7_file_shortcode_handler', true );
|
55 |
+
wpcf7_add_shortcode( 'file*', 'wpcf7_file_shortcode_handler', true );
|
56 |
+
|
57 |
+
|
58 |
+
/* Encode type filter */
|
59 |
+
|
60 |
+
function wpcf7_file_form_enctype_filter( $enctype ) {
|
61 |
+
global $wpcf7_contact_form;
|
62 |
+
|
63 |
+
$multipart = (bool) $wpcf7_contact_form->form_scan_shortcode(
|
64 |
+
array( 'type' => array( 'file', 'file*' ) ) );
|
65 |
+
|
66 |
+
if ( $multipart )
|
67 |
+
$enctype = ' enctype="multipart/form-data"';
|
68 |
+
|
69 |
+
return $enctype;
|
70 |
+
}
|
71 |
+
|
72 |
+
add_filter( 'wpcf7_form_enctype', 'wpcf7_file_form_enctype_filter' );
|
73 |
+
|
74 |
+
|
75 |
+
/* Validation + upload handling filter */
|
76 |
+
|
77 |
+
function wpcf7_file_validation_filter( $result, $tag ) {
|
78 |
+
global $wpcf7_contact_form;
|
79 |
+
|
80 |
+
$type = $tag['type'];
|
81 |
+
$name = $tag['name'];
|
82 |
+
$options = (array) $tag['options'];
|
83 |
+
|
84 |
+
$file = $_FILES[$name];
|
85 |
+
|
86 |
+
if ( empty( $file['tmp_name'] ) && 'file*' == $type ) {
|
87 |
+
$result['valid'] = false;
|
88 |
+
$result['reason'][$name] = $wpcf7_contact_form->message( 'invalid_required' );
|
89 |
+
return $result;
|
90 |
+
}
|
91 |
+
|
92 |
+
if ( ! is_uploaded_file( $file['tmp_name'] ) )
|
93 |
+
return $result;
|
94 |
+
|
95 |
+
$file_type_pattern = '';
|
96 |
+
$allowed_size = 1048576; // default size 1 MB
|
97 |
+
|
98 |
+
foreach ( $options as $option ) {
|
99 |
+
if ( preg_match( '%^filetypes:(.+)$%', $option, $matches ) ) {
|
100 |
+
$file_types = explode( '|', $matches[1] );
|
101 |
+
foreach ( $file_types as $file_type ) {
|
102 |
+
$file_type = trim( $file_type, '.' );
|
103 |
+
$file_type = str_replace(
|
104 |
+
array( '.', '+', '*', '?' ), array( '\.', '\+', '\*', '\?' ), $file_type );
|
105 |
+
$file_type_pattern .= '|' . $file_type;
|
106 |
+
}
|
107 |
+
|
108 |
+
} elseif ( preg_match( '/^limit:([1-9][0-9]*)([kKmM]?[bB])?$/', $option, $matches ) ) {
|
109 |
+
$allowed_size = (int) $matches[1];
|
110 |
+
|
111 |
+
$kbmb = strtolower( $matches[2] );
|
112 |
+
if ( 'kb' == $kbmb ) {
|
113 |
+
$allowed_size *= 1024;
|
114 |
+
} elseif ( 'mb' == $kbmb ) {
|
115 |
+
$allowed_size *= 1024 * 1024;
|
116 |
+
}
|
117 |
+
|
118 |
+
}
|
119 |
+
}
|
120 |
+
|
121 |
+
/* File type validation */
|
122 |
+
|
123 |
+
// Default file-type restriction
|
124 |
+
if ( '' == $file_type_pattern )
|
125 |
+
$file_type_pattern = 'jpg|jpeg|png|gif|pdf|doc|docx|ppt|pptx|odt|avi|ogg|m4a|mov|mp3|mp4|mpg|wav|wmv';
|
126 |
+
|
127 |
+
$file_type_pattern = trim( $file_type_pattern, '|' );
|
128 |
+
$file_type_pattern = '(' . $file_type_pattern . ')';
|
129 |
+
$file_type_pattern = '/\.' . $file_type_pattern . '$/i';
|
130 |
+
|
131 |
+
if ( ! preg_match( $file_type_pattern, $file['name'] ) ) {
|
132 |
+
$result['valid'] = false;
|
133 |
+
$result['reason'][$name] = $wpcf7_contact_form->message( 'upload_file_type_invalid' );
|
134 |
+
return $result;
|
135 |
+
}
|
136 |
+
|
137 |
+
/* File size validation */
|
138 |
+
|
139 |
+
if ( $file['size'] > $allowed_size ) {
|
140 |
+
$result['valid'] = false;
|
141 |
+
$result['reason'][$name] = $wpcf7_contact_form->message( 'upload_file_too_large' );
|
142 |
+
return $result;
|
143 |
+
}
|
144 |
+
|
145 |
+
$uploads_dir = wpcf7_upload_tmp_dir();
|
146 |
+
wpcf7_init_uploads(); // Confirm upload dir
|
147 |
+
|
148 |
+
$filename = wp_unique_filename( $uploads_dir, $file['name'] );
|
149 |
+
|
150 |
+
// If you get script file, it's a danger. Make it TXT file.
|
151 |
+
if ( preg_match( '/\.(php|pl|py|rb|cgi)\d?$/', $filename ) )
|
152 |
+
$filename .= '.txt';
|
153 |
+
|
154 |
+
$new_file = trailingslashit( $uploads_dir ) . $filename;
|
155 |
+
|
156 |
+
if ( false === @move_uploaded_file( $file['tmp_name'], $new_file ) ) {
|
157 |
+
$result['valid'] = false;
|
158 |
+
$result['reason'][$name] = $wpcf7_contact_form->message( 'upload_failed' );
|
159 |
+
return $result;
|
160 |
+
}
|
161 |
+
|
162 |
+
// Make sure the uploaded file is only readable for the owner process
|
163 |
+
@chmod( $new_file, 0400 );
|
164 |
+
|
165 |
+
$wpcf7_contact_form->uploaded_files[$name] = $new_file;
|
166 |
+
|
167 |
+
return $result;
|
168 |
+
}
|
169 |
+
|
170 |
+
add_filter( 'wpcf7_validate_file', 'wpcf7_file_validation_filter', 10, 2 );
|
171 |
+
add_filter( 'wpcf7_validate_file*', 'wpcf7_file_validation_filter', 10, 2 );
|
172 |
+
|
173 |
+
|
174 |
+
/* File uploading functions */
|
175 |
+
|
176 |
+
function wpcf7_init_uploads() {
|
177 |
+
$dir = wpcf7_upload_tmp_dir();
|
178 |
+
wp_mkdir_p( trailingslashit( $dir ) );
|
179 |
+
@chmod( $dir, 0733 );
|
180 |
+
|
181 |
+
$htaccess_file = trailingslashit( $dir ) . '.htaccess';
|
182 |
+
if ( file_exists( $htaccess_file ) )
|
183 |
+
return;
|
184 |
+
|
185 |
+
if ( $handle = @fopen( $htaccess_file, 'w' ) ) {
|
186 |
+
fwrite( $handle, "Deny from all\n" );
|
187 |
+
fclose( $handle );
|
188 |
+
}
|
189 |
+
}
|
190 |
+
|
191 |
+
function wpcf7_cleanup_upload_files() {
|
192 |
+
$dir = trailingslashit( wpcf7_upload_tmp_dir() );
|
193 |
+
|
194 |
+
if ( ! is_dir( $dir ) )
|
195 |
+
return false;
|
196 |
+
if ( ! is_readable( $dir ) )
|
197 |
+
return false;
|
198 |
+
if ( ! is_writable( $dir ) )
|
199 |
+
return false;
|
200 |
+
|
201 |
+
if ( $handle = @opendir( $dir ) ) {
|
202 |
+
while ( false !== ( $file = readdir( $handle ) ) ) {
|
203 |
+
if ( $file == "." || $file == ".." || $file == ".htaccess" )
|
204 |
+
continue;
|
205 |
+
|
206 |
+
$stat = stat( $dir . $file );
|
207 |
+
if ( $stat['mtime'] + 60 < time() ) // 60 secs
|
208 |
+
@unlink( $dir . $file );
|
209 |
+
}
|
210 |
+
closedir( $handle );
|
211 |
+
}
|
212 |
+
}
|
213 |
+
|
214 |
+
if ( ! is_admin() && 'GET' == $_SERVER['REQUEST_METHOD'] )
|
215 |
+
wpcf7_cleanup_upload_files();
|
216 |
+
|
217 |
+
?>
|
modules/icl.php
ADDED
@@ -0,0 +1,217 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
** ICL module for ICanLocalize translation service
|
4 |
+
**/
|
5 |
+
|
6 |
+
/* Shortcode handler */
|
7 |
+
|
8 |
+
function icl_wpcf7_shortcode_handler( $tag ) {
|
9 |
+
|
10 |
+
if ( ! is_array( $tag ) )
|
11 |
+
return '';
|
12 |
+
|
13 |
+
$name = $tag['name'];
|
14 |
+
$values = (array) $tag['values'];
|
15 |
+
$content = $tag['content'];
|
16 |
+
|
17 |
+
$content = trim( $content );
|
18 |
+
if ( ! empty( $content ) ) {
|
19 |
+
$string_name = icl_wpcf7_string_name( $content, $name );
|
20 |
+
return icl_wpcf7_translate( $string_name, $content );
|
21 |
+
}
|
22 |
+
|
23 |
+
$value = trim( $values[0] );
|
24 |
+
if ( ! empty( $value ) ) {
|
25 |
+
$string_name = icl_wpcf7_string_name( $value, $name, 0 );
|
26 |
+
return icl_wpcf7_translate( $string_name, $value );
|
27 |
+
}
|
28 |
+
|
29 |
+
return '';
|
30 |
+
}
|
31 |
+
|
32 |
+
wpcf7_add_shortcode( 'icl', 'icl_wpcf7_shortcode_handler', true );
|
33 |
+
|
34 |
+
|
35 |
+
/* Form tag filter */
|
36 |
+
|
37 |
+
function icl_wpcf7_form_tag_filter( $tag ) {
|
38 |
+
if ( ! is_array( $tag ) )
|
39 |
+
return $tag;
|
40 |
+
|
41 |
+
$type = $tag['type'];
|
42 |
+
$name = $tag['name'];
|
43 |
+
$options = (array) $tag['options'];
|
44 |
+
$values = (array) $tag['values'];
|
45 |
+
$content = $tag['content'];
|
46 |
+
|
47 |
+
$icl_option = array();
|
48 |
+
foreach ( $options as $option ) {
|
49 |
+
if ( 'icl' == $option ) {
|
50 |
+
$icl_option = array( 'icl', null );
|
51 |
+
break;
|
52 |
+
} elseif ( preg_match( '/^icl:(.+)$/', $option, $matches ) ) {
|
53 |
+
$icl_option = array( 'icl', $matches[1] );
|
54 |
+
break;
|
55 |
+
}
|
56 |
+
}
|
57 |
+
|
58 |
+
if ( ! ('icl' == $type || $icl_option ) )
|
59 |
+
return $tag;
|
60 |
+
|
61 |
+
$str_id = $icl_option[1] ? $icl_option[1] : $name;
|
62 |
+
|
63 |
+
if ( ! empty( $values ) ) {
|
64 |
+
$new_values = array();
|
65 |
+
foreach ( $values as $key => $value ) {
|
66 |
+
$string_name = icl_wpcf7_string_name( $value, $str_id, $key );
|
67 |
+
$new_values[$key] = icl_wpcf7_translate( $string_name, $value );
|
68 |
+
}
|
69 |
+
|
70 |
+
if ( preg_match( '/^(?:text|email|textarea|captchar|submit)[*]?$/', $type ) )
|
71 |
+
$tag['values'] = $new_values;
|
72 |
+
else
|
73 |
+
$tag['labels'] = $new_values;
|
74 |
+
}
|
75 |
+
|
76 |
+
$content = trim( $content );
|
77 |
+
|
78 |
+
if ( ! empty( $content ) ) {
|
79 |
+
$string_name = icl_wpcf7_string_name( $content, $str_id );
|
80 |
+
$content = icl_wpcf7_translate( $string_name, $content );
|
81 |
+
$tag['content'] = $content;
|
82 |
+
}
|
83 |
+
|
84 |
+
return $tag;
|
85 |
+
}
|
86 |
+
|
87 |
+
add_filter( 'wpcf7_form_tag', 'icl_wpcf7_form_tag_filter' );
|
88 |
+
|
89 |
+
|
90 |
+
/* Message dispaly filter */
|
91 |
+
|
92 |
+
function icl_wpcf7_display_message_filter( $message ) {
|
93 |
+
$shortcode_manager = new WPCF7_ShortcodeManager();
|
94 |
+
$shortcode_manager->add_shortcode( 'icl', 'icl_wpcf7_shortcode_handler', true );
|
95 |
+
|
96 |
+
return $shortcode_manager->do_shortcode( $message );
|
97 |
+
}
|
98 |
+
|
99 |
+
add_filter( 'wpcf7_display_message', 'icl_wpcf7_display_message_filter' );
|
100 |
+
|
101 |
+
|
102 |
+
/* Collecting strings hook after saving */
|
103 |
+
|
104 |
+
function icl_wpcf7_collect_strings( &$contact_form ) {
|
105 |
+
$scanned = $contact_form->form_scan_shortcode();
|
106 |
+
|
107 |
+
foreach ( $scanned as $tag ) {
|
108 |
+
if ( ! is_array( $tag ) )
|
109 |
+
continue;
|
110 |
+
|
111 |
+
$type = $tag['type'];
|
112 |
+
$name = $tag['name'];
|
113 |
+
$options = (array) $tag['options'];
|
114 |
+
$values = (array) $tag['values'];
|
115 |
+
$content = $tag['content'];
|
116 |
+
|
117 |
+
$icl_option = array();
|
118 |
+
foreach ( $options as $option ) {
|
119 |
+
if ( 'icl' == $option ) {
|
120 |
+
$icl_option = array( 'icl', null );
|
121 |
+
break;
|
122 |
+
} elseif ( preg_match( '/^icl:(.+)$/', $option, $matches ) ) {
|
123 |
+
$icl_option = array( 'icl', $matches[1] );
|
124 |
+
break;
|
125 |
+
}
|
126 |
+
}
|
127 |
+
|
128 |
+
if ( ! ('icl' == $type || $icl_option ) )
|
129 |
+
continue;
|
130 |
+
|
131 |
+
$str_id = $icl_option[1] ? $icl_option[1] : $name;
|
132 |
+
|
133 |
+
if ( ! empty( $content ) ) {
|
134 |
+
$string_name = icl_wpcf7_string_name( $content, $str_id );
|
135 |
+
icl_wpcf7_register_string( $string_name, $content );
|
136 |
+
|
137 |
+
} elseif ( ! empty( $values ) ) {
|
138 |
+
foreach ( $values as $key => $value ) {
|
139 |
+
$value = trim( $value );
|
140 |
+
$string_name = icl_wpcf7_string_name( $value, $str_id, $key );
|
141 |
+
icl_wpcf7_register_string( $string_name, $value );
|
142 |
+
}
|
143 |
+
}
|
144 |
+
}
|
145 |
+
|
146 |
+
/* From messages */
|
147 |
+
|
148 |
+
$messages = (array) $contact_form->messages;
|
149 |
+
|
150 |
+
$shortcode_manager = new WPCF7_ShortcodeManager();
|
151 |
+
$shortcode_manager->add_shortcode( 'icl', create_function( '$tag', 'return null;' ), true );
|
152 |
+
|
153 |
+
foreach ( $messages as $message ) {
|
154 |
+
$tags = $shortcode_manager->scan_shortcode( $message );
|
155 |
+
foreach ( $tags as $tag ) {
|
156 |
+
$name = $tag['name'];
|
157 |
+
$values = (array) $tag['values'];
|
158 |
+
$content = trim( $tag['content'] );
|
159 |
+
|
160 |
+
if ( ! empty( $content ) ) {
|
161 |
+
$string_name = icl_wpcf7_string_name( $content, $name );
|
162 |
+
icl_wpcf7_register_string( $string_name, $content );
|
163 |
+
|
164 |
+
} else {
|
165 |
+
foreach ( $values as $key => $value ) {
|
166 |
+
$value = trim( $value );
|
167 |
+
$string_name = icl_wpcf7_string_name( $value, $name, $key );
|
168 |
+
icl_wpcf7_register_string( $string_name, $value );
|
169 |
+
}
|
170 |
+
}
|
171 |
+
}
|
172 |
+
}
|
173 |
+
}
|
174 |
+
|
175 |
+
add_action( 'wpcf7_after_save', 'icl_wpcf7_collect_strings' );
|
176 |
+
|
177 |
+
|
178 |
+
/* Functions */
|
179 |
+
|
180 |
+
function icl_wpcf7_string_name( $value, $name = '', $key = '' ) {
|
181 |
+
if ( ! empty( $name ) ) {
|
182 |
+
$string_name = '@' . $name;
|
183 |
+
if ( '' !== $key )
|
184 |
+
$string_name .= ' ' . $key;
|
185 |
+
} else {
|
186 |
+
$string_name = '#' . md5( $value );
|
187 |
+
}
|
188 |
+
|
189 |
+
return $string_name;
|
190 |
+
}
|
191 |
+
|
192 |
+
function icl_wpcf7_register_string( $name, $value ) {
|
193 |
+
if ( ! function_exists( 'icl_register_string' ) )
|
194 |
+
return false;
|
195 |
+
|
196 |
+
$context = 'Contact Form 7';
|
197 |
+
|
198 |
+
$value = trim( $value );
|
199 |
+
if ( empty( $value ) )
|
200 |
+
return false;
|
201 |
+
|
202 |
+
icl_register_string( $context, $name, $value );
|
203 |
+
}
|
204 |
+
|
205 |
+
function icl_wpcf7_translate( $name, $value = '' ) {
|
206 |
+
if ( ! function_exists( 'icl_t' ) )
|
207 |
+
return $value;
|
208 |
+
|
209 |
+
if ( empty( $name ) )
|
210 |
+
return $value;
|
211 |
+
|
212 |
+
$context = 'Contact Form 7';
|
213 |
+
|
214 |
+
return icl_t( $context, $name, $value );
|
215 |
+
}
|
216 |
+
|
217 |
+
?>
|
modules/quiz.php
ADDED
@@ -0,0 +1,154 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
** A base module for [quiz]
|
4 |
+
**/
|
5 |
+
|
6 |
+
/* Shortcode handler */
|
7 |
+
|
8 |
+
function wpcf7_quiz_shortcode_handler( $tag ) {
|
9 |
+
global $wpcf7_contact_form;
|
10 |
+
|
11 |
+
if ( ! is_array( $tag ) )
|
12 |
+
return '';
|
13 |
+
|
14 |
+
$type = $tag['type'];
|
15 |
+
$name = $tag['name'];
|
16 |
+
$options = (array) $tag['options'];
|
17 |
+
$pipes = $tag['pipes'];
|
18 |
+
|
19 |
+
if ( empty( $name ) )
|
20 |
+
return '';
|
21 |
+
|
22 |
+
$atts = '';
|
23 |
+
$id_att = '';
|
24 |
+
$class_att = '';
|
25 |
+
$size_att = '';
|
26 |
+
$maxlength_att = '';
|
27 |
+
|
28 |
+
foreach ( $options as $option ) {
|
29 |
+
if ( preg_match( '%^id:([-0-9a-zA-Z_]+)$%', $option, $matches ) ) {
|
30 |
+
$id_att = $matches[1];
|
31 |
+
|
32 |
+
} elseif ( preg_match( '%^class:([-0-9a-zA-Z_]+)$%', $option, $matches ) ) {
|
33 |
+
$class_att .= ' ' . $matches[1];
|
34 |
+
|
35 |
+
} elseif ( preg_match( '%^([0-9]*)[/x]([0-9]*)$%', $option, $matches ) ) {
|
36 |
+
$size_att = (int) $matches[1];
|
37 |
+
$maxlength_att = (int) $matches[2];
|
38 |
+
}
|
39 |
+
}
|
40 |
+
|
41 |
+
if ( $id_att )
|
42 |
+
$atts .= ' id="' . trim( $id_att ) . '"';
|
43 |
+
|
44 |
+
if ( $class_att )
|
45 |
+
$atts .= ' class="' . trim( $class_att ) . '"';
|
46 |
+
|
47 |
+
if ( $size_att )
|
48 |
+
$atts .= ' size="' . $size_att . '"';
|
49 |
+
else
|
50 |
+
$atts .= ' size="40"'; // default size
|
51 |
+
|
52 |
+
if ( $maxlength_att )
|
53 |
+
$atts .= ' maxlength="' . $maxlength_att . '"';
|
54 |
+
|
55 |
+
if ( is_a( $pipes, 'WPCF7_Pipes' ) && ! $pipes->zero() ) {
|
56 |
+
$pipe = $pipes->random_pipe();
|
57 |
+
$question = $pipe->before;
|
58 |
+
$answer = $pipe->after;
|
59 |
+
} else {
|
60 |
+
// default quiz
|
61 |
+
$question = '1+1=?';
|
62 |
+
$answer = '2';
|
63 |
+
}
|
64 |
+
|
65 |
+
$answer = wpcf7_canonicalize( $answer );
|
66 |
+
|
67 |
+
$html = '<span class="wpcf7-quiz-label">' . esc_html( $question ) . '</span> ';
|
68 |
+
$html .= '<input type="text" name="' . $name . '"' . $atts . ' />';
|
69 |
+
$html .= '<input type="hidden" name="_wpcf7_quiz_answer_' . $name . '" value="' . wp_hash( $answer, 'wpcf7_quiz' ) . '" />';
|
70 |
+
|
71 |
+
$validation_error = '';
|
72 |
+
if ( is_a( $wpcf7_contact_form, 'WPCF7_ContactForm' ) )
|
73 |
+
$validation_error = $wpcf7_contact_form->validation_error( $name );
|
74 |
+
|
75 |
+
$html = '<span class="wpcf7-form-control-wrap ' . $name . '">' . $html . $validation_error . '</span>';
|
76 |
+
|
77 |
+
return $html;
|
78 |
+
}
|
79 |
+
|
80 |
+
wpcf7_add_shortcode( 'quiz', 'wpcf7_quiz_shortcode_handler', true );
|
81 |
+
|
82 |
+
|
83 |
+
/* Validation filter */
|
84 |
+
|
85 |
+
function wpcf7_quiz_validation_filter( $result, $tag ) {
|
86 |
+
global $wpcf7_contact_form;
|
87 |
+
|
88 |
+
$type = $tag['type'];
|
89 |
+
$name = $tag['name'];
|
90 |
+
|
91 |
+
$answer = wpcf7_canonicalize( $_POST[$name] );
|
92 |
+
$answer_hash = wp_hash( $answer, 'wpcf7_quiz' );
|
93 |
+
$expected_hash = $_POST['_wpcf7_quiz_answer_' . $name];
|
94 |
+
if ( $answer_hash != $expected_hash ) {
|
95 |
+
$result['valid'] = false;
|
96 |
+
$result['reason'][$name] = $wpcf7_contact_form->message( 'quiz_answer_not_correct' );
|
97 |
+
}
|
98 |
+
|
99 |
+
return $result;
|
100 |
+
}
|
101 |
+
|
102 |
+
add_filter( 'wpcf7_validate_quiz', 'wpcf7_quiz_validation_filter', 10, 2 );
|
103 |
+
|
104 |
+
|
105 |
+
/* Ajax echo filter */
|
106 |
+
|
107 |
+
function wpcf7_quiz_ajax_echo_filter( $items ) {
|
108 |
+
global $wpcf7_contact_form;
|
109 |
+
|
110 |
+
if ( ! is_a( $wpcf7_contact_form, 'WPCF7_ContactForm' ) )
|
111 |
+
return $items;
|
112 |
+
|
113 |
+
if ( ! is_array( $items ) )
|
114 |
+
return $items;
|
115 |
+
|
116 |
+
$fes = $wpcf7_contact_form->form_scan_shortcode(
|
117 |
+
array( 'type' => 'quiz' ) );
|
118 |
+
|
119 |
+
if ( empty( $fes ) )
|
120 |
+
return $items;
|
121 |
+
|
122 |
+
$refill = array();
|
123 |
+
|
124 |
+
foreach ( $fes as $fe ) {
|
125 |
+
$name = $fe['name'];
|
126 |
+
$pipes = $fe['pipes'];
|
127 |
+
|
128 |
+
if ( empty( $name ) )
|
129 |
+
continue;
|
130 |
+
|
131 |
+
if ( is_a( $pipes, 'WPCF7_Pipes' ) && ! $pipes->zero() ) {
|
132 |
+
$pipe = $pipes->random_pipe();
|
133 |
+
$question = $pipe->before;
|
134 |
+
$answer = $pipe->after;
|
135 |
+
} else {
|
136 |
+
// default quiz
|
137 |
+
$question = '1+1=?';
|
138 |
+
$answer = '2';
|
139 |
+
}
|
140 |
+
|
141 |
+
$answer = wpcf7_canonicalize( $answer );
|
142 |
+
|
143 |
+
$refill[$name] = array( $question, wp_hash( $answer, 'wpcf7_quiz' ) );
|
144 |
+
}
|
145 |
+
|
146 |
+
if ( ! empty( $refill ) )
|
147 |
+
$items['quiz'] = $refill;
|
148 |
+
|
149 |
+
return $items;
|
150 |
+
}
|
151 |
+
|
152 |
+
add_filter( 'wpcf7_ajax_json_echo', 'wpcf7_quiz_ajax_echo_filter' );
|
153 |
+
|
154 |
+
?>
|
modules/select.php
ADDED
@@ -0,0 +1,137 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
** A base module for [select] and [select*]
|
4 |
+
**/
|
5 |
+
|
6 |
+
/* Shortcode handler */
|
7 |
+
|
8 |
+
function wpcf7_select_shortcode_handler( $tag ) {
|
9 |
+
global $wpcf7_contact_form;
|
10 |
+
|
11 |
+
if ( ! is_array( $tag ) )
|
12 |
+
return '';
|
13 |
+
|
14 |
+
$type = $tag['type'];
|
15 |
+
$name = $tag['name'];
|
16 |
+
$options = (array) $tag['options'];
|
17 |
+
$values = (array) $tag['values'];
|
18 |
+
|
19 |
+
if ( empty( $name ) )
|
20 |
+
return '';
|
21 |
+
|
22 |
+
$atts = '';
|
23 |
+
$id_att = '';
|
24 |
+
$class_att = '';
|
25 |
+
|
26 |
+
$defaults = array();
|
27 |
+
|
28 |
+
if ( 'select*' == $type )
|
29 |
+
$class_att .= ' wpcf7-validates-as-required';
|
30 |
+
|
31 |
+
foreach ( $options as $option ) {
|
32 |
+
if ( preg_match( '%^id:([-0-9a-zA-Z_]+)$%', $option, $matches ) ) {
|
33 |
+
$id_att = $matches[1];
|
34 |
+
|
35 |
+
} elseif ( preg_match( '%^class:([-0-9a-zA-Z_]+)$%', $option, $matches ) ) {
|
36 |
+
$class_att .= ' ' . $matches[1];
|
37 |
+
|
38 |
+
} elseif ( preg_match( '/^default:([0-9_]+)$/', $option, $matches ) ) {
|
39 |
+
$defaults = explode( '_', $matches[1] );
|
40 |
+
}
|
41 |
+
}
|
42 |
+
|
43 |
+
if ( $id_att )
|
44 |
+
$atts .= ' id="' . trim( $id_att ) . '"';
|
45 |
+
|
46 |
+
if ( $class_att )
|
47 |
+
$atts .= ' class="' . trim( $class_att ) . '"';
|
48 |
+
|
49 |
+
$multiple = (bool) preg_grep( '%^multiple$%', $options );
|
50 |
+
$include_blank = (bool) preg_grep( '%^include_blank$%', $options );
|
51 |
+
|
52 |
+
$empty_select = empty( $values );
|
53 |
+
if ( $empty_select || $include_blank )
|
54 |
+
array_unshift( $values, '---' );
|
55 |
+
|
56 |
+
$html = '';
|
57 |
+
|
58 |
+
$posted = is_a( $wpcf7_contact_form, 'WPCF7_ContactForm' ) && $wpcf7_contact_form->is_posted();
|
59 |
+
|
60 |
+
foreach ( $values as $key => $value ) {
|
61 |
+
$selected = false;
|
62 |
+
|
63 |
+
if ( ! $empty_select && in_array( $key + 1, (array) $defaults ) )
|
64 |
+
$selected = true;
|
65 |
+
|
66 |
+
if ( $posted ) {
|
67 |
+
if ( $multiple && in_array( esc_sql( $value ), (array) $_POST[$name] ) )
|
68 |
+
$selected = true;
|
69 |
+
if ( ! $multiple && $_POST[$name] == esc_sql( $value ) )
|
70 |
+
$selected = true;
|
71 |
+
}
|
72 |
+
|
73 |
+
$selected = $selected ? ' selected="selected"' : '';
|
74 |
+
|
75 |
+
if ( is_array( $tag['labels'] ) && isset( $tag['labels'][$key] ) )
|
76 |
+
$label = $tag['labels'][$key];
|
77 |
+
else
|
78 |
+
$label = $value;
|
79 |
+
|
80 |
+
$html .= '<option value="' . esc_attr( $value ) . '"' . $selected . '>' . esc_html( $label ) . '</option>';
|
81 |
+
}
|
82 |
+
|
83 |
+
if ( $multiple )
|
84 |
+
$atts .= ' multiple="multiple"';
|
85 |
+
|
86 |
+
$html = '<select name="' . $name . ( $multiple ? '[]' : '' ) . '"' . $atts . '>' . $html . '</select>';
|
87 |
+
|
88 |
+
$validation_error = '';
|
89 |
+
if ( is_a( $wpcf7_contact_form, 'WPCF7_ContactForm' ) )
|
90 |
+
$validation_error = $wpcf7_contact_form->validation_error( $name );
|
91 |
+
|
92 |
+
$html = '<span class="wpcf7-form-control-wrap ' . $name . '">' . $html . $validation_error . '</span>';
|
93 |
+
|
94 |
+
return $html;
|
95 |
+
}
|
96 |
+
|
97 |
+
wpcf7_add_shortcode( 'select', 'wpcf7_select_shortcode_handler', true );
|
98 |
+
wpcf7_add_shortcode( 'select*', 'wpcf7_select_shortcode_handler', true );
|
99 |
+
|
100 |
+
|
101 |
+
/* Validation filter */
|
102 |
+
|
103 |
+
function wpcf7_select_validation_filter( $result, $tag ) {
|
104 |
+
global $wpcf7_contact_form;
|
105 |
+
|
106 |
+
$type = $tag['type'];
|
107 |
+
$name = $tag['name'];
|
108 |
+
$values = $tag['values'];
|
109 |
+
|
110 |
+
if ( is_array( $_POST[$name] ) ) {
|
111 |
+
foreach ( $_POST[$name] as $key => $value ) {
|
112 |
+
$value = stripslashes( $value );
|
113 |
+
if ( ! in_array( $value, (array) $values ) ) // Not in given choices.
|
114 |
+
unset( $_POST[$name][$key] );
|
115 |
+
}
|
116 |
+
} else {
|
117 |
+
$value = stripslashes( $_POST[$name] );
|
118 |
+
if ( ! in_array( $value, (array) $values ) ) // Not in given choices.
|
119 |
+
$_POST[$name] = '';
|
120 |
+
}
|
121 |
+
|
122 |
+
if ( 'select*' == $type ) {
|
123 |
+
if ( empty( $_POST[$name] ) ||
|
124 |
+
! is_array( $_POST[$name] ) && '---' == $_POST[$name] ||
|
125 |
+
is_array( $_POST[$name] ) && 1 == count( $_POST[$name] ) && '---' == $_POST[$name][0] ) {
|
126 |
+
$result['valid'] = false;
|
127 |
+
$result['reason'][$name] = $wpcf7_contact_form->message( 'invalid_required' );
|
128 |
+
}
|
129 |
+
}
|
130 |
+
|
131 |
+
return $result;
|
132 |
+
}
|
133 |
+
|
134 |
+
add_filter( 'wpcf7_validate_select', 'wpcf7_select_validation_filter', 10, 2 );
|
135 |
+
add_filter( 'wpcf7_validate_select*', 'wpcf7_select_validation_filter', 10, 2 );
|
136 |
+
|
137 |
+
?>
|
modules/submit.php
ADDED
@@ -0,0 +1,49 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
** A base module for [submit]
|
4 |
+
**/
|
5 |
+
|
6 |
+
/* Shortcode handler */
|
7 |
+
|
8 |
+
function wpcf7_submit_shortcode_handler( $tag ) {
|
9 |
+
if ( ! is_array( $tag ) )
|
10 |
+
return '';
|
11 |
+
|
12 |
+
$options = (array) $tag['options'];
|
13 |
+
$values = (array) $tag['values'];
|
14 |
+
|
15 |
+
$atts = '';
|
16 |
+
$id_att = '';
|
17 |
+
$class_att = '';
|
18 |
+
|
19 |
+
foreach ( $options as $option ) {
|
20 |
+
if ( preg_match( '%^id:([-0-9a-zA-Z_]+)$%', $option, $matches ) ) {
|
21 |
+
$id_att = $matches[1];
|
22 |
+
|
23 |
+
} elseif ( preg_match( '%^class:([-0-9a-zA-Z_]+)$%', $option, $matches ) ) {
|
24 |
+
$class_att .= ' ' . $matches[1];
|
25 |
+
|
26 |
+
}
|
27 |
+
}
|
28 |
+
|
29 |
+
if ( $id_att )
|
30 |
+
$atts .= ' id="' . trim( $id_att ) . '"';
|
31 |
+
|
32 |
+
if ( $class_att )
|
33 |
+
$atts .= ' class="' . trim( $class_att ) . '"';
|
34 |
+
|
35 |
+
$value = $values[0];
|
36 |
+
if ( empty( $value ) )
|
37 |
+
$value = __( 'Send', 'wpcf7' );
|
38 |
+
|
39 |
+
$ajax_loader_image_url = wpcf7_plugin_url( 'images/ajax-loader.gif' );
|
40 |
+
|
41 |
+
$html = '<input type="submit" value="' . esc_attr( $value ) . '"' . $atts . ' />';
|
42 |
+
$html .= ' <img class="ajax-loader" style="visibility: hidden;" alt="ajax loader" src="' . $ajax_loader_image_url . '" />';
|
43 |
+
|
44 |
+
return $html;
|
45 |
+
}
|
46 |
+
|
47 |
+
wpcf7_add_shortcode( 'submit', 'wpcf7_submit_shortcode_handler' );
|
48 |
+
|
49 |
+
?>
|
modules/text.php
ADDED
@@ -0,0 +1,123 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
** A base module for [text], [text*], [email], and [email*]
|
4 |
+
**/
|
5 |
+
|
6 |
+
/* Shortcode handler */
|
7 |
+
|
8 |
+
function wpcf7_text_shortcode_handler( $tag ) {
|
9 |
+
global $wpcf7_contact_form;
|
10 |
+
|
11 |
+
if ( ! is_array( $tag ) )
|
12 |
+
return '';
|
13 |
+
|
14 |
+
$type = $tag['type'];
|
15 |
+
$name = $tag['name'];
|
16 |
+
$options = (array) $tag['options'];
|
17 |
+
$values = (array) $tag['values'];
|
18 |
+
|
19 |
+
if ( empty( $name ) )
|
20 |
+
return '';
|
21 |
+
|
22 |
+
$atts = '';
|
23 |
+
$id_att = '';
|
24 |
+
$class_att = '';
|
25 |
+
$size_att = '';
|
26 |
+
$maxlength_att = '';
|
27 |
+
|
28 |
+
if ( 'email' == $type || 'email*' == $type )
|
29 |
+
$class_att .= ' wpcf7-validates-as-email';
|
30 |
+
|
31 |
+
if ( 'text*' == $type || 'email*' == $type )
|
32 |
+
$class_att .= ' wpcf7-validates-as-required';
|
33 |
+
|
34 |
+
foreach ( $options as $option ) {
|
35 |
+
if ( preg_match( '%^id:([-0-9a-zA-Z_]+)$%', $option, $matches ) ) {
|
36 |
+
$id_att = $matches[1];
|
37 |
+
|
38 |
+
} elseif ( preg_match( '%^class:([-0-9a-zA-Z_]+)$%', $option, $matches ) ) {
|
39 |
+
$class_att .= ' ' . $matches[1];
|
40 |
+
|
41 |
+
} elseif ( preg_match( '%^([0-9]*)[/x]([0-9]*)$%', $option, $matches ) ) {
|
42 |
+
$size_att = (int) $matches[1];
|
43 |
+
$maxlength_att = (int) $matches[2];
|
44 |
+
}
|
45 |
+
}
|
46 |
+
|
47 |
+
if ( $id_att )
|
48 |
+
$atts .= ' id="' . trim( $id_att ) . '"';
|
49 |
+
|
50 |
+
if ( $class_att )
|
51 |
+
$atts .= ' class="' . trim( $class_att ) . '"';
|
52 |
+
|
53 |
+
if ( $size_att )
|
54 |
+
$atts .= ' size="' . $size_att . '"';
|
55 |
+
else
|
56 |
+
$atts .= ' size="40"'; // default size
|
57 |
+
|
58 |
+
if ( $maxlength_att )
|
59 |
+
$atts .= ' maxlength="' . $maxlength_att . '"';
|
60 |
+
|
61 |
+
// Value
|
62 |
+
if ( is_a( $wpcf7_contact_form, 'WPCF7_ContactForm' ) && $wpcf7_contact_form->is_posted() ) {
|
63 |
+
if ( isset( $_POST['_wpcf7_mail_sent'] ) && $_POST['_wpcf7_mail_sent']['ok'] )
|
64 |
+
$value = '';
|
65 |
+
else
|
66 |
+
$value = $_POST[$name];
|
67 |
+
} else {
|
68 |
+
$value = $values[0];
|
69 |
+
}
|
70 |
+
|
71 |
+
$html = '<input type="text" name="' . $name . '" value="' . esc_attr( $value ) . '"' . $atts . ' />';
|
72 |
+
|
73 |
+
$validation_error = '';
|
74 |
+
if ( is_a( $wpcf7_contact_form, 'WPCF7_ContactForm' ) )
|
75 |
+
$validation_error = $wpcf7_contact_form->validation_error( $name );
|
76 |
+
|
77 |
+
$html = '<span class="wpcf7-form-control-wrap ' . $name . '">' . $html . $validation_error . '</span>';
|
78 |
+
|
79 |
+
return $html;
|
80 |
+
}
|
81 |
+
|
82 |
+
wpcf7_add_shortcode( 'text', 'wpcf7_text_shortcode_handler', true );
|
83 |
+
wpcf7_add_shortcode( 'text*', 'wpcf7_text_shortcode_handler', true );
|
84 |
+
wpcf7_add_shortcode( 'email', 'wpcf7_text_shortcode_handler', true );
|
85 |
+
wpcf7_add_shortcode( 'email*', 'wpcf7_text_shortcode_handler', true );
|
86 |
+
|
87 |
+
|
88 |
+
/* Validation filter */
|
89 |
+
|
90 |
+
function wpcf7_text_validation_filter( $result, $tag ) {
|
91 |
+
global $wpcf7_contact_form;
|
92 |
+
|
93 |
+
$type = $tag['type'];
|
94 |
+
$name = $tag['name'];
|
95 |
+
|
96 |
+
$_POST[$name] = trim( strtr( (string) $_POST[$name], "\n", " " ) );
|
97 |
+
|
98 |
+
if ( 'text*' == $type ) {
|
99 |
+
if ( '' == $_POST[$name] ) {
|
100 |
+
$result['valid'] = false;
|
101 |
+
$result['reason'][$name] = $wpcf7_contact_form->message( 'invalid_required' );
|
102 |
+
}
|
103 |
+
}
|
104 |
+
|
105 |
+
if ( 'email' == $type || 'email*' == $type ) {
|
106 |
+
if ( 'email*' == $type && '' == $_POST[$name] ) {
|
107 |
+
$result['valid'] = false;
|
108 |
+
$result['reason'][$name] = $wpcf7_contact_form->message( 'invalid_required' );
|
109 |
+
} elseif ( '' != $_POST[$name] && ! is_email( $_POST[$name] ) ) {
|
110 |
+
$result['valid'] = false;
|
111 |
+
$result['reason'][$name] = $wpcf7_contact_form->message( 'invalid_email' );
|
112 |
+
}
|
113 |
+
}
|
114 |
+
|
115 |
+
return $result;
|
116 |
+
}
|
117 |
+
|
118 |
+
add_filter( 'wpcf7_validate_text', 'wpcf7_text_validation_filter', 10, 2 );
|
119 |
+
add_filter( 'wpcf7_validate_text*', 'wpcf7_text_validation_filter', 10, 2 );
|
120 |
+
add_filter( 'wpcf7_validate_email', 'wpcf7_text_validation_filter', 10, 2 );
|
121 |
+
add_filter( 'wpcf7_validate_email*', 'wpcf7_text_validation_filter', 10, 2 );
|
122 |
+
|
123 |
+
?>
|
modules/textarea.php
ADDED
@@ -0,0 +1,112 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
** A base module for [textarea] and [textarea*]
|
4 |
+
**/
|
5 |
+
|
6 |
+
/* Shortcode handler */
|
7 |
+
|
8 |
+
function wpcf7_textarea_shortcode_handler( $tag ) {
|
9 |
+
global $wpcf7_contact_form;
|
10 |
+
|
11 |
+
if ( ! is_array( $tag ) )
|
12 |
+
return '';
|
13 |
+
|
14 |
+
$type = $tag['type'];
|
15 |
+
$name = $tag['name'];
|
16 |
+
$options = (array) $tag['options'];
|
17 |
+
$values = (array) $tag['values'];
|
18 |
+
$content = $tag['content'];
|
19 |
+
|
20 |
+
if ( empty( $name ) )
|
21 |
+
return '';
|
22 |
+
|
23 |
+
$atts = '';
|
24 |
+
$id_att = '';
|
25 |
+
$class_att = '';
|
26 |
+
$cols_att = '';
|
27 |
+
$rows_att = '';
|
28 |
+
|
29 |
+
if ( 'textarea*' == $type )
|
30 |
+
$class_att .= ' wpcf7-validates-as-required';
|
31 |
+
|
32 |
+
foreach ( $options as $option ) {
|
33 |
+
if ( preg_match( '%^id:([-0-9a-zA-Z_]+)$%', $option, $matches ) ) {
|
34 |
+
$id_att = $matches[1];
|
35 |
+
|
36 |
+
} elseif ( preg_match( '%^class:([-0-9a-zA-Z_]+)$%', $option, $matches ) ) {
|
37 |
+
$class_att .= ' ' . $matches[1];
|
38 |
+
|
39 |
+
} elseif ( preg_match( '%^([0-9]*)[x/]([0-9]*)$%', $option, $matches ) ) {
|
40 |
+
$cols_att = (int) $matches[1];
|
41 |
+
$rows_att = (int) $matches[2];
|
42 |
+
}
|
43 |
+
}
|
44 |
+
|
45 |
+
if ( $id_att )
|
46 |
+
$atts .= ' id="' . trim( $id_att ) . '"';
|
47 |
+
|
48 |
+
if ( $class_att )
|
49 |
+
$atts .= ' class="' . trim( $class_att ) . '"';
|
50 |
+
|
51 |
+
if ( $cols_att )
|
52 |
+
$atts .= ' cols="' . $cols_att . '"';
|
53 |
+
else
|
54 |
+
$atts .= ' cols="40"'; // default size
|
55 |
+
|
56 |
+
if ( $rows_att )
|
57 |
+
$atts .= ' rows="' . $rows_att . '"';
|
58 |
+
else
|
59 |
+
$atts .= ' rows="10"'; // default size
|
60 |
+
|
61 |
+
// Value
|
62 |
+
if ( is_a( $wpcf7_contact_form, 'WPCF7_ContactForm' ) && $wpcf7_contact_form->is_posted() ) {
|
63 |
+
if ( isset( $_POST['_wpcf7_mail_sent'] ) && $_POST['_wpcf7_mail_sent']['ok'] )
|
64 |
+
$value = '';
|
65 |
+
else
|
66 |
+
$value = $_POST[$name];
|
67 |
+
} else {
|
68 |
+
$value = $values[0];
|
69 |
+
|
70 |
+
if ( ! empty( $content ) )
|
71 |
+
$value = $content;
|
72 |
+
}
|
73 |
+
|
74 |
+
$html = '<textarea name="' . $name . '"' . $atts . '>' . esc_html( $value ) . '</textarea>';
|
75 |
+
|
76 |
+
$validation_error = '';
|
77 |
+
if ( is_a( $wpcf7_contact_form, 'WPCF7_ContactForm' ) )
|
78 |
+
$validation_error = $wpcf7_contact_form->validation_error( $name );
|
79 |
+
|
80 |
+
$html = '<span class="wpcf7-form-control-wrap ' . $name . '">' . $html . $validation_error . '</span>';
|
81 |
+
|
82 |
+
return $html;
|
83 |
+
}
|
84 |
+
|
85 |
+
wpcf7_add_shortcode( 'textarea', 'wpcf7_textarea_shortcode_handler', true );
|
86 |
+
wpcf7_add_shortcode( 'textarea*', 'wpcf7_textarea_shortcode_handler', true );
|
87 |
+
|
88 |
+
|
89 |
+
/* Validation filter */
|
90 |
+
|
91 |
+
function wpcf7_textarea_validation_filter( $result, $tag ) {
|
92 |
+
global $wpcf7_contact_form;
|
93 |
+
|
94 |
+
$type = $tag['type'];
|
95 |
+
$name = $tag['name'];
|
96 |
+
|
97 |
+
$_POST[$name] = (string) $_POST[$name];
|
98 |
+
|
99 |
+
if ( 'textarea*' == $type ) {
|
100 |
+
if ( '' == $_POST[$name] ) {
|
101 |
+
$result['valid'] = false;
|
102 |
+
$result['reason'][$name] = $wpcf7_contact_form->message( 'invalid_required' );
|
103 |
+
}
|
104 |
+
}
|
105 |
+
|
106 |
+
return $result;
|
107 |
+
}
|
108 |
+
|
109 |
+
add_filter( 'wpcf7_validate_textarea', 'wpcf7_textarea_validation_filter', 10, 2 );
|
110 |
+
add_filter( 'wpcf7_validate_textarea*', 'wpcf7_textarea_validation_filter', 10, 2 );
|
111 |
+
|
112 |
+
?>
|
wp-contact-form-7.php
CHANGED
@@ -4,7 +4,7 @@ Plugin Name: Contact Form 7
|
|
4 |
Plugin URI: http://ideasilo.wordpress.com/2007/04/30/contact-form-7/
|
5 |
Description: Just another contact form plugin. Simple but flexible.
|
6 |
Author: Takayuki Miyoshi
|
7 |
-
Version:
|
8 |
Author URI: http://ideasilo.wordpress.com/
|
9 |
*/
|
10 |
|
@@ -25,19 +25,7 @@ Author URI: http://ideasilo.wordpress.com/
|
|
25 |
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
26 |
*/
|
27 |
|
28 |
-
define( 'WPCF7_VERSION', '
|
29 |
-
|
30 |
-
if ( ! defined( 'WP_CONTENT_DIR' ) )
|
31 |
-
define( 'WP_CONTENT_DIR', ABSPATH . 'wp-content' );
|
32 |
-
|
33 |
-
if ( ! defined( 'WP_CONTENT_URL' ) )
|
34 |
-
define( 'WP_CONTENT_URL', get_option( 'siteurl' ) . '/wp-content' );
|
35 |
-
|
36 |
-
if ( ! defined( 'WP_PLUGIN_DIR' ) )
|
37 |
-
define( 'WP_PLUGIN_DIR', WP_CONTENT_DIR . '/plugins' );
|
38 |
-
|
39 |
-
if ( ! defined( 'WP_PLUGIN_URL' ) )
|
40 |
-
define( 'WP_PLUGIN_URL', WP_CONTENT_URL . '/plugins' );
|
41 |
|
42 |
if ( ! defined( 'WPCF7_PLUGIN_DIR' ) )
|
43 |
define( 'WPCF7_PLUGIN_DIR', WP_PLUGIN_DIR . '/' . plugin_basename( dirname( __FILE__ ) ) );
|
@@ -45,6 +33,9 @@ if ( ! defined( 'WPCF7_PLUGIN_DIR' ) )
|
|
45 |
if ( ! defined( 'WPCF7_PLUGIN_URL' ) )
|
46 |
define( 'WPCF7_PLUGIN_URL', WP_PLUGIN_URL . '/' . plugin_basename( dirname( __FILE__ ) ) );
|
47 |
|
|
|
|
|
|
|
48 |
if ( ! defined( 'WPCF7_PLUGIN_BASENAME' ) )
|
49 |
define( 'WPCF7_PLUGIN_BASENAME', plugin_basename( __FILE__ ) );
|
50 |
|
@@ -73,23 +64,21 @@ if ( ! defined( 'WPCF7_ADMIN_READ_WRITE_CAPABILITY' ) )
|
|
73 |
function wpcf7_plugin_url( $path = '' ) {
|
74 |
global $wp_version;
|
75 |
|
76 |
-
if (
|
|
|
|
|
|
|
77 |
|
78 |
-
|
79 |
-
|
80 |
-
if ( '.' != $folder )
|
81 |
-
$path = path_join( ltrim( $folder, '/' ), $path );
|
82 |
|
83 |
-
|
84 |
-
|
85 |
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
$url .= '/' . ltrim( $path, '/' );
|
91 |
-
return $url;
|
92 |
-
}
|
93 |
}
|
94 |
|
95 |
// Pre-2.8 compatibility
|
@@ -111,122 +100,102 @@ if ( ! function_exists( 'esc_attr' ) ) {
|
|
111 |
}
|
112 |
}
|
113 |
|
114 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
115 |
require_once WPCF7_PLUGIN_DIR . '/includes/functions.php';
|
116 |
require_once WPCF7_PLUGIN_DIR . '/includes/formatting.php';
|
117 |
-
require_once WPCF7_PLUGIN_DIR . '/includes/mail.php';
|
118 |
require_once WPCF7_PLUGIN_DIR . '/includes/pipe.php';
|
119 |
-
require_once WPCF7_PLUGIN_DIR . '/includes/
|
120 |
-
require_once WPCF7_PLUGIN_DIR . '/includes/
|
121 |
-
require_once WPCF7_PLUGIN_DIR . '/includes/quiz.php';
|
122 |
-
require_once WPCF7_PLUGIN_DIR . '/includes/captcha.php';
|
123 |
-
require_once WPCF7_PLUGIN_DIR . '/includes/upload.php';
|
124 |
|
125 |
if ( is_admin() )
|
126 |
require_once WPCF7_PLUGIN_DIR . '/admin/admin.php';
|
127 |
|
128 |
-
$wpcf7_contact_forms = null;
|
129 |
-
|
130 |
function wpcf7_contact_forms() {
|
131 |
-
global $
|
132 |
-
|
133 |
-
if ( is_array( $wpcf7_contact_forms ) )
|
134 |
-
return $wpcf7_contact_forms;
|
135 |
-
|
136 |
-
$wpcf7 = get_option( 'wpcf7' );
|
137 |
-
$wpcf7_contact_forms = $wpcf7['contact_forms'];
|
138 |
-
|
139 |
-
if ( ! is_array( $wpcf7_contact_forms ) )
|
140 |
-
$wpcf7_contact_forms = array();
|
141 |
-
|
142 |
-
return $wpcf7_contact_forms;
|
143 |
-
}
|
144 |
|
145 |
-
|
146 |
-
$wpcf7 = get_option( 'wpcf7' );
|
147 |
-
$wpcf7['contact_forms'] = $contact_forms;
|
148 |
|
149 |
-
|
150 |
}
|
151 |
|
152 |
-
$
|
153 |
|
154 |
$wpcf7_processing_within = null;
|
155 |
$wpcf7_unit_count = null;
|
156 |
$wpcf7_widget_count = null;
|
157 |
|
158 |
function wpcf7_ajax_json_echo() {
|
|
|
|
|
159 |
$echo = '';
|
160 |
|
161 |
if ( isset( $_POST['_wpcf7'] ) ) {
|
162 |
$id = (int) $_POST['_wpcf7'];
|
163 |
$unit_tag = $_POST['_wpcf7_unit_tag'];
|
164 |
-
$contact_forms = wpcf7_contact_forms();
|
165 |
-
|
166 |
-
if ( $cf = wpcf7_contact_form( $contact_forms[$id] ) ) {
|
167 |
-
$validation = $cf->validate();
|
168 |
|
169 |
-
|
170 |
-
|
171 |
-
$validation['valid'] = false;
|
172 |
|
173 |
-
$
|
|
|
|
|
|
|
174 |
|
175 |
-
$
|
176 |
|
177 |
-
if ( !
|
178 |
-
$
|
179 |
-
foreach ( $
|
180 |
-
$
|
|
|
|
|
181 |
}
|
182 |
-
$captcha = '{ ' . join( ', ', $captchas_js ) . ' }';
|
183 |
-
} else {
|
184 |
-
$captcha = 'null';
|
185 |
-
}
|
186 |
|
187 |
-
|
|
|
188 |
|
189 |
-
|
190 |
-
$
|
191 |
-
foreach ( $quizzes as $name => $q ) {
|
192 |
-
$quizzes_js[] = '"' . $name . '": [ "' . esc_js( $q[0] ) . '", "' . $q[1] . '" ]';
|
193 |
-
}
|
194 |
-
$quiz = '{ ' . join( ', ', $quizzes_js ) . ' }';
|
195 |
-
} else {
|
196 |
-
$quiz = 'null';
|
197 |
-
}
|
198 |
|
199 |
-
|
200 |
-
|
201 |
-
$
|
202 |
-
} else {
|
203 |
-
$on_sent_ok = 'null';
|
204 |
-
}
|
205 |
|
206 |
-
|
207 |
-
$
|
208 |
-
|
209 |
-
|
|
|
|
|
|
|
|
|
|
|
210 |
}
|
211 |
-
$
|
212 |
-
|
213 |
-
|
214 |
-
|
215 |
-
} elseif ( wpcf7_akismet( $cf ) ) { // Spam!
|
216 |
-
$echo = '{ mailSent: 0, message: "' . esc_js( $cf->message( 'akismet_says_spam' ) ) . '", into: "#' . $unit_tag . '", spam: 1, captcha: ' . $captcha . ', quiz: ' . $quiz . ' }';
|
217 |
-
} elseif ( wpcf7_mail( $cf, $handled_uploads['files'] ) ) {
|
218 |
-
$echo = '{ mailSent: 1, message: "' . esc_js( $cf->message( 'mail_sent_ok' ) ) . '", into: "#' . $unit_tag . '", captcha: ' . $captcha . ', quiz: ' . $quiz . ', onSentOk: ' . $on_sent_ok . ' }';
|
219 |
} else {
|
220 |
-
$
|
221 |
}
|
222 |
|
223 |
// remove upload files
|
224 |
-
foreach ( $
|
225 |
@unlink( $path );
|
226 |
}
|
|
|
|
|
227 |
}
|
228 |
}
|
229 |
|
|
|
|
|
230 |
if ( $_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest' ) {
|
231 |
@header( 'Content-Type: application/json; charset=' . get_option( 'blog_charset' ) );
|
232 |
echo $echo;
|
@@ -237,37 +206,36 @@ function wpcf7_ajax_json_echo() {
|
|
237 |
}
|
238 |
|
239 |
function wpcf7_process_nonajax_submitting() {
|
|
|
|
|
240 |
if ( ! isset($_POST['_wpcf7'] ) )
|
241 |
return;
|
242 |
|
243 |
$id = (int) $_POST['_wpcf7'];
|
244 |
-
$contact_forms = wpcf7_contact_forms();
|
245 |
-
if ( $cf = wpcf7_contact_form( $contact_forms[$id] ) ) {
|
246 |
-
$validation = $cf->validate();
|
247 |
|
248 |
-
|
249 |
-
|
250 |
-
if ( ! $handled_uploads['validation']['valid'] )
|
251 |
-
$validation['valid'] = false;
|
252 |
-
|
253 |
-
$validation['reason'] = array_merge( $validation['reason'], $handled_uploads['validation']['reason'] );
|
254 |
|
255 |
if ( ! $validation['valid'] ) {
|
256 |
$_POST['_wpcf7_validation_errors'] = array( 'id' => $id, 'messages' => $validation['reason'] );
|
257 |
-
} elseif ( !
|
258 |
-
$_POST['_wpcf7_mail_sent'] = array( 'id' => $id, 'ok' => false, 'message' => $
|
259 |
-
} elseif (
|
260 |
-
$_POST['_wpcf7_mail_sent'] = array( 'id' => $id, 'ok' => false, 'message' => $
|
261 |
-
} elseif (
|
262 |
-
$_POST['_wpcf7_mail_sent'] = array( 'id' => $id, 'ok' => true, 'message' => $
|
|
|
|
|
263 |
} else {
|
264 |
-
$_POST['_wpcf7_mail_sent'] = array( 'id' => $id, 'ok' => false, 'message' => $
|
265 |
}
|
266 |
|
267 |
// remove upload files
|
268 |
-
foreach ( $
|
269 |
@unlink( $path );
|
270 |
}
|
|
|
|
|
271 |
}
|
272 |
}
|
273 |
|
@@ -300,7 +268,7 @@ function wpcf7_widget_text_filter_callback( $matches ) {
|
|
300 |
}
|
301 |
|
302 |
function wpcf7_contact_form_tag_func( $atts ) {
|
303 |
-
global $wpcf7_unit_count, $wpcf7_processing_within;
|
304 |
|
305 |
if ( is_string( $atts ) )
|
306 |
$atts = explode( ' ', $atts, 2 );
|
@@ -309,19 +277,17 @@ function wpcf7_contact_form_tag_func( $atts ) {
|
|
309 |
|
310 |
$id = (int) array_shift( $atts );
|
311 |
|
312 |
-
$
|
313 |
-
|
314 |
-
if ( ! ( $cf = wpcf7_contact_form( $contact_forms[$id] ) ) )
|
315 |
return '[contact-form 404 "Not Found"]';
|
316 |
|
317 |
-
$cf->id = $id;
|
318 |
-
|
319 |
$wpcf7_unit_count += 1;
|
320 |
|
321 |
$unit_tag = 'wpcf7-f' . $id . '-' . $wpcf7_processing_within . '-o' . $wpcf7_unit_count;
|
322 |
-
$
|
|
|
|
|
323 |
|
324 |
-
$
|
325 |
|
326 |
return $form;
|
327 |
}
|
@@ -341,6 +307,22 @@ function wpcf7_wp_head() {
|
|
341 |
if ( WPCF7_LOAD_CSS )
|
342 |
add_action( 'wp_head', 'wpcf7_wp_head' );
|
343 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
344 |
function wpcf7_enqueue_scripts() {
|
345 |
$in_footer = true;
|
346 |
if ( 'header' === WPCF7_LOAD_JS )
|
@@ -353,69 +335,22 @@ function wpcf7_enqueue_scripts() {
|
|
353 |
if ( ! is_admin() && WPCF7_LOAD_JS )
|
354 |
add_action( 'init', 'wpcf7_enqueue_scripts' );
|
355 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
356 |
function wpcf7_init_switch() {
|
357 |
if ( 'POST' == $_SERVER['REQUEST_METHOD'] && 1 == (int) $_POST['_wpcf7_is_ajax_call'] ) {
|
358 |
wpcf7_ajax_json_echo();
|
359 |
exit();
|
360 |
} elseif ( ! is_admin() ) {
|
361 |
wpcf7_process_nonajax_submitting();
|
362 |
-
wpcf7_cleanup_captcha_files();
|
363 |
-
wpcf7_cleanup_upload_files();
|
364 |
}
|
365 |
}
|
366 |
|
367 |
add_action( 'init', 'wpcf7_init_switch', 11 );
|
368 |
|
369 |
-
function wpcf7_load_plugin_textdomain() { // l10n
|
370 |
-
global $wp_version;
|
371 |
-
|
372 |
-
if ( version_compare( $wp_version, '2.6', '<' ) ) // Using old WordPress
|
373 |
-
load_plugin_textdomain( 'wpcf7', 'wp-content/plugins/contact-form-7/languages' );
|
374 |
-
else
|
375 |
-
load_plugin_textdomain( 'wpcf7', 'wp-content/plugins/contact-form-7/languages', 'contact-form-7/languages' );
|
376 |
-
}
|
377 |
-
|
378 |
-
add_action( 'init', 'wpcf7_load_plugin_textdomain' );
|
379 |
-
|
380 |
-
function wpcf7_set_initial() {
|
381 |
-
wpcf7_load_plugin_textdomain();
|
382 |
-
|
383 |
-
$wpcf7 = get_option( 'wpcf7' );
|
384 |
-
if ( ! is_array( $wpcf7 ) )
|
385 |
-
$wpcf7 = array();
|
386 |
-
|
387 |
-
$contact_forms = $wpcf7['contact_forms'];
|
388 |
-
if ( ! is_array( $contact_forms ) )
|
389 |
-
$contact_forms = array();
|
390 |
-
|
391 |
-
if ( 0 == count( $contact_forms ) )
|
392 |
-
$contact_forms[1] = wpcf7_default_pack( __( 'Contact form', 'wpcf7' ) . ' 1' );
|
393 |
-
|
394 |
-
$wpcf7['contact_forms'] = $contact_forms;
|
395 |
-
update_option( 'wpcf7', $wpcf7 );
|
396 |
-
}
|
397 |
-
|
398 |
-
add_action( 'activate_' . WPCF7_PLUGIN_BASENAME, 'wpcf7_set_initial' );
|
399 |
-
|
400 |
-
function wpcf7_contact_form( $data ) {
|
401 |
-
if ( ! $data )
|
402 |
-
return false;
|
403 |
-
|
404 |
-
$data = stripslashes_deep( $data );
|
405 |
-
|
406 |
-
$contact_form = new WPCF7_ContactForm();
|
407 |
-
|
408 |
-
$contact_form->title = $data['title'];
|
409 |
-
$contact_form->form = $data['form'];
|
410 |
-
$contact_form->mail = $data['mail'];
|
411 |
-
$contact_form->mail_2 = $data['mail_2'];
|
412 |
-
$contact_form->messages = $data['messages'];
|
413 |
-
$contact_form->additional_settings = $data['additional_settings'];
|
414 |
-
$contact_form->options = $data['options'];
|
415 |
-
|
416 |
-
$contact_form->upgrade();
|
417 |
-
|
418 |
-
return $contact_form;
|
419 |
-
}
|
420 |
-
|
421 |
?>
|
4 |
Plugin URI: http://ideasilo.wordpress.com/2007/04/30/contact-form-7/
|
5 |
Description: Just another contact form plugin. Simple but flexible.
|
6 |
Author: Takayuki Miyoshi
|
7 |
+
Version: 2.0-beta
|
8 |
Author URI: http://ideasilo.wordpress.com/
|
9 |
*/
|
10 |
|
25 |
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
26 |
*/
|
27 |
|
28 |
+
define( 'WPCF7_VERSION', '2.0-beta' );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
29 |
|
30 |
if ( ! defined( 'WPCF7_PLUGIN_DIR' ) )
|
31 |
define( 'WPCF7_PLUGIN_DIR', WP_PLUGIN_DIR . '/' . plugin_basename( dirname( __FILE__ ) ) );
|
33 |
if ( ! defined( 'WPCF7_PLUGIN_URL' ) )
|
34 |
define( 'WPCF7_PLUGIN_URL', WP_PLUGIN_URL . '/' . plugin_basename( dirname( __FILE__ ) ) );
|
35 |
|
36 |
+
if ( ! defined( 'WPCF7_PLUGIN_MODULES_DIR' ) )
|
37 |
+
define( 'WPCF7_PLUGIN_MODULES_DIR', WPCF7_PLUGIN_DIR . '/modules' );
|
38 |
+
|
39 |
if ( ! defined( 'WPCF7_PLUGIN_BASENAME' ) )
|
40 |
define( 'WPCF7_PLUGIN_BASENAME', plugin_basename( __FILE__ ) );
|
41 |
|
64 |
function wpcf7_plugin_url( $path = '' ) {
|
65 |
global $wp_version;
|
66 |
|
67 |
+
if ( version_compare( $wp_version, '2.8', '<' ) ) { // Using WordPress 2.7
|
68 |
+
$folder = dirname( plugin_basename( __FILE__ ) );
|
69 |
+
if ( '.' != $folder )
|
70 |
+
$path = path_join( ltrim( $folder, '/' ), $path );
|
71 |
|
72 |
+
return plugins_url( $path );
|
73 |
+
}
|
|
|
|
|
74 |
|
75 |
+
return plugins_url( $path, __FILE__ );
|
76 |
+
}
|
77 |
|
78 |
+
function wpcf7_table_name() {
|
79 |
+
global $wpdb;
|
80 |
+
|
81 |
+
return $wpdb->prefix . "contact_form_7";
|
|
|
|
|
|
|
82 |
}
|
83 |
|
84 |
// Pre-2.8 compatibility
|
100 |
}
|
101 |
}
|
102 |
|
103 |
+
if ( ! function_exists( 'esc_sql' ) ) {
|
104 |
+
function esc_sql( $text ) {
|
105 |
+
global $wpdb;
|
106 |
+
return $wpdb->escape( $text );
|
107 |
+
}
|
108 |
+
}
|
109 |
+
|
110 |
require_once WPCF7_PLUGIN_DIR . '/includes/functions.php';
|
111 |
require_once WPCF7_PLUGIN_DIR . '/includes/formatting.php';
|
|
|
112 |
require_once WPCF7_PLUGIN_DIR . '/includes/pipe.php';
|
113 |
+
require_once WPCF7_PLUGIN_DIR . '/includes/shortcodes.php';
|
114 |
+
require_once WPCF7_PLUGIN_DIR . '/includes/classes.php';
|
|
|
|
|
|
|
115 |
|
116 |
if ( is_admin() )
|
117 |
require_once WPCF7_PLUGIN_DIR . '/admin/admin.php';
|
118 |
|
|
|
|
|
119 |
function wpcf7_contact_forms() {
|
120 |
+
global $wpdb;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
121 |
|
122 |
+
$table_name = wpcf7_table_name();
|
|
|
|
|
123 |
|
124 |
+
return $wpdb->get_results( "SELECT cf7_unit_id as id, title FROM $table_name" );
|
125 |
}
|
126 |
|
127 |
+
$wpcf7_contact_form = null;
|
128 |
|
129 |
$wpcf7_processing_within = null;
|
130 |
$wpcf7_unit_count = null;
|
131 |
$wpcf7_widget_count = null;
|
132 |
|
133 |
function wpcf7_ajax_json_echo() {
|
134 |
+
global $wpcf7_contact_form;
|
135 |
+
|
136 |
$echo = '';
|
137 |
|
138 |
if ( isset( $_POST['_wpcf7'] ) ) {
|
139 |
$id = (int) $_POST['_wpcf7'];
|
140 |
$unit_tag = $_POST['_wpcf7_unit_tag'];
|
|
|
|
|
|
|
|
|
141 |
|
142 |
+
if ( $wpcf7_contact_form = wpcf7_contact_form( $id ) ) {
|
143 |
+
$validation = $wpcf7_contact_form->validate();
|
|
|
144 |
|
145 |
+
$items = array(
|
146 |
+
'mailSent' => false,
|
147 |
+
'into' => '#' . $unit_tag,
|
148 |
+
'captcha' => $captcha );
|
149 |
|
150 |
+
$items = apply_filters( 'wpcf7_ajax_json_echo', $items );
|
151 |
|
152 |
+
if ( ! $validation['valid'] ) { // Validation error occured
|
153 |
+
$invalids = array();
|
154 |
+
foreach ( $validation['reason'] as $name => $reason ) {
|
155 |
+
$invalids[] = array(
|
156 |
+
'into' => 'span.wpcf7-form-control-wrap.' . $name,
|
157 |
+
'message' => $reason );
|
158 |
}
|
|
|
|
|
|
|
|
|
159 |
|
160 |
+
$items['message'] = $wpcf7_contact_form->message( 'validation_error' );
|
161 |
+
$items['invalids'] = $invalids;
|
162 |
|
163 |
+
} elseif ( ! $wpcf7_contact_form->accepted() ) { // Not accepted terms
|
164 |
+
$items['message'] = $wpcf7_contact_form->message( 'accept_terms' );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
165 |
|
166 |
+
} elseif ( $wpcf7_contact_form->akismet() ) { // Spam!
|
167 |
+
$items['message'] = $wpcf7_contact_form->message( 'akismet_says_spam' );
|
168 |
+
$items['spam'] = true;
|
|
|
|
|
|
|
169 |
|
170 |
+
} elseif ( $wpcf7_contact_form->mail() ) {
|
171 |
+
$items['mailSent'] = true;
|
172 |
+
$items['message'] = $wpcf7_contact_form->message( 'mail_sent_ok' );
|
173 |
+
|
174 |
+
$on_sent_ok = $wpcf7_contact_form->additional_setting( 'on_sent_ok', false );
|
175 |
+
if ( ! empty( $on_sent_ok ) ) {
|
176 |
+
$on_sent_ok = array_map( 'wpcf7_strip_quote', $on_sent_ok );
|
177 |
+
} else {
|
178 |
+
$on_sent_ok = null;
|
179 |
}
|
180 |
+
$items['onSentOk'] = $on_sent_ok;
|
181 |
+
|
182 |
+
do_action_ref_array( 'wpcf7_mail_sent', array( &$wpcf7_contact_form ) );
|
183 |
+
|
|
|
|
|
|
|
|
|
184 |
} else {
|
185 |
+
$items['message'] = $wpcf7_contact_form->message( 'mail_sent_ng' );
|
186 |
}
|
187 |
|
188 |
// remove upload files
|
189 |
+
foreach ( (array) $wpcf7_contact_form->uploaded_files as $name => $path ) {
|
190 |
@unlink( $path );
|
191 |
}
|
192 |
+
|
193 |
+
$wpcf7_contact_form = null;
|
194 |
}
|
195 |
}
|
196 |
|
197 |
+
$echo = wpcf7_json( $items );
|
198 |
+
|
199 |
if ( $_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest' ) {
|
200 |
@header( 'Content-Type: application/json; charset=' . get_option( 'blog_charset' ) );
|
201 |
echo $echo;
|
206 |
}
|
207 |
|
208 |
function wpcf7_process_nonajax_submitting() {
|
209 |
+
global $wpcf7_contact_form;
|
210 |
+
|
211 |
if ( ! isset($_POST['_wpcf7'] ) )
|
212 |
return;
|
213 |
|
214 |
$id = (int) $_POST['_wpcf7'];
|
|
|
|
|
|
|
215 |
|
216 |
+
if ( $wpcf7_contact_form = wpcf7_contact_form( $id ) ) {
|
217 |
+
$validation = $wpcf7_contact_form->validate();
|
|
|
|
|
|
|
|
|
218 |
|
219 |
if ( ! $validation['valid'] ) {
|
220 |
$_POST['_wpcf7_validation_errors'] = array( 'id' => $id, 'messages' => $validation['reason'] );
|
221 |
+
} elseif ( ! $wpcf7_contact_form->accepted() ) { // Not accepted terms
|
222 |
+
$_POST['_wpcf7_mail_sent'] = array( 'id' => $id, 'ok' => false, 'message' => $wpcf7_contact_form->message( 'accept_terms' ) );
|
223 |
+
} elseif ( $wpcf7_contact_form->akismet() ) { // Spam!
|
224 |
+
$_POST['_wpcf7_mail_sent'] = array( 'id' => $id, 'ok' => false, 'message' => $wpcf7_contact_form->message( 'akismet_says_spam' ), 'spam' => true );
|
225 |
+
} elseif ( $wpcf7_contact_form->mail() ) {
|
226 |
+
$_POST['_wpcf7_mail_sent'] = array( 'id' => $id, 'ok' => true, 'message' => $wpcf7_contact_form->message( 'mail_sent_ok' ) );
|
227 |
+
|
228 |
+
do_action_ref_array( 'wpcf7_mail_sent', array( &$wpcf7_contact_form ) );
|
229 |
} else {
|
230 |
+
$_POST['_wpcf7_mail_sent'] = array( 'id' => $id, 'ok' => false, 'message' => $wpcf7_contact_form->message( 'mail_sent_ng' ) );
|
231 |
}
|
232 |
|
233 |
// remove upload files
|
234 |
+
foreach ( (array) $wpcf7_contact_form->uploaded_files as $name => $path ) {
|
235 |
@unlink( $path );
|
236 |
}
|
237 |
+
|
238 |
+
$wpcf7_contact_form = null;
|
239 |
}
|
240 |
}
|
241 |
|
268 |
}
|
269 |
|
270 |
function wpcf7_contact_form_tag_func( $atts ) {
|
271 |
+
global $wpcf7_contact_form, $wpcf7_unit_count, $wpcf7_processing_within;
|
272 |
|
273 |
if ( is_string( $atts ) )
|
274 |
$atts = explode( ' ', $atts, 2 );
|
277 |
|
278 |
$id = (int) array_shift( $atts );
|
279 |
|
280 |
+
if ( ! ( $wpcf7_contact_form = wpcf7_contact_form( $id ) ) )
|
|
|
|
|
281 |
return '[contact-form 404 "Not Found"]';
|
282 |
|
|
|
|
|
283 |
$wpcf7_unit_count += 1;
|
284 |
|
285 |
$unit_tag = 'wpcf7-f' . $id . '-' . $wpcf7_processing_within . '-o' . $wpcf7_unit_count;
|
286 |
+
$wpcf7_contact_form->unit_tag = $unit_tag;
|
287 |
+
|
288 |
+
$form = $wpcf7_contact_form->form_html();
|
289 |
|
290 |
+
$wpcf7_contact_form = null;
|
291 |
|
292 |
return $form;
|
293 |
}
|
307 |
if ( WPCF7_LOAD_CSS )
|
308 |
add_action( 'wp_head', 'wpcf7_wp_head' );
|
309 |
|
310 |
+
/* Loading modules */
|
311 |
+
|
312 |
+
function wpcf7_load_modules() {
|
313 |
+
$dir = WPCF7_PLUGIN_MODULES_DIR;
|
314 |
+
|
315 |
+
if ( ! ( is_dir( $dir ) && $dh = opendir( $dir ) ) )
|
316 |
+
return false;
|
317 |
+
|
318 |
+
while ( ( $module = readdir( $dh ) ) !== false ) {
|
319 |
+
if ( substr( $module, -4 ) == '.php' )
|
320 |
+
include_once $dir . '/' . $module;
|
321 |
+
}
|
322 |
+
}
|
323 |
+
|
324 |
+
add_action( 'init', 'wpcf7_load_modules' );
|
325 |
+
|
326 |
function wpcf7_enqueue_scripts() {
|
327 |
$in_footer = true;
|
328 |
if ( 'header' === WPCF7_LOAD_JS )
|
335 |
if ( ! is_admin() && WPCF7_LOAD_JS )
|
336 |
add_action( 'init', 'wpcf7_enqueue_scripts' );
|
337 |
|
338 |
+
function wpcf7_load_plugin_textdomain() { // l10n
|
339 |
+
load_plugin_textdomain( 'wpcf7',
|
340 |
+
'wp-content/plugins/contact-form-7/languages', 'contact-form-7/languages' );
|
341 |
+
}
|
342 |
+
|
343 |
+
add_action( 'init', 'wpcf7_load_plugin_textdomain' );
|
344 |
+
|
345 |
function wpcf7_init_switch() {
|
346 |
if ( 'POST' == $_SERVER['REQUEST_METHOD'] && 1 == (int) $_POST['_wpcf7_is_ajax_call'] ) {
|
347 |
wpcf7_ajax_json_echo();
|
348 |
exit();
|
349 |
} elseif ( ! is_admin() ) {
|
350 |
wpcf7_process_nonajax_submitting();
|
|
|
|
|
351 |
}
|
352 |
}
|
353 |
|
354 |
add_action( 'init', 'wpcf7_init_switch', 11 );
|
355 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
356 |
?>
|