Merge lp:~yoboy-leguesh/ubuntu-party/bug720119 into lp:ubuntu-party
- bug720119
- Merge into trunk
Proposed by
YoBoY
Status: | Merged | ||||
---|---|---|---|---|---|
Merged at revision: | 7 | ||||
Proposed branch: | lp:~yoboy-leguesh/ubuntu-party/bug720119 | ||||
Merge into: | lp:ubuntu-party | ||||
Diff against target: |
8305 lines (+7976/-0) 37 files modified
wp-content/plugins/contact-form-7/admin/admin.php (+370/-0) wp-content/plugins/contact-form-7/admin/edit.php (+351/-0) wp-content/plugins/contact-form-7/admin/scripts.js (+116/-0) wp-content/plugins/contact-form-7/admin/styles-rtl.css (+22/-0) wp-content/plugins/contact-form-7/admin/styles.css (+248/-0) wp-content/plugins/contact-form-7/admin/taggenerator.js (+262/-0) wp-content/plugins/contact-form-7/includes/classes.php (+645/-0) wp-content/plugins/contact-form-7/includes/controller.php (+288/-0) wp-content/plugins/contact-form-7/includes/formatting.php (+144/-0) wp-content/plugins/contact-form-7/includes/functions.php (+225/-0) wp-content/plugins/contact-form-7/includes/pipe.php (+67/-0) wp-content/plugins/contact-form-7/includes/shortcodes.php (+171/-0) wp-content/plugins/contact-form-7/includes/taggenerator.php (+49/-0) wp-content/plugins/contact-form-7/jquery.form.js (+791/-0) wp-content/plugins/contact-form-7/languages/readme.txt (+9/-0) wp-content/plugins/contact-form-7/languages/wpcf7.pot (+842/-0) wp-content/plugins/contact-form-7/license.txt (+339/-0) wp-content/plugins/contact-form-7/modules/acceptance.php (+186/-0) wp-content/plugins/contact-form-7/modules/captcha.php (+490/-0) wp-content/plugins/contact-form-7/modules/checkbox.php (+244/-0) wp-content/plugins/contact-form-7/modules/file.php (+349/-0) wp-content/plugins/contact-form-7/modules/icl.php (+79/-0) wp-content/plugins/contact-form-7/modules/quiz.php (+214/-0) wp-content/plugins/contact-form-7/modules/response.php (+17/-0) wp-content/plugins/contact-form-7/modules/select.php (+193/-0) wp-content/plugins/contact-form-7/modules/special-mail-tags.php (+69/-0) wp-content/plugins/contact-form-7/modules/submit.php (+97/-0) wp-content/plugins/contact-form-7/modules/text.php (+210/-0) wp-content/plugins/contact-form-7/modules/textarea.php (+172/-0) wp-content/plugins/contact-form-7/readme.txt (+136/-0) wp-content/plugins/contact-form-7/scripts.js (+198/-0) wp-content/plugins/contact-form-7/settings.php (+111/-0) wp-content/plugins/contact-form-7/styles-rtl.css (+12/-0) wp-content/plugins/contact-form-7/styles.css (+65/-0) wp-content/plugins/contact-form-7/uninstall.php (+18/-0) wp-content/plugins/contact-form-7/wp-contact-form-7.php (+69/-0) wp-content/themes/ubuntu-party_light/images/icons/up_mail.svg (+108/-0) |
||||
To merge this branch: | bzr merge lp:~yoboy-leguesh/ubuntu-party/bug720119 | ||||
Related bugs: |
|
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Ubuntu Party WebApps Developpers | Pending | ||
Review via email: mp+50354@code.launchpad.net |
Commit message
Description of the change
Ajout d'un plugin de contact, et d'une icone enveloppe
To post a comment you must log in.
Preview Diff
[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1 | === added directory 'wp-content/plugins/contact-form-7' |
2 | === added directory 'wp-content/plugins/contact-form-7/admin' |
3 | === added file 'wp-content/plugins/contact-form-7/admin/admin.php' |
4 | --- wp-content/plugins/contact-form-7/admin/admin.php 1970-01-01 00:00:00 +0000 |
5 | +++ wp-content/plugins/contact-form-7/admin/admin.php 2011-02-18 16:15:41 +0000 |
6 | @@ -0,0 +1,370 @@ |
7 | +<?php |
8 | + |
9 | +function wpcf7_admin_has_edit_cap() { |
10 | + return current_user_can( WPCF7_ADMIN_READ_WRITE_CAPABILITY ); |
11 | +} |
12 | + |
13 | +add_action( 'admin_menu', 'wpcf7_admin_add_pages', 9 ); |
14 | + |
15 | +function wpcf7_admin_add_pages() { |
16 | + |
17 | + if ( isset( $_POST['wpcf7-save'] ) && wpcf7_admin_has_edit_cap() ) { |
18 | + $id = $_POST['wpcf7-id']; |
19 | + check_admin_referer( 'wpcf7-save_' . $id ); |
20 | + |
21 | + if ( ! $contact_form = wpcf7_contact_form( $id ) ) { |
22 | + $contact_form = new WPCF7_ContactForm(); |
23 | + $contact_form->initial = true; |
24 | + } |
25 | + |
26 | + $title = trim( $_POST['wpcf7-title'] ); |
27 | + |
28 | + $form = trim( $_POST['wpcf7-form'] ); |
29 | + |
30 | + $mail = array( |
31 | + 'subject' => trim( $_POST['wpcf7-mail-subject'] ), |
32 | + 'sender' => trim( $_POST['wpcf7-mail-sender'] ), |
33 | + 'body' => trim( $_POST['wpcf7-mail-body'] ), |
34 | + 'recipient' => trim( $_POST['wpcf7-mail-recipient'] ), |
35 | + 'additional_headers' => trim( $_POST['wpcf7-mail-additional-headers'] ), |
36 | + 'attachments' => trim( $_POST['wpcf7-mail-attachments'] ), |
37 | + 'use_html' => |
38 | + isset( $_POST['wpcf7-mail-use-html'] ) && 1 == $_POST['wpcf7-mail-use-html'] |
39 | + ); |
40 | + |
41 | + $mail_2 = array( |
42 | + 'active' => |
43 | + isset( $_POST['wpcf7-mail-2-active'] ) && 1 == $_POST['wpcf7-mail-2-active'], |
44 | + 'subject' => trim( $_POST['wpcf7-mail-2-subject'] ), |
45 | + 'sender' => trim( $_POST['wpcf7-mail-2-sender'] ), |
46 | + 'body' => trim( $_POST['wpcf7-mail-2-body'] ), |
47 | + 'recipient' => trim( $_POST['wpcf7-mail-2-recipient'] ), |
48 | + 'additional_headers' => trim( $_POST['wpcf7-mail-2-additional-headers'] ), |
49 | + 'attachments' => trim( $_POST['wpcf7-mail-2-attachments'] ), |
50 | + 'use_html' => |
51 | + isset( $_POST['wpcf7-mail-2-use-html'] ) && 1 == $_POST['wpcf7-mail-2-use-html'] |
52 | + ); |
53 | + |
54 | + $messages = $contact_form->messages; |
55 | + foreach ( wpcf7_messages() as $key => $arr ) { |
56 | + $field_name = 'wpcf7-message-' . strtr( $key, '_', '-' ); |
57 | + if ( isset( $_POST[$field_name] ) ) |
58 | + $messages[$key] = trim( $_POST[$field_name] ); |
59 | + } |
60 | + |
61 | + $additional_settings = trim( $_POST['wpcf7-additional-settings'] ); |
62 | + |
63 | + $query = array(); |
64 | + $query['message'] = ( $contact_form->initial ) ? 'created' : 'saved'; |
65 | + |
66 | + $contact_form->title = $title; |
67 | + $contact_form->form = $form; |
68 | + $contact_form->mail = $mail; |
69 | + $contact_form->mail_2 = $mail_2; |
70 | + $contact_form->messages = $messages; |
71 | + $contact_form->additional_settings = $additional_settings; |
72 | + |
73 | + $contact_form->save(); |
74 | + |
75 | + $query['contactform'] = $contact_form->id; |
76 | + $redirect_to = wpcf7_admin_url( $query ); |
77 | + wp_redirect( $redirect_to ); |
78 | + exit(); |
79 | + } elseif ( isset( $_POST['wpcf7-copy'] ) && wpcf7_admin_has_edit_cap() ) { |
80 | + $id = $_POST['wpcf7-id']; |
81 | + check_admin_referer( 'wpcf7-copy_' . $id ); |
82 | + |
83 | + $query = array(); |
84 | + |
85 | + if ( $contact_form = wpcf7_contact_form( $id ) ) { |
86 | + $new_contact_form = $contact_form->copy(); |
87 | + $new_contact_form->save(); |
88 | + |
89 | + $query['contactform'] = $new_contact_form->id; |
90 | + $query['message'] = 'created'; |
91 | + } else { |
92 | + $query['contactform'] = $contact_form->id; |
93 | + } |
94 | + |
95 | + $redirect_to = wpcf7_admin_url( $query ); |
96 | + wp_redirect( $redirect_to ); |
97 | + exit(); |
98 | + } elseif ( isset( $_POST['wpcf7-delete'] ) && wpcf7_admin_has_edit_cap() ) { |
99 | + $id = $_POST['wpcf7-id']; |
100 | + check_admin_referer( 'wpcf7-delete_' . $id ); |
101 | + |
102 | + if ( $contact_form = wpcf7_contact_form( $id ) ) |
103 | + $contact_form->delete(); |
104 | + |
105 | + $redirect_to = wpcf7_admin_url( array( 'message' => 'deleted' ) ); |
106 | + wp_redirect( $redirect_to ); |
107 | + exit(); |
108 | + } elseif ( isset( $_GET['wpcf7-create-table'] ) ) { |
109 | + check_admin_referer( 'wpcf7-create-table' ); |
110 | + |
111 | + $query = array(); |
112 | + |
113 | + if ( ! wpcf7_table_exists() && current_user_can( 'activate_plugins' ) ) { |
114 | + wpcf7_install(); |
115 | + if ( wpcf7_table_exists() ) { |
116 | + $query['message'] = 'table_created'; |
117 | + } else { |
118 | + $query['message'] = 'table_not_created'; |
119 | + } |
120 | + } |
121 | + |
122 | + wp_redirect( wpcf7_admin_url( $query ) ); |
123 | + exit(); |
124 | + } |
125 | + |
126 | + add_menu_page( __( 'Contact Form 7', 'wpcf7' ), __( 'Contact', 'wpcf7' ), |
127 | + WPCF7_ADMIN_READ_CAPABILITY, 'wpcf7', 'wpcf7_admin_management_page' ); |
128 | + |
129 | + add_submenu_page( 'wpcf7', __( 'Edit Contact Forms', 'wpcf7' ), __( 'Edit', 'wpcf7' ), |
130 | + WPCF7_ADMIN_READ_CAPABILITY, 'wpcf7', 'wpcf7_admin_management_page' ); |
131 | +} |
132 | + |
133 | +add_action( 'admin_print_styles', 'wpcf7_admin_enqueue_styles' ); |
134 | + |
135 | +function wpcf7_admin_enqueue_styles() { |
136 | + global $plugin_page; |
137 | + |
138 | + if ( ! isset( $plugin_page ) || 'wpcf7' != $plugin_page ) |
139 | + return; |
140 | + |
141 | + wp_enqueue_style( 'thickbox' ); |
142 | + |
143 | + wp_enqueue_style( 'contact-form-7-admin', wpcf7_plugin_url( 'admin/styles.css' ), |
144 | + array(), WPCF7_VERSION, 'all' ); |
145 | + |
146 | + if ( 'rtl' == get_bloginfo( 'text_direction' ) ) { |
147 | + wp_enqueue_style( 'contact-form-7-admin-rtl', |
148 | + wpcf7_plugin_url( 'admin/styles-rtl.css' ), array(), WPCF7_VERSION, 'all' ); |
149 | + } |
150 | +} |
151 | + |
152 | +add_action( 'admin_print_scripts', 'wpcf7_admin_enqueue_scripts' ); |
153 | + |
154 | +function wpcf7_admin_enqueue_scripts() { |
155 | + global $plugin_page; |
156 | + |
157 | + if ( ! isset( $plugin_page ) || 'wpcf7' != $plugin_page ) |
158 | + return; |
159 | + |
160 | + wp_enqueue_script( 'thickbox' ); |
161 | + |
162 | + wp_enqueue_script( 'wpcf7-admin-taggenerator', wpcf7_plugin_url( 'admin/taggenerator.js' ), |
163 | + array( 'jquery' ), WPCF7_VERSION, true ); |
164 | + |
165 | + wp_enqueue_script( 'wpcf7-admin', wpcf7_plugin_url( 'admin/scripts.js' ), |
166 | + array( 'jquery', 'wpcf7-admin-taggenerator' ), WPCF7_VERSION, true ); |
167 | + wp_localize_script( 'wpcf7-admin', '_wpcf7L10n', array( |
168 | + 'generateTag' => __( 'Generate Tag', 'wpcf7' ), |
169 | + 'show' => __( "Show", 'wpcf7' ), |
170 | + 'hide' => __( "Hide", 'wpcf7' ) ) ); |
171 | +} |
172 | + |
173 | +add_action( 'admin_footer', 'wpcf7_admin_footer' ); |
174 | + |
175 | +function wpcf7_admin_footer() { |
176 | + global $plugin_page; |
177 | + |
178 | + if ( ! isset( $plugin_page ) || 'wpcf7' != $plugin_page ) |
179 | + return; |
180 | + |
181 | +?> |
182 | +<script type="text/javascript"> |
183 | +/* <![CDATA[ */ |
184 | +var _wpcf7 = { |
185 | + pluginUrl: '<?php echo wpcf7_plugin_url(); ?>', |
186 | + tagGenerators: { |
187 | +<?php wpcf7_print_tag_generators(); ?> |
188 | + } |
189 | +}; |
190 | +/* ]]> */ |
191 | +</script> |
192 | +<?php |
193 | +} |
194 | + |
195 | +function wpcf7_admin_management_page() { |
196 | + $contact_forms = wpcf7_contact_forms(); |
197 | + |
198 | + $unsaved = false; |
199 | + |
200 | + if ( ! isset( $_GET['contactform'] ) ) |
201 | + $_GET['contactform'] = ''; |
202 | + |
203 | + if ( 'new' == $_GET['contactform'] ) { |
204 | + $unsaved = true; |
205 | + $current = -1; |
206 | + $cf = wpcf7_contact_form_default_pack( isset( $_GET['locale'] ) ? $_GET['locale'] : '' ); |
207 | + } elseif ( $cf = wpcf7_contact_form( $_GET['contactform'] ) ) { |
208 | + $current = (int) $_GET['contactform']; |
209 | + } else { |
210 | + $first = reset( $contact_forms ); // Returns first item |
211 | + $current = $first->id; |
212 | + $cf = wpcf7_contact_form( $current ); |
213 | + } |
214 | + |
215 | + require_once WPCF7_PLUGIN_DIR . '/admin/edit.php'; |
216 | +} |
217 | + |
218 | +/* Install and default settings */ |
219 | + |
220 | +add_action( 'activate_' . WPCF7_PLUGIN_BASENAME, 'wpcf7_install' ); |
221 | + |
222 | +function wpcf7_install() { |
223 | + global $wpdb, $wpcf7; |
224 | + |
225 | + if ( wpcf7_table_exists() ) |
226 | + return; // Exists already |
227 | + |
228 | + $charset_collate = ''; |
229 | + if ( $wpdb->has_cap( 'collation' ) ) { |
230 | + if ( ! empty( $wpdb->charset ) ) |
231 | + $charset_collate = "DEFAULT CHARACTER SET $wpdb->charset"; |
232 | + if ( ! empty( $wpdb->collate ) ) |
233 | + $charset_collate .= " COLLATE $wpdb->collate"; |
234 | + } |
235 | + |
236 | + $wpdb->query( "CREATE TABLE IF NOT EXISTS $wpcf7->contactforms ( |
237 | + cf7_unit_id bigint(20) unsigned NOT NULL auto_increment, |
238 | + title varchar(200) NOT NULL default '', |
239 | + form text NOT NULL, |
240 | + mail text NOT NULL, |
241 | + mail_2 text NOT NULL, |
242 | + messages text NOT NULL, |
243 | + additional_settings text NOT NULL, |
244 | + PRIMARY KEY (cf7_unit_id)) $charset_collate;" ); |
245 | + |
246 | + if ( ! wpcf7_table_exists() ) |
247 | + return false; // Failed to create |
248 | + |
249 | + $legacy_data = get_option( 'wpcf7' ); |
250 | + if ( is_array( $legacy_data ) |
251 | + && is_array( $legacy_data['contact_forms'] ) && $legacy_data['contact_forms'] ) { |
252 | + foreach ( $legacy_data['contact_forms'] as $key => $value ) { |
253 | + $wpdb->insert( $wpcf7->contactforms, array( |
254 | + 'cf7_unit_id' => $key, |
255 | + 'title' => $value['title'], |
256 | + 'form' => maybe_serialize( $value['form'] ), |
257 | + 'mail' => maybe_serialize( $value['mail'] ), |
258 | + 'mail_2' => maybe_serialize( $value['mail_2'] ), |
259 | + 'messages' => maybe_serialize( $value['messages'] ), |
260 | + 'additional_settings' => maybe_serialize( $value['additional_settings'] ) |
261 | + ), array( '%d', '%s', '%s', '%s', '%s', '%s', '%s' ) ); |
262 | + } |
263 | + } else { |
264 | + wpcf7_load_plugin_textdomain(); |
265 | + |
266 | + $wpdb->insert( $wpcf7->contactforms, array( |
267 | + 'title' => __( 'Contact form', 'wpcf7' ) . ' 1', |
268 | + 'form' => maybe_serialize( wpcf7_default_form_template() ), |
269 | + 'mail' => maybe_serialize( wpcf7_default_mail_template() ), |
270 | + 'mail_2' => maybe_serialize ( wpcf7_default_mail_2_template() ), |
271 | + 'messages' => maybe_serialize( wpcf7_default_messages_template() ) ) ); |
272 | + } |
273 | +} |
274 | + |
275 | +/* Misc */ |
276 | + |
277 | +add_filter( 'plugin_action_links', 'wpcf7_plugin_action_links', 10, 2 ); |
278 | + |
279 | +function wpcf7_plugin_action_links( $links, $file ) { |
280 | + if ( $file != WPCF7_PLUGIN_BASENAME ) |
281 | + return $links; |
282 | + |
283 | + $url = wpcf7_admin_url( array( 'page' => 'wpcf7' ) ); |
284 | + |
285 | + $settings_link = '<a href="' . esc_attr( $url ) . '">' |
286 | + . esc_html( __( 'Settings', 'wpcf7' ) ) . '</a>'; |
287 | + |
288 | + array_unshift( $links, $settings_link ); |
289 | + |
290 | + return $links; |
291 | +} |
292 | + |
293 | +add_action( 'wpcf7_admin_before_subsubsub', 'wpcf7_cf7com_links', 9 ); |
294 | + |
295 | +function wpcf7_cf7com_links( &$contact_form ) { |
296 | + $links = '<div class="cf7com-links">' |
297 | + . '<a href="' . esc_url_raw( __( 'http://contactform7.com/', 'wpcf7' ) ) . '" target="_blank">' |
298 | + . esc_html( __( 'Contactform7.com', 'wpcf7' ) ) . '</a> ' |
299 | + . '<a href="' . esc_url_raw( __( 'http://contactform7.com/docs/', 'wpcf7' ) ) . '" target="_blank">' |
300 | + . esc_html( __( 'Docs', 'wpcf7' ) ) . '</a> - ' |
301 | + . '<a href="' . esc_url_raw( __( 'http://contactform7.com/faq/', 'wpcf7' ) ) . '" target="_blank">' |
302 | + . esc_html( __( 'FAQ', 'wpcf7' ) ) . '</a> - ' |
303 | + . '<a href="' . esc_url_raw( __( 'http://contactform7.com/support/', 'wpcf7' ) ) . '" target="_blank">' |
304 | + . esc_html( __( 'Support', 'wpcf7' ) ) . '</a>' |
305 | + . '</div>'; |
306 | + |
307 | + echo apply_filters( 'wpcf7_cf7com_links', $links ); |
308 | +} |
309 | + |
310 | +add_action( 'wpcf7_admin_before_subsubsub', 'wpcf7_updated_message' ); |
311 | + |
312 | +function wpcf7_updated_message( &$contact_form ) { |
313 | + if ( ! isset( $_GET['message'] ) ) |
314 | + return; |
315 | + |
316 | + switch ( $_GET['message'] ) { |
317 | + case 'created': |
318 | + $updated_message = __( "Contact form created.", 'wpcf7' ); |
319 | + break; |
320 | + case 'saved': |
321 | + $updated_message = __( "Contact form saved.", 'wpcf7' ); |
322 | + break; |
323 | + case 'deleted': |
324 | + $updated_message = __( "Contact form deleted.", 'wpcf7' ); |
325 | + break; |
326 | + case 'table_created': |
327 | + $updated_message = __( "Database table created.", 'wpcf7' ); |
328 | + break; |
329 | + case 'table_not_created': |
330 | + $updated_message = __( "Failed to create database table.", 'wpcf7' ); |
331 | + break; |
332 | + } |
333 | + |
334 | + if ( ! $updated_message ) |
335 | + return; |
336 | + |
337 | +?> |
338 | +<div id="message" class="updated fade"><p><?php echo esc_html( $updated_message ); ?></p></div> |
339 | +<?php |
340 | +} |
341 | + |
342 | +add_action( 'wpcf7_admin_before_subsubsub', 'wpcf7_donation_link' ); |
343 | + |
344 | +function wpcf7_donation_link( &$contact_form ) { |
345 | + if ( ! WPCF7_SHOW_DONATION_LINK ) |
346 | + return; |
347 | + |
348 | + if ( 'new' == $_GET['contactform'] || ! empty($_GET['message']) ) |
349 | + return; |
350 | + |
351 | + $show_link = true; |
352 | + |
353 | + $num = mt_rand( 0, 99 ); |
354 | + |
355 | + if ( $num >= 20 ) |
356 | + $show_link = false; |
357 | + |
358 | + $show_link = apply_filters( 'wpcf7_show_donation_link', $show_link ); |
359 | + |
360 | + if ( ! $show_link ) |
361 | + return; |
362 | + |
363 | + $texts = array( |
364 | + __( "Contact Form 7 needs your support. Please donate today.", 'wpcf7' ), |
365 | + __( "Your contribution is needed for making this plugin better.", 'wpcf7' ) ); |
366 | + |
367 | + $text = $texts[array_rand( $texts )]; |
368 | + |
369 | +?> |
370 | +<div class="donation"> |
371 | +<p><a href="<?php echo esc_url_raw( __( 'http://contactform7.com/donate/', 'wpcf7' ) ); ?>"><?php echo esc_html( $text ); ?></a> <a href="<?php echo esc_url_raw( __( 'http://contactform7.com/donate/', 'wpcf7' ) ); ?>" class="button"><?php echo esc_html( __( "Donate", 'wpcf7' ) ); ?></a></p> |
372 | +</div> |
373 | +<?php |
374 | +} |
375 | + |
376 | +?> |
377 | \ No newline at end of file |
378 | |
379 | === added file 'wp-content/plugins/contact-form-7/admin/edit.php' |
380 | --- wp-content/plugins/contact-form-7/admin/edit.php 1970-01-01 00:00:00 +0000 |
381 | +++ wp-content/plugins/contact-form-7/admin/edit.php 2011-02-18 16:15:41 +0000 |
382 | @@ -0,0 +1,351 @@ |
383 | +<?php |
384 | + |
385 | +/* No table warning */ |
386 | +if ( ! wpcf7_table_exists() ) { |
387 | + if ( current_user_can( 'activate_plugins' ) ) { |
388 | + $create_table_link_url = wpcf7_admin_url( array( 'wpcf7-create-table' => 1 ) ); |
389 | + $create_table_link_url = wp_nonce_url( $create_table_link_url, 'wpcf7-create-table' ); |
390 | + $message = sprintf( |
391 | + __( '<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' ), |
392 | + $create_table_link_url ); |
393 | + } else { |
394 | + $message = __( "<strong>The database table for Contact Form 7 does not exist.</strong>", 'wpcf7' ); |
395 | + } |
396 | +?> |
397 | + <div class="wrap"> |
398 | + <?php screen_icon( 'edit-pages' ); ?> |
399 | + <h2><?php echo esc_html( __( 'Contact Form 7', 'wpcf7' ) ); ?></h2> |
400 | + <div id="message" class="updated fade"> |
401 | + <p><?php echo $message; ?></p> |
402 | + </div> |
403 | + </div> |
404 | +<?php |
405 | + return; |
406 | +} |
407 | + |
408 | +?><div class="wrap wpcf7"> |
409 | + |
410 | +<?php screen_icon( 'edit-pages' ); ?> |
411 | + |
412 | +<h2><?php echo esc_html( __( 'Contact Form 7', 'wpcf7' ) ); ?></h2> |
413 | + |
414 | +<?php do_action_ref_array( 'wpcf7_admin_before_subsubsub', array( &$cf ) ); ?> |
415 | + |
416 | +<ul class="subsubsub"> |
417 | +<?php |
418 | +$first = array_shift( $contact_forms ); |
419 | +if ( ! is_null( $first ) ) : ?> |
420 | +<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> |
421 | +<?php endif; |
422 | +foreach ( $contact_forms as $v ) : ?> |
423 | +<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> |
424 | +<?php endforeach; ?> |
425 | + |
426 | +<?php if ( wpcf7_admin_has_edit_cap() ) : ?> |
427 | +<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> |
428 | +<?php endif; ?> |
429 | +</ul> |
430 | + |
431 | +<br class="clear" /> |
432 | + |
433 | +<?php if ( $cf ) : ?> |
434 | +<?php $disabled = ( wpcf7_admin_has_edit_cap() ) ? '' : ' disabled="disabled"'; ?> |
435 | + |
436 | +<form method="post" action="<?php echo wpcf7_admin_url( array( 'contactform' => $current ) ); ?>" id="wpcf7-admin-form-element"> |
437 | + <?php if ( wpcf7_admin_has_edit_cap() ) wp_nonce_field( 'wpcf7-save_' . $current ); ?> |
438 | + <input type="hidden" id="wpcf7-id" name="wpcf7-id" value="<?php echo $current; ?>" /> |
439 | + |
440 | + <table class="widefat"> |
441 | + <tbody> |
442 | + <tr> |
443 | + <td scope="col"> |
444 | + <div style="position: relative;"> |
445 | + <input type="text" id="wpcf7-title" name="wpcf7-title" size="40" value="<?php echo esc_attr( $cf->title ); ?>"<?php echo $disabled; ?> /> |
446 | + |
447 | + <?php if ( ! $unsaved ) : ?> |
448 | + <p class="tagcode"> |
449 | + <?php echo esc_html( __( "Copy this code and paste it into your post, page or text widget content.", 'wpcf7' ) ); ?><br /> |
450 | + |
451 | + <input type="text" id="contact-form-anchor-text" onfocus="this.select();" readonly="readonly" /> |
452 | + </p> |
453 | + <?php endif; ?> |
454 | + |
455 | + <?php if ( wpcf7_admin_has_edit_cap() ) : ?> |
456 | + <div class="save-contact-form"> |
457 | + <input type="submit" class="button button-highlighted" name="wpcf7-save" value="<?php echo esc_attr( __( 'Save', 'wpcf7' ) ); ?>" /> |
458 | + </div> |
459 | + <?php endif; ?> |
460 | + |
461 | + <?php if ( wpcf7_admin_has_edit_cap() && ! $unsaved ) : ?> |
462 | + <div class="actions-link"> |
463 | + <?php $copy_nonce = wp_create_nonce( 'wpcf7-copy_' . $current ); ?> |
464 | + <input type="submit" name="wpcf7-copy" class="copy" value="<?php echo esc_attr( __( 'Copy', 'wpcf7' ) ); ?>" |
465 | + <?php echo "onclick=\"this.form._wpnonce.value = '$copy_nonce'; return true;\""; ?> /> |
466 | + | |
467 | + |
468 | + <?php $delete_nonce = wp_create_nonce( 'wpcf7-delete_' . $current ); ?> |
469 | + <input type="submit" name="wpcf7-delete" class="delete" value="<?php echo esc_attr( __( 'Delete', 'wpcf7' ) ); ?>" |
470 | + <?php echo "onclick=\"if (confirm('" . |
471 | + esc_js( __( "You are about to delete this contact form.\n 'Cancel' to stop, 'OK' to delete.", 'wpcf7' ) ) . |
472 | + "')) {this.form._wpnonce.value = '$delete_nonce'; return true;} return false;\""; ?> /> |
473 | + </div> |
474 | + <?php endif; ?> |
475 | + </div> |
476 | + </td> |
477 | + </tr> |
478 | + </tbody> |
479 | + </table> |
480 | + |
481 | +<?php do_action_ref_array( 'wpcf7_admin_after_general_settings', array( &$cf ) ); ?> |
482 | + |
483 | +<?php if ( wpcf7_admin_has_edit_cap() ) : ?> |
484 | + |
485 | + <table class="widefat" style="margin-top: 1em;"> |
486 | + <thead><tr><th scope="col" colspan="2"><?php echo esc_html( __( 'Form', 'wpcf7' ) ); ?></th></tr></thead> |
487 | + |
488 | + <tbody> |
489 | + <tr> |
490 | + |
491 | + <td scope="col" style="width: 50%;"> |
492 | + <div><textarea id="wpcf7-form" name="wpcf7-form" cols="100" rows="20"><?php echo esc_html( $cf->form ); ?></textarea></div> |
493 | + </td> |
494 | + |
495 | + <td scope="col" style="width: 50%;"> |
496 | + <div id="taggenerator"></div> |
497 | + </td> |
498 | + |
499 | + </tr> |
500 | + </tbody> |
501 | + </table> |
502 | + |
503 | +<?php endif; ?> |
504 | + |
505 | +<?php do_action_ref_array( 'wpcf7_admin_after_form', array( &$cf ) ); ?> |
506 | + |
507 | +<?php if ( wpcf7_admin_has_edit_cap() ) : ?> |
508 | + |
509 | + <table class="widefat" style="margin-top: 1em;"> |
510 | + <thead><tr><th scope="col" colspan="2"><?php echo esc_html( __( 'Mail', 'wpcf7' ) ); ?></th></tr></thead> |
511 | + |
512 | + <tbody> |
513 | + <tr> |
514 | + <td scope="col" style="width: 50%;"> |
515 | + |
516 | + <div class="mail-field"> |
517 | + <label for="wpcf7-mail-recipient"><?php echo esc_html( __( 'To:', 'wpcf7' ) ); ?></label><br /> |
518 | + <input type="text" id="wpcf7-mail-recipient" name="wpcf7-mail-recipient" class="wide" size="70" value="<?php echo esc_attr( $cf->mail['recipient'] ); ?>" /> |
519 | + </div> |
520 | + |
521 | + <div class="mail-field"> |
522 | + <label for="wpcf7-mail-sender"><?php echo esc_html( __( 'From:', 'wpcf7' ) ); ?></label><br /> |
523 | + <input type="text" id="wpcf7-mail-sender" name="wpcf7-mail-sender" class="wide" size="70" value="<?php echo esc_attr( $cf->mail['sender'] ); ?>" /> |
524 | + </div> |
525 | + |
526 | + <div class="mail-field"> |
527 | + <label for="wpcf7-mail-subject"><?php echo esc_html( __( 'Subject:', 'wpcf7' ) ); ?></label><br /> |
528 | + <input type="text" id="wpcf7-mail-subject" name="wpcf7-mail-subject" class="wide" size="70" value="<?php echo esc_attr( $cf->mail['subject'] ); ?>" /> |
529 | + </div> |
530 | + |
531 | + <div class="pseudo-hr"></div> |
532 | + |
533 | + <div class="mail-field"> |
534 | + <label for="wpcf7-mail-additional-headers"><?php echo esc_html( __( 'Additional headers:', 'wpcf7' ) ); ?></label><br /> |
535 | + <textarea id="wpcf7-mail-additional-headers" name="wpcf7-mail-additional-headers" cols="100" rows="2"><?php echo esc_html( $cf->mail['additional_headers'] ); ?></textarea> |
536 | + </div> |
537 | + |
538 | + <div class="mail-field"> |
539 | + <label for="wpcf7-mail-attachments"><?php echo esc_html( __( 'File attachments:', 'wpcf7' ) ); ?></label><br /> |
540 | + <input type="text" id="wpcf7-mail-attachments" name="wpcf7-mail-attachments" class="wide" size="70" value="<?php echo esc_attr( $cf->mail['attachments'] ); ?>" /> |
541 | + </div> |
542 | + |
543 | + <div class="pseudo-hr"></div> |
544 | + |
545 | + <div class="mail-field"> |
546 | + <input type="checkbox" id="wpcf7-mail-use-html" name="wpcf7-mail-use-html" value="1"<?php echo ( $cf->mail['use_html'] ) ? ' checked="checked"' : ''; ?> /> |
547 | + <label for="wpcf7-mail-use-html"><?php echo esc_html( __( 'Use HTML content type', 'wpcf7' ) ); ?></label> |
548 | + </div> |
549 | + |
550 | + </td> |
551 | + <td scope="col" style="width: 50%;"> |
552 | + |
553 | + <div class="mail-field"> |
554 | + <label for="wpcf7-mail-body"><?php echo esc_html( __( 'Message body:', 'wpcf7' ) ); ?></label><br /> |
555 | + <textarea id="wpcf7-mail-body" name="wpcf7-mail-body" cols="100" rows="16"><?php echo esc_html( $cf->mail['body'] ); ?></textarea> |
556 | + </div> |
557 | + |
558 | + </td> |
559 | + </tr> |
560 | + </tbody> |
561 | + </table> |
562 | + |
563 | +<?php endif; ?> |
564 | + |
565 | +<?php do_action_ref_array( 'wpcf7_admin_after_mail', array( &$cf ) ); ?> |
566 | + |
567 | +<?php if ( wpcf7_admin_has_edit_cap() ) : ?> |
568 | + |
569 | + <table class="widefat" style="margin-top: 1em;"> |
570 | + <thead><tr><th scope="col" colspan="2"><?php echo esc_html( __( 'Mail (2)', 'wpcf7' ) ); ?></th></tr></thead> |
571 | + |
572 | + <tbody> |
573 | + <tr> |
574 | + <td scope="col" colspan="2"> |
575 | + <input type="checkbox" id="wpcf7-mail-2-active" name="wpcf7-mail-2-active" value="1"<?php echo ( $cf->mail_2['active'] ) ? ' checked="checked"' : ''; ?> /> |
576 | + <label for="wpcf7-mail-2-active"><?php echo esc_html( __( 'Use mail (2)', 'wpcf7' ) ); ?></label> |
577 | + </td> |
578 | + </tr> |
579 | + |
580 | + <tr id="mail-2-fields"> |
581 | + <td scope="col" style="width: 50%;"> |
582 | + |
583 | + <div class="mail-field"> |
584 | + <label for="wpcf7-mail-2-recipient"><?php echo esc_html( __( 'To:', 'wpcf7' ) ); ?></label><br /> |
585 | + <input type="text" id="wpcf7-mail-2-recipient" name="wpcf7-mail-2-recipient" class="wide" size="70" value="<?php echo esc_attr( $cf->mail_2['recipient'] ); ?>" /> |
586 | + </div> |
587 | + |
588 | + <div class="mail-field"> |
589 | + <label for="wpcf7-mail-2-sender"><?php echo esc_html( __( 'From:', 'wpcf7' ) ); ?></label><br /> |
590 | + <input type="text" id="wpcf7-mail-2-sender" name="wpcf7-mail-2-sender" class="wide" size="70" value="<?php echo esc_attr( $cf->mail_2['sender'] ); ?>" /> |
591 | + </div> |
592 | + |
593 | + <div class="mail-field"> |
594 | + <label for="wpcf7-mail-2-subject"><?php echo esc_html( __( 'Subject:', 'wpcf7' ) ); ?></label><br /> |
595 | + <input type="text" id="wpcf7-mail-2-subject" name="wpcf7-mail-2-subject" class="wide" size="70" value="<?php echo esc_attr( $cf->mail_2['subject'] ); ?>" /> |
596 | + </div> |
597 | + |
598 | + <div class="pseudo-hr"></div> |
599 | + |
600 | + <div class="mail-field"> |
601 | + <label for="wpcf7-mail-2-additional-headers"><?php echo esc_html( __( 'Additional headers:', 'wpcf7' ) ); ?></label><br /> |
602 | + <textarea id="wpcf7-mail-2-additional-headers" name="wpcf7-mail-2-additional-headers" cols="100" rows="2"><?php echo esc_html( $cf->mail_2['additional_headers'] ); ?></textarea> |
603 | + </div> |
604 | + |
605 | + <div class="mail-field"> |
606 | + <label for="wpcf7-mail-2-attachments"><?php echo esc_html( __( 'File attachments:', 'wpcf7' ) ); ?></label><br /> |
607 | + <input type="text" id="wpcf7-mail-2-attachments" name="wpcf7-mail-2-attachments" class="wide" size="70" value="<?php echo esc_attr( $cf->mail_2['attachments'] ); ?>" /> |
608 | + </div> |
609 | + |
610 | + <div class="pseudo-hr"></div> |
611 | + |
612 | + <div class="mail-field"> |
613 | + <input type="checkbox" id="wpcf7-mail-2-use-html" name="wpcf7-mail-2-use-html" value="1"<?php echo ( $cf->mail_2['use_html'] ) ? ' checked="checked"' : ''; ?> /> |
614 | + <label for="wpcf7-mail-2-use-html"><?php echo esc_html( __( 'Use HTML content type', 'wpcf7' ) ); ?></label> |
615 | + </div> |
616 | + |
617 | + </td> |
618 | + <td scope="col" style="width: 50%;"> |
619 | + |
620 | + <div class="mail-field"> |
621 | + <label for="wpcf7-mail-2-body"><?php echo esc_html( __( 'Message body:', 'wpcf7' ) ); ?></label><br /> |
622 | + <textarea id="wpcf7-mail-2-body" name="wpcf7-mail-2-body" cols="100" rows="16"><?php echo esc_html( $cf->mail_2['body'] ); ?></textarea> |
623 | + </div> |
624 | + |
625 | + </td> |
626 | + </tr> |
627 | + </tbody> |
628 | + </table> |
629 | + |
630 | +<?php endif; ?> |
631 | + |
632 | +<?php do_action_ref_array( 'wpcf7_admin_after_mail_2', array( &$cf ) ); ?> |
633 | + |
634 | +<?php if ( wpcf7_admin_has_edit_cap() ) : ?> |
635 | + |
636 | + <table class="widefat" style="margin-top: 1em;"> |
637 | + <thead><tr><th scope="col"><?php echo esc_html( __( 'Messages', 'wpcf7' ) ); ?> <span id="message-fields-toggle-switch"></span></th></tr></thead> |
638 | + |
639 | + <tbody> |
640 | + <tr> |
641 | + <td scope="col"> |
642 | + <div id="message-fields"> |
643 | + |
644 | +<?php foreach ( wpcf7_messages() as $key => $arr ) : |
645 | + $field_name = 'wpcf7-message-' . strtr( $key, '_', '-' ); |
646 | +?> |
647 | + <div class="message-field"> |
648 | + <label for="<?php echo $field_name; ?>"><em># <?php echo esc_html( $arr['description'] ); ?></em></label><br /> |
649 | + <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] ); ?>" /> |
650 | + </div> |
651 | + |
652 | +<?php endforeach; ?> |
653 | + |
654 | + </div> |
655 | + </td> |
656 | + </tr> |
657 | + </tbody> |
658 | + </table> |
659 | + |
660 | +<?php endif; ?> |
661 | + |
662 | +<?php do_action_ref_array( 'wpcf7_admin_after_messages', array( &$cf ) ); ?> |
663 | + |
664 | +<?php if ( wpcf7_admin_has_edit_cap() ) : ?> |
665 | + |
666 | + <table class="widefat" style="margin-top: 1em;"> |
667 | + <thead><tr><th scope="col"><?php echo esc_html( __( 'Additional Settings', 'wpcf7' ) ); ?> <span id="additional-settings-fields-toggle-switch"></span></th></tr></thead> |
668 | + |
669 | + <tbody> |
670 | + <tr> |
671 | + <td scope="col"> |
672 | + <div id="additional-settings-fields"> |
673 | + <textarea id="wpcf7-additional-settings" name="wpcf7-additional-settings" cols="100" rows="8"><?php echo esc_html( $cf->additional_settings ); ?></textarea> |
674 | + </div> |
675 | + </td> |
676 | + </tr> |
677 | + </tbody> |
678 | + </table> |
679 | + |
680 | +<?php endif; ?> |
681 | + |
682 | +<?php do_action_ref_array( 'wpcf7_admin_after_additional_settings', array( &$cf ) ); ?> |
683 | + |
684 | +<?php if ( wpcf7_admin_has_edit_cap() ) : ?> |
685 | + |
686 | + <table class="widefat" style="margin-top: 1em;"> |
687 | + <tbody> |
688 | + <tr> |
689 | + <td scope="col"> |
690 | + <div class="save-contact-form"> |
691 | + <input type="submit" class="button button-highlighted" name="wpcf7-save" value="<?php echo esc_attr( __( 'Save', 'wpcf7' ) ); ?>" /> |
692 | + </div> |
693 | + </td> |
694 | + </tr> |
695 | + </tbody> |
696 | + </table> |
697 | + |
698 | +<?php endif; ?> |
699 | + |
700 | +</form> |
701 | + |
702 | +<?php endif; ?> |
703 | + |
704 | +</div> |
705 | + |
706 | +<div id="wpcf7-lang-select-modal" class="hidden"> |
707 | +<?php |
708 | + $available_locales = wpcf7_l10n(); |
709 | + $default_locale = get_locale(); |
710 | + |
711 | + if ( ! isset( $available_locales[$default_locale] ) ) |
712 | + $default_locale = 'en_US'; |
713 | + |
714 | +?> |
715 | +<h4><?php echo esc_html( sprintf( __( 'Use the default language (%s)', 'wpcf7' ), $available_locales[$default_locale] ) ); ?></h4> |
716 | +<p><a href="<?php echo wpcf7_admin_url( array( 'contactform' => 'new' ) ); ?>" class="button" /><?php echo esc_html( __( 'Add New', 'wpcf7' ) ); ?></a></p> |
717 | + |
718 | +<?php unset( $available_locales[$default_locale] ); ?> |
719 | +<h4><?php echo esc_html( __( 'Or', 'wpcf7' ) ); ?></h4> |
720 | +<form action="" method="get"> |
721 | +<input type="hidden" name="page" value="wpcf7" /> |
722 | +<input type="hidden" name="contactform" value="new" /> |
723 | +<select name="locale"> |
724 | +<option value="" selected="selected"><?php echo esc_html( __( '(select language)', 'wpcf7' ) ); ?></option> |
725 | +<?php foreach ( $available_locales as $code => $locale ) : ?> |
726 | +<option value="<?php echo esc_attr( $code ); ?>"><?php echo esc_html( $locale ); ?></option> |
727 | +<?php endforeach; ?> |
728 | +</select> |
729 | +<input type="submit" class="button" value="<?php echo esc_attr( __( 'Add New', 'wpcf7' ) ); ?>" /> |
730 | +</form> |
731 | +</div> |
732 | + |
733 | +<?php do_action_ref_array( 'wpcf7_admin_footer', array( &$cf ) ); ?> |
734 | |
735 | === added file 'wp-content/plugins/contact-form-7/admin/scripts.js' |
736 | --- wp-content/plugins/contact-form-7/admin/scripts.js 1970-01-01 00:00:00 +0000 |
737 | +++ wp-content/plugins/contact-form-7/admin/scripts.js 2011-02-18 16:15:41 +0000 |
738 | @@ -0,0 +1,116 @@ |
739 | +(function($) { |
740 | + |
741 | + $(function() { |
742 | + try { |
743 | + $.extend($.tgPanes, _wpcf7.tagGenerators); |
744 | + $('#taggenerator').tagGenerator(_wpcf7L10n.generateTag, |
745 | + { dropdownIconUrl: _wpcf7.pluginUrl + '/images/dropdown.gif' }); |
746 | + |
747 | + $('input#wpcf7-title:enabled').css({ |
748 | + cursor: 'pointer' |
749 | + }); |
750 | + |
751 | + $('input#wpcf7-title').mouseover(function() { |
752 | + $(this).not('.focus').css({ |
753 | + 'background-color': '#ffffdd' |
754 | + }); |
755 | + }); |
756 | + |
757 | + $('input#wpcf7-title').mouseout(function() { |
758 | + $(this).css({ |
759 | + 'background-color': '#fff' |
760 | + }); |
761 | + }); |
762 | + |
763 | + $('input#wpcf7-title').focus(function() { |
764 | + $(this).addClass('focus'); |
765 | + $(this).css({ |
766 | + cursor: 'text', |
767 | + color: '#333', |
768 | + border: '1px solid #777', |
769 | + font: 'normal 13px Verdana, Arial, Helvetica, sans-serif', |
770 | + 'background-color': '#fff' |
771 | + }); |
772 | + }); |
773 | + |
774 | + $('input#wpcf7-title').blur(function() { |
775 | + $(this).removeClass('focus'); |
776 | + $(this).css({ |
777 | + cursor: 'pointer', |
778 | + color: '#555', |
779 | + border: 'none', |
780 | + font: 'bold 20px serif', |
781 | + 'background-color': '#fff' |
782 | + }); |
783 | + }); |
784 | + |
785 | + $('input#wpcf7-title').change(function() { |
786 | + updateTag(); |
787 | + }); |
788 | + |
789 | + updateTag(); |
790 | + |
791 | + if ($.support.objectAll) { |
792 | + if (! $('#wpcf7-mail-2-active').is(':checked')) |
793 | + $('#mail-2-fields').hide(); |
794 | + |
795 | + $('#wpcf7-mail-2-active').click(function() { |
796 | + if ($('#mail-2-fields').is(':hidden') |
797 | + && $('#wpcf7-mail-2-active').is(':checked')) { |
798 | + $('#mail-2-fields').slideDown('fast'); |
799 | + } else if ($('#mail-2-fields').is(':visible') |
800 | + && $('#wpcf7-mail-2-active').not(':checked')) { |
801 | + $('#mail-2-fields').slideUp('fast'); |
802 | + } |
803 | + }); |
804 | + } |
805 | + |
806 | + $('#message-fields-toggle-switch').text(_wpcf7L10n.show); |
807 | + $('#message-fields').hide(); |
808 | + |
809 | + $('#message-fields-toggle-switch').click(function() { |
810 | + if ($('#message-fields').is(':hidden')) { |
811 | + $('#message-fields').slideDown('fast'); |
812 | + $('#message-fields-toggle-switch').text(_wpcf7L10n.hide); |
813 | + } else { |
814 | + $('#message-fields').hide('fast'); |
815 | + $('#message-fields-toggle-switch').text(_wpcf7L10n.show); |
816 | + } |
817 | + }); |
818 | + |
819 | + if ('' == $.trim($('#wpcf7-additional-settings').text())) { |
820 | + $('#additional-settings-fields-toggle-switch').text(_wpcf7L10n.show); |
821 | + $('#additional-settings-fields').hide(); |
822 | + } else { |
823 | + $('#additional-settings-fields-toggle-switch').text(_wpcf7L10n.hide); |
824 | + $('#additional-settings-fields').show(); |
825 | + } |
826 | + |
827 | + $('#additional-settings-fields-toggle-switch').click(function() { |
828 | + if ($('#additional-settings-fields').is(':hidden')) { |
829 | + $('#additional-settings-fields').slideDown('fast'); |
830 | + $('#additional-settings-fields-toggle-switch').text(_wpcf7L10n.hide); |
831 | + } else { |
832 | + $('#additional-settings-fields').hide('fast'); |
833 | + $('#additional-settings-fields-toggle-switch').text(_wpcf7L10n.show); |
834 | + } |
835 | + }); |
836 | + |
837 | + } catch (e) { |
838 | + } |
839 | + }); |
840 | + |
841 | + function updateTag() { |
842 | + var title = $('input#wpcf7-title').val(); |
843 | + |
844 | + if (title) |
845 | + title = title.replace(/["'\[\]]/g, ''); |
846 | + |
847 | + $('input#wpcf7-title').val(title); |
848 | + var current = $('input#wpcf7-id').val(); |
849 | + var tag = '[contact-form ' + current + ' "' + title + '"]'; |
850 | + |
851 | + $('input#contact-form-anchor-text').val(tag); |
852 | + } |
853 | + |
854 | +})(jQuery); |
855 | \ No newline at end of file |
856 | |
857 | === added file 'wp-content/plugins/contact-form-7/admin/styles-rtl.css' |
858 | --- wp-content/plugins/contact-form-7/admin/styles-rtl.css 1970-01-01 00:00:00 +0000 |
859 | +++ wp-content/plugins/contact-form-7/admin/styles-rtl.css 2011-02-18 16:15:41 +0000 |
860 | @@ -0,0 +1,22 @@ |
861 | +ul.subsubsub li.addnew { |
862 | + margin-left: 0; |
863 | + margin-right: 0.5em; |
864 | +} |
865 | +div.save-contact-form { |
866 | + direction: rtl; |
867 | +} |
868 | +div.actions-link { |
869 | + right: auto; |
870 | + left: 0; |
871 | +} |
872 | +span#message-fields-toggle-switch { |
873 | + margin-left: 0; |
874 | + margin-right: 1em; |
875 | +} |
876 | +div.tg-pane table caption { |
877 | + text-align: right; |
878 | +} |
879 | +div.tg-dropdown { |
880 | + left: auto; |
881 | + right: 0; |
882 | +} |
883 | \ No newline at end of file |
884 | |
885 | === added file 'wp-content/plugins/contact-form-7/admin/styles.css' |
886 | --- wp-content/plugins/contact-form-7/admin/styles.css 1970-01-01 00:00:00 +0000 |
887 | +++ wp-content/plugins/contact-form-7/admin/styles.css 2011-02-18 16:15:41 +0000 |
888 | @@ -0,0 +1,248 @@ |
889 | +div.wpcf7 div.cf7com-links { |
890 | + text-align: right; |
891 | + font-size: .8em; |
892 | + margin-top: -1.6em; |
893 | +} |
894 | + |
895 | +div.wpcf7 div.cf7com-links a { |
896 | + text-decoration: none; |
897 | +} |
898 | + |
899 | +div.wpcf7 div.donation { |
900 | + border-width: 1px; |
901 | + border-style: solid; |
902 | + padding: 0 0.6em; |
903 | + margin: 5px 0 15px; |
904 | + -moz-border-radius: 3px; |
905 | + -khtml-border-radius: 3px; |
906 | + -webkit-border-radius: 3px; |
907 | + border-radius: 3px; |
908 | + background-color: #ffffe0; |
909 | + border-color: #e6db55; |
910 | + text-align: center; |
911 | +} |
912 | + |
913 | +div.wpcf7 div.donation p { |
914 | + margin: .7em 0; |
915 | + line-height: 1; |
916 | + padding: 2px; |
917 | + font-size: 107%; |
918 | +} |
919 | + |
920 | +div.wpcf7 div.donation p a { |
921 | + font-weight: bold; |
922 | + color: #3f3f3f; |
923 | +} |
924 | + |
925 | +div.wpcf7 div.donation p a.button { |
926 | + margin-left: 1em; |
927 | +} |
928 | + |
929 | +div.wpcf7 ul.subsubsub { |
930 | + white-space: normal; |
931 | +} |
932 | + |
933 | +ul.subsubsub li.addnew { |
934 | + margin-left: 0.5em; |
935 | +} |
936 | + |
937 | +ul.subsubsub li.addnew a { |
938 | + color: #e6255b; |
939 | +} |
940 | + |
941 | +ul.subsubsub li.addnew a:hover, |
942 | +ul.subsubsub li.addnew a:active { |
943 | + color: #999; |
944 | +} |
945 | + |
946 | +div.save-contact-form { |
947 | + padding: 1.4em 0 0 0; |
948 | + text-align: right; |
949 | +} |
950 | + |
951 | +div.actions-link { |
952 | + position: absolute; |
953 | + top: 0; |
954 | + right: 0; |
955 | + margin: 0; |
956 | + padding: 0; |
957 | +} |
958 | + |
959 | +div.actions-link input { |
960 | + padding: 0; |
961 | + margin: 0; |
962 | + border: none; |
963 | + background-color: #fff; |
964 | + font-size: 11px; |
965 | + cursor: pointer; |
966 | +} |
967 | + |
968 | +div.actions-link input.copy { |
969 | + color: #006505; |
970 | +} |
971 | + |
972 | +div.actions-link input.delete { |
973 | + color: #bc0b0b; |
974 | +} |
975 | + |
976 | +input#wpcf7-title { |
977 | + color: #555; |
978 | + background-color: #fff; |
979 | + border: none; |
980 | + font: bold 20px serif; |
981 | +} |
982 | + |
983 | +p.tagcode { |
984 | + color: #333; |
985 | + margin: 2ex 0 1ex 1em; |
986 | +} |
987 | + |
988 | +input#contact-form-anchor-text { |
989 | + color: #fff; |
990 | + background: #7e4e0b; |
991 | + border: none; |
992 | + width: 99%; |
993 | + -moz-border-radius: 6px; |
994 | + -khtml-border-radius: 6px; |
995 | + -webkit-border-radius: 6px; |
996 | + border-radius: 6px; |
997 | +} |
998 | + |
999 | +span#message-fields-toggle-switch, span#additional-settings-fields-toggle-switch { |
1000 | + margin-left: 1em; |
1001 | + font-weight: normal; |
1002 | + font-size: smaller; |
1003 | + color: #2583ad; |
1004 | + cursor: pointer; |
1005 | +} |
1006 | + |
1007 | +div.pseudo-hr { |
1008 | + border-bottom: 1px solid #fff; |
1009 | + margin: 0.7em 0; |
1010 | +} |
1011 | + |
1012 | +input, textarea { |
1013 | + border: 1px solid #dfdfdf; |
1014 | +} |
1015 | + |
1016 | +input.wide { |
1017 | + width: 100%; |
1018 | +} |
1019 | + |
1020 | +textarea { |
1021 | + width: 100%; |
1022 | +} |
1023 | + |
1024 | +label.disabled { |
1025 | + color: #777; |
1026 | +} |
1027 | + |
1028 | +div.message-field { |
1029 | + margin: .2em 0 .4em; |
1030 | +} |
1031 | + |
1032 | +div.tag-generator { |
1033 | + position: relative; |
1034 | + background: #fff; |
1035 | + padding: 5px 0 5px 1px; |
1036 | +} |
1037 | + |
1038 | +div.tg-pane { |
1039 | + border: 1px dashed #999; |
1040 | + background: #f1f1f1; |
1041 | + margin: 1ex 0 0 0; |
1042 | + padding: 10px; |
1043 | + -moz-border-radius: 6px; |
1044 | + -khtml-border-radius: 6px; |
1045 | + -webkit-border-radius: 6px; |
1046 | + border-radius: 6px; |
1047 | +} |
1048 | + |
1049 | +div.tg-pane table { |
1050 | + width: 100%; |
1051 | + margin: 0 0 0.7em 0; |
1052 | +} |
1053 | + |
1054 | +div.tg-pane table caption { |
1055 | + text-align: left; |
1056 | + padding: 0 0 0.2em 0; |
1057 | + font-weight: bolder; |
1058 | + color: #777; |
1059 | +} |
1060 | + |
1061 | +div.tg-pane table code { |
1062 | + background-color: inherit; |
1063 | +} |
1064 | + |
1065 | +div.tg-pane table td { |
1066 | + vertical-align: top; |
1067 | + width: 50%; |
1068 | + border: none; |
1069 | +} |
1070 | + |
1071 | +div.tg-pane input.tag, div.tg-pane input.mail-tag { |
1072 | + width: 100%; |
1073 | + border: none; |
1074 | + color: #fff; |
1075 | + background-color: #7e4e0b; |
1076 | + -moz-border-radius: 6px; |
1077 | + -khtml-border-radius: 6px; |
1078 | + -webkit-border-radius: 6px; |
1079 | + border-radius: 6px; |
1080 | +} |
1081 | + |
1082 | +div.tg-pane input.mail-tag { |
1083 | + width: 50%; |
1084 | + background-color: #404f03; |
1085 | +} |
1086 | + |
1087 | +div.tg-mail-tag { |
1088 | + margin-top: 2.4em; |
1089 | + text-align: right; |
1090 | +} |
1091 | + |
1092 | +div.tg-pane span.arrow { |
1093 | + font-family: monospace; |
1094 | + font-size: 1.2em; |
1095 | + color: #333; |
1096 | +} |
1097 | + |
1098 | +div.tg-pane input.tg-name { |
1099 | + border-color: #555; |
1100 | +} |
1101 | + |
1102 | +div.tg-pane input.oneline { |
1103 | + width: 98%; |
1104 | + font-size: smaller; |
1105 | +} |
1106 | + |
1107 | +div.tg-pane textarea { |
1108 | + width: 98%; |
1109 | + height: 100px; |
1110 | + font-size: smaller; |
1111 | +} |
1112 | + |
1113 | +div.tg-pane div.tg-tag { |
1114 | + margin: .4em 0; |
1115 | +} |
1116 | + |
1117 | +div.tg-dropdown { |
1118 | + position: absolute; |
1119 | + top: 26px; |
1120 | + left: 0; |
1121 | + z-index: 10; |
1122 | + border: 1px solid #ddd; |
1123 | +} |
1124 | + |
1125 | +span.tg-closebutton { |
1126 | + color: #777; |
1127 | + font: bold 18px monospace; |
1128 | + padding: 1px 4px; |
1129 | + cursor: pointer; |
1130 | +} |
1131 | + |
1132 | +div.tg-panetitle { |
1133 | + font: bold 132% sans-serif; |
1134 | + margin: 0 0 10px; |
1135 | + color: #777; |
1136 | +} |
1137 | \ No newline at end of file |
1138 | |
1139 | === added file 'wp-content/plugins/contact-form-7/admin/taggenerator.js' |
1140 | --- wp-content/plugins/contact-form-7/admin/taggenerator.js 1970-01-01 00:00:00 +0000 |
1141 | +++ wp-content/plugins/contact-form-7/admin/taggenerator.js 2011-02-18 16:15:41 +0000 |
1142 | @@ -0,0 +1,262 @@ |
1143 | +(function($) { |
1144 | + |
1145 | + $.fn.tagGenerator = function(title, options) { |
1146 | + var menu = $('<div class="tag-generator"></div>'); |
1147 | + |
1148 | + var selector = $('<span>' + title + '</span>'); |
1149 | + |
1150 | + selector.css({ |
1151 | + border: '1px solid #ddd', |
1152 | + padding: '2px 4px', |
1153 | + background: '#fff url( ../wp-admin/images/fade-butt.png ) repeat-x 0 0', |
1154 | + '-moz-border-radius': '3px', |
1155 | + '-khtml-border-radius': '3px', |
1156 | + '-webkit-border-radius': '3px', |
1157 | + 'border-radius': '3px' |
1158 | + }); |
1159 | + |
1160 | + selector.mouseover(function() { |
1161 | + $(this).css({ 'border-color': '#bbb' }); |
1162 | + }); |
1163 | + selector.mouseout(function() { |
1164 | + $(this).css({ 'border-color': '#ddd' }); |
1165 | + }); |
1166 | + selector.mousedown(function() { |
1167 | + $(this).css({ background: '#ddd' }); |
1168 | + }); |
1169 | + selector.mouseup(function() { |
1170 | + $(this).css({ |
1171 | + background: '#fff url( ../wp-admin/images/fade-butt.png ) repeat-x 0 0' |
1172 | + }); |
1173 | + }); |
1174 | + selector.click(function() { |
1175 | + dropdown.slideDown('fast'); |
1176 | + return false; |
1177 | + }); |
1178 | + $('body').click(function() { |
1179 | + dropdown.hide(); |
1180 | + }); |
1181 | + |
1182 | + if (options.dropdownIconUrl) { |
1183 | + var dropdown_icon = $('<img src="' + options.dropdownIconUrl + '" />'); |
1184 | + dropdown_icon.css({ 'vertical-align': 'bottom' }); |
1185 | + selector.append(dropdown_icon); |
1186 | + } |
1187 | + |
1188 | + menu.append(selector); |
1189 | + |
1190 | + var pane = $('<div class="tg-pane"></div>'); |
1191 | + pane.hide(); |
1192 | + menu.append(pane); |
1193 | + |
1194 | + var dropdown = $('<div class="tg-dropdown"></div>'); |
1195 | + dropdown.hide(); |
1196 | + menu.append(dropdown); |
1197 | + |
1198 | + $.each($.tgPanes, function(i, n) { |
1199 | + var submenu = $('<div>' + $.tgPanes[i].title + '</div>'); |
1200 | + submenu.css({ |
1201 | + margin: 0, |
1202 | + padding: '0 4px', |
1203 | + 'line-height': '180%', |
1204 | + background: '#fff' |
1205 | + }); |
1206 | + submenu.mouseover(function() { |
1207 | + $(this).css({ background: '#d4f2f2' }); |
1208 | + }); |
1209 | + submenu.mouseout(function() { |
1210 | + $(this).css({ background: '#fff' }); |
1211 | + }); |
1212 | + submenu.click(function() { |
1213 | + dropdown.hide(); |
1214 | + pane.hide(); |
1215 | + pane.empty(); |
1216 | + $.tgPane(pane, i); |
1217 | + pane.slideDown('fast'); |
1218 | + return false; |
1219 | + }); |
1220 | + dropdown.append(submenu); |
1221 | + }); |
1222 | + |
1223 | + this.append(menu); |
1224 | + }; |
1225 | + |
1226 | + $.tgPane = function(pane, tagType) { |
1227 | + var closeButtonDiv = $('<div></div>'); |
1228 | + closeButtonDiv.css({ float: 'right' }); |
1229 | + |
1230 | + var closeButton = $('<span class="tg-closebutton">×</span>'); |
1231 | + closeButton.click(function() { |
1232 | + pane.slideUp('fast').empty(); |
1233 | + }); |
1234 | + closeButtonDiv.append(closeButton); |
1235 | + |
1236 | + pane.append(closeButtonDiv); |
1237 | + |
1238 | + var paneTitle = $('<div class="tg-panetitle">' + $.tgPanes[tagType].title + '</div>'); |
1239 | + pane.append(paneTitle); |
1240 | + |
1241 | + pane.append($('#' + $.tgPanes[tagType].content).clone().contents()); |
1242 | + |
1243 | + pane.find(':checkbox.exclusive').change(function() { |
1244 | + if ($(this).is(':checked')) |
1245 | + $(this).siblings(':checkbox.exclusive').removeAttr('checked'); |
1246 | + }); |
1247 | + |
1248 | + if ($.isFunction($.tgPanes[tagType].change)) |
1249 | + $.tgPanes[tagType].change(pane, tagType); |
1250 | + else |
1251 | + $.tgCreateTag(pane, tagType); |
1252 | + |
1253 | + pane.find(':input').change(function() { |
1254 | + if ($.isFunction($.tgPanes[tagType].change)) |
1255 | + $.tgPanes[tagType].change(pane, tagType); |
1256 | + else |
1257 | + $.tgCreateTag(pane, tagType); |
1258 | + }); |
1259 | + } |
1260 | + |
1261 | + $.tgCreateTag = function(pane, tagType) { |
1262 | + pane.find('input[name="name"]').each(function(i) { |
1263 | + var val = $(this).val(); |
1264 | + val = val.replace(/[^0-9a-zA-Z:._-]/g, '').replace(/^[^a-zA-Z]+/, ''); |
1265 | + if ('' == val) { |
1266 | + var rand = Math.floor(Math.random() * 1000); |
1267 | + val = tagType + '-' + rand; |
1268 | + } |
1269 | + $(this).val(val); |
1270 | + }); |
1271 | + |
1272 | + pane.find(':input.numeric').each(function(i) { |
1273 | + var val = $(this).val(); |
1274 | + val = val.replace(/[^0-9]/g, ''); |
1275 | + $(this).val(val); |
1276 | + }); |
1277 | + |
1278 | + pane.find(':input.idvalue').each(function(i) { |
1279 | + var val = $(this).val(); |
1280 | + val = val.replace(/[^-0-9a-zA-Z_]/g, ''); |
1281 | + $(this).val(val); |
1282 | + }); |
1283 | + |
1284 | + pane.find(':input.classvalue').each(function(i) { |
1285 | + var val = $(this).val(); |
1286 | + val = $.map(val.split(' '), function(n) { |
1287 | + return n.replace(/[^-0-9a-zA-Z_]/g, ''); |
1288 | + }).join(' '); |
1289 | + val = $.trim(val.replace(/\s+/g, ' ')); |
1290 | + $(this).val(val); |
1291 | + }); |
1292 | + |
1293 | + pane.find(':input.color').each(function(i) { |
1294 | + var val = $(this).val(); |
1295 | + val = val.replace(/[^0-9a-fA-F]/g, ''); |
1296 | + $(this).val(val); |
1297 | + }); |
1298 | + |
1299 | + pane.find(':input.filesize').each(function(i) { |
1300 | + var val = $(this).val(); |
1301 | + val = val.replace(/[^0-9kKmMbB]/g, ''); |
1302 | + $(this).val(val); |
1303 | + }); |
1304 | + |
1305 | + pane.find(':input.filetype').each(function(i) { |
1306 | + var val = $(this).val(); |
1307 | + val = val.replace(/[^0-9a-zA-Z.\s]/g, ''); |
1308 | + $(this).val(val); |
1309 | + }); |
1310 | + |
1311 | + pane.find(':input.date').each(function(i) { |
1312 | + var val = $(this).val(); |
1313 | + if (! val.match(/^\d{4}-\d{1,2}-\d{1,2}$/)) // 'yyyy-mm-dd' ISO 8601 format |
1314 | + $(this).val(''); |
1315 | + }); |
1316 | + |
1317 | + pane.find(':input[name="values"]').each(function(i) { |
1318 | + var val = $(this).val(); |
1319 | + val = $.trim(val); |
1320 | + $(this).val(val); |
1321 | + }); |
1322 | + |
1323 | + pane.find('input.tag').each(function(i) { |
1324 | + var type = $(this).attr('name'); |
1325 | + |
1326 | + var scope = pane.find('.scope.' + type); |
1327 | + if (! scope.length) |
1328 | + scope = pane; |
1329 | + |
1330 | + if (pane.find(':input[name="required"]').is(':checked')) |
1331 | + type += '*'; |
1332 | + |
1333 | + var name = pane.find(':input[name="name"]').val(); |
1334 | + |
1335 | + var options = []; |
1336 | + |
1337 | + var size = scope.find(':input[name="size"]').val(); |
1338 | + var maxlength = scope.find(':input[name="maxlength"]').val(); |
1339 | + if (size || maxlength) |
1340 | + options.push(size + '/' + maxlength); |
1341 | + |
1342 | + var cols = scope.find(':input[name="cols"]').val(); |
1343 | + var rows = scope.find(':input[name="rows"]').val(); |
1344 | + if (cols || rows) |
1345 | + options.push(cols + 'x' + rows); |
1346 | + |
1347 | + scope.find('input:text.option').each(function(i) { |
1348 | + if (-1 < $.inArray($(this).attr('name'), ['size', 'maxlength', 'cols', 'rows'])) |
1349 | + return; |
1350 | + |
1351 | + var val = $(this).val(); |
1352 | + |
1353 | + if (! val) |
1354 | + return; |
1355 | + |
1356 | + if ($(this).hasClass('filetype')) |
1357 | + val = val.split(' ').join('|'); |
1358 | + |
1359 | + if ($(this).hasClass('color')) |
1360 | + val = '#' + val; |
1361 | + |
1362 | + if ('class' == $(this).attr('name')) { |
1363 | + $.each(val.split(' '), function(i, n) { options.push('class:' + n) }); |
1364 | + } else { |
1365 | + options.push($(this).attr('name') + ':' + val); |
1366 | + } |
1367 | + }); |
1368 | + |
1369 | + scope.find('input:checkbox.option').each(function(i) { |
1370 | + if ($(this).is(':checked')) |
1371 | + options.push($(this).attr('name')); |
1372 | + }); |
1373 | + |
1374 | + options = (options.length > 0) ? ' ' + options.join(' ') : ''; |
1375 | + |
1376 | + var value = ''; |
1377 | + |
1378 | + if (scope.find(':input[name="values"]').val()) { |
1379 | + $.each(scope.find(':input[name="values"]').val().split("\n"), function(i, n) { |
1380 | + value += ' "' + n.replace(/["]/g, '"') + '"'; |
1381 | + }); |
1382 | + } |
1383 | + |
1384 | + if ($.tgPanes[tagType].nameless) |
1385 | + var tag = '[' + type + options + value + ']'; |
1386 | + else |
1387 | + var tag = name ? '[' + type + ' ' + name + options + value + ']' : ''; |
1388 | + |
1389 | + $(this).val(tag); |
1390 | + }); |
1391 | + |
1392 | + pane.find('input.mail-tag').each(function(i) { |
1393 | + var name = pane.find(':input[name="name"]').val(); |
1394 | + |
1395 | + var tag = name ? '[' + name + ']' : ''; |
1396 | + |
1397 | + $(this).val(tag); |
1398 | + }); |
1399 | + |
1400 | + } |
1401 | + |
1402 | + $.tgPanes = {}; |
1403 | + |
1404 | +})(jQuery); |
1405 | \ No newline at end of file |
1406 | |
1407 | === added directory 'wp-content/plugins/contact-form-7/images' |
1408 | === added file 'wp-content/plugins/contact-form-7/images/ajax-loader.gif' |
1409 | Binary files wp-content/plugins/contact-form-7/images/ajax-loader.gif 1970-01-01 00:00:00 +0000 and wp-content/plugins/contact-form-7/images/ajax-loader.gif 2011-02-18 16:15:41 +0000 differ |
1410 | === added file 'wp-content/plugins/contact-form-7/images/dropdown.gif' |
1411 | Binary files wp-content/plugins/contact-form-7/images/dropdown.gif 1970-01-01 00:00:00 +0000 and wp-content/plugins/contact-form-7/images/dropdown.gif 2011-02-18 16:15:41 +0000 differ |
1412 | === added directory 'wp-content/plugins/contact-form-7/includes' |
1413 | === added file 'wp-content/plugins/contact-form-7/includes/classes.php' |
1414 | --- wp-content/plugins/contact-form-7/includes/classes.php 1970-01-01 00:00:00 +0000 |
1415 | +++ wp-content/plugins/contact-form-7/includes/classes.php 2011-02-18 16:15:41 +0000 |
1416 | @@ -0,0 +1,645 @@ |
1417 | +<?php |
1418 | + |
1419 | +class WPCF7_ContactForm { |
1420 | + |
1421 | + var $initial = false; |
1422 | + |
1423 | + var $id; |
1424 | + var $title; |
1425 | + var $form; |
1426 | + var $mail; |
1427 | + var $mail_2; |
1428 | + var $messages; |
1429 | + var $additional_settings; |
1430 | + |
1431 | + var $unit_tag; |
1432 | + |
1433 | + var $responses_count = 0; |
1434 | + var $scanned_form_tags; |
1435 | + |
1436 | + var $posted_data; |
1437 | + var $uploaded_files; |
1438 | + |
1439 | + var $skip_mail = false; |
1440 | + |
1441 | + // Return true if this form is the same one as currently POSTed. |
1442 | + function is_posted() { |
1443 | + if ( ! isset( $_POST['_wpcf7_unit_tag'] ) || empty( $_POST['_wpcf7_unit_tag'] ) ) |
1444 | + return false; |
1445 | + |
1446 | + if ( $this->unit_tag == $_POST['_wpcf7_unit_tag'] ) |
1447 | + return true; |
1448 | + |
1449 | + return false; |
1450 | + } |
1451 | + |
1452 | + function clear_post() { |
1453 | + $fes = $this->form_scan_shortcode(); |
1454 | + |
1455 | + foreach ( $fes as $fe ) { |
1456 | + $name = $fe['name']; |
1457 | + |
1458 | + if ( empty( $name ) ) |
1459 | + continue; |
1460 | + |
1461 | + if ( isset( $_POST[$name] ) ) |
1462 | + unset( $_POST[$name] ); |
1463 | + } |
1464 | + } |
1465 | + |
1466 | + /* Generating Form HTML */ |
1467 | + |
1468 | + function form_html() { |
1469 | + $form = '<div class="wpcf7" id="' . $this->unit_tag . '">'; |
1470 | + |
1471 | + $url = wpcf7_get_request_uri(); |
1472 | + |
1473 | + if ( $frag = strstr( $url, '#' ) ) |
1474 | + $url = substr( $url, 0, -strlen( $frag ) ); |
1475 | + |
1476 | + $url .= '#' . $this->unit_tag; |
1477 | + |
1478 | + $url = apply_filters( 'wpcf7_form_action_url', $url ); |
1479 | + $enctype = apply_filters( 'wpcf7_form_enctype', '' ); |
1480 | + $class = apply_filters( 'wpcf7_form_class_attr', 'wpcf7-form' ); |
1481 | + |
1482 | + $form .= '<form action="' . esc_url_raw( $url ) . '" method="post"' |
1483 | + . ' class="' . esc_attr( $class ) . '"' . $enctype . '>' . "\n"; |
1484 | + $form .= '<div style="display: none;">' . "\n"; |
1485 | + $form .= '<input type="hidden" name="_wpcf7" value="' |
1486 | + . esc_attr( $this->id ) . '" />' . "\n"; |
1487 | + $form .= '<input type="hidden" name="_wpcf7_version" value="' |
1488 | + . esc_attr( WPCF7_VERSION ) . '" />' . "\n"; |
1489 | + $form .= '<input type="hidden" name="_wpcf7_unit_tag" value="' |
1490 | + . esc_attr( $this->unit_tag ) . '" />' . "\n"; |
1491 | + $form .= '</div>' . "\n"; |
1492 | + $form .= $this->form_elements(); |
1493 | + |
1494 | + if ( ! $this->responses_count ) |
1495 | + $form .= $this->form_response_output(); |
1496 | + |
1497 | + $form .= '</form>'; |
1498 | + |
1499 | + $form .= '</div>'; |
1500 | + |
1501 | + return $form; |
1502 | + } |
1503 | + |
1504 | + function form_response_output() { |
1505 | + $class = 'wpcf7-response-output'; |
1506 | + $content = ''; |
1507 | + |
1508 | + if ( $this->is_posted() ) { // Post response output for non-AJAX |
1509 | + if ( isset( $_POST['_wpcf7_mail_sent'] ) && $_POST['_wpcf7_mail_sent']['id'] == $this->id ) { |
1510 | + if ( $_POST['_wpcf7_mail_sent']['ok'] ) { |
1511 | + $class .= ' wpcf7-mail-sent-ok'; |
1512 | + $content = $_POST['_wpcf7_mail_sent']['message']; |
1513 | + } else { |
1514 | + $class .= ' wpcf7-mail-sent-ng'; |
1515 | + if ( $_POST['_wpcf7_mail_sent']['spam'] ) |
1516 | + $class .= ' wpcf7-spam-blocked'; |
1517 | + $content = $_POST['_wpcf7_mail_sent']['message']; |
1518 | + } |
1519 | + } elseif ( isset( $_POST['_wpcf7_validation_errors'] ) && $_POST['_wpcf7_validation_errors']['id'] == $this->id ) { |
1520 | + $class .= ' wpcf7-validation-errors'; |
1521 | + $content = $this->message( 'validation_error' ); |
1522 | + } |
1523 | + } else { |
1524 | + $class .= ' wpcf7-display-none'; |
1525 | + } |
1526 | + |
1527 | + $class = ' class="' . $class . '"'; |
1528 | + |
1529 | + return '<div' . $class . '>' . $content . '</div>'; |
1530 | + } |
1531 | + |
1532 | + function validation_error( $name ) { |
1533 | + if ( ! $this->is_posted() ) |
1534 | + return ''; |
1535 | + |
1536 | + if ( ! isset( $_POST['_wpcf7_validation_errors']['messages'][$name] ) ) |
1537 | + return ''; |
1538 | + |
1539 | + $ve = trim( $_POST['_wpcf7_validation_errors']['messages'][$name] ); |
1540 | + |
1541 | + if ( ! empty( $ve ) ) { |
1542 | + $ve = '<span class="wpcf7-not-valid-tip-no-ajax">' . esc_html( $ve ) . '</span>'; |
1543 | + return apply_filters( 'wpcf7_validation_error', $ve, $name, $this ); |
1544 | + } |
1545 | + |
1546 | + return ''; |
1547 | + } |
1548 | + |
1549 | + /* Form Elements */ |
1550 | + |
1551 | + function form_do_shortcode() { |
1552 | + global $wpcf7_shortcode_manager; |
1553 | + |
1554 | + $form = $this->form; |
1555 | + |
1556 | + if ( WPCF7_AUTOP ) { |
1557 | + $form = $wpcf7_shortcode_manager->normalize_shortcode( $form ); |
1558 | + $form = wpcf7_autop( $form ); |
1559 | + } |
1560 | + |
1561 | + $form = $wpcf7_shortcode_manager->do_shortcode( $form ); |
1562 | + $this->scanned_form_tags = $wpcf7_shortcode_manager->scanned_tags; |
1563 | + |
1564 | + return $form; |
1565 | + } |
1566 | + |
1567 | + function form_scan_shortcode( $cond = null ) { |
1568 | + global $wpcf7_shortcode_manager; |
1569 | + |
1570 | + if ( ! empty( $this->scanned_form_tags ) ) { |
1571 | + $scanned = $this->scanned_form_tags; |
1572 | + } else { |
1573 | + $scanned = $wpcf7_shortcode_manager->scan_shortcode( $this->form ); |
1574 | + $this->scanned_form_tags = $scanned; |
1575 | + } |
1576 | + |
1577 | + if ( empty( $scanned ) ) |
1578 | + return null; |
1579 | + |
1580 | + if ( ! is_array( $cond ) || empty( $cond ) ) |
1581 | + return $scanned; |
1582 | + |
1583 | + for ( $i = 0, $size = count( $scanned ); $i < $size; $i++ ) { |
1584 | + |
1585 | + if ( isset( $cond['type'] ) ) { |
1586 | + if ( is_string( $cond['type'] ) && ! empty( $cond['type'] ) ) { |
1587 | + if ( $scanned[$i]['type'] != $cond['type'] ) { |
1588 | + unset( $scanned[$i] ); |
1589 | + continue; |
1590 | + } |
1591 | + } elseif ( is_array( $cond['type'] ) ) { |
1592 | + if ( ! in_array( $scanned[$i]['type'], $cond['type'] ) ) { |
1593 | + unset( $scanned[$i] ); |
1594 | + continue; |
1595 | + } |
1596 | + } |
1597 | + } |
1598 | + |
1599 | + if ( isset( $cond['name'] ) ) { |
1600 | + if ( is_string( $cond['name'] ) && ! empty( $cond['name'] ) ) { |
1601 | + if ( $scanned[$i]['name'] != $cond['name'] ) { |
1602 | + unset ( $scanned[$i] ); |
1603 | + continue; |
1604 | + } |
1605 | + } elseif ( is_array( $cond['name'] ) ) { |
1606 | + if ( ! in_array( $scanned[$i]['name'], $cond['name'] ) ) { |
1607 | + unset( $scanned[$i] ); |
1608 | + continue; |
1609 | + } |
1610 | + } |
1611 | + } |
1612 | + } |
1613 | + |
1614 | + return array_values( $scanned ); |
1615 | + } |
1616 | + |
1617 | + function form_elements() { |
1618 | + return apply_filters( 'wpcf7_form_elements', $this->form_do_shortcode() ); |
1619 | + } |
1620 | + |
1621 | + /* Validate */ |
1622 | + |
1623 | + function validate() { |
1624 | + $fes = $this->form_scan_shortcode(); |
1625 | + |
1626 | + $result = array( 'valid' => true, 'reason' => array() ); |
1627 | + |
1628 | + foreach ( $fes as $fe ) { |
1629 | + $result = apply_filters( 'wpcf7_validate_' . $fe['type'], $result, $fe ); |
1630 | + } |
1631 | + |
1632 | + return $result; |
1633 | + } |
1634 | + |
1635 | + /* Acceptance */ |
1636 | + |
1637 | + function accepted() { |
1638 | + $accepted = true; |
1639 | + |
1640 | + return apply_filters( 'wpcf7_acceptance', $accepted ); |
1641 | + } |
1642 | + |
1643 | + /* Akismet */ |
1644 | + |
1645 | + function akismet() { |
1646 | + global $akismet_api_host, $akismet_api_port; |
1647 | + |
1648 | + if ( ! function_exists( 'akismet_http_post' ) || |
1649 | + ! ( get_option( 'wordpress_api_key' ) || $wpcom_api_key ) ) |
1650 | + return false; |
1651 | + |
1652 | + $akismet_ready = false; |
1653 | + $author = $author_email = $author_url = $content = ''; |
1654 | + $fes = $this->form_scan_shortcode(); |
1655 | + |
1656 | + foreach ( $fes as $fe ) { |
1657 | + if ( ! is_array( $fe['options'] ) ) continue; |
1658 | + |
1659 | + if ( preg_grep( '%^akismet:author$%', $fe['options'] ) && '' == $author ) { |
1660 | + $author = $_POST[$fe['name']]; |
1661 | + $akismet_ready = true; |
1662 | + } |
1663 | + |
1664 | + if ( preg_grep( '%^akismet:author_email$%', $fe['options'] ) && '' == $author_email ) { |
1665 | + $author_email = $_POST[$fe['name']]; |
1666 | + $akismet_ready = true; |
1667 | + } |
1668 | + |
1669 | + if ( preg_grep( '%^akismet:author_url$%', $fe['options'] ) && '' == $author_url ) { |
1670 | + $author_url = $_POST[$fe['name']]; |
1671 | + $akismet_ready = true; |
1672 | + } |
1673 | + |
1674 | + if ( '' != $content ) |
1675 | + $content .= "\n\n"; |
1676 | + |
1677 | + $content .= $_POST[$fe['name']]; |
1678 | + } |
1679 | + |
1680 | + if ( ! $akismet_ready ) |
1681 | + return false; |
1682 | + |
1683 | + $c['blog'] = get_option( 'home' ); |
1684 | + $c['user_ip'] = preg_replace( '/[^0-9., ]/', '', $_SERVER['REMOTE_ADDR'] ); |
1685 | + $c['user_agent'] = $_SERVER['HTTP_USER_AGENT']; |
1686 | + $c['referrer'] = $_SERVER['HTTP_REFERER']; |
1687 | + $c['comment_type'] = 'contactform7'; |
1688 | + if ( $permalink = get_permalink() ) |
1689 | + $c['permalink'] = $permalink; |
1690 | + if ( '' != $author ) |
1691 | + $c['comment_author'] = $author; |
1692 | + if ( '' != $author_email ) |
1693 | + $c['comment_author_email'] = $author_email; |
1694 | + if ( '' != $author_url ) |
1695 | + $c['comment_author_url'] = $author_url; |
1696 | + if ( '' != $content ) |
1697 | + $c['comment_content'] = $content; |
1698 | + |
1699 | + $ignore = array( 'HTTP_COOKIE' ); |
1700 | + |
1701 | + foreach ( $_SERVER as $key => $value ) |
1702 | + if ( ! in_array( $key, (array) $ignore ) ) |
1703 | + $c["$key"] = $value; |
1704 | + |
1705 | + $query_string = ''; |
1706 | + foreach ( $c as $key => $data ) |
1707 | + $query_string .= $key . '=' . urlencode( stripslashes( (string) $data ) ) . '&'; |
1708 | + |
1709 | + $response = akismet_http_post( $query_string, $akismet_api_host, |
1710 | + '/1.1/comment-check', $akismet_api_port ); |
1711 | + if ( 'true' == $response[1] ) |
1712 | + return true; |
1713 | + else |
1714 | + return false; |
1715 | + } |
1716 | + |
1717 | + /* Mail */ |
1718 | + |
1719 | + function mail() { |
1720 | + $fes = $this->form_scan_shortcode(); |
1721 | + |
1722 | + foreach ( $fes as $fe ) { |
1723 | + if ( empty( $fe['name'] ) ) |
1724 | + continue; |
1725 | + |
1726 | + $name = $fe['name']; |
1727 | + $pipes = $fe['pipes']; |
1728 | + $value = $_POST[$name]; |
1729 | + |
1730 | + if ( WPCF7_USE_PIPE && is_a( $pipes, 'WPCF7_Pipes' ) && ! $pipes->zero() ) { |
1731 | + if ( is_array( $value) ) { |
1732 | + $new_value = array(); |
1733 | + foreach ( $value as $v ) { |
1734 | + $new_value[] = $pipes->do_pipe( stripslashes( $v ) ); |
1735 | + } |
1736 | + $value = $new_value; |
1737 | + } else { |
1738 | + $value = $pipes->do_pipe( stripslashes( $value ) ); |
1739 | + } |
1740 | + } |
1741 | + |
1742 | + $this->posted_data[$name] = $value; |
1743 | + } |
1744 | + |
1745 | + if ( $this->in_demo_mode() ) |
1746 | + $this->skip_mail = true; |
1747 | + |
1748 | + do_action_ref_array( 'wpcf7_before_send_mail', array( &$this ) ); |
1749 | + |
1750 | + if ( $this->skip_mail ) |
1751 | + return true; |
1752 | + |
1753 | + if ( $this->compose_and_send_mail( $this->mail ) ) { |
1754 | + if ( $this->mail_2['active'] ) |
1755 | + $this->compose_and_send_mail( $this->mail_2 ); |
1756 | + |
1757 | + return true; |
1758 | + } |
1759 | + |
1760 | + return false; |
1761 | + } |
1762 | + |
1763 | + function compose_and_send_mail( $mail_template ) { |
1764 | + $regex = '/\[\s*([a-zA-Z_][0-9a-zA-Z:._-]*)\s*\]/'; |
1765 | + |
1766 | + $use_html = (bool) $mail_template['use_html']; |
1767 | + |
1768 | + if ( $use_html ) |
1769 | + $callback = array( &$this, 'mail_callback_html' ); |
1770 | + else |
1771 | + $callback = array( &$this, 'mail_callback' ); |
1772 | + |
1773 | + $subject = preg_replace_callback( $regex, $callback, $mail_template['subject'] ); |
1774 | + $sender = preg_replace_callback( $regex, $callback, $mail_template['sender'] ); |
1775 | + $recipient = preg_replace_callback( $regex, $callback, $mail_template['recipient'] ); |
1776 | + $additional_headers = |
1777 | + preg_replace_callback( $regex, $callback, $mail_template['additional_headers'] ); |
1778 | + $body = preg_replace_callback( $regex, $callback, $mail_template['body'] ); |
1779 | + |
1780 | + if ( $use_html ) |
1781 | + $body = wpautop( $body ); |
1782 | + |
1783 | + extract( apply_filters( 'wpcf7_mail_components', |
1784 | + compact( 'subject', 'sender', 'body', 'recipient', 'additional_headers' ) ) ); |
1785 | + |
1786 | + $headers = "From: $sender\n"; |
1787 | + |
1788 | + if ( $use_html ) |
1789 | + $headers .= "Content-Type: text/html\n"; |
1790 | + |
1791 | + $headers .= trim( $additional_headers ) . "\n"; |
1792 | + |
1793 | + if ( $this->uploaded_files ) { |
1794 | + $for_this_mail = array(); |
1795 | + foreach ( $this->uploaded_files as $name => $path ) { |
1796 | + if ( false === strpos( $mail_template['attachments'], "[${name}]" ) ) |
1797 | + continue; |
1798 | + $for_this_mail[] = $path; |
1799 | + } |
1800 | + |
1801 | + return @wp_mail( $recipient, $subject, $body, $headers, $for_this_mail ); |
1802 | + } else { |
1803 | + return @wp_mail( $recipient, $subject, $body, $headers ); |
1804 | + } |
1805 | + } |
1806 | + |
1807 | + function mail_callback_html( $matches ) { |
1808 | + return $this->mail_callback( $matches, true ); |
1809 | + } |
1810 | + |
1811 | + function mail_callback( $matches, $html = false ) { |
1812 | + if ( isset( $this->posted_data[$matches[1]] ) ) { |
1813 | + $submitted = $this->posted_data[$matches[1]]; |
1814 | + |
1815 | + if ( is_array( $submitted ) ) |
1816 | + $replaced = join( ', ', $submitted ); |
1817 | + else |
1818 | + $replaced = $submitted; |
1819 | + |
1820 | + if ( $html ) { |
1821 | + $replaced = strip_tags( $replaced ); |
1822 | + $replaced = wptexturize( $replaced ); |
1823 | + } |
1824 | + |
1825 | + $replaced = apply_filters( 'wpcf7_mail_tag_replaced', $replaced, $submitted ); |
1826 | + |
1827 | + return stripslashes( $replaced ); |
1828 | + } |
1829 | + |
1830 | + if ( $special = apply_filters( 'wpcf7_special_mail_tags', '', $matches[1] ) ) |
1831 | + return $special; |
1832 | + |
1833 | + return $matches[0]; |
1834 | + } |
1835 | + |
1836 | + /* Message */ |
1837 | + |
1838 | + function message( $status ) { |
1839 | + $messages = $this->messages; |
1840 | + $message = $messages[$status]; |
1841 | + |
1842 | + return apply_filters( 'wpcf7_display_message', $message ); |
1843 | + } |
1844 | + |
1845 | + /* Additional settings */ |
1846 | + |
1847 | + function additional_setting( $name, $max = 1 ) { |
1848 | + $tmp_settings = (array) explode( "\n", $this->additional_settings ); |
1849 | + |
1850 | + $count = 0; |
1851 | + $values = array(); |
1852 | + |
1853 | + foreach ( $tmp_settings as $setting ) { |
1854 | + if ( preg_match('/^([a-zA-Z0-9_]+)\s*:(.*)$/', $setting, $matches ) ) { |
1855 | + if ( $matches[1] != $name ) |
1856 | + continue; |
1857 | + |
1858 | + if ( ! $max || $count < (int) $max ) { |
1859 | + $values[] = trim( $matches[2] ); |
1860 | + $count += 1; |
1861 | + } |
1862 | + } |
1863 | + } |
1864 | + |
1865 | + return $values; |
1866 | + } |
1867 | + |
1868 | + function in_demo_mode() { |
1869 | + $settings = $this->additional_setting( 'demo_mode', false ); |
1870 | + |
1871 | + foreach ( $settings as $setting ) { |
1872 | + if ( in_array( $setting, array( 'on', 'true', '1' ) ) ) |
1873 | + return true; |
1874 | + } |
1875 | + |
1876 | + return false; |
1877 | + } |
1878 | + |
1879 | + /* Upgrade */ |
1880 | + |
1881 | + function upgrade() { |
1882 | + if ( ! isset( $this->mail['recipient'] ) ) |
1883 | + $this->mail['recipient'] = get_option( 'admin_email' ); |
1884 | + |
1885 | + |
1886 | + if ( ! is_array( $this->messages ) ) |
1887 | + $this->messages = array(); |
1888 | + |
1889 | + |
1890 | + foreach ( wpcf7_messages() as $key => $arr ) { |
1891 | + if ( ! isset( $this->messages[$key] ) ) |
1892 | + $this->messages[$key] = $arr['default']; |
1893 | + } |
1894 | + } |
1895 | + |
1896 | + /* Save */ |
1897 | + |
1898 | + function save() { |
1899 | + global $wpdb, $wpcf7; |
1900 | + |
1901 | + $fields = array( |
1902 | + 'title' => maybe_serialize( stripslashes_deep( $this->title ) ), |
1903 | + 'form' => maybe_serialize( stripslashes_deep( $this->form ) ), |
1904 | + 'mail' => maybe_serialize( stripslashes_deep( $this->mail ) ), |
1905 | + 'mail_2' => maybe_serialize ( stripslashes_deep( $this->mail_2 ) ), |
1906 | + 'messages' => maybe_serialize( stripslashes_deep( $this->messages ) ), |
1907 | + 'additional_settings' => |
1908 | + maybe_serialize( stripslashes_deep( $this->additional_settings ) ) ); |
1909 | + |
1910 | + if ( $this->initial ) { |
1911 | + $result = $wpdb->insert( $wpcf7->contactforms, $fields ); |
1912 | + |
1913 | + if ( $result ) { |
1914 | + $this->initial = false; |
1915 | + $this->id = $wpdb->insert_id; |
1916 | + |
1917 | + do_action_ref_array( 'wpcf7_after_create', array( &$this ) ); |
1918 | + } else { |
1919 | + return false; // Failed to save |
1920 | + } |
1921 | + |
1922 | + } else { // Update |
1923 | + if ( ! (int) $this->id ) |
1924 | + return false; // Missing ID |
1925 | + |
1926 | + $result = $wpdb->update( $wpcf7->contactforms, $fields, |
1927 | + array( 'cf7_unit_id' => absint( $this->id ) ) ); |
1928 | + |
1929 | + if ( false !== $result ) { |
1930 | + do_action_ref_array( 'wpcf7_after_update', array( &$this ) ); |
1931 | + } else { |
1932 | + return false; // Failed to save |
1933 | + } |
1934 | + } |
1935 | + |
1936 | + do_action_ref_array( 'wpcf7_after_save', array( &$this ) ); |
1937 | + return true; // Succeeded to save |
1938 | + } |
1939 | + |
1940 | + function copy() { |
1941 | + $new = new WPCF7_ContactForm(); |
1942 | + $new->initial = true; |
1943 | + |
1944 | + $new->title = $this->title . '_copy'; |
1945 | + $new->form = $this->form; |
1946 | + $new->mail = $this->mail; |
1947 | + $new->mail_2 = $this->mail_2; |
1948 | + $new->messages = $this->messages; |
1949 | + $new->additional_settings = $this->additional_settings; |
1950 | + |
1951 | + return $new; |
1952 | + } |
1953 | + |
1954 | + function delete() { |
1955 | + global $wpdb, $wpcf7; |
1956 | + |
1957 | + if ( $this->initial ) |
1958 | + return; |
1959 | + |
1960 | + $query = $wpdb->prepare( |
1961 | + "DELETE FROM $wpcf7->contactforms WHERE cf7_unit_id = %d LIMIT 1", |
1962 | + absint( $this->id ) ); |
1963 | + |
1964 | + $wpdb->query( $query ); |
1965 | + |
1966 | + $this->initial = true; |
1967 | + $this->id = null; |
1968 | + } |
1969 | +} |
1970 | + |
1971 | +function wpcf7_contact_form( $id ) { |
1972 | + global $wpdb, $wpcf7; |
1973 | + |
1974 | + $query = $wpdb->prepare( "SELECT * FROM $wpcf7->contactforms WHERE cf7_unit_id = %d", $id ); |
1975 | + |
1976 | + if ( ! $row = $wpdb->get_row( $query ) ) |
1977 | + return false; // No data |
1978 | + |
1979 | + $contact_form = new WPCF7_ContactForm(); |
1980 | + $contact_form->id = $row->cf7_unit_id; |
1981 | + $contact_form->title = maybe_unserialize( $row->title ); |
1982 | + $contact_form->form = maybe_unserialize( $row->form ); |
1983 | + $contact_form->mail = maybe_unserialize( $row->mail ); |
1984 | + $contact_form->mail_2 = maybe_unserialize( $row->mail_2 ); |
1985 | + $contact_form->messages = maybe_unserialize( $row->messages ); |
1986 | + $contact_form->additional_settings = maybe_unserialize( $row->additional_settings ); |
1987 | + |
1988 | + $contact_form->upgrade(); |
1989 | + |
1990 | + return $contact_form; |
1991 | +} |
1992 | + |
1993 | +function wpcf7_contact_form_default_pack( $locale = null ) { |
1994 | + global $l10n; |
1995 | + |
1996 | + if ( $locale && $locale != get_locale() ) { |
1997 | + $mo_orig = $l10n['wpcf7']; |
1998 | + unset( $l10n['wpcf7'] ); |
1999 | + |
2000 | + if ( 'en_US' != $locale ) { |
2001 | + $mofile = wpcf7_plugin_path( 'languages/wpcf7-' . $locale . '.mo' ); |
2002 | + if ( ! load_textdomain( 'wpcf7', $mofile ) ) { |
2003 | + $l10n['wpcf7'] = $mo_orig; |
2004 | + unset( $mo_orig ); |
2005 | + } |
2006 | + } |
2007 | + } |
2008 | + |
2009 | + $contact_form = new WPCF7_ContactForm(); |
2010 | + $contact_form->initial = true; |
2011 | + |
2012 | + $contact_form->title = __( 'Untitled', 'wpcf7' ); |
2013 | + $contact_form->form = wpcf7_default_form_template(); |
2014 | + $contact_form->mail = wpcf7_default_mail_template(); |
2015 | + $contact_form->mail_2 = wpcf7_default_mail_2_template(); |
2016 | + $contact_form->messages = wpcf7_default_messages_template(); |
2017 | + |
2018 | + if ( isset( $mo_orig ) ) |
2019 | + $l10n['wpcf7'] = $mo_orig; |
2020 | + |
2021 | + return $contact_form; |
2022 | +} |
2023 | + |
2024 | +function wpcf7_get_current_contact_form() { |
2025 | + global $wpcf7_contact_form; |
2026 | + |
2027 | + if ( ! is_a( $wpcf7_contact_form, 'WPCF7_ContactForm' ) ) |
2028 | + return null; |
2029 | + |
2030 | + return $wpcf7_contact_form; |
2031 | +} |
2032 | + |
2033 | +function wpcf7_is_posted() { |
2034 | + if ( ! $contact_form = wpcf7_get_current_contact_form() ) |
2035 | + return false; |
2036 | + |
2037 | + return $contact_form->is_posted(); |
2038 | +} |
2039 | + |
2040 | +function wpcf7_get_validation_error( $name ) { |
2041 | + if ( ! $contact_form = wpcf7_get_current_contact_form() ) |
2042 | + return ''; |
2043 | + |
2044 | + return $contact_form->validation_error( $name ); |
2045 | +} |
2046 | + |
2047 | +function wpcf7_get_message( $status ) { |
2048 | + if ( ! $contact_form = wpcf7_get_current_contact_form() ) |
2049 | + return ''; |
2050 | + |
2051 | + return $contact_form->message( $status ); |
2052 | +} |
2053 | + |
2054 | +function wpcf7_scan_shortcode( $cond = null ) { |
2055 | + if ( ! $contact_form = wpcf7_get_current_contact_form() ) |
2056 | + return null; |
2057 | + |
2058 | + return $contact_form->form_scan_shortcode( $cond ); |
2059 | +} |
2060 | + |
2061 | +?> |
2062 | \ No newline at end of file |
2063 | |
2064 | === added file 'wp-content/plugins/contact-form-7/includes/controller.php' |
2065 | --- wp-content/plugins/contact-form-7/includes/controller.php 1970-01-01 00:00:00 +0000 |
2066 | +++ wp-content/plugins/contact-form-7/includes/controller.php 2011-02-18 16:15:41 +0000 |
2067 | @@ -0,0 +1,288 @@ |
2068 | +<?php |
2069 | + |
2070 | +add_action( 'init', 'wpcf7_init_switch', 11 ); |
2071 | + |
2072 | +function wpcf7_init_switch() { |
2073 | + if ( 'GET' == $_SERVER['REQUEST_METHOD'] && isset( $_GET['_wpcf7_is_ajax_call'] ) ) { |
2074 | + wpcf7_ajax_onload(); |
2075 | + exit(); |
2076 | + } elseif ( 'POST' == $_SERVER['REQUEST_METHOD'] && isset( $_POST['_wpcf7_is_ajax_call'] ) ) { |
2077 | + wpcf7_ajax_json_echo(); |
2078 | + exit(); |
2079 | + } elseif ( isset( $_POST['_wpcf7'] ) ) { |
2080 | + wpcf7_process_nonajax_submitting(); |
2081 | + } |
2082 | +} |
2083 | + |
2084 | +function wpcf7_ajax_onload() { |
2085 | + global $wpcf7_contact_form; |
2086 | + |
2087 | + $echo = ''; |
2088 | + |
2089 | + if ( isset( $_GET['_wpcf7'] ) ) { |
2090 | + $id = (int) $_GET['_wpcf7']; |
2091 | + |
2092 | + if ( $wpcf7_contact_form = wpcf7_contact_form( $id ) ) { |
2093 | + $items = apply_filters( 'wpcf7_ajax_onload', array() ); |
2094 | + $wpcf7_contact_form = null; |
2095 | + } |
2096 | + } |
2097 | + |
2098 | + $echo = json_encode( $items ); |
2099 | + |
2100 | + if ( $_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest' ) { |
2101 | + @header( 'Content-Type: application/json; charset=' . get_option( 'blog_charset' ) ); |
2102 | + echo $echo; |
2103 | + } |
2104 | +} |
2105 | + |
2106 | +function wpcf7_ajax_json_echo() { |
2107 | + global $wpcf7_contact_form; |
2108 | + |
2109 | + $echo = ''; |
2110 | + |
2111 | + if ( isset( $_POST['_wpcf7'] ) ) { |
2112 | + $id = (int) $_POST['_wpcf7']; |
2113 | + $unit_tag = $_POST['_wpcf7_unit_tag']; |
2114 | + |
2115 | + if ( $wpcf7_contact_form = wpcf7_contact_form( $id ) ) { |
2116 | + $validation = $wpcf7_contact_form->validate(); |
2117 | + |
2118 | + $items = array( |
2119 | + 'mailSent' => false, |
2120 | + 'into' => '#' . $unit_tag, |
2121 | + 'captcha' => null ); |
2122 | + |
2123 | + $items = apply_filters( 'wpcf7_ajax_json_echo', $items ); |
2124 | + |
2125 | + if ( ! $validation['valid'] ) { // Validation error occured |
2126 | + $invalids = array(); |
2127 | + foreach ( $validation['reason'] as $name => $reason ) { |
2128 | + $invalids[] = array( |
2129 | + 'into' => 'span.wpcf7-form-control-wrap.' . $name, |
2130 | + 'message' => $reason ); |
2131 | + } |
2132 | + |
2133 | + $items['message'] = wpcf7_get_message( 'validation_error' ); |
2134 | + $items['invalids'] = $invalids; |
2135 | + |
2136 | + } elseif ( ! $wpcf7_contact_form->accepted() ) { // Not accepted terms |
2137 | + $items['message'] = wpcf7_get_message( 'accept_terms' ); |
2138 | + |
2139 | + } elseif ( $wpcf7_contact_form->akismet() ) { // Spam! |
2140 | + $items['message'] = wpcf7_get_message( 'akismet_says_spam' ); |
2141 | + $items['spam'] = true; |
2142 | + |
2143 | + } elseif ( $wpcf7_contact_form->mail() ) { |
2144 | + $items['mailSent'] = true; |
2145 | + $items['message'] = wpcf7_get_message( 'mail_sent_ok' ); |
2146 | + |
2147 | + $on_sent_ok = $wpcf7_contact_form->additional_setting( 'on_sent_ok', false ); |
2148 | + if ( ! empty( $on_sent_ok ) ) { |
2149 | + $on_sent_ok = array_map( 'wpcf7_strip_quote', $on_sent_ok ); |
2150 | + } else { |
2151 | + $on_sent_ok = null; |
2152 | + } |
2153 | + $items['onSentOk'] = $on_sent_ok; |
2154 | + |
2155 | + do_action_ref_array( 'wpcf7_mail_sent', array( &$wpcf7_contact_form ) ); |
2156 | + |
2157 | + } else { |
2158 | + $items['message'] = wpcf7_get_message( 'mail_sent_ng' ); |
2159 | + } |
2160 | + |
2161 | + // remove upload files |
2162 | + foreach ( (array) $wpcf7_contact_form->uploaded_files as $name => $path ) { |
2163 | + @unlink( $path ); |
2164 | + } |
2165 | + |
2166 | + $wpcf7_contact_form = null; |
2167 | + } |
2168 | + } |
2169 | + |
2170 | + $echo = json_encode( $items ); |
2171 | + |
2172 | + if ( $_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest' ) { |
2173 | + @header( 'Content-Type: application/json; charset=' . get_option( 'blog_charset' ) ); |
2174 | + echo $echo; |
2175 | + } else { |
2176 | + @header( 'Content-Type: text/html; charset=' . get_option( 'blog_charset' ) ); |
2177 | + echo '<textarea>' . $echo . '</textarea>'; |
2178 | + } |
2179 | +} |
2180 | + |
2181 | +function wpcf7_process_nonajax_submitting() { |
2182 | + global $wpcf7_contact_form; |
2183 | + |
2184 | + if ( ! isset($_POST['_wpcf7'] ) ) |
2185 | + return; |
2186 | + |
2187 | + $id = (int) $_POST['_wpcf7']; |
2188 | + |
2189 | + if ( $wpcf7_contact_form = wpcf7_contact_form( $id ) ) { |
2190 | + $validation = $wpcf7_contact_form->validate(); |
2191 | + |
2192 | + if ( ! $validation['valid'] ) { |
2193 | + $_POST['_wpcf7_validation_errors'] = array( 'id' => $id, 'messages' => $validation['reason'] ); |
2194 | + } elseif ( ! $wpcf7_contact_form->accepted() ) { // Not accepted terms |
2195 | + $_POST['_wpcf7_mail_sent'] = array( 'id' => $id, 'ok' => false, 'message' => wpcf7_get_message( 'accept_terms' ) ); |
2196 | + } elseif ( $wpcf7_contact_form->akismet() ) { // Spam! |
2197 | + $_POST['_wpcf7_mail_sent'] = array( 'id' => $id, 'ok' => false, 'message' => wpcf7_get_message( 'akismet_says_spam' ), 'spam' => true ); |
2198 | + } elseif ( $wpcf7_contact_form->mail() ) { |
2199 | + $_POST['_wpcf7_mail_sent'] = array( 'id' => $id, 'ok' => true, 'message' => wpcf7_get_message( 'mail_sent_ok' ) ); |
2200 | + |
2201 | + do_action_ref_array( 'wpcf7_mail_sent', array( &$wpcf7_contact_form ) ); |
2202 | + |
2203 | + $wpcf7_contact_form->clear_post(); |
2204 | + } else { |
2205 | + $_POST['_wpcf7_mail_sent'] = array( 'id' => $id, 'ok' => false, 'message' => wpcf7_get_message( 'mail_sent_ng' ) ); |
2206 | + } |
2207 | + |
2208 | + // remove upload files |
2209 | + foreach ( (array) $wpcf7_contact_form->uploaded_files as $name => $path ) { |
2210 | + @unlink( $path ); |
2211 | + } |
2212 | + |
2213 | + $wpcf7_contact_form = null; |
2214 | + } |
2215 | +} |
2216 | + |
2217 | +add_action( 'the_post', 'wpcf7_the_post' ); |
2218 | + |
2219 | +function wpcf7_the_post() { |
2220 | + global $wpcf7; |
2221 | + |
2222 | + $wpcf7->processing_within = 'p' . get_the_ID(); |
2223 | + $wpcf7->unit_count = 0; |
2224 | +} |
2225 | + |
2226 | +add_action( 'loop_end', 'wpcf7_loop_end' ); |
2227 | + |
2228 | +function wpcf7_loop_end() { |
2229 | + global $wpcf7; |
2230 | + |
2231 | + $wpcf7->processing_within = ''; |
2232 | +} |
2233 | + |
2234 | +add_filter( 'widget_text', 'wpcf7_widget_text_filter', 9 ); |
2235 | + |
2236 | +function wpcf7_widget_text_filter( $content ) { |
2237 | + global $wpcf7; |
2238 | + |
2239 | + $wpcf7->widget_count += 1; |
2240 | + $wpcf7->processing_within = 'w' . $wpcf7->widget_count; |
2241 | + $wpcf7->unit_count = 0; |
2242 | + |
2243 | + $regex = '/\[\s*contact-form\s+(\d+(?:\s+.*)?)\]/'; |
2244 | + $content = preg_replace_callback( $regex, 'wpcf7_widget_text_filter_callback', $content ); |
2245 | + |
2246 | + $wpcf7->processing_within = ''; |
2247 | + return $content; |
2248 | +} |
2249 | + |
2250 | +function wpcf7_widget_text_filter_callback( $matches ) { |
2251 | + return do_shortcode( $matches[0] ); |
2252 | +} |
2253 | + |
2254 | +add_shortcode( 'contact-form', 'wpcf7_contact_form_tag_func' ); |
2255 | + |
2256 | +function wpcf7_contact_form_tag_func( $atts ) { |
2257 | + global $wpcf7, $wpcf7_contact_form; |
2258 | + |
2259 | + if ( is_feed() ) |
2260 | + return '[contact-form]'; |
2261 | + |
2262 | + if ( is_string( $atts ) ) |
2263 | + $atts = explode( ' ', $atts, 2 ); |
2264 | + |
2265 | + $atts = (array) $atts; |
2266 | + |
2267 | + $id = (int) array_shift( $atts ); |
2268 | + |
2269 | + if ( ! ( $wpcf7_contact_form = wpcf7_contact_form( $id ) ) ) |
2270 | + return '[contact-form 404 "Not Found"]'; |
2271 | + |
2272 | + if ( $wpcf7->processing_within ) { // Inside post content or text widget |
2273 | + $wpcf7->unit_count += 1; |
2274 | + $unit_count = $wpcf7->unit_count; |
2275 | + $processing_within = $wpcf7->processing_within; |
2276 | + |
2277 | + } else { // Inside template |
2278 | + |
2279 | + if ( ! isset( $wpcf7->global_unit_count ) ) |
2280 | + $wpcf7->global_unit_count = 0; |
2281 | + |
2282 | + $wpcf7->global_unit_count += 1; |
2283 | + $unit_count = 1; |
2284 | + $processing_within = 't' . $wpcf7->global_unit_count; |
2285 | + } |
2286 | + |
2287 | + $unit_tag = 'wpcf7-f' . $id . '-' . $processing_within . '-o' . $unit_count; |
2288 | + $wpcf7_contact_form->unit_tag = $unit_tag; |
2289 | + |
2290 | + $form = $wpcf7_contact_form->form_html(); |
2291 | + |
2292 | + $wpcf7_contact_form = null; |
2293 | + |
2294 | + return $form; |
2295 | +} |
2296 | + |
2297 | +add_action( 'wp_head', 'wpcf7_head' ); |
2298 | + |
2299 | +function wpcf7_head() { |
2300 | + // Cached? |
2301 | + if ( wpcf7_script_is() && defined( 'WP_CACHE' ) && WP_CACHE ) : |
2302 | +?> |
2303 | +<script type="text/javascript"> |
2304 | +//<![CDATA[ |
2305 | +var _wpcf7 = { cached: 1 }; |
2306 | +//]]> |
2307 | +</script> |
2308 | +<?php |
2309 | + endif; |
2310 | +} |
2311 | + |
2312 | +if ( WPCF7_LOAD_JS ) |
2313 | + add_action( 'wp_print_scripts', 'wpcf7_enqueue_scripts' ); |
2314 | + |
2315 | +function wpcf7_enqueue_scripts() { |
2316 | + // jquery.form.js originally bundled with WordPress is out of date and deprecated |
2317 | + // so we need to deregister it and re-register the latest one |
2318 | + wp_deregister_script( 'jquery-form' ); |
2319 | + wp_register_script( 'jquery-form', wpcf7_plugin_url( 'jquery.form.js' ), |
2320 | + array( 'jquery' ), '2.52', true ); |
2321 | + |
2322 | + $in_footer = true; |
2323 | + if ( 'header' === WPCF7_LOAD_JS ) |
2324 | + $in_footer = false; |
2325 | + |
2326 | + wp_enqueue_script( 'contact-form-7', wpcf7_plugin_url( 'scripts.js' ), |
2327 | + array( 'jquery', 'jquery-form' ), WPCF7_VERSION, $in_footer ); |
2328 | + |
2329 | + do_action( 'wpcf7_enqueue_scripts' ); |
2330 | +} |
2331 | + |
2332 | +function wpcf7_script_is() { |
2333 | + return wp_script_is( 'contact-form-7' ); |
2334 | +} |
2335 | + |
2336 | +if ( WPCF7_LOAD_CSS ) |
2337 | + add_action( 'wp_print_styles', 'wpcf7_enqueue_styles' ); |
2338 | + |
2339 | +function wpcf7_enqueue_styles() { |
2340 | + wp_enqueue_style( 'contact-form-7', wpcf7_plugin_url( 'styles.css' ), |
2341 | + array(), WPCF7_VERSION, 'all' ); |
2342 | + |
2343 | + if ( 'rtl' == get_bloginfo( 'text_direction' ) ) { |
2344 | + wp_enqueue_style( 'contact-form-7-rtl', wpcf7_plugin_url( 'styles-rtl.css' ), |
2345 | + array(), WPCF7_VERSION, 'all' ); |
2346 | + } |
2347 | + |
2348 | + do_action( 'wpcf7_enqueue_styles' ); |
2349 | +} |
2350 | + |
2351 | +function wpcf7_style_is() { |
2352 | + return wp_style_is( 'contact-form-7' ); |
2353 | +} |
2354 | + |
2355 | +?> |
2356 | \ No newline at end of file |
2357 | |
2358 | === added file 'wp-content/plugins/contact-form-7/includes/formatting.php' |
2359 | --- wp-content/plugins/contact-form-7/includes/formatting.php 1970-01-01 00:00:00 +0000 |
2360 | +++ wp-content/plugins/contact-form-7/includes/formatting.php 2011-02-18 16:15:41 +0000 |
2361 | @@ -0,0 +1,144 @@ |
2362 | +<?php |
2363 | + |
2364 | +function wpcf7_autop( $pee, $br = 1 ) { |
2365 | + |
2366 | + if ( trim( $pee ) === '' ) |
2367 | + return ''; |
2368 | + $pee = $pee . "\n"; // just to make things a little easier, pad the end |
2369 | + $pee = preg_replace( '|<br />\s*<br />|', "\n\n", $pee ); |
2370 | + // Space things out a little |
2371 | + /* wpcf7: remove select and input */ |
2372 | + $allblocks = '(?:table|thead|tfoot|caption|col|colgroup|tbody|tr|td|th|div|dl|dd|dt|ul|ol|li|pre|form|map|area|blockquote|address|math|style|p|h[1-6]|hr|fieldset|legend|section|article|aside|hgroup|header|footer|nav|figure|figcaption|details|menu|summary)'; |
2373 | + $pee = preg_replace( '!(<' . $allblocks . '[^>]*>)!', "\n$1", $pee ); |
2374 | + $pee = preg_replace( '!(</' . $allblocks . '>)!', "$1\n\n", $pee ); |
2375 | + $pee = str_replace( array( "\r\n", "\r" ), "\n", $pee ); // cross-platform newlines |
2376 | + if ( strpos( $pee, '<object' ) !== false ) { |
2377 | + $pee = preg_replace( '|\s*<param([^>]*)>\s*|', "<param$1>", $pee ); // no pee inside object/embed |
2378 | + $pee = preg_replace( '|\s*</embed>\s*|', '</embed>', $pee ); |
2379 | + } |
2380 | + $pee = preg_replace( "/\n\n+/", "\n\n", $pee ); // take care of duplicates |
2381 | + // make paragraphs, including one at the end |
2382 | + $pees = preg_split( '/\n\s*\n/', $pee, -1, PREG_SPLIT_NO_EMPTY ); |
2383 | + $pee = ''; |
2384 | + foreach ( $pees as $tinkle ) |
2385 | + $pee .= '<p>' . trim( $tinkle, "\n" ) . "</p>\n"; |
2386 | + $pee = preg_replace( '|<p>\s*</p>|', '', $pee ); // under certain strange conditions it could create a P of entirely whitespace |
2387 | + $pee = preg_replace( '!<p>([^<]+)</(div|address|form|fieldset)>!', "<p>$1</p></$2>", $pee ); |
2388 | + $pee = preg_replace( '!<p>\s*(</?' . $allblocks . '[^>]*>)\s*</p>!', "$1", $pee ); // don't pee all over a tag |
2389 | + $pee = preg_replace( "|<p>(<li.+?)</p>|", "$1", $pee ); // problem with nested lists |
2390 | + $pee = preg_replace( '|<p><blockquote([^>]*)>|i', "<blockquote$1><p>", $pee ); |
2391 | + $pee = str_replace( '</blockquote></p>', '</p></blockquote>', $pee ); |
2392 | + $pee = preg_replace( '!<p>\s*(</?' . $allblocks . '[^>]*>)!', "$1", $pee ); |
2393 | + $pee = preg_replace( '!(</?' . $allblocks . '[^>]*>)\s*</p>!', "$1", $pee ); |
2394 | + if ( $br ) { |
2395 | + /* wpcf7: add textarea */ |
2396 | + $pee = preg_replace_callback( '/<(script|style|textarea).*?<\/\\1>/s', create_function( '$matches', 'return str_replace("\n", "<WPPreserveNewline />", $matches[0]);' ), $pee ); |
2397 | + $pee = preg_replace( '|(?<!<br />)\s*\n|', "<br />\n", $pee ); // optionally make line breaks |
2398 | + $pee = str_replace( '<WPPreserveNewline />', "\n", $pee ); |
2399 | + } |
2400 | + $pee = preg_replace( '!(</?' . $allblocks . '[^>]*>)\s*<br />!', "$1", $pee ); |
2401 | + $pee = preg_replace( '!<br />(\s*</?(?:p|li|div|dl|dd|dt|th|pre|td|ul|ol)[^>]*>)!', '$1', $pee ); |
2402 | + if ( strpos( $pee, '<pre' ) !== false ) |
2403 | + $pee = preg_replace_callback( '!(<pre[^>]*>)(.*?)</pre>!is', 'clean_pre', $pee ); |
2404 | + $pee = preg_replace( "|\n</p>$|", '</p>', $pee ); |
2405 | + |
2406 | + return $pee; |
2407 | +} |
2408 | + |
2409 | +function wpcf7_strip_quote( $text ) { |
2410 | + $text = trim( $text ); |
2411 | + if ( preg_match( '/^"(.*)"$/', $text, $matches ) ) |
2412 | + $text = $matches[1]; |
2413 | + elseif ( preg_match( "/^'(.*)'$/", $text, $matches ) ) |
2414 | + $text = $matches[1]; |
2415 | + return $text; |
2416 | +} |
2417 | + |
2418 | +function wpcf7_strip_quote_deep( $arr ) { |
2419 | + if ( is_string( $arr ) ) |
2420 | + return wpcf7_strip_quote( $arr ); |
2421 | + |
2422 | + if ( is_array( $arr ) ) { |
2423 | + $result = array(); |
2424 | + foreach ( $arr as $key => $text ) { |
2425 | + $result[$key] = wpcf7_strip_quote( $text ); |
2426 | + } |
2427 | + return $result; |
2428 | + } |
2429 | +} |
2430 | + |
2431 | +function wpcf7_canonicalize( $text ) { |
2432 | + if ( function_exists( 'mb_convert_kana' ) && 'UTF-8' == get_option( 'blog_charset' ) ) |
2433 | + $text = mb_convert_kana( $text, 'asKV', 'UTF-8' ); |
2434 | + |
2435 | + $text = strtolower( $text ); |
2436 | + $text = trim( $text ); |
2437 | + return $text; |
2438 | +} |
2439 | + |
2440 | +function wpcf7_sanitize_file_name( $filename ) { |
2441 | + /* Memo: |
2442 | + // This function does sanitization introduced in http://core.trac.wordpress.org/ticket/11122 |
2443 | + // WordPress 2.8.6 will implement it in sanitize_file_name(). |
2444 | + // While Contact Form 7's file uploading function uses wp_unique_filename(), and |
2445 | + // it in turn calls sanitize_file_name(). Therefore this wpcf7_sanitize_file_name() will be |
2446 | + // redundant and unnecessary when you use Contact Form 7 on WordPress 2.8.6 or higher. |
2447 | + // This function is provided just for the sake of protecting who uses older WordPress. |
2448 | + */ |
2449 | + |
2450 | + // Split the filename into a base and extension[s] |
2451 | + $parts = explode( '.', $filename ); |
2452 | + |
2453 | + // Return if only one extension |
2454 | + if ( count( $parts ) <= 2 ) |
2455 | + return $filename; |
2456 | + |
2457 | + // Process multiple extensions |
2458 | + $filename = array_shift( $parts ); |
2459 | + $extension = array_pop( $parts ); |
2460 | + |
2461 | + $mimes = array( 'jpg|jpeg|jpe', 'gif', 'png', 'bmp', |
2462 | + 'tif|tiff', 'ico', 'asf|asx|wax|wmv|wmx', 'avi', |
2463 | + 'divx', 'mov|qt', 'mpeg|mpg|mpe', 'txt|c|cc|h', |
2464 | + 'rtx', 'css', 'htm|html', 'mp3|m4a', 'mp4|m4v', |
2465 | + 'ra|ram', 'wav', 'ogg', 'mid|midi', 'wma', 'rtf', |
2466 | + 'js', 'pdf', 'doc|docx', 'pot|pps|ppt|pptx', 'wri', |
2467 | + 'xla|xls|xlsx|xlt|xlw', 'mdb', 'mpp', 'swf', 'class', |
2468 | + 'tar', 'zip', 'gz|gzip', 'exe', |
2469 | + // openoffice formats |
2470 | + 'odt', 'odp', 'ods', 'odg', 'odc', 'odb', 'odf' ); |
2471 | + |
2472 | + // Loop over any intermediate extensions. |
2473 | + // Munge them with a trailing underscore if they are a 2 - 5 character |
2474 | + // long alpha string not in the extension whitelist. |
2475 | + foreach ( (array) $parts as $part) { |
2476 | + $filename .= '.' . $part; |
2477 | + |
2478 | + if ( preg_match( '/^[a-zA-Z]{2,5}\d?$/', $part ) ) { |
2479 | + $allowed = false; |
2480 | + foreach ( $mimes as $ext_preg ) { |
2481 | + $ext_preg = '!(^' . $ext_preg . ')$!i'; |
2482 | + if ( preg_match( $ext_preg, $part ) ) { |
2483 | + $allowed = true; |
2484 | + break; |
2485 | + } |
2486 | + } |
2487 | + if ( ! $allowed ) |
2488 | + $filename .= '_'; |
2489 | + } |
2490 | + } |
2491 | + $filename .= '.' . $extension; |
2492 | + |
2493 | + return $filename; |
2494 | +} |
2495 | + |
2496 | +function wpcf7_is_name( $string ) { |
2497 | + // See http://www.w3.org/TR/html401/types.html#h-6.2 |
2498 | + // ID and NAME tokens must begin with a letter ([A-Za-z]) |
2499 | + // and may be followed by any number of letters, digits ([0-9]), |
2500 | + // hyphens ("-"), underscores ("_"), colons (":"), and periods ("."). |
2501 | + |
2502 | + return preg_match( '/^[A-Za-z][-A-Za-z0-9_:.]*$/', $string ); |
2503 | +} |
2504 | + |
2505 | +?> |
2506 | \ No newline at end of file |
2507 | |
2508 | === added file 'wp-content/plugins/contact-form-7/includes/functions.php' |
2509 | --- wp-content/plugins/contact-form-7/includes/functions.php 1970-01-01 00:00:00 +0000 |
2510 | +++ wp-content/plugins/contact-form-7/includes/functions.php 2011-02-18 16:15:41 +0000 |
2511 | @@ -0,0 +1,225 @@ |
2512 | +<?php |
2513 | + |
2514 | +function wpcf7_messages() { |
2515 | + $messages = array( |
2516 | + 'mail_sent_ok' => array( |
2517 | + 'description' => __( "Sender's message was sent successfully", 'wpcf7' ), |
2518 | + 'default' => __( 'Your message was sent successfully. Thanks.', 'wpcf7' ) |
2519 | + ), |
2520 | + |
2521 | + 'mail_sent_ng' => array( |
2522 | + 'description' => __( "Sender's message was failed to send", 'wpcf7' ), |
2523 | + 'default' => __( 'Failed to send your message. Please try later or contact administrator by other way.', 'wpcf7' ) |
2524 | + ), |
2525 | + |
2526 | + 'akismet_says_spam' => array( |
2527 | + 'description' => __( "Akismet judged the sending activity as spamming", 'wpcf7' ), |
2528 | + 'default' => __( 'Failed to send your message. Please try later or contact administrator by other way.', 'wpcf7' ) |
2529 | + ), |
2530 | + |
2531 | + 'validation_error' => array( |
2532 | + 'description' => __( "Validation errors occurred", 'wpcf7' ), |
2533 | + 'default' => __( 'Validation errors occurred. Please confirm the fields and submit it again.', 'wpcf7' ) |
2534 | + ), |
2535 | + |
2536 | + 'accept_terms' => array( |
2537 | + 'description' => __( "There is a field of term that sender is needed to accept", 'wpcf7' ), |
2538 | + 'default' => __( 'Please accept the terms to proceed.', 'wpcf7' ) |
2539 | + ), |
2540 | + |
2541 | + 'invalid_email' => array( |
2542 | + 'description' => __( "Email address that sender entered is invalid", 'wpcf7' ), |
2543 | + 'default' => __( 'Email address seems invalid.', 'wpcf7' ) |
2544 | + ), |
2545 | + |
2546 | + 'invalid_required' => array( |
2547 | + 'description' => __( "There is a field that sender is needed to fill in", 'wpcf7' ), |
2548 | + 'default' => __( 'Please fill the required field.', 'wpcf7' ) |
2549 | + ) |
2550 | + ); |
2551 | + |
2552 | + return apply_filters( 'wpcf7_messages', $messages ); |
2553 | +} |
2554 | + |
2555 | +function wpcf7_default_form_template() { |
2556 | + $template = |
2557 | + '<p>' . __( 'Your Name', 'wpcf7' ) . ' ' . __( '(required)', 'wpcf7' ) . '<br />' . "\n" |
2558 | + . ' [text* your-name] </p>' . "\n\n" |
2559 | + . '<p>' . __( 'Your Email', 'wpcf7' ) . ' ' . __( '(required)', 'wpcf7' ) . '<br />' . "\n" |
2560 | + . ' [email* your-email] </p>' . "\n\n" |
2561 | + . '<p>' . __( 'Subject', 'wpcf7' ) . '<br />' . "\n" |
2562 | + . ' [text your-subject] </p>' . "\n\n" |
2563 | + . '<p>' . __( 'Your Message', 'wpcf7' ) . '<br />' . "\n" |
2564 | + . ' [textarea your-message] </p>' . "\n\n" |
2565 | + . '<p>[submit "' . __( 'Send', 'wpcf7' ) . '"]</p>'; |
2566 | + |
2567 | + return $template; |
2568 | +} |
2569 | + |
2570 | +function wpcf7_default_mail_template() { |
2571 | + $subject = '[your-subject]'; |
2572 | + $sender = '[your-name] <[your-email]>'; |
2573 | + $body = sprintf( __( 'From: %s', 'wpcf7' ), '[your-name] <[your-email]>' ) . "\n" |
2574 | + . sprintf( __( 'Subject: %s', 'wpcf7' ), '[your-subject]' ) . "\n\n" |
2575 | + . __( 'Message Body:', 'wpcf7' ) . "\n" . '[your-message]' . "\n\n" . '--' . "\n" |
2576 | + . sprintf( __( 'This mail is sent via contact form on %1$s %2$s', 'wpcf7' ), |
2577 | + get_bloginfo( 'name' ), get_bloginfo( 'url' ) ); |
2578 | + $recipient = get_option( 'admin_email' ); |
2579 | + $additional_headers = ''; |
2580 | + $attachments = ''; |
2581 | + $use_html = 0; |
2582 | + return compact( 'subject', 'sender', 'body', 'recipient', 'additional_headers', 'attachments', 'use_html' ); |
2583 | +} |
2584 | + |
2585 | +function wpcf7_default_mail_2_template() { |
2586 | + $active = false; |
2587 | + $subject = '[your-subject]'; |
2588 | + $sender = '[your-name] <[your-email]>'; |
2589 | + $body = __( 'Message body:', 'wpcf7' ) . "\n" . '[your-message]' . "\n\n" . '--' . "\n" |
2590 | + . sprintf( __( 'This mail is sent via contact form on %1$s %2$s', 'wpcf7' ), |
2591 | + get_bloginfo( 'name' ), get_bloginfo( 'url' ) ); |
2592 | + $recipient = '[your-email]'; |
2593 | + $additional_headers = ''; |
2594 | + $attachments = ''; |
2595 | + $use_html = 0; |
2596 | + return compact( 'active', 'subject', 'sender', 'body', 'recipient', 'additional_headers', 'attachments', 'use_html' ); |
2597 | +} |
2598 | + |
2599 | +function wpcf7_default_messages_template() { |
2600 | + $messages = array(); |
2601 | + |
2602 | + foreach ( wpcf7_messages() as $key => $arr ) { |
2603 | + $messages[$key] = $arr['default']; |
2604 | + } |
2605 | + |
2606 | + return $messages; |
2607 | +} |
2608 | + |
2609 | +function wpcf7_is_multisite() { // will be removed when WordPress 2.9 is not supported |
2610 | + if ( function_exists( 'is_multisite' ) ) |
2611 | + return is_multisite(); |
2612 | + |
2613 | + return false; |
2614 | +} |
2615 | + |
2616 | +function wpcf7_is_main_site() { // will be removed when WordPress 2.9 is not supported |
2617 | + if ( function_exists( 'is_main_site' ) ) |
2618 | + return is_main_site(); |
2619 | + |
2620 | + return false; |
2621 | +} |
2622 | + |
2623 | +function wpcf7_upload_dir( $type = false ) { |
2624 | + global $switched; |
2625 | + |
2626 | + $siteurl = get_option( 'siteurl' ); |
2627 | + $upload_path = trim( get_option( 'upload_path' ) ); |
2628 | + |
2629 | + $main_override = wpcf7_is_multisite() && defined( 'MULTISITE' ) && wpcf7_is_main_site(); |
2630 | + |
2631 | + if ( empty( $upload_path ) ) { |
2632 | + $dir = WP_CONTENT_DIR . '/uploads'; |
2633 | + } else { |
2634 | + $dir = $upload_path; |
2635 | + |
2636 | + if ( 'wp-content/uploads' == $upload_path ) { |
2637 | + $dir = WP_CONTENT_DIR . '/uploads'; |
2638 | + } elseif ( 0 !== strpos( $dir, ABSPATH ) ) { |
2639 | + // $dir is absolute, $upload_path is (maybe) relative to ABSPATH |
2640 | + $dir = path_join( ABSPATH, $dir ); |
2641 | + } |
2642 | + } |
2643 | + |
2644 | + if ( ! $url = get_option( 'upload_url_path' ) ) { |
2645 | + if ( empty( $upload_path ) |
2646 | + || ( 'wp-content/uploads' == $upload_path ) |
2647 | + || ( $upload_path == $dir ) ) |
2648 | + $url = WP_CONTENT_URL . '/uploads'; |
2649 | + else |
2650 | + $url = trailingslashit( $siteurl ) . $upload_path; |
2651 | + } |
2652 | + |
2653 | + if ( defined( 'UPLOADS' ) && ! $main_override |
2654 | + && ( ! isset( $switched ) || $switched === false ) ) { |
2655 | + $dir = ABSPATH . UPLOADS; |
2656 | + $url = trailingslashit( $siteurl ) . UPLOADS; |
2657 | + } |
2658 | + |
2659 | + if ( wpcf7_is_multisite() && ! $main_override |
2660 | + && ( ! isset( $switched ) || $switched === false ) ) { |
2661 | + |
2662 | + if ( defined( 'BLOGUPLOADDIR' ) ) |
2663 | + $dir = untrailingslashit( BLOGUPLOADDIR ); |
2664 | + |
2665 | + $url = str_replace( UPLOADS, 'files', $url ); |
2666 | + } |
2667 | + |
2668 | + $uploads = apply_filters( 'wpcf7_upload_dir', array( 'dir' => $dir, 'url' => $url ) ); |
2669 | + |
2670 | + if ( 'dir' == $type ) |
2671 | + return $uploads['dir']; |
2672 | + if ( 'url' == $type ) |
2673 | + return $uploads['url']; |
2674 | + |
2675 | + return $uploads; |
2676 | +} |
2677 | + |
2678 | +function wpcf7_l10n() { |
2679 | + $l10n = array( |
2680 | + 'af' => __( 'Afrikaans', 'wpcf7' ), |
2681 | + 'sq' => __( 'Albanian', 'wpcf7' ), |
2682 | + 'ar' => __( 'Arabic', 'wpcf7' ), |
2683 | + 'hy_AM' => __( 'Armenian', 'wpcf7' ), |
2684 | + 'bn_BD' => __( 'Bangla', 'wpcf7' ), |
2685 | + 'bs' => __( 'Bosnian', 'wpcf7' ), |
2686 | + 'pt_BR' => __( 'Brazilian Portuguese', 'wpcf7' ), |
2687 | + 'bg_BG' => __( 'Bulgarian', 'wpcf7' ), |
2688 | + 'ca' => __( 'Catalan', 'wpcf7' ), |
2689 | + 'zh_CN' => __( 'Chinese (Simplified)', 'wpcf7' ), |
2690 | + 'zh_TW' => __( 'Chinese (Traditional)', 'wpcf7' ), |
2691 | + 'hr' => __( 'Croatian', 'wpcf7' ), |
2692 | + 'cs_CZ' => __( 'Czech', 'wpcf7' ), |
2693 | + 'da_DK' => __( 'Danish', 'wpcf7' ), |
2694 | + 'nl_NL' => __( 'Dutch', 'wpcf7' ), |
2695 | + 'en_US' => __( 'English', 'wpcf7' ), |
2696 | + 'et' => __( 'Estonian', 'wpcf7' ), |
2697 | + 'fi' => __( 'Finnish', 'wpcf7' ), |
2698 | + 'fr_FR' => __( 'French', 'wpcf7' ), |
2699 | + 'gl_ES' => __( 'Galician', 'wpcf7' ), |
2700 | + 'ka_GE' => __( 'Georgian', 'wpcf7' ), |
2701 | + 'de_DE' => __( 'German', 'wpcf7' ), |
2702 | + 'el' => __( 'Greek', 'wpcf7' ), |
2703 | + 'he_IL' => __( 'Hebrew', 'wpcf7' ), |
2704 | + 'hi_IN' => __( 'Hindi', 'wpcf7' ), |
2705 | + 'hu_HU' => __( 'Hungarian', 'wpcf7' ), |
2706 | + 'id_ID' => __( 'Indonesian', 'wpcf7' ), |
2707 | + 'it_IT' => __( 'Italian', 'wpcf7' ), |
2708 | + 'ja' => __( 'Japanese', 'wpcf7' ), |
2709 | + 'ko_KR' => __( 'Korean', 'wpcf7' ), |
2710 | + 'lv' => __( 'Latvian', 'wpcf7' ), |
2711 | + 'lt_LT' => __( 'Lithuanian', 'wpcf7' ), |
2712 | + 'mk_MK' => __( 'Macedonian', 'wpcf7' ), |
2713 | + 'ms_MY' => __( 'Malay', 'wpcf7' ), |
2714 | + 'ml_IN' => __( 'Malayalam', 'wpcf7' ), |
2715 | + 'nb_NO' => __( 'Norwegian', 'wpcf7' ), |
2716 | + 'fa_IR' => __( 'Persian', 'wpcf7' ), |
2717 | + 'pl_PL' => __( 'Polish', 'wpcf7' ), |
2718 | + 'pt_PT' => __( 'Portuguese', 'wpcf7' ), |
2719 | + 'ru_RU' => __( 'Russian', 'wpcf7' ), |
2720 | + 'ro_RO' => __( 'Romanian', 'wpcf7' ), |
2721 | + 'sr_RS' => __( 'Serbian', 'wpcf7' ), |
2722 | + 'sk' => __( 'Slovak', 'wpcf7' ), |
2723 | + 'sl_SI' => __( 'Slovene', 'wpcf7' ), |
2724 | + 'es_ES' => __( 'Spanish', 'wpcf7' ), |
2725 | + 'sv_SE' => __( 'Swedish', 'wpcf7' ), |
2726 | + 'ta' => __( 'Tamil', 'wpcf7' ), |
2727 | + 'th' => __( 'Thai', 'wpcf7' ), |
2728 | + 'tr_TR' => __( 'Turkish', 'wpcf7' ), |
2729 | + 'uk' => __( 'Ukrainian', 'wpcf7' ), |
2730 | + 'vi' => __( 'Vietnamese', 'wpcf7' ) |
2731 | + ); |
2732 | + |
2733 | + return $l10n; |
2734 | +} |
2735 | + |
2736 | +?> |
2737 | \ No newline at end of file |
2738 | |
2739 | === added file 'wp-content/plugins/contact-form-7/includes/pipe.php' |
2740 | --- wp-content/plugins/contact-form-7/includes/pipe.php 1970-01-01 00:00:00 +0000 |
2741 | +++ wp-content/plugins/contact-form-7/includes/pipe.php 2011-02-18 16:15:41 +0000 |
2742 | @@ -0,0 +1,67 @@ |
2743 | +<?php |
2744 | + |
2745 | +class WPCF7_Pipe { |
2746 | + |
2747 | + var $before = ''; |
2748 | + var $after = ''; |
2749 | + |
2750 | + function WPCF7_Pipe( $text ) { |
2751 | + $pipe_pos = strpos( $text, '|' ); |
2752 | + if ( false === $pipe_pos ) { |
2753 | + $this->before = $this->after = $text; |
2754 | + } else { |
2755 | + $this->before = substr( $text, 0, $pipe_pos ); |
2756 | + $this->after = substr( $text, $pipe_pos + 1 ); |
2757 | + } |
2758 | + } |
2759 | +} |
2760 | + |
2761 | +class WPCF7_Pipes { |
2762 | + |
2763 | + var $pipes = array(); |
2764 | + |
2765 | + function WPCF7_Pipes( $texts ) { |
2766 | + if ( ! is_array( $texts ) ) |
2767 | + return; |
2768 | + |
2769 | + foreach ( $texts as $text ) { |
2770 | + $this->add_pipe( $text ); |
2771 | + } |
2772 | + } |
2773 | + |
2774 | + function add_pipe( $text ) { |
2775 | + $pipe = new WPCF7_Pipe( $text ); |
2776 | + $this->pipes[] = $pipe; |
2777 | + } |
2778 | + |
2779 | + function do_pipe( $before ) { |
2780 | + foreach ( $this->pipes as $pipe ) { |
2781 | + if ( $pipe->before == $before ) |
2782 | + return $pipe->after; |
2783 | + } |
2784 | + return $before; |
2785 | + } |
2786 | + |
2787 | + function collect_befores() { |
2788 | + $befores = array(); |
2789 | + |
2790 | + foreach ( $this->pipes as $pipe ) { |
2791 | + $befores[] = $pipe->before; |
2792 | + } |
2793 | + |
2794 | + return $befores; |
2795 | + } |
2796 | + |
2797 | + function zero() { |
2798 | + return empty( $this->pipes ); |
2799 | + } |
2800 | + |
2801 | + function random_pipe() { |
2802 | + if ( $this->zero() ) |
2803 | + return null; |
2804 | + |
2805 | + return $this->pipes[array_rand( $this->pipes )]; |
2806 | + } |
2807 | +} |
2808 | + |
2809 | +?> |
2810 | \ No newline at end of file |
2811 | |
2812 | === added file 'wp-content/plugins/contact-form-7/includes/shortcodes.php' |
2813 | --- wp-content/plugins/contact-form-7/includes/shortcodes.php 1970-01-01 00:00:00 +0000 |
2814 | +++ wp-content/plugins/contact-form-7/includes/shortcodes.php 2011-02-18 16:15:41 +0000 |
2815 | @@ -0,0 +1,171 @@ |
2816 | +<?php |
2817 | + |
2818 | +class WPCF7_ShortcodeManager { |
2819 | + |
2820 | + var $shortcode_tags = array(); |
2821 | + |
2822 | + // Taggs scanned at the last time of do_shortcode() |
2823 | + var $scanned_tags = null; |
2824 | + |
2825 | + // Executing shortcodes (true) or just scanning (false) |
2826 | + var $exec = true; |
2827 | + |
2828 | + function add_shortcode( $tag, $func, $has_name = false ) { |
2829 | + if ( is_callable( $func ) ) |
2830 | + $this->shortcode_tags[$tag] = array( |
2831 | + 'function' => $func, |
2832 | + 'has_name' => (boolean) $has_name ); |
2833 | + } |
2834 | + |
2835 | + function remove_shortcode( $tag ) { |
2836 | + unset( $this->shortcode_tags[$tag] ); |
2837 | + } |
2838 | + |
2839 | + function normalize_shortcode( $content ) { |
2840 | + if ( empty( $this->shortcode_tags ) || ! is_array( $this->shortcode_tags ) ) |
2841 | + return $content; |
2842 | + |
2843 | + $pattern = $this->get_shortcode_regex(); |
2844 | + return preg_replace_callback( '/' . $pattern . '/s', |
2845 | + array( &$this, 'normalize_space_cb' ), $content ); |
2846 | + } |
2847 | + |
2848 | + function normalize_space_cb( $m ) { |
2849 | + // allow [[foo]] syntax for escaping a tag |
2850 | + if ( $m[1] == '[' && $m[6] == ']' ) |
2851 | + return $m[0]; |
2852 | + |
2853 | + return preg_replace( '/\s+/', ' ', $m[0] ); |
2854 | + } |
2855 | + |
2856 | + function do_shortcode( $content, $exec = true ) { |
2857 | + $this->exec = (bool) $exec; |
2858 | + $this->scanned_tags = array(); |
2859 | + |
2860 | + if ( empty( $this->shortcode_tags ) || ! is_array( $this->shortcode_tags ) ) |
2861 | + return $content; |
2862 | + |
2863 | + $pattern = $this->get_shortcode_regex(); |
2864 | + return preg_replace_callback( '/' . $pattern . '/s', |
2865 | + array( &$this, 'do_shortcode_tag' ), $content ); |
2866 | + } |
2867 | + |
2868 | + function scan_shortcode( $content ) { |
2869 | + $this->do_shortcode( $content, false ); |
2870 | + return $this->scanned_tags; |
2871 | + } |
2872 | + |
2873 | + function get_shortcode_regex() { |
2874 | + $tagnames = array_keys( $this->shortcode_tags ); |
2875 | + $tagregexp = join( '|', array_map( 'preg_quote', $tagnames ) ); |
2876 | + |
2877 | + return '(\[?)\[(' . $tagregexp . ')(?:\s(.*?))?(?:\s(\/))?\](?:(.+?)\[\/\2\])?(\]?)'; |
2878 | + } |
2879 | + |
2880 | + function do_shortcode_tag( $m ) { |
2881 | + // allow [[foo]] syntax for escaping a tag |
2882 | + if ( $m[1] == '[' && $m[6] == ']' ) { |
2883 | + return substr( $m[0], 1, -1 ); |
2884 | + } |
2885 | + |
2886 | + $tag = $m[2]; |
2887 | + $attr = $this->shortcode_parse_atts( $m[3] ); |
2888 | + |
2889 | + $scanned_tag = array(); |
2890 | + $scanned_tag['type'] = $tag; |
2891 | + |
2892 | + if ( is_array( $attr ) ) { |
2893 | + if ( is_array( $attr['options'] ) ) { |
2894 | + if ( $this->shortcode_tags[$tag]['has_name'] && ! empty( $attr['options'] ) ) { |
2895 | + $scanned_tag['name'] = array_shift( $attr['options'] ); |
2896 | + |
2897 | + if ( ! wpcf7_is_name( $scanned_tag['name'] ) ) |
2898 | + return $m[0]; // Invalid name is used. Ignore this tag. |
2899 | + } |
2900 | + |
2901 | + $scanned_tag['options'] = (array) $attr['options']; |
2902 | + } |
2903 | + |
2904 | + $scanned_tag['raw_values'] = (array) $attr['values']; |
2905 | + |
2906 | + if ( WPCF7_USE_PIPE ) { |
2907 | + $pipes = new WPCF7_Pipes( $scanned_tag['raw_values'] ); |
2908 | + $scanned_tag['values'] = $pipes->collect_befores(); |
2909 | + $scanned_tag['pipes'] = $pipes; |
2910 | + } else { |
2911 | + $scanned_tag['values'] = $scanned_tag['raw_values']; |
2912 | + } |
2913 | + |
2914 | + $scanned_tag['labels'] = $scanned_tag['values']; |
2915 | + |
2916 | + } else { |
2917 | + $scanned_tag['attr'] = $attr; |
2918 | + } |
2919 | + |
2920 | + $content = trim( $m[5] ); |
2921 | + $content = preg_replace( "/<br\s*\/?>$/m", '', $content ); |
2922 | + $scanned_tag['content'] = $content; |
2923 | + |
2924 | + $scanned_tag = apply_filters( 'wpcf7_form_tag', $scanned_tag, $this->exec ); |
2925 | + |
2926 | + $this->scanned_tags[] = $scanned_tag; |
2927 | + |
2928 | + if ( $this->exec ) { |
2929 | + $func = $this->shortcode_tags[$tag]['function']; |
2930 | + return $m[1] . call_user_func( $func, $scanned_tag ) . $m[6]; |
2931 | + } else { |
2932 | + return $m[0]; |
2933 | + } |
2934 | + } |
2935 | + |
2936 | + function shortcode_parse_atts( $text ) { |
2937 | + $atts = array( 'options' => array(), 'values' => array() ); |
2938 | + $text = preg_replace( "/[\x{00a0}\x{200b}]+/u", " ", $text ); |
2939 | + $text = stripcslashes( trim( $text ) ); |
2940 | + |
2941 | + $pattern = '%^([-+*=0-9a-zA-Z:.!?#$&@_/|\%\s]*?)((?:\s*"[^"]*"|\s*\'[^\']*\')*)$%'; |
2942 | + |
2943 | + if ( preg_match( $pattern, $text, $match ) ) { |
2944 | + if ( ! empty( $match[1] ) ) { |
2945 | + $atts['options'] = preg_split( '/[\s]+/', trim( $match[1] ) ); |
2946 | + } |
2947 | + if ( ! empty( $match[2] ) ) { |
2948 | + preg_match_all( '/"[^"]*"|\'[^\']*\'/', $match[2], $matched_values ); |
2949 | + $atts['values'] = wpcf7_strip_quote_deep( $matched_values[0] ); |
2950 | + } |
2951 | + } else { |
2952 | + $atts = $text; |
2953 | + } |
2954 | + |
2955 | + return $atts; |
2956 | + } |
2957 | + |
2958 | +} |
2959 | + |
2960 | +$wpcf7_shortcode_manager = new WPCF7_ShortcodeManager(); |
2961 | + |
2962 | +function wpcf7_add_shortcode( $tag, $func, $has_name = false ) { |
2963 | + global $wpcf7_shortcode_manager; |
2964 | + |
2965 | + return $wpcf7_shortcode_manager->add_shortcode( $tag, $func, $has_name ); |
2966 | +} |
2967 | + |
2968 | +function wpcf7_remove_shortcode( $tag ) { |
2969 | + global $wpcf7_shortcode_manager; |
2970 | + |
2971 | + return $wpcf7_shortcode_manager->remove_shortcode( $tag ); |
2972 | +} |
2973 | + |
2974 | +function wpcf7_do_shortcode( $content ) { |
2975 | + global $wpcf7_shortcode_manager; |
2976 | + |
2977 | + return $wpcf7_shortcode_manager->do_shortcode( $content ); |
2978 | +} |
2979 | + |
2980 | +function wpcf7_get_shortcode_regex() { |
2981 | + global $wpcf7_shortcode_manager; |
2982 | + |
2983 | + return $wpcf7_shortcode_manager->get_shortcode_regex(); |
2984 | +} |
2985 | + |
2986 | +?> |
2987 | \ No newline at end of file |
2988 | |
2989 | === added file 'wp-content/plugins/contact-form-7/includes/taggenerator.php' |
2990 | --- wp-content/plugins/contact-form-7/includes/taggenerator.php 1970-01-01 00:00:00 +0000 |
2991 | +++ wp-content/plugins/contact-form-7/includes/taggenerator.php 2011-02-18 16:15:41 +0000 |
2992 | @@ -0,0 +1,49 @@ |
2993 | +<?php |
2994 | + |
2995 | +function wpcf7_add_tag_generator( $name, $title, $elm_id, $callback, $options = array() ) { |
2996 | + global $wpcf7_tag_generators; |
2997 | + |
2998 | + $name = trim( $name ); |
2999 | + if ( '' == $name ) |
3000 | + return false; |
3001 | + |
3002 | + if ( ! is_array( $wpcf7_tag_generators ) ) |
3003 | + $wpcf7_tag_generators = array(); |
3004 | + |
3005 | + $wpcf7_tag_generators[$name] = array( |
3006 | + 'title' => $title, |
3007 | + 'content' => $elm_id, |
3008 | + 'options' => $options ); |
3009 | + |
3010 | + if ( is_callable( $callback ) ) |
3011 | + add_action( 'wpcf7_admin_footer', $callback ); |
3012 | + |
3013 | + return true; |
3014 | +} |
3015 | + |
3016 | +function wpcf7_print_tag_generators() { |
3017 | + global $wpcf7_tag_generators; |
3018 | + |
3019 | + $output = array(); |
3020 | + |
3021 | + foreach ( (array) $wpcf7_tag_generators as $name => $tg ) { |
3022 | + $pane = " " . esc_js( $name ) . ": { "; |
3023 | + $pane .= "title: '" . esc_js( $tg['title'] ) . "'"; |
3024 | + $pane .= ", content: '" . esc_js( $tg['content'] ) . "'"; |
3025 | + |
3026 | + foreach ( (array) $tg['options'] as $option_name => $option_value ) { |
3027 | + if ( is_int( $option_value ) ) |
3028 | + $pane .= ", $option_name: $option_value"; |
3029 | + else |
3030 | + $pane .= ", $option_name: '" . esc_js( $option_value ) . "'"; |
3031 | + } |
3032 | + |
3033 | + $pane .= " }"; |
3034 | + |
3035 | + $output[] = $pane; |
3036 | + } |
3037 | + |
3038 | + echo implode( ",\n", $output ) . "\n"; |
3039 | +} |
3040 | + |
3041 | +?> |
3042 | \ No newline at end of file |
3043 | |
3044 | === added file 'wp-content/plugins/contact-form-7/jquery.form.js' |
3045 | --- wp-content/plugins/contact-form-7/jquery.form.js 1970-01-01 00:00:00 +0000 |
3046 | +++ wp-content/plugins/contact-form-7/jquery.form.js 2011-02-18 16:15:41 +0000 |
3047 | @@ -0,0 +1,791 @@ |
3048 | +/*! |
3049 | + * jQuery Form Plugin |
3050 | + * version: 2.52 (07-DEC-2010) |
3051 | + * @requires jQuery v1.3.2 or later |
3052 | + * |
3053 | + * Examples and documentation at: http://malsup.com/jquery/form/ |
3054 | + * Dual licensed under the MIT and GPL licenses: |
3055 | + * http://www.opensource.org/licenses/mit-license.php |
3056 | + * http://www.gnu.org/licenses/gpl.html |
3057 | + */ |
3058 | +;(function($) { |
3059 | + |
3060 | +/* |
3061 | + Usage Note: |
3062 | + ----------- |
3063 | + Do not use both ajaxSubmit and ajaxForm on the same form. These |
3064 | + functions are intended to be exclusive. Use ajaxSubmit if you want |
3065 | + to bind your own submit handler to the form. For example, |
3066 | + |
3067 | + $(document).ready(function() { |
3068 | + $('#myForm').bind('submit', function(e) { |
3069 | + e.preventDefault(); // <-- important |
3070 | + $(this).ajaxSubmit({ |
3071 | + target: '#output' |
3072 | + }); |
3073 | + }); |
3074 | + }); |
3075 | + |
3076 | + Use ajaxForm when you want the plugin to manage all the event binding |
3077 | + for you. For example, |
3078 | + |
3079 | + $(document).ready(function() { |
3080 | + $('#myForm').ajaxForm({ |
3081 | + target: '#output' |
3082 | + }); |
3083 | + }); |
3084 | + |
3085 | + When using ajaxForm, the ajaxSubmit function will be invoked for you |
3086 | + at the appropriate time. |
3087 | +*/ |
3088 | + |
3089 | +/** |
3090 | + * ajaxSubmit() provides a mechanism for immediately submitting |
3091 | + * an HTML form using AJAX. |
3092 | + */ |
3093 | +$.fn.ajaxSubmit = function(options) { |
3094 | + // fast fail if nothing selected (http://dev.jquery.com/ticket/2752) |
3095 | + if (!this.length) { |
3096 | + log('ajaxSubmit: skipping submit process - no element selected'); |
3097 | + return this; |
3098 | + } |
3099 | + |
3100 | + if (typeof options == 'function') { |
3101 | + options = { success: options }; |
3102 | + } |
3103 | + |
3104 | + var action = this.attr('action'); |
3105 | + var url = (typeof action === 'string') ? $.trim(action) : ''; |
3106 | + if (url) { |
3107 | + // clean url (don't include hash vaue) |
3108 | + url = (url.match(/^([^#]+)/)||[])[1]; |
3109 | + } |
3110 | + url = url || window.location.href || ''; |
3111 | + |
3112 | + options = $.extend(true, { |
3113 | + url: url, |
3114 | + type: this.attr('method') || 'GET', |
3115 | + iframeSrc: /^https/i.test(window.location.href || '') ? 'javascript:false' : 'about:blank' |
3116 | + }, options); |
3117 | + |
3118 | + // hook for manipulating the form data before it is extracted; |
3119 | + // convenient for use with rich editors like tinyMCE or FCKEditor |
3120 | + var veto = {}; |
3121 | + this.trigger('form-pre-serialize', [this, options, veto]); |
3122 | + if (veto.veto) { |
3123 | + log('ajaxSubmit: submit vetoed via form-pre-serialize trigger'); |
3124 | + return this; |
3125 | + } |
3126 | + |
3127 | + // provide opportunity to alter form data before it is serialized |
3128 | + if (options.beforeSerialize && options.beforeSerialize(this, options) === false) { |
3129 | + log('ajaxSubmit: submit aborted via beforeSerialize callback'); |
3130 | + return this; |
3131 | + } |
3132 | + |
3133 | + var n,v,a = this.formToArray(options.semantic); |
3134 | + if (options.data) { |
3135 | + options.extraData = options.data; |
3136 | + for (n in options.data) { |
3137 | + if(options.data[n] instanceof Array) { |
3138 | + for (var k in options.data[n]) { |
3139 | + a.push( { name: n, value: options.data[n][k] } ); |
3140 | + } |
3141 | + } |
3142 | + else { |
3143 | + v = options.data[n]; |
3144 | + v = $.isFunction(v) ? v() : v; // if value is fn, invoke it |
3145 | + a.push( { name: n, value: v } ); |
3146 | + } |
3147 | + } |
3148 | + } |
3149 | + |
3150 | + // give pre-submit callback an opportunity to abort the submit |
3151 | + if (options.beforeSubmit && options.beforeSubmit(a, this, options) === false) { |
3152 | + log('ajaxSubmit: submit aborted via beforeSubmit callback'); |
3153 | + return this; |
3154 | + } |
3155 | + |
3156 | + // fire vetoable 'validate' event |
3157 | + this.trigger('form-submit-validate', [a, this, options, veto]); |
3158 | + if (veto.veto) { |
3159 | + log('ajaxSubmit: submit vetoed via form-submit-validate trigger'); |
3160 | + return this; |
3161 | + } |
3162 | + |
3163 | + var q = $.param(a); |
3164 | + |
3165 | + if (options.type.toUpperCase() == 'GET') { |
3166 | + options.url += (options.url.indexOf('?') >= 0 ? '&' : '?') + q; |
3167 | + options.data = null; // data is null for 'get' |
3168 | + } |
3169 | + else { |
3170 | + options.data = q; // data is the query string for 'post' |
3171 | + } |
3172 | + |
3173 | + var $form = this, callbacks = []; |
3174 | + if (options.resetForm) { |
3175 | + callbacks.push(function() { $form.resetForm(); }); |
3176 | + } |
3177 | + if (options.clearForm) { |
3178 | + callbacks.push(function() { $form.clearForm(); }); |
3179 | + } |
3180 | + |
3181 | + // perform a load on the target only if dataType is not provided |
3182 | + if (!options.dataType && options.target) { |
3183 | + var oldSuccess = options.success || function(){}; |
3184 | + callbacks.push(function(data) { |
3185 | + var fn = options.replaceTarget ? 'replaceWith' : 'html'; |
3186 | + $(options.target)[fn](data).each(oldSuccess, arguments); |
3187 | + }); |
3188 | + } |
3189 | + else if (options.success) { |
3190 | + callbacks.push(options.success); |
3191 | + } |
3192 | + |
3193 | + options.success = function(data, status, xhr) { // jQuery 1.4+ passes xhr as 3rd arg |
3194 | + var context = options.context || options; // jQuery 1.4+ supports scope context |
3195 | + for (var i=0, max=callbacks.length; i < max; i++) { |
3196 | + callbacks[i].apply(context, [data, status, xhr || $form, $form]); |
3197 | + } |
3198 | + }; |
3199 | + |
3200 | + // are there files to upload? |
3201 | + var fileInputs = $('input:file', this).length > 0; |
3202 | + var mp = 'multipart/form-data'; |
3203 | + var multipart = ($form.attr('enctype') == mp || $form.attr('encoding') == mp); |
3204 | + |
3205 | + // options.iframe allows user to force iframe mode |
3206 | + // 06-NOV-09: now defaulting to iframe mode if file input is detected |
3207 | + if (options.iframe !== false && (fileInputs || options.iframe || multipart)) { |
3208 | + // hack to fix Safari hang (thanks to Tim Molendijk for this) |
3209 | + // see: http://groups.google.com/group/jquery-dev/browse_thread/thread/36395b7ab510dd5d |
3210 | + if (options.closeKeepAlive) { |
3211 | + $.get(options.closeKeepAlive, fileUpload); |
3212 | + } |
3213 | + else { |
3214 | + fileUpload(); |
3215 | + } |
3216 | + } |
3217 | + else { |
3218 | + $.ajax(options); |
3219 | + } |
3220 | + |
3221 | + // fire 'notify' event |
3222 | + this.trigger('form-submit-notify', [this, options]); |
3223 | + return this; |
3224 | + |
3225 | + |
3226 | + // private function for handling file uploads (hat tip to YAHOO!) |
3227 | + function fileUpload() { |
3228 | + var form = $form[0]; |
3229 | + |
3230 | + if ($(':input[name=submit],:input[id=submit]', form).length) { |
3231 | + // if there is an input with a name or id of 'submit' then we won't be |
3232 | + // able to invoke the submit fn on the form (at least not x-browser) |
3233 | + alert('Error: Form elements must not have name or id of "submit".'); |
3234 | + return; |
3235 | + } |
3236 | + |
3237 | + var s = $.extend(true, {}, $.ajaxSettings, options); |
3238 | + s.context = s.context || s; |
3239 | + var id = 'jqFormIO' + (new Date().getTime()), fn = '_'+id; |
3240 | + window[fn] = function() { |
3241 | + var f = $io.data('form-plugin-onload'); |
3242 | + if (f) { |
3243 | + f(); |
3244 | + window[fn] = undefined; |
3245 | + try { delete window[fn]; } catch(e){} |
3246 | + } |
3247 | + } |
3248 | + var $io = $('<iframe id="' + id + '" name="' + id + '" src="'+ s.iframeSrc +'" onload="window[\'_\'+this.id]()" />'); |
3249 | + var io = $io[0]; |
3250 | + |
3251 | + $io.css({ position: 'absolute', top: '-1000px', left: '-1000px' }); |
3252 | + |
3253 | + var xhr = { // mock object |
3254 | + aborted: 0, |
3255 | + responseText: null, |
3256 | + responseXML: null, |
3257 | + status: 0, |
3258 | + statusText: 'n/a', |
3259 | + getAllResponseHeaders: function() {}, |
3260 | + getResponseHeader: function() {}, |
3261 | + setRequestHeader: function() {}, |
3262 | + abort: function() { |
3263 | + this.aborted = 1; |
3264 | + $io.attr('src', s.iframeSrc); // abort op in progress |
3265 | + } |
3266 | + }; |
3267 | + |
3268 | + var g = s.global; |
3269 | + // trigger ajax global events so that activity/block indicators work like normal |
3270 | + if (g && ! $.active++) { |
3271 | + $.event.trigger("ajaxStart"); |
3272 | + } |
3273 | + if (g) { |
3274 | + $.event.trigger("ajaxSend", [xhr, s]); |
3275 | + } |
3276 | + |
3277 | + if (s.beforeSend && s.beforeSend.call(s.context, xhr, s) === false) { |
3278 | + if (s.global) { |
3279 | + $.active--; |
3280 | + } |
3281 | + return; |
3282 | + } |
3283 | + if (xhr.aborted) { |
3284 | + return; |
3285 | + } |
3286 | + |
3287 | + var cbInvoked = false; |
3288 | + var timedOut = 0; |
3289 | + |
3290 | + // add submitting element to data if we know it |
3291 | + var sub = form.clk; |
3292 | + if (sub) { |
3293 | + var n = sub.name; |
3294 | + if (n && !sub.disabled) { |
3295 | + s.extraData = s.extraData || {}; |
3296 | + s.extraData[n] = sub.value; |
3297 | + if (sub.type == "image") { |
3298 | + s.extraData[n+'.x'] = form.clk_x; |
3299 | + s.extraData[n+'.y'] = form.clk_y; |
3300 | + } |
3301 | + } |
3302 | + } |
3303 | + |
3304 | + // take a breath so that pending repaints get some cpu time before the upload starts |
3305 | + function doSubmit() { |
3306 | + // make sure form attrs are set |
3307 | + var t = $form.attr('target'), a = $form.attr('action'); |
3308 | + |
3309 | + // update form attrs in IE friendly way |
3310 | + form.setAttribute('target',id); |
3311 | + if (form.getAttribute('method') != 'POST') { |
3312 | + form.setAttribute('method', 'POST'); |
3313 | + } |
3314 | + if (form.getAttribute('action') != s.url) { |
3315 | + form.setAttribute('action', s.url); |
3316 | + } |
3317 | + |
3318 | + // ie borks in some cases when setting encoding |
3319 | + if (! s.skipEncodingOverride) { |
3320 | + $form.attr({ |
3321 | + encoding: 'multipart/form-data', |
3322 | + enctype: 'multipart/form-data' |
3323 | + }); |
3324 | + } |
3325 | + |
3326 | + // support timout |
3327 | + if (s.timeout) { |
3328 | + setTimeout(function() { timedOut = true; cb(); }, s.timeout); |
3329 | + } |
3330 | + |
3331 | + // add "extra" data to form if provided in options |
3332 | + var extraInputs = []; |
3333 | + try { |
3334 | + if (s.extraData) { |
3335 | + for (var n in s.extraData) { |
3336 | + extraInputs.push( |
3337 | + $('<input type="hidden" name="'+n+'" value="'+s.extraData[n]+'" />') |
3338 | + .appendTo(form)[0]); |
3339 | + } |
3340 | + } |
3341 | + |
3342 | + // add iframe to doc and submit the form |
3343 | + $io.appendTo('body'); |
3344 | + $io.data('form-plugin-onload', cb); |
3345 | + form.submit(); |
3346 | + } |
3347 | + finally { |
3348 | + // reset attrs and remove "extra" input elements |
3349 | + form.setAttribute('action',a); |
3350 | + if(t) { |
3351 | + form.setAttribute('target', t); |
3352 | + } else { |
3353 | + $form.removeAttr('target'); |
3354 | + } |
3355 | + $(extraInputs).remove(); |
3356 | + } |
3357 | + } |
3358 | + |
3359 | + if (s.forceSync) { |
3360 | + doSubmit(); |
3361 | + } |
3362 | + else { |
3363 | + setTimeout(doSubmit, 10); // this lets dom updates render |
3364 | + } |
3365 | + |
3366 | + var data, doc, domCheckCount = 50; |
3367 | + |
3368 | + function cb() { |
3369 | + if (cbInvoked) { |
3370 | + return; |
3371 | + } |
3372 | + |
3373 | + $io.removeData('form-plugin-onload'); |
3374 | + |
3375 | + var ok = true; |
3376 | + try { |
3377 | + if (timedOut) { |
3378 | + throw 'timeout'; |
3379 | + } |
3380 | + // extract the server response from the iframe |
3381 | + doc = io.contentWindow ? io.contentWindow.document : io.contentDocument ? io.contentDocument : io.document; |
3382 | + |
3383 | + var isXml = s.dataType == 'xml' || doc.XMLDocument || $.isXMLDoc(doc); |
3384 | + log('isXml='+isXml); |
3385 | + if (!isXml && window.opera && (doc.body == null || doc.body.innerHTML == '')) { |
3386 | + if (--domCheckCount) { |
3387 | + // in some browsers (Opera) the iframe DOM is not always traversable when |
3388 | + // the onload callback fires, so we loop a bit to accommodate |
3389 | + log('requeing onLoad callback, DOM not available'); |
3390 | + setTimeout(cb, 250); |
3391 | + return; |
3392 | + } |
3393 | + // let this fall through because server response could be an empty document |
3394 | + //log('Could not access iframe DOM after mutiple tries.'); |
3395 | + //throw 'DOMException: not available'; |
3396 | + } |
3397 | + |
3398 | + //log('response detected'); |
3399 | + cbInvoked = true; |
3400 | + xhr.responseText = doc.documentElement ? doc.documentElement.innerHTML : null; |
3401 | + xhr.responseXML = doc.XMLDocument ? doc.XMLDocument : doc; |
3402 | + xhr.getResponseHeader = function(header){ |
3403 | + var headers = {'content-type': s.dataType}; |
3404 | + return headers[header]; |
3405 | + }; |
3406 | + |
3407 | + var scr = /(json|script)/.test(s.dataType); |
3408 | + if (scr || s.textarea) { |
3409 | + // see if user embedded response in textarea |
3410 | + var ta = doc.getElementsByTagName('textarea')[0]; |
3411 | + if (ta) { |
3412 | + xhr.responseText = ta.value; |
3413 | + } |
3414 | + else if (scr) { |
3415 | + // account for browsers injecting pre around json response |
3416 | + var pre = doc.getElementsByTagName('pre')[0]; |
3417 | + var b = doc.getElementsByTagName('body')[0]; |
3418 | + if (pre) { |
3419 | + xhr.responseText = pre.textContent; |
3420 | + } |
3421 | + else if (b) { |
3422 | + xhr.responseText = b.innerHTML; |
3423 | + } |
3424 | + } |
3425 | + } |
3426 | + else if (s.dataType == 'xml' && !xhr.responseXML && xhr.responseText != null) { |
3427 | + xhr.responseXML = toXml(xhr.responseText); |
3428 | + } |
3429 | + data = $.httpData(xhr, s.dataType); |
3430 | + } |
3431 | + catch(e){ |
3432 | + log('error caught:',e); |
3433 | + ok = false; |
3434 | + xhr.error = e; |
3435 | + $.handleError(s, xhr, 'error', e); |
3436 | + } |
3437 | + |
3438 | + if (xhr.aborted) { |
3439 | + log('upload aborted'); |
3440 | + ok = false; |
3441 | + } |
3442 | + |
3443 | + // ordering of these callbacks/triggers is odd, but that's how $.ajax does it |
3444 | + if (ok) { |
3445 | + s.success.call(s.context, data, 'success', xhr); |
3446 | + if (g) { |
3447 | + $.event.trigger("ajaxSuccess", [xhr, s]); |
3448 | + } |
3449 | + } |
3450 | + if (g) { |
3451 | + $.event.trigger("ajaxComplete", [xhr, s]); |
3452 | + } |
3453 | + if (g && ! --$.active) { |
3454 | + $.event.trigger("ajaxStop"); |
3455 | + } |
3456 | + if (s.complete) { |
3457 | + s.complete.call(s.context, xhr, ok ? 'success' : 'error'); |
3458 | + } |
3459 | + |
3460 | + // clean up |
3461 | + setTimeout(function() { |
3462 | + $io.removeData('form-plugin-onload'); |
3463 | + $io.remove(); |
3464 | + xhr.responseXML = null; |
3465 | + }, 100); |
3466 | + } |
3467 | + |
3468 | + function toXml(s, doc) { |
3469 | + if (window.ActiveXObject) { |
3470 | + doc = new ActiveXObject('Microsoft.XMLDOM'); |
3471 | + doc.async = 'false'; |
3472 | + doc.loadXML(s); |
3473 | + } |
3474 | + else { |
3475 | + doc = (new DOMParser()).parseFromString(s, 'text/xml'); |
3476 | + } |
3477 | + return (doc && doc.documentElement && doc.documentElement.tagName != 'parsererror') ? doc : null; |
3478 | + } |
3479 | + } |
3480 | +}; |
3481 | + |
3482 | +/** |
3483 | + * ajaxForm() provides a mechanism for fully automating form submission. |
3484 | + * |
3485 | + * The advantages of using this method instead of ajaxSubmit() are: |
3486 | + * |
3487 | + * 1: This method will include coordinates for <input type="image" /> elements (if the element |
3488 | + * is used to submit the form). |
3489 | + * 2. This method will include the submit element's name/value data (for the element that was |
3490 | + * used to submit the form). |
3491 | + * 3. This method binds the submit() method to the form for you. |
3492 | + * |
3493 | + * The options argument for ajaxForm works exactly as it does for ajaxSubmit. ajaxForm merely |
3494 | + * passes the options argument along after properly binding events for submit elements and |
3495 | + * the form itself. |
3496 | + */ |
3497 | +$.fn.ajaxForm = function(options) { |
3498 | + // in jQuery 1.3+ we can fix mistakes with the ready state |
3499 | + if (this.length === 0) { |
3500 | + var o = { s: this.selector, c: this.context }; |
3501 | + if (!$.isReady && o.s) { |
3502 | + log('DOM not ready, queuing ajaxForm'); |
3503 | + $(function() { |
3504 | + $(o.s,o.c).ajaxForm(options); |
3505 | + }); |
3506 | + return this; |
3507 | + } |
3508 | + // is your DOM ready? http://docs.jquery.com/Tutorials:Introducing_$(document).ready() |
3509 | + log('terminating; zero elements found by selector' + ($.isReady ? '' : ' (DOM not ready)')); |
3510 | + return this; |
3511 | + } |
3512 | + |
3513 | + return this.ajaxFormUnbind().bind('submit.form-plugin', function(e) { |
3514 | + if (!e.isDefaultPrevented()) { // if event has been canceled, don't proceed |
3515 | + e.preventDefault(); |
3516 | + $(this).ajaxSubmit(options); |
3517 | + } |
3518 | + }).bind('click.form-plugin', function(e) { |
3519 | + var target = e.target; |
3520 | + var $el = $(target); |
3521 | + if (!($el.is(":submit,input:image"))) { |
3522 | + // is this a child element of the submit el? (ex: a span within a button) |
3523 | + var t = $el.closest(':submit'); |
3524 | + if (t.length == 0) { |
3525 | + return; |
3526 | + } |
3527 | + target = t[0]; |
3528 | + } |
3529 | + var form = this; |
3530 | + form.clk = target; |
3531 | + if (target.type == 'image') { |
3532 | + if (e.offsetX != undefined) { |
3533 | + form.clk_x = e.offsetX; |
3534 | + form.clk_y = e.offsetY; |
3535 | + } else if (typeof $.fn.offset == 'function') { // try to use dimensions plugin |
3536 | + var offset = $el.offset(); |
3537 | + form.clk_x = e.pageX - offset.left; |
3538 | + form.clk_y = e.pageY - offset.top; |
3539 | + } else { |
3540 | + form.clk_x = e.pageX - target.offsetLeft; |
3541 | + form.clk_y = e.pageY - target.offsetTop; |
3542 | + } |
3543 | + } |
3544 | + // clear form vars |
3545 | + setTimeout(function() { form.clk = form.clk_x = form.clk_y = null; }, 100); |
3546 | + }); |
3547 | +}; |
3548 | + |
3549 | +// ajaxFormUnbind unbinds the event handlers that were bound by ajaxForm |
3550 | +$.fn.ajaxFormUnbind = function() { |
3551 | + return this.unbind('submit.form-plugin click.form-plugin'); |
3552 | +}; |
3553 | + |
3554 | +/** |
3555 | + * formToArray() gathers form element data into an array of objects that can |
3556 | + * be passed to any of the following ajax functions: $.get, $.post, or load. |
3557 | + * Each object in the array has both a 'name' and 'value' property. An example of |
3558 | + * an array for a simple login form might be: |
3559 | + * |
3560 | + * [ { name: 'username', value: 'jresig' }, { name: 'password', value: 'secret' } ] |
3561 | + * |
3562 | + * It is this array that is passed to pre-submit callback functions provided to the |
3563 | + * ajaxSubmit() and ajaxForm() methods. |
3564 | + */ |
3565 | +$.fn.formToArray = function(semantic) { |
3566 | + var a = []; |
3567 | + if (this.length === 0) { |
3568 | + return a; |
3569 | + } |
3570 | + |
3571 | + var form = this[0]; |
3572 | + var els = semantic ? form.getElementsByTagName('*') : form.elements; |
3573 | + if (!els) { |
3574 | + return a; |
3575 | + } |
3576 | + |
3577 | + var i,j,n,v,el,max,jmax; |
3578 | + for(i=0, max=els.length; i < max; i++) { |
3579 | + el = els[i]; |
3580 | + n = el.name; |
3581 | + if (!n) { |
3582 | + continue; |
3583 | + } |
3584 | + |
3585 | + if (semantic && form.clk && el.type == "image") { |
3586 | + // handle image inputs on the fly when semantic == true |
3587 | + if(!el.disabled && form.clk == el) { |
3588 | + a.push({name: n, value: $(el).val()}); |
3589 | + a.push({name: n+'.x', value: form.clk_x}, {name: n+'.y', value: form.clk_y}); |
3590 | + } |
3591 | + continue; |
3592 | + } |
3593 | + |
3594 | + v = $.fieldValue(el, true); |
3595 | + if (v && v.constructor == Array) { |
3596 | + for(j=0, jmax=v.length; j < jmax; j++) { |
3597 | + a.push({name: n, value: v[j]}); |
3598 | + } |
3599 | + } |
3600 | + else if (v !== null && typeof v != 'undefined') { |
3601 | + a.push({name: n, value: v}); |
3602 | + } |
3603 | + } |
3604 | + |
3605 | + if (!semantic && form.clk) { |
3606 | + // input type=='image' are not found in elements array! handle it here |
3607 | + var $input = $(form.clk), input = $input[0]; |
3608 | + n = input.name; |
3609 | + if (n && !input.disabled && input.type == 'image') { |
3610 | + a.push({name: n, value: $input.val()}); |
3611 | + a.push({name: n+'.x', value: form.clk_x}, {name: n+'.y', value: form.clk_y}); |
3612 | + } |
3613 | + } |
3614 | + return a; |
3615 | +}; |
3616 | + |
3617 | +/** |
3618 | + * Serializes form data into a 'submittable' string. This method will return a string |
3619 | + * in the format: name1=value1&name2=value2 |
3620 | + */ |
3621 | +$.fn.formSerialize = function(semantic) { |
3622 | + //hand off to jQuery.param for proper encoding |
3623 | + return $.param(this.formToArray(semantic)); |
3624 | +}; |
3625 | + |
3626 | +/** |
3627 | + * Serializes all field elements in the jQuery object into a query string. |
3628 | + * This method will return a string in the format: name1=value1&name2=value2 |
3629 | + */ |
3630 | +$.fn.fieldSerialize = function(successful) { |
3631 | + var a = []; |
3632 | + this.each(function() { |
3633 | + var n = this.name; |
3634 | + if (!n) { |
3635 | + return; |
3636 | + } |
3637 | + var v = $.fieldValue(this, successful); |
3638 | + if (v && v.constructor == Array) { |
3639 | + for (var i=0,max=v.length; i < max; i++) { |
3640 | + a.push({name: n, value: v[i]}); |
3641 | + } |
3642 | + } |
3643 | + else if (v !== null && typeof v != 'undefined') { |
3644 | + a.push({name: this.name, value: v}); |
3645 | + } |
3646 | + }); |
3647 | + //hand off to jQuery.param for proper encoding |
3648 | + return $.param(a); |
3649 | +}; |
3650 | + |
3651 | +/** |
3652 | + * Returns the value(s) of the element in the matched set. For example, consider the following form: |
3653 | + * |
3654 | + * <form><fieldset> |
3655 | + * <input name="A" type="text" /> |
3656 | + * <input name="A" type="text" /> |
3657 | + * <input name="B" type="checkbox" value="B1" /> |
3658 | + * <input name="B" type="checkbox" value="B2"/> |
3659 | + * <input name="C" type="radio" value="C1" /> |
3660 | + * <input name="C" type="radio" value="C2" /> |
3661 | + * </fieldset></form> |
3662 | + * |
3663 | + * var v = $(':text').fieldValue(); |
3664 | + * // if no values are entered into the text inputs |
3665 | + * v == ['',''] |
3666 | + * // if values entered into the text inputs are 'foo' and 'bar' |
3667 | + * v == ['foo','bar'] |
3668 | + * |
3669 | + * var v = $(':checkbox').fieldValue(); |
3670 | + * // if neither checkbox is checked |
3671 | + * v === undefined |
3672 | + * // if both checkboxes are checked |
3673 | + * v == ['B1', 'B2'] |
3674 | + * |
3675 | + * var v = $(':radio').fieldValue(); |
3676 | + * // if neither radio is checked |
3677 | + * v === undefined |
3678 | + * // if first radio is checked |
3679 | + * v == ['C1'] |
3680 | + * |
3681 | + * The successful argument controls whether or not the field element must be 'successful' |
3682 | + * (per http://www.w3.org/TR/html4/interact/forms.html#successful-controls). |
3683 | + * The default value of the successful argument is true. If this value is false the value(s) |
3684 | + * for each element is returned. |
3685 | + * |
3686 | + * Note: This method *always* returns an array. If no valid value can be determined the |
3687 | + * array will be empty, otherwise it will contain one or more values. |
3688 | + */ |
3689 | +$.fn.fieldValue = function(successful) { |
3690 | + for (var val=[], i=0, max=this.length; i < max; i++) { |
3691 | + var el = this[i]; |
3692 | + var v = $.fieldValue(el, successful); |
3693 | + if (v === null || typeof v == 'undefined' || (v.constructor == Array && !v.length)) { |
3694 | + continue; |
3695 | + } |
3696 | + v.constructor == Array ? $.merge(val, v) : val.push(v); |
3697 | + } |
3698 | + return val; |
3699 | +}; |
3700 | + |
3701 | +/** |
3702 | + * Returns the value of the field element. |
3703 | + */ |
3704 | +$.fieldValue = function(el, successful) { |
3705 | + var n = el.name, t = el.type, tag = el.tagName.toLowerCase(); |
3706 | + if (successful === undefined) { |
3707 | + successful = true; |
3708 | + } |
3709 | + |
3710 | + if (successful && (!n || el.disabled || t == 'reset' || t == 'button' || |
3711 | + (t == 'checkbox' || t == 'radio') && !el.checked || |
3712 | + (t == 'submit' || t == 'image') && el.form && el.form.clk != el || |
3713 | + tag == 'select' && el.selectedIndex == -1)) { |
3714 | + return null; |
3715 | + } |
3716 | + |
3717 | + if (tag == 'select') { |
3718 | + var index = el.selectedIndex; |
3719 | + if (index < 0) { |
3720 | + return null; |
3721 | + } |
3722 | + var a = [], ops = el.options; |
3723 | + var one = (t == 'select-one'); |
3724 | + var max = (one ? index+1 : ops.length); |
3725 | + for(var i=(one ? index : 0); i < max; i++) { |
3726 | + var op = ops[i]; |
3727 | + if (op.selected) { |
3728 | + var v = op.value; |
3729 | + if (!v) { // extra pain for IE... |
3730 | + v = (op.attributes && op.attributes['value'] && !(op.attributes['value'].specified)) ? op.text : op.value; |
3731 | + } |
3732 | + if (one) { |
3733 | + return v; |
3734 | + } |
3735 | + a.push(v); |
3736 | + } |
3737 | + } |
3738 | + return a; |
3739 | + } |
3740 | + return $(el).val(); |
3741 | +}; |
3742 | + |
3743 | +/** |
3744 | + * Clears the form data. Takes the following actions on the form's input fields: |
3745 | + * - input text fields will have their 'value' property set to the empty string |
3746 | + * - select elements will have their 'selectedIndex' property set to -1 |
3747 | + * - checkbox and radio inputs will have their 'checked' property set to false |
3748 | + * - inputs of type submit, button, reset, and hidden will *not* be effected |
3749 | + * - button elements will *not* be effected |
3750 | + */ |
3751 | +$.fn.clearForm = function() { |
3752 | + return this.each(function() { |
3753 | + $('input,select,textarea', this).clearFields(); |
3754 | + }); |
3755 | +}; |
3756 | + |
3757 | +/** |
3758 | + * Clears the selected form elements. |
3759 | + */ |
3760 | +$.fn.clearFields = $.fn.clearInputs = function() { |
3761 | + return this.each(function() { |
3762 | + var t = this.type, tag = this.tagName.toLowerCase(); |
3763 | + if (t == 'text' || t == 'password' || tag == 'textarea') { |
3764 | + this.value = ''; |
3765 | + } |
3766 | + else if (t == 'checkbox' || t == 'radio') { |
3767 | + this.checked = false; |
3768 | + } |
3769 | + else if (tag == 'select') { |
3770 | + this.selectedIndex = -1; |
3771 | + } |
3772 | + }); |
3773 | +}; |
3774 | + |
3775 | +/** |
3776 | + * Resets the form data. Causes all form elements to be reset to their original value. |
3777 | + */ |
3778 | +$.fn.resetForm = function() { |
3779 | + return this.each(function() { |
3780 | + // guard against an input with the name of 'reset' |
3781 | + // note that IE reports the reset function as an 'object' |
3782 | + if (typeof this.reset == 'function' || (typeof this.reset == 'object' && !this.reset.nodeType)) { |
3783 | + this.reset(); |
3784 | + } |
3785 | + }); |
3786 | +}; |
3787 | + |
3788 | +/** |
3789 | + * Enables or disables any matching elements. |
3790 | + */ |
3791 | +$.fn.enable = function(b) { |
3792 | + if (b === undefined) { |
3793 | + b = true; |
3794 | + } |
3795 | + return this.each(function() { |
3796 | + this.disabled = !b; |
3797 | + }); |
3798 | +}; |
3799 | + |
3800 | +/** |
3801 | + * Checks/unchecks any matching checkboxes or radio buttons and |
3802 | + * selects/deselects and matching option elements. |
3803 | + */ |
3804 | +$.fn.selected = function(select) { |
3805 | + if (select === undefined) { |
3806 | + select = true; |
3807 | + } |
3808 | + return this.each(function() { |
3809 | + var t = this.type; |
3810 | + if (t == 'checkbox' || t == 'radio') { |
3811 | + this.checked = select; |
3812 | + } |
3813 | + else if (this.tagName.toLowerCase() == 'option') { |
3814 | + var $sel = $(this).parent('select'); |
3815 | + if (select && $sel[0] && $sel[0].type == 'select-one') { |
3816 | + // deselect all other options |
3817 | + $sel.find('option').selected(false); |
3818 | + } |
3819 | + this.selected = select; |
3820 | + } |
3821 | + }); |
3822 | +}; |
3823 | + |
3824 | +// helper fn for console logging |
3825 | +// set $.fn.ajaxSubmit.debug to true to enable debug logging |
3826 | +function log() { |
3827 | + if ($.fn.ajaxSubmit.debug) { |
3828 | + var msg = '[jquery.form] ' + Array.prototype.join.call(arguments,''); |
3829 | + if (window.console && window.console.log) { |
3830 | + window.console.log(msg); |
3831 | + } |
3832 | + else if (window.opera && window.opera.postError) { |
3833 | + window.opera.postError(msg); |
3834 | + } |
3835 | + } |
3836 | +}; |
3837 | + |
3838 | +})(jQuery); |
3839 | |
3840 | === added directory 'wp-content/plugins/contact-form-7/languages' |
3841 | === added file 'wp-content/plugins/contact-form-7/languages/readme.txt' |
3842 | --- wp-content/plugins/contact-form-7/languages/readme.txt 1970-01-01 00:00:00 +0000 |
3843 | +++ wp-content/plugins/contact-form-7/languages/readme.txt 2011-02-18 16:15:41 +0000 |
3844 | @@ -0,0 +1,9 @@ |
3845 | +== For Translators == |
3846 | + |
3847 | +Note: this folder contains MO files and POT file only. If you are looking for PO file, you can download it from here: |
3848 | + |
3849 | +http://plugins.svn.wordpress.org/contact-form-7/branches/languages/ |
3850 | + |
3851 | +If you have created your own translation, or have an update of an existing one, please send it to Takayuki Miyoshi <takayukister@gmail.com> so that I can bundle it into the next release of Contact Form 7. |
3852 | + |
3853 | +Thank you. |
3854 | \ No newline at end of file |
3855 | |
3856 | === added file 'wp-content/plugins/contact-form-7/languages/wpcf7-af.mo' |
3857 | Binary files wp-content/plugins/contact-form-7/languages/wpcf7-af.mo 1970-01-01 00:00:00 +0000 and wp-content/plugins/contact-form-7/languages/wpcf7-af.mo 2011-02-18 16:15:41 +0000 differ |
3858 | === added file 'wp-content/plugins/contact-form-7/languages/wpcf7-ar.mo' |
3859 | Binary files wp-content/plugins/contact-form-7/languages/wpcf7-ar.mo 1970-01-01 00:00:00 +0000 and wp-content/plugins/contact-form-7/languages/wpcf7-ar.mo 2011-02-18 16:15:41 +0000 differ |
3860 | === added file 'wp-content/plugins/contact-form-7/languages/wpcf7-bg_BG.mo' |
3861 | Binary files wp-content/plugins/contact-form-7/languages/wpcf7-bg_BG.mo 1970-01-01 00:00:00 +0000 and wp-content/plugins/contact-form-7/languages/wpcf7-bg_BG.mo 2011-02-18 16:15:41 +0000 differ |
3862 | === added file 'wp-content/plugins/contact-form-7/languages/wpcf7-bn_BD.mo' |
3863 | Binary files wp-content/plugins/contact-form-7/languages/wpcf7-bn_BD.mo 1970-01-01 00:00:00 +0000 and wp-content/plugins/contact-form-7/languages/wpcf7-bn_BD.mo 2011-02-18 16:15:41 +0000 differ |
3864 | === added file 'wp-content/plugins/contact-form-7/languages/wpcf7-bs.mo' |
3865 | Binary files wp-content/plugins/contact-form-7/languages/wpcf7-bs.mo 1970-01-01 00:00:00 +0000 and wp-content/plugins/contact-form-7/languages/wpcf7-bs.mo 2011-02-18 16:15:41 +0000 differ |
3866 | === added file 'wp-content/plugins/contact-form-7/languages/wpcf7-ca.mo' |
3867 | Binary files wp-content/plugins/contact-form-7/languages/wpcf7-ca.mo 1970-01-01 00:00:00 +0000 and wp-content/plugins/contact-form-7/languages/wpcf7-ca.mo 2011-02-18 16:15:41 +0000 differ |
3868 | === added file 'wp-content/plugins/contact-form-7/languages/wpcf7-cs_CZ.mo' |
3869 | Binary files wp-content/plugins/contact-form-7/languages/wpcf7-cs_CZ.mo 1970-01-01 00:00:00 +0000 and wp-content/plugins/contact-form-7/languages/wpcf7-cs_CZ.mo 2011-02-18 16:15:41 +0000 differ |
3870 | === added file 'wp-content/plugins/contact-form-7/languages/wpcf7-da_DK.mo' |
3871 | Binary files wp-content/plugins/contact-form-7/languages/wpcf7-da_DK.mo 1970-01-01 00:00:00 +0000 and wp-content/plugins/contact-form-7/languages/wpcf7-da_DK.mo 2011-02-18 16:15:41 +0000 differ |
3872 | === added file 'wp-content/plugins/contact-form-7/languages/wpcf7-de_DE.mo' |
3873 | Binary files wp-content/plugins/contact-form-7/languages/wpcf7-de_DE.mo 1970-01-01 00:00:00 +0000 and wp-content/plugins/contact-form-7/languages/wpcf7-de_DE.mo 2011-02-18 16:15:41 +0000 differ |
3874 | === added file 'wp-content/plugins/contact-form-7/languages/wpcf7-el.mo' |
3875 | Binary files wp-content/plugins/contact-form-7/languages/wpcf7-el.mo 1970-01-01 00:00:00 +0000 and wp-content/plugins/contact-form-7/languages/wpcf7-el.mo 2011-02-18 16:15:41 +0000 differ |
3876 | === added file 'wp-content/plugins/contact-form-7/languages/wpcf7-es_ES.mo' |
3877 | Binary files wp-content/plugins/contact-form-7/languages/wpcf7-es_ES.mo 1970-01-01 00:00:00 +0000 and wp-content/plugins/contact-form-7/languages/wpcf7-es_ES.mo 2011-02-18 16:15:41 +0000 differ |
3878 | === added file 'wp-content/plugins/contact-form-7/languages/wpcf7-et.mo' |
3879 | Binary files wp-content/plugins/contact-form-7/languages/wpcf7-et.mo 1970-01-01 00:00:00 +0000 and wp-content/plugins/contact-form-7/languages/wpcf7-et.mo 2011-02-18 16:15:41 +0000 differ |
3880 | === added file 'wp-content/plugins/contact-form-7/languages/wpcf7-fa_IR.mo' |
3881 | Binary files wp-content/plugins/contact-form-7/languages/wpcf7-fa_IR.mo 1970-01-01 00:00:00 +0000 and wp-content/plugins/contact-form-7/languages/wpcf7-fa_IR.mo 2011-02-18 16:15:41 +0000 differ |
3882 | === added file 'wp-content/plugins/contact-form-7/languages/wpcf7-fi.mo' |
3883 | Binary files wp-content/plugins/contact-form-7/languages/wpcf7-fi.mo 1970-01-01 00:00:00 +0000 and wp-content/plugins/contact-form-7/languages/wpcf7-fi.mo 2011-02-18 16:15:41 +0000 differ |
3884 | === added file 'wp-content/plugins/contact-form-7/languages/wpcf7-fr_FR.mo' |
3885 | Binary files wp-content/plugins/contact-form-7/languages/wpcf7-fr_FR.mo 1970-01-01 00:00:00 +0000 and wp-content/plugins/contact-form-7/languages/wpcf7-fr_FR.mo 2011-02-18 16:15:41 +0000 differ |
3886 | === added file 'wp-content/plugins/contact-form-7/languages/wpcf7-gl_ES.mo' |
3887 | Binary files wp-content/plugins/contact-form-7/languages/wpcf7-gl_ES.mo 1970-01-01 00:00:00 +0000 and wp-content/plugins/contact-form-7/languages/wpcf7-gl_ES.mo 2011-02-18 16:15:41 +0000 differ |
3888 | === added file 'wp-content/plugins/contact-form-7/languages/wpcf7-he_IL.mo' |
3889 | Binary files wp-content/plugins/contact-form-7/languages/wpcf7-he_IL.mo 1970-01-01 00:00:00 +0000 and wp-content/plugins/contact-form-7/languages/wpcf7-he_IL.mo 2011-02-18 16:15:41 +0000 differ |
3890 | === added file 'wp-content/plugins/contact-form-7/languages/wpcf7-hi_IN.mo' |
3891 | Binary files wp-content/plugins/contact-form-7/languages/wpcf7-hi_IN.mo 1970-01-01 00:00:00 +0000 and wp-content/plugins/contact-form-7/languages/wpcf7-hi_IN.mo 2011-02-18 16:15:41 +0000 differ |
3892 | === added file 'wp-content/plugins/contact-form-7/languages/wpcf7-hr.mo' |
3893 | Binary files wp-content/plugins/contact-form-7/languages/wpcf7-hr.mo 1970-01-01 00:00:00 +0000 and wp-content/plugins/contact-form-7/languages/wpcf7-hr.mo 2011-02-18 16:15:41 +0000 differ |
3894 | === added file 'wp-content/plugins/contact-form-7/languages/wpcf7-hu_HU.mo' |
3895 | Binary files wp-content/plugins/contact-form-7/languages/wpcf7-hu_HU.mo 1970-01-01 00:00:00 +0000 and wp-content/plugins/contact-form-7/languages/wpcf7-hu_HU.mo 2011-02-18 16:15:41 +0000 differ |
3896 | === added file 'wp-content/plugins/contact-form-7/languages/wpcf7-hy_AM.mo' |
3897 | Binary files wp-content/plugins/contact-form-7/languages/wpcf7-hy_AM.mo 1970-01-01 00:00:00 +0000 and wp-content/plugins/contact-form-7/languages/wpcf7-hy_AM.mo 2011-02-18 16:15:41 +0000 differ |
3898 | === added file 'wp-content/plugins/contact-form-7/languages/wpcf7-id_ID.mo' |
3899 | Binary files wp-content/plugins/contact-form-7/languages/wpcf7-id_ID.mo 1970-01-01 00:00:00 +0000 and wp-content/plugins/contact-form-7/languages/wpcf7-id_ID.mo 2011-02-18 16:15:41 +0000 differ |
3900 | === added file 'wp-content/plugins/contact-form-7/languages/wpcf7-it_IT.mo' |
3901 | Binary files wp-content/plugins/contact-form-7/languages/wpcf7-it_IT.mo 1970-01-01 00:00:00 +0000 and wp-content/plugins/contact-form-7/languages/wpcf7-it_IT.mo 2011-02-18 16:15:41 +0000 differ |
3902 | === added file 'wp-content/plugins/contact-form-7/languages/wpcf7-ja.mo' |
3903 | Binary files wp-content/plugins/contact-form-7/languages/wpcf7-ja.mo 1970-01-01 00:00:00 +0000 and wp-content/plugins/contact-form-7/languages/wpcf7-ja.mo 2011-02-18 16:15:41 +0000 differ |
3904 | === added file 'wp-content/plugins/contact-form-7/languages/wpcf7-ka_GE.mo' |
3905 | Binary files wp-content/plugins/contact-form-7/languages/wpcf7-ka_GE.mo 1970-01-01 00:00:00 +0000 and wp-content/plugins/contact-form-7/languages/wpcf7-ka_GE.mo 2011-02-18 16:15:41 +0000 differ |
3906 | === added file 'wp-content/plugins/contact-form-7/languages/wpcf7-ko_KR.mo' |
3907 | Binary files wp-content/plugins/contact-form-7/languages/wpcf7-ko_KR.mo 1970-01-01 00:00:00 +0000 and wp-content/plugins/contact-form-7/languages/wpcf7-ko_KR.mo 2011-02-18 16:15:41 +0000 differ |
3908 | === added file 'wp-content/plugins/contact-form-7/languages/wpcf7-lt_LT.mo' |
3909 | Binary files wp-content/plugins/contact-form-7/languages/wpcf7-lt_LT.mo 1970-01-01 00:00:00 +0000 and wp-content/plugins/contact-form-7/languages/wpcf7-lt_LT.mo 2011-02-18 16:15:41 +0000 differ |
3910 | === added file 'wp-content/plugins/contact-form-7/languages/wpcf7-lv.mo' |
3911 | Binary files wp-content/plugins/contact-form-7/languages/wpcf7-lv.mo 1970-01-01 00:00:00 +0000 and wp-content/plugins/contact-form-7/languages/wpcf7-lv.mo 2011-02-18 16:15:41 +0000 differ |
3912 | === added file 'wp-content/plugins/contact-form-7/languages/wpcf7-mk_MK.mo' |
3913 | Binary files wp-content/plugins/contact-form-7/languages/wpcf7-mk_MK.mo 1970-01-01 00:00:00 +0000 and wp-content/plugins/contact-form-7/languages/wpcf7-mk_MK.mo 2011-02-18 16:15:41 +0000 differ |
3914 | === added file 'wp-content/plugins/contact-form-7/languages/wpcf7-ml_IN.mo' |
3915 | Binary files wp-content/plugins/contact-form-7/languages/wpcf7-ml_IN.mo 1970-01-01 00:00:00 +0000 and wp-content/plugins/contact-form-7/languages/wpcf7-ml_IN.mo 2011-02-18 16:15:41 +0000 differ |
3916 | === added file 'wp-content/plugins/contact-form-7/languages/wpcf7-ms_MY.mo' |
3917 | Binary files wp-content/plugins/contact-form-7/languages/wpcf7-ms_MY.mo 1970-01-01 00:00:00 +0000 and wp-content/plugins/contact-form-7/languages/wpcf7-ms_MY.mo 2011-02-18 16:15:41 +0000 differ |
3918 | === added file 'wp-content/plugins/contact-form-7/languages/wpcf7-nb_NO.mo' |
3919 | Binary files wp-content/plugins/contact-form-7/languages/wpcf7-nb_NO.mo 1970-01-01 00:00:00 +0000 and wp-content/plugins/contact-form-7/languages/wpcf7-nb_NO.mo 2011-02-18 16:15:41 +0000 differ |
3920 | === added file 'wp-content/plugins/contact-form-7/languages/wpcf7-nl_NL.mo' |
3921 | Binary files wp-content/plugins/contact-form-7/languages/wpcf7-nl_NL.mo 1970-01-01 00:00:00 +0000 and wp-content/plugins/contact-form-7/languages/wpcf7-nl_NL.mo 2011-02-18 16:15:41 +0000 differ |
3922 | === added file 'wp-content/plugins/contact-form-7/languages/wpcf7-pl_PL.mo' |
3923 | Binary files wp-content/plugins/contact-form-7/languages/wpcf7-pl_PL.mo 1970-01-01 00:00:00 +0000 and wp-content/plugins/contact-form-7/languages/wpcf7-pl_PL.mo 2011-02-18 16:15:41 +0000 differ |
3924 | === added file 'wp-content/plugins/contact-form-7/languages/wpcf7-pt_BR.mo' |
3925 | Binary files wp-content/plugins/contact-form-7/languages/wpcf7-pt_BR.mo 1970-01-01 00:00:00 +0000 and wp-content/plugins/contact-form-7/languages/wpcf7-pt_BR.mo 2011-02-18 16:15:41 +0000 differ |
3926 | === added file 'wp-content/plugins/contact-form-7/languages/wpcf7-pt_PT.mo' |
3927 | Binary files wp-content/plugins/contact-form-7/languages/wpcf7-pt_PT.mo 1970-01-01 00:00:00 +0000 and wp-content/plugins/contact-form-7/languages/wpcf7-pt_PT.mo 2011-02-18 16:15:41 +0000 differ |
3928 | === added file 'wp-content/plugins/contact-form-7/languages/wpcf7-ro_RO.mo' |
3929 | Binary files wp-content/plugins/contact-form-7/languages/wpcf7-ro_RO.mo 1970-01-01 00:00:00 +0000 and wp-content/plugins/contact-form-7/languages/wpcf7-ro_RO.mo 2011-02-18 16:15:41 +0000 differ |
3930 | === added file 'wp-content/plugins/contact-form-7/languages/wpcf7-ru_RU.mo' |
3931 | Binary files wp-content/plugins/contact-form-7/languages/wpcf7-ru_RU.mo 1970-01-01 00:00:00 +0000 and wp-content/plugins/contact-form-7/languages/wpcf7-ru_RU.mo 2011-02-18 16:15:41 +0000 differ |
3932 | === added file 'wp-content/plugins/contact-form-7/languages/wpcf7-sk.mo' |
3933 | Binary files wp-content/plugins/contact-form-7/languages/wpcf7-sk.mo 1970-01-01 00:00:00 +0000 and wp-content/plugins/contact-form-7/languages/wpcf7-sk.mo 2011-02-18 16:15:41 +0000 differ |
3934 | === added file 'wp-content/plugins/contact-form-7/languages/wpcf7-sl_SI.mo' |
3935 | Binary files wp-content/plugins/contact-form-7/languages/wpcf7-sl_SI.mo 1970-01-01 00:00:00 +0000 and wp-content/plugins/contact-form-7/languages/wpcf7-sl_SI.mo 2011-02-18 16:15:41 +0000 differ |
3936 | === added file 'wp-content/plugins/contact-form-7/languages/wpcf7-sq.mo' |
3937 | Binary files wp-content/plugins/contact-form-7/languages/wpcf7-sq.mo 1970-01-01 00:00:00 +0000 and wp-content/plugins/contact-form-7/languages/wpcf7-sq.mo 2011-02-18 16:15:41 +0000 differ |
3938 | === added file 'wp-content/plugins/contact-form-7/languages/wpcf7-sr_RS.mo' |
3939 | Binary files wp-content/plugins/contact-form-7/languages/wpcf7-sr_RS.mo 1970-01-01 00:00:00 +0000 and wp-content/plugins/contact-form-7/languages/wpcf7-sr_RS.mo 2011-02-18 16:15:41 +0000 differ |
3940 | === added file 'wp-content/plugins/contact-form-7/languages/wpcf7-sv_SE.mo' |
3941 | Binary files wp-content/plugins/contact-form-7/languages/wpcf7-sv_SE.mo 1970-01-01 00:00:00 +0000 and wp-content/plugins/contact-form-7/languages/wpcf7-sv_SE.mo 2011-02-18 16:15:41 +0000 differ |
3942 | === added file 'wp-content/plugins/contact-form-7/languages/wpcf7-ta.mo' |
3943 | Binary files wp-content/plugins/contact-form-7/languages/wpcf7-ta.mo 1970-01-01 00:00:00 +0000 and wp-content/plugins/contact-form-7/languages/wpcf7-ta.mo 2011-02-18 16:15:41 +0000 differ |
3944 | === added file 'wp-content/plugins/contact-form-7/languages/wpcf7-th.mo' |
3945 | Binary files wp-content/plugins/contact-form-7/languages/wpcf7-th.mo 1970-01-01 00:00:00 +0000 and wp-content/plugins/contact-form-7/languages/wpcf7-th.mo 2011-02-18 16:15:41 +0000 differ |
3946 | === added file 'wp-content/plugins/contact-form-7/languages/wpcf7-tr_TR.mo' |
3947 | Binary files wp-content/plugins/contact-form-7/languages/wpcf7-tr_TR.mo 1970-01-01 00:00:00 +0000 and wp-content/plugins/contact-form-7/languages/wpcf7-tr_TR.mo 2011-02-18 16:15:41 +0000 differ |
3948 | === added file 'wp-content/plugins/contact-form-7/languages/wpcf7-uk.mo' |
3949 | Binary files wp-content/plugins/contact-form-7/languages/wpcf7-uk.mo 1970-01-01 00:00:00 +0000 and wp-content/plugins/contact-form-7/languages/wpcf7-uk.mo 2011-02-18 16:15:41 +0000 differ |
3950 | === added file 'wp-content/plugins/contact-form-7/languages/wpcf7-vi.mo' |
3951 | Binary files wp-content/plugins/contact-form-7/languages/wpcf7-vi.mo 1970-01-01 00:00:00 +0000 and wp-content/plugins/contact-form-7/languages/wpcf7-vi.mo 2011-02-18 16:15:41 +0000 differ |
3952 | === added file 'wp-content/plugins/contact-form-7/languages/wpcf7-zh_CN.mo' |
3953 | Binary files wp-content/plugins/contact-form-7/languages/wpcf7-zh_CN.mo 1970-01-01 00:00:00 +0000 and wp-content/plugins/contact-form-7/languages/wpcf7-zh_CN.mo 2011-02-18 16:15:41 +0000 differ |
3954 | === added file 'wp-content/plugins/contact-form-7/languages/wpcf7-zh_TW.mo' |
3955 | Binary files wp-content/plugins/contact-form-7/languages/wpcf7-zh_TW.mo 1970-01-01 00:00:00 +0000 and wp-content/plugins/contact-form-7/languages/wpcf7-zh_TW.mo 2011-02-18 16:15:41 +0000 differ |
3956 | === added file 'wp-content/plugins/contact-form-7/languages/wpcf7.pot' |
3957 | --- wp-content/plugins/contact-form-7/languages/wpcf7.pot 1970-01-01 00:00:00 +0000 |
3958 | +++ wp-content/plugins/contact-form-7/languages/wpcf7.pot 2011-02-18 16:15:41 +0000 |
3959 | @@ -0,0 +1,842 @@ |
3960 | +msgid "" |
3961 | +msgstr "" |
3962 | +"Project-Id-Version: Contact Form 7\n" |
3963 | +"Report-Msgid-Bugs-To: \n" |
3964 | +"POT-Creation-Date: 2011-01-06 09:35+0900\n" |
3965 | +"PO-Revision-Date: 2011-01-06 09:35+0900\n" |
3966 | +"Last-Translator: Takayuki Miyoshi <takayukister@gmail.com>\n" |
3967 | +"Language-Team: \n" |
3968 | +"MIME-Version: 1.0\n" |
3969 | +"Content-Type: text/plain; charset=UTF-8\n" |
3970 | +"Content-Transfer-Encoding: 8bit\n" |
3971 | +"X-Poedit-SourceCharset: utf-8\n" |
3972 | +"X-Poedit-KeywordsList: __;_e;__ngettext:1,2;_c\n" |
3973 | +"X-Poedit-Basepath: ../..\n" |
3974 | +"Plural-Forms: nplurals=1; plural=0;\n" |
3975 | +"X-Poedit-SearchPath-0: contact-form-7\n" |
3976 | + |
3977 | +#: contact-form-7/admin/admin.php:120 |
3978 | +#: contact-form-7/admin/edit.php:17 |
3979 | +#: contact-form-7/admin/edit.php:30 |
3980 | +msgid "Contact Form 7" |
3981 | +msgstr "" |
3982 | + |
3983 | +#: contact-form-7/admin/admin.php:120 |
3984 | +msgid "Contact" |
3985 | +msgstr "" |
3986 | + |
3987 | +#: contact-form-7/admin/admin.php:123 |
3988 | +msgid "Edit Contact Forms" |
3989 | +msgstr "" |
3990 | + |
3991 | +#: contact-form-7/admin/admin.php:123 |
3992 | +msgid "Edit" |
3993 | +msgstr "" |
3994 | + |
3995 | +#: contact-form-7/admin/admin.php:162 |
3996 | +msgid "Generate Tag" |
3997 | +msgstr "" |
3998 | + |
3999 | +#: contact-form-7/admin/admin.php:163 |
4000 | +msgid "Show" |
4001 | +msgstr "" |
4002 | + |
4003 | +#: contact-form-7/admin/admin.php:164 |
4004 | +msgid "Hide" |
4005 | +msgstr "" |
4006 | + |
4007 | +#: contact-form-7/admin/admin.php:261 |
4008 | +msgid "Contact form" |
4009 | +msgstr "" |
4010 | + |
4011 | +#: contact-form-7/admin/admin.php:280 |
4012 | +msgid "Settings" |
4013 | +msgstr "" |
4014 | + |
4015 | +#: contact-form-7/admin/admin.php:291 |
4016 | +msgid "http://contactform7.com/" |
4017 | +msgstr "" |
4018 | + |
4019 | +#: contact-form-7/admin/admin.php:292 |
4020 | +msgid "Contactform7.com" |
4021 | +msgstr "" |
4022 | + |
4023 | +#: contact-form-7/admin/admin.php:293 |
4024 | +msgid "http://contactform7.com/docs/" |
4025 | +msgstr "" |
4026 | + |
4027 | +#: contact-form-7/admin/admin.php:294 |
4028 | +msgid "Docs" |
4029 | +msgstr "" |
4030 | + |
4031 | +#: contact-form-7/admin/admin.php:295 |
4032 | +msgid "http://contactform7.com/faq/" |
4033 | +msgstr "" |
4034 | + |
4035 | +#: contact-form-7/admin/admin.php:296 |
4036 | +msgid "FAQ" |
4037 | +msgstr "" |
4038 | + |
4039 | +#: contact-form-7/admin/admin.php:297 |
4040 | +msgid "http://contactform7.com/support/" |
4041 | +msgstr "" |
4042 | + |
4043 | +#: contact-form-7/admin/admin.php:298 |
4044 | +msgid "Support" |
4045 | +msgstr "" |
4046 | + |
4047 | +#: contact-form-7/admin/admin.php:312 |
4048 | +msgid "Contact form created." |
4049 | +msgstr "" |
4050 | + |
4051 | +#: contact-form-7/admin/admin.php:315 |
4052 | +msgid "Contact form saved." |
4053 | +msgstr "" |
4054 | + |
4055 | +#: contact-form-7/admin/admin.php:318 |
4056 | +msgid "Contact form deleted." |
4057 | +msgstr "" |
4058 | + |
4059 | +#: contact-form-7/admin/admin.php:321 |
4060 | +msgid "Database table created." |
4061 | +msgstr "" |
4062 | + |
4063 | +#: contact-form-7/admin/admin.php:324 |
4064 | +msgid "Failed to create database table." |
4065 | +msgstr "" |
4066 | + |
4067 | +#: contact-form-7/admin/admin.php:358 |
4068 | +msgid "Contact Form 7 needs your support. Please donate today." |
4069 | +msgstr "" |
4070 | + |
4071 | +#: contact-form-7/admin/admin.php:359 |
4072 | +msgid "Your contribution is needed for making this plugin better." |
4073 | +msgstr "" |
4074 | + |
4075 | +#: contact-form-7/admin/admin.php:365 |
4076 | +msgid "http://contactform7.com/donate/" |
4077 | +msgstr "" |
4078 | + |
4079 | +#: contact-form-7/admin/admin.php:365 |
4080 | +msgid "Donate" |
4081 | +msgstr "" |
4082 | + |
4083 | +#: contact-form-7/admin/edit.php:9 |
4084 | +#, php-format |
4085 | +msgid "<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." |
4086 | +msgstr "" |
4087 | + |
4088 | +#: contact-form-7/admin/edit.php:12 |
4089 | +msgid "<strong>The database table for Contact Form 7 does not exist.</strong>" |
4090 | +msgstr "" |
4091 | + |
4092 | +#: contact-form-7/admin/edit.php:45 |
4093 | +msgid "Add new" |
4094 | +msgstr "" |
4095 | + |
4096 | +#: contact-form-7/admin/edit.php:67 |
4097 | +msgid "Copy this code and paste it into your post, page or text widget content." |
4098 | +msgstr "" |
4099 | + |
4100 | +#: contact-form-7/admin/edit.php:75 |
4101 | +#: contact-form-7/admin/edit.php:309 |
4102 | +msgid "Save" |
4103 | +msgstr "" |
4104 | + |
4105 | +#: contact-form-7/admin/edit.php:82 |
4106 | +msgid "Copy" |
4107 | +msgstr "" |
4108 | + |
4109 | +#: contact-form-7/admin/edit.php:87 |
4110 | +msgid "Delete" |
4111 | +msgstr "" |
4112 | + |
4113 | +#: contact-form-7/admin/edit.php:89 |
4114 | +msgid "" |
4115 | +"You are about to delete this contact form.\n" |
4116 | +" 'Cancel' to stop, 'OK' to delete." |
4117 | +msgstr "" |
4118 | + |
4119 | +#: contact-form-7/admin/edit.php:104 |
4120 | +msgid "Form" |
4121 | +msgstr "" |
4122 | + |
4123 | +#: contact-form-7/admin/edit.php:128 |
4124 | +msgid "Mail" |
4125 | +msgstr "" |
4126 | + |
4127 | +#: contact-form-7/admin/edit.php:135 |
4128 | +#: contact-form-7/admin/edit.php:202 |
4129 | +msgid "To:" |
4130 | +msgstr "" |
4131 | + |
4132 | +#: contact-form-7/admin/edit.php:140 |
4133 | +#: contact-form-7/admin/edit.php:207 |
4134 | +msgid "From:" |
4135 | +msgstr "" |
4136 | + |
4137 | +#: contact-form-7/admin/edit.php:145 |
4138 | +#: contact-form-7/admin/edit.php:212 |
4139 | +msgid "Subject:" |
4140 | +msgstr "" |
4141 | + |
4142 | +#: contact-form-7/admin/edit.php:152 |
4143 | +#: contact-form-7/admin/edit.php:219 |
4144 | +msgid "Additional headers:" |
4145 | +msgstr "" |
4146 | + |
4147 | +#: contact-form-7/admin/edit.php:157 |
4148 | +#: contact-form-7/admin/edit.php:224 |
4149 | +msgid "File attachments:" |
4150 | +msgstr "" |
4151 | + |
4152 | +#: contact-form-7/admin/edit.php:165 |
4153 | +#: contact-form-7/admin/edit.php:232 |
4154 | +msgid "Use HTML content type" |
4155 | +msgstr "" |
4156 | + |
4157 | +#: contact-form-7/admin/edit.php:172 |
4158 | +#: contact-form-7/admin/edit.php:239 |
4159 | +#: contact-form-7/includes/functions.php:78 |
4160 | +msgid "Message body:" |
4161 | +msgstr "" |
4162 | + |
4163 | +#: contact-form-7/admin/edit.php:188 |
4164 | +msgid "Mail (2)" |
4165 | +msgstr "" |
4166 | + |
4167 | +#: contact-form-7/admin/edit.php:194 |
4168 | +msgid "Use mail (2)" |
4169 | +msgstr "" |
4170 | + |
4171 | +#: contact-form-7/admin/edit.php:255 |
4172 | +msgid "Messages" |
4173 | +msgstr "" |
4174 | + |
4175 | +#: contact-form-7/admin/edit.php:285 |
4176 | +msgid "Additional Settings" |
4177 | +msgstr "" |
4178 | + |
4179 | +#: contact-form-7/admin/edit.php:333 |
4180 | +#, php-format |
4181 | +msgid "Use the default language (%s)" |
4182 | +msgstr "" |
4183 | + |
4184 | +#: contact-form-7/admin/edit.php:334 |
4185 | +#: contact-form-7/admin/edit.php:347 |
4186 | +msgid "Add New" |
4187 | +msgstr "" |
4188 | + |
4189 | +#: contact-form-7/admin/edit.php:337 |
4190 | +msgid "Or" |
4191 | +msgstr "" |
4192 | + |
4193 | +#: contact-form-7/admin/edit.php:342 |
4194 | +msgid "(select language)" |
4195 | +msgstr "" |
4196 | + |
4197 | +#: contact-form-7/includes/classes.php:596 |
4198 | +msgid "Untitled" |
4199 | +msgstr "" |
4200 | + |
4201 | +#: contact-form-7/includes/functions.php:6 |
4202 | +msgid "Sender's message was sent successfully" |
4203 | +msgstr "" |
4204 | + |
4205 | +#: contact-form-7/includes/functions.php:7 |
4206 | +msgid "Your message was sent successfully. Thanks." |
4207 | +msgstr "" |
4208 | + |
4209 | +#: contact-form-7/includes/functions.php:11 |
4210 | +msgid "Sender's message was failed to send" |
4211 | +msgstr "" |
4212 | + |
4213 | +#: contact-form-7/includes/functions.php:12 |
4214 | +#: contact-form-7/includes/functions.php:17 |
4215 | +msgid "Failed to send your message. Please try later or contact administrator by other way." |
4216 | +msgstr "" |
4217 | + |
4218 | +#: contact-form-7/includes/functions.php:16 |
4219 | +msgid "Akismet judged the sending activity as spamming" |
4220 | +msgstr "" |
4221 | + |
4222 | +#: contact-form-7/includes/functions.php:21 |
4223 | +msgid "Validation errors occurred" |
4224 | +msgstr "" |
4225 | + |
4226 | +#: contact-form-7/includes/functions.php:22 |
4227 | +msgid "Validation errors occurred. Please confirm the fields and submit it again." |
4228 | +msgstr "" |
4229 | + |
4230 | +#: contact-form-7/includes/functions.php:26 |
4231 | +msgid "There is a field of term that sender is needed to accept" |
4232 | +msgstr "" |
4233 | + |
4234 | +#: contact-form-7/includes/functions.php:27 |
4235 | +msgid "Please accept the terms to proceed." |
4236 | +msgstr "" |
4237 | + |
4238 | +#: contact-form-7/includes/functions.php:31 |
4239 | +msgid "Email address that sender entered is invalid" |
4240 | +msgstr "" |
4241 | + |
4242 | +#: contact-form-7/includes/functions.php:32 |
4243 | +msgid "Email address seems invalid." |
4244 | +msgstr "" |
4245 | + |
4246 | +#: contact-form-7/includes/functions.php:36 |
4247 | +msgid "There is a field that sender is needed to fill in" |
4248 | +msgstr "" |
4249 | + |
4250 | +#: contact-form-7/includes/functions.php:37 |
4251 | +msgid "Please fill the required field." |
4252 | +msgstr "" |
4253 | + |
4254 | +#: contact-form-7/includes/functions.php:46 |
4255 | +msgid "Your Name" |
4256 | +msgstr "" |
4257 | + |
4258 | +#: contact-form-7/includes/functions.php:46 |
4259 | +#: contact-form-7/includes/functions.php:48 |
4260 | +msgid "(required)" |
4261 | +msgstr "" |
4262 | + |
4263 | +#: contact-form-7/includes/functions.php:48 |
4264 | +msgid "Your Email" |
4265 | +msgstr "" |
4266 | + |
4267 | +#: contact-form-7/includes/functions.php:50 |
4268 | +msgid "Subject" |
4269 | +msgstr "" |
4270 | + |
4271 | +#: contact-form-7/includes/functions.php:52 |
4272 | +msgid "Your Message" |
4273 | +msgstr "" |
4274 | + |
4275 | +#: contact-form-7/includes/functions.php:54 |
4276 | +msgid "Send" |
4277 | +msgstr "" |
4278 | + |
4279 | +#: contact-form-7/includes/functions.php:62 |
4280 | +#, php-format |
4281 | +msgid "From: %s" |
4282 | +msgstr "" |
4283 | + |
4284 | +#: contact-form-7/includes/functions.php:63 |
4285 | +#, php-format |
4286 | +msgid "Subject: %s" |
4287 | +msgstr "" |
4288 | + |
4289 | +#: contact-form-7/includes/functions.php:64 |
4290 | +msgid "Message Body:" |
4291 | +msgstr "" |
4292 | + |
4293 | +#: contact-form-7/includes/functions.php:65 |
4294 | +#: contact-form-7/includes/functions.php:79 |
4295 | +#, php-format |
4296 | +msgid "This mail is sent via contact form on %1$s %2$s" |
4297 | +msgstr "" |
4298 | + |
4299 | +#: contact-form-7/includes/functions.php:169 |
4300 | +msgid "Afrikaans" |
4301 | +msgstr "" |
4302 | + |
4303 | +#: contact-form-7/includes/functions.php:170 |
4304 | +msgid "Albanian" |
4305 | +msgstr "" |
4306 | + |
4307 | +#: contact-form-7/includes/functions.php:171 |
4308 | +msgid "Arabic" |
4309 | +msgstr "" |
4310 | + |
4311 | +#: contact-form-7/includes/functions.php:172 |
4312 | +msgid "Armenian" |
4313 | +msgstr "" |
4314 | + |
4315 | +#: contact-form-7/includes/functions.php:173 |
4316 | +msgid "Bangla" |
4317 | +msgstr "" |
4318 | + |
4319 | +#: contact-form-7/includes/functions.php:174 |
4320 | +msgid "Bosnian" |
4321 | +msgstr "" |
4322 | + |
4323 | +#: contact-form-7/includes/functions.php:175 |
4324 | +msgid "Brazilian Portuguese" |
4325 | +msgstr "" |
4326 | + |
4327 | +#: contact-form-7/includes/functions.php:176 |
4328 | +msgid "Bulgarian" |
4329 | +msgstr "" |
4330 | + |
4331 | +#: contact-form-7/includes/functions.php:177 |
4332 | +msgid "Catalan" |
4333 | +msgstr "" |
4334 | + |
4335 | +#: contact-form-7/includes/functions.php:178 |
4336 | +msgid "Chinese (Simplified)" |
4337 | +msgstr "" |
4338 | + |
4339 | +#: contact-form-7/includes/functions.php:179 |
4340 | +msgid "Chinese (Traditional)" |
4341 | +msgstr "" |
4342 | + |
4343 | +#: contact-form-7/includes/functions.php:180 |
4344 | +msgid "Croatian" |
4345 | +msgstr "" |
4346 | + |
4347 | +#: contact-form-7/includes/functions.php:181 |
4348 | +msgid "Czech" |
4349 | +msgstr "" |
4350 | + |
4351 | +#: contact-form-7/includes/functions.php:182 |
4352 | +msgid "Danish" |
4353 | +msgstr "" |
4354 | + |
4355 | +#: contact-form-7/includes/functions.php:183 |
4356 | +msgid "Dutch" |
4357 | +msgstr "" |
4358 | + |
4359 | +#: contact-form-7/includes/functions.php:184 |
4360 | +msgid "English" |
4361 | +msgstr "" |
4362 | + |
4363 | +#: contact-form-7/includes/functions.php:185 |
4364 | +msgid "Estonian" |
4365 | +msgstr "" |
4366 | + |
4367 | +#: contact-form-7/includes/functions.php:186 |
4368 | +msgid "Finnish" |
4369 | +msgstr "" |
4370 | + |
4371 | +#: contact-form-7/includes/functions.php:187 |
4372 | +msgid "French" |
4373 | +msgstr "" |
4374 | + |
4375 | +#: contact-form-7/includes/functions.php:188 |
4376 | +msgid "Galician" |
4377 | +msgstr "" |
4378 | + |
4379 | +#: contact-form-7/includes/functions.php:189 |
4380 | +msgid "Georgian" |
4381 | +msgstr "" |
4382 | + |
4383 | +#: contact-form-7/includes/functions.php:190 |
4384 | +msgid "German" |
4385 | +msgstr "" |
4386 | + |
4387 | +#: contact-form-7/includes/functions.php:191 |
4388 | +msgid "Greek" |
4389 | +msgstr "" |
4390 | + |
4391 | +#: contact-form-7/includes/functions.php:192 |
4392 | +msgid "Hebrew" |
4393 | +msgstr "" |
4394 | + |
4395 | +#: contact-form-7/includes/functions.php:193 |
4396 | +msgid "Hindi" |
4397 | +msgstr "" |
4398 | + |
4399 | +#: contact-form-7/includes/functions.php:194 |
4400 | +msgid "Hungarian" |
4401 | +msgstr "" |
4402 | + |
4403 | +#: contact-form-7/includes/functions.php:195 |
4404 | +msgid "Indonesian" |
4405 | +msgstr "" |
4406 | + |
4407 | +#: contact-form-7/includes/functions.php:196 |
4408 | +msgid "Italian" |
4409 | +msgstr "" |
4410 | + |
4411 | +#: contact-form-7/includes/functions.php:197 |
4412 | +msgid "Japanese" |
4413 | +msgstr "" |
4414 | + |
4415 | +#: contact-form-7/includes/functions.php:198 |
4416 | +msgid "Korean" |
4417 | +msgstr "" |
4418 | + |
4419 | +#: contact-form-7/includes/functions.php:199 |
4420 | +msgid "Latvian" |
4421 | +msgstr "" |
4422 | + |
4423 | +#: contact-form-7/includes/functions.php:200 |
4424 | +msgid "Lithuanian" |
4425 | +msgstr "" |
4426 | + |
4427 | +#: contact-form-7/includes/functions.php:201 |
4428 | +msgid "Macedonian" |
4429 | +msgstr "" |
4430 | + |
4431 | +#: contact-form-7/includes/functions.php:202 |
4432 | +msgid "Malay" |
4433 | +msgstr "" |
4434 | + |
4435 | +#: contact-form-7/includes/functions.php:203 |
4436 | +msgid "Malayalam" |
4437 | +msgstr "" |
4438 | + |
4439 | +#: contact-form-7/includes/functions.php:204 |
4440 | +msgid "Norwegian" |
4441 | +msgstr "" |
4442 | + |
4443 | +#: contact-form-7/includes/functions.php:205 |
4444 | +msgid "Persian" |
4445 | +msgstr "" |
4446 | + |
4447 | +#: contact-form-7/includes/functions.php:206 |
4448 | +msgid "Polish" |
4449 | +msgstr "" |
4450 | + |
4451 | +#: contact-form-7/includes/functions.php:207 |
4452 | +msgid "Portuguese" |
4453 | +msgstr "" |
4454 | + |
4455 | +#: contact-form-7/includes/functions.php:208 |
4456 | +msgid "Russian" |
4457 | +msgstr "" |
4458 | + |
4459 | +#: contact-form-7/includes/functions.php:209 |
4460 | +msgid "Romanian" |
4461 | +msgstr "" |
4462 | + |
4463 | +#: contact-form-7/includes/functions.php:210 |
4464 | +msgid "Serbian" |
4465 | +msgstr "" |
4466 | + |
4467 | +#: contact-form-7/includes/functions.php:211 |
4468 | +msgid "Slovak" |
4469 | +msgstr "" |
4470 | + |
4471 | +#: contact-form-7/includes/functions.php:212 |
4472 | +msgid "Slovene" |
4473 | +msgstr "" |
4474 | + |
4475 | +#: contact-form-7/includes/functions.php:213 |
4476 | +msgid "Spanish" |
4477 | +msgstr "" |
4478 | + |
4479 | +#: contact-form-7/includes/functions.php:214 |
4480 | +msgid "Swedish" |
4481 | +msgstr "" |
4482 | + |
4483 | +#: contact-form-7/includes/functions.php:215 |
4484 | +msgid "Tamil" |
4485 | +msgstr "" |
4486 | + |
4487 | +#: contact-form-7/includes/functions.php:216 |
4488 | +msgid "Thai" |
4489 | +msgstr "" |
4490 | + |
4491 | +#: contact-form-7/includes/functions.php:217 |
4492 | +msgid "Turkish" |
4493 | +msgstr "" |
4494 | + |
4495 | +#: contact-form-7/includes/functions.php:218 |
4496 | +msgid "Ukrainian" |
4497 | +msgstr "" |
4498 | + |
4499 | +#: contact-form-7/includes/functions.php:219 |
4500 | +msgid "Vietnamese" |
4501 | +msgstr "" |
4502 | + |
4503 | +#: contact-form-7/modules/acceptance.php:150 |
4504 | +msgid "Acceptance" |
4505 | +msgstr "" |
4506 | + |
4507 | +#: contact-form-7/modules/acceptance.php:159 |
4508 | +#: contact-form-7/modules/captcha.php:202 |
4509 | +#: contact-form-7/modules/checkbox.php:208 |
4510 | +#: contact-form-7/modules/file.php:244 |
4511 | +msgid "Name" |
4512 | +msgstr "" |
4513 | + |
4514 | +#: contact-form-7/modules/acceptance.php:164 |
4515 | +#: contact-form-7/modules/acceptance.php:167 |
4516 | +#: contact-form-7/modules/captcha.php:209 |
4517 | +#: contact-form-7/modules/captcha.php:212 |
4518 | +#: contact-form-7/modules/captcha.php:217 |
4519 | +#: contact-form-7/modules/captcha.php:220 |
4520 | +#: contact-form-7/modules/captcha.php:224 |
4521 | +#: contact-form-7/modules/captcha.php:235 |
4522 | +#: contact-form-7/modules/captcha.php:238 |
4523 | +#: contact-form-7/modules/captcha.php:243 |
4524 | +#: contact-form-7/modules/captcha.php:246 |
4525 | +#: contact-form-7/modules/checkbox.php:213 |
4526 | +#: contact-form-7/modules/checkbox.php:216 |
4527 | +#: contact-form-7/modules/file.php:249 |
4528 | +#: contact-form-7/modules/file.php:252 |
4529 | +#: contact-form-7/modules/file.php:257 |
4530 | +#: contact-form-7/modules/file.php:260 |
4531 | +msgid "optional" |
4532 | +msgstr "" |
4533 | + |
4534 | +#: contact-form-7/modules/acceptance.php:173 |
4535 | +msgid "Make this checkbox checked by default?" |
4536 | +msgstr "" |
4537 | + |
4538 | +#: contact-form-7/modules/acceptance.php:174 |
4539 | +msgid "Make this checkbox work inversely?" |
4540 | +msgstr "" |
4541 | + |
4542 | +#: contact-form-7/modules/acceptance.php:175 |
4543 | +msgid "* That means visitor who accepts the term unchecks it." |
4544 | +msgstr "" |
4545 | + |
4546 | +#: contact-form-7/modules/acceptance.php:180 |
4547 | +#: contact-form-7/modules/captcha.php:251 |
4548 | +#: contact-form-7/modules/checkbox.php:236 |
4549 | +#: contact-form-7/modules/file.php:265 |
4550 | +msgid "Copy this code and paste it into the form left." |
4551 | +msgstr "" |
4552 | + |
4553 | +#: contact-form-7/modules/captcha.php:66 |
4554 | +msgid "To use CAPTCHA, you need <a href=\"http://wordpress.org/extend/plugins/really-simple-captcha/\">Really Simple CAPTCHA</a> plugin installed." |
4555 | +msgstr "" |
4556 | + |
4557 | +#: contact-form-7/modules/captcha.php:177 |
4558 | +msgid "The code that sender entered does not match the CAPTCHA" |
4559 | +msgstr "" |
4560 | + |
4561 | +#: contact-form-7/modules/captcha.php:178 |
4562 | +msgid "Your entered code is incorrect." |
4563 | +msgstr "" |
4564 | + |
4565 | +#: contact-form-7/modules/captcha.php:188 |
4566 | +msgid "CAPTCHA" |
4567 | +msgstr "" |
4568 | + |
4569 | +#: contact-form-7/modules/captcha.php:199 |
4570 | +msgid "Note: To use CAPTCHA, you need Really Simple CAPTCHA plugin installed." |
4571 | +msgstr "" |
4572 | + |
4573 | +#: contact-form-7/modules/captcha.php:206 |
4574 | +msgid "Image settings" |
4575 | +msgstr "" |
4576 | + |
4577 | +#: contact-form-7/modules/captcha.php:217 |
4578 | +msgid "Foreground color" |
4579 | +msgstr "" |
4580 | + |
4581 | +#: contact-form-7/modules/captcha.php:220 |
4582 | +msgid "Background color" |
4583 | +msgstr "" |
4584 | + |
4585 | +#: contact-form-7/modules/captcha.php:224 |
4586 | +msgid "Image size" |
4587 | +msgstr "" |
4588 | + |
4589 | +#: contact-form-7/modules/captcha.php:225 |
4590 | +msgid "Small" |
4591 | +msgstr "" |
4592 | + |
4593 | +#: contact-form-7/modules/captcha.php:226 |
4594 | +msgid "Medium" |
4595 | +msgstr "" |
4596 | + |
4597 | +#: contact-form-7/modules/captcha.php:227 |
4598 | +msgid "Large" |
4599 | +msgstr "" |
4600 | + |
4601 | +#: contact-form-7/modules/captcha.php:232 |
4602 | +msgid "Input field settings" |
4603 | +msgstr "" |
4604 | + |
4605 | +#: contact-form-7/modules/captcha.php:252 |
4606 | +msgid "For image" |
4607 | +msgstr "" |
4608 | + |
4609 | +#: contact-form-7/modules/captcha.php:254 |
4610 | +msgid "For input field" |
4611 | +msgstr "" |
4612 | + |
4613 | +#: contact-form-7/modules/captcha.php:284 |
4614 | +#, php-format |
4615 | +msgid "This contact form contains CAPTCHA fields, but the temporary folder for the files (%s) does not exist or is not writable. You can create the folder or change its permission manually." |
4616 | +msgstr "" |
4617 | + |
4618 | +#: contact-form-7/modules/captcha.php:290 |
4619 | +msgid "This contact form contains CAPTCHA fields, but the necessary libraries (GD and FreeType) are not available on your server." |
4620 | +msgstr "" |
4621 | + |
4622 | +#: contact-form-7/modules/checkbox.php:181 |
4623 | +msgid "Checkboxes" |
4624 | +msgstr "" |
4625 | + |
4626 | +#: contact-form-7/modules/checkbox.php:184 |
4627 | +msgid "Radio buttons" |
4628 | +msgstr "" |
4629 | + |
4630 | +#: contact-form-7/modules/checkbox.php:205 |
4631 | +#: contact-form-7/modules/file.php:243 |
4632 | +msgid "Required field?" |
4633 | +msgstr "" |
4634 | + |
4635 | +#: contact-form-7/modules/checkbox.php:221 |
4636 | +msgid "Choices" |
4637 | +msgstr "" |
4638 | + |
4639 | +#: contact-form-7/modules/checkbox.php:223 |
4640 | +msgid "* One choice per line." |
4641 | +msgstr "" |
4642 | + |
4643 | +#: contact-form-7/modules/checkbox.php:227 |
4644 | +msgid "Put a label first, a checkbox last?" |
4645 | +msgstr "" |
4646 | + |
4647 | +#: contact-form-7/modules/checkbox.php:228 |
4648 | +msgid "Wrap each item with <label> tag?" |
4649 | +msgstr "" |
4650 | + |
4651 | +#: contact-form-7/modules/checkbox.php:230 |
4652 | +msgid "Make checkboxes exclusive?" |
4653 | +msgstr "" |
4654 | + |
4655 | +#: contact-form-7/modules/checkbox.php:238 |
4656 | +msgid "And, put this code into the Mail fields below." |
4657 | +msgstr "" |
4658 | + |
4659 | +#: contact-form-7/modules/file.php:207 |
4660 | +msgid "Uploading a file fails for any reason" |
4661 | +msgstr "" |
4662 | + |
4663 | +#: contact-form-7/modules/file.php:208 |
4664 | +msgid "Failed to upload file." |
4665 | +msgstr "" |
4666 | + |
4667 | +#: contact-form-7/modules/file.php:212 |
4668 | +msgid "Uploaded file is not allowed file type" |
4669 | +msgstr "" |
4670 | + |
4671 | +#: contact-form-7/modules/file.php:213 |
4672 | +msgid "This file type is not allowed." |
4673 | +msgstr "" |
4674 | + |
4675 | +#: contact-form-7/modules/file.php:217 |
4676 | +msgid "Uploaded file is too large" |
4677 | +msgstr "" |
4678 | + |
4679 | +#: contact-form-7/modules/file.php:218 |
4680 | +msgid "This file is too large." |
4681 | +msgstr "" |
4682 | + |
4683 | +#: contact-form-7/modules/file.php:222 |
4684 | +msgid "Uploading a file fails for PHP error" |
4685 | +msgstr "" |
4686 | + |
4687 | +#: contact-form-7/modules/file.php:223 |
4688 | +msgid "Failed to upload file. Error occurred." |
4689 | +msgstr "" |
4690 | + |
4691 | +#: contact-form-7/modules/file.php:234 |
4692 | +msgid "File upload" |
4693 | +msgstr "" |
4694 | + |
4695 | +#: contact-form-7/modules/file.php:257 |
4696 | +msgid "File size limit" |
4697 | +msgstr "" |
4698 | + |
4699 | +#: contact-form-7/modules/file.php:257 |
4700 | +msgid "bytes" |
4701 | +msgstr "" |
4702 | + |
4703 | +#: contact-form-7/modules/file.php:260 |
4704 | +msgid "Acceptable file types" |
4705 | +msgstr "" |
4706 | + |
4707 | +#: contact-form-7/modules/file.php:267 |
4708 | +msgid "And, put this code into the File Attachments field below." |
4709 | +msgstr "" |
4710 | + |
4711 | +#: contact-form-7/modules/file.php:292 |
4712 | +#, php-format |
4713 | +msgid "This contact form contains file uploading fields, but the temporary folder for the files (%s) does not exist or is not writable. You can create the folder or change its permission manually." |
4714 | +msgstr "" |
4715 | + |
4716 | +#: contact-form-7/modules/icl.php:74 |
4717 | +msgid "This contact form contains [icl] tags, but they are obsolete and no longer functioning on this version of Contact Form 7. <a href=\"http://contactform7.com/2009/12/25/contact-form-in-your-language/#Creating_contact_form_in_different_languages\" target=\"_blank\">There is a simpler way for creating contact forms of other languages</a> and you are recommended to use it." |
4718 | +msgstr "" |
4719 | + |
4720 | +#: contact-form-7/modules/quiz.php:160 |
4721 | +msgid "Sender doesn't enter the correct answer to the quiz" |
4722 | +msgstr "" |
4723 | + |
4724 | +#: contact-form-7/modules/quiz.php:161 |
4725 | +msgid "Your answer is not correct." |
4726 | +msgstr "" |
4727 | + |
4728 | +#: contact-form-7/modules/quiz.php:171 |
4729 | +msgid "Quiz" |
4730 | +msgstr "" |
4731 | + |
4732 | +#: contact-form-7/modules/quiz.php:201 |
4733 | +msgid "Quizzes" |
4734 | +msgstr "" |
4735 | + |
4736 | +#: contact-form-7/modules/quiz.php:203 |
4737 | +msgid "* quiz|answer (e.g. 1+1=?|2)" |
4738 | +msgstr "" |
4739 | + |
4740 | +#: contact-form-7/modules/select.php:150 |
4741 | +msgid "Drop-down menu" |
4742 | +msgstr "" |
4743 | + |
4744 | +#: contact-form-7/modules/select.php:179 |
4745 | +msgid "Allow multiple selections?" |
4746 | +msgstr "" |
4747 | + |
4748 | +#: contact-form-7/modules/select.php:180 |
4749 | +msgid "Insert a blank item as the first option?" |
4750 | +msgstr "" |
4751 | + |
4752 | +#: contact-form-7/modules/submit.php:54 |
4753 | +msgid "Sending ..." |
4754 | +msgstr "" |
4755 | + |
4756 | +#: contact-form-7/modules/submit.php:66 |
4757 | +msgid "Submit button" |
4758 | +msgstr "" |
4759 | + |
4760 | +#: contact-form-7/modules/submit.php:84 |
4761 | +msgid "Label" |
4762 | +msgstr "" |
4763 | + |
4764 | +#: contact-form-7/modules/text.php:138 |
4765 | +msgid "Text field" |
4766 | +msgstr "" |
4767 | + |
4768 | +#: contact-form-7/modules/text.php:141 |
4769 | +msgid "Email field" |
4770 | +msgstr "" |
4771 | + |
4772 | +#: contact-form-7/modules/text.php:183 |
4773 | +msgid "Akismet" |
4774 | +msgstr "" |
4775 | + |
4776 | +#: contact-form-7/modules/text.php:185 |
4777 | +msgid "This field requires author's name" |
4778 | +msgstr "" |
4779 | + |
4780 | +#: contact-form-7/modules/text.php:186 |
4781 | +msgid "This field requires author's URL" |
4782 | +msgstr "" |
4783 | + |
4784 | +#: contact-form-7/modules/text.php:188 |
4785 | +msgid "This field requires author's email address" |
4786 | +msgstr "" |
4787 | + |
4788 | +#: contact-form-7/modules/text.php:194 |
4789 | +#: contact-form-7/modules/textarea.php:156 |
4790 | +msgid "Default value" |
4791 | +msgstr "" |
4792 | + |
4793 | +#: contact-form-7/modules/text.php:197 |
4794 | +#: contact-form-7/modules/textarea.php:159 |
4795 | +msgid "Use this text as watermark?" |
4796 | +msgstr "" |
4797 | + |
4798 | +#: contact-form-7/modules/textarea.php:125 |
4799 | +msgid "Text area" |
4800 | +msgstr "" |
4801 | + |
4802 | |
4803 | === added file 'wp-content/plugins/contact-form-7/license.txt' |
4804 | --- wp-content/plugins/contact-form-7/license.txt 1970-01-01 00:00:00 +0000 |
4805 | +++ wp-content/plugins/contact-form-7/license.txt 2011-02-18 16:15:41 +0000 |
4806 | @@ -0,0 +1,339 @@ |
4807 | + GNU GENERAL PUBLIC LICENSE |
4808 | + Version 2, June 1991 |
4809 | + |
4810 | + Copyright (C) 1989, 1991 Free Software Foundation, Inc., |
4811 | + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA |
4812 | + Everyone is permitted to copy and distribute verbatim copies |
4813 | + of this license document, but changing it is not allowed. |
4814 | + |
4815 | + Preamble |
4816 | + |
4817 | + The licenses for most software are designed to take away your |
4818 | +freedom to share and change it. By contrast, the GNU General Public |
4819 | +License is intended to guarantee your freedom to share and change free |
4820 | +software--to make sure the software is free for all its users. This |
4821 | +General Public License applies to most of the Free Software |
4822 | +Foundation's software and to any other program whose authors commit to |
4823 | +using it. (Some other Free Software Foundation software is covered by |
4824 | +the GNU Lesser General Public License instead.) You can apply it to |
4825 | +your programs, too. |
4826 | + |
4827 | + When we speak of free software, we are referring to freedom, not |
4828 | +price. Our General Public Licenses are designed to make sure that you |
4829 | +have the freedom to distribute copies of free software (and charge for |
4830 | +this service if you wish), that you receive source code or can get it |
4831 | +if you want it, that you can change the software or use pieces of it |
4832 | +in new free programs; and that you know you can do these things. |
4833 | + |
4834 | + To protect your rights, we need to make restrictions that forbid |
4835 | +anyone to deny you these rights or to ask you to surrender the rights. |
4836 | +These restrictions translate to certain responsibilities for you if you |
4837 | +distribute copies of the software, or if you modify it. |
4838 | + |
4839 | + For example, if you distribute copies of such a program, whether |
4840 | +gratis or for a fee, you must give the recipients all the rights that |
4841 | +you have. You must make sure that they, too, receive or can get the |
4842 | +source code. And you must show them these terms so they know their |
4843 | +rights. |
4844 | + |
4845 | + We protect your rights with two steps: (1) copyright the software, and |
4846 | +(2) offer you this license which gives you legal permission to copy, |
4847 | +distribute and/or modify the software. |
4848 | + |
4849 | + Also, for each author's protection and ours, we want to make certain |
4850 | +that everyone understands that there is no warranty for this free |
4851 | +software. If the software is modified by someone else and passed on, we |
4852 | +want its recipients to know that what they have is not the original, so |
4853 | +that any problems introduced by others will not reflect on the original |
4854 | +authors' reputations. |
4855 | + |
4856 | + Finally, any free program is threatened constantly by software |
4857 | +patents. We wish to avoid the danger that redistributors of a free |
4858 | +program will individually obtain patent licenses, in effect making the |
4859 | +program proprietary. To prevent this, we have made it clear that any |
4860 | +patent must be licensed for everyone's free use or not licensed at all. |
4861 | + |
4862 | + The precise terms and conditions for copying, distribution and |
4863 | +modification follow. |
4864 | + |
4865 | + GNU GENERAL PUBLIC LICENSE |
4866 | + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION |
4867 | + |
4868 | + 0. This License applies to any program or other work which contains |
4869 | +a notice placed by the copyright holder saying it may be distributed |
4870 | +under the terms of this General Public License. The "Program", below, |
4871 | +refers to any such program or work, and a "work based on the Program" |
4872 | +means either the Program or any derivative work under copyright law: |
4873 | +that is to say, a work containing the Program or a portion of it, |
4874 | +either verbatim or with modifications and/or translated into another |
4875 | +language. (Hereinafter, translation is included without limitation in |
4876 | +the term "modification".) Each licensee is addressed as "you". |
4877 | + |
4878 | +Activities other than copying, distribution and modification are not |
4879 | +covered by this License; they are outside its scope. The act of |
4880 | +running the Program is not restricted, and the output from the Program |
4881 | +is covered only if its contents constitute a work based on the |
4882 | +Program (independent of having been made by running the Program). |
4883 | +Whether that is true depends on what the Program does. |
4884 | + |
4885 | + 1. You may copy and distribute verbatim copies of the Program's |
4886 | +source code as you receive it, in any medium, provided that you |
4887 | +conspicuously and appropriately publish on each copy an appropriate |
4888 | +copyright notice and disclaimer of warranty; keep intact all the |
4889 | +notices that refer to this License and to the absence of any warranty; |
4890 | +and give any other recipients of the Program a copy of this License |
4891 | +along with the Program. |
4892 | + |
4893 | +You may charge a fee for the physical act of transferring a copy, and |
4894 | +you may at your option offer warranty protection in exchange for a fee. |
4895 | + |
4896 | + 2. You may modify your copy or copies of the Program or any portion |
4897 | +of it, thus forming a work based on the Program, and copy and |
4898 | +distribute such modifications or work under the terms of Section 1 |
4899 | +above, provided that you also meet all of these conditions: |
4900 | + |
4901 | + a) You must cause the modified files to carry prominent notices |
4902 | + stating that you changed the files and the date of any change. |
4903 | + |
4904 | + b) You must cause any work that you distribute or publish, that in |
4905 | + whole or in part contains or is derived from the Program or any |
4906 | + part thereof, to be licensed as a whole at no charge to all third |
4907 | + parties under the terms of this License. |
4908 | + |
4909 | + c) If the modified program normally reads commands interactively |
4910 | + when run, you must cause it, when started running for such |
4911 | + interactive use in the most ordinary way, to print or display an |
4912 | + announcement including an appropriate copyright notice and a |
4913 | + notice that there is no warranty (or else, saying that you provide |
4914 | + a warranty) and that users may redistribute the program under |
4915 | + these conditions, and telling the user how to view a copy of this |
4916 | + License. (Exception: if the Program itself is interactive but |
4917 | + does not normally print such an announcement, your work based on |
4918 | + the Program is not required to print an announcement.) |
4919 | + |
4920 | +These requirements apply to the modified work as a whole. If |
4921 | +identifiable sections of that work are not derived from the Program, |
4922 | +and can be reasonably considered independent and separate works in |
4923 | +themselves, then this License, and its terms, do not apply to those |
4924 | +sections when you distribute them as separate works. But when you |
4925 | +distribute the same sections as part of a whole which is a work based |
4926 | +on the Program, the distribution of the whole must be on the terms of |
4927 | +this License, whose permissions for other licensees extend to the |
4928 | +entire whole, and thus to each and every part regardless of who wrote it. |
4929 | + |
4930 | +Thus, it is not the intent of this section to claim rights or contest |
4931 | +your rights to work written entirely by you; rather, the intent is to |
4932 | +exercise the right to control the distribution of derivative or |
4933 | +collective works based on the Program. |
4934 | + |
4935 | +In addition, mere aggregation of another work not based on the Program |
4936 | +with the Program (or with a work based on the Program) on a volume of |
4937 | +a storage or distribution medium does not bring the other work under |
4938 | +the scope of this License. |
4939 | + |
4940 | + 3. You may copy and distribute the Program (or a work based on it, |
4941 | +under Section 2) in object code or executable form under the terms of |
4942 | +Sections 1 and 2 above provided that you also do one of the following: |
4943 | + |
4944 | + a) Accompany it with the complete corresponding machine-readable |
4945 | + source code, which must be distributed under the terms of Sections |
4946 | + 1 and 2 above on a medium customarily used for software interchange; or, |
4947 | + |
4948 | + b) Accompany it with a written offer, valid for at least three |
4949 | + years, to give any third party, for a charge no more than your |
4950 | + cost of physically performing source distribution, a complete |
4951 | + machine-readable copy of the corresponding source code, to be |
4952 | + distributed under the terms of Sections 1 and 2 above on a medium |
4953 | + customarily used for software interchange; or, |
4954 | + |
4955 | + c) Accompany it with the information you received as to the offer |
4956 | + to distribute corresponding source code. (This alternative is |
4957 | + allowed only for noncommercial distribution and only if you |
4958 | + received the program in object code or executable form with such |
4959 | + an offer, in accord with Subsection b above.) |
4960 | + |
4961 | +The source code for a work means the preferred form of the work for |
4962 | +making modifications to it. For an executable work, complete source |
4963 | +code means all the source code for all modules it contains, plus any |
4964 | +associated interface definition files, plus the scripts used to |
4965 | +control compilation and installation of the executable. However, as a |
4966 | +special exception, the source code distributed need not include |
4967 | +anything that is normally distributed (in either source or binary |
4968 | +form) with the major components (compiler, kernel, and so on) of the |
4969 | +operating system on which the executable runs, unless that component |
4970 | +itself accompanies the executable. |
4971 | + |
4972 | +If distribution of executable or object code is made by offering |
4973 | +access to copy from a designated place, then offering equivalent |
4974 | +access to copy the source code from the same place counts as |
4975 | +distribution of the source code, even though third parties are not |
4976 | +compelled to copy the source along with the object code. |
4977 | + |
4978 | + 4. You may not copy, modify, sublicense, or distribute the Program |
4979 | +except as expressly provided under this License. Any attempt |
4980 | +otherwise to copy, modify, sublicense or distribute the Program is |
4981 | +void, and will automatically terminate your rights under this License. |
4982 | +However, parties who have received copies, or rights, from you under |
4983 | +this License will not have their licenses terminated so long as such |
4984 | +parties remain in full compliance. |
4985 | + |
4986 | + 5. You are not required to accept this License, since you have not |
4987 | +signed it. However, nothing else grants you permission to modify or |
4988 | +distribute the Program or its derivative works. These actions are |
4989 | +prohibited by law if you do not accept this License. Therefore, by |
4990 | +modifying or distributing the Program (or any work based on the |
4991 | +Program), you indicate your acceptance of this License to do so, and |
4992 | +all its terms and conditions for copying, distributing or modifying |
4993 | +the Program or works based on it. |
4994 | + |
4995 | + 6. Each time you redistribute the Program (or any work based on the |
4996 | +Program), the recipient automatically receives a license from the |
4997 | +original licensor to copy, distribute or modify the Program subject to |
4998 | +these terms and conditions. You may not impose any further |
4999 | +restrictions on the recipients' exercise of the rights granted herein. |
5000 | +You are not responsible for enforcing compliance by third parties to |
The diff has been truncated for viewing.