PluginProbe ʕ •ᴥ•ʔ
Contact Form 7 / 1.9.2.1
Contact Form 7 v1.9.2.1
6.1.6 5.0.2 5.0.3 5.0.4 5.0.5 5.1 5.1.1 5.1.2 5.1.3 5.1.4 5.1.5 5.1.6 5.1.7 5.1.8 5.1.9 5.2 5.2.1 5.2.2 5.3 5.3.1 5.3.2 5.4 5.4.1 5.4.2 5.5 5.5.1 5.5.2 5.5.3 5.5.4 5.5.5 5.5.6 5.5.6.1 5.6 5.6.1 5.6.2 5.6.3 5.6.4 5.7 5.7.1 5.7.2 5.7.3 5.7.4 5.7.5 5.7.5.1 5.7.6 5.7.7 5.8 5.8.1 5.8.2 5.8.3 5.8.4 5.8.5 5.8.6 5.8.7 5.9 5.9.2 5.9.3 5.9.4 5.9.5 5.9.6 5.9.7 5.9.8 6.0 6.0.1 6.0.2 6.0.3 6.0.4 6.0.5 6.0.6 6.1 6.1.1 6.1.2 6.1.3 6.1.4 6.1.5 trunk 1.1 1.10 1.10.0.1 1.10.1 1.2 1.3 1.3.1 1.3.2 1.4 1.4.1 1.4.2 1.4.3 1.4.4 1.5 1.6 1.6.1 1.7 1.7.1 1.7.2 1.7.4 1.7.5 1.7.6 1.7.6.1 1.7.7 1.7.7.1 1.7.8 1.8 1.8.0.1 1.8.0.2 1.8.0.3 1.8.0.4 1.8.1 1.8.1.1 1.9 1.9.1 1.9.2 1.9.2.1 1.9.2.2 1.9.3 1.9.4 1.9.5 1.9.5.1 2.0 2.0-beta 2.0.1 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.1 2.1.1 2.1.2 2.2 2.2.1 2.3 2.3.1 2.4 2.4.1 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6 3.0 3.0-beta 3.0.1 3.0.2 3.0.2.1 3.1 3.1.1 3.1.2 3.2 3.2.1 3.3 3.3.1 3.3.2 3.3.3 3.4 3.4.1 3.4.2 3.5 3.5.1 3.5.2 3.5.3 3.5.4 3.6 3.7 3.7.1 3.7.2 3.8 3.8.1 3.9 3.9-beta 3.9.1 3.9.2 3.9.3 4.0 4.0.1 4.0.2 4.0.3 4.1 4.1-beta 4.1.1 4.1.2 4.2 4.2-beta 4.2.1 4.2.2 4.3 4.3.1 4.4 4.4.1 4.4.2 4.5 4.5.1 4.6 4.6.1 4.7 4.8 4.8.1 4.9 4.9.1 4.9.2 5.0 5.0.1
contact-form-7 / wpcf7-admin.js
contact-form-7 Last commit date
captcha 17 years ago images 18 years ago includes 17 years ago languages 17 years ago README.txt 17 years ago admin-stylesheet-rtl.css 17 years ago admin-stylesheet.css 17 years ago contact-form-7.js 17 years ago screenshot-1.png 17 years ago stylesheet-rtl.css 17 years ago stylesheet.css 18 years ago wp-contact-form-7.php 17 years ago wpcf7-admin.js 17 years ago
wpcf7-admin.js
777 lines
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(_wpcf7.l10n.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(_wpcf7.l10n.hide);
69 } else {
70 jQuery('#message-fields').hide('fast');
71 jQuery('#message-fields-toggle-switch').text(_wpcf7.l10n.show);
72 }
73 });
74
75 jQuery('.delete-link input').mouseover(function() {
76 jQuery(this).css({
77 color: '#fff',
78 'background-color': '#ff0000'
79 });
80 });
81
82 jQuery('.delete-link input').mouseout(function() {
83 jQuery(this).css({
84 color: '#ff0000',
85 'background-color': '#fff'
86 });
87 });
88 } catch (e) {
89 }
90 });
91
92 function updateTag() {
93 var title = jQuery('input#wpcf7-title').val();
94 if (title)
95 title = title.replace(/["'\[\]]/g, '');
96 jQuery('input#wpcf7-title').val(title);
97 var current = jQuery('input#wpcf7-id').val();
98 var tag = '[contact-form ' + current + ' "' + title + '"]';
99 jQuery('input#contact-form-anchor-text').val(tag);
100 }
101
102 function tagGenerator() {
103 var menu = jQuery('<div class="tag-generator"></div>');
104
105 var dropdown_icon = jQuery('<img src="../wp-content/plugins/contact-form-7/images/dropdown.gif" />');
106 dropdown_icon.css({ 'vertical-align': 'bottom' });
107
108 var selector = jQuery('<span>' + _wpcf7.l10n.generateTag + '</span>');
109 selector.append(dropdown_icon);
110 selector.css({
111 border: '1px solid #ddd',
112 padding: '2px 4px',
113 background: '#fff url( ../wp-admin/images/fade-butt.png ) repeat-x 0 0',
114 '-moz-border-radius': '3px',
115 '-khtml-border-radius': '3px',
116 '-webkit-border-radius': '3px',
117 'border-radius': '3px'
118 });
119 selector.mouseover(function() {
120 jQuery(this).css({ 'border-color': '#bbb' });
121 });
122 selector.mouseout(function() {
123 jQuery(this).css({ 'border-color': '#ddd' });
124 });
125 selector.mousedown(function() {
126 jQuery(this).css({ background: '#ddd' });
127 });
128 selector.mouseup(function() {
129 jQuery(this).css({ background: '#fff url( ../wp-admin/images/fade-butt.png ) repeat-x 0 0' });
130 });
131 selector.click(function() {
132 dropdown.slideDown('fast');
133 return false;
134 });
135 jQuery('body').click(function() {
136 dropdown.hide();
137 });
138 menu.append(selector);
139
140 var pane = jQuery('<div class="tg-pane"></div>');
141 pane.hide();
142 menu.append(pane);
143
144 var dropdown = jQuery('<div class="tg-dropdown"></div>');
145 dropdown.hide();
146
147 var tag_types = [
148 'textField', 'emailField', 'textArea', 'menu', 'checkboxes', 'radioButtons',
149 'acceptance', 'quiz', 'captcha', 'fileUpload', 'submit'];
150
151 jQuery.each(tag_types, function(i, n) {
152 var submenu = jQuery('<div>' + _wpcf7.l10n[n] + '</div>');
153 submenu.css({
154 margin: 0,
155 padding: '0 4px',
156 'line-height': '180%',
157 background: '#fff'
158 });
159 submenu.mouseover(function() {
160 jQuery(this).css({ background: '#d4f2f2' });
161 });
162 submenu.mouseout(function() {
163 jQuery(this).css({ background: '#fff' });
164 });
165 submenu.click(function() {
166 dropdown.hide();
167 pane.hide();
168 pane.empty();
169 tgPane(pane, n);
170 pane.slideDown('fast');
171 return false;
172 });
173 dropdown.append(submenu);
174 });
175
176 menu.append(dropdown);
177
178 return menu;
179 }
180
181 function tgPane(pane, tagType) {
182 var closeButtonDiv = jQuery('<div></div>');
183 closeButtonDiv.css({ float: 'right' });
184 var closeButton = jQuery('<span class="tg-closebutton">&#215;</span>');
185 closeButton.click(function() {
186 pane.slideUp('fast').empty();
187 });
188 closeButtonDiv.append(closeButton);
189 pane.append(closeButtonDiv);
190
191 var paneTitle = jQuery('<div class="tg-panetitle">' + _wpcf7.l10n[tagType] + '</div>');
192 pane.append(paneTitle);
193
194 var tgInputs = {};
195 jQuery.each([ 'tagName', 'tagId', 'tagClasses', 'tagId2', 'tagClasses2', 'defaultValue',
196 'tagSize', 'tagMaxLength', 'tagFileSizeLimit', 'tagAcceptableFileTypes', 'tagCols', 'tagRows', 'label', 'fgColor', 'bgColor' ], function(i, n) {
197 tgInputs[n] = jQuery('<input type="text" />');
198 tgInputs[n].css({ width: '98%', 'font-size': 'smaller' });
199 tgInputs[n].change(function() {
200 tgCreateTag(tagType, tgInputs, n);
201 });
202 });
203 tgInputs.tagName.css({ 'border-color': '#555' });
204 jQuery.each([ 'isRequiredField', 'allowsMultipleSelections', 'insertFirstBlankOption', 'makeCheckboxesExclusive',
205 'isAcceptanceDefaultOn', 'isAcceptanceInvert',
206 'akismetAuthor', 'akismetAuthorEmail', 'akismetAuthorUrl',
207 'imageSizeSmall', 'imageSizeMedium', 'imageSizeLarge' ], function(i, n) {
208 tgInputs[n] = jQuery('<input type="checkbox" />');
209 tgInputs[n].change(function() {
210 tgCreateTag(tagType, tgInputs, n);
211 });
212 });
213 jQuery.each([ 'menuChoices' ], function(i, n) {
214 tgInputs[n] = jQuery('<textarea></textarea>');
215 tgInputs[n].css({ width: '98%', height: '100px', 'font-size': 'smaller' });
216 tgInputs[n].change(function() {
217 tgCreateTag(tagType, tgInputs, n);
218 });
219 });
220 jQuery.each([ 'tag1st', 'tag2nd' ], function(i, n) {
221 tgInputs[n] = jQuery('<input type="text" class="tag" readonly="readonly" onfocus="this.select()" />');
222 tgInputs[n].css({ width: '98%' });
223 });
224
225 switch (tagType) {
226 case 'textField':
227 case 'emailField':
228 var table1 = jQuery('<table></table>');
229 pane.append(table1);
230 table1.append(tgTr(
231 jQuery('<span>&nbsp;' + _wpcf7.l10n.isRequiredField + '</span>').prepend(tgInputs.isRequiredField)
232 ));
233 table1.append(tgTr(
234 jQuery('<span>' + _wpcf7.l10n.tagName + '<br /></span>').append(tgInputs.tagName),
235 jQuery('<span></span>')
236 ));
237
238 var table2 = jQuery('<table></table>');
239 pane.append(table2);
240 table2.append(tgTr(
241 jQuery('<span><code>size</code> (' + _wpcf7.l10n.optional + ')<br /></span>').append(tgInputs.tagSize),
242 jQuery('<span><code>maxlength</code> (' + _wpcf7.l10n.optional + ')<br /></span>').append(tgInputs.tagMaxLength)
243 ));
244 table2.append(tgTr(
245 jQuery('<span><code>id</code> (' + _wpcf7.l10n.optional + ')<br /></span>').append(tgInputs.tagId),
246 jQuery('<span><code>class</code> (' + _wpcf7.l10n.optional + ')<br /></span>').append(tgInputs.tagClasses)
247 ));
248 var akismetOpts = jQuery('<span>' + _wpcf7.l10n.akismet + ' (' + _wpcf7.l10n.optional + ')<br /></span>');
249 if ('textField' == tagType) {
250 akismetOpts.append(tgInputs.akismetAuthor).append('&nbsp;' + _wpcf7.l10n.akismetAuthor);
251 akismetOpts.append('<br />');
252 akismetOpts.append(tgInputs.akismetAuthorUrl).append('&nbsp;' + _wpcf7.l10n.akismetAuthorUrl);
253 } else if ('emailField' == tagType) {
254 akismetOpts.append(tgInputs.akismetAuthorEmail).append('&nbsp;' + _wpcf7.l10n.akismetAuthorEmail);
255 }
256 table2.append(tgTr(
257 akismetOpts,
258 jQuery('<span>' + _wpcf7.l10n.defaultValue + ' (' + _wpcf7.l10n.optional + ')<br /></span>').append(tgInputs.defaultValue)
259 ));
260 pane.append(jQuery('<div class="tg-tag">' + _wpcf7.l10n.generatedTag + '<br /></div>').append(tgInputs.tag1st));
261 break;
262 case 'textArea':
263 var table1 = jQuery('<table></table>');
264 pane.append(table1);
265 table1.append(tgTr(
266 jQuery('<span>&nbsp;' + _wpcf7.l10n.isRequiredField + '</span>').prepend(tgInputs.isRequiredField)
267 ));
268 table1.append(tgTr(
269 jQuery('<span>' + _wpcf7.l10n.tagName + '<br /></span>').append(tgInputs.tagName),
270 jQuery('<span></span>')
271 ));
272
273 var table2 = jQuery('<table></table>');
274 pane.append(table2);
275 table2.append(tgTr(
276 jQuery('<span><code>cols</code> (' + _wpcf7.l10n.optional + ')<br /></span>').append(tgInputs.tagCols),
277 jQuery('<span><code>rows</code> (' + _wpcf7.l10n.optional + ')<br /></span>').append(tgInputs.tagRows)
278 ));
279 table2.append(tgTr(
280 jQuery('<span><code>id</code> (' + _wpcf7.l10n.optional + ')<br /></span>').append(tgInputs.tagId),
281 jQuery('<span><code>class</code> (' + _wpcf7.l10n.optional + ')<br /></span>').append(tgInputs.tagClasses)
282 ));
283 table2.append(tgTr(
284 jQuery('<span>' + _wpcf7.l10n.defaultValue + ' (' + _wpcf7.l10n.optional + ')<br /></span>').append(tgInputs.defaultValue)
285 ));
286 pane.append(jQuery('<div class="tg-tag">' + _wpcf7.l10n.generatedTag + '<br /></div>').append(tgInputs.tag1st));
287 break;
288 case 'menu':
289 case 'checkboxes':
290 case 'radioButtons':
291 var table1 = jQuery('<table></table>');
292 pane.append(table1);
293 if ('radioButtons' != tagType)
294 table1.append(tgTr(
295 jQuery('<span>&nbsp;' + _wpcf7.l10n.isRequiredField + '</span>').prepend(tgInputs.isRequiredField)
296 ));
297 table1.append(tgTr(
298 jQuery('<span>' + _wpcf7.l10n.tagName + '<br /></span>').append(tgInputs.tagName),
299 jQuery('<span></span>')
300 ));
301
302 var table2 = jQuery('<table></table>');
303 pane.append(table2);
304 table2.append(tgTr(
305 jQuery('<span><code>id</code> (' + _wpcf7.l10n.optional + ')<br /></span>').append(tgInputs.tagId),
306 jQuery('<span><code>class</code> (' + _wpcf7.l10n.optional + ')<br /></span>').append(tgInputs.tagClasses)
307 ));
308
309 if ('menu' == tagType) {
310 var menuOpt1 = jQuery('<span>&nbsp;' + _wpcf7.l10n.allowsMultipleSelections + '</span>').prepend(tgInputs.allowsMultipleSelections).prepend('<br />');
311 var menuOpt2 = jQuery('<span>&nbsp;' + _wpcf7.l10n.insertFirstBlankOption + '</span>').prepend(tgInputs.insertFirstBlankOption).prepend('<br />');
312
313 table2.append(tgTr(
314 jQuery('<span>' + _wpcf7.l10n.menuChoices + '<br /></span>').append(tgInputs.menuChoices)
315 .append('<br /><span style="font-size: smaller">' + _wpcf7.l10n.oneChoicePerLine + '</span>'),
316 menuOpt1.append(menuOpt2)
317 ));
318 } else if ('checkboxes' == tagType) {
319 table2.append(tgTr(
320 jQuery('<span>' + _wpcf7.l10n.menuChoices + '<br /></span>').append(tgInputs.menuChoices)
321 .append('<br /><span style="font-size: smaller">' + _wpcf7.l10n.oneChoicePerLine + '</span>'),
322 jQuery('<span>&nbsp;' + _wpcf7.l10n.makeCheckboxesExclusive + '</span>').prepend(tgInputs.makeCheckboxesExclusive).prepend('<br />')
323 ));
324 } else {
325 table2.append(tgTr(
326 jQuery('<span>' + _wpcf7.l10n.menuChoices + '<br /></span>').append(tgInputs.menuChoices)
327 .append('<br /><span style="font-size: smaller">' + _wpcf7.l10n.oneChoicePerLine + '</span>')
328 ));
329 }
330
331 pane.append(jQuery('<div class="tg-tag">' + _wpcf7.l10n.generatedTag + '<br /></div>').append(tgInputs.tag1st));
332 break;
333 case 'acceptance':
334 var table1 = jQuery('<table></table>');
335 pane.append(table1);
336
337 table1.append(tgTr(
338 jQuery('<span>' + _wpcf7.l10n.tagName + '<br /></span>').append(tgInputs.tagName),
339 jQuery('<span></span>')
340 ));
341
342 var table2 = jQuery('<table></table>');
343 pane.append(table2);
344 table2.append(tgTr(
345 jQuery('<span><code>id</code> (' + _wpcf7.l10n.optional + ')<br /></span>').append(tgInputs.tagId),
346 jQuery('<span><code>class</code> (' + _wpcf7.l10n.optional + ')<br /></span>').append(tgInputs.tagClasses)
347 ));
348
349 var menuOpt1 = jQuery('<span>&nbsp;' + _wpcf7.l10n.isAcceptanceDefaultOn + '</span>').prepend(tgInputs.isAcceptanceDefaultOn).prepend('<br />');
350 var menuOpt2 = jQuery('<span>&nbsp;' + _wpcf7.l10n.isAcceptanceInvert + '</span>').prepend(tgInputs.isAcceptanceInvert).prepend('<br />');
351 menuOpt2.append('<br /><span style="font-size: smaller;">' + _wpcf7.l10n.isAcceptanceInvertMeans + '</span>');
352
353 table2.append(jQuery('<tr></tr>').append(jQuery('<td colspan="2"></td>').append(menuOpt1).append(menuOpt2)));
354
355 pane.append(jQuery('<div class="tg-tag">' + _wpcf7.l10n.generatedTag + '<br /></div>').append(tgInputs.tag1st));
356 break;
357 case 'quiz':
358 var table1 = jQuery('<table></table>');
359 pane.append(table1);
360
361 table1.append(tgTr(
362 jQuery('<span>' + _wpcf7.l10n.tagName + '<br /></span>').append(tgInputs.tagName),
363 jQuery('<span></span>')
364 ));
365
366 var table2 = jQuery('<table></table>');
367 pane.append(table2);
368 table2.append(tgTr(
369 jQuery('<span><code>size</code> (' + _wpcf7.l10n.optional + ')<br /></span>').append(tgInputs.tagSize),
370 jQuery('<span><code>maxlength</code> (' + _wpcf7.l10n.optional + ')<br /></span>').append(tgInputs.tagMaxLength)
371 ));
372 table2.append(tgTr(
373 jQuery('<span><code>id</code> (' + _wpcf7.l10n.optional + ')<br /></span>').append(tgInputs.tagId),
374 jQuery('<span><code>class</code> (' + _wpcf7.l10n.optional + ')<br /></span>').append(tgInputs.tagClasses)
375 ));
376 table2.append(tgTr(
377 jQuery('<span>' + _wpcf7.l10n.quizzes + '<br /></span>').append(tgInputs.menuChoices)
378 .append('<br /><span style="font-size: smaller">' + _wpcf7.l10n.quizFormatDesc + '</span>')
379 ));
380 pane.append(jQuery('<div class="tg-tag">' + _wpcf7.l10n.generatedTag + '<br /></div>').append(tgInputs.tag1st));
381 break;
382 case 'captcha':
383 var table1 = jQuery('<table></table>');
384 pane.append(table1);
385 table1.append(tgTr(
386 jQuery('<span>' + _wpcf7.l10n.tagName + '<br /></span>').append(tgInputs.tagName),
387 jQuery('<span></span>')
388 ));
389
390 var table2 = jQuery('<table></table>');
391 pane.append(table2);
392 table2.append('<caption>' + _wpcf7.l10n.imageSettings + '</caption>');
393 var imageSizeOpts = jQuery('<span>' + _wpcf7.l10n.imageSize + ' (' + _wpcf7.l10n.optional + ')<br /></span>');
394 imageSizeOpts.append(tgInputs.imageSizeSmall).append('&nbsp;' + _wpcf7.l10n.imageSizeSmall);
395 imageSizeOpts.append('&emsp;');
396 imageSizeOpts.append(tgInputs.imageSizeMedium).append('&nbsp;' + _wpcf7.l10n.imageSizeMedium);
397 imageSizeOpts.append('&emsp;');
398 imageSizeOpts.append(tgInputs.imageSizeLarge).append('&nbsp;' + _wpcf7.l10n.imageSizeLarge);
399 table2.append(jQuery('<tr></tr>').append(jQuery('<td colspan="2"></td>').append(imageSizeOpts)));
400 table2.append(tgTr(
401 jQuery('<span>' + _wpcf7.l10n.fgColor + ' (' + _wpcf7.l10n.optional + ')<br /></span>').append(tgInputs.fgColor),
402 jQuery('<span>' + _wpcf7.l10n.bgColor + ' (' + _wpcf7.l10n.optional + ')<br /></span>').append(tgInputs.bgColor)
403 ));
404 table2.append(tgTr(
405 jQuery('<span><code>id</code> (' + _wpcf7.l10n.optional + ')<br /></span>').append(tgInputs.tagId),
406 jQuery('<span><code>class</code> (' + _wpcf7.l10n.optional + ')<br /></span>').append(tgInputs.tagClasses)
407 ));
408
409 var table3 = jQuery('<table></table>');
410 pane.append(table3);
411 table3.append('<caption>' + _wpcf7.l10n.inputFieldSettings + '</caption>');
412 table3.append(tgTr(
413 jQuery('<span><code>size</code> (' + _wpcf7.l10n.optional + ')<br /></span>').append(tgInputs.tagSize),
414 jQuery('<span><code>maxlength</code> (' + _wpcf7.l10n.optional + ')<br /></span>').append(tgInputs.tagMaxLength)
415 ));
416 table3.append(tgTr(
417 jQuery('<span><code>id</code> (' + _wpcf7.l10n.optional + ')<br /></span>').append(tgInputs.tagId2),
418 jQuery('<span><code>class</code> (' + _wpcf7.l10n.optional + ')<br /></span>').append(tgInputs.tagClasses2)
419 ));
420 pane.append(
421 jQuery('<div class="tg-tag">' + _wpcf7.l10n.generatedTag + '</div>')
422 .append('<br />').append('1) ' + _wpcf7.l10n.tagForImage)
423 .append(tgInputs.tag1st)
424 .append('<br />').append('2) ' + _wpcf7.l10n.tagForInputField)
425 .append(tgInputs.tag2nd)
426 );
427 break;
428 case 'fileUpload':
429 var table1 = jQuery('<table></table>');
430 pane.append(table1);
431 table1.append(tgTr(
432 jQuery('<span>&nbsp;' + _wpcf7.l10n.isRequiredField + '</span>').prepend(tgInputs.isRequiredField)
433 ));
434 table1.append(tgTr(
435 jQuery('<span>' + _wpcf7.l10n.tagName + '<br /></span>').append(tgInputs.tagName),
436 jQuery('<span></span>')
437 ));
438
439 var table2 = jQuery('<table></table>');
440 pane.append(table2);
441 table2.append(tgTr(
442 jQuery('<span>' + _wpcf7.l10n.fileSizeLimit + ' (' + _wpcf7.l10n.optional + ')<br /></span>').append(tgInputs.tagFileSizeLimit),
443 jQuery('<span>' + _wpcf7.l10n.acceptableFileTypes + ' (' + _wpcf7.l10n.optional + ')<br /></span>').append(tgInputs.tagAcceptableFileTypes)
444 ));
445 table2.append(tgTr(
446 jQuery('<span><code>id</code> (' + _wpcf7.l10n.optional + ')<br /></span>').append(tgInputs.tagId),
447 jQuery('<span><code>class</code> (' + _wpcf7.l10n.optional + ')<br /></span>').append(tgInputs.tagClasses)
448 ));
449 pane.append(jQuery('<div class="tg-tag">' + _wpcf7.l10n.generatedTag + '<br /></div>').append(tgInputs.tag1st));
450 break;
451 case 'submit':
452 var table = jQuery('<table></table>');
453 pane.append(table);
454
455 table.append(tgTr(
456 jQuery('<span><code>id</code> (' + _wpcf7.l10n.optional + ')<br /></span>').append(tgInputs.tagId),
457 jQuery('<span><code>class</code> (' + _wpcf7.l10n.optional + ')<br /></span>').append(tgInputs.tagClasses)
458 ));
459
460 table.append(tgTr(
461 jQuery('<span>' + _wpcf7.l10n.label + '<br /></span>').append(tgInputs.label),
462 jQuery('<span></span>')
463 ));
464 pane.append(jQuery('<div class="tg-tag">' + _wpcf7.l10n.generatedTag + '<br /></div>').append(tgInputs.tag1st));
465 break;
466 }
467
468 tgCreateTag(tagType, tgInputs);
469 }
470
471 function tgTr() {
472 var tr = jQuery('<tr></tr>');
473 jQuery.each(arguments, function(i, n) {
474 var td = jQuery('<td></td>').append(n);
475 tr.append(td);
476 });
477 return tr;
478 }
479
480 function tgCreateTag(tagType, tgInputs, trigger) {
481 tgInputs.tag1st.empty();
482 tgInputs.tag2nd.empty();
483
484 jQuery.each([ 'tagName' ], function(i, n) {
485 var val = tgInputs[n].val();
486 val = val.replace(/[^0-9a-zA-Z:._-]/g, '').replace(/^[^a-zA-Z]+/, '');
487 if ('' == val)
488 val = tgDefaultName(tagType);
489 tgInputs[n].val(val);
490 });
491
492 jQuery.each([ 'tagSize', 'tagMaxLength', 'tagCols', 'tagRows', 'tagFileSizeLimit' ], function(i, n) {
493 var val = tgInputs[n].val();
494 val = val.replace(/[^0-9]/g, '');
495 tgInputs[n].val(val);
496 });
497
498 jQuery.each([ 'tagId', 'tagId2' ], function(i, n) {
499 var val = tgInputs[n].val();
500 val = val.replace(/[^-0-9a-zA-Z_]/g, '');
501 tgInputs[n].val(val);
502 });
503
504 jQuery.each([ 'tagClasses', 'tagClasses2' ], function(i, n) {
505 var val = tgInputs[n].val();
506 val = jQuery.map(val.split(' '), function(n) {
507 return n.replace(/[^-0-9a-zA-Z_]/g, '');
508 }).join(' ');
509 val = jQuery.trim(val.replace(/\s+/g, ' '));
510 tgInputs[n].val(val);
511 });
512
513 jQuery.each([ 'fgColor', 'bgColor' ], function(i, n) {
514 var val = tgInputs[n].val();
515 val = val.replace(/[^0-9a-fA-F]/g, '');
516 tgInputs[n].val(val);
517 });
518
519 jQuery.each([ 'tagAcceptableFileTypes' ], function(i, n) {
520 var val = tgInputs[n].val();
521 val = val.replace(/[^0-9a-zA-Z.\s]/g, '');
522 tgInputs[n].val(val);
523 });
524
525 if ('akismetAuthor' == trigger && tgInputs.akismetAuthor.is(':checked')) {
526 tgInputs.akismetAuthorUrl.removeAttr('checked');
527 tgInputs.akismetAuthorEmail.removeAttr('checked');
528 } else if ('akismetAuthorUrl' == trigger && tgInputs.akismetAuthorUrl.is(':checked')) {
529 tgInputs.akismetAuthor.removeAttr('checked');
530 tgInputs.akismetAuthorEmail.removeAttr('checked');
531 } else if ('akismetAuthorEmail' == trigger && tgInputs.akismetAuthorEmail.is(':checked')) {
532 tgInputs.akismetAuthor.removeAttr('checked');
533 tgInputs.akismetAuthorUrl.removeAttr('checked');
534 }
535
536 if ('imageSizeSmall' == trigger && tgInputs.imageSizeSmall.is(':checked')) {
537 tgInputs.imageSizeMedium.removeAttr('checked');
538 tgInputs.imageSizeLarge.removeAttr('checked');
539 } else if ('imageSizeMedium' == trigger && tgInputs.imageSizeMedium.is(':checked')) {
540 tgInputs.imageSizeSmall.removeAttr('checked');
541 tgInputs.imageSizeLarge.removeAttr('checked');
542 } else if ('imageSizeLarge' == trigger && tgInputs.imageSizeLarge.is(':checked')) {
543 tgInputs.imageSizeSmall.removeAttr('checked');
544 tgInputs.imageSizeMedium.removeAttr('checked');
545 }
546
547 switch (tagType) {
548 case 'textField':
549 case 'emailField':
550 var type = ('emailField' == tagType) ? 'email' : 'text';
551 if (tgInputs.isRequiredField.is(':checked'))
552 type += '*';
553 var name = tgInputs.tagName.val();
554 var options = [];
555 if (tgInputs.tagSize.val() || tgInputs.tagMaxLength.val())
556 options.push(tgInputs.tagSize.val() + '/' + tgInputs.tagMaxLength.val());
557 if (tgInputs.tagId.val())
558 options.push('id:' + tgInputs.tagId.val());
559 if (tgInputs.tagClasses.val())
560 jQuery.each(tgInputs.tagClasses.val().split(' '), function(i, n) {
561 options.push('class:' + n);
562 });
563 if (tgInputs.akismetAuthor.is(':checked'))
564 options.push('akismet:author');
565 if (tgInputs.akismetAuthorUrl.is(':checked'))
566 options.push('akismet:author_url');
567 if (tgInputs.akismetAuthorEmail.is(':checked'))
568 options.push('akismet:author_email');
569 options = (options.length > 0) ? ' ' + options.join(' ') : '';
570 var dv = '';
571 if (tgInputs.defaultValue.val()) {
572 dv = ' "' + tgInputs.defaultValue.val().replace(/["]/g, '&quot;') + '"';
573 }
574 var tag = name ? '[' + type + ' ' + name + options + dv + ']' : '';
575 tgInputs.tag1st.val(tag);
576 break;
577 case 'textArea':
578 var type = 'textarea';
579 if (tgInputs.isRequiredField.is(':checked'))
580 type += '*';
581 var name = tgInputs.tagName.val();
582 var options = [];
583 if (tgInputs.tagCols.val() || tgInputs.tagRows.val())
584 options.push(tgInputs.tagCols.val() + 'x' + tgInputs.tagRows.val());
585 if (tgInputs.tagId.val())
586 options.push('id:' + tgInputs.tagId.val());
587 if (tgInputs.tagClasses.val())
588 jQuery.each(tgInputs.tagClasses.val().split(' '), function(i, n) {
589 options.push('class:' + n);
590 });
591 options = (options.length > 0) ? ' ' + options.join(' ') : '';
592 var dv = '';
593 if (tgInputs.defaultValue.val()) {
594 dv = ' "' + tgInputs.defaultValue.val().replace(/["]/g, '&quot;') + '"';
595 }
596 var tag = name ? '[' + type + ' ' + name + options + dv + ']' : '';
597 tgInputs.tag1st.val(tag);
598 break;
599 case 'menu':
600 case 'checkboxes':
601 case 'radioButtons':
602 var type = '';
603 if ('menu' == tagType)
604 type = 'select';
605 else if ('checkboxes' == tagType)
606 type = 'checkbox';
607 else if ('radioButtons' == tagType)
608 type = 'radio';
609 if (tgInputs.isRequiredField.is(':checked'))
610 type += '*';
611
612 var name = tgInputs.tagName.val();
613 var options = [];
614 if (tgInputs.allowsMultipleSelections.is(':checked'))
615 options.push('multiple');
616 if (tgInputs.insertFirstBlankOption.is(':checked'))
617 options.push('include_blank');
618 if (tgInputs.makeCheckboxesExclusive.is(':checked'))
619 options.push('exclusive');
620 if (tgInputs.tagId.val())
621 options.push('id:' + tgInputs.tagId.val());
622 if (tgInputs.tagClasses.val())
623 jQuery.each(tgInputs.tagClasses.val().split(' '), function(i, n) {
624 options.push('class:' + n);
625 });
626 options = (options.length > 0) ? ' ' + options.join(' ') : '';
627 var choices = '';
628 if (tgInputs.menuChoices.val())
629 jQuery.each(tgInputs.menuChoices.val().split("\n"), function(i, n) {
630 choices += ' "' + n.replace(/["]/g, '&quot;') + '"';
631 });
632 var tag = name ? '[' + type + ' ' + name + options + choices + ']' : '';
633 tgInputs.tag1st.val(tag);
634 break;
635 case 'acceptance':
636 var type = 'acceptance';
637 var name = tgInputs.tagName.val();
638 var options = [];
639 if (tgInputs.isAcceptanceDefaultOn.is(':checked'))
640 options.push('default:on');
641 if (tgInputs.isAcceptanceInvert.is(':checked'))
642 options.push('invert');
643 if (tgInputs.tagId.val())
644 options.push('id:' + tgInputs.tagId.val());
645 if (tgInputs.tagClasses.val())
646 jQuery.each(tgInputs.tagClasses.val().split(' '), function(i, n) {
647 options.push('class:' + n);
648 });
649 options = (options.length > 0) ? ' ' + options.join(' ') : '';
650 var tag = name ? '[' + type + ' ' + name + options + ']' : '';
651 tgInputs.tag1st.val(tag);
652 break;
653 case 'quiz':
654 var type = 'quiz';
655 var name = tgInputs.tagName.val();
656 var options = [];
657 if (tgInputs.tagSize.val() || tgInputs.tagMaxLength.val())
658 options.push(tgInputs.tagSize.val() + '/' + tgInputs.tagMaxLength.val());
659 if (tgInputs.tagId.val())
660 options.push('id:' + tgInputs.tagId.val());
661 if (tgInputs.tagClasses.val())
662 jQuery.each(tgInputs.tagClasses.val().split(' '), function(i, n) {
663 options.push('class:' + n);
664 });
665 options = (options.length > 0) ? ' ' + options.join(' ') : '';
666 var choices = '';
667 if (tgInputs.menuChoices.val())
668 jQuery.each(tgInputs.menuChoices.val().split("\n"), function(i, n) {
669 choices += ' "' + n.replace(/["]/g, '&quot;') + '"';
670 });
671 var tag = name ? '[' + type + ' ' + name + options + choices + ']' : '';
672 tgInputs.tag1st.val(tag);
673 break;
674 case 'captcha':
675 // for captchac
676 var type = 'captchac';
677 var name = tgInputs.tagName.val();
678 var options = [];
679 if (tgInputs.imageSizeSmall.is(':checked'))
680 options.push('size:s');
681 if (tgInputs.imageSizeMedium.is(':checked'))
682 options.push('size:m');
683 if (tgInputs.imageSizeLarge.is(':checked'))
684 options.push('size:l');
685 if (tgInputs.fgColor.val())
686 options.push('fg:#' + tgInputs.fgColor.val());
687 if (tgInputs.bgColor.val())
688 options.push('bg:#' + tgInputs.bgColor.val());
689 if (tgInputs.tagId.val())
690 options.push('id:' + tgInputs.tagId.val());
691 if (tgInputs.tagClasses.val())
692 jQuery.each(tgInputs.tagClasses.val().split(' '), function(i, n) {
693 options.push('class:' + n);
694 });
695 options = (options.length > 0) ? ' ' + options.join(' ') : '';
696 var tag = name ? '[' + type + ' ' + name + options + ']' : '';
697 tgInputs.tag1st.val(tag);
698 // for captchar
699 var type = 'captchar';
700 var options = [];
701 if (tgInputs.tagSize.val() || tgInputs.tagMaxLength.val())
702 options.push(tgInputs.tagSize.val() + '/' + tgInputs.tagMaxLength.val());
703 if (tgInputs.tagId2.val())
704 options.push('id:' + tgInputs.tagId2.val());
705 if (tgInputs.tagClasses2.val())
706 jQuery.each(tgInputs.tagClasses2.val().split(' '), function(i, n) {
707 options.push('class:' + n);
708 });
709 options = (options.length > 0) ? ' ' + options.join(' ') : '';
710 var tag = name ? '[' + type + ' ' + name + options + ']' : '';
711 tgInputs.tag2nd.val(tag);
712 break;
713 case 'fileUpload':
714 var type = 'file';
715 if (tgInputs.isRequiredField.is(':checked'))
716 type += '*';
717 var name = tgInputs.tagName.val();
718 var options = [];
719 if (tgInputs.tagId.val())
720 options.push('id:' + tgInputs.tagId.val());
721 if (tgInputs.tagClasses.val())
722 jQuery.each(tgInputs.tagClasses.val().split(' '), function(i, n) {
723 options.push('class:' + n);
724 });
725 if (tgInputs.tagFileSizeLimit.val())
726 options.push('limit:' + tgInputs.tagFileSizeLimit.val());
727 if (tgInputs.tagAcceptableFileTypes.val())
728 options.push('filetypes:' + tgInputs.tagAcceptableFileTypes.val().split(' ').join('|'));
729 options = (options.length > 0) ? ' ' + options.join(' ') : '';
730 var tag = name ? '[' + type + ' ' + name + options + ']' : '';
731 tgInputs.tag1st.val(tag);
732 break;
733 case 'submit':
734 var type = 'submit';
735
736 var options = [];
737 if (tgInputs.tagId.val())
738 options.push('id:' + tgInputs.tagId.val());
739 if (tgInputs.tagClasses.val())
740 jQuery.each(tgInputs.tagClasses.val().split(' '), function(i, n) {
741 options.push('class:' + n);
742 });
743 options = (options.length > 0) ? ' ' + options.join(' ') : '';
744
745 var label = tgInputs.label.val();
746 if (label)
747 label = ' "' + label.replace(/["]/g, '&quot;') + '"';
748 var tag = '[' + type + options + label + ']';
749 tgInputs.tag1st.val(tag);
750 break;
751 }
752 }
753
754 function tgDefaultName(tagType) {
755 var rand = Math.floor(Math.random() * 1000);
756 if ('textField' == tagType) {
757 return 'text-' + rand;
758 } else if ('emailField' == tagType) {
759 return 'email-' + rand;
760 } else if ('textArea' == tagType) {
761 return 'textarea-' + rand;
762 } else if ('menu' == tagType) {
763 return 'menu-' + rand;
764 } else if ('checkboxes' == tagType) {
765 return 'checkbox-' + rand;
766 } else if ('radioButtons' == tagType) {
767 return 'radio-' + rand;
768 } else if ('acceptance' == tagType) {
769 return 'acceptance-' + rand;
770 } else if ('quiz' == tagType) {
771 return 'quiz-' + rand;
772 } else if ('captcha' == tagType) {
773 return 'captcha-' + rand;
774 } else if ('fileUpload' == tagType) {
775 return 'file-' + rand;
776 }
777 }