Version Description
- The required WordPress version has been changed and now requires WordPress 2.8 or higher. If you use WordPress 2.7, you will need to upgrade WordPress.
- New "special mail tags" (
[wpcf7.post_id]
,[wpcf7.post_name]
,[wpcf7.post_title]
, and[wpcf7.post_url]
) have been introduced. - The multilingualization functionality has been improved. You are now able to create contact forms in any languages with just a few clicks.
- The Tag Generator's JavaScript coding has been wholly reconstructed and you can extend it from the additional modules.
- Interoperability with cache plugins (WP Super Cache, etc.) has been improved.
- When known issues are found on your web host, a warning message is shown on the administration panel.
- Uninstall.php file has been added. This will clean up its table from your database when you remove Contact Form 7 from your site.
- Translations for Estonian (by Egon Elbre), German (by Ivan Graf), Hindi (by Ashish) and Italian (by Gianni Diurno) have been updated.
Releases
=
Download this release
Release Info
Developer | takayukister |
Plugin | ![]() |
Version | 2.1 |
Comparing to | |
See all releases |
Code changes from version 2.0.7 to 2.1
- README.txt +23 -21
- admin/admin.php +161 -130
- admin/{admin-panel.php → edit.php} +62 -83
- admin/scripts.js +110 -0
- admin/{admin-stylesheet-rtl.css → styles-rtl.css} +0 -0
- admin/{admin-stylesheet.css → styles.css} +83 -5
- admin/taggenerator.js +258 -0
- admin/wpcf7-admin.js +0 -796
- includes/classes.php +69 -23
- includes/controller.php +48 -4
- includes/formatting.php +1 -1
- includes/functions.php +100 -48
- languages/wpcf7-de_DE.mo +0 -0
- languages/wpcf7-de_DE.po +105 -101
- languages/wpcf7-et.mo +0 -0
- languages/wpcf7-et.po +690 -189
- languages/wpcf7-hi_IN.mo +0 -0
- languages/wpcf7-hi_IN.po +684 -188
- languages/wpcf7-it_IT.mo +0 -0
- languages/wpcf7-it_IT.po +104 -100
- languages/wpcf7-ja.mo +0 -0
- languages/wpcf7-ja.po +567 -270
- languages/wpcf7.pot +487 -190
- modules/acceptance.php +42 -0
- modules/captcha.php +129 -2
- modules/checkbox.php +69 -0
- modules/file.php +102 -0
- modules/icl.php +27 -188
- modules/quiz.php +64 -2
- modules/select.php +49 -0
- modules/submit.php +37 -0
- modules/text.php +72 -0
- modules/textarea.php +49 -0
- screenshot-1.png +0 -0
- contact-form-7.js → scripts.js +49 -11
- settings.php +8 -54
- stylesheet-rtl.css → styles-rtl.css +0 -0
- stylesheet.css → styles.css +0 -0
- uninstall.php +16 -0
- wp-contact-form-7.php +3 -3
README.txt
CHANGED
@@ -1,10 +1,10 @@
|
|
1 |
=== Contact Form 7 ===
|
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:
|
7 |
-
Stable tag: 2.
|
8 |
|
9 |
Just another contact form plugin. Simple but flexible.
|
10 |
|
@@ -29,21 +29,21 @@ Contact Form 7 can manage multiple contact forms, plus you can customize the for
|
|
29 |
* Czech (cs_CZ) - Korry, [Radovan Fiser](http://algymsa.cz/)
|
30 |
* Danish (da_DK) - [Jens Griebel](http://www.kompas-it.dk/), [Georg S. Adamsen](http://wordpress.blogos.dk/)
|
31 |
* Dutch (nl_NL) - [Chris Devriese](http://www.100it.be/), [Martin Hein](http://www.split-a-pixel.nl/)
|
32 |
-
* Estonian (et) - [Peeter Rahuvarm](http://www.kraabus.ee)
|
33 |
* Finnish (fi) - [Miika Turunen](http://www.webwork.fi/)
|
34 |
* French (fr_FR) - [Jillij](http://www.jillij.com/), [Maître Mô](http://maitremo.fr/)
|
35 |
* Georgian (ka_GE) - [Nodar Davituri](http://omedia.ge/)
|
36 |
* German (de_DE) - [Marcel Spitau](http://blog.spitau.de), [Ivan Graf](http://blog.bildergallery.com/)
|
37 |
* Greek (el) - [Nick Mouratidis](http://www.kepik.gr/), [Pr. friedlich](http://friedlich.wordpress.com/)
|
38 |
* Hebrew (he_IL) - [Yaron Ofer](http://www.gadgetguru.co.il/)
|
39 |
-
* Hindi (hi_IN) - [Tarun Joshi](http://www.readers-cafe.net/)
|
40 |
* Hungarian (hu_HU) - [Andras Hirschler](http://hia.itblog.hu/), [János Csárdi-Braunstein](http://blogocska.org/)
|
41 |
* Indonesian (id_ID) - [Hendry Lee](http://blogbuildingu.com/)
|
42 |
* Italian (it_IT) - [Bruno](http://www.brunosalzano.com), [Gianni Diurno](http://gidibao.net/)
|
43 |
* Japanese (ja) - [Takayuki Miyoshi](http://ideasilo.wordpress.com)
|
44 |
* Korean (ko_KR) - Seong Eun Lee, [Jong-In Kim](http://incommunity.codex.kr/wordpress/)
|
45 |
* Latvian (lv) - [Sandis Veinbergs](http://www.kleofass.lv/)
|
46 |
-
* Lithuanian(lt_LT) - [Ernestas Kardzys](http://www.ernestas.info/)
|
47 |
* Norwegian (nb_NO) - Kjetil M. Bergem, [aanvik.net](http://www.aanvik.net)
|
48 |
* Persian (Farsi; fa_IR) - [Mohammad Musavi](http://www.musavis.com/)
|
49 |
* Polish (pl_PL) - [Zbigniew Czernik](http://zibik.jogger.pl/), [Daniel Fruzynski](http://www.poradnik-webmastera.com)
|
@@ -60,11 +60,7 @@ Contact Form 7 can manage multiple contact forms, plus you can customize the for
|
|
60 |
* Ukrainian (uk_UA) - [Andrey Kovba](http://myserver.com.ua/)
|
61 |
* Vietnamese (vi) - Thanh Hải, Hà
|
62 |
|
63 |
-
If you have created your own language pack, or have an update of an existing one, you can send [gettext
|
64 |
-
|
65 |
-
= How to use Contact Form 7 in multilingual websites =
|
66 |
-
|
67 |
-
Starting with version 2.0, Contact Form 7 can create multilingual contact form using the WPML plugin. See the detail on [WPML.org](http://wpml.org/wordpress-translation/translation-for-texts-by-other-plugins-and-themes/how-to-use-contact-form-7-in-multilingual-websites/).
|
68 |
|
69 |
== Installation ==
|
70 |
|
@@ -79,10 +75,10 @@ For basic usage, you can also have a look at the [plugin homepage](http://contac
|
|
79 |
|
80 |
Do you have questions or issues with Contact Form 7? Use these support channels appropriately.
|
81 |
|
|
|
82 |
1. [FAQ](http://contactform7.com/faq/)
|
83 |
1. [Support Forum](http://wordpress.org/tags/contact-form-7?forum_id=10)
|
84 |
1. [WordPress HelpCenter](http://wphelpcenter.com/)
|
85 |
-
1. [Customization Service](http://contactform7.com/customization/)
|
86 |
|
87 |
[Support](http://contactform7.com/support/)
|
88 |
|
@@ -92,13 +88,19 @@ Do you have questions or issues with Contact Form 7? Use these support channels
|
|
92 |
|
93 |
== Changelog ==
|
94 |
|
95 |
-
= 2.
|
96 |
-
*
|
97 |
-
*
|
98 |
-
*
|
99 |
-
*
|
100 |
-
*
|
101 |
-
*
|
102 |
-
*
|
|
|
103 |
|
104 |
[Releases](http://contactform7.com/category/releases/)
|
|
|
|
|
|
|
|
|
|
1 |
=== Contact Form 7 ===
|
2 |
Contributors: takayukister
|
3 |
Donate link: http://pledgie.com/campaigns/3117
|
4 |
+
Tags: contact, form, contact form, feedback, email, ajax, captcha, akismet, multilingual
|
5 |
+
Requires at least: 2.8
|
6 |
+
Tested up to: 3.0-alpha
|
7 |
+
Stable tag: 2.1
|
8 |
|
9 |
Just another contact form plugin. Simple but flexible.
|
10 |
|
29 |
* Czech (cs_CZ) - Korry, [Radovan Fiser](http://algymsa.cz/)
|
30 |
* Danish (da_DK) - [Jens Griebel](http://www.kompas-it.dk/), [Georg S. Adamsen](http://wordpress.blogos.dk/)
|
31 |
* Dutch (nl_NL) - [Chris Devriese](http://www.100it.be/), [Martin Hein](http://www.split-a-pixel.nl/)
|
32 |
+
* Estonian (et) - [Peeter Rahuvarm](http://www.kraabus.ee), Egon Elbre
|
33 |
* Finnish (fi) - [Miika Turunen](http://www.webwork.fi/)
|
34 |
* French (fr_FR) - [Jillij](http://www.jillij.com/), [Maître Mô](http://maitremo.fr/)
|
35 |
* Georgian (ka_GE) - [Nodar Davituri](http://omedia.ge/)
|
36 |
* German (de_DE) - [Marcel Spitau](http://blog.spitau.de), [Ivan Graf](http://blog.bildergallery.com/)
|
37 |
* Greek (el) - [Nick Mouratidis](http://www.kepik.gr/), [Pr. friedlich](http://friedlich.wordpress.com/)
|
38 |
* Hebrew (he_IL) - [Yaron Ofer](http://www.gadgetguru.co.il/)
|
39 |
+
* Hindi (hi_IN) - [Tarun Joshi](http://www.readers-cafe.net/), [Ashish](http://outshinesolutions.com/)
|
40 |
* Hungarian (hu_HU) - [Andras Hirschler](http://hia.itblog.hu/), [János Csárdi-Braunstein](http://blogocska.org/)
|
41 |
* Indonesian (id_ID) - [Hendry Lee](http://blogbuildingu.com/)
|
42 |
* Italian (it_IT) - [Bruno](http://www.brunosalzano.com), [Gianni Diurno](http://gidibao.net/)
|
43 |
* Japanese (ja) - [Takayuki Miyoshi](http://ideasilo.wordpress.com)
|
44 |
* Korean (ko_KR) - Seong Eun Lee, [Jong-In Kim](http://incommunity.codex.kr/wordpress/)
|
45 |
* Latvian (lv) - [Sandis Veinbergs](http://www.kleofass.lv/)
|
46 |
+
* Lithuanian (lt_LT) - [Ernestas Kardzys](http://www.ernestas.info/)
|
47 |
* Norwegian (nb_NO) - Kjetil M. Bergem, [aanvik.net](http://www.aanvik.net)
|
48 |
* Persian (Farsi; fa_IR) - [Mohammad Musavi](http://www.musavis.com/)
|
49 |
* Polish (pl_PL) - [Zbigniew Czernik](http://zibik.jogger.pl/), [Daniel Fruzynski](http://www.poradnik-webmastera.com)
|
60 |
* Ukrainian (uk_UA) - [Andrey Kovba](http://myserver.com.ua/)
|
61 |
* Vietnamese (vi) - Thanh Hải, Hà
|
62 |
|
63 |
+
If you have created your own language pack, or have an update of an existing one, you can send [gettext PO and MO files](http://codex.wordpress.org/Translating_WordPress) to [me](http://ideasilo.wordpress.com/about/) so that I can bundle it into Contact Form 7. You can [download the latest POT file from here](http://plugins.svn.wordpress.org/contact-form-7/trunk/languages/wpcf7.pot).
|
|
|
|
|
|
|
|
|
64 |
|
65 |
== Installation ==
|
66 |
|
75 |
|
76 |
Do you have questions or issues with Contact Form 7? Use these support channels appropriately.
|
77 |
|
78 |
+
1. [Docs](http://contactform7.com/docs/)
|
79 |
1. [FAQ](http://contactform7.com/faq/)
|
80 |
1. [Support Forum](http://wordpress.org/tags/contact-form-7?forum_id=10)
|
81 |
1. [WordPress HelpCenter](http://wphelpcenter.com/)
|
|
|
82 |
|
83 |
[Support](http://contactform7.com/support/)
|
84 |
|
88 |
|
89 |
== Changelog ==
|
90 |
|
91 |
+
= 2.1 =
|
92 |
+
* The required WordPress version has been changed and now requires WordPress 2.8 or higher. If you use WordPress 2.7, you will need to upgrade WordPress.
|
93 |
+
* New "special mail tags" (`[wpcf7.post_id]`, `[wpcf7.post_name]`, `[wpcf7.post_title]`, and `[wpcf7.post_url]`) have been introduced.
|
94 |
+
* The multilingualization functionality has been improved. You are now able to create contact forms in any languages with just a few clicks.
|
95 |
+
* The Tag Generator's JavaScript coding has been wholly reconstructed and you can extend it from the additional modules.
|
96 |
+
* Interoperability with cache plugins (WP Super Cache, etc.) has been improved.
|
97 |
+
* When known issues are found on your web host, a warning message is shown on the administration panel.
|
98 |
+
* Uninstall.php file has been added. This will clean up its table from your database when you remove Contact Form 7 from your site.
|
99 |
+
* Translations for Estonian (by Egon Elbre), German (by Ivan Graf), Hindi (by Ashish) and Italian (by Gianni Diurno) have been updated.
|
100 |
|
101 |
[Releases](http://contactform7.com/category/releases/)
|
102 |
+
|
103 |
+
== Upgrade Notice ==
|
104 |
+
|
105 |
+
= 2.1 =
|
106 |
+
Required WordPress version is changed to WordPress 2.8 and higher. Multilingualization functionality is improved and you don't need `[icl]` tags any more.
|
admin/admin.php
CHANGED
@@ -18,7 +18,9 @@ function wpcf7_admin_add_pages() {
|
|
18 |
}
|
19 |
|
20 |
$title = trim( $_POST['wpcf7-title'] );
|
|
|
21 |
$form = trim( $_POST['wpcf7-form'] );
|
|
|
22 |
$mail = array(
|
23 |
'subject' => trim( $_POST['wpcf7-mail-subject'] ),
|
24 |
'sender' => trim( $_POST['wpcf7-mail-sender'] ),
|
@@ -28,6 +30,7 @@ function wpcf7_admin_add_pages() {
|
|
28 |
'attachments' => trim( $_POST['wpcf7-mail-attachments'] ),
|
29 |
'use_html' => ( 1 == $_POST['wpcf7-mail-use-html'] ) ? true : false
|
30 |
);
|
|
|
31 |
$mail_2 = array(
|
32 |
'active' => ( 1 == $_POST['wpcf7-mail-2-active'] ) ? true : false,
|
33 |
'subject' => trim( $_POST['wpcf7-mail-2-subject'] ),
|
@@ -38,21 +41,14 @@ function wpcf7_admin_add_pages() {
|
|
38 |
'attachments' => trim( $_POST['wpcf7-mail-2-attachments'] ),
|
39 |
'use_html' => ( 1 == $_POST['wpcf7-mail-2-use-html'] ) ? true : false
|
40 |
);
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
'
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
'quiz_answer_not_correct' => trim( $_POST['wpcf7-message-quiz-answer-not-correct'] ),
|
50 |
-
'captcha_not_match' => trim( $_POST['wpcf7-message-captcha-not-match'] ),
|
51 |
-
'upload_failed' => trim( $_POST['wpcf7-message-upload-failed'] ),
|
52 |
-
'upload_file_type_invalid' => trim( $_POST['wpcf7-message-upload-file-type-invalid'] ),
|
53 |
-
'upload_file_too_large' => trim( $_POST['wpcf7-message-upload-file-too-large'] ),
|
54 |
-
'upload_failed_php_error' => trim( $_POST['wpcf7-message-upload-failed-php-error'] )
|
55 |
-
);
|
56 |
$additional_settings = trim( $_POST['wpcf7-additional-settings'] );
|
57 |
|
58 |
$query = array();
|
@@ -68,7 +64,7 @@ function wpcf7_admin_add_pages() {
|
|
68 |
$contact_form->save();
|
69 |
|
70 |
$query['contactform'] = $contact_form->id;
|
71 |
-
$redirect_to = wpcf7_admin_url(
|
72 |
wp_redirect( $redirect_to );
|
73 |
exit();
|
74 |
} elseif ( isset( $_POST['wpcf7-copy'] ) && wpcf7_admin_has_edit_cap() ) {
|
@@ -87,7 +83,7 @@ function wpcf7_admin_add_pages() {
|
|
87 |
$query['contactform'] = $contact_form->id;
|
88 |
}
|
89 |
|
90 |
-
$redirect_to = wpcf7_admin_url(
|
91 |
wp_redirect( $redirect_to );
|
92 |
exit();
|
93 |
} elseif ( isset( $_POST['wpcf7-delete'] ) && wpcf7_admin_has_edit_cap() ) {
|
@@ -97,7 +93,7 @@ function wpcf7_admin_add_pages() {
|
|
97 |
if ( $contact_form = wpcf7_contact_form( $id ) )
|
98 |
$contact_form->delete();
|
99 |
|
100 |
-
$redirect_to = wpcf7_admin_url(
|
101 |
wp_redirect( $redirect_to );
|
102 |
exit();
|
103 |
} elseif ( isset( $_GET['wpcf7-create-table'] ) ) {
|
@@ -114,24 +110,15 @@ function wpcf7_admin_add_pages() {
|
|
114 |
}
|
115 |
}
|
116 |
|
117 |
-
wp_redirect( wpcf7_admin_url(
|
118 |
exit();
|
119 |
}
|
120 |
|
121 |
add_menu_page( __( 'Contact Form 7', 'wpcf7' ), __( 'Contact', 'wpcf7' ),
|
122 |
-
WPCF7_ADMIN_READ_CAPABILITY,
|
123 |
-
'wpcf7_admin_management_page' );
|
124 |
|
125 |
-
|
126 |
-
WPCF7_ADMIN_READ_CAPABILITY,
|
127 |
-
'wpcf7_admin_management_page' );
|
128 |
-
}
|
129 |
-
|
130 |
-
function wpcf7_add_contact_page( $page_title, $menu_title, $access_level,
|
131 |
-
$file, $function = '', $icon_url = '' ) {
|
132 |
-
|
133 |
-
add_submenu_page( wpcf7_plugin_path( 'admin/admin.php' ),
|
134 |
-
$page_title, $menu_title, $access_level, $file, $function = '', $icon_url = '' );
|
135 |
}
|
136 |
|
137 |
add_action( 'admin_print_styles', 'wpcf7_admin_enqueue_styles' );
|
@@ -139,130 +126,70 @@ add_action( 'admin_print_styles', 'wpcf7_admin_enqueue_styles' );
|
|
139 |
function wpcf7_admin_enqueue_styles() {
|
140 |
global $plugin_page;
|
141 |
|
142 |
-
if ( ! isset( $plugin_page ) ||
|
143 |
return;
|
144 |
|
145 |
-
wp_enqueue_style( '
|
|
|
|
|
146 |
array(), WPCF7_VERSION, 'all' );
|
147 |
|
148 |
if ( 'rtl' == get_bloginfo( 'text_direction' ) ) {
|
149 |
wp_enqueue_style( 'contact-form-7-admin-rtl',
|
150 |
-
wpcf7_plugin_url( 'admin/
|
151 |
-
array(), WPCF7_VERSION, 'all' );
|
152 |
}
|
153 |
}
|
154 |
|
155 |
-
add_action( 'admin_head', 'wpcf7_admin_head' );
|
156 |
-
|
157 |
-
function wpcf7_admin_head() {
|
158 |
-
global $plugin_page;
|
159 |
-
|
160 |
-
if ( ! isset( $plugin_page ) || 0 !== strpos( $plugin_page, WPCF7_PLUGIN_NAME ) )
|
161 |
-
return;
|
162 |
-
|
163 |
-
?>
|
164 |
-
<script type="text/javascript">
|
165 |
-
//<![CDATA[
|
166 |
-
var _wpcf7 = {
|
167 |
-
captchaMod: <?php echo ( class_exists( 'ReallySimpleCaptcha' ) ) ? 'true' : 'false' ?>,
|
168 |
-
pluginUrl: '<?php echo wpcf7_plugin_url(); ?>'
|
169 |
-
};
|
170 |
-
//]]>
|
171 |
-
</script>
|
172 |
-
<?php
|
173 |
-
}
|
174 |
-
|
175 |
add_action( 'admin_print_scripts', 'wpcf7_admin_enqueue_scripts' );
|
176 |
|
177 |
function wpcf7_admin_enqueue_scripts() {
|
178 |
global $plugin_page;
|
179 |
|
180 |
-
if ( ! isset( $plugin_page ) ||
|
181 |
return;
|
182 |
|
183 |
-
wp_enqueue_script( '
|
184 |
-
|
|
|
|
|
|
|
|
|
|
|
185 |
wp_localize_script( 'wpcf7-admin', '_wpcf7L10n', array(
|
186 |
-
'optional' => __( 'optional', 'wpcf7' ),
|
187 |
'generateTag' => __( 'Generate Tag', 'wpcf7' ),
|
188 |
-
'textField' => __( 'Text field', 'wpcf7' ),
|
189 |
-
'emailField' => __( 'Email field', 'wpcf7' ),
|
190 |
-
'textArea' => __( 'Text area', 'wpcf7' ),
|
191 |
-
'menu' => __( 'Drop-down menu', 'wpcf7' ),
|
192 |
-
'checkboxes' => __( 'Checkboxes', 'wpcf7' ),
|
193 |
-
'radioButtons' => __( 'Radio buttons', 'wpcf7' ),
|
194 |
-
'acceptance' => __( 'Acceptance', 'wpcf7' ),
|
195 |
-
'isAcceptanceDefaultOn' => __( "Make this checkbox checked by default?", 'wpcf7' ),
|
196 |
-
'isAcceptanceInvert' => __( "Make this checkbox work inversely?", 'wpcf7' ),
|
197 |
-
'isAcceptanceInvertMeans' => __( "* That means visitor who accepts the term unchecks it.", 'wpcf7' ),
|
198 |
-
'captcha' => __( 'CAPTCHA', 'wpcf7' ),
|
199 |
-
'quiz' => __( 'Quiz', 'wpcf7' ),
|
200 |
-
'quizzes' => __( 'Quizzes', 'wpcf7' ),
|
201 |
-
'quizFormatDesc' => __( "* quiz|answer (e.g. 1+1=?|2)", 'wpcf7' ),
|
202 |
-
'fileUpload' => __( 'File upload', 'wpcf7' ),
|
203 |
-
'bytes' => __( 'bytes', 'wpcf7' ),
|
204 |
-
'submit' => __( 'Submit button', 'wpcf7' ),
|
205 |
-
'tagName' => __( 'Name', 'wpcf7' ),
|
206 |
-
'isRequiredField' => __( 'Required field?', 'wpcf7' ),
|
207 |
-
'allowsMultipleSelections' => __( 'Allow multiple selections?', 'wpcf7' ),
|
208 |
-
'insertFirstBlankOption' => __( 'Insert a blank item as the first option?', 'wpcf7' ),
|
209 |
-
'makeCheckboxesExclusive' => __( 'Make checkboxes exclusive?', 'wpcf7' ),
|
210 |
-
'menuChoices' => __( 'Choices', 'wpcf7' ),
|
211 |
-
'label' => __( 'Label', 'wpcf7' ),
|
212 |
-
'defaultValue' => __( 'Default value', 'wpcf7' ),
|
213 |
-
'akismet' => __( 'Akismet', 'wpcf7' ),
|
214 |
-
'akismetAuthor' => __( "This field requires author's name", 'wpcf7' ),
|
215 |
-
'akismetAuthorUrl' => __( "This field requires author's URL", 'wpcf7' ),
|
216 |
-
'akismetAuthorEmail' => __( "This field requires author's email address", 'wpcf7' ),
|
217 |
-
'generatedTag' => __( "Copy this code and paste it into the form left.", 'wpcf7' ),
|
218 |
-
'fgColor' => __( "Foreground color", 'wpcf7' ),
|
219 |
-
'bgColor' => __( "Background color", 'wpcf7' ),
|
220 |
-
'imageSize' => __( "Image size", 'wpcf7' ),
|
221 |
-
'imageSizeSmall' => __( "Small", 'wpcf7' ),
|
222 |
-
'imageSizeMedium' => __( "Medium", 'wpcf7' ),
|
223 |
-
'imageSizeLarge' => __( "Large", 'wpcf7' ),
|
224 |
-
'imageSettings' => __( "Image settings", 'wpcf7' ),
|
225 |
-
'inputFieldSettings' => __( "Input field settings", 'wpcf7' ),
|
226 |
-
'tagForImage' => __( "For image", 'wpcf7' ),
|
227 |
-
'tagForInputField' => __( "For input field", 'wpcf7' ),
|
228 |
-
'oneChoicePerLine' => __( "* One choice per line.", 'wpcf7' ),
|
229 |
'show' => __( "Show", 'wpcf7' ),
|
230 |
-
'hide' => __( "Hide", 'wpcf7' )
|
231 |
-
'fileSizeLimit' => __( "File size limit", 'wpcf7' ),
|
232 |
-
'acceptableFileTypes' => __( "Acceptable file types", 'wpcf7' ),
|
233 |
-
'needReallySimpleCaptcha' => __( "Note: To use CAPTCHA, you need Really Simple CAPTCHA plugin installed.", 'wpcf7' )
|
234 |
-
) );
|
235 |
}
|
236 |
|
237 |
-
|
238 |
-
global $wp_version;
|
239 |
|
240 |
-
|
241 |
-
|
242 |
-
|
243 |
-
|
244 |
-
|
245 |
-
|
246 |
-
|
247 |
-
|
248 |
-
|
249 |
-
|
250 |
-
|
251 |
-
|
252 |
-
|
253 |
-
case 'table_not_created':
|
254 |
-
$updated_message = __( "Failed to create database table.", 'wpcf7' );
|
255 |
-
break;
|
256 |
}
|
|
|
|
|
|
|
|
|
|
|
257 |
|
|
|
258 |
$contact_forms = wpcf7_contact_forms();
|
259 |
|
260 |
-
$id = $_POST['wpcf7-id'];
|
261 |
-
|
262 |
if ( 'new' == $_GET['contactform'] ) {
|
263 |
$unsaved = true;
|
264 |
$current = -1;
|
265 |
-
$cf = wpcf7_contact_form_default_pack();
|
266 |
} elseif ( $cf = wpcf7_contact_form( $_GET['contactform'] ) ) {
|
267 |
$current = (int) $_GET['contactform'];
|
268 |
} else {
|
@@ -271,7 +198,55 @@ function wpcf7_admin_management_page() {
|
|
271 |
$cf = wpcf7_contact_form( $current );
|
272 |
}
|
273 |
|
274 |
-
require_once WPCF7_PLUGIN_DIR . '/admin/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
275 |
}
|
276 |
|
277 |
/* Install and default settings */
|
@@ -308,7 +283,8 @@ function wpcf7_install() {
|
|
308 |
return false; // Failed to create
|
309 |
|
310 |
$legacy_data = get_option( 'wpcf7' );
|
311 |
-
if ( is_array( $legacy_data )
|
|
|
312 |
foreach ( $legacy_data['contact_forms'] as $key => $value ) {
|
313 |
$wpdb->insert( $table_name, array(
|
314 |
'cf7_unit_id' => $key,
|
@@ -342,7 +318,7 @@ function wpcf7_plugin_action_links( $links, $file ) {
|
|
342 |
if ( $file != WPCF7_PLUGIN_BASENAME )
|
343 |
return $links;
|
344 |
|
345 |
-
$url = wpcf7_admin_url( '
|
346 |
|
347 |
$settings_link = '<a href="' . esc_attr( $url ) . '">'
|
348 |
. esc_html( __( 'Settings', 'wpcf7' ) ) . '</a>';
|
@@ -352,15 +328,70 @@ function wpcf7_plugin_action_links( $links, $file ) {
|
|
352 |
return $links;
|
353 |
}
|
354 |
|
355 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
356 |
if ( ! WPCF7_SHOW_DONATION_LINK )
|
357 |
return;
|
358 |
|
359 |
if ( 'new' == $_GET['contactform'] || ! empty($_GET['message']) )
|
360 |
return;
|
361 |
|
|
|
|
|
362 |
$num = mt_rand(0, 99);
|
363 |
if ($num >= 10) // 90%
|
|
|
|
|
|
|
|
|
|
|
364 |
return;
|
365 |
|
366 |
$texts = array(
|
18 |
}
|
19 |
|
20 |
$title = trim( $_POST['wpcf7-title'] );
|
21 |
+
|
22 |
$form = trim( $_POST['wpcf7-form'] );
|
23 |
+
|
24 |
$mail = array(
|
25 |
'subject' => trim( $_POST['wpcf7-mail-subject'] ),
|
26 |
'sender' => trim( $_POST['wpcf7-mail-sender'] ),
|
30 |
'attachments' => trim( $_POST['wpcf7-mail-attachments'] ),
|
31 |
'use_html' => ( 1 == $_POST['wpcf7-mail-use-html'] ) ? true : false
|
32 |
);
|
33 |
+
|
34 |
$mail_2 = array(
|
35 |
'active' => ( 1 == $_POST['wpcf7-mail-2-active'] ) ? true : false,
|
36 |
'subject' => trim( $_POST['wpcf7-mail-2-subject'] ),
|
41 |
'attachments' => trim( $_POST['wpcf7-mail-2-attachments'] ),
|
42 |
'use_html' => ( 1 == $_POST['wpcf7-mail-2-use-html'] ) ? true : false
|
43 |
);
|
44 |
+
|
45 |
+
$messages = $contact_form->messages;
|
46 |
+
foreach ( wpcf7_messages() as $key => $arr ) {
|
47 |
+
$field_name = 'wpcf7-message-' . strtr( $key, '_', '-' );
|
48 |
+
if ( isset( $_POST[$field_name] ) )
|
49 |
+
$messages[$key] = trim( $_POST[$field_name] );
|
50 |
+
}
|
51 |
+
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
52 |
$additional_settings = trim( $_POST['wpcf7-additional-settings'] );
|
53 |
|
54 |
$query = array();
|
64 |
$contact_form->save();
|
65 |
|
66 |
$query['contactform'] = $contact_form->id;
|
67 |
+
$redirect_to = wpcf7_admin_url( $query );
|
68 |
wp_redirect( $redirect_to );
|
69 |
exit();
|
70 |
} elseif ( isset( $_POST['wpcf7-copy'] ) && wpcf7_admin_has_edit_cap() ) {
|
83 |
$query['contactform'] = $contact_form->id;
|
84 |
}
|
85 |
|
86 |
+
$redirect_to = wpcf7_admin_url( $query );
|
87 |
wp_redirect( $redirect_to );
|
88 |
exit();
|
89 |
} elseif ( isset( $_POST['wpcf7-delete'] ) && wpcf7_admin_has_edit_cap() ) {
|
93 |
if ( $contact_form = wpcf7_contact_form( $id ) )
|
94 |
$contact_form->delete();
|
95 |
|
96 |
+
$redirect_to = wpcf7_admin_url( array( 'message' => 'deleted' ) );
|
97 |
wp_redirect( $redirect_to );
|
98 |
exit();
|
99 |
} elseif ( isset( $_GET['wpcf7-create-table'] ) ) {
|
110 |
}
|
111 |
}
|
112 |
|
113 |
+
wp_redirect( wpcf7_admin_url( $query ) );
|
114 |
exit();
|
115 |
}
|
116 |
|
117 |
add_menu_page( __( 'Contact Form 7', 'wpcf7' ), __( 'Contact', 'wpcf7' ),
|
118 |
+
WPCF7_ADMIN_READ_CAPABILITY, 'wpcf7', 'wpcf7_admin_management_page' );
|
|
|
119 |
|
120 |
+
add_submenu_page( 'wpcf7', __( 'Edit Contact Forms', 'wpcf7' ), __( 'Edit', 'wpcf7' ),
|
121 |
+
WPCF7_ADMIN_READ_CAPABILITY, 'wpcf7', 'wpcf7_admin_management_page' );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
122 |
}
|
123 |
|
124 |
add_action( 'admin_print_styles', 'wpcf7_admin_enqueue_styles' );
|
126 |
function wpcf7_admin_enqueue_styles() {
|
127 |
global $plugin_page;
|
128 |
|
129 |
+
if ( ! isset( $plugin_page ) || 'wpcf7' != $plugin_page )
|
130 |
return;
|
131 |
|
132 |
+
wp_enqueue_style( 'thickbox' );
|
133 |
+
|
134 |
+
wp_enqueue_style( 'contact-form-7-admin', wpcf7_plugin_url( 'admin/styles.css' ),
|
135 |
array(), WPCF7_VERSION, 'all' );
|
136 |
|
137 |
if ( 'rtl' == get_bloginfo( 'text_direction' ) ) {
|
138 |
wp_enqueue_style( 'contact-form-7-admin-rtl',
|
139 |
+
wpcf7_plugin_url( 'admin/styles-rtl.css' ), array(), WPCF7_VERSION, 'all' );
|
|
|
140 |
}
|
141 |
}
|
142 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
143 |
add_action( 'admin_print_scripts', 'wpcf7_admin_enqueue_scripts' );
|
144 |
|
145 |
function wpcf7_admin_enqueue_scripts() {
|
146 |
global $plugin_page;
|
147 |
|
148 |
+
if ( ! isset( $plugin_page ) || 'wpcf7' != $plugin_page )
|
149 |
return;
|
150 |
|
151 |
+
wp_enqueue_script( 'thickbox' );
|
152 |
+
|
153 |
+
wp_enqueue_script( 'wpcf7-admin-taggenerator', wpcf7_plugin_url( 'admin/taggenerator.js' ),
|
154 |
+
array( 'jquery' ), WPCF7_VERSION, true );
|
155 |
+
|
156 |
+
wp_enqueue_script( 'wpcf7-admin', wpcf7_plugin_url( 'admin/scripts.js' ),
|
157 |
+
array( 'jquery', 'wpcf7-admin-taggenerator' ), WPCF7_VERSION, true );
|
158 |
wp_localize_script( 'wpcf7-admin', '_wpcf7L10n', array(
|
|
|
159 |
'generateTag' => __( 'Generate Tag', 'wpcf7' ),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
160 |
'show' => __( "Show", 'wpcf7' ),
|
161 |
+
'hide' => __( "Hide", 'wpcf7' ) ) );
|
|
|
|
|
|
|
|
|
162 |
}
|
163 |
|
164 |
+
add_action( 'admin_footer', 'wpcf7_admin_footer' );
|
|
|
165 |
|
166 |
+
function wpcf7_admin_footer() {
|
167 |
+
global $plugin_page;
|
168 |
+
|
169 |
+
if ( ! isset( $plugin_page ) || 'wpcf7' != $plugin_page )
|
170 |
+
return;
|
171 |
+
|
172 |
+
?>
|
173 |
+
<script type="text/javascript">
|
174 |
+
/* <![CDATA[ */
|
175 |
+
var _wpcf7 = {
|
176 |
+
pluginUrl: '<?php echo wpcf7_plugin_url(); ?>',
|
177 |
+
tagGenerators: {
|
178 |
+
<?php wpcf7_print_tag_generators(); ?>
|
|
|
|
|
|
|
179 |
}
|
180 |
+
};
|
181 |
+
/* ]]> */
|
182 |
+
</script>
|
183 |
+
<?php
|
184 |
+
}
|
185 |
|
186 |
+
function wpcf7_admin_management_page() {
|
187 |
$contact_forms = wpcf7_contact_forms();
|
188 |
|
|
|
|
|
189 |
if ( 'new' == $_GET['contactform'] ) {
|
190 |
$unsaved = true;
|
191 |
$current = -1;
|
192 |
+
$cf = wpcf7_contact_form_default_pack( $_GET['locale'] );
|
193 |
} elseif ( $cf = wpcf7_contact_form( $_GET['contactform'] ) ) {
|
194 |
$current = (int) $_GET['contactform'];
|
195 |
} else {
|
198 |
$cf = wpcf7_contact_form( $current );
|
199 |
}
|
200 |
|
201 |
+
require_once WPCF7_PLUGIN_DIR . '/admin/edit.php';
|
202 |
+
}
|
203 |
+
|
204 |
+
/* Tag generator */
|
205 |
+
|
206 |
+
function wpcf7_add_tag_generator( $name, $title, $elm_id, $callback, $options = array() ) {
|
207 |
+
global $wpcf7_tag_generators;
|
208 |
+
|
209 |
+
$name = trim( $name );
|
210 |
+
if ( '' == $name )
|
211 |
+
return false;
|
212 |
+
|
213 |
+
if ( ! is_array( $wpcf7_tag_generators ) )
|
214 |
+
$wpcf7_tag_generators = array();
|
215 |
+
|
216 |
+
$wpcf7_tag_generators[$name] = array(
|
217 |
+
'title' => $title,
|
218 |
+
'content' => $elm_id,
|
219 |
+
'options' => $options );
|
220 |
+
|
221 |
+
if ( is_callable( $callback ) )
|
222 |
+
add_action( 'wpcf7_admin_footer', $callback );
|
223 |
+
|
224 |
+
return true;
|
225 |
+
}
|
226 |
+
|
227 |
+
function wpcf7_print_tag_generators() {
|
228 |
+
global $wpcf7_tag_generators;
|
229 |
+
|
230 |
+
$output = array();
|
231 |
+
|
232 |
+
foreach ( (array) $wpcf7_tag_generators as $name => $tg ) {
|
233 |
+
$pane = " " . esc_js( $name ) . ": { ";
|
234 |
+
$pane .= "title: '" . esc_js( $tg['title'] ) . "'";
|
235 |
+
$pane .= ", content: '" . esc_js( $tg['content'] ) . "'";
|
236 |
+
|
237 |
+
foreach ( (array) $tg['options'] as $option_name => $option_value ) {
|
238 |
+
if ( is_int( $option_value ) )
|
239 |
+
$pane .= ", $option_name: $option_value";
|
240 |
+
else
|
241 |
+
$pane .= ", $option_name: '" . esc_js( $option_value ) . "'";
|
242 |
+
}
|
243 |
+
|
244 |
+
$pane .= " }";
|
245 |
+
|
246 |
+
$output[] = $pane;
|
247 |
+
}
|
248 |
+
|
249 |
+
echo implode( ",\n", $output ) . "\n";
|
250 |
}
|
251 |
|
252 |
/* Install and default settings */
|
283 |
return false; // Failed to create
|
284 |
|
285 |
$legacy_data = get_option( 'wpcf7' );
|
286 |
+
if ( is_array( $legacy_data )
|
287 |
+
&& is_array( $legacy_data['contact_forms'] ) && $legacy_data['contact_forms'] ) {
|
288 |
foreach ( $legacy_data['contact_forms'] as $key => $value ) {
|
289 |
$wpdb->insert( $table_name, array(
|
290 |
'cf7_unit_id' => $key,
|
318 |
if ( $file != WPCF7_PLUGIN_BASENAME )
|
319 |
return $links;
|
320 |
|
321 |
+
$url = wpcf7_admin_url( array( 'page' => 'wpcf7' ) );
|
322 |
|
323 |
$settings_link = '<a href="' . esc_attr( $url ) . '">'
|
324 |
. esc_html( __( 'Settings', 'wpcf7' ) ) . '</a>';
|
328 |
return $links;
|
329 |
}
|
330 |
|
331 |
+
add_action( 'wpcf7_admin_before_subsubsub', 'wpcf7_cf7com_links', 9 );
|
332 |
+
|
333 |
+
function wpcf7_cf7com_links( &$contact_form ) {
|
334 |
+
$links = '<div class="cf7com-links">'
|
335 |
+
. '<a href="' . esc_url_raw( __( 'http://contactform7.com/', 'wpcf7' ) ) . '" target="_blank">'
|
336 |
+
. esc_html( __( 'Contactform7.com', 'wpcf7' ) ) . '</a> '
|
337 |
+
. '<a href="' . esc_url_raw( __( 'http://contactform7.com/docs/', 'wpcf7' ) ) . '" target="_blank">'
|
338 |
+
. esc_html( __( 'Docs', 'wpcf7' ) ) . '</a> - '
|
339 |
+
. '<a href="' . esc_url_raw( __( 'http://contactform7.com/faq/', 'wpcf7' ) ) . '" target="_blank">'
|
340 |
+
. esc_html( __( 'FAQ', 'wpcf7' ) ) . '</a> - '
|
341 |
+
. '<a href="' . esc_url_raw( __( 'http://contactform7.com/support/', 'wpcf7' ) ) . '" target="_blank">'
|
342 |
+
. esc_html( __( 'Support', 'wpcf7' ) ) . '</a>'
|
343 |
+
. '</div>';
|
344 |
+
|
345 |
+
echo apply_filters( 'wpcf7_cf7com_links', $links );
|
346 |
+
}
|
347 |
+
|
348 |
+
add_action( 'wpcf7_admin_before_subsubsub', 'wpcf7_updated_message' );
|
349 |
+
|
350 |
+
function wpcf7_updated_message( &$contact_form ) {
|
351 |
+
switch ( $_GET['message'] ) {
|
352 |
+
case 'created':
|
353 |
+
$updated_message = __( "Contact form created.", 'wpcf7' );
|
354 |
+
break;
|
355 |
+
case 'saved':
|
356 |
+
$updated_message = __( "Contact form saved.", 'wpcf7' );
|
357 |
+
break;
|
358 |
+
case 'deleted':
|
359 |
+
$updated_message = __( "Contact form deleted.", 'wpcf7' );
|
360 |
+
break;
|
361 |
+
case 'table_created':
|
362 |
+
$updated_message = __( "Database table created.", 'wpcf7' );
|
363 |
+
break;
|
364 |
+
case 'table_not_created':
|
365 |
+
$updated_message = __( "Failed to create database table.", 'wpcf7' );
|
366 |
+
break;
|
367 |
+
}
|
368 |
+
|
369 |
+
if ( ! $updated_message )
|
370 |
+
return;
|
371 |
+
|
372 |
+
?>
|
373 |
+
<div id="message" class="updated fade"><p><?php echo esc_html( $updated_message ); ?></p></div>
|
374 |
+
<?php
|
375 |
+
}
|
376 |
+
|
377 |
+
add_action( 'wpcf7_admin_before_subsubsub', 'wpcf7_donation_link' );
|
378 |
+
|
379 |
+
function wpcf7_donation_link( &$contact_form ) {
|
380 |
if ( ! WPCF7_SHOW_DONATION_LINK )
|
381 |
return;
|
382 |
|
383 |
if ( 'new' == $_GET['contactform'] || ! empty($_GET['message']) )
|
384 |
return;
|
385 |
|
386 |
+
$show_link = true;
|
387 |
+
|
388 |
$num = mt_rand(0, 99);
|
389 |
if ($num >= 10) // 90%
|
390 |
+
$show_link = false;
|
391 |
+
|
392 |
+
$show_link = apply_filters( 'wpcf7_show_donation_link', $show_link );
|
393 |
+
|
394 |
+
if ( ! $show_link )
|
395 |
return;
|
396 |
|
397 |
$texts = array(
|
admin/{admin-panel.php → edit.php}
RENAMED
@@ -3,7 +3,7 @@
|
|
3 |
/* No table warning */
|
4 |
if ( ! wpcf7_table_exists() ) {
|
5 |
if ( current_user_can( 'activate_plugins' ) ) {
|
6 |
-
$create_table_link_url = wpcf7_admin_url(
|
7 |
$create_table_link_url = wp_nonce_url( $create_table_link_url, 'wpcf7-create-table' );
|
8 |
$message = sprintf(
|
9 |
__( '<strong>The database table for Contact Form 7 does not exist.</strong> You must <a href="%s">create the table</a> for it to work.', 'wpcf7' ),
|
@@ -25,33 +25,33 @@ if ( ! wpcf7_table_exists() ) {
|
|
25 |
|
26 |
?><div class="wrap wpcf7">
|
27 |
|
28 |
-
|
29 |
-
|
30 |
-
<h2><?php echo esc_html( __( 'Contact Form 7', 'wpcf7' ) ); ?></h2>
|
31 |
|
32 |
-
|
33 |
|
34 |
-
|
35 |
-
<div id="message" class="updated fade"><p><?php echo $updated_message; ?></p></div>
|
36 |
-
<?php endif; ?>
|
37 |
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
|
|
|
|
|
|
|
|
43 |
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
|
49 |
-
|
50 |
|
51 |
<?php if ( $cf ) : ?>
|
52 |
<?php $disabled = ( wpcf7_admin_has_edit_cap() ) ? '' : ' disabled="disabled"'; ?>
|
53 |
|
54 |
-
<form method="post" action="<?php echo wpcf7_admin_url(
|
55 |
<?php if ( wpcf7_admin_has_edit_cap() ) wp_nonce_field( 'wpcf7-save_' . $current ); ?>
|
56 |
<input type="hidden" id="wpcf7-id" name="wpcf7-id" value="<?php echo $current; ?>" />
|
57 |
|
@@ -111,7 +111,7 @@ if ( ! wpcf7_table_exists() ) {
|
|
111 |
</td>
|
112 |
|
113 |
<td scope="col" style="width: 50%;">
|
114 |
-
|
115 |
</td>
|
116 |
|
117 |
</tr>
|
@@ -259,70 +259,15 @@ if ( ! wpcf7_table_exists() ) {
|
|
259 |
<td scope="col">
|
260 |
<div id="message-fields">
|
261 |
|
|
|
|
|
|
|
262 |
<div class="message-field">
|
263 |
-
<label for="
|
264 |
-
<input type="text" id="
|
265 |
-
</div>
|
266 |
-
|
267 |
-
<div class="message-field">
|
268 |
-
<label for="wpcf7-message-mail-sent-ng"><em># <?php echo esc_html( __( "Sender's message was failed to send", 'wpcf7' ) ); ?></em></label><br />
|
269 |
-
<input type="text" id="wpcf7-message-mail-sent-ng" name="wpcf7-message-mail-sent-ng" class="wide" size="70" value="<?php echo esc_attr( $cf->messages['mail_sent_ng'] ); ?>" />
|
270 |
-
</div>
|
271 |
-
|
272 |
-
<div class="message-field">
|
273 |
-
<label for="wpcf7-message-akismet-says-spam"><em># <?php echo esc_html( __( "Akismet judged the sending activity as spamming", 'wpcf7' ) ); ?></em></label><br />
|
274 |
-
<input type="text" id="wpcf7-message-akismet-says-spam" name="wpcf7-message-akismet-says-spam" class="wide" size="70" value="<?php echo esc_attr( $cf->messages['akismet_says_spam'] ); ?>" />
|
275 |
-
</div>
|
276 |
-
|
277 |
-
<div class="message-field">
|
278 |
-
<label for="wpcf7-message-validation-error"><em># <?php echo esc_html( __( "Validation errors occurred", 'wpcf7' ) ); ?></em></label><br />
|
279 |
-
<input type="text" id="wpcf7-message-validation-error" name="wpcf7-message-validation-error" class="wide" size="70" value="<?php echo esc_attr( $cf->messages['validation_error'] ); ?>" />
|
280 |
-
</div>
|
281 |
-
|
282 |
-
<div class="message-field" style="margin-top: 1em;">
|
283 |
-
<label for="wpcf7-message-invalid-required"><em># <?php echo esc_html( __( "There is a field that sender is needed to fill in", 'wpcf7' ) ); ?></em></label><br />
|
284 |
-
<input type="text" id="wpcf7-message-invalid-required" name="wpcf7-message-invalid-required" class="wide" size="70" value="<?php echo esc_attr( $cf->messages['invalid_required'] ); ?>" />
|
285 |
-
</div>
|
286 |
-
|
287 |
-
<div class="message-field">
|
288 |
-
<label for="wpcf7-message-invalid-email"><em># <?php echo esc_html( __( "Email address that sender entered is invalid", 'wpcf7' ) ); ?></em></label><br />
|
289 |
-
<input type="text" id="wpcf7-message-invalid-email" name="wpcf7-message-invalid-email" class="wide" size="70" value="<?php echo esc_attr( $cf->messages['invalid_email'] ); ?>" />
|
290 |
-
</div>
|
291 |
-
|
292 |
-
<div class="message-field">
|
293 |
-
<label for="wpcf7-message-accept-terms"><em># <?php echo esc_html( __( "There is a field of term that sender is needed to accept", 'wpcf7' ) ); ?></em></label><br />
|
294 |
-
<input type="text" id="wpcf7-message-accept-terms" name="wpcf7-message-accept-terms" class="wide" size="70" value="<?php echo esc_attr( $cf->messages['accept_terms'] ); ?>" />
|
295 |
-
</div>
|
296 |
-
|
297 |
-
<div class="message-field">
|
298 |
-
<label for="wpcf7-message-quiz-answer-not-correct"><em># <?php echo esc_html( __( "Sender doesn't enter the correct answer to the quiz", 'wpcf7' ) ); ?></em></label><br />
|
299 |
-
<input type="text" id="wpcf7-message-quiz-answer-not-correct" name="wpcf7-message-quiz-answer-not-correct" class="wide" size="70" value="<?php echo esc_attr( $cf->messages['quiz_answer_not_correct'] ); ?>" />
|
300 |
-
</div>
|
301 |
-
|
302 |
-
<div class="message-field">
|
303 |
-
<label for="wpcf7-message-captcha-not-match"><em># <?php echo esc_html( __( "The code that sender entered does not match the CAPTCHA", 'wpcf7' ) ); ?></em></label><br />
|
304 |
-
<input type="text" id="wpcf7-message-captcha-not-match" name="wpcf7-message-captcha-not-match" class="wide" size="70" value="<?php echo esc_attr( $cf->messages['captcha_not_match'] ); ?>" />
|
305 |
-
</div>
|
306 |
-
|
307 |
-
<div class="message-field">
|
308 |
-
<label for="wpcf7-message-upload-failed"><em># <?php echo esc_html( __( "Uploading a file fails for any reason", 'wpcf7' ) ); ?></em></label><br />
|
309 |
-
<input type="text" id="wpcf7-message-upload-failed" name="wpcf7-message-upload-failed" class="wide" size="70" value="<?php echo esc_attr( $cf->messages['upload_failed'] ); ?>" />
|
310 |
-
</div>
|
311 |
-
|
312 |
-
<div class="message-field">
|
313 |
-
<label for="wpcf7-message-upload-file-type-invalid"><em># <?php echo esc_html( __( "Uploaded file is not allowed file type", 'wpcf7' ) ); ?></em></label><br />
|
314 |
-
<input type="text" id="wpcf7-message-upload-file-type-invalid" name="wpcf7-message-upload-file-type-invalid" class="wide" size="70" value="<?php echo esc_attr( $cf->messages['upload_file_type_invalid'] ); ?>" />
|
315 |
-
</div>
|
316 |
-
|
317 |
-
<div class="message-field">
|
318 |
-
<label for="wpcf7-message-upload-file-too-large"><em># <?php echo esc_html( __( "Uploaded file is too large", 'wpcf7' ) ); ?></em></label><br />
|
319 |
-
<input type="text" id="wpcf7-message-upload-file-too-large" name="wpcf7-message-upload-file-too-large" class="wide" size="70" value="<?php echo esc_attr( $cf->messages['upload_file_too_large'] ); ?>" />
|
320 |
</div>
|
321 |
|
322 |
-
|
323 |
-
<label for="wpcf7-message-upload-failed-php-error"><em># <?php echo esc_html( __( "Uploading a file fails for PHP error", 'wpcf7' ) ); ?></em></label><br />
|
324 |
-
<input type="text" id="wpcf7-message-upload-failed-php-error" name="wpcf7-message-upload-failed-php-error" class="wide" size="70" value="<?php echo esc_attr( $cf->messages['upload_failed_php_error'] ); ?>" />
|
325 |
-
</div>
|
326 |
|
327 |
</div>
|
328 |
</td>
|
@@ -350,6 +295,12 @@ if ( ! wpcf7_table_exists() ) {
|
|
350 |
</tbody>
|
351 |
</table>
|
352 |
|
|
|
|
|
|
|
|
|
|
|
|
|
353 |
<table class="widefat" style="margin-top: 1em;">
|
354 |
<tbody>
|
355 |
<tr>
|
@@ -364,9 +315,37 @@ if ( ! wpcf7_table_exists() ) {
|
|
364 |
|
365 |
<?php endif; ?>
|
366 |
|
367 |
-
<?php do_action_ref_array( 'wpcf7_admin_after_additional_settings', array( &$cf ) ); ?>
|
368 |
-
|
369 |
</form>
|
370 |
|
371 |
<?php endif; ?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
372 |
</div>
|
|
|
|
3 |
/* No table warning */
|
4 |
if ( ! wpcf7_table_exists() ) {
|
5 |
if ( current_user_can( 'activate_plugins' ) ) {
|
6 |
+
$create_table_link_url = wpcf7_admin_url( array( 'wpcf7-create-table' => 1 ) );
|
7 |
$create_table_link_url = wp_nonce_url( $create_table_link_url, 'wpcf7-create-table' );
|
8 |
$message = sprintf(
|
9 |
__( '<strong>The database table for Contact Form 7 does not exist.</strong> You must <a href="%s">create the table</a> for it to work.', 'wpcf7' ),
|
25 |
|
26 |
?><div class="wrap wpcf7">
|
27 |
|
28 |
+
<?php screen_icon( 'edit-pages' ); ?>
|
|
|
|
|
29 |
|
30 |
+
<h2><?php echo esc_html( __( 'Contact Form 7', 'wpcf7' ) ); ?></h2>
|
31 |
|
32 |
+
<?php do_action_ref_array( 'wpcf7_admin_before_subsubsub', array( &$cf ) ); ?>
|
|
|
|
|
33 |
|
34 |
+
<ul class="subsubsub">
|
35 |
+
<?php
|
36 |
+
$first = array_shift( $contact_forms );
|
37 |
+
if ( ! is_null( $first ) ) : ?>
|
38 |
+
<li><a href="<?php echo wpcf7_admin_url( array( 'contactform' => $first->id ) ); ?>"<?php if ( $first->id == $current ) echo ' class="current"'; ?>><?php echo esc_html( $first->title ); ?></a></li>
|
39 |
+
<?php endif;
|
40 |
+
foreach ( $contact_forms as $v ) : ?>
|
41 |
+
<li>| <a href="<?php echo wpcf7_admin_url( array( 'contactform' => $v->id ) ); ?>"<?php if ( $v->id == $current ) echo ' class="current"'; ?>><?php echo esc_html( $v->title ); ?></a></li>
|
42 |
+
<?php endforeach; ?>
|
43 |
|
44 |
+
<?php if ( wpcf7_admin_has_edit_cap() ) : ?>
|
45 |
+
<li class="addnew"><a class="thickbox<?php if ( $unsaved ) echo ' current'; ?>" href="#TB_inline?height=300&width=400&inlineId=wpcf7-lang-select-modal"><?php echo esc_html( __( 'Add new', 'wpcf7' ) ); ?></a></li>
|
46 |
+
<?php endif; ?>
|
47 |
+
</ul>
|
48 |
|
49 |
+
<br class="clear" />
|
50 |
|
51 |
<?php if ( $cf ) : ?>
|
52 |
<?php $disabled = ( wpcf7_admin_has_edit_cap() ) ? '' : ' disabled="disabled"'; ?>
|
53 |
|
54 |
+
<form method="post" action="<?php echo wpcf7_admin_url( array( 'contactform' => $current ) ); ?>" id="wpcf7-admin-form-element">
|
55 |
<?php if ( wpcf7_admin_has_edit_cap() ) wp_nonce_field( 'wpcf7-save_' . $current ); ?>
|
56 |
<input type="hidden" id="wpcf7-id" name="wpcf7-id" value="<?php echo $current; ?>" />
|
57 |
|
111 |
</td>
|
112 |
|
113 |
<td scope="col" style="width: 50%;">
|
114 |
+
<div id="taggenerator"></div>
|
115 |
</td>
|
116 |
|
117 |
</tr>
|
259 |
<td scope="col">
|
260 |
<div id="message-fields">
|
261 |
|
262 |
+
<?php foreach ( wpcf7_messages() as $key => $arr ) :
|
263 |
+
$field_name = 'wpcf7-message-' . strtr( $key, '_', '-' );
|
264 |
+
?>
|
265 |
<div class="message-field">
|
266 |
+
<label for="<?php echo $field_name; ?>"><em># <?php echo esc_html( $arr['description'] ); ?></em></label><br />
|
267 |
+
<input type="text" id="<?php echo $field_name; ?>" name="<?php echo $field_name; ?>" class="wide" size="70" value="<?php echo esc_attr( $cf->messages[$key] ); ?>" />
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
268 |
</div>
|
269 |
|
270 |
+
<?php endforeach; ?>
|
|
|
|
|
|
|
271 |
|
272 |
</div>
|
273 |
</td>
|
295 |
</tbody>
|
296 |
</table>
|
297 |
|
298 |
+
<?php endif; ?>
|
299 |
+
|
300 |
+
<?php do_action_ref_array( 'wpcf7_admin_after_additional_settings', array( &$cf ) ); ?>
|
301 |
+
|
302 |
+
<?php if ( wpcf7_admin_has_edit_cap() ) : ?>
|
303 |
+
|
304 |
<table class="widefat" style="margin-top: 1em;">
|
305 |
<tbody>
|
306 |
<tr>
|
315 |
|
316 |
<?php endif; ?>
|
317 |
|
|
|
|
|
318 |
</form>
|
319 |
|
320 |
<?php endif; ?>
|
321 |
+
|
322 |
+
</div>
|
323 |
+
|
324 |
+
<div id="wpcf7-lang-select-modal" class="hidden">
|
325 |
+
<?php
|
326 |
+
$available_locales = wpcf7_l10n();
|
327 |
+
$default_locale = get_locale();
|
328 |
+
|
329 |
+
if ( ! isset( $available_locales[$default_locale] ) )
|
330 |
+
$default_locale = 'en_US';
|
331 |
+
|
332 |
+
?>
|
333 |
+
<h4><?php echo esc_html( sprintf( __( 'Use the default language (%s)', 'wpcf7' ), $available_locales[$default_locale] ) ); ?></h4>
|
334 |
+
<p><a href="<?php echo wpcf7_admin_url( array( 'contactform' => 'new' ) ); ?>" class="button" /><?php echo esc_html( __( 'Add New', 'wpcf7' ) ); ?></a></p>
|
335 |
+
|
336 |
+
<?php unset( $available_locales[$default_locale] ); ?>
|
337 |
+
<h4><?php echo esc_html( __( 'Or', 'wpcf7' ) ); ?></h4>
|
338 |
+
<form action="" method="get">
|
339 |
+
<input type="hidden" name="page" value="wpcf7" />
|
340 |
+
<input type="hidden" name="contactform" value="new" />
|
341 |
+
<select name="locale">
|
342 |
+
<option value="" selected="selected"><?php echo esc_html( __( '(select language)', 'wpcf7' ) ); ?></option>
|
343 |
+
<?php foreach ( $available_locales as $code => $locale ) : ?>
|
344 |
+
<option value="<?php echo esc_attr( $code ); ?>"><?php echo esc_html( $locale ); ?></option>
|
345 |
+
<?php endforeach; ?>
|
346 |
+
</select>
|
347 |
+
<input type="submit" class="button" value="<?php echo esc_attr( __( 'Add New', 'wpcf7' ) ); ?>" />
|
348 |
+
</form>
|
349 |
</div>
|
350 |
+
|
351 |
+
<?php do_action_ref_array( 'wpcf7_admin_footer', array( &$cf ) ); ?>
|
admin/scripts.js
ADDED
@@ -0,0 +1,110 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
jQuery(document).ready(function() {
|
2 |
+
try {
|
3 |
+
jQuery.extend(jQuery.tgPanes, _wpcf7.tagGenerators);
|
4 |
+
jQuery('#taggenerator').tagGenerator(_wpcf7L10n.generateTag,
|
5 |
+
{ dropdownIconUrl: _wpcf7.pluginUrl + '/images/dropdown.gif' });
|
6 |
+
|
7 |
+
jQuery('input#wpcf7-title:enabled').css({
|
8 |
+
cursor: 'pointer'
|
9 |
+
});
|
10 |
+
|
11 |
+
jQuery('input#wpcf7-title').mouseover(function() {
|
12 |
+
jQuery(this).not('.focus').css({
|
13 |
+
'background-color': '#ffffdd'
|
14 |
+
});
|
15 |
+
});
|
16 |
+
|
17 |
+
jQuery('input#wpcf7-title').mouseout(function() {
|
18 |
+
jQuery(this).css({
|
19 |
+
'background-color': '#fff'
|
20 |
+
});
|
21 |
+
});
|
22 |
+
|
23 |
+
jQuery('input#wpcf7-title').focus(function() {
|
24 |
+
jQuery(this).addClass('focus');
|
25 |
+
jQuery(this).css({
|
26 |
+
cursor: 'text',
|
27 |
+
color: '#333',
|
28 |
+
border: '1px solid #777',
|
29 |
+
font: 'normal 13px Verdana, Arial, Helvetica, sans-serif',
|
30 |
+
'background-color': '#fff'
|
31 |
+
});
|
32 |
+
});
|
33 |
+
|
34 |
+
jQuery('input#wpcf7-title').blur(function() {
|
35 |
+
jQuery(this).removeClass('focus');
|
36 |
+
jQuery(this).css({
|
37 |
+
cursor: 'pointer',
|
38 |
+
color: '#555',
|
39 |
+
border: 'none',
|
40 |
+
font: 'bold 20px serif',
|
41 |
+
'background-color': '#fff'
|
42 |
+
});
|
43 |
+
});
|
44 |
+
|
45 |
+
jQuery('input#wpcf7-title').change(function() {
|
46 |
+
updateTag();
|
47 |
+
});
|
48 |
+
|
49 |
+
updateTag();
|
50 |
+
|
51 |
+
if (! jQuery('#wpcf7-mail-2-active').is(':checked'))
|
52 |
+
jQuery('#mail-2-fields').hide();
|
53 |
+
|
54 |
+
jQuery('#wpcf7-mail-2-active').click(function() {
|
55 |
+
if (jQuery('#wpcf7-mail-2-active').is(':checked')) {
|
56 |
+
if (jQuery('#mail-2-fields').is(':hidden'))
|
57 |
+
jQuery('#mail-2-fields').slideDown('fast');
|
58 |
+
} else {
|
59 |
+
if (jQuery('#mail-2-fields').is(':visible'))
|
60 |
+
jQuery('#mail-2-fields').hide('fast');
|
61 |
+
}
|
62 |
+
});
|
63 |
+
|
64 |
+
jQuery('#message-fields-toggle-switch').text(_wpcf7L10n.show);
|
65 |
+
jQuery('#message-fields').hide();
|
66 |
+
|
67 |
+
jQuery('#message-fields-toggle-switch').click(function() {
|
68 |
+
if (jQuery('#message-fields').is(':hidden')) {
|
69 |
+
jQuery('#message-fields').slideDown('fast');
|
70 |
+
jQuery('#message-fields-toggle-switch').text(_wpcf7L10n.hide);
|
71 |
+
} else {
|
72 |
+
jQuery('#message-fields').hide('fast');
|
73 |
+
jQuery('#message-fields-toggle-switch').text(_wpcf7L10n.show);
|
74 |
+
}
|
75 |
+
});
|
76 |
+
|
77 |
+
if ('' == jQuery.trim(jQuery('#wpcf7-additional-settings').text())) {
|
78 |
+
jQuery('#additional-settings-fields-toggle-switch').text(_wpcf7L10n.show);
|
79 |
+
jQuery('#additional-settings-fields').hide();
|
80 |
+
} else {
|
81 |
+
jQuery('#additional-settings-fields-toggle-switch').text(_wpcf7L10n.hide);
|
82 |
+
jQuery('#additional-settings-fields').show();
|
83 |
+
}
|
84 |
+
|
85 |
+
jQuery('#additional-settings-fields-toggle-switch').click(function() {
|
86 |
+
if (jQuery('#additional-settings-fields').is(':hidden')) {
|
87 |
+
jQuery('#additional-settings-fields').slideDown('fast');
|
88 |
+
jQuery('#additional-settings-fields-toggle-switch').text(_wpcf7L10n.hide);
|
89 |
+
} else {
|
90 |
+
jQuery('#additional-settings-fields').hide('fast');
|
91 |
+
jQuery('#additional-settings-fields-toggle-switch').text(_wpcf7L10n.show);
|
92 |
+
}
|
93 |
+
});
|
94 |
+
|
95 |
+
} catch (e) {
|
96 |
+
}
|
97 |
+
});
|
98 |
+
|
99 |
+
function updateTag() {
|
100 |
+
var title = jQuery('input#wpcf7-title').val();
|
101 |
+
|
102 |
+
if (title)
|
103 |
+
title = title.replace(/["'\[\]]/g, '');
|
104 |
+
|
105 |
+
jQuery('input#wpcf7-title').val(title);
|
106 |
+
var current = jQuery('input#wpcf7-id').val();
|
107 |
+
var tag = '[contact-form ' + current + ' "' + title + '"]';
|
108 |
+
|
109 |
+
jQuery('input#contact-form-anchor-text').val(tag);
|
110 |
+
}
|
admin/{admin-stylesheet-rtl.css → styles-rtl.css}
RENAMED
File without changes
|
admin/{admin-stylesheet.css → styles.css}
RENAMED
@@ -1,3 +1,13 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
div.wpcf7 div.donation {
|
2 |
border-width: 1px;
|
3 |
border-style: solid;
|
@@ -31,20 +41,25 @@ div.wpcf7 div.donation p em {
|
|
31 |
div.wpcf7 ul.subsubsub {
|
32 |
white-space: normal;
|
33 |
}
|
|
|
34 |
ul.subsubsub li.addnew {
|
35 |
margin-left: 0.5em;
|
36 |
}
|
|
|
37 |
ul.subsubsub li.addnew a {
|
38 |
color: #e6255b;
|
39 |
}
|
|
|
40 |
ul.subsubsub li.addnew a:hover,
|
41 |
ul.subsubsub li.addnew a:active {
|
42 |
color: #999;
|
43 |
}
|
|
|
44 |
div.save-contact-form {
|
45 |
padding: 1.4em 0 0 0;
|
46 |
text-align: right;
|
47 |
}
|
|
|
48 |
div.actions-link {
|
49 |
position: absolute;
|
50 |
top: 0;
|
@@ -52,6 +67,7 @@ div.actions-link {
|
|
52 |
margin: 0;
|
53 |
padding: 0;
|
54 |
}
|
|
|
55 |
div.actions-link input {
|
56 |
padding: 0;
|
57 |
margin: 0;
|
@@ -60,32 +76,38 @@ div.actions-link input {
|
|
60 |
font-size: 11px;
|
61 |
cursor: pointer;
|
62 |
}
|
|
|
63 |
div.actions-link input.copy {
|
64 |
color: #006505;
|
65 |
}
|
|
|
66 |
div.actions-link input.delete {
|
67 |
color: #bc0b0b;
|
68 |
}
|
|
|
69 |
input#wpcf7-title {
|
70 |
color: #555;
|
71 |
background-color: #fff;
|
72 |
border: none;
|
73 |
font: bold 20px serif;
|
74 |
}
|
|
|
75 |
p.tagcode {
|
76 |
color: #333;
|
77 |
margin: 2ex 0 1ex 1em;
|
78 |
}
|
|
|
79 |
input#contact-form-anchor-text {
|
80 |
color: #fff;
|
81 |
-
background: #
|
82 |
border: none;
|
83 |
-
width:
|
84 |
-moz-border-radius: 6px;
|
85 |
-khtml-border-radius: 6px;
|
86 |
-webkit-border-radius: 6px;
|
87 |
border-radius: 6px;
|
88 |
}
|
|
|
89 |
span#message-fields-toggle-switch, span#additional-settings-fields-toggle-switch {
|
90 |
margin-left: 1em;
|
91 |
font-weight: normal;
|
@@ -93,27 +115,38 @@ span#message-fields-toggle-switch, span#additional-settings-fields-toggle-switch
|
|
93 |
color: #2583ad;
|
94 |
cursor: pointer;
|
95 |
}
|
|
|
96 |
div.pseudo-hr {
|
97 |
border-bottom: 1px solid #fff;
|
98 |
margin: 0.7em 0;
|
99 |
}
|
|
|
100 |
input, textarea {
|
101 |
border: 1px solid #dfdfdf;
|
102 |
}
|
|
|
103 |
input.wide {
|
104 |
width: 100%;
|
105 |
}
|
|
|
106 |
textarea {
|
107 |
width: 100%;
|
108 |
}
|
|
|
109 |
label.disabled {
|
110 |
color: #777;
|
111 |
}
|
|
|
|
|
|
|
|
|
|
|
112 |
div.tag-generator {
|
113 |
position: relative;
|
114 |
background: #fff;
|
115 |
padding: 5px 0 5px 1px;
|
116 |
}
|
|
|
117 |
div.tg-pane {
|
118 |
border: 1px dashed #999;
|
119 |
background: #f1f1f1;
|
@@ -124,32 +157,75 @@ div.tg-pane {
|
|
124 |
-webkit-border-radius: 6px;
|
125 |
border-radius: 6px;
|
126 |
}
|
|
|
127 |
div.tg-pane table {
|
128 |
width: 100%;
|
129 |
margin: 0 0 0.7em 0;
|
130 |
}
|
|
|
131 |
div.tg-pane table caption {
|
132 |
text-align: left;
|
133 |
padding: 0 0 0.2em 0;
|
134 |
font-weight: bolder;
|
135 |
color: #777;
|
136 |
}
|
|
|
137 |
div.tg-pane table code {
|
138 |
background-color: inherit;
|
139 |
}
|
|
|
140 |
div.tg-pane table td {
|
141 |
vertical-align: top;
|
142 |
width: 50%;
|
|
|
143 |
}
|
144 |
-
|
|
|
|
|
145 |
border: none;
|
146 |
color: #fff;
|
147 |
-
background-color: #
|
148 |
-moz-border-radius: 6px;
|
149 |
-khtml-border-radius: 6px;
|
150 |
-webkit-border-radius: 6px;
|
151 |
border-radius: 6px;
|
152 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
153 |
div.tg-dropdown {
|
154 |
position: absolute;
|
155 |
top: 26px;
|
@@ -157,14 +233,16 @@ div.tg-dropdown {
|
|
157 |
z-index: 10;
|
158 |
border: 1px solid #ddd;
|
159 |
}
|
|
|
160 |
span.tg-closebutton {
|
161 |
color: #777;
|
162 |
font: bold 18px monospace;
|
163 |
padding: 1px 4px;
|
164 |
cursor: pointer;
|
165 |
}
|
|
|
166 |
div.tg-panetitle {
|
167 |
font: bold 132% sans-serif;
|
168 |
margin: 0 0 10px;
|
169 |
color: #777;
|
170 |
-
}
|
1 |
+
div.wpcf7 div.cf7com-links {
|
2 |
+
text-align: right;
|
3 |
+
font-size: .8em;
|
4 |
+
margin-top: -1.6em;
|
5 |
+
}
|
6 |
+
|
7 |
+
div.wpcf7 div.cf7com-links a {
|
8 |
+
text-decoration: none;
|
9 |
+
}
|
10 |
+
|
11 |
div.wpcf7 div.donation {
|
12 |
border-width: 1px;
|
13 |
border-style: solid;
|
41 |
div.wpcf7 ul.subsubsub {
|
42 |
white-space: normal;
|
43 |
}
|
44 |
+
|
45 |
ul.subsubsub li.addnew {
|
46 |
margin-left: 0.5em;
|
47 |
}
|
48 |
+
|
49 |
ul.subsubsub li.addnew a {
|
50 |
color: #e6255b;
|
51 |
}
|
52 |
+
|
53 |
ul.subsubsub li.addnew a:hover,
|
54 |
ul.subsubsub li.addnew a:active {
|
55 |
color: #999;
|
56 |
}
|
57 |
+
|
58 |
div.save-contact-form {
|
59 |
padding: 1.4em 0 0 0;
|
60 |
text-align: right;
|
61 |
}
|
62 |
+
|
63 |
div.actions-link {
|
64 |
position: absolute;
|
65 |
top: 0;
|
67 |
margin: 0;
|
68 |
padding: 0;
|
69 |
}
|
70 |
+
|
71 |
div.actions-link input {
|
72 |
padding: 0;
|
73 |
margin: 0;
|
76 |
font-size: 11px;
|
77 |
cursor: pointer;
|
78 |
}
|
79 |
+
|
80 |
div.actions-link input.copy {
|
81 |
color: #006505;
|
82 |
}
|
83 |
+
|
84 |
div.actions-link input.delete {
|
85 |
color: #bc0b0b;
|
86 |
}
|
87 |
+
|
88 |
input#wpcf7-title {
|
89 |
color: #555;
|
90 |
background-color: #fff;
|
91 |
border: none;
|
92 |
font: bold 20px serif;
|
93 |
}
|
94 |
+
|
95 |
p.tagcode {
|
96 |
color: #333;
|
97 |
margin: 2ex 0 1ex 1em;
|
98 |
}
|
99 |
+
|
100 |
input#contact-form-anchor-text {
|
101 |
color: #fff;
|
102 |
+
background: #7e4e0b;
|
103 |
border: none;
|
104 |
+
width: 99%;
|
105 |
-moz-border-radius: 6px;
|
106 |
-khtml-border-radius: 6px;
|
107 |
-webkit-border-radius: 6px;
|
108 |
border-radius: 6px;
|
109 |
}
|
110 |
+
|
111 |
span#message-fields-toggle-switch, span#additional-settings-fields-toggle-switch {
|
112 |
margin-left: 1em;
|
113 |
font-weight: normal;
|
115 |
color: #2583ad;
|
116 |
cursor: pointer;
|
117 |
}
|
118 |
+
|
119 |
div.pseudo-hr {
|
120 |
border-bottom: 1px solid #fff;
|
121 |
margin: 0.7em 0;
|
122 |
}
|
123 |
+
|
124 |
input, textarea {
|
125 |
border: 1px solid #dfdfdf;
|
126 |
}
|
127 |
+
|
128 |
input.wide {
|
129 |
width: 100%;
|
130 |
}
|
131 |
+
|
132 |
textarea {
|
133 |
width: 100%;
|
134 |
}
|
135 |
+
|
136 |
label.disabled {
|
137 |
color: #777;
|
138 |
}
|
139 |
+
|
140 |
+
div.message-field {
|
141 |
+
margin: .2em 0 .4em;
|
142 |
+
}
|
143 |
+
|
144 |
div.tag-generator {
|
145 |
position: relative;
|
146 |
background: #fff;
|
147 |
padding: 5px 0 5px 1px;
|
148 |
}
|
149 |
+
|
150 |
div.tg-pane {
|
151 |
border: 1px dashed #999;
|
152 |
background: #f1f1f1;
|
157 |
-webkit-border-radius: 6px;
|
158 |
border-radius: 6px;
|
159 |
}
|
160 |
+
|
161 |
div.tg-pane table {
|
162 |
width: 100%;
|
163 |
margin: 0 0 0.7em 0;
|
164 |
}
|
165 |
+
|
166 |
div.tg-pane table caption {
|
167 |
text-align: left;
|
168 |
padding: 0 0 0.2em 0;
|
169 |
font-weight: bolder;
|
170 |
color: #777;
|
171 |
}
|
172 |
+
|
173 |
div.tg-pane table code {
|
174 |
background-color: inherit;
|
175 |
}
|
176 |
+
|
177 |
div.tg-pane table td {
|
178 |
vertical-align: top;
|
179 |
width: 50%;
|
180 |
+
border: none;
|
181 |
}
|
182 |
+
|
183 |
+
div.tg-pane input.tag, div.tg-pane input.mail-tag {
|
184 |
+
width: 100%;
|
185 |
border: none;
|
186 |
color: #fff;
|
187 |
+
background-color: #7e4e0b;
|
188 |
-moz-border-radius: 6px;
|
189 |
-khtml-border-radius: 6px;
|
190 |
-webkit-border-radius: 6px;
|
191 |
border-radius: 6px;
|
192 |
}
|
193 |
+
|
194 |
+
div.tg-pane input.mail-tag {
|
195 |
+
width: 50%;
|
196 |
+
background-color: #404f03;
|
197 |
+
}
|
198 |
+
|
199 |
+
div.tg-mail-tag {
|
200 |
+
margin-top: 2.4em;
|
201 |
+
text-align: right;
|
202 |
+
}
|
203 |
+
|
204 |
+
div.tg-pane span.arrow {
|
205 |
+
font-family: monospace;
|
206 |
+
font-size: 1.2em;
|
207 |
+
color: #333;
|
208 |
+
}
|
209 |
+
|
210 |
+
div.tg-pane input.tg-name {
|
211 |
+
border-color: #555;
|
212 |
+
}
|
213 |
+
|
214 |
+
div.tg-pane input.oneline {
|
215 |
+
width: 98%;
|
216 |
+
font-size: smaller;
|
217 |
+
}
|
218 |
+
|
219 |
+
div.tg-pane textarea {
|
220 |
+
width: 98%;
|
221 |
+
height: 100px;
|
222 |
+
font-size: smaller;
|
223 |
+
}
|
224 |
+
|
225 |
+
div.tg-pane div.tg-tag {
|
226 |
+
margin: .4em 0;
|
227 |
+
}
|
228 |
+
|
229 |
div.tg-dropdown {
|
230 |
position: absolute;
|
231 |
top: 26px;
|
233 |
z-index: 10;
|
234 |
border: 1px solid #ddd;
|
235 |
}
|
236 |
+
|
237 |
span.tg-closebutton {
|
238 |
color: #777;
|
239 |
font: bold 18px monospace;
|
240 |
padding: 1px 4px;
|
241 |
cursor: pointer;
|
242 |
}
|
243 |
+
|
244 |
div.tg-panetitle {
|
245 |
font: bold 132% sans-serif;
|
246 |
margin: 0 0 10px;
|
247 |
color: #777;
|
248 |
+
}
|
admin/taggenerator.js
ADDED
@@ -0,0 +1,258 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
(function($) {
|
2 |
+
|
3 |
+
$.fn.tagGenerator = function(title, options) {
|
4 |
+
var menu = $('<div class="tag-generator"></div>');
|
5 |
+
|
6 |
+
var selector = $('<span>' + title + '</span>');
|
7 |
+
|
8 |
+
selector.css({
|
9 |
+
border: '1px solid #ddd',
|
10 |
+
padding: '2px 4px',
|
11 |
+
background: '#fff url( ../wp-admin/images/fade-butt.png ) repeat-x 0 0',
|
12 |
+
'-moz-border-radius': '3px',
|
13 |
+
'-khtml-border-radius': '3px',
|
14 |
+
'-webkit-border-radius': '3px',
|
15 |
+
'border-radius': '3px'
|
16 |
+
});
|
17 |
+
|
18 |
+
selector.mouseover(function() {
|
19 |
+
$(this).css({ 'border-color': '#bbb' });
|
20 |
+
});
|
21 |
+
selector.mouseout(function() {
|
22 |
+
$(this).css({ 'border-color': '#ddd' });
|
23 |
+
});
|
24 |
+
selector.mousedown(function() {
|
25 |
+
$(this).css({ background: '#ddd' });
|
26 |
+
});
|
27 |
+
selector.mouseup(function() {
|
28 |
+
$(this).css({
|
29 |
+
background: '#fff url( ../wp-admin/images/fade-butt.png ) repeat-x 0 0'
|
30 |
+
});
|
31 |
+
});
|
32 |
+
selector.click(function() {
|
33 |
+
dropdown.slideDown('fast');
|
34 |
+
return false;
|
35 |
+
});
|
36 |
+
$('body').click(function() {
|
37 |
+
dropdown.hide();
|
38 |
+
});
|
39 |
+
|
40 |
+
if (options.dropdownIconUrl) {
|
41 |
+
var dropdown_icon = $('<img src="' + options.dropdownIconUrl + '" />');
|
42 |
+
dropdown_icon.css({ 'vertical-align': 'bottom' });
|
43 |
+
selector.append(dropdown_icon);
|
44 |
+
}
|
45 |
+
|
46 |
+
menu.append(selector);
|
47 |
+
|
48 |
+
var pane = $('<div class="tg-pane"></div>');
|
49 |
+
pane.hide();
|
50 |
+
menu.append(pane);
|
51 |
+
|
52 |
+
var dropdown = $('<div class="tg-dropdown"></div>');
|
53 |
+
dropdown.hide();
|
54 |
+
menu.append(dropdown);
|
55 |
+
|
56 |
+
$.each($.tgPanes, function(i, n) {
|
57 |
+
var submenu = $('<div>' + $.tgPanes[i].title + '</div>');
|
58 |
+
submenu.css({
|
59 |
+
margin: 0,
|
60 |
+
padding: '0 4px',
|
61 |
+
'line-height': '180%',
|
62 |
+
background: '#fff'
|
63 |
+
});
|
64 |
+
submenu.mouseover(function() {
|
65 |
+
$(this).css({ background: '#d4f2f2' });
|
66 |
+
});
|
67 |
+
submenu.mouseout(function() {
|
68 |
+
$(this).css({ background: '#fff' });
|
69 |
+
});
|
70 |
+
submenu.click(function() {
|
71 |
+
dropdown.hide();
|
72 |
+
pane.hide();
|
73 |
+
pane.empty();
|
74 |
+
$.tgPane(pane, i);
|
75 |
+
pane.slideDown('fast');
|
76 |
+
return false;
|
77 |
+
});
|
78 |
+
dropdown.append(submenu);
|
79 |
+
});
|
80 |
+
|
81 |
+
this.append(menu);
|
82 |
+
};
|
83 |
+
|
84 |
+
$.tgPane = function(pane, tagType) {
|
85 |
+
var closeButtonDiv = $('<div></div>');
|
86 |
+
closeButtonDiv.css({ float: 'right' });
|
87 |
+
|
88 |
+
var closeButton = $('<span class="tg-closebutton">×</span>');
|
89 |
+
closeButton.click(function() {
|
90 |
+
pane.slideUp('fast').empty();
|
91 |
+
});
|
92 |
+
closeButtonDiv.append(closeButton);
|
93 |
+
|
94 |
+
pane.append(closeButtonDiv);
|
95 |
+
|
96 |
+
var paneTitle = $('<div class="tg-panetitle">' + $.tgPanes[tagType].title + '</div>');
|
97 |
+
pane.append(paneTitle);
|
98 |
+
|
99 |
+
pane.append($('#' + $.tgPanes[tagType].content).clone().contents());
|
100 |
+
|
101 |
+
pane.find(':checkbox.exclusive').change(function() {
|
102 |
+
if ($(this).is(':checked'))
|
103 |
+
$(this).siblings(':checkbox.exclusive').removeAttr('checked');
|
104 |
+
});
|
105 |
+
|
106 |
+
if ($.isFunction($.tgPanes[tagType].change))
|
107 |
+
$.tgPanes[tagType].change(pane, tagType);
|
108 |
+
else
|
109 |
+
$.tgCreateTag(pane, tagType);
|
110 |
+
|
111 |
+
pane.find(':input').change(function() {
|
112 |
+
if ($.isFunction($.tgPanes[tagType].change))
|
113 |
+
$.tgPanes[tagType].change(pane, tagType);
|
114 |
+
else
|
115 |
+
$.tgCreateTag(pane, tagType);
|
116 |
+
});
|
117 |
+
}
|
118 |
+
|
119 |
+
$.tgCreateTag = function(pane, tagType) {
|
120 |
+
pane.find(':input').empty();
|
121 |
+
|
122 |
+
pane.find('input[name="name"]').each(function(i) {
|
123 |
+
var val = $(this).val();
|
124 |
+
val = val.replace(/[^0-9a-zA-Z:._-]/g, '').replace(/^[^a-zA-Z]+/, '');
|
125 |
+
if ('' == val) {
|
126 |
+
var rand = Math.floor(Math.random() * 1000);
|
127 |
+
val = tagType + '-' + rand;
|
128 |
+
}
|
129 |
+
$(this).val(val);
|
130 |
+
});
|
131 |
+
|
132 |
+
pane.find(':input.numeric').each(function(i) {
|
133 |
+
var val = $(this).val();
|
134 |
+
val = val.replace(/[^0-9]/g, '');
|
135 |
+
$(this).val(val);
|
136 |
+
});
|
137 |
+
|
138 |
+
pane.find(':input.idvalue').each(function(i) {
|
139 |
+
var val = $(this).val();
|
140 |
+
val = val.replace(/[^-0-9a-zA-Z_]/g, '');
|
141 |
+
$(this).val(val);
|
142 |
+
});
|
143 |
+
|
144 |
+
pane.find(':input.classvalue').each(function(i) {
|
145 |
+
var val = $(this).val();
|
146 |
+
val = $.map(val.split(' '), function(n) {
|
147 |
+
return n.replace(/[^-0-9a-zA-Z_]/g, '');
|
148 |
+
}).join(' ');
|
149 |
+
val = $.trim(val.replace(/\s+/g, ' '));
|
150 |
+
$(this).val(val);
|
151 |
+
});
|
152 |
+
|
153 |
+
pane.find(':input.color').each(function(i) {
|
154 |
+
var val = $(this).val();
|
155 |
+
val = val.replace(/[^0-9a-fA-F]/g, '');
|
156 |
+
$(this).val(val);
|
157 |
+
});
|
158 |
+
|
159 |
+
pane.find(':input.filesize').each(function(i) {
|
160 |
+
var val = $(this).val();
|
161 |
+
val = val.replace(/[^0-9kKmMbB]/g, '');
|
162 |
+
$(this).val(val);
|
163 |
+
});
|
164 |
+
|
165 |
+
pane.find(':input.filetype').each(function(i) {
|
166 |
+
var val = $(this).val();
|
167 |
+
val = val.replace(/[^0-9a-zA-Z.\s]/g, '');
|
168 |
+
$(this).val(val);
|
169 |
+
});
|
170 |
+
|
171 |
+
pane.find(':input[name="values"]').each(function(i) {
|
172 |
+
var val = $(this).val();
|
173 |
+
val = $.trim(val);
|
174 |
+
$(this).val(val);
|
175 |
+
});
|
176 |
+
|
177 |
+
pane.find('input.tag').each(function(i) {
|
178 |
+
var type = $(this).attr('name');
|
179 |
+
|
180 |
+
var scope = pane.find('.scope.' + type);
|
181 |
+
if (! scope.length)
|
182 |
+
scope = pane;
|
183 |
+
|
184 |
+
if (pane.find(':input[name="required"]').is(':checked'))
|
185 |
+
type += '*';
|
186 |
+
|
187 |
+
var name = pane.find(':input[name="name"]').val();
|
188 |
+
|
189 |
+
var options = [];
|
190 |
+
|
191 |
+
var size = scope.find(':input[name="size"]').val();
|
192 |
+
var maxlength = scope.find(':input[name="maxlength"]').val();
|
193 |
+
if (size || maxlength)
|
194 |
+
options.push(size + '/' + maxlength);
|
195 |
+
|
196 |
+
var cols = scope.find(':input[name="cols"]').val();
|
197 |
+
var rows = scope.find(':input[name="rows"]').val();
|
198 |
+
if (cols || rows)
|
199 |
+
options.push(cols + 'x' + rows);
|
200 |
+
|
201 |
+
scope.find('input:text.option').each(function(i) {
|
202 |
+
if (-1 < $.inArray($(this).attr('name'), ['size', 'maxlength', 'cols', 'rows']))
|
203 |
+
return;
|
204 |
+
|
205 |
+
var val = $(this).val();
|
206 |
+
|
207 |
+
if (! val)
|
208 |
+
return;
|
209 |
+
|
210 |
+
if ($(this).hasClass('filetype'))
|
211 |
+
val = val.split(' ').join('|');
|
212 |
+
|
213 |
+
if ($(this).hasClass('color'))
|
214 |
+
val = '#' + val;
|
215 |
+
|
216 |
+
if ('class' == $(this).attr('name')) {
|
217 |
+
$.each(val.split(' '), function(i, n) { options.push('class:' + n) });
|
218 |
+
} else {
|
219 |
+
options.push($(this).attr('name') + ':' + val);
|
220 |
+
}
|
221 |
+
});
|
222 |
+
|
223 |
+
scope.find('input:checkbox.option').each(function(i) {
|
224 |
+
if ($(this).is(':checked'))
|
225 |
+
options.push($(this).attr('name'));
|
226 |
+
});
|
227 |
+
|
228 |
+
options = (options.length > 0) ? ' ' + options.join(' ') : '';
|
229 |
+
|
230 |
+
var value = '';
|
231 |
+
|
232 |
+
if (scope.find(':input[name="values"]').val()) {
|
233 |
+
$.each(scope.find(':input[name="values"]').val().split("\n"), function(i, n) {
|
234 |
+
value += ' "' + n.replace(/["]/g, '"') + '"';
|
235 |
+
});
|
236 |
+
}
|
237 |
+
|
238 |
+
if ($.tgPanes[tagType].nameless)
|
239 |
+
var tag = '[' + type + options + value + ']';
|
240 |
+
else
|
241 |
+
var tag = name ? '[' + type + ' ' + name + options + value + ']' : '';
|
242 |
+
|
243 |
+
$(this).val(tag);
|
244 |
+
});
|
245 |
+
|
246 |
+
pane.find('input.mail-tag').each(function(i) {
|
247 |
+
var name = pane.find(':input[name="name"]').val();
|
248 |
+
|
249 |
+
var tag = name ? '[' + name + ']' : '';
|
250 |
+
|
251 |
+
$(this).val(tag);
|
252 |
+
});
|
253 |
+
|
254 |
+
}
|
255 |
+
|
256 |
+
$.tgPanes = {};
|
257 |
+
|
258 |
+
})(jQuery);
|
admin/wpcf7-admin.js
DELETED
@@ -1,796 +0,0 @@
|
|
1 |
-
jQuery(document).ready(function() {
|
2 |
-
try {
|
3 |
-
jQuery('#tag-generator-div').append(tagGenerator());
|
4 |
-
|
5 |
-
jQuery('input#wpcf7-title:enabled').css({
|
6 |
-
cursor: 'pointer'
|
7 |
-
});
|
8 |
-
|
9 |
-
jQuery('input#wpcf7-title').mouseover(function() {
|
10 |
-
jQuery(this).not('.focus').css({
|
11 |
-
'background-color': '#ffffdd'
|
12 |
-
});
|
13 |
-
});
|
14 |
-
|
15 |
-
jQuery('input#wpcf7-title').mouseout(function() {
|
16 |
-
jQuery(this).css({
|
17 |
-
'background-color': '#fff'
|
18 |
-
});
|
19 |
-
});
|
20 |
-
|
21 |
-
jQuery('input#wpcf7-title').focus(function() {
|
22 |
-
jQuery(this).addClass('focus');
|
23 |
-
jQuery(this).css({
|
24 |
-
cursor: 'text',
|
25 |
-
color: '#333',
|
26 |
-
border: '1px solid #777',
|
27 |
-
font: 'normal 13px Verdana, Arial, Helvetica, sans-serif',
|
28 |
-
'background-color': '#fff'
|
29 |
-
});
|
30 |
-
});
|
31 |
-
|
32 |
-
jQuery('input#wpcf7-title').blur(function() {
|
33 |
-
jQuery(this).removeClass('focus');
|
34 |
-
jQuery(this).css({
|
35 |
-
cursor: 'pointer',
|
36 |
-
color: '#555',
|
37 |
-
border: 'none',
|
38 |
-
font: 'bold 20px serif',
|
39 |
-
'background-color': '#fff'
|
40 |
-
});
|
41 |
-
});
|
42 |
-
|
43 |
-
jQuery('input#wpcf7-title').change(function() {
|
44 |
-
updateTag();
|
45 |
-
});
|
46 |
-
|
47 |
-
updateTag();
|
48 |
-
|
49 |
-
if (! jQuery('#wpcf7-mail-2-active').is(':checked'))
|
50 |
-
jQuery('#mail-2-fields').hide();
|
51 |
-
|
52 |
-
jQuery('#wpcf7-mail-2-active').click(function() {
|
53 |
-
if (jQuery('#wpcf7-mail-2-active').is(':checked')) {
|
54 |
-
if (jQuery('#mail-2-fields').is(':hidden'))
|
55 |
-
jQuery('#mail-2-fields').slideDown('fast');
|
56 |
-
} else {
|
57 |
-
if (jQuery('#mail-2-fields').is(':visible'))
|
58 |
-
jQuery('#mail-2-fields').hide('fast');
|
59 |
-
}
|
60 |
-
});
|
61 |
-
|
62 |
-
jQuery('#message-fields-toggle-switch').text(_wpcf7L10n.show);
|
63 |
-
jQuery('#message-fields').hide();
|
64 |
-
|
65 |
-
jQuery('#message-fields-toggle-switch').click(function() {
|
66 |
-
if (jQuery('#message-fields').is(':hidden')) {
|
67 |
-
jQuery('#message-fields').slideDown('fast');
|
68 |
-
jQuery('#message-fields-toggle-switch').text(_wpcf7L10n.hide);
|
69 |
-
} else {
|
70 |
-
jQuery('#message-fields').hide('fast');
|
71 |
-
jQuery('#message-fields-toggle-switch').text(_wpcf7L10n.show);
|
72 |
-
}
|
73 |
-
});
|
74 |
-
|
75 |
-
if ('' == jQuery.trim(jQuery('#wpcf7-additional-settings').text())) {
|
76 |
-
jQuery('#additional-settings-fields-toggle-switch').text(_wpcf7L10n.show);
|
77 |
-
jQuery('#additional-settings-fields').hide();
|
78 |
-
} else {
|
79 |
-
jQuery('#additional-settings-fields-toggle-switch').text(_wpcf7L10n.hide);
|
80 |
-
jQuery('#additional-settings-fields').show();
|
81 |
-
}
|
82 |
-
|
83 |
-
jQuery('#additional-settings-fields-toggle-switch').click(function() {
|
84 |
-
if (jQuery('#additional-settings-fields').is(':hidden')) {
|
85 |
-
jQuery('#additional-settings-fields').slideDown('fast');
|
86 |
-
jQuery('#additional-settings-fields-toggle-switch').text(_wpcf7L10n.hide);
|
87 |
-
} else {
|
88 |
-
jQuery('#additional-settings-fields').hide('fast');
|
89 |
-
jQuery('#additional-settings-fields-toggle-switch').text(_wpcf7L10n.show);
|
90 |
-
}
|
91 |
-
});
|
92 |
-
|
93 |
-
} catch (e) {
|
94 |
-
}
|
95 |
-
});
|
96 |
-
|
97 |
-
function updateTag() {
|
98 |
-
var title = jQuery('input#wpcf7-title').val();
|
99 |
-
if (title)
|
100 |
-
title = title.replace(/["'\[\]]/g, '');
|
101 |
-
jQuery('input#wpcf7-title').val(title);
|
102 |
-
var current = jQuery('input#wpcf7-id').val();
|
103 |
-
var tag = '[contact-form ' + current + ' "' + title + '"]';
|
104 |
-
jQuery('input#contact-form-anchor-text').val(tag);
|
105 |
-
}
|
106 |
-
|
107 |
-
function tagGenerator() {
|
108 |
-
var menu = jQuery('<div class="tag-generator"></div>');
|
109 |
-
|
110 |
-
var dropdown_icon = jQuery('<img src="' + _wpcf7.pluginUrl + '/images/dropdown.gif" />');
|
111 |
-
dropdown_icon.css({ 'vertical-align': 'bottom' });
|
112 |
-
|
113 |
-
var selector = jQuery('<span>' + _wpcf7L10n.generateTag + '</span>');
|
114 |
-
selector.append(dropdown_icon);
|
115 |
-
selector.css({
|
116 |
-
border: '1px solid #ddd',
|
117 |
-
padding: '2px 4px',
|
118 |
-
background: '#fff url( ../wp-admin/images/fade-butt.png ) repeat-x 0 0',
|
119 |
-
'-moz-border-radius': '3px',
|
120 |
-
'-khtml-border-radius': '3px',
|
121 |
-
'-webkit-border-radius': '3px',
|
122 |
-
'border-radius': '3px'
|
123 |
-
});
|
124 |
-
selector.mouseover(function() {
|
125 |
-
jQuery(this).css({ 'border-color': '#bbb' });
|
126 |
-
});
|
127 |
-
selector.mouseout(function() {
|
128 |
-
jQuery(this).css({ 'border-color': '#ddd' });
|
129 |
-
});
|
130 |
-
selector.mousedown(function() {
|
131 |
-
jQuery(this).css({ background: '#ddd' });
|
132 |
-
});
|
133 |
-
selector.mouseup(function() {
|
134 |
-
jQuery(this).css({ background: '#fff url( ../wp-admin/images/fade-butt.png ) repeat-x 0 0' });
|
135 |
-
});
|
136 |
-
selector.click(function() {
|
137 |
-
dropdown.slideDown('fast');
|
138 |
-
return false;
|
139 |
-
});
|
140 |
-
jQuery('body').click(function() {
|
141 |
-
dropdown.hide();
|
142 |
-
});
|
143 |
-
menu.append(selector);
|
144 |
-
|
145 |
-
var pane = jQuery('<div class="tg-pane"></div>');
|
146 |
-
pane.hide();
|
147 |
-
menu.append(pane);
|
148 |
-
|
149 |
-
var dropdown = jQuery('<div class="tg-dropdown"></div>');
|
150 |
-
dropdown.hide();
|
151 |
-
|
152 |
-
var tag_types = [
|
153 |
-
'textField', 'emailField', 'textArea', 'menu', 'checkboxes', 'radioButtons',
|
154 |
-
'acceptance', 'quiz', 'captcha', 'fileUpload', 'submit'];
|
155 |
-
|
156 |
-
jQuery.each(tag_types, function(i, n) {
|
157 |
-
var submenu = jQuery('<div>' + _wpcf7L10n[n] + '</div>');
|
158 |
-
submenu.css({
|
159 |
-
margin: 0,
|
160 |
-
padding: '0 4px',
|
161 |
-
'line-height': '180%',
|
162 |
-
background: '#fff'
|
163 |
-
});
|
164 |
-
submenu.mouseover(function() {
|
165 |
-
jQuery(this).css({ background: '#d4f2f2' });
|
166 |
-
});
|
167 |
-
submenu.mouseout(function() {
|
168 |
-
jQuery(this).css({ background: '#fff' });
|
169 |
-
});
|
170 |
-
submenu.click(function() {
|
171 |
-
dropdown.hide();
|
172 |
-
pane.hide();
|
173 |
-
pane.empty();
|
174 |
-
tgPane(pane, n);
|
175 |
-
pane.slideDown('fast');
|
176 |
-
return false;
|
177 |
-
});
|
178 |
-
dropdown.append(submenu);
|
179 |
-
});
|
180 |
-
|
181 |
-
menu.append(dropdown);
|
182 |
-
|
183 |
-
return menu;
|
184 |
-
}
|
185 |
-
|
186 |
-
function tgPane(pane, tagType) {
|
187 |
-
var closeButtonDiv = jQuery('<div></div>');
|
188 |
-
closeButtonDiv.css({ float: 'right' });
|
189 |
-
var closeButton = jQuery('<span class="tg-closebutton">×</span>');
|
190 |
-
closeButton.click(function() {
|
191 |
-
pane.slideUp('fast').empty();
|
192 |
-
});
|
193 |
-
closeButtonDiv.append(closeButton);
|
194 |
-
pane.append(closeButtonDiv);
|
195 |
-
|
196 |
-
var paneTitle = jQuery('<div class="tg-panetitle">' + _wpcf7L10n[tagType] + '</div>');
|
197 |
-
pane.append(paneTitle);
|
198 |
-
|
199 |
-
var tgInputs = {};
|
200 |
-
jQuery.each([ 'tagName', 'tagId', 'tagClasses', 'tagId2', 'tagClasses2', 'defaultValue',
|
201 |
-
'tagSize', 'tagMaxLength', 'tagFileSizeLimit', 'tagAcceptableFileTypes', 'tagCols', 'tagRows', 'label', 'fgColor', 'bgColor' ], function(i, n) {
|
202 |
-
tgInputs[n] = jQuery('<input type="text" />');
|
203 |
-
tgInputs[n].css({ width: '98%', 'font-size': 'smaller' });
|
204 |
-
tgInputs[n].change(function() {
|
205 |
-
tgCreateTag(tagType, tgInputs, n);
|
206 |
-
});
|
207 |
-
});
|
208 |
-
tgInputs.tagName.css({ 'border-color': '#555' });
|
209 |
-
jQuery.each([ 'isRequiredField', 'allowsMultipleSelections', 'insertFirstBlankOption', 'makeCheckboxesExclusive',
|
210 |
-
'isAcceptanceDefaultOn', 'isAcceptanceInvert',
|
211 |
-
'akismetAuthor', 'akismetAuthorEmail', 'akismetAuthorUrl',
|
212 |
-
'imageSizeSmall', 'imageSizeMedium', 'imageSizeLarge' ], function(i, n) {
|
213 |
-
tgInputs[n] = jQuery('<input type="checkbox" />');
|
214 |
-
tgInputs[n].change(function() {
|
215 |
-
tgCreateTag(tagType, tgInputs, n);
|
216 |
-
});
|
217 |
-
});
|
218 |
-
jQuery.each([ 'menuChoices' ], function(i, n) {
|
219 |
-
tgInputs[n] = jQuery('<textarea></textarea>');
|
220 |
-
tgInputs[n].css({ width: '98%', height: '100px', 'font-size': 'smaller' });
|
221 |
-
tgInputs[n].change(function() {
|
222 |
-
tgCreateTag(tagType, tgInputs, n);
|
223 |
-
});
|
224 |
-
});
|
225 |
-
jQuery.each([ 'tag1st', 'tag2nd' ], function(i, n) {
|
226 |
-
tgInputs[n] = jQuery('<input type="text" class="tag" readonly="readonly" onfocus="this.select()" />');
|
227 |
-
tgInputs[n].css({ width: '98%' });
|
228 |
-
});
|
229 |
-
|
230 |
-
switch (tagType) {
|
231 |
-
case 'textField':
|
232 |
-
case 'emailField':
|
233 |
-
var table1 = jQuery('<table></table>');
|
234 |
-
pane.append(table1);
|
235 |
-
table1.append(tgTr(
|
236 |
-
jQuery('<span> ' + _wpcf7L10n.isRequiredField + '</span>').prepend(tgInputs.isRequiredField)
|
237 |
-
));
|
238 |
-
table1.append(tgTr(
|
239 |
-
jQuery('<span>' + _wpcf7L10n.tagName + '<br /></span>').append(tgInputs.tagName),
|
240 |
-
jQuery('<span></span>')
|
241 |
-
));
|
242 |
-
|
243 |
-
var table2 = jQuery('<table></table>');
|
244 |
-
pane.append(table2);
|
245 |
-
table2.append(tgTr(
|
246 |
-
jQuery('<span><code>size</code> (' + _wpcf7L10n.optional + ')<br /></span>').append(tgInputs.tagSize),
|
247 |
-
jQuery('<span><code>maxlength</code> (' + _wpcf7L10n.optional + ')<br /></span>').append(tgInputs.tagMaxLength)
|
248 |
-
));
|
249 |
-
table2.append(tgTr(
|
250 |
-
jQuery('<span><code>id</code> (' + _wpcf7L10n.optional + ')<br /></span>').append(tgInputs.tagId),
|
251 |
-
jQuery('<span><code>class</code> (' + _wpcf7L10n.optional + ')<br /></span>').append(tgInputs.tagClasses)
|
252 |
-
));
|
253 |
-
var akismetOpts = jQuery('<span>' + _wpcf7L10n.akismet + ' (' + _wpcf7L10n.optional + ')<br /></span>');
|
254 |
-
if ('textField' == tagType) {
|
255 |
-
akismetOpts.append(tgInputs.akismetAuthor).append(' ' + _wpcf7L10n.akismetAuthor);
|
256 |
-
akismetOpts.append('<br />');
|
257 |
-
akismetOpts.append(tgInputs.akismetAuthorUrl).append(' ' + _wpcf7L10n.akismetAuthorUrl);
|
258 |
-
} else if ('emailField' == tagType) {
|
259 |
-
akismetOpts.append(tgInputs.akismetAuthorEmail).append(' ' + _wpcf7L10n.akismetAuthorEmail);
|
260 |
-
}
|
261 |
-
table2.append(tgTr(
|
262 |
-
akismetOpts,
|
263 |
-
jQuery('<span>' + _wpcf7L10n.defaultValue + ' (' + _wpcf7L10n.optional + ')<br /></span>').append(tgInputs.defaultValue)
|
264 |
-
));
|
265 |
-
pane.append(jQuery('<div class="tg-tag">' + _wpcf7L10n.generatedTag + '<br /></div>').append(tgInputs.tag1st));
|
266 |
-
break;
|
267 |
-
case 'textArea':
|
268 |
-
var table1 = jQuery('<table></table>');
|
269 |
-
pane.append(table1);
|
270 |
-
table1.append(tgTr(
|
271 |
-
jQuery('<span> ' + _wpcf7L10n.isRequiredField + '</span>').prepend(tgInputs.isRequiredField)
|
272 |
-
));
|
273 |
-
table1.append(tgTr(
|
274 |
-
jQuery('<span>' + _wpcf7L10n.tagName + '<br /></span>').append(tgInputs.tagName),
|
275 |
-
jQuery('<span></span>')
|
276 |
-
));
|
277 |
-
|
278 |
-
var table2 = jQuery('<table></table>');
|
279 |
-
pane.append(table2);
|
280 |
-
table2.append(tgTr(
|
281 |
-
jQuery('<span><code>cols</code> (' + _wpcf7L10n.optional + ')<br /></span>').append(tgInputs.tagCols),
|
282 |
-
jQuery('<span><code>rows</code> (' + _wpcf7L10n.optional + ')<br /></span>').append(tgInputs.tagRows)
|
283 |
-
));
|
284 |
-
table2.append(tgTr(
|
285 |
-
jQuery('<span><code>id</code> (' + _wpcf7L10n.optional + ')<br /></span>').append(tgInputs.tagId),
|
286 |
-
jQuery('<span><code>class</code> (' + _wpcf7L10n.optional + ')<br /></span>').append(tgInputs.tagClasses)
|
287 |
-
));
|
288 |
-
table2.append(tgTr(
|
289 |
-
jQuery('<span>' + _wpcf7L10n.defaultValue + ' (' + _wpcf7L10n.optional + ')<br /></span>').append(tgInputs.defaultValue)
|
290 |
-
));
|
291 |
-
pane.append(jQuery('<div class="tg-tag">' + _wpcf7L10n.generatedTag + '<br /></div>').append(tgInputs.tag1st));
|
292 |
-
break;
|
293 |
-
case 'menu':
|
294 |
-
case 'checkboxes':
|
295 |
-
case 'radioButtons':
|
296 |
-
var table1 = jQuery('<table></table>');
|
297 |
-
pane.append(table1);
|
298 |
-
if ('radioButtons' != tagType)
|
299 |
-
table1.append(tgTr(
|
300 |
-
jQuery('<span> ' + _wpcf7L10n.isRequiredField + '</span>').prepend(tgInputs.isRequiredField)
|
301 |
-
));
|
302 |
-
table1.append(tgTr(
|
303 |
-
jQuery('<span>' + _wpcf7L10n.tagName + '<br /></span>').append(tgInputs.tagName),
|
304 |
-
jQuery('<span></span>')
|
305 |
-
));
|
306 |
-
|
307 |
-
var table2 = jQuery('<table></table>');
|
308 |
-
pane.append(table2);
|
309 |
-
table2.append(tgTr(
|
310 |
-
jQuery('<span><code>id</code> (' + _wpcf7L10n.optional + ')<br /></span>').append(tgInputs.tagId),
|
311 |
-
jQuery('<span><code>class</code> (' + _wpcf7L10n.optional + ')<br /></span>').append(tgInputs.tagClasses)
|
312 |
-
));
|
313 |
-
|
314 |
-
if ('menu' == tagType) {
|
315 |
-
var menuOpt1 = jQuery('<span> ' + _wpcf7L10n.allowsMultipleSelections + '</span>').prepend(tgInputs.allowsMultipleSelections).prepend('<br />');
|
316 |
-
var menuOpt2 = jQuery('<span> ' + _wpcf7L10n.insertFirstBlankOption + '</span>').prepend(tgInputs.insertFirstBlankOption).prepend('<br />');
|
317 |
-
|
318 |
-
table2.append(tgTr(
|
319 |
-
jQuery('<span>' + _wpcf7L10n.menuChoices + '<br /></span>').append(tgInputs.menuChoices)
|
320 |
-
.append('<br /><span style="font-size: smaller">' + _wpcf7L10n.oneChoicePerLine + '</span>'),
|
321 |
-
menuOpt1.append(menuOpt2)
|
322 |
-
));
|
323 |
-
} else if ('checkboxes' == tagType) {
|
324 |
-
table2.append(tgTr(
|
325 |
-
jQuery('<span>' + _wpcf7L10n.menuChoices + '<br /></span>').append(tgInputs.menuChoices)
|
326 |
-
.append('<br /><span style="font-size: smaller">' + _wpcf7L10n.oneChoicePerLine + '</span>'),
|
327 |
-
jQuery('<span> ' + _wpcf7L10n.makeCheckboxesExclusive + '</span>').prepend(tgInputs.makeCheckboxesExclusive).prepend('<br />')
|
328 |
-
));
|
329 |
-
} else {
|
330 |
-
table2.append(tgTr(
|
331 |
-
jQuery('<span>' + _wpcf7L10n.menuChoices + '<br /></span>').append(tgInputs.menuChoices)
|
332 |
-
.append('<br /><span style="font-size: smaller">' + _wpcf7L10n.oneChoicePerLine + '</span>')
|
333 |
-
));
|
334 |
-
}
|
335 |
-
|
336 |
-
pane.append(jQuery('<div class="tg-tag">' + _wpcf7L10n.generatedTag + '<br /></div>').append(tgInputs.tag1st));
|
337 |
-
break;
|
338 |
-
case 'acceptance':
|
339 |
-
var table1 = jQuery('<table></table>');
|
340 |